(GELÖST)(CC)JOBQUEUE - Projektwarteschlange

9. November 2012 09:42

Guten Morgen,

Vorhanden:
- Erstes zusammen treffen mit dem JOBQueue
- NAS Dienst eingerichtet, lauft einwandfrei
- Test mit einem Objekt ausgeführt ob der Projektwarteschlange funktioniert(Kommunikation zwischen Dienst und Datenbank somit vorhanden)

Anliegen:

Ich versuche mein Anliegen zu gut und verständlich wie möglich zu erläutern.
Ich möchte in einer Codeunit verschiedene Berichte, Dataport und Codeunits starten. Dies möchte ich über die Projektwarteschlange realisieren indem ich eine Codeunit habe und diese mehrmals eintrage.
In der Codeunit soll duch das Feld Parameterzeichenfolge gefiltert werden welche Codeunit,Bericht usw gestartet werden soll.
Halt trage ich Report60052 ein soll er auch diesen Report dann starten oder C50085 dann diese Codeunit.
Muss ich bei der Programmierung etwas beachten oder reicht schon aus das ich einfach eine Bedingung schaffe die einfach das Feld "Parameterzeichenfolge" abfragt?

Wollte das mit so Lösen

CASE Parameterzeichenfolge OF
'R50085' :
BEGIN
Report50085.RUN;
END;
'C50085' :
BEGIN
Codeunit50085.RUN;
END;
END;

Ist das so realisertbar?

Ich danke im vorraus

Tahir
Zuletzt geändert von Khenas am 9. November 2012 12:41, insgesamt 2-mal geändert.

Re: (CC)JOBQUEUE - Projektwarteschlange

9. November 2012 11:22

Hatte einen Denkfehler.

Re: (CC)JOBQUEUE - Projektwarteschlange

9. November 2012 11:52

Khenas hat geschrieben:Wollte das mit so Lösen
Code:
CASE Parameterzeichenfolge OF
  'R50085' :
      Report50085.RUN;
  'C50085' :
    Codeunit50085.RUN;
END;


Ist das so realisertbar?
Tahir


So habe ich das auch gelöst, sollte also gehen.

Re: (CC)JOBQUEUE - Projektwarteschlange

9. November 2012 12:41

danke klappt einwand frei, muss nur noch die ganzen Dialogfenster ausprogrammieren. Damit der NAS nicht meckert.

Re: (GELÖST)(CC)JOBQUEUE - Projektwarteschlange

12. November 2012 09:46

Vielleicht Interessiert sich einer dafür nochmal.

Habe den Code erweitert, er ist jetzt leichter zu erweitern.

Code:
ParameterString := '';
ObjektCodeTxt := '';
ObjektCode := 0;
IF ("Parameter String" <> '') AND (STRLEN("Parameter String") <= 7) THEN BEGIN
  ParameterString := COPYSTR("Parameter String",1,1);
  ObjektCodeTxt := COPYSTR("Parameter String",2);
  EVALUATE(ObjektCode,ObjektCodeTxt);
  CASE ParameterString OF
    'C' :
    BEGIN
      CODEUNIT.RUN(ObjektCode);
    END;
    'R' :
    BEGIN
      REPORT.RUN(ObjektCode);
    END;
  END;
END;


Zur Erläuterung, der String wird in 2 teile zerlegt das Anfangszeichen ist ein "R" für Report oder "C" für Codeunit und danach kommt die ID des Objekt.