SAP長文字讀取
長文字涉及到兩個表格:
STXH(擡頭),STXL(行專案)中。
1 讀取方法 READ_TEXT ,結果放在一個表中,迴圈讀出
2 難點: 引數查詢
方法: 先維護一個,然後在底表 STXH中 按時間找到那一條,然後就可以知道引數了。
3 容易遺漏的語言問題
3.1 先從 stxh 讀取語言
3.2 CONVERSION_EXIT_ISOLA_INPUT 轉換為 READ_TEXT 需要的 language引數
讀取函式
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = lv_id
language = lv_langu
name = lv_name
object = 'VBBP'
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
* OLD_LINE_COUNTER =
TABLES
lines = lt_tline
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.
* Implement suitable error handling here
ENDIF.
LOOP AT lt_tline .
IF gs_out_item-bz1 IS INITIAL.
gs_out_item-bz1 = lt_tline-tdline.
ELSE.
CONCATENATE gs_out_item-bz1 lt_tline-tdline INTO gs_out_item-bz1.
ENDIF.
ENDLOOP.
查詢函式引數
容易遺漏的語言問題
CLEAR: lv_tdspras.
SELECT SINGLE tdspras INTO lv_tdspras
FROM stxh
WHERE tdname = gs_out-vbeln AND tdobject = 'VBBK' .
CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT'
EXPORTING
input = lv_tdspras
IMPORTING
output = lv_langu
EXCEPTIONS
unknown_language = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.