Tuesday, May 19, 2009

Read IDoc

*&---------------------------------------------------------------------*
*& Form f_readidoc
*&---------------------------------------------------------------------*
* Read IDOC
*----------------------------------------------------------------------*
FORM f_readidoc.
DATA: lt_idoc TYPE STANDARD TABLE OF edidc-docnum,
lt_edidd
TYPE STANDARD TABLE OF edidd,
ls_docnum
LIKE edidc-docnum,
l_ze1nthdr
LIKE ze1nthdr,
wa_edidd
TYPE edidd,
wa_idoc_dt
TYPE str_idoc_dt.

SELECT docnum
FROM edidc
INTO TABLE lt_idoc
WHERE idoctp = c_idoctp
AND status = c_status.

*-- Find Z2 QN in IDOC
LOOP AT lt_idoc INTO ls_docnum.
REFRESH lt_edidd.
CALL FUNCTION 'IDOC_READ_COMPLETELY'
EXPORTING
document_number = ls_docnum
TABLES
int_edidd = lt_edidd
EXCEPTIONS
document_not_exist =
1
document_number_invalid =
2
OTHERS = 3.
IF sy-subrc = 0.
LOOP AT lt_edidd INTO wa_edidd WHERE segnam = c_segnam.
l_ze1nthdr = wa_edidd-sdata.
IF l_ze1nthdr-qmart = c_qmart.
*-- Assign IDoc Number
wa_idoc_dt-docnum = ls_docnum.
wa_idoc_dt-qmnum = l_ze1nthdr-qmnum.
APPEND wa_idoc_dt TO gt_idoc_dt.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.

ENDFORM. "f_readidoc

No comments:

Post a Comment