TABLES : "YLCILCBNK,
YLCIITEM.
DATA : dd LIKE TABLE OF dselc WITH HEADER LINE.
dd-fldname = 'AC_LCNO'.
dd-dyfldname = 'AC_LCNO'.
APPEND dd.
dd-fldname = 'AC_DOC'.
dd-dyfldname = 'AC_DOC'.
APPEND dd.
TYPES: BEGIN OF ST_BNKMASTER,
BUKRS TYPE YLCILCBNK-BUKRS,
HBKID TYPE YLCILCBNK-HBKID,
DOCNUM TYPE YLCILCBNK-DOCNUM,
DOCTYPE TYPE YLCILCBNK-DOCTYPE,
VERSION TYPE YLCILCBNK-VERSION,
END OF ST_BNKMASTER.
TYPES : BEGIN OF ST_LCITEM,
DOCNUM TYPE YLCIITEM-DOCNUM,
DOCTYPE TYPE YLCIITEM-DOCTYPE,
VERSION TYPE YLCIITEM-VERSION,
EBELN TYPE YLCIITEM-EBELN,
EBELP TYPE YLCIITEM-EBELP,
MATNR TYPE YLCIITEM-MATNR,
MAKTX TYPE YLCIITEM-MAKTX,
MENGE TYPE YLCIITEM-MENGE,
NETPR TYPE YLCIITEM-NETPR,
A_MENGE TYPE YLCIITEM-A_MENGE,
VATAMT TYPE YLCIITEM-VATAMT,
END OF ST_LCITEM.
TYPES : BEGIN OF ST_FINAL,
BUKRS TYPE YLCILCBNK-BUKRS,
HBKID TYPE YLCILCBNK-HBKID,
DOCNUM TYPE YLCILCBNK-DOCNUM,
DOCTYPE TYPE YLCILCBNK-DOCTYPE,
VERSION TYPE YLCILCBNK-VERSION,
EBELN TYPE YLCIITEM-EBELN,
EBELP TYPE YLCIITEM-EBELP,
MATNR TYPE YLCIITEM-MATNR,
MAKTX TYPE YLCIITEM-MAKTX,
MENGE TYPE YLCIITEM-MENGE,
NETPR TYPE YLCIITEM-NETPR,
A_MENGE TYPE YLCIITEM-A_MENGE,
VATAMT TYPE YLCIITEM-VATAMT,
END OF ST_FINAL.
DATA : IT_BNK_MST TYPE STANDARD TABLE OF ST_BNKMASTER,
WA_BNK_MST TYPE ST_BNKMASTER,
IT_LC_ITEM TYPE STANDARD TABLE OF ST_LCITEM,
WA_LC_ITEM TYPE ST_LCITEM,
IT_FINAL TYPE STANDARD TABLE OF ST_FINAL,
WA_FINAL TYPE ST_FINAL,
FLAG_X TYPE I VALUE 0,
PREV_CERSION(10) TYPE C.
CLEAR IT_BNK_MST.
CLEAR IT_LC_ITEM.
SELECT BUKRS
HBKID
DOCNUM
DOCTYPE
VERSION FROM YLCILCBNK INTO TABLE IT_BNK_MST
WHERE HBKID = YACCPT-AC_BKCOD.
if IT_BNK_MST is not initial.
SELECT DOCNUM
DOCTYPE
VERSION
EBELN
EBELP
MATNR
MAKTX
MENGE
NETPR
A_MENGE
VATAMT FROM YLCIITEM INTO TABLE IT_LC_ITEM
FOR ALL ENTRIES IN IT_BNK_MST
WHERE DOCNUM = IT_BNK_MST-DOCNUM
AND DOCTYPE = 'L'.
endif.
SORT IT_LC_ITEM BY DOCNUM VERSION DESCENDING.
LOOP AT IT_LC_ITEM INTO WA_LC_ITEM.
AT NEW DOCNUM.
FLAG_X = 1.
ENDAT.
IF FLAG_X = 1.
IF PREV_CERSION IS INITIAL.
PREV_CERSION = WA_LC_ITEM-VERSION.
ENDIF.
IF PREV_CERSION <> WA_LC_ITEM-VERSION.
DELETE TABLE IT_LC_ITEM FROM WA_LC_ITEM.
ENDIF.
ENDIF.
AT END OF DOCNUM.
CLEAR : PREV_CERSION,
FLAG_X.
ENDAT.
ENDLOOP.
BREAK-POINT.
CLEAR IT_FINAL[].
LOOP AT IT_LC_ITEM INTO WA_LC_ITEM.
MOVE-CORRESPONDING WA_LC_ITEM TO WA_FINAL.
APPEND WA_FINAL TO IT_FINAL.
ENDLOOP.
LOOP AT IT_BNK_MST INTO WA_BNK_MST.
READ TABLE IT_FINAL INTO WA_FINAL WITH KEY DOCNUM = WA_BNK_MST-DOCNUM.
IF SY-SUBRC = 0.
WA_FINAL-BUKRS = WA_BNK_MST-BUKRS.
WA_FINAL-HBKID = WA_BNK_MST-HBKID.
MODIFY IT_FINAL FROM WA_FINAL TRANSPORTING BUKRS
HBKID WHERE DOCNUM = WA_BNK_MST-DOCNUM.
ENDIF.
ENDLOOP.
data : RETURN_TAB type table of DDSHRETVAL with header line.
data : LDT_FLDTAB type table of DFIES with header line.
break-point.
IF IT_FINAL is INITIAL.
MESSAGE 'NO HELP' TYPE 'I'.
ELSE.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
ddic_structure = 'YACCPT'
RETFIELD = 'DOCNUM'
DYNPPROG = SY-CPROG
DYNPNR = '9000'
DYNPROFIELD = 'DOCNUM'
VALUE_ORG = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = SY-REPID
TABLES
VALUE_TAB = IT_FINAL
FIELD_TAB = LDT_FLDTAB
RETURN_TAB = RETURN_TAB " LIKE DDSHRETVAL
dynpfld_mapping = dd
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
**loop at it_final into wa_final.
**YACCPT-AC_DOC = wa_final-EBELN.
**
**
**endloop.
*
*
CLEAR IT_FINAL[].
CLEAR IT_FINAL.
here i want both the document number as well as ebeln that user has selected
Edited by: rajan bhalani on Feb 3, 2009 9:10 AM