SAP READ_TEXT函数的用法
*訂單表頭內文(JOHNSON)VBELNTEXT = INTAB-VBELN .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = '0001'
LANGUAGE = 'E'
NAME =VBELNTEXT
OBJECT = 'VBBK'
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
CONCATENATE INTAB-VBELNTEXT LTEXT-TDLINE INTO INTAB-VBELNTEXT SEPARATED BY ' ' .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
CLEAR DTEXT .
CLEAR LTEXT .
REFRESH DTEXT .
REFRESH LTEXT .
*訂單表頭內文
VBELNTEXT = INTAB-VBELN .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'Z008'
LANGUAGE = 'E'
NAME =VBELNTEXT
OBJECT = 'VBBK'
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
CONCATENATE INTAB-VBELNTEXT2 LTEXT-TDLINEINTO INTAB-VBELNTEXT2 SEPARATED BY ' ' .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
CLEAR DTEXT .
CLEAR LTEXT .
REFRESH DTEXT .
REFRESH LTEXT .
*厰務備註
VBELNTEXT = INTAB-VBELN .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = '0003'
LANGUAGE = 'E'
NAME =VBELNTEXT
OBJECT = 'VBBK'
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
CONCATENATE INTAB-VBELNTEXT5 LTEXT-TDLINEINTO INTAB-VBELNTEXT5 SEPARATED BY ' ' .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
CLEAR DTEXT .
CLEAR LTEXT .
REFRESH DTEXT .
REFRESH LTEXT .
*訂單ITEM內文
CONCATENATE INTAB-VBELN INTAB-POSNR INTO VBELNTEXT .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = '0001'
LANGUAGE = 'E'
NAME =VBELNTEXT
OBJECT = 'VBBP'
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
CONCATENATE INTAB-VBELNTEXT1 LTEXT-TDLINEINTO INTAB-VBELNTEXT1 SEPARATED BY ' ' .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
CLEAR DTEXT .
CLEAR LTEXT .
REFRESH DTEXT .
REFRESH LTEXT .
*採購單内文
CONCATENATE INTAB-VBELN INTAB-POSNR INTO VBELNTEXT .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = '0005'
LANGUAGE = 'E'
NAME =VBELNTEXT
OBJECT = 'VBBP'
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
CONCATENATE INTAB-VBELNTEXT3 LTEXT-TDLINEINTO INTAB-VBELNTEXT3 SEPARATED BY ' ' .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
CLEAR DTEXT .
CLEAR LTEXT .
REFRESH DTEXT .
REFRESH LTEXT .
*客戶原始交期
CONCATENATE INTAB-VBELN INTAB-POSNR INTO VBELNTEXT .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'Z019'
LANGUAGE = 'E'
NAME =VBELNTEXT
OBJECT = 'VBBP'
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
CONCATENATE INTAB-VBELNTEXT7 LTEXT-TDLINEINTO INTAB-VBELNTEXT7 SEPARATED BY ' ' .
ENDIF.
ENDLOOP.
CONDENSEINTAB-VBELNTEXT7 .
IF INTAB-VBELNTEXT7 NE '' .
IF STRLEN( INTAB-VBELNTEXT7 ) EQ 8.
CONCATENATEINTAB-VBELNTEXT7+0(4)INTAB-VBELNTEXT7+4(2)INTAB-VBELNTEXT7+6(2) INTO INTAB-VBELNTEXT7SEPARATED BY'/'.
ELSE.
INTAB-VBELNTEXT7= '不符合日期格式YYYYMMDD'.
ENDIF .
MOVE 'Y' TOINTAB-WITHRDAT .
ENDIF .
CLEAR HTEXT .
CLEAR DTEXT .
CLEAR LTEXT .
REFRESH DTEXT .
REFRESH LTEXT .
IF INTAB-VBELNTEXT7 = '' .
MOVE INTAB-VBELN TO VBELNTEXT .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'Z036'
LANGUAGE = 'E'
NAME =VBELNTEXT
OBJECT = 'VBBK'
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
CONCATENATE INTAB-VBELNTEXT7 LTEXT-TDLINEINTO INTAB-VBELNTEXT7 SEPARATED BY ' ' .
ENDIF.
ENDLOOP.
CONDENSEINTAB-VBELNTEXT7 .
IF INTAB-VBELNTEXT7 NE '' .
IF STRLEN( INTAB-VBELNTEXT7 ) EQ 8.
CONCATENATEINTAB-VBELNTEXT7+0(4)INTAB-VBELNTEXT7+4(2)INTAB-VBELNTEXT7+6(2) INTO INTAB-VBELNTEXT7SEPARATED BY'/'.
ELSE.
INTAB-VBELNTEXT7= '不符合日期格式YYYYMMDD'.
ENDIF .
MOVE 'Y' TOINTAB-WITHRDAT .
ENDIF .
CLEAR HTEXT .
CLEAR DTEXT .
CLEAR LTEXT .
REFRESH DTEXT .
REFRESH LTEXT .
IF INTAB-VBELNTEXT7 = '' .
CONCATENATE INTAB-EDATU+0(4) INTAB-EDATU+4(2) INTAB-EDATU+6(2) INTOINTAB-VBELNTEXT7SEPARATED BY'/'.
MOVE 'N' TO INTAB-WITHRDAT .
ENDIF .
ENDIF .
*業務下單給工廠日期
CONCATENATE INTAB-VBELN INTAB-POSNR INTO VBELNTEXT .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'Z020'
LANGUAGE = 'E'
NAME =VBELNTEXT
OBJECT = 'VBBP'
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
CONCATENATE INTAB-VBELNTEXT6 LTEXT-TDLINEINTO INTAB-VBELNTEXT6 SEPARATED BY ' ' .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
CLEAR DTEXT .
CLEAR LTEXT .
REFRESH DTEXT .
REFRESH LTEXT .
IF INTAB-VBELNTEXT6 = '' .
*業務下單給工廠日期(表頭)
VBELNTEXT= INTAB-VBELN.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'Z035'
LANGUAGE = 'E'
NAME =VBELNTEXT
OBJECT = 'VBBK'
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
CONCATENATE INTAB-VBELNTEXT6 LTEXT-TDLINEINTO INTAB-VBELNTEXT6 SEPARATED BY ' ' .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
CLEAR DTEXT .
CLEAR LTEXT .
REFRESH DTEXT .
REFRESH LTEXT .
ENDIF .
页:
[1]