SELECT VBAK~VBELN VBAK~KUNNR VBAK~VKORG VBAK~VTWEG VBAK~SPART INTO (INTAB-VBELN , INTAB-KUNNR , INTAB-VKORG , INTAB-VTWEG , INTAB-SPART) FROM VBAK
WHERE VBELN IN P_VBELN
AND KUNNR IN P_KUNNR
AND VKORG IN P_VKORG.
APPEND INTAB.
CLEAR INTAB .
ENDSELECT.
LOOP AT INTAB .
MARKI = 1 .
INTAB1 = INTAB.
*訂單表頭內文-0002正嘜内文
VBELNTEXT = INTAB-VBELN .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = '0002'
LANGUAGE = 'M'
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.
IF LTEXT IS INITIAL. "--------------------------------------zhujiang20110412
CONCATENATE INTAB-KUNNR INTAB-VKORG INTAB-VTWEG INTAB-SPART INTO NAME.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = '0002'
LANGUAGE = 'M'
NAME = NAME
OBJECT = 'KNVV'
* 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.
ENDIF."-------------------------------------------
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
IF LTEXT-TDLINE <> '(IN DIA.)' .
CASE MARKI .
WHEN 1 .
INTAB1-MARK1 = LTEXT-TDLINE.
WHEN 2.
INTAB1-MARK3 = LTEXT-TDLINE.
WHEN 3 .
INTAB1-MARK4 = LTEXT-TDLINE.
WHEN 4 .
INTAB1-MARK5 = LTEXT-TDLINE.
WHEN 5 .
INTAB1-MARK6 = LTEXT-TDLINE.
WHEN 6 .
INTAB1-MARK7 = LTEXT-TDLINE.
ENDCASE .
MARKI = MARKI + 1 .
ELSE .
ENDIF .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
* CLEAR DTEXT .
CLEAR LTEXT .
* REFRESH DTEXT .
REFRESH LTEXT .
*沒維護英文内文
IF INTAB1-MARK1 = '' .
MARKI = 1 .
VBELNTEXT = INTAB-VBELN .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = '0002'
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.
IF LTEXT[] IS INITIAL. "---------------------------------------zhujiang20110412
CONCATENATE INTAB-KUNNR INTAB-VKORG INTAB-VTWEG INTAB-SPART INTO NAME.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = '0002'
LANGUAGE = 'E'
NAME = NAME
OBJECT = 'KNVV'
* 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.
ENDIF. "-----------------------------------------------------------------
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
IF LTEXT-TDLINE <> '(IN DIA.)' .
CASE MARKI .
WHEN 1 .
INTAB1-MARK1 = LTEXT-TDLINE.
WHEN 2.
INTAB1-MARK3 = LTEXT-TDLINE.
WHEN 3 .
INTAB1-MARK4 = LTEXT-TDLINE.
WHEN 4 .
INTAB1-MARK5 = LTEXT-TDLINE.
WHEN 5 .
INTAB1-MARK6 = LTEXT-TDLINE.
WHEN 6 .
INTAB1-MARK7 = LTEXT-TDLINE.
ENDCASE .
MARKI = MARKI + 1 .
ELSE .
ENDIF .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
* CLEAR DTEXT .
CLEAR LTEXT .
* REFRESH DTEXT .
REFRESH LTEXT .
ENDIF .
INTAB1-MARKT = '正嘜' .
INTAB1-MARKNUM = P_NUMBER * NUMBER1 .
INTAB1-MARK2 = '(IN DIA.)' .
APPEND INTAB1 .
*側嘜信息
MARKI = 1 .
INTAB1 = INTAB .
*訂單表頭內文-0002正嘜内文
VBELNTEXT = INTAB-VBELN .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'A003'
LANGUAGE = 'M'
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.
IF LTEXT[] IS INITIAL. "--------------------------zhujiang20110412
CONCATENATE INTAB-KUNNR INTAB-VKORG INTAB-VTWEG INTAB-SPART INTO NAME.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'A003'
LANGUAGE = 'M'
NAME = NAME
OBJECT = 'KNVV'
* 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.
ENDIF."----------------------------------
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
* IF LTEXT-TDLINE <> '(IN DIA.)' .
CASE MARKI .
WHEN 1 .
INTAB1-MARK1 = LTEXT-TDLINE.
WHEN 2.
INTAB1-MARK2 = LTEXT-TDLINE.
WHEN 3 .
INTAB1-MARK3 = LTEXT-TDLINE.
WHEN 4 .
INTAB1-MARK4 = LTEXT-TDLINE.
WHEN 5 .
INTAB1-MARK5 = LTEXT-TDLINE.
WHEN 6 .
INTAB1-MARK6 = LTEXT-TDLINE.
ENDCASE .
MARKI = MARKI + 1 .
* ELSE .
* ENDIF .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
* CLEAR DTEXT .
CLEAR LTEXT .
* REFRESH DTEXT .
REFRESH LTEXT .
IF INTAB1-MARK1 = '' .
MARKI = 1 .
*訂單表頭內文-0002正嘜内文
VBELNTEXT = INTAB-VBELN .
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'A003'
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.
IF LTEXT IS INITIAL. "---------------------------------------zhujiang20110412
CONCATENATE INTAB-KUNNR INTAB-VKORG INTAB-VTWEG INTAB-SPART INTO NAME.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = 'A003'
LANGUAGE = 'E'
NAME = NAME
OBJECT = 'KNVV'
* 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.
ENDIF."------------------------------
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
CONDENSE LTEXT-TDLINE.
* IF LTEXT-TDLINE <> '(IN DIA.)' .
CASE MARKI .
WHEN 1 .
INTAB1-MARK1 = LTEXT-TDLINE.
WHEN 2.
INTAB1-MARK2 = LTEXT-TDLINE.
WHEN 3 .
INTAB1-MARK3 = LTEXT-TDLINE.
WHEN 4 .
INTAB1-MARK4 = LTEXT-TDLINE.
WHEN 5 .
INTAB1-MARK5 = LTEXT-TDLINE.
WHEN 6 .
INTAB1-MARK6 = LTEXT-TDLINE.
ENDCASE .
MARKI = MARKI + 1 .
* ELSE .
* ENDIF .
ENDIF.
ENDLOOP.
CLEAR HTEXT .
* CLEAR DTEXT .
CLEAR LTEXT .
* REFRESH DTEXT .
REFRESH LTEXT .
ENDIF .
INTAB1-MARKNUM = P_NUMBER * NUMBER2 .
INTAB1-MARKT = '側嘜' .
* INTAB1-MARK2 = '(IN DIA.)' .
IF INTAB1-MARK1 <> '' .
APPEND INTAB1 .
ENDIF .
ENDLOOP .
* 刪除不需要内容
IF C1 <> 'X' .
DELETE INTAB1 WHERE MARKT = '正嘜'.
ENDIF .
IF C2 <> 'X' .
DELETE INTAB1 WHERE MARKT = '側嘜'.
ENDIF .
* 打印张数
LOOP AT INTAB1 .
IF INTAB1-MARK1 <> '' .
MARKNUM1 = INTAB1-MARKNUM .
DO MARKNUM1 TIMES.
INTABP = INTAB1 .
APPEND INTABP .
ENDDO .
ELSE .
INTABP = INTAB1 .
INTABP-MARK1 = '唛头信息没有维护完整' .
APPEND INTABP .
ENDIF .
MARKNUM1 = 0 .
ENDLOOP .