Setzen und Ermitteln von Parameter-Werten
CGI-Programme werden vom Browser aufgerufen und haben keine Parameter(-Liste). Mit WOPiXX 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 WOPiXX-Prozeduren.
Prozeduren zum Setzen der Parameter-Werte
- Wx_SetParmChar - Setzen einzelnen alphanumerischen Parameter-Wert
- Wx_SetParmArrChar - Setzen von mehreren alphanumerischen Parameter-Werten
- Wx_SetParmUC - Setzen von einzelnen Unicode-Parameter-Werten
- Wx_SetParmArrUC - Setzen von mehreren Unicode-Parameter-Werten
Prozeduren zum Empfangen der Parameter-Werte
- Wx_GetParmChar - Einzelnen alphanumerischen Parameter-Wert empfangen
- Wx_GetParmArrChar - Mehrere alphanumerischen Parameter-Werte empfangen
- Wx_GetParmUC - Einzelnen Unicode-Parameter-Wert empfangen
- Wx_GetParmArrUC - Mehrere Unicode-Parameter-Werte empfangen
Prozeduren zum Setzen der benannten Parameter-Werte
- Wx_SetNamedParm - Setzen eines benannten alphanumerischen Parameters
- Wx_SetNamedParmUC - Setzen eines benannten Unicode Parameters
- Wx_SetNamedParmDec - Setzen eines benannten numerischen Parameters mit Dezimal-Positionen
- Wx_SetNamedParmInt - Setzen eines benannten ganzzahligen Parmeters
- Wx_SetNamedParmDate - Setzen eines benannten Datums-Parameters
- Wx_SetNamedParmTime - Setzen eines benannten Zeit-Parmeters
- Wx_SetNamedParmTimestamp - Setzen eines benannten Zeitmarken-Parameters
Prozeduren zum Empfangen der benannten Parameter-Werte
- Wx_GetNamedParmUC - Unicode-Wert eines benannten Parameters empfangen
- Wx_GetNamedParm - Alphanumerischen Wert eines benannten Parameters empfangen
- Wx_GetNamedParmDec - Numerischen Wert mit Dezimal-Positionen empfangen
- Wx_GetNamedParmInt - Ganzzahligen numerischen Wert eines benannten Parameters empfangen
- Wx_GetNamedParmDate - Datumswert eines benannten Parameters empfangen
- Wx_GetNamedParmTime - Zeitwert eines benannten Parameters empfangen
- Wx_GetNamedParmTimestamp - Zeitmarken-Wert eines benannten Paramters empfangen
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.
Prototype
***************************************************************************
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
Source Code 149121 : Prototype - Prozedur Wx_SetParmChar() - Alphanumerischen Parameter-Wert setzen
Parameter
- ParNoParameter-Position z.Z. 1 – 5 zulässig
- ParValueAlphanumerischer 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));
Source Code 150122: Aufruf Prozedur Wx_SetParmChar() - Alphanumerischen Parameter-Wert setzen
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.
Prototype
***************************************************************************
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)
Source Code 151123 : Prototype - Prozedur Wx_SetParmArrChar() - Alphanumerische Parameter-Werte setzen
Parameter
- ParArrValue 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-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
D MyArrParm S Like(FldRef.TextVar)
D Dim(RefElemParm)
*--------------------------------------------------------------------------------
/Free
MyArrParm(1) = ArtikelBez;
MyArrParm(2) = %Char(Umsatz * MWST));
Wx_SetParmArrChar(MyArrParm));
/End-Free
Source Code 152124: Aufruf Prozedur Wx_SetParmArrChar() - Alphanumerische Parameter-Werte setzen
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.
Prototype
***************************************************************************
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
Source Code 153125 : Prototype - Prozedur Wx_SetParmUC() – Unicode-Parameter-Wert setzen
Parameter
- ParNoParameter-Position z.Z. 1 – 5 zulässig
- ParValueUnicode-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.
Beispiel für den Aufruf
Wx_SetParmUC(1: ArtikelBez);
Wx_SetParmUC(2: %UCS2(KundeName));
Wx_SetParmUC(3: %UCS2(%Char(Umsatz * MWST)));
Source Code 154126: Aufruf Prozedur Wx_SetParmUC() – Unicode-Parameter-Wert setzen
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.
Prototype
***************************************************************************
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)
Source Code 155127 : Prototype - Prozedur Wx_SetParmArrUC() – Unicode-Parameter-Werte setzen
Parameter
- ParArrValue 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.
Beispiel für den Aufruf
D MyArrParm S Like(FldRef.UCVar)
D Dim(RefElemParm)
*--------------------------------------------------------------------------------
/Free
MyArrParm(1) = ArtikelBez;
MyArrParm(2) = %UCS2(KundeName);
MyArrParm(2) = %UCS2(%Char(Umsatz * MWST)));
Wx_SetParmArrUC(MyArrParm));
/End-Free
Source Code 156128: Aufruf Prozedur Wx_SetParmUC() – Unicode-Parameter-Werte setzen
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
Prototype
***************************************************************************
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
Source Code 157129 : Prototype - Prozedur Wx_GetParmChar() - Alphanumerischen Parameter-Wert ermitteln
Parameter
- Rückgabe-Wert Alphanumerischer Parameter-Wert
- ParNo Parameter-Position z.Z. 1 – 5 zulässig
Beispiel für den Aufruf
MyCharVar = Wx_GetParmChar(1);
MyNextVar = Wx_GetParmChar(2);
Source Code 158130: Aufruf Prozedur Wx_GetParmChar() - Alphanumerischen Parameter-Wert ermitteln
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() gesetzt werden.
In der Feldgruppe müssen lediglich die Parameter-Werte angegeben werden. Die Position entspricht dem Feldgruppen-Index.
Prototype
***************************************************************************
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)
Source Code 159131 : Prototype - Prozedur Wx_GetParmArrChar() - Alphanumerische Parameter-Werte ermitteln
Parameter
- Rückgabe-Wert Feldgruppe mit RefElemParm (aktuell 5) Elementen
Beispiel für den Aufruf
D MyArrParm S Like(FldRef.TextVar)
D Dim(RefElemParm)
*--------------------------------------------------------------------------------
/Free
MyArrParm = Wx_GetParmArrChar();
/End-Free
Source Code 160132: Aufruf Prozedur Wx_GetParmArrChar() - Alphanumerische Parameter-Werte ermitteln
Wx_GetParmUC() – Ermitteln Unicode-Para-meter-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
Prototype
***************************************************************************
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
Source Code 161133 : Prototype - Prozedur Wx_GetParmUC() – Unicode-Parameter-Wert ermitteln
Parameter
- Rückgabe-Wert Unicode-Parameter-Wert
- ParNo Parameter-Position z.Z. 1 – 5 zulässig
Beispiel für den Aufruf
MyCharVar = Wx_GetParmUC(1);
MyNextVar = Wx_GetParmUC(2);
Source Code 162134: Aufruf Prozedur Wx_GetParmUC() – Unicode-Parameter-Wert ermitteln
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() gesetzt werden.
In der Feldgruppe müssen lediglich die Parameter-Werte angegeben werden. Die Position entspricht dem Feldgruppen-Index.
Prototype
***************************************************************************
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)
Source Code 163135 : Prototype - Prozedur Wx_GetParmArrUC() – Unicode-Parameter-Werte ermitteln
Parameter
- Rückgabe-Wert Unicode-Feldgruppe mit RefElemParm (aktuell 5) Elementen
Beispiel für den Aufruf
D MyArrParm S Like(FldRef.TextVar)
D Dim(RefElemParm)
*--------------------------------------------------------------------------------
/Free
MyArrParm = Wx_GetParmArrUC();
/End-Free
Source Code 164136: Aufruf Prozedur Wx_GetParmArrUC() – Unicode-Parameter-Werte ermitteln
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
Prototype
**********************************************************************************************
// 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
Source Code 165137 : Prototype - Prozedur Wx_SetNamedParmC() - Alphanumerischen Parameter-Wert setzen
Parameter
- ParName Paramter Name
- ParValueAlphanumerischer Parameter-Wert
Beispiel für den Aufruf
Wx_SetNamedParm('My1ArtNr' : ArtNr);
Wx_SetNamedParm('MyKndName': KundeName));
Source Code 166138: Aufruf Prozedur Wx_SetNamedParm - Alphanumerischen Parameter-Wert setzen
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
Prototype
**********************************************************************************
// 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
Source Code 167139 : Prototype - Prozedur Wx_SetNamedParmUC() – Unicode-Parameter-Wert setzen
Parameter
- ParNameParameter-Name
- ParValueUnicode-Parameter-Wert
Beispiel für den Aufruf
Wx_SetNamedParmUC('MyKndName': Kndame);
Wx_SetNamedParmUC('MyAddress': %Trim(Strasse) + ' ' + %Trim(HausNr));
Wx_SetNamedParmUC('MyACity': %UCS2(PLZ) + ' ' + %Trim(Ort)));
Source Code 168140: Aufruf Prozedur Wx_SetNamedParmUC() – Unicode-Parameter-Wert setzen
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
Prototype
**********************************************************************************
// 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
Source Code 169141 : Prototype - Prozedur Wx_SetNamedParmUC() – Unicode-Parameter-Wert setzen
Parameter
- ParNameParameter-Name
- ParValue Numerischer Wert ohne oder mit bis zu 9 Dezima-Positionen
Beispiel für den Aufruf
Wx_SetNamedParmDec('MyPreis': Preis);
Wx_SetNamedParmDec('MyTotal' : Menge * Preis);
Wx_SetNamedParmDec('MyMWST' : Total * VAT);
Source Code 170142: Aufruf Prozedur Wx_SetNamedParmDec() – numeriischenParameter-Wert mit Dezimal-Stellen setzen
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
Prototype
**********************************************************************************
// 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
Source Code 171143 : Prototype - Prozedur Wx_SetNamedParmInt() – ganzzahligen Parameter-Wert setzen
Parameter
- ParNameParameter-Name
- ParValue Ganzzahliger numerischer Wert
Beispiel für den Aufruf
Wx_SetNamedParmInt('MyAnzAnw': AnzAnwesend);
Wx_SetNamedParmInt('MyAnzTeilN' : AnzTeiln);
Wx_SetNamedParmInt('MyAnzSonst' : AnzAnwesend - AnzTeiln);
Source Code 172144: Aufruf Prozedur Wx_SetNamedParmInt() – Ganzzahligen Parameter-Wert setzen
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
Prototype
**********************************************************************************
// 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
Source Code 173145 : Prototype - Prozedur Wx_SetNamedParmIDate() – Datums-Parameter-Wert setzen
Parameter
- ParNameParameter-Name
- ParValue Datums-Wert
Beispiel für den Aufruf
Wx_SetNamedParmDate('MyBestDat': AKBESTDAT);
Wx_SetNamedParmDate('MyMHD' : %Date() + %Days(30));
Wx_SetNamedParmDate('MyHVD' : MHD - %(Days(5));
Source Code 174146: Aufruf Prozedur Wx_SetNamedParmDate() – Datums-Parameter-Wert setzen
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
Prototype
**********************************************************************************
// 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
Source Code 175147 : Prototype - Prozedur Wx_SetNamedParmITime() – Zeit-Parameter-Wert setzen
Parameter
- ParNameParameter-Name
- ParValue Zeit-Wert
Beispiel für den Aufruf
Wx_SetNamedParmTime('MyStrTim': StartZeit);
Wx_SetNamedParmTime('MySchichtBeg': T'06.00.00');
Wx_SetNamedParmTime('MyPause' : SchichtBeg + %Hours(3));
Source Code 176148: Aufruf Prozedur Wx_SetNamedParmTimestamp() – Zeitmarken-Parameter-Wert setzen
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
Prototype
**********************************************************************************
// Procedure name: Wx_SetNamedParmTimestamp
// Purpose: Save Named Parameters - Parameter value as timestamp value
// Returns:
// Parameter: ParParName => Parameter Name
// Parameter: ParValue => Value
**********************************************************************************
D Wx_SetNamedParmTimestamp...
D PR OpDesc
D ParName Like(FldRef.UrlLbl) Const
D Options(*Trim)
D ParValue Z Const
Source Code 177149 : Prototype - Prozedur Wx_SetNamedParmITimestamp() – Zeitmarken-Parameter-Wert setzen
Parameter
- ParNameParameter-Name
- ParValue Zeitmarken-Wert
Beispiel für den Aufruf
Wx_SetNamedParmInt('MyStart': %Timestamp);
Wx_SetNamedParmInt('MySchichtBeg': %Date() + T'06.00.00');
Wx_SetNamedParmInt('MyPause' : SchichtBeg + %Hours(3));
Source Code 178150: Aufruf Prozedur Wx_SetNamedParmZeit() – Zeit-Parameter-Wert setzen
Wx_GetNamedParm() – Ermitteln benannten alphanumerischen Parameter-Wert
Einzelne alphanumerische Parameter-Werte für benannte Parameter können über die Prozedur Wx_GetNamedParm() ermittelt werden.
Der Name des benannten Parameters muss übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.
Prototype
**********************************************************************************
// Procedure name: Wx_GetNamedParm
// Purpose: Retrieve the character value for the named parameter in SBCS
// Not Found --> Return ''
// Returns: Parameter value as Character value
// Parameter: ParParName => Parameter Name
**********************************************************************************
D Wx_GetNamedParm...
D PR Like(FldRef.TextVar) OpDesc
D ParName Like(FldRef.UrlLbl) Const
D Options(*Trim)
Source Code 179151 : Prototype - Prozedur Wx_GetNamedParm() – Alphanumerischen benannten Parameter-Wert ermitteln
Parameter
- Rückgabe-Wert Alphanumerischer Parameter-Wert
- ParName Name unter dem der Parameter-Wert gespeichert wurde
Beispiel für den Aufruf
ParArtNr = Wx_GetNamedParm('My1ArtNr');
ParName = Wx_GetNamedParm('KundeName');
Source Code 180152: Aufruf Prozedur Wx_GetNamedParm() - Alphanumerischen Parameter-Wert ermitteln
Wx_GetNamedParmUC() – Ermitteln benannten Parameter-Wert in Unicode
Einzelne Parameter-Werte in Unicode für benannte Parameter können über die Prozedur Wx_GetNamedParmUC() ermittelt werden.
Der Name des benannten Parameters muss übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.
Prototype
**********************************************************************************
// Procedure name: Wx_GetNamedParmUC
// Purpose: Retrieve the value for the named parameter in DBCS Unicode
// Not Found --> Return ''
// Returns: Return Parameter value as unicode value
// Parameter: ParParName => Parameter Name
**********************************************************************************
D Wx_GetNamedParmUC...
D PR Like(FldRef.UCVar) OpDesc
D ParName Like(FldRef.UrlLbl) Const
D Options(*Trim)
Source Code 181153 : Prototype - Prozedur Wx_GetNamedParmUC() – Unicode-Wert für benannten Parameter-Wert ermitteln
Parameter
- Rückgabe-Wert Parameter-Wert in DBCS (Double Byte Character Set) Unicode
- ParName Name unter dem der Parameter-Wert gespeichert wurde
Beispiel für den Aufruf
LocName = Wx_GetNamedParmUC('MyKndName');
LocStreet = Wx_GetNamedParmUC('MyAddress');
LocCity = Wx_GetNamedParmUC('MyCity');
Source Code 182154: Aufruf Prozedur Wx_GetNamedParmUC() - Parameter-Wert in Unicode ermitteln
Wx_GetNamedParmDec() – Ermitteln benannten numerischen Parameter-Wert mit Dezimal-Positionen
Einzelne numerische Parameter-Werte mit Dezimal-Positionen für benannte Parameter können über die Prozedur Wx_GetNamedParmDec() ermittelt werden.
Der Name des benannten Parameters muss übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.
Prototype
******************************************************************************
// Procedure name: Wx_GetNamedParmDec
// Purpose: Retrieve the value for the named parameter as Packed Value
// Not Found --> Return *Zeros
// Returns: Return Parameter value as Packed Value
// Parameter: ParParName => Parameter Name
******************************************************************************
D Wx_GetNamedParmDec...
D PR Like(FldRef.DftDec) OpDesc
D ParName Like(FldRef.UrlLbl) Const
D Options(*Trim)
Source Code 183155 : Prototype - Prozedur Wx_GetNamedParmDec() – numerischen Parameter-Wert mit Dezimal-Positionen für benannten Parameter ermitteln
Parameter
- Rückgabe-Wert Numerischen Parameter-Wert mit Dezimal-Positionen
- ParName Name unter dem der Parameter-Wert gespeichert wurde
Beispiel für den Aufruf
LocStkPreis = Wx_GetNamedParmDec('MyPreis');
LocGesamt = Wx_GetNamedParmDec('MyTotal');
LocMWST = Wx_GetNamedParmDec('MyMwst');
Source Code 184156: Aufruf Prozedur Wx_GetNamedParmDec() – numerischen benannten Parameter mit Dezmal-Positionen ermitteln
Wx_GetNamedParmInt() – Ermitteln benannten ganzzahligen Parameter-Wert
Einzelne ganzzahlige Parameter-Werte für benannte Parameter können über die Prozedur Wx_GetNamedParmInt() ermittelt werden.
Der Name des benannten Parameters muss übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.
Prototype
*******************************************************************************
// Procedure name: Wx_GetNamedParmInt
// Purpose: Retrieve the value for the named parameter as Integer Value
// Not Found --> Return *Zeros
// Returns: Return Parameter value as Integer
// Parameter: ParParName => Parameter Name
*******************************************************************************
D Wx_GetNamedParmInt...
D PR 20I 0 OpDesc
D ParName Like(FldRef.UrlLbl) Const
D Options(*Trim)
Source Code 185157 : Prototype - Prozedur Wx_GetNamedParmInt() – ganzzahligen benannten Parameter-Wert ermitteln
Parameter
- Rückgabe-Wert Ganzzahliger Parameter-Wert
- ParName Name unter dem der Parameter-Wert gespeichert wurde
Beispiel für den Aufruf
LocAnwesend = Wx_GetNamedParmInt('MyAnzAnwesen');
LocTeilnehmer = Wx_GetNamedParmInt('MyAnzTeiln');
LocSonstiges = Wx_GetNamedParmInt('MySonst');
Source Code 186158: Aufruf Prozedur Wx_GetNamedParmInt() – ganzzahligen benannten Parameter-Wert ermitteln
Wx_GetNamedParmDate() – Ermitteln benannten Datums-Parameter-Wert
Einzelne Datums-Parameter-Werte für benannte Parameter können über die Prozedur Wx_GetNamedParmDate() ermittelt werden.
Der Name des benannten Parameters muss übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.
Prototype
****************************************************************************
// Procedure name: Wx_GetNamedParmDate
// Purpose: Retrieve the value for the named parameter as Date Value
// Not Found --> Return *LoVal = '0001-01-01'
// Returns: Return Parameter value as Date
// Parameter: ParParName => Parameter Name
****************************************************************************
D Wx_GetNamedParmDate...
D PR D DatFmt(*ISO) OpDesc
D ParName Like(FldRef.UrlLbl) Const
D Options(*Trim)
Source Code 187159 : Prototype - Prozedur Wx_GetNamedParmIDate() – benannten Datums-Parameter-Wert ermitteln
Parameter
- Rückgabe-Wert Datums-Parameter-Wert
- ParName Name unter dem der Parameter-Wert gespeichert wurde
Beispiel für den Aufruf
LocBestDatum = Wx_GetNamedParmDate('MyBestDat');
LocMHD = Wx_GetNamedParmDate('MyMHD');
LocHVD = Wx_GetNamedParmDate('MyHVD');
Source Code 188160: Aufruf Prozedur Wx_GetNamedParmDate() – benannten Datums-Parameter-Wert ermitteln
Wx_GetNamedParmTime() – Ermitteln benannten Zeit-Parameter-Wert
Einzelne Zeit-Parameter-Werte für benannte Parameter können über die Prozedur Wx_GetNamedParmTime() ermittelt werden.
Der Name des benannten Parameters muss übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.
Prototype
****************************************************************************
// Procedure name: Wx_GetNamedParmTime
// Purpose: Retrieve the value for the named parameter as Time Value
// Not Found --> Return '00.00.00'
// Returns: Return Parameter value as Time
// Parameter: ParParName => Parameter Name
****************************************************************************
D Wx_GetNamedParmTime...
D PR T TimFmt(*ISO) OpDesc
D ParName Like(FldRef.UrlLbl) Const
D Options(*Trim)
Source Code 189161 : Prototype - Prozedur Wx_GetNamedParmITime() – benannten Zeit-Parameter-Wert ermitteln
Parameter
- Rückgabe-Wert Zeit-Parameter-Wert
- ParName Name unter dem der Parameter-Wert gespeichert wurde
Beispiel für den Aufruf
LocStartZeit = Wx_GetNamedParmTime('MyStrTim');
LocSchichtBeginn = Wx_GetNamedParmTime('MySchichtBeg');
LocBeginnPause = Wx_GetNamedParmTime('MyPause');
Source Code 190162: Aufruf Prozedur Wx_GetNamedParmDate() – benannten Zeit-Parameter-Wert ermitteln
Wx_GetNamedParmTimestamp() – Ermitteln benannten Zeitmarken-Parameter-Wert
Einzelne Zeitmarken-Parameter-Werte für benannte Parameter können über die Prozedur Wx_GetNamedParmTime() ermittelt werden.
Der Name des benannten Parameters muss übergeben werden. Der Name kann in beliebiger Groß/Kleinschreibung übergeben werden.
Prototype
*********************************************************************************
// Procedure name: Wx_GetNamedParmTimestamp
// Purpose: Retrieve the value for the named parameter as Timestamp Value
// Not Found --> Return '00.00.00'
// Returns: Return Parameter value as Timestamp
// Parameter: ParParName => Parameter Name
*********************************************************************************
D Wx_GetNamedParmTimestamp...
D PR Z OpDesc
D ParName Like(FldRef.UrlLbl) Const
D Options(*Trim)
Source Code 191163 : Prototype - Prozedur Wx_GetNamedParmITime() – benannten Zeitmarken-Parameter-Wert ermitteln
Parameter
- Rückgabe-Wert Zeitmarken-Parameter-Wert
- ParName Name unter dem der Parameter-Wert gespeichert wurde
Beispiel für den Aufruf
LocStartZeitmarke = Wx_GetNamedParmTimestamp('MyStart');
LocSchichtBeginn = Wx_GetNamedParmTimestamp('MySchichtBeg');
LocBeginnPause = Wx_GetNamedParmTimestamp('MyPause');
Source Code 192164: Aufruf Prozedur Wx_GetNamedParmDate() – benannten Zeitmarken-Parameter-Wert ermitteln
Ermitteln von Filter-Werten aus Work-Programmen in Folge-Programmen
Vielfach ist es erforderlich, dass die in einem Work-Programm erfassten Filter-Informationen in einem Folge-Programm benötigt werden.
WOPiXX stellt eine Reihe von Funktionen zur Verfügung über die, durch die Angabe des wie im Work-Programm benannten Filter-Namens der erfasste Filter-Wert ermittelt wird.
Die Filter-Werte können als String empfangen werden (Default). Es steht allerdings auch für jeden Ausgabe-Datentypen eine Funktion zur Verfügung. Sofern bei der Konverierung in den gewünschten Datentypen ein Konvertierungs-Problem auftritt, wird der Default-Wert des Datentypens ausgegeben.
An alle Funktionen wird der Filter-Name (aus dem Work-Programm als alphanumerischer Parameter übergaben. Die Namen können in beliebiger Groß/Kleinschreibung übergeben werden.
Die Funktionen unterscheiden sich lediglich durch die unterschiedlichen Datentypen des Rückgabe-Werte.
Folgende Prozeduren wurden bereitgestellt:
- Wx_PrvFltVal() Rückgabe des Filter-Werts als Single-Byte alphanumerischer String
VarChar(4096)
- Wx_PrvFltValUC() Rückgabe des Filter-Wertes als Double-Byte Unicode
VarUCS2(4096)
- Wx_PrvFltValInt() Rückgabe des Filter-Wertes als ganzzahlier Wert Int(20)
- Wx_PrvFltValDec() Rückgabe des Filter-Wertes als gepacktnumerischer Wert
Packed(31: 9)
- Wx_PrvFltValDate()Rückgabe des Filter-Wertes als Datum Date(*ISO)
- Wx_PrvFltValTime() Rückgabe des Filter-Wertes als Zeit Time(*ISO)
- Wx_PrvFltValTimestamp()Rückgabe des Filter-Wertes als Zeitmarke Timestamp
Beispiel Prototyp für Funktion Wx_PrvFltValDate
//***************************************************************************************
// Procedure name: Wx_PrvFltValDate
// Purpose: Retrieve previous filter values as Date
// The name of the filter field in the previous program must be passed
// --> Not found/invalid date values: *Loval = '0001-01-01' is returned
// Returns: Filter Value as Date
// Parameters: ParLabel => Label/Filter Name
//****************************************************************************************
DCL-PR Wx_PrvFltValDate Date(*ISO); //Filter Value
ParFltName Like(FldRef.URLLbl) Const Options(*Trim); //Filter Name
End-PR;
Source Code 193: Prototyp für Funktion Wx_PrvFltValDate
Beispiele für den Aufruf:
DCL-DS GblDSFilter Qualified Inz;
SYS_DNAME VarChar(15);
DWTotalIUD Int(10);
DataSizeMB Packed(11: 3);
DatLastUse Date(*ISO);
LastChgTSTim Time(*ISO);
LastUsedTimestp Timestamp;
End-Ds;
// Sonstiger Source Code
GblDSFilter.SYS_DNAME = Wx_PrvFltVal('SYS_DNAME');
GblDSFilter.DWTotalIUD = Wx_PrvFltValInt('DWTotalIUD');
GblDSFilter.DataSizeMB = Wx_PrvFltValDec('DataSizeMB');
GblDSFilter.DatLastUse = Wx_PrvFltValDate('DatLastUse');
GblDSFilter.LastChgTSTim = Wx_PrvFltValTime('LastChgTSTim');
GblDSFilter.LastUsedTimestp = Wx_PrvFltValTimestamp('LastUsedTS');
Source Code 194: Ermitteln Filter-Werte aus vorherigem Work-Programm