讀取銷售訂單長文本(Read_text)
石頭 十二月 28, 2015 函數 3,899 views 0
[隱藏]
1, 簡介
SAP中有很多地方用到了長文本,這些長文本保存在表STXL和STXH裏面,STXH保存擡頭長文本,STXL保存行項目的.需要通過函數READ_TEXT去讀取長文本.
2, 查看銷售訂單長文本
可以在VA03中看到銷售訂單的擡頭和行項目長文本:
擡頭長文本:
長文本log中的object 和 ID在調用函數Read_text時用到
3, 例子代碼
以讀取銷售行項目長文本爲例:
讀取上圖中銷售訂單60000649行項目200的delivery text的長文本
ABAP
DATA: l_id TYPE thead-tdid, l_language TYPE thead-tdspras, l_name TYPE thead-tdname, l_object TYPE thead-tdobject. DATA:it_line TYPE STANDARD TABLE OF tline. l_id = '0004'. l_language = '1'. " 'E' for English CONCATENATE '0060000649' "SO '000200' "Item INTO l_name. l_object = 'VBBP'. CALL FUNCTION 'READ_TEXT' EXPORTING client = sy-mandt id = l_id language = l_language name = l_name object = l_object TABLES lines = it_line EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. IF sy-subrc = 0. ENDIF.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
DATA: l_id TYPE thead-tdid, l_language TYPE thead-tdspras, l_name TYPE thead-tdname, l_object TYPE thead-tdobject. DATA:it_line TYPE STANDARD TABLE OF tline.
l_id = '0004'. l_language = '1'. " 'E' for English CONCATENATE '0060000649' "SO '000200' "Item INTO l_name. l_object = 'VBBP'.
CALL FUNCTION 'READ_TEXT' EXPORTING client = sy-mandt id = l_id language = l_language name = l_name object = l_object TABLES lines = it_line EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. IF sy-subrc = 0.
ENDIF. |
4, 測試結果
debug可以看到長文本已經讀取到內表it_line中