Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SDF-STRUCTURE-VALUE( ) Wert einer Struktur ausgeben

&pagelevel(3)&pagelevel

Anwendungsgebiet: Stringfunktionen / Prüffunktionen

Die Funktion SDF-STRUCTURE-VALUE( ) liefert den Inhalt einer SDF-Struktur teilweise oder ganz.

Format

SDF-STRUCTURE-VALUE( )

STRING = string_ausdruck

,OPERAND-NAME = *ROOT / string_ausdruck / arithm_ausdruck

,ATTACHED-STRUCTURE = *YES / *NO

Ergebnistyp

STRING (<string>)

Eingabeparameter

STRING = string_ausdruck
Name des Strings, der analysiert werden soll. Er wird intern durch IS-SDF-STRUCTURE( ) geprüft. Siehe deshalb die Beschreibung dieser Funktion.

OPERAND-NAME = *ROOT / string_ausdruck / arithm_ausdruck
Name des Operanden bzw. Position, wo der Wert zu finden ist.
Es werden nur die direkt angesprochenen Operanden untersucht bzw. die Operanden der direkt angesprochenen Ebene. Andere Operanden bzw. Operanden anderer Ebenen müssen extra angesprochen werden.

ATTACHED-STRUCTURE= *YES / *NO
Gibt an, ob die betroffene Struktur angegeben werden soll oder nicht.

Ergebnis

Gewünschter Ausdruck als String

Fehlermeldungen

SDP0460   DER EINGEGEBENE STRING IST KEINE STRUKTUR 
SDP0461   NUMERISCHER OPERANDENWERT MUSS GR0ESSER NULL SEIN
SDP0462   '(&00)' IST KEIN STRUKTURNAME 
SDP0463   DER ANGEGEBENE OPERAND '(&00)' IST UNBEKANNT
SDP0464   OPERANDENANGABE ENTHAELT ZU VIELE MEHRDEUTIGKEITEN 
SDP0465   OPERAND VOM TYP BOOLEAN HIER UNZULAESSIG 

Beispiel 1

/START-SDF-A
//OPEN syssdf.myuser,type=user,mode=create
//ADD-CMD my-cmd-1,IMPL=*PROC('myproc')
//ADD-OPERAND op
//ADD-VALUE *NAME
//ADD-VALUE *KEYWORD(STAR=*MANDATORY),STRUCTURE=*YES,VALUE='PARAMETERS'
//ADD-OPERAND op1,RESULT-OPERAND-LEVEL=2
//ADD-VALUE *NAME
//ADD-OPERAND op2,RESULT-OPERAND-LEVEL=2
//ADD-VALUE *FILENAME
//CLOSE-STRUCTURE
//END
Zunächst wird eine SDF-Syntaxdatei mit dem Namen SYSSDF.MYUSER angelegt, in 
der anschließend das  Kommando MY-CMD-1 definiert wird. Dieses  Kommando ist 
durch die Prozedur MYPROC implementiert (siehe SDF-A-Anweisung //ADD-CMD). 

Inhalt der Prozedur MYPROC:

/SET-PROCEDURE-OPTIONS "Procedure: myproc"
/BEGIN-PARAMETER-DECLARATION
/   DECLARE-PARAMETER op
/END-PARAMETER-DECLARATION
/value=SDF-STRUCTURE-VALUE(op,*ROOT,*NO)
/WRITE-TEXT 'root value : &value'
/value=SDF-STRUCTURE-VALUE(op,'OP1')
/WRITE-TEXT 'operand op1 value : &value'
/value=SDF-STRUCTURE-VALUE(op,'OP2')
/WRITE-TEXT 'operand op1 value : &value'
/EXIT-PROCEDURE

Um das Kommando MY-CMD-1 aufzurufen, muss die Syntaxdatei aktiviert werden:

/MODIFY-SDF-OPTIONS *ADD(ADD-NANE=syssdf.myuser)

Aufruf des Kommandos MY-CMD-1:

/MY-CMD-1 OP=*PARAMETERS(OP1=VALUE1,OP2=VALUE2)

Ausgabe

root value: *PARAMETERS
operand op1 value: VALUE1
operand op2 value: VALUE2

Das Kommando MY-CMD-1 ruft die Prozedur MYPROC auf und liefert die Inhalte der angegebenen Struktur OP zurück.

Beispiel 2

/A='*PARAMETERS(OP1=val1(OP11=val11,OP12=val12),OP2=val2(val21,val22))'
/B=SDF-STRUCTURE-VALUE(A,'OP1',*YES)
/SHOW-VAR B
B=val1(OP11=val11,OP12=val12)
/C=SDF-STRUCTURE-VALUE(B,'OP11')
/SHOW-VAR C
C=val11
/D=SDF-STRUCTURE-VALUE(B,2)
/SHOW-VAR D
D=val12