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