Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Extracting data from iDoc tables

Former Member
0 Likes
7,912

Hi,

I need to extract data from idoc segments from the database tables EDIDC and EDID4 for which the idoc status is 51 and to save all this data in an external file.

For example, I need to check all the iDocs with WPUBON01 base type and if the status is 51 then I have to query the ARTNR field from E1WPB02 segment and to save idoc number and ARTNR in an excel file.

Can anybody help me or give me some example?

Thank you in advance.

Ioan

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
4,741

Hi,

Please try this.


...

DATA: BEGIN OF T_OUTPUT OCCURS 0,
        DOCNUM LIKE EDIDD-DOCNUM,
        ARTNR  LIKE E1WPB02- ARTNR .  
DATA: END OF T_OUTPUT.

DATA: WA_E1WPB02 LIKE E1WPB02.

LOOP AT T_IDOC_DATA WHERE SEGNAM = 'E1WPB02'.
  MOVE T_IDOC_DATA-SDATA TO WA_E1WPB02.
  MOVE T_IDOC_DATA-DOCNUM TO T_OUTPUT-DOCNUM.
  MOVE WA_E1WPB02-ARTNR TO T_OUTPUT-ARTNR.
  APPEND  T_OUTPUT.
ENDLOOP.

* Then download internal table T_OUTPUT to excel.

Regards,

Ferry Lianto

Please reward points if helpful.

7 REPLIES 7
Read only

Former Member
0 Likes
4,741

Hi loan,

READ_OBJECT_VALUE caters to your requirement.

Regards,

Younus

Read only

0 Likes
4,741

Hi,

Can you help me with an ABAP example as I am new in this field?

Thank you,

Ioan

Read only

Former Member
0 Likes
4,741

Hi,

You can use FM IDOC_READ_COMPLETELY to read detail EDIDC and EDID4.


DATA: T_IDOC_CONTROL  LIKE EDIDC  OCCURS 0 WITH HEADER LINE,
      T_IDOC_DATA     LIKE EDIDD  OCCURS 0 WITH HEADER LINE,
      T_IDOC_DATA_WA  LIKE EDIDD  OCCURS 0 WITH HEADER LINE.
                                                                        
SELECT DOCNUM
FROM EDIDC
INTO TABLE T_IDOC_CONTROL
WHERE STATUS EQ '51'
  AND IDOCTP EQ 'WPUBON01'.

LOOP AT T_IDOC_CONTROL.
  REFRESH T_IDOC_DATA_WA.
  CALL FUNCTION 'IDOC_READ_COMPLETELY'
    EXPORTING
      DOCUMENT_NUMBER         = T_IDOC_CONTROL-DOCNUM
    IMPORTING
      IDOC_CONTROL            = T_IDOC_CONTROL
    TABLES
      INT_EDIDD               = T_IDOC_DATA_WA
    EXCEPTIONS
      DOCUMENT_NOT_EXIST      = 1
      DOCUMENT_NUMBER_INVALID = 2
      OTHERS                  = 3.

  IF SY-SUBRC = 0.
    MODIFY T_IDOC_CONTROL.
    APPEND LINES OF T_IDOC_DATA_WA TO T_IDOC_DATA.
  ELSE.
    DELETE T_IDOC_CONTROL.
  ENDIF.
ENDLOOP.

* Then download internal tables T_IDOC_CONTROL and T_IDOC_DATA_WA TO to Excel.

Regards,

Ferry Lianto

Read only

0 Likes
4,741

Thanks,

The code above solved filtering of idocs and extracting of SDATA component of the idoc. But how can I extract just one data field from SDATA because there are many fields in an unstructured format?

Thank you,

Ioan

Read only

Former Member
0 Likes
4,741

See Below Example code :

TYPE-POOLS: slis.

tables : edid4 , edidc ,edids ,lfa1,teds2.

DATA: t_fieldcatalog TYPE slis_t_fieldcat_alv.

DATA: s_fieldcatalog TYPE slis_fieldcat_alv.

DATA: s_layout TYPE slis_layout_alv.

DATA: text11 LIKE E1EDP02.

DATA: text111 LIKE E1MBXYI.

DATA: s_keyinfo TYPE slis_keyinfo_alv.

DATA: v_repid TYPE syrepid.

DATA: V_MSGNO LIKE T100-MSGNR.

*DATA: V_TEXT(90).

DATA : WA_EDIDS TYPE EDIDS.

data : begin of itab_edids occurs 0,

user like edids-UNAME,

date like edids-CREDAT,

time like edids-cretim,

idoc like edids-docnum,

MESSAGETYPE like edidc-MESTYP,

VENDOR LIKE EDIDC-SNDPRN,

name like lfa1-name1,

icon(1),

EXPAND TYPE C,

end of itab_edids.

data : itab type edid4.

data : begin of itab_edidc occurs 0,

doc_num like edidc-docnum,

MESSAGETYPE like edidc-MESTYP,

IDOCTYPE like edidc-DOCTYP,

PARTNERNUMBER like edidc-RCVPRN,

PARTNERTYPE like edidc-RCVPRT,

MESSAGECODE like edidc-MESCOD,

VENDOR LIKE EDIDC-SNDPRN,

data like edidc-credat,

*include structure edidc.

end of itab_edidc.

data : begin of itab_status occurs 0,

idoc like edids-docnum,

date_stauus like edids-logdat,

status_counter like edids-countr,

staTus like edids-status,

*descrp like teds2-descrp,

DESCRP(70),

ponumber like ekpo-ebeln,

MESS LIKE edidc-MESTYP,

*appdoc like edids-stapa1,

end of itab_status.

data : text like edid4-sdata.

DATA: text1 LIKE E1EDK01.

data : begin of itab_teds1 occurs 0.

include structure teds1.

data end of itab_teds1.

*selection-screen begin of block sb with frame title text-001.

*select-options:

  • s_rsdat for edidc-CREDAT.

*

*

*selection-screen end of block sb.

DATA: f_fieldcatalog TYPE slis_fieldcat_alv.

selection-screen begin of block sb with frame title text-001.

parameters:

p_su radiobutton group gp1,

p_re radiobutton group gp1,

p_al radiobutton group gp1.

select-options:

s_rsdat for edids-creDAT,

s_user for edids-uname.

selection-screen end of block sb.

initialization.

PERFORM INITIALIZATION.

start-of-selection.

PERFORM DATA_RETRIVAL.

PERFORM DATA_BASED_SELECTION.

PERFORM PASSING_ALV.

*select docnum mestyp doctyp rcvprn rcvprt mescod credat into

*table itab_edidc from edidc

*where credat in s_rsdat.

*CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

*EXPORTING

*i_program_name = v_repid

*I_INTERNAL_TABNAME = 'ITAB_STATUS'

*CHANGING

*ct_fieldcat = t_fieldcatalog.

*

*

*CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

*EXPORTING

*i_program_name = v_repid

*I_INTERNAL_TABNAME = 'ITAB_EDIDS'

*CHANGING

*ct_fieldcat = t_fieldcatalog.

  • s_LAYOUT-ZEBRA = 'X'.

*s_LAYOUT-SUBTOTALS_TEXT = 'SUBTOTAL'.

*s_LAYOUT-TOTALS_TEXT = 'TOTAL'.

&----


*& Form INITIALIZATION

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM INITIALIZATION.

V_REPID = SY-REPID.

s_keyinfo-header01 = 'IDOC'.

s_keyinfo-item01 = 'IDOC'.

*s_layout-subtotals_text = 'SUBTOTAL TEXT'.

*s_layout-key_hotspot = 'X'.

*s_layout-expand_fieldname = 'EXPAND'.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

i_program_name = V_REPID

I_INTERNAL_TABNAME = 'ITAB_STATUS'

I_INCLNAME = V_repid

CHANGING

ct_fieldcat = T_fieldcatalog

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

i_program_name = V_REPID

I_INTERNAL_TABNAME = 'ITAB_EDIDS'

I_INCLNAME = V_repid

CHANGING

ct_fieldcat = T_fieldcatalog

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3.

f_fieldcatalog-just = 'L'.

MODIFY t_fieldcatalog FROM f_fieldcatalog

TRANSPORTING just

WHERE ( fieldname = 'IDOC' OR FIELDNAME = 'STATUS_COUNTER' ).

f_fieldcatalog-SELTEXT_L = 'Status Message'.

MODIFY t_fieldcatalog FROM f_fieldcatalog

TRANSPORTING SELTEXT_L

WHERE fieldname = 'DESCRP'.

f_fieldcatalog-TECH = 'X'.

MODIFY t_fieldcatalog FROM f_fieldcatalog

TRANSPORTING TECH

WHERE fieldname = 'EXPAND'.

f_fieldcatalog-REPTEXT_DDIC = 'Vendor Name'.

MODIFY t_fieldcatalog FROM f_fieldcatalog

TRANSPORTING REPTEXT_DDIC

WHERE fieldname = 'NAME'.

*f_fieldcatalog-REPTEXT_DDIC = 'V Code 32122'.

*MODIFY t_fieldcatalog FROM f_fieldcatalog

*TRANSPORTING REPTEXT_DDIC

*WHERE fieldname = 'VENDOR'.

ENDFORM. " INITIALIZATION

&----


*& Form DATA_RETRIVAL

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DATA_RETRIVAL.

select uname credat cretim docnum into table

itab_edids from edids

where credat in s_rsdat and

uname in s_user and

countr = ' '.

  • select uname credat cretim docnum from edids

*APPENDING CORRESPONDING FIELDS OF TABLE itab_edids

  • where logdat in s_rsdat and

  • uname in s_user.

  • SELECT budat hkont belnr shkzg wrbtr FROM bsas

*APPENDING CORRESPONDING FIELDS OF TABLE it_temp WHERE hkont = w_glacct

*"wa_cb-gl_account

*AND bukrs IN (so_bukrs-low)

*AND budat < so_date-low.

delete adjacent duplicates from itab_edids.

if not itab_edids[] is initial.

select docnum mestyp doctyp rcvprn rcvprt mescod SNDPRN credat into

table itab_edidc from edidc for all entries in itab_edids

where docnum = itab_edids-idoc.

endif.

LOOP AT ITAB_edids.

READ TABLE ITAB_EDIDC WITH KEY DOC_NUM = ITAB_EDIDS-IDOC.

itab_edids-messagetype = ITAB_EDIDC-MESSAGETYPE.

itab_edids-VENDOR = ITAB_EDIDC-VENDOR.

MODIFY ITAB_EDIDS.

CLEAR ITAB_EDIDS.

ENDLOOP.

DELETE ITAB_EDIDC WHERE MESSAGETYPE = 'ORDERS'.

loop at itab_edids.

read table itab_edidc with key doc_num = itab_edids-idoc.

if sy-subrc ne 0.

delete itab_edids.

endif.

endloop.

select docnum logdat countr status into table itab_status from edids for

all entries in itab_edidc where docnum = itab_edidc-doc_num.

LOOP AT ITAB_STATUS.

READ TABLE ITAB_EDIDC WITH KEY DOC_NUM = ITAB_STATUS-IDOC.

ITAB_STATUS-MESS = ITAB_EDIDC-MESSAGETYPE.

MODIFY ITAB_STATUS.

CLEAR ITAB_STATUS.

ENDLOOP.

loop at itab_status.

clear : text ,text1 , text11, text111, itab.

  • select single descrp from teds2 into itab_status-descrp

  • where status = itab_status-STATUS AND

  • LANGUA = 'E'.

  • select single sdata into text from edid4 where

  • DOCNUM = itab_status-idoc and

*

  • segnam = 'E1EDK01'.

*

*MOVE: text TO text1,

  • text1-BELNR TO itab_status-ponumber.

*

*

  • itab_status-ponumber = text1-belnr.

    • move text+83(30) to itab_status-ponumber.

*

  • MODIFY ITAB_STATUS.

  • clear itab_status.

IF itab_status-MESS = 'WMMBXY'.

select single * from edid4 INTO ITAB where segnam = 'E1MBXYI' AND

HLEVEL = '02' AND DOCNUM = itab_status-idoc.

MOVE : ITAB-SDATA TO TEXT111 ,

text111-EBELN TO itab_status-ponumber.

**text1-BELNR TO ponumber.

ELSE.

select single * from edid4 INTO ITAB where segnam = 'E1EDP02' AND

HLEVEL = '03' AND DOCNUM = itab_status-idoc.

MOVE : ITAB-SDATA TO TEXT11 ,

*text1-EBELN TO ponumber.

text11-BELNR TO itab_status-ponumber.

endif.

MODIFY ITAB_STATUS.

clear itab_status.

endloop.

ENDFORM. " DATA_RETRIVAL

&----


*& Form PASSING_ALV

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM PASSING_ALV.

s_LAYOUT-EXPAND_FIELDNAME = 'EXPAND'.

DATA: t_events TYPE slis_t_event.

DATA: s_events LIKE LINE OF t_events.

s_events-form = 'TOP_OF_PAGE'.

s_events-name = 'TOP_OF_PAGE'.

APPEND s_events TO t_events.

s_layout-lights_fieldname = 'ICON'.

sort itab_status by status_counter descending. " -


mod3

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

i_callback_program = v_repid

is_layout = s_layout

it_fieldcat = t_fieldcatalog

i_callback_user_command = 'USER_COMMAND'

i_tabname_header = 'ITAB_EDIDS'

i_tabname_item = 'ITAB_STATUS'

IT_EVENTS = t_events

is_keyinfo = s_keyinfo

TABLES

t_outtab_header = itab_EDIDS

t_outtab_item = itab_STATUS

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " PASSING_ALV

&----


*& Form DATA_BASED_SELECTION

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DATA_BASED_SELECTION.

if p_su eq 'X'.

*loop at itab_status where status = '53'.

*

*select single stapa1 from edids into itab_status-appdoc

  • where docnum = itab_status-idoc and status = '53'.

*

*delete itab_status where status ne '53'.

*modify itab_status.

*

*endloop.

delete itab_status where status ne '53'.

loop at itab_edids.

read table itab_status with key idoc = itab_edids-idoc binary search.

if sy-subrc ne 0.

delete itab_edids.

ELSE.

*SHIFT ITAB_EDIDS-IDOC LEFT DELETING LEADING '0'.

MODIFY ITAB_EDIDS.

endif.

endloop.

LOOP AT ITAB_STATUS WHERE MESS NE 'WMMBXY'.

SELECT SINGLE * FROM EDIDS INTO WA_EDIDS WHERE DOCNUM = ITAB_STATUS-IDOC

AND COUNTR = ITAB_STATUS-STATUS_COUNTER.

IF WA_EDIDS-STATXT CA '&'.

V_MSGNO = WA_EDIDS-STAMNO.

IF V_MSGNO NE '000'. "----mod3

CALL FUNCTION 'MESSAGE_PREPARE'

EXPORTING

msg_id = WA_EDIDS-STAMID

msg_no = V_MSGNO

MSG_VAR1 = wa_edids-stapa1

MSG_VAR2 = WA_EDIDS-STAPA2

MSG_VAR3 = WA_EDIDS-STAPA3

MSG_VAR4 = WA_EDIDS-STAPA4

IMPORTING

MSG_TEXT = itab_status-descrp.

CONDENSE ITAB_STATUS-DESCRP.

ENDIF."---- mod3

ELSE .

ITAB_STATUS-DESCRP = WA_EDIDS-STATXT.

ENDIF.

*SHIFT ITAB_STATUS-IDOC LEFT DELETING LEADING '0'.

*SHIFT ITAB_STATUS-STATUS_COUNTER LEFT DELETING LEADING '0'.

MODIFY ITAB_STATUS.

ENDLOOP.

LOOP AT ITAB_STATUS WHERE MESS EQ 'WMMBXY'.

  • SHIFT ITAB_STATUS-IDOC LEFT DELETING LEADING '0'.

  • SHIFT ITAB_STATUS-STATUS_COUNTER LEFT DELETING LEADING '0'.

ITAB_STATUS-DESCRP = 'APPLICATION DOCUMENT POSTED'.

MODIFY ITAB_STATUS.

ENDLOOP.

delete adjacent duplicates from itab_edids comparing idoc.

elseif p_re eq 'X'.

loop at itab_status where status = '53'.

delete itab_edids where idoc = itab_status-idoc.

endloop.

loop at itab_status.

read table itab_edids with key idoc = itab_status-idoc binary search.

if sy-subrc ne 0.

delete itab_status.

endif.

endloop.

LOOP AT ITAB_STATUS.

SELECT SINGLE * FROM EDIDS INTO WA_EDIDS WHERE DOCNUM = ITAB_STATUS-IDOC

AND COUNTR = ITAB_STATUS-STATUS_COUNTER.

IF WA_EDIDS-STATXT CA '&'.

V_MSGNO = WA_EDIDS-STAMNO.

IF V_MSGNO NE '000'. "----mod3

CALL FUNCTION 'MESSAGE_PREPARE'

EXPORTING

msg_id = WA_EDIDS-STAMID

msg_no = V_MSGNO

MSG_VAR1 = WA_EDIDS-STAPA1

MSG_VAR2 = WA_EDIDS-STAPA2

MSG_VAR3 = WA_EDIDS-STAPA3

MSG_VAR4 = WA_EDIDS-STAPA4

IMPORTING

MSG_TEXT = itab_status-descrp.

CONDENSE ITAB_STATUS-DESCRP.

endif. "-----mod3

ELSE .

ITAB_STATUS-DESCRP = WA_EDIDS-STATXT.

ENDIF.

  • SHIFT ITAB_STATUS-IDOC LEFT DELETING LEADING '0'.

  • SHIFT ITAB_STATUS-STATUS_COUNTER LEFT DELETING LEADING '0'.

MODIFY ITAB_STATUS.

ENDLOOP.

  • LOOP AT ITAB_EDIDS.

  • SHIFT ITAB_EDIDS-IDOC LEFT DELETING LEADING '0'.

  • MODIFY ITAB_EDIDS.

  • ENDLOOP.

delete adjacent duplicates from itab_edids comparing idoc.

elseif p_al eq 'X'.

delete adjacent duplicates from itab_edids comparing idoc.

LOOP AT ITAB_STATUS." WHERE MESS NE 'WMMBXY'.

SELECT SINGLE * FROM EDIDS INTO WA_EDIDS WHERE DOCNUM = ITAB_STATUS-IDOC

AND COUNTR = ITAB_STATUS-STATUS_COUNTER.

IF WA_EDIDS-STATXT CA '&'.

V_MSGNO = WA_EDIDS-STAMNO.

IF V_MSGNO NE '000'. "----mod3

CALL FUNCTION 'MESSAGE_PREPARE'

EXPORTING

msg_id = WA_EDIDS-STAMID

msg_no = V_MSGNO

MSG_VAR1 = WA_EDIDS-STAPA1

MSG_VAR2 = WA_EDIDS-STAPA2

MSG_VAR3 = WA_EDIDS-STAPA3

MSG_VAR4 = WA_EDIDS-STAPA4

IMPORTING

MSG_TEXT = itab_status-descrp.

CONDENSE ITAB_STATUS-DESCRP.

endif. "----mod3

ELSE .

ITAB_STATUS-DESCRP = WA_EDIDS-STATXT.

ENDIF.

*SHIFT ITAB_STATUS-IDOC LEFT DELETING LEADING '0'.

*SHIFT ITAB_STATUS-STATUS_COUNTER LEFT DELETING LEADING '0'.

MODIFY ITAB_STATUS.

ENDLOOP.

endif.

LOOP AT ITAB_EDIDS.

if p_su EQ 'X'.

itab_edids-icon = '3'.

elseif p_re eq 'X'.

itab_edids-icon = '1'.

ELSE.

read table itab_sTATUS with key idoc = itab_EDIDS-idoc

STATUS = '53' ."binary search.

IF SY-SUBRC EQ 0.

itab_edids-icon = '3'.

ELSE.

itab_edids-icon = '1'.

ENDIF.

ENDIF.

select single name1 from lfa1 into itab_edids-name where

lifnr = itab_edids-vendor.

SHIFT ITAB_EDIDS-IDOC LEFT DELETING LEADING '0'.

MODIFY ITAB_EDIDS.

clear itab_edids.

ENDLOOP.

loop at itab_status.

SHIFT ITAB_STATUS-IDOC LEFT DELETING LEADING '0'.

SHIFT ITAB_STATUS-STATUS_COUNTER LEFT DELETING LEADING '0'.

if itab_status-descrp is initial.

select single descrp from teds2 into itab_status-descrp

where status = itab_status-STATUS AND

LANGUA = 'E'.

endif.

MODIFY ITAB_STATUS.

clear itab_status.

endloop.

sort itab_status by idoc.

sort itab_edids by idoc.

ENDFORM. " DATA_BASED_SELECTION

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM TOP_OF_PAGE.

SKIP.

ULINE.

IF P_SU EQ 'X'.

WRITE : / 'TITLE : SUCCESSFULLY POSTED IDOC', 50 'DATE :', SY-DATUM..

ELSEIF P_RE EQ 'X'.

WRITE : / 'TITLE : REJECTED IDOCS' ,50 'DATE :', SY-DATUM.

ELSEIF P_AL EQ 'X'.

WRITE : / 'TITLE : ALL IDOCS' ,50 'DATE :', SY-DATUM.

ENDIF.

WRITE :/9 'Successful-Green light Unsuccessful-Red Light'.

format color COL_TOTAL intensified on.

WRITE : / 'NOTE : DOUBLE CLICK TO SEE CORREPONDING IDOC AND PO'.

WRITE :/9 'DOUBLE CLICK IDOC NO ON HEADER LIST'.

WRITE : 'AND PO NUMBER ON DETAIL LIST'.

format color off.

ULINE.

SKIP.

ENDFORM. "TOP_OF_PAGE

----


  • FORM user_command *

----


  • ........ *

----


  • --> UCOMM *

  • --> SELFIELD *

----


FORM user_command USING ucomm LIKE sy-ucomm

selfield TYPE slis_selfield.

DATA: WA_IDOC9 LIKE EDIDC-DOCNUM.

DATA: SELTAB TYPE TABLE OF RSPARAMS,

SELTAB_WA LIKE LINE OF SELTAB.

RANGES : R_DATE FOR EDIDC-CREDAT." SY-DATUM.

IF ucomm = '&IC1'.

if SELFIELD-SEL_TAB_FIELD = 'ITAB_EDIDS-IDOC'.

READ TABLE itab_edids INDEX selfield-tabindex.

IF sy-subrc = 0.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = ITAB_edids-IDOC

IMPORTING

OUTPUT = WA_IDOC9.

*r_date-low = itab_edids-date.

*r_date-high = itab_edids-date.

*r_date-SIGN = 'I'.

*r_date-OPTION = 'BT'.

*

*

*append r_date.

SUBMIT RSEIDOC2 WITH DOCNUM = wa_idoc9

WITH CREDAT in R_DATE[] AND RETURN.

ENDIF.

ELSEIF SELFIELD-SEL_TAB_FIELD = 'ITAB_STATUS-PONUMBER'.

READ TABLE itab_STATUS INDEX selfield-tabindex.

IF sy-subrc = 0.

SET PARAMETER ID 'BES' FIELD itab_sTATUS-PONUMBER.

CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.

ENDIF.

ENDIF.

ENDIF.

ENDFORM..

Read only

Former Member
0 Likes
4,742

Hi,

Please try this.


...

DATA: BEGIN OF T_OUTPUT OCCURS 0,
        DOCNUM LIKE EDIDD-DOCNUM,
        ARTNR  LIKE E1WPB02- ARTNR .  
DATA: END OF T_OUTPUT.

DATA: WA_E1WPB02 LIKE E1WPB02.

LOOP AT T_IDOC_DATA WHERE SEGNAM = 'E1WPB02'.
  MOVE T_IDOC_DATA-SDATA TO WA_E1WPB02.
  MOVE T_IDOC_DATA-DOCNUM TO T_OUTPUT-DOCNUM.
  MOVE WA_E1WPB02-ARTNR TO T_OUTPUT-ARTNR.
  APPEND  T_OUTPUT.
ENDLOOP.

* Then download internal table T_OUTPUT to excel.

Regards,

Ferry Lianto

Please reward points if helpful.

Read only

0 Likes
4,741

Hi,

The code you posted helped me to solve my problem. Thank you for your help.

Ioan.