Zoeken…
literals
ABAP biedt drie verschillende operatoren voor het declareren van string- of char-like-variabelen
| Symbolen | Intern type | Lengte | Naam |
|---|---|---|---|
| '...' | C | 1-255 tekens | tekstveld letterlijk |
| `...` | CString | 0-255 tekens | tekst string literals |
| | ... | | CString | 0-255 tekens | sjabloon literals |
Merk op dat het lengtebereik alleen van toepassing is op hard gecodeerde waarden. Intern hebben CString -variabelen een willekeurige lengte, terwijl variabelen van het type C altijd een vaste lengte hebben.
String-sjablonen
String-sjablonen zijn een handige manier om letterlijke strings te combineren met waarden uit variabelen:
WRITE |Hello, { lv_name }, nice to meet you!|.
Het kan ook dingen zoals datums opmaken. Om de aangemelde datumnotatie van de gebruiker te gebruiken:
WRITE |The order was completed on { lv_date DATE = USER } and can not be changed|.
Functionele methode-aanroepen en expressies worden ondersteund:
WRITE |Your token is { to_upper( lv_token ) }|.
WRITE |Version is: { cond #( when lv_date < sy-datum then 'out of date' else 'up to date' ) }|.
Aandacht! Direct implementeren van tijdelijke resultaten (zoals methode-oproepen) binnenkant van de string templates kan leiden tot massale problemen met de prestaties (lees er meer over hier ). Hoewel het goed is om het binnen zelden uitgevoerde instructies te gebruiken, zorgt het ervoor dat je programma snel in loops wordt vertraagd.
Tekenreeksen samenvoegen
String- en tekenachtige variabelen kunnen worden samengevoegd met de opdracht ABAP CONCATENATE . Een extra variabele voor het opslaan van de resultaten is vereist.
Voorbeeld:
CONCATENATE var1 var2 var3 INTO result.
"result now contains the values of var1, var2 & var3 stringed together without spaces
steno
Nieuwere versies van ABAP bieden een zeer korte variant van aaneenschakeling met && (Chaining-operator).
DATA(lw_result) = `Sum: ` && lw_sum.
Aandacht! Het is de moeite waard opmerken, dat het gebruik van tijdelijke resultaten in combinatie met de chaining operator binnenkant van loops kan leiden tot massale problemen met de prestaties als gevolg van groeiende exemplaar instructies (lees er meer over hier ).