Prozeduren für beide Programm-Arten (WRK und CHG)

Toolmaker Produkt-Dokumentation

Prozeduren für beide Programm-Arten (WRK und CHG)

Inhaltsübersicht

Ausgeben von Informationen im Header

Mit Hilfe der Header-Funktionen können sowohl bei Work- als auch bei Change Tables im Kopf-Bereich zusätzliche Informationen / Texte ausgegeben werden.
Die folgenden Funktionen stehen zur Verfügung:

  • Wx_HdrText - Beliebige Texte im Header anzeigen

  • Wx_HdrFile() - Definition der Dateien, aus denen die Header-Felder stammen

  • Wx_HdrFld() - Definition der Header-Felder

  • Wx_HdrFileFld() - Definition der Datei sowie des ersten Header-Felds

Wx_HdrText() – Beliebigen Text in Header ausgeben

Mit Hilfe der Prozedur Wx_HdrText() können sowohl in Change als auch Work-Programmen Informationen in dem Header-Bereich angezeigt werden.

 

*************************************************************************** P* Procedure name: Wx_HdrText P* Purpose: Header Text Information P* Returns: P* Parameters: ParField => Field P* Parameters: ParMsg => Message-Id or Text P* Parameters: ParValue => Message-Id/Value to be displayed as Character P* Parameters: ParOptions => Options *************************************************************************** D Wx_HdrText... D PR OPDesc D ParField Like(FldRef.NameSQL) Const D ParMsg Like(FldRef.MsgData) Const D ParValue Like(FldRefCGI.DftValue) Const D ParOptions Like(FldRefCGI.Options) Const D Options(*NoPass)

 

Bereich

Die Prozedur Wx_HdrText kann verwendet werden

  • nach dem Befehl zum Öffnen der Anzeige

    • Wx_OpenHtmlWRK

    • Wx_OpenHtmlCHG

  • vor der Definition der zu verwendenden Buttons

    • Wx_WrkBtn

Syntax

Wx_HdrText(<fieldname> : <description> :  <content> [: <headeroptions>]);

Parameter

fieldname - Eindeutige Kennung des Header-Feldes

Es ist nicht erforderlich, dass <fieldname> in einer Datei/Tabelle/View hinterlegt ist. Die Kennung muss jedoch innerhalb des Headers eindeutig sein.

description - Beschreibung, die links neben dem Header-Feld angezeigt wird

Sofern keine Beschreibung angezeigt werden soll, wird der Parameter entweder leer oder mit *Blanks gefüllt übergeben.
Soll eine Beschreibung angezeigt werden, kann diese entweder direkt oder als Message-Id angegeben werden.
Bei Verwendung einer Message-Id muss die zugehörige Message-File in Directweb für die Anwendung hinterlegt sein.

content- Header-Informationen

Beliebiger alphanumerischer Text, der im Header angezeigt werden wird.
Der Text kann entweder direkt oder als Message-Id angegeben werden.
Bei Verwendung einer Message-Id muss die zugehörige Message-File in Directweb für die Anwendung hinterlegt sein.

headeroptions - Aufbereitungsoptionen

optional

Aufbereitungsoptionen gemäß Aufbereitungsoptionen für Header

Beispiele für den Aufruf

Wx_HdrText('EVENT': 'KXD0022': %Trim(GblDS.KGKNGR) + ' ' + %Trim(EVKGBEZ)); //Kongress

Wx_HdrText('STRDAT': 'Von/Bis': %Char(GblDS.KGSTRDAT: *EUR) + ' - ' + %Char(GblDS.KGENDDAT: *EUR)); //Zeitraum

If %Len(%Trim(GblDS.KGHOTEL)) <> *Zeros;
   Wx_HdrText('KGHOTEL': 'KXD0041': %Trim(GblDS.KGHOTEL + ' ' + GblDS.KGHOTELORT + ' ' + GblDS.KGHOTELSTR + ' ' + GblDS.KGHOTELTEL));
EndIf;

 


Abbildung 35 : Ergebnis aus dem vorherigen Source Code

Wx_HdrFile() – Datei für Header-Informationen

Sofern in den Header-Informationen im Programm verwendete Feld-Werte angezeigt werden sollen, müssen zunächst die Dateien/Tabellen/Views für die Header-Informationen definiert werden.

Die für die Header-Informationen definierten Dateien/Tabellen/Views werden auch zur Definition der Filter- und Spalten in den Work-Programmen bzw. zur Definition der Ein-/Ausgabe-Felder in den Change Tables verwendet.

Werden für Work-Programme mehrere Dateien/Tabellen/Views hinterlegt, so muss die Verknüpfung zwischen den einzelnen Dateien/Tabellen/Views angegeben werden. In Change-Programmen ist die Angabe der Verknüpfungen nicht erforderlich.

Die Join-Anweisungen müssen in gültiger SQL Notation angegeben werden.

Anmerkung:Anstatt die Verknüpfungen in der Funktion Wx_FltFile anzugeben, wird empfohlen SQL Views zu erstellen, die die alle Spalten, sowie die Verknüpfungen enthalten.

*************************************************************************** P* Procedure name: Wx_HdrFile P* Purpose: Define Files used for Header P* --> Up to 10 Files can be specified P* --> If more than 1 File is specified: Join Conditions are P* required P* Returns: P* Parameters: ParFile1 => File/Table 1 P* Parameters: ParFile2 => File/Table 2 (Optional) P* Parameters: ParJoin2 => Join Previous Tables and Table 2 (Optional) P* Parameters: ParFile3 => File/Table 3 (Optional) P* Parameters: ParJoin3 => Join Previous Tables and Table 3 (Optional) P* Parameters: ParFile4 => File/Table 4 (Optional) P* Parameters: ParJoin4 => Join Previous Tables and Table 4 (Optional) P* Parameters: ParFile5 => File/Table 5 (Optional) P* Parameters: ParJoin5 => Join Previous Tables and Table 5 (Optional) P* Parameters: ParFile6 => File/Table 6 (Optional) P* Parameters: ParJoin6 => Join Previous Tables and Table 6 (Optional) P* Parameters: ParFile7 => File/Table 7 (Optional) P* Parameters: ParJoin7 => Join Previous Tables and Table 7 (Optional) P* Parameters: ParFile8 => File/Table 8 (Optional) P* Parameters: ParJoin8 => Join Previous Tables and Table 8 (Optional) P* Parameters: ParFile9 => File/Table 9 (Optional) P* Parameters: ParJoin9 => Join Previous Tables and Table 9 (Optional) P* Parameters: ParFile10 => File/Table 10 (Optional) P* Parameters: ParJoin10 => Join Previous Tables and Table 10 (Optional) *************************************************************************** D Wx_HdrFile... D PR OPDesc D ParFile1 Like(FldRef.NameSQL) Const D ParFile2 Like(FldRef.NameSQL) Const D Options(*NoPass) D ParJoin2 Like(FldRef.TextVar) Const D Options(*NoPass) D ParFile3 Like(FldRef.NameSQL) Const D Options(*NoPass) D ParJoin3 Like(FldRef.TextVar) Const D Options(*NoPass) D ParFile4 Like(FldRef.NameSQL) Const D Options(*NoPass) D ParJoin4 Like(FldRef.TextVar) Const D Options(*NoPass) D ParFile5 Like(FldRef.NameSQL) Const D Options(*NoPass) D ParJoin5 Like(FldRef.TextVar) Const D Options(*NoPass) D ParFile6 Like(FldRef.NameSQL) Const D Options(*NoPass) D ParJoin6 Like(FldRef.TextVar) Const D Options(*NoPass) D ParFile7 Like(FldRef.NameSQL) Const D Options(*NoPass) D ParJoin7 Like(FldRef.TextVar) Const D Options(*NoPass) D ParFile8 Like(FldRef.NameSQL) Const D Options(*NoPass) D ParJoin8 Like(FldRef.TextVar) Const D Options(*NoPass) D ParFile9 Like(FldRef.NameSQL) Const D Options(*NoPass) D ParJoin9 Like(FldRef.TextVar) Const D Options(*NoPass) D ParFile10 Like(FldRef.NameSQL) Const D Options(*NoPass) D ParJoin10 Like(FldRef.TextVar) Const D Options(*NoPass)

Syntax

Wx_HdrFile(<file1> [: <fileN> : <joinforfileN>] ← bis zu 9 Mal wiederholt);

Parameter

file1- Physische Datei/Tabelle/View

Kann als kurzer System-Name (Max.10 Zeichen) oder langer SQL Name (Max. 128 Zeichen) angegeben werden.

fileN- Kurzer System- oder langer SQL Name

optional

N geht von 2 - 10

joinforfileN- Verknüpfung zwischen Datei/Tabelle/View 1 und 2

optional
- nur in WRK-Programmen erforderlich, wenn datei2 angegeben ist
- in CHG-Programmen ist die Angabe der Verknüpfung nicht erforderlich

Beispiel:

'Inner Join MYFILE2 on Key1File1 = Key1File2 and Key2File1 = Key2File2'

file3- file10 - analog zu datei2

joindforfile3 - joinforfile10 - analog zu joindefinitionfürdatei2

Beispiele für den Aufruf

Wx_HdrFile('AuftrKopfX');
Wx_HdrFile('AuftrKopfX' : 'AuftrPosX' : 'Join AuftrPosX on AuftrKopfX.BestNr = AuftrPosX.BestNr' : 'KundSt' : 'Left Outer Join KundSt on KundeNr = KndNr');

 

Wx_HdrFld() – Feld für Header-Informationen

Ausgabe-Felder mit Header-Informationen, die in den zuvor definierten Tabellen hinterlegt sind, können mit der Prozedur Wx_HdrFld() ausgegeben werden.

Zusätzlich zu dem Feld-Inhalt, kann ein zusätzlicher String (z.B. Artikel-Bezeichnung zu Artikel-Nr.) angegeben werden. Beide Texte werden miteinander verknüpft, durch ein Blank getrennt ausgegeben.

Werden Header-Felder in Worktables definiert, kann über Option AddFlt dafür gesorgt werden, dass diese Header-Informationen in der Where-Anweisung des automatisch generierten SQL Select-Statement berücksichtigt werden.

Wird das Header-Feld als Filter berücksichtigt, kann zusätzlich der Vergleichsoperator für die Where-Bedingung angegeben werden.

*************************************************************************** P* Procedure name: Wx_HdrFld P* Purpose: Define Fields used for Header P* Returns: P* Parameters: ParField => Field P* Parameters: ParMsg => Message-Id or Text P* Parameters: ParValue => Value to Display as Character Value P* Parameters: ParDescr => Additional Descriptions as Character Value P* Parameters: ParOptions => Options P* Parameters: ParCompare => Comparison Operator (Optional) --> Default: = P* (=, <>, >=, <=, <, >, Like, Not Like, P* Not LikeLeft, LikeRight, Not LikeRight) *************************************************************************** D Wx_HdrFld... D PR OPDesc D ParField Like(FldRef.NameSQL) Const D ParMsg Like(FldRef.MsgData) Const D ParValue Like(FldRefCGI.DftValue) Const D ParDescr Like(FldRef.TextVar) Const D Options(*NoPass) D ParOptions Like(FldRefCGI.Options) Const D Options(*NoPass) D ParCompare Like(FldRef.Text15V) Const D Options(*NoPass)



Syntax

Wx_HdrFileFld(<fieldname>: <description>: <value> [ : <valueinfo> : <hdroptions> : <compare> ]);

Parameter

fieldname - Name des Ein-/Ausgabefeldes

Das Ein-/Ausgabe-Feld (der angegebene Feld-Name) muss in den zuvor definierten Tabellen vorhanden sein.

Wahlweise kann der kurze System-Name oder der lange SQL –Name angegeben werden.

description -  die links neben dem Filter-Feld angezeigt wird

Sofern keine Beschreibung angezeigt werden soll, wird der Parameter entweder leer oder mit *Blanks gefüllt übergeben.

Soll eine Beschreibung angezeigt werden, kann diese entweder direkt oder als Message-Id angegeben werden.

Bei Verwendung einer Message-Id muss die zugehörige Message-File in Directweb für die Anwendung hinterlegt sein.

value- Alphanumerischer Feldwert

Sofern es sich um das Feld, das die Header-Informationen enthält nicht um ein alphanumerisches Feld handelt, muss der Feld-Inhalt mit Hilfe der Built-in-Funktion %Char() konvertiert werden.

valueinfo - zusätzliche alphanumerische Informationen

optional

Neben dem Feld-Wert können weitere alphanumerische Informationen angegeben werden (z.B. ParValue=Artikel-Nr. und ParAddInfo=Artikel-Bezeichnung)

Der Feldwert und die zusätzlichen Informationen (sofern angegeben) werden aufeinanderfolgend in der gleichen Zeile nur durch ein Blank getrennt ausgegeben.

headeroptions - Aufbereitungsoptionen

optional

Aufbereitungsoptionen gemäß Aufbereitungsoptionen für Header

compare - Vergleichsoperator

Nur für WRK-Programme

optional, wird nur berücksichtigt, wenn im Parameter headeroptions der Wert AddFlt angegeben wurde

Wenn in den <headeroptions> der Wert "AddFlt" angegeben wurde, wird der Header-Wert als Filter-Information in die Where-Bedingung des automatisch erstellten Select-Statement integriert.

Beispiele für den Aufruf

Wx_HdrFileFld('AuftrKVX01': 'Firma': 'FLD0007' : DSCsrC01.Firma: '' : 'AddFlt');

Wx_HdrFld('BestNr': 'FLD0025': DSCsrC01.BestNr: '' : 'AddFlt');

Wx_HdrFld('KundeNr': 'FLD0001': DSCsrC01.KundeNr : DSCsrC01.NameOrt);

Wx_HdrFld('LiefTerm' : 'FLD0030' : DSCsrC01.LiefTerm);

Wx_HdrFld('LiefBed' : 'FLD0028' : DSCsrC01.LiefBed : DSCsrC01.LiefBedT);

Wx_HdrFld('AuftrArt':'FLD0027': DSCsrC01.AuftrArt : DSCsrC01.AuftrArtT);

Wx_HdrFld('KopfStatus': 'FLD0026': DSCsrC01.KopfStatus : DSCsrC01.KopfStsT);


Abbildung 36: Ergebnis aus Source Code 231

Wx_HdrFldUC2() – Unicode-Feld für Header-Informationen

##QSTRSC

Wx_HdrFileFld() – Datei und erstes Feld für Header

Sofern nur auf eine einzige physische Datei/Tabelle/View zugegriffen wird, kann diese Datei/Tabelle/View über die Funktion Wx_HdrFileFld() direkt zusammen mit dem ersten Header-Feld definiert werden.

Bei dieser Funktion wird die Datei/Tabelle/View als 1. Parameter übergeben. Die folgenden Parameter entsprechen den Parametern (Anzahl, Reihenfolge und Schlüssel-Wort CONST), die für Prozedur Wx_HdrFld() übergeben werden können.

*************************************************************************** P* Procedure name: Wx_HdrFileFld P* Purpose: Define Fields used for Header P* Returns: P* Parameters: ParFile => File P* Parameters: ParField => Field P* Parameters: ParValue => Value to Display as Unicode Value P* Parameters: ParDescr => Additional Descriptions as Unicode Value P* Parameters: ParMsg => Message-Id or Text P* Parameters: ParOptions => Options P* Parameters: ParCompare => Comparison Operator (Optional) --> Default: = P* (=, <>, >=, <=, <, >, Like, Not Like, P* Not LikeLeft, LikeRight, Not LikeRight) *************************************************************************** D Wx_HdrFileFld... D PR OPDesc D ParFile Like(FldRef.NameSQL) Const D ParField Like(FldRef.NameSQL) Const D ParMsg Like(FldRef.MsgData) Const D ParValue Like(FldRefCGI.DftValue) Const D ParDescr Like(FldRef.TextVar) Const D Options(*NoPass) D ParOptions Like(FldRefCGI.Options) Const D Options(*NoPass) D ParCompare Like(FldRef.Text15V) Const D Options(*NoPass)



Syntax

Wx_HdrFileFld(<filename>: <fieldname> : <description> : <value> [ : <valueinfo> :<hdroptions> : <compare> ]);

Parameter

filename - Datei/Tabelle/View

Kann als kurzer System-Name (Max.10 Zeichen) oder langer SQL Name (Max. 128 Zeichen) angegeben werden.

Analog Parameter file1 in Funktion Wx_HdrFile()

fieldname - Name des Ein-/Ausgabefeldes

Das Ein-/Ausgabe-Feld (der angegebene Feld-Name) muss in den zuvor definierten Tabellen vorhanden sein.

Wahlweise kann der kurze System-Name oder der lange SQL –Name angegeben werden.

description -  die links neben dem Filter-Feld angezeigt wird

Sofern keine Beschreibung angezeigt werden soll, wird der Parameter entweder leer oder mit *Blanks gefüllt übergeben.

Soll eine Beschreibung angezeigt werden, kann diese entweder direkt oder als Message-Id angegeben werden.

Bei Verwendung einer Message-Id muss die zugehörige Message-File in Directweb für die Anwendung hinterlegt sein.

value- Alphanumerischer Feldwert

Sofern es sich um das Feld, das die Header-Informationen enthält nicht um ein alphanumerisches Feld handelt, muss der Feld-Inhalt mit Hilfe der Built-in-Funktion %Char() konvertiert werden.

valueinfo - zusätzliche alphanumerische Informationen

optional

Neben dem Feld-Wert können weitere alphanumerische Informationen angegeben werden (z.B. ParValue=Artikel-Nr. und ParAddInfo=Artikel-Bezeichnung)

Der Feldwert und die zusätzlichen Informationen (sofern angegeben) werden aufeinanderfolgend in der gleichen Zeile nur durch ein Blank getrennt ausgegeben.

headeroptions - Aufbereitungsoptionen

optional

Aufbereitungsoptionen gemäß Aufbereitungsoptionen für Header

compare - Vergleichsoperator

Nur für WRK-Programme

optional, wird nur berücksichtigt, wenn im Parameter headeroptions der Wert AddFlt angegeben wurde

Wenn in den <headeroptions> der Wert "AddFlt" angegeben wurde, wird der Header-Wert als Filter-Information in die Where-Bedingung des automatisch erstellten Select-Statement integriert.

Beispiele für den Aufruf

Wx_HdrFileFld('AuftrKVX01': 'Firma' : 'FLD0007': DSCsrC01.Firma: '' : 'AddFlt');

Wx_HdrFileFld('WXUMSKNDJS': 'Jahr': 'FLD0013': GblJahr: '' : 'AddFlt');

Wx_HdrFileFldUC2() – Unicode-Feld für Header-Informationen

##QSTRSC

Setzen und Ermitteln von Parameter-Werten

CGI-Programme werden vom Browser aufgerufen und haben keine Parameter(-Liste). Mit RPGWX können jedoch bis zu 5 alphanumerische allgemeine (Parameter-)Werte gesetzt und an das Folge-Programm übergeben werden.

Das Setzen und Ermitteln der Parameter-Werte erfolgt über entsprechende Prozedur-Aufrufe.

Die Parameter-Werte können entweder einzeln oder blockweise (mit Hilfe einer Feldgruppe gesetzt bzw. ermittelt werden.

Das Setzen der Parameter-Werte sollte am Besten unmittelbar vor der Ausgabe des HTML-Dokuments erfolgen.

Anstatt die SET-Funktionen vor Ausgabe des HTML-Dokuments aufzurufen, können, sofern erforderlich die Parameter-Werte auch direkt beim Aufruf der Prozeduren Wx_WrtChgTbl() übergeben werden.

Bei Verwendung der SET-Funktionen können die einzelnen Parameter (bzw. deren Werte) gezielt gesetzt werden, z.B. nur der 3. Parameter. Soll bei Aufruf der Funktionen Wx_WrtWrkTbl() oder Wx_WrtChgTbl() nur der 3. Parameter gesetzt werden, müssen Parameter-Wert 1 und 2 leer übergeben werden.

Das Ermitteln der eingehenden Parameter sollte am Besten unmittelbar nach Aufruf des (Folge-)Programms erfolgen.

Der Nachteil bei Verwendung der allgemeinen Parameter ist, dass die Parameter 1-5 von unterschieldichen Programmen unterscheidlich belegt werden können. Erfolgt z.B. der Aufruf eines Programms aus Programm x wird in Parm1 der Mandant übergeben. Erfolgt der Aufruf aus Programm y wird im Parm 1 die Bestell-Nr. übergeben.

Aus diesem Grund gibt es eine weitere Möglichkeit der Parameterübergabe in Form von benannten Parametern. Der Paramter erhält einen Namen und wird einmalig für die Session gespeichert, d.h. auf diese speziellen Parameter kann aus allen Programmen, die unter der gleichen Session-Nr. laufen zugegriffen werden.

Bei benannten Parametern muss der Parameter-Name sowie der Parmeter-Wert im gewünschten Format übergeben werden. Der Parameter-Name kann in jeder beliebigen Groß/Klein-Schreibweise übergeben werden. Intern wird der Name in Großbuchstaben konvertiert.

Sofern beim Setzen des Parameter-Wertes für die Session bereits ein Parameter mit dem gleichen Namen gesetzt ist, wird der Paramter-Wert überschrieben.

Sofern beim empfangen des Parameter kein Parameter mit dem gewünschten Namen gefunden wurde, erfolgt kein Abbruch. Stattdessen wird der Default-Wert für den entsprechenden Datentypen ausgegeben.

Durch entsprechende Namenskonventionen kann sichergestellt werden, dass die gewünschten Parameter-Werte auch in den aufgerufenen Programmen korrekt empfangen und auch gesetzt werden können.

Das Setzen und Ermitteln der benannten Parameter-(Werte) erfolgt durch den Aufruf von RPGWX-Prozeduren. Für die verschiedenen Datentypen gibt es jeweils eine eigene Prozedur:

  • Char

  • ArrChar

  • UC (Unicode)

  • ArrUC

Für benannte Parameter gibt es noch die weiteren Datentypen:

  • Dec

  • Int

  • Date

  • Time

  • Timestamp

Wx_SetParmXxxx - Parameter-Werte setzen

Wx_SetParmChar() – Setzen Parameter

Einzelne alphanumerische Parameter-Werte können über die Prozedur Wx_SetParmChar() gesetzt werden.

Die numerische Position des Parameters sowie der alphanumerische Parameter-Wert müssen übergeben werden.

*************************************************************************** P* Procedure name: Wx_SetParmChar P* Purpose: Store a Character Parameter P* = Parameter No between 1 and 5 allowed P* Returns: P* Parameters: ParNO => Parameter-No P* Parameters: ParValue => Character Parameter Value *************************************************************************** D Wx_SetParmChar... D PR OpDesc D ParNo 3U 0 Const D ParValue Like(FldRefcGI.DftVAlue) Const



Syntax

Wx_SetParmChar(<parno>: <parvalue>)

Parameter

parno - Parameter-Position z.Z. 1 – 5 zulässig

parvalue - Alphanumerischer Parameter-Wert

Numerische Werte oder Datums- und Zeit-Werte müssen mit Hilfe der Built-In-Funktion %CHAR() in alphanumerische Werte konvertiert werden.

Unicode-Werte werden ab Release 7.1 automatisch konvertiert. Vor Release 7.1 müssen Unicode-Werte ebenfalls mit Hilfe der Built-in-Funktion %CHAR() konvertiert werden.

Beispiel für den Aufruf

Wx_SetParmChar(1: ArtikelBez);

Wx_SetParmChar(3: %Char(Umsatz * MWST));

Wx_SetParmArrChar() – Setzen mehrere Parameter

Mehrere alphanumerische Parameter-Werte können mit Hilfe einer Feldgruppe mit RefElemParm (aktuell 5) Elementen über die Prozedur Wx_SetParmArrChar() gesetzt werden.

In der Feldgruppe müssen lediglich die Parameter-Werte angegeben werden. Die Position entspricht dem Feldgruppen-Index.

*************************************************************************** P* Procedure name: Wx_SetParmArrChar P* Purpose: Store all Character Parameter (Passed as Character Array) P* Returns: P* Parameters: ParArrValue = Array with all Parameter Values *************************************************************************** D Wx_SetParmArrChar... D PR OpDesc D ParArrValue Like(FldRefCGI.DftValue) Const D Dim(RefElemParm)



Syntax

Wx_SetParmArrChar(<arraychar>));

Parameter

arraychar - Feldgruppe mit z.Zt. aktuell 5 Elementen

Die Anzahl der Elemente in der Feldgruppe ist definiert in RefElemParm, derzeit ist das 5.

Parameter-Werte werden als Element-Werte übergeben

Numerische Werte oder Datums- und Zeit-Werte müssen mit Hilfe der Built-In-Funktion %CHAR() in alphanumerische Werte konvertiert werden.

Unicode-Werte werden ab Release 7.1 automatisch konvertiert. Vor Release 7.1 müssen Unicode-Werte ebenfalls mit Hilfe der Built-in-Funktion %CHAR() konvertiert werden.

Beispiele für den Aufruf

D MyArrParm S Like(FldRef.TextVar)
D Dim(RefElemParm)
*--------------------------------------------------------------------------------
/Free
MyArrParm(1) = ArtikelBez;
MyArrParm(2) = %Char(Umsatz * MWST));
Wx_SetParmArrChar(MyArrParm));
/End-Free

Wx_SetParmUC() – Setzen Unicode-Parameter

Einzelne Unicode-Parameter-Werte können über die Prozedur Wx_SetParmUC() gesetzt werden.
Die numerische Position des Parameters, sowie der Unicode-Parameter-Wert müssen übergeben werden.

*************************************************************************** P* Procedure name: Wx_SetParmUC P* Purpose: Store a Unicode Parameter P* = Parameter No between 1 and 5 allowed P* Returns: P* Parameters: ParNO => Parameter-No P* Parameters: ParValue => Unicode Parameter Value *************************************************************************** D Wx_SetParmUC... D PR OpDesc D ParNo 3U 0 Const D ParValue Like(FldRefCGIUC.DftValue) Const

Syntax

Wx_SetParmUC(<parno> : <content>);

Parameter

parno - Parameter-Position

Zulässig ist aktuell die Position 1 – 5.

content - Unicode-Parameter-Wert

Numerische Werte oder Datums- und Zeit-Werte müssen mit Hilfe der Built-In-Funktionen %CHAR() und %UCS2() in Unicode-Werte konvertiert werden.
Alphanumerische Werte werden ab Release 7.1 automatisch konvertiert. Vor Release 7.1 müssen alphanumerische Werte mit Hilfe der Built-in-Funktion %UCS2() konvertiert werden.

Beispiele für den Aufruf

Wx_SetParmUC(1: ArtikelBez);
Wx_SetParmUC(2: %UCS2(KundeName));
Wx_SetParmUC(3: %UCS2(%Char(Umsatz * MWST)));

Wx_SetParmArrUC() – Setzen mehrere Unicode- Parameter

Mehrere Unicode-Parameter-Werte können mit Hilfe einer Feldgruppe mit RefElemParm (aktuell 5) Elementen über die Prozedur Wx_SetParmArrUC() gesetzt werden.
In der Feldgruppe müssen lediglich die Parameter-Werte angegeben werden. Die Position entspricht dem Feldgruppen-Index.

*************************************************************************** P* Procedure name: Wx_SetParmArrUC P* Purpose: Store all Unicode Parameter (Passed as Unicode Array) P* Returns: P* Parameters: ParArrValue = Array with all Parameter Values *************************************************************************** D Wx_SetParmArrUC... D PR OpDesc D ParArrValue Like(FldRefCGIUC.DftValue) Const D Dim(RefElemParm)

Syntax

Wx_SetParmArrUC(<contentarray>);

Parameter

contentarray - Feldgruppe mit RefElemParm (aktuell 5) Elementen

Parameter-Werte werden als Element-Werte übergeben.
Numerische Werte oder Datums- und Zeit-Werte müssen mit Hilfe der Built-In-Funktionen %UCS2() und %CHAR() in Unicode-Werte konvertiert werden.
Alphanumerische Werte werden ab Release 7.1 automatisch konvertiert. Vor Release 7.1 müssen alphanumerische Werte mit Hilfe der Built-in-Funktion %UCS2() konvertiert werden.

Beispiele für den Aufruf

D MyArrParm S Like(FldRef.UCVar)
D Dim(RefElemParm)
*--------------------------------------------------------------------------------
/Free
MyArrParm(1) = ArtikelBez;
MyArrParm(2) = %UCS2(KundeName);
MyArrParm(3) = %UCS2(%Char(Umsatz * MWST));
Wx_SetParmArrUC(MyArrParm);
/End-Free

Wx_GetParmXxxx - Parameter-Werte empfangen

Wx_GetParmChar() – Ermitteln Parameter-Wert

Einzelne alphanumerische Parameter-Werte können über die Prozedur Wx_GetParmChar() ermittelt werden.
Die numerische Position des Parameters muss übergeben werden. Der alphanumerische Parameter-Wert wird als Rückgabe-Wert ausgegeben.

*************************************************************************** P* Procedure name: Wx_GetParmChar P* Purpose: Get Character Value for a specified Parameter P* = Parameter No between 1 and 5 allowed P* Returns: Character Value for the specified parameter P* Parameters: *************************************************************************** D Wx_GetParmChar... D PR Like(FldRef.TextVar) OpDesc D ParNo 3U 0 Const

Syntax

<result> = Wx_GetParmChar(<parno>);

Parameter

Rückgabe-Wert - Alphanumerischer Parameter-Wert

parno - Parameter-Position

Zulässig ist aktuell die Position 1 – 5.

Beispiele für den Aufruf

MyCharVar = Wx_GetParmChar(1);
MyNextVar = Wx_GetParmChar(2);

Wx_GetParmArrChar() – Ermitteln mehrere alphanumerische Parameter

Mehrere alphanumerische Parameter-Werte können mit Hilfe einer Feldgruppe mit RefElemParm (aktuell 5) Elementen über die Prozedur Wx_GetParmArrChar() ermittelt werden.
In der Feldgruppe stehen die ermittelten Parameter-Werte, die Position entspricht dem Feldgruppen-Index.

*************************************************************************** P* Procedure name: Wx_GetParmArrChar P* Purpose: Get Character Array for all parameter Values P* = Currently 5 Parameters are allowed P* Returns: Array Parameter Character Values P* Parameters: *************************************************************************** D Wx_GetParmArrChar... D PR Like(FldRef.TextVar) OpDesc D Dim(RefElemParm)

Syntax

<resultarray> = Wx_GetParmArrChar();

Parameter

Rückgabe-Wert - Feldgruppe mit RefElemParm (aktuell 5) Elementen

Die Anzahl der Elemente in der Feldgruppe ist definiert in RefElemParm, derzeit ist das 5.

Beispiele für den Aufruf

D MyArrParm S Like(FldRef.TextVar)
D Dim(RefElemParm)
*--------------------------------------------------------------------------------
/Free
MyArrParm = Wx_GetParmArrChar();
/End-Free

Wx_GetParmUC() – Ermitteln Unicode-Parameter-Wert

Einzelne Unicode-Parameter-Werte können über die Prozedur Wx_GetParmUC() ermittelt werden.
Die numerische Position des Parameters muss übergeben werden. Der Unicode-Parameter-Wert wird als Rückgabe-Wert ausgegeben.

*************************************************************************** P* Procedure name: Wx_GetParmUC P* Purpose: Get Unicode Value for a specified Parameter P* = Parameter No between 1 and 5 allowed P* Returns: Unicode Value for the specified parameter P* Parameters: *************************************************************************** D Wx_GetParmUC... D PR Like(FldRef.UCVar) OpDesc D ParNo 3U 0 Const

Syntax

<result> = Wx_GetParmUC(<parno>);

Parameter

Rückgabe-Wert - Unicode-Parameter-Wert

parno - Parameter-Position

Zulässig ist aktuell die Position 1 – 5.

Beispiele für den Aufruf

MyUCVar = Wx_GetParmUC(1);
MyNextVar = Wx_GetParmUC(2);

Wx_GetParmArrUC() – Ermitteln mehrere Unicode-Parameter-Werte

Mehrere Unicode-Parameter-Werte können mit Hilfe einer Feldgruppe mit RefElemParm (aktuell 5) Elementen über die Prozedur Wx_GetParmArrUC() ermittelt werden.
In der Feldgruppe stehen die ermittelten Parameter-Werte, die Position entspricht dem Feldgruppen-Index.

*************************************************************************** P* Procedure name: Wx_GetParmArrUC P* Purpose: Get Unicode Array for all parameter Values P* = Currently 5 Parameters are allowed P* Returns: Array Parameter Unicode Values P* Parameters: *************************************************************************** D Wx_GetParmArrUC... D PR Like(FldRef.UCVar) OpDesc D Dim(RefElemParm)

Syntax

<resultarray> = Wx_GetParmArrUC();

Parameter

Rückgabe-Wert - Unicode-Feldgruppe mit RefElemParm (aktuell 5) Elementen

Die Anzahl der Elemente in der Feldgruppe ist definiert in RefElemParm, derzeit ist das 5.

Beispiele für den Aufruf

D MyArrParm S Like(FldRef.UCVar)
D Dim(RefElemParm)
*--------------------------------------------------------------------------------
/Free
MyArrParm = Wx_GetParmArrUC();
/End-Free

Wx_SetNamedParmXxxx - Benannten Parameter - setzen

Wx_SetNamedParm() – Setzen alphanumerischen Parameter

Benannte alphanumerische Parameter-Werte können über die Prozedur Wx_SetNamedParm() gesetzt werden.
Der Name sowie der zu sichernde Wert des benannten Parameters müssen übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.

*************************************************************************** // Procedure name: Wx_SetNamedParm // Purpose: Save Named Parameters - Parameter value in single byte chars // --> Parameters passed with *Blanks are NOT saved // Returns: // Parameter: ParParName => Parameter Name // Parameter: ParValue => Value *************************************************************************** D Wx_SetNamedParm... D PR OpDesc D ParName Like(FldRef.UrlLbl) Const D Options(*Trim) D ParValue Like(FldRef.TextVar) Const

Syntax

Wx_SetNamedParm(<parname> : <content>);

Parameter

parname - Parameter-Name

content - Alphanumerischer Parameter-Wert

Beispiele für den Aufruf

Wx_SetNamedParm('My1ArtNr' : ArtNr);
Wx_SetNamedParm('MyKndName' : KundeName);

Wx_SetNamedParmUC() – Setzen Unicode-Parameter

Benannte Unicode-Parameter-Werte können über die Prozedur Wx_SetNamedParmUC() gesetzt werden.
Der Name sowie der zu sichernde Wert des benannten Parameters müssen übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.

*************************************************************************** // Procedure name: Wx_SetNamedParmUC // Purpose: Save Named Parameters - Value in Double Byte Char.Set Unicode // --> Parameters passed with *Blanks are NOT saved // Returns: // Parameter: ParParName => Parameter Name // Parameter: ParValue => Value *************************************************************************** D Wx_SetNamedParmUC... D PR OpDesc D ParName Like(FldRef.UrlLbl) Const D Options(*Trim) D ParValue Like(FldRef.UCVar) Const

Syntax

Wx_SetNamedParmUC(<parname> : <content>);

Parameter

parname - Parameter-Name

content - Unicode-Parameter-Wert

Beispiele für den Aufruf

Wx_SetNamedParmUC('MyKndName' : Kndame);
Wx_SetNamedParmUC('MyAddress' : %Trim(Strasse) + ' ' + %Trim(HausNr));
Wx_SetNamedParmUC('MyACity' : %UCS2(PLZ) + ' ' + %Trim(Ort));

Wx_SetNamedParmDec() – Setzen numerischen Parameter mit Dezimal-Positionen

Benannte numerische Parameter-Werte mit Dezimal-Positionen können über die Prozedur Wx_SetNamedParmDec() gesetzt werden.
Der Name sowie der zu sichernde Wert des benannten Parameters müssen übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.

*************************************************************************** // Procedure name: Wx_SetNamedParmDec // Purpose: Save Named Parameters - Parameter as Packed/Zoned num. value // --> Parameters passed with *Zeros are saved with Zero Value // Returns: // Parameter: ParParName => Parameter Name // Parameter: ParValue => Value *************************************************************************** D Wx_SetNamedParmDec... D PR OpDesc D ParName Like(FldRef.UrlLbl) Const D Options(*Trim) D ParValue Like(FldRef.DftDec) Const

Syntax

Wx_SetNamedParmDec(<parname> : <content>);

Parameter

parname - Parameter-Name

content - Numerischer Wert ohne oder mit bis zu 9 Dezimal-Positionen

Beispiele für den Aufruf

Wx_SetNamedParmDec('MyPreis' : Preis);
Wx_SetNamedParmDec('MyTotal' : Menge * Preis);
Wx_SetNamedParmDec('MyMWST' : Total * VAT);

Wx_SetNamedParmInt() – Setzen ganzzahligen numerischen Parameter

Benannte ganzzahlige numerische Parameter-Werte können über die Prozedur Wx_SetNamedParmInt() gesetzt werden.
Der Name sowie der zu sichernde Wert des benannten Parameters müssen übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.

*************************************************************************** // Procedure name: Wx_SetNamedParmInt // Purpose: Save Named Parameters - Parameter as integer value // --> Parameters passed with *Zeros are saved with Zero Value // Returns: // Parameter: ParParName => Parameter Name // Parameter: ParValue => Value *************************************************************************** D Wx_SetNamedParmInt... D PR OpDesc D ParName Like(FldRef.UrlLbl) Const D Options(*Trim) D ParValue 20I 0 Const

Syntax

Wx_SetNamedParmInt(<parname> : <content>);

Parameter

parname - Parameter-Name

content - Ganzzahliger numerischer Wert

Beispiele für den Aufruf

Wx_SetNamedParmInt('MyAnzAnw' : AnzAnwesend);
Wx_SetNamedParmInt('MyAnzTeilN' : AnzTeiln);
Wx_SetNamedParmInt('MyAnzSonst' : AnzAnwesend - AnzTeiln);

Wx_SetNamedParmDate() – Setzen Datums-Parameter

Benannte Datums-Parameter-Werte können über die Prozedur Wx_SetNamedParmDate() gesetzt werden.
Der Name sowie der zu sichernde Wert des benannten Parameters müssen übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.

*************************************************************************** // Procedure name: Wx_SetNamedParmDate // Purpose: Save Named Parameters - Parameter value as Date value // --> Dates are saved in the *ISO Format (YYYY-MM-DD) // Returns: // Parameter: ParParName => Parameter Name // Parameter: ParValue => Value *************************************************************************** D Wx_SetNamedParmDate... D PR OpDesc D ParName Like(FldRef.UrlLbl) Const D Options(*Trim) D ParValue D DatFmt(*ISO) Const

Syntax

Wx_SetNamedParmDate(<parname> : <content>);

Parameter

parname - Parameter-Name

content - Datums-Wert

Beispiele für den Aufruf

Wx_SetNamedParmDate('MyBestDat' : AKBESTDAT);
Wx_SetNamedParmDate('MyMHD' : %Date() + %Days(30));
Wx_SetNamedParmDate('MyHVD' : MHD - %Days(5));

Wx_SetNamedParmTime() – Setzen Zeit-Parameter

Benannte Zeit-Parameter-Werte können über die Prozedur Wx_SetNamedParmTime() gesetzt werden.
Der Name sowie der zu sichernde Wert des benannten Parameters müssen übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.

*************************************************************************** // Procedure name: Wx_SetNamedParmTime // Purpose: Save Named Parameters - Parameter value as time value // --> Dates are saved in the *ISO Format (HH.MM.SS) // Returns: // Parameter: ParParName => Parameter Name // Parameter: ParValue => Value *************************************************************************** D Wx_SetNamedParmTime... D PR OpDesc D ParName Like(FldRef.UrlLbl) Const D Options(*Trim) D ParValue T TimFmt(*ISO) Const

Syntax

Wx_SetNamedParmTime(<parname> : <content>);

Parameter

parname - Parameter-Name

content - Zeit-Wert

Beispiele für den Aufruf

Wx_SetNamedParmTime('MyStrTim' : StartZeit);
Wx_SetNamedParmTime('MySchichtBeg' : T'06.00.00');
Wx_SetNamedParmTime('MyPause' : SchichtBeg + %Hours(3));

Wx_SetNamedParmTimestamp() – Setzen Zeitmarken-Parameter

Benannte Zeitmarken-Parameter-Werte können über die Prozedur Wx_SetNamedParmTimestamp() gesetzt werden.
Der Name sowie der zu sichernde Wert des benannten Parameters müssen übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.