Ab der Version 2014.5(SP1) der ERP-Lösung Steps Business Solution, ein Produkt der Step Ahead AG, können die Log-Einträge der Steps Active Server Jobs automatisch gelöscht werden. Mit Hilfe der neuen Methode Misc.DeleteLogs() können Sie einstellen, ob nur Logs der aktuellen Dienstinstanz, oder Logs, die älter als X Tage sind, gelöscht werden sollen.

Steps Active Server

Screenshot des Steps Active Server .net mit Fortschrittsanzeige

Screenshot des Steps Active Server .net mit Fortschrittsanzeige

 

Der Steps Active Server (2014) ist ein Produkt des ERP-Herstellers Step Ahead AG aus Germering. Es ist Produktbestandteil des ERP-Systems Steps Business Solution.

Mit dem Steps Active Server können zeitgesteuert Computerbefehle abgesetzt werden. Es werden folgende Programmiersprachen unterstützt:

  • VBScript
  • VB.net
  • C#
  • T-SQL

Mit Hilfe dieser Programme können Prozessautomatisierungen in dem ERP-System Steps Business Solution durchgeführt werden. Die Step Ahead AG liefert mit Kauf dieses Moduls, welches nach den concurrent-Usern der Applikation lizensiert wird, bereits einige Standard-Scripten aus.

Da es sich um nicht kompilierten Source handelt, kann jeder ERP-Administrator diese Scripten mit dem entsprechenden Programmier-Wissen kundenspezifisch anpassen.

Diese flexible Arbeitsweise und der großen Reichweite, die man mit den Programmiersprachen hat, macht den Steps Active Server zu einem Mitarbeiter, der nichts vergisst. So werden gerne Steps Active Server Jobs geschrieben, die ERP-Benutzer mit E-Mails auf zu bearbeitende Geschäftsprozesse hinweist. In Kombination mit dem SIB-Start kann direkt aus der E-Mail der entsprechende Datensatz zur Bearbeitung im ERP-System gestartet werden. Der SIB-Start ist eine spezielle Dateiendung, mit der der Steps Client automatisiert gestartet werden kann und zusätzliche Befehle übertragen werden. Für Geschäftsprozessoptimierungen ist der Steps Active Server ein unverzichtbares Werkzeug.

Methode Misc.DeleteLogs()

Löscht Log Einträge.

Namespace: Steps.ActiveServer.DefaultScriptObjects
Assembly: Steps.ActiveServer.DefaultScriptObjects (in Steps.ActiveServer.DefaultScriptObjects.dll) Version: 1.0.0.0 (10.5.2.1206)

C#

public void DeleteLogs( bool currentInstanceOnly, int keepDays )

VB.Net

Public Sub DeleteLogs ( currentInstanceOnly As Boolean, keepDays As Integer)

currentInstanceOnly
Type: System. Boolean
Es werden nur Log-Einträge aus der aktuellen Instanz gelöscht.
keepDays
Type: System. Int32
Es werden nur Log-Einträge gelöscht, die älter als in diesem Parameter angegeben sind (Einheit: Tage).

Remarks

z.B. 1. DeleteLogs(true, 2) – Löscht alle Log Einträge zu Jobs, die sich unter aktuellen Dienstinstanz befinden. Es werden nur Log Einträge älter als 2 Tage gelöscht. 2. DeleteLogs(false, 0) – Löscht alle Log Einträge unabhängig von der Instanz und dem Alter des Eintrags.

Screenshot: Steps Active Server .net Instanz Standard

Screenshot: Steps Active Server .net Instanz Standard

In unserem letzten Blog-Eintrag zum Steps Active Server wurde eine Steps Active Server Codebeispiel zum Thema JobRunner gepostet.

 

Im Rahmen von Schnittstellen-Entwicklungen zwischen zwei Systemen steht man vor der Herausforderung: Wie kommt man innerhalb des Steps Active Server mit dem SQLClient (einer Zugriffsart im Microsoft (R) .net-Framework) auf die gewünschte Datenbank. Folgendes Script kann beim ConnectionString helfen: weiterlesen

Der ERP-Hersteller Step Ahead AG aus Germering bei München hat zur Version 2014 sein Versprechen der „werthaltigen Softwarepflege“ eingelöst und den Steps Active Server auf eine technologische Basis migriert. Der neue Active Server ist nun auf Microsoft (R) .net-Technologie und der Hintergrunddienst unterstützt jetzt auch eine größere Menge an Programmiersprachen. Früher konnten Steps Active Server Jobs (AS-Jobs), wie die kleinen Scripten heißen, nur in VB.script geschrieben werden. Mit der neuen Version der Script-Engine für das ERP-Programm Steps Business Solution sind auch Sprachen wie VB.net und C# (csharp) möglich. Mit der Datenbanksprache SQL wird die Reihe der möglichen Entwicklungs-Sprachen komplettiert. Viele der bestehenden Hintergrund-Programme sind aktuell (Stand: 12.12.2014) noch in VB.script geschrieben. Es existierten nur wenige Codebeispiele für andere Sprachen. Da die Präferenz in der PDF-Dokumentation zum Programm auf VB.net liegt, fällt es Csharp-Programmierern ein wenig schwerer mit dieser Scripting-Engine in C# zu programmieren. Daher möchte ich hier ein kleines Codebeispiel in C# posten, wie die JobRunner.dll und das Event ReportProgress in C# genutzt werden können:

using Steps.ActiveServer.JobRunner; //Referenz auf C:\Program Files (x86)\StepsBusinessSolution\Application\Steps.ActiveServer.JobRunner.dll notwendig
namespace Job
{
  public class MainClass : IJobProgress
  {
    public event IJobProgress.ReportProgressEventHandler ReportProgress;
    public string[] Steps
    {
      get
      { 
        string[] stepsValues = {"Main", "subfunction" };
        return stepsValues;
      }
    }

    public void Main() //Step 1 mit Value "Main"
     {
       //use byte, integer funktioniert nicht
       for (byte i = 1; i < 100; i++)
       {
         ReportProgress(1, i);
         System.Threading.Thread.Sleep(50);
       }
    subfunction();
    }
  
    private void subfunction()//Step 2 mit Value "subfunction"
    {
      for (byte i = 1; i < 100; i++)
      {
        ReportProgress(2, i);
        System.Threading.Thread.Sleep(50);
      }
    }
  }
}

 

Um die Jobrunner.dll nutzen zu können muss diese unter dem registrierten DLLs eingehängt werden und mit dem using bekanntgemacht werden. Die MainClass muss das Interface IJobProgress implementieren. Da der Job-Designer (Steps.ActiveServer.Designer.exe) keine automatische Implementierung unterstützt müssen Sie die Zeilen entweder selbst codieren oder aus meinem Codebeispiel kopieren. Sie benötigen die Event-Deklaration und das Property Steps. Die Rückgabe der Property-Werte werden von Ihnen selbst gestaltet. Hier wird ein statisches Array zurückgegeben. Dies ist angelehnt an die Dokumentation der Step Ahead AG. In der Main-Methode wird in einer Schleife die Variable i hochgezählt und jeweils das Event ReportProgress ausgelöst. Achten Sie darauf, die Variable mit byte zu definieren, der Datentyp int führt zu einem Ausführungsfehler. Die selbe Methodik kann auch in privaten subfunctionen verwendet werden. Mit dem ersten Parameter des Events können sie den Step angegeben. Dies ist äquivalent zu dem Property Steps. Das Ergebnis ist eine komfortable Fortschrittsanzeiger innerhalb des Job-Designers. Diese sehen sie auf nachfolgenden Screenshot unten rechts.

Screenshot des Steps Active Server .net mit Fortschrittsanzeige

Screenshot des Steps Active Server .net mit Fortschrittsanzeige

 

Dieses Script hat jetzt noch keinen sehr praktischen Nutzen, jedoch bietet es eine gute Ausgangssituation für ein Script zur Prozessoptimierungen oder diversen Automatisierungen. Der Nutzen des Steps Active Servers liegt auf der Hand: Zeitgesteuert automatisch im ERP-System arbeiten erledigen oder ERP-Daten verarbeiten. Die Anwendungsszenarios sind dabei nahezu grenzenlos. In Verbindung mit der nun verfügbaren .net-Technologie von Microsoft (R) und der Einbindung von diversen DLLs, auch selbstgeschriebene, können Sie Ihr ERP-Programm noch intensiver nutzen.

Hier finden Sie den gesamten Job noch als *.ssx-Datei: Steps Active Server Job: Q-DEMO-PROGRESS.