The document contains code for an ABAP report that reads text objects from different tables and structures them into internal tables for output. It selects data from various material and order tables, structures the data, assigns text IDs and reads the corresponding text values to output on subsequent screens.
The document contains code for an ABAP report that reads text objects from different tables and structures them into internal tables for output. It selects data from various material and order tables, structures the data, assigns text IDs and reads the corresponding text values to output on subsequent screens.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as TXT, PDF, TXT or read online from Scribd
The document contains code for an ABAP report that reads text objects from different tables and structures them into internal tables for output. It selects data from various material and order tables, structures the data, assigns text IDs and reads the corresponding text values to output on subsequent screens.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as TXT, PDF, TXT or read online from Scribd
*& * *&---------------------------------------------------------------------* *& * *& * *&---------------------------------------------------------------------* REPORT ZBC_READTEXT . DATA: BEGIN OF LTEXT OCCURS 50. INCLUDE STRUCTURE TLINE. DATA: END OF LTEXT. "Material: | "MATK" | MANDT+RSNUM+RSPOS | "AUFK" DATA: BEGIN OF MATK_STRU, RSNUM TYPE RESB-RSNUM, RSPOS TYPE RESB-RSPOS, AUFNR TYPE RESB-AUFNR, TDOBJECT TYPE THEAD-TDOBJECT ,"VALUE 'AUFK', TDNAME TYPE THEAD-TDNAME, TDID TYPE THEAD-TDID," VALUE 'MATK', TDSPRAS TYPE THEAD-TDSPRAS. INCLUDE STRUCTURE TLINE. DATA: END OF MATK_STRU. DATA: BEGIN OF STRU, AUFNR TYPE AUFK-AUFNR, MATNR TYPE AFPO-AUFNR, AUFPL TYPE AFVC-AUFPL, END OF STRU. DATA ITAB LIKE STANDARD TABLE OF STRU. SELECT B~AUFNR B~MATNR INTO CORRESPONDING FIELDS OF TABLE ITAB FROM AUFK AS A INNER JOIN AFPO AS B ON A~AUFNR = B~AUFNR WHERE B~MATNR NE ''. DATA MATK_ITAB LIKE STANDARD TABLE OF MATK_STRU. SELECT RSNUM RSPOS AUFNR FROM RESB INTO TABLE MATK_ITAB FOR ALL ENTRIES IN ITAB WHERE AUFNR EQ ITAB-AUFNR . LOOP AT MATK_ITAB INTO MATK_STRU . MATK_STRU-TDNAME = SY-MANDT. MATK_STRU-TDNAME+3 = MATK_STRU-RSNUM. MATK_STRU-TDNAME+13 = MATK_STRU-RSPOS. MODIFY MATK_ITAB FROM MATK_STRU. ENDLOOP. DATA :BEGIN OF STXH_S, TDNAME TYPE STXH-TDNAME, TDOBJECT TYPE STXH-TDOBJECT, TDID TYPE STXH-TDID, TDSPRAS TYPE STXH-TDSPRAS, END OF STXH_S. DATA STXH_IT LIKE STANDARD TABLE OF STXH_S. SELECT * FROM STXH INTO CORRESPONDING FIELDS OF TABLE STXH_IT WHERE TDOBJECT = 'AUFK' AND TDID = 'MATK' OR TDID = 'AVOT' OR TDID = 'KOPF'. LOOP AT STXH_IT INTO STXH_S. LOOP AT MATK_ITAB INTO MATK_STRU. IF MATK_STRU-TDNAME EQ STXH_S-TDNAME. MATK_STRU-TDID = STXH_S-TDID. MATK_STRU-TDOBJECT = STXH_S-TDOBJECT. MATK_STRU-TDSPRAS = STXH_S-TDSPRAS. MODIFY MATK_ITAB FROM MATK_STRU. ENDIF. ENDLOOP. ENDLOOP. LOOP AT MATK_ITAB INTO MATK_STRU. IF MATK_STRU-TDID EQ ''. DELETE TABLE MATK_ITAB FROM MATK_STRU. ENDIF. ENDLOOP. LOOP AT MATK_ITAB INTO MATK_STRU. CALL FUNCTION 'READ_TEXT' EXPORTING ID = MATK_STRU-TDID LANGUAGE = MATK_STRU-TDSPRAS NAME = MATK_STRU-TDNAME OBJECT = MATK_STRU-TDOBJECT TABLES LINES = LTEXT EXCEPTIONS NOT_FOUND = 4 . IF SY-SUBRC EQ 0. READ TABLE LTEXT INDEX 1. MATK_STRU-TDLINE = LTEXT-TDLINE. MODIFY MATK_ITAB FROM MATK_STRU . WRITE LTEXT-TDLINE. ENDIF. WRITE LTEXT-TDLINE. MODIFY MATK_ITAB FROM MATK_STRU . ENDLOOP. LOOP AT LTEXT. WRITE LTEXT-TDLINE. "MODIFY MATK_ITAB FROM MATK_STRU INDEX SY-TABIX TRANSPORTING TDLINE. ENDLOOP. DATA: BEGIN OF KOPF_STRU, AUFNR TYPE AUFK-AUFNR, TDOBJECT TYPE THEAD-TDOBJECT ,"VALUE 'AUFK', TDNAME TYPE THEAD-TDNAME, TDID TYPE THEAD-TDID," VALUE 'MATK', TDSPRAS TYPE THEAD-TDSPRAS. INCLUDE STRUCTURE TLINE. DATA: END OF KOPF_STRU. DATA KOPF_ITAB LIKE STANDARD TABLE OF KOPF_STRU.
SELECT AUFNR FROM AUFK INTO TABLE KOPF_ITAB
FOR ALL ENTRIES IN ITAB WHERE AUFNR EQ ITAB-AUFNR . LOOP AT KOPF_ITAB INTO KOPF_STRU . MATK_STRU-TDNAME = SY-MANDT. MATK_STRU-TDNAME+3 = MATK_STRU-AUFNR. MODIFY KOPF_ITAB FROM KOPF_STRU. ENDLOOP. LOOP AT STXH_IT INTO STXH_S. LOOP AT KOPF_ITAB INTO KOPF_STRU. IF KOPF_STRU-TDNAME EQ STXH_S-TDNAME. KOPF_STRU-TDID = STXH_S-TDID. KOPF_STRU-TDOBJECT = STXH_S-TDOBJECT. KOPF_STRU-TDSPRAS = STXH_S-TDSPRAS. MODIFY KOPF_ITAB FROM KOPF_STRU. ENDIF. ENDLOOP. ENDLOOP.
LOOP AT KOPF_ITAB INTO KOPF_STRU.
IF KOPF_STRU-TDID EQ ''. DELETE TABLE KOPF_ITAB FROM KOPF_STRU. ENDIF. ENDLOOP. BREAK-POINT. LOOP AT KOPF_ITAB INTO KOPF_STRU. CALL FUNCTION 'READ_TEXT' EXPORTING ID = KOPF_STRU-TDID LANGUAGE = KOPF_STRU-TDSPRAS NAME = KOPF_STRU-TDNAME OBJECT = KOPF_STRU-TDOBJECT TABLES LINES = LTEXT EXCEPTIONS NOT_FOUND = 4 . IF SY-SUBRC EQ 0. READ TABLE LTEXT INDEX 1. KOPF_STRU-TDLINE = LTEXT-TDLINE. MODIFY KOPF_ITAB FROM KOPF_STRU . WRITE LTEXT-TDLINE. ENDIF. WRITE LTEXT-TDLINE. MODIFY KOPF_ITAB FROM KOPF_STRU . ENDLOOP. BREAK-POINT. LOOP AT LTEXT. WRITE LTEXT-TDLINE. "MODIFY MATK_ITAB FROM MATK_STRU INDEX SY-TABIX TRANSPORTING TDLINE. ENDLOOP. DATA: BEGIN OF AVOT_STRU, AUFNR TYPE AUFK-AUFNR, AUFPL TYPE AFVC-AUFPL, APLZL TYPE AFVC-APLZL, TDOBJECT TYPE THEAD-TDOBJECT ,"VALUE 'AUFK', TDNAME TYPE THEAD-TDNAME, TDID TYPE THEAD-TDID, " VALUE 'MATK', TDSPRAS TYPE THEAD-TDSPRAS. INCLUDE STRUCTURE TLINE. DATA: END OF AVOT_STRU. DATA AVOT_ITAB LIKE STANDARD TABLE OF AVOT_STRU. SELECT B~AUFNR B~MATNR D~AUFPL INTO CORRESPONDING FIELDS OF TABLE ITAB FROM AUFK AS A INNER JOIN AFPO AS B ON A~AUFNR = B~AUFNR INNER JOIN AFKO AS C ON B~AUFNR = C~AUFNR INNER JOIN AFVC AS D ON D~AUFPL = C~AUFPL WHERE B~MATNR NE ''. SELECT AUFPL APLZL FROM AFVC INTO TABLE AVOT_ITAB FOR ALL ENTRIES IN ITAB WHERE AUFPL EQ ITAB-AUFPL . BREAK-POINT. *LOOP AT MATK_ITAB INTO MATK_STRU . *AVOT_STRU-TDNAME = SY-MANDT. *AVOT_STRU-TDNAME+3 = AVOT_STRU-AUFPL. *AVOT_STRU-TDNAME+13 = AVOT_STRU-APLZL. *MODIFY AVOT_ITAB FROM AVOT_STRU. *ENDLOOP. * *"510-0000005953-00000001 * *LOOP AT STXH_IT INTO STXH_S. * LOOP AT AVOT_ITAB INTO AVOT_STRU. * IF AVOT_STRU-TDNAME EQ STXH_S-TDNAME. * AVOT_STRU-TDID = STXH_S-TDID. * AVOT_STRU-TDOBJECT = STXH_S-TDOBJECT. * AVOT_STRU-TDSPRAS = STXH_S-TDSPRAS. * MODIFY AVOT_ITAB FROM AVOT_STRU. * ENDIF. * ENDLOOP. * ENDLOOP. * * *LOOP AT AVOT_ITAB INTO AVOT_STRU. * IF AVOT_STRU-TDID EQ ''. * DELETE TABLE AVOT_ITAB FROM AVOT_STRU. * ENDIF. *ENDLOOP.