【转载】ABAP 字符串 ‘‘ || `` 区别
轉載學習一下,正好用到,謝謝。
DATA ts TYPE TABLE OF string. ts = VALUE #( ( 'A' ) ).會報錯的問題,報錯為類型沖突。
從而重新理解了char以及string,字符串操作的幾個符號。
首先,abap對string的定義為:a text string literal,這是個deep的結構。 char類型的定義為A text field literal,是個常規結構。
我們先分析'' ``的區別,從abap關鍵字文檔查詢可知:
| Syntax | Name | Possible Characters |
| '...' | Text field literal | String of any alphanumeric characters. The data type is?c with the length of the enclosed characters (including trailing blanks).? |
| `...` | Text string literal | String of any alphanumeric characters. The data type is?string. A text string literal can have a maximum of 255 characters.? |
?由上可知,' '的本意為創建一個c類型,所以我們常用的string = ' '.其實都是不規范的,這是創建了一個C類型強行賦值給了string,正規的寫法應該是string = ``.
當然了,我們對abap程序的要求向來都是能用就行...
接下來是||,測試可知,||用來創建也是不會錯的,那||是個什么東西呢?
最初我只是用||來拼接字符串(很好用),用來替代&,從未考慮過深層次的東西。
這回我認真查了一發??吹搅诉@么一句話:new syntax form of string template |{}|
從string template我們可知,這東西的目的就是構造一個string
The purpose of a string template is to create a new character string out of literal texts and embedded expressions.
簡單翻譯就是,這玩意就是用文本加內嵌的表達式({變量})創建一個新的string。
綜上,我們可以更合理的使用這三個符號,從而讓我們的程序變得更加規范和美觀。
總結
以上是生活随笔為你收集整理的【转载】ABAP 字符串 ‘‘ || `` 区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学习笔记】SAP CO成本估算相关
- 下一篇: 【转载】增强中调用BAPI并COMMIT