0% found this document useful (0 votes)
134 views5 pages

Read

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.

Uploaded by

bcganesh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
134 views5 pages

Read

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.

Uploaded by

bcganesh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

*&---------------------------------------------------------------------*

*& Report ZBC_READTEXT *


*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
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.

You might also like