*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!