*TRIM
(operand
|
|
, |
|
|
|
)
|
Format/Länge: wie bei operand (A
oder B)/DYNAMIC.
Die folgenden Themen werden behandelt:
Die Systemfunktion *TRIM dient zum Entfernen von führenden und/oder
nachfolgenden Leerstellen aus einer aphanumerischen oder binären Zeichenkette. Der
Inhalt von operand bleibt dabei unverändert. Bei
Verwendung einer dynamischen Variablen als operand, wird die
Länge dieser Variablen dem Ergebnis entsprechend angepasst.
Die Systemfunktion *TRIM kann als operand an
jeder Stelle eines Statements angegeben werden, an der ein Operand mit Format A oder B
zulässig ist.
Für die Verwendung der Systemfunktion *TRIM gelten folgende
Einschränkungen:
*TRIM darf nicht an Stellen verwendet werden, an denen eine
Zielvariable erwartet wird.
*TRIM darf nicht in einer anderen Systemfunktion verschachtelt
werden.
Wenn der Operand eine statische Variable ist, kann man mit *TRIM keine
führenden Leerstellen entfernen, weil bei statischen Variablen die verbleibenden
nachfolgenden Stellen des Variablenspeichers mit Leerzeichen aufgefüllt werden.
Operanden-Definitionstabelle:
| Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| operand | C | S | A | A | U | B | ja | nein | ||||||||||||
Syntax-Elementbeschreibung:
DEFINE DATA LOCAL /******************************* /* STATIC VARIABLE DEFINITIONS /******************************* 1 #SRC (A15) INIT <' ab CD '> 1 #DEST (A15) /* FOR PRINT OUT WITH DELIMITERS 1 #SRC-PRN (A20) 1 #DEST-PRN (A20) /******************************* /* DYNAMIC VARIABLE DEFINITIONS /******************************* 1 #DYN-SRC (A)DYNAMIC INIT <' ab CD '> 1 #DYN-DEST (A)DYNAMIC /* FOR PRINT OUT WITH DELIMITERS 1 #DYN-SRC-PRN (A)DYNAMIC 1 #DYN-DEST-PRN (A)DYNAMIC END-DEFINE PRINT 'static variable definition:' PRINT '---------------------------' COMPRESS FULL ':' #SRC ':' TO #SRC-PRN LEAVING NO SPACE PRINT ' ' PRINT ' 123456789012345 123456789012345' MOVE *TRIM(#SRC, LEADING) TO #DEST COMPRESS FULL ':' #DEST ':' TO #DEST-PRN LEAVING NO SPACE DISPLAY #SRC-PRN #DEST-PRN '*TRIM(#SRC, LEADING)' MOVE *TRIM(#SRC, TRAILING) TO #DEST COMPRESS FULL ':' #DEST ':' TO #DEST-PRN LEAVING NO SPACE DISPLAY #SRC-PRN #DEST-PRN '*TRIM(#SRC, TRAILING)' MOVE *TRIM(#SRC) TO #DEST COMPRESS FULL ':' #DEST ':' TO #DEST-PRN LEAVING NO SPACE DISPLAY #SRC-PRN #DEST-PRN '*TRIM(#SRC)' PRINT ' ' PRINT 'dynamic variable definition:' PRINT '----------------------------' COMPRESS FULL ':' #DYN-SRC ':' TO #DYN-SRC-PRN LEAVING NO SPACE PRINT ' ' PRINT ' 1234567890 12345678' MOVE *TRIM(#DYN-SRC, LEADING) TO #DYN-DEST COMPRESS FULL ':' #DYN-DEST ':' TO #DYN-DEST-PRN LEAVING NO SPACE DISPLAY (AL=20) #DYN-SRC-PRN #DYN-DEST-PRN '*TRIM(#SRC, LEADING)' MOVE *TRIM(#DYN-SRC, TRAILING) TO #DYN-DEST COMPRESS FULL ':' #DYN-DEST ':' TO #DYN-DEST-PRN LEAVING NO SPACE DISPLAY (AL=20) #DYN-SRC-PRN #DYN-DEST-PRN '*TRIM(#SRC, TRAILING)' MOVE *TRIM(#DYN-SRC) TO #DYN-DEST COMPRESS FULL ':' #DYN-DEST ':' TO #DYN-DEST-PRN LEAVING NO SPACE DISPLAY (AL=20) #DYN-SRC-PRN #DYN-DEST-PRN '*TRIM(#SRC)' PRINT ' ' PRINT '":" := delimiter character to show the start and ending of a string!' END
Ausgabe:
#SRC-PRN #DEST-PRN -------------------- ----------------------- static variable definition: ---------------------------- 123456789012345 123456789012345 : ab CD : :ab CD : *TRIM(#SRC, LEADING) : ab CD : : ab CD : *TRIM(#SRC, TRAILING) : ab CD : :ab CD : *TRIM(#SRC) dynamic variable definition: ---------------------------- 1234567890 12345678 : ab CD : :ab CD : *TRIM(#SRC, LEADING) : ab CD : : ab CD: *TRIM(#SRC, TRAILING) : ab CD : :ab CD: *TRIM(#SRC) ':' := delimiter character to show the start and ending of a string!