Sök…
litteraler
ABAP erbjuder tre olika operatörer för att deklarera sträng- eller kol-liknande-variabler
| symboler | Intern typ | Längd | namn |
|---|---|---|---|
| '...' | C | 1-255 Chars | textfältbokstäver |
| `...` | CString | 0-255 Chars | text sträng bokstäver |
| | ... | | CString | 0-255 Chars | mall bokstäver |
Observera att längdintervallet endast gäller hårdkodade värden. Internt CString variationer har godtycklig längd medan variabler av typ C alltid har en fast längd.
Strängmallar
Strängmallar är ett bekvämt sätt att blanda bokstavliga strängar med värden från variabler:
WRITE |Hello, { lv_name }, nice to meet you!|.
Det kan också formatera saker som datum. Så här använder du den inloggade användarens datumformat:
WRITE |The order was completed on { lv_date DATE = USER } and can not be changed|.
Funktionella metodsamtal och uttryck stöds:
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' ) }|.
Uppmärksamhet! Genom att direkt implementera tillfälliga resultat (som metodsamtal) inuti strängmallarna kan det leda till stora prestandaproblem (läs mer om det här ). Det är okej att använda det inuti sällan utförda uttalanden, men det gör att ditt program snabbt avtar i öglor.
Slå samman strängar
Sträng- och char-liknande variabler kan sammanlänkas med ABAP CONCATENATE kommandot. En extra variabel för att lagra resultaten krävs.
Exempel:
CONCATENATE var1 var2 var3 INTO result.
"result now contains the values of var1, var2 & var3 stringed together without spaces
Stenografi
Nyare versioner av ABAP erbjuder en mycket kort variant av sammankoppling med && (Chaining operator).
DATA(lw_result) = `Sum: ` && lw_sum.
Uppmärksamhet! Det är värt att notera att användning av tillfälliga resultat i kombination med Chaining-operatörens insida i slingor kan leda till stora prestandaproblem på grund av växande kopieringsinstruktioner (läs mer om det här ).