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

for F4 help

Former Member
0 Likes
861

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

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

5 REPLIES 5
Read only

Former Member
0 Likes
839

You can read the table RETURN_TAB with the selected field

Read only

Former Member
0 Likes
839
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING

ddic_structure = 'YACCPT' 
RETFIELD = 'DOCNUM'
DYNPPROG = SY-CPROG
DYNPNR = '9000'
DYNPROFIELD = 'DOCNUM'
VALUE_ORG = 'S'
" Add these code of lines too to get 2nd field
ddic_structure = 'YACCPT' 
RETFIELD = 'EBELN'
DYNPPROG = SY-CPROG
DYNPNR = '9000'
DYNPROFIELD = 'EBELN'
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.

Edited by: tahir naqqash on Feb 3, 2009 1:12 PM

Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
839

Hello Rajan,

What is your problem? Is the data not being displayed?

You have to use the FM inside the event AT SELECTION-SCREEN ON VALUE REQUEST.

Suhas

Read only

Former Member
0 Likes
839

this is modul pool program and here i have put f4 help for document read and in return i want document with respective EBELN that user has selected. so how can i get it.

Read only

Former Member
0 Likes
839

self