hi all ,
I have used the following code for filtering the purchasing group. if i have given nothing in the selction screen i am getting all the details as in the purchasing group. and if i give the particular type of purchasing group then it is not filtering the purchasing group.please kindly hepl me in solving my issue. will be thankful to you. awaiting your reply
&----
*& Report ZRPT_MM_IPR
*&
&----
REPORT ZRPT_MM_IPR.
TYPE-POOLS : SLIS.
Tables : EBAN, EKKO, EKET.
TYPES : BEGIN OF TY_EBAN,
BANFN TYPE BANFN,
BSART TYPE BBSRT,
FRGZU TYPE FRGZU,
EKGRP TYPE EKGRP,
TXZ01 TYPE TXZ01,
WERKS TYPE EWERK,
MENGE TYPE BAMNG,
BADAT TYPE BADAT,
PREIS TYPE BAPRE,
EBELN TYPE BSTNR,
BEDAT TYPE BEDAT,
END OF TY_EBAN.
types : BEGIN OF TY_EKPO,
EBELN TYPE EBELN,
EBELP TYPE EBELP,
NETPR TYPE BPREI,
BUKRS TYPE BUKRS,
werks type ekpo-werks,
mengepo type BSTMG,
END OF TY_EKPO.
TYPES : BEGIN OF TY_EKKO,
EBELN TYPE EBELN,
BSART TYPE ESART,
LIFNR TYPE ELIFN,
FRGZU TYPE FRGZU,
FRGKE TYPE FRGKE,
ADRNR TYPE ADRNR,
END OF TY_EKKO.
TYPES : BEGIN OF TY_ADRC,
ADDRNUMBER TYPE AD_ADDRNUM,
NAME1 TYPE AD_NAME1,
END OF TY_ADRC.
TYPES : BEGIN OF TY_EKET,
EBELN TYPE EBELN,
EINDT TYPE EINDT,
END OF TY_EKET.
TYPES : BEGIN OF TY_LFA1,
LIFNR TYPE LIFNR,
NAME1 TYPE NAME1_GP,
XCPDK TYPE XCPDK,
END OF TY_LFA1.
TYPES : BEGIN OF TY_T024,
EKGRP TYPE EKGRP,
EKNAM TYPE EKNAM,
END OF TY_T024.
TYPES : BEGIN OF TY_FINAL,
BANFN TYPE BANFN,
BSART TYPE BBSRT,
FRGZU TYPE FRGZU,
EKNAM TYPE EKNAM,
TXZ01 TYPE TXZ01,
MENGE TYPE BAMNG,
BADAT TYPE BADAT,
PREIS TYPE BAPRE,
NETPR TYPE BPREI,
EBELN TYPE BSTNR,
BEDAT TYPE BEDAT,
PODTY TYPE ESART,
NAME1 TYPE AD_NAME1,
MGACT TYPE FRGZU,
HODMM TYPE FRGKE,
mengepo type BSTMG,
EINDT TYPE EINDT,
BUKRS TYPE BUKRS,
END OF TY_FINAL.
DATA : IT_EBAN TYPE STANDARD TABLE OF TY_EBAN,
IT_EKKO TYPE STANDARD TABLE OF TY_EKKO,
IT_EKPO TYPE STANDARD TABLE OF TY_EKPO,
IT_EKET TYPE STANDARD TABLE OF TY_EKET,
IT_T024 TYPE STANDARD TABLE OF TY_T024,
IT_LFA1 TYPE STANDARD TABLE OF TY_LFA1,
IT_ADRC TYPE STANDARD TABLE OF TY_ADRC,
IT_FINAL TYPE STANDARD TABLE OF TY_FINAL.
DATA : WA_EBAN TYPE TY_EBAN,
WA_EKKO TYPE TY_EKKO,
WA_EKPO TYPE TY_EKPO,
WA_EKET TYPE TY_EKET,
WA_T024 TYPE TY_T024,
WA_LFA1 TYPE TY_LFA1,
WA_ADRC TYPE TY_ADRC,
WA_FINAL TYPE TY_FINAL.
DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,
IT_FILTER TYPE SLIS_T_FILTER_ALV,
GS_KEYINFO TYPE SLIS_KEYINFO_ALV,
LS_SORT TYPE SLIS_SORTINFO_ALV,
LT_SORT TYPE SLIS_T_SORTINFO_ALV,
EVENT LIKE LINE OF IT_EVENTS.
DATA : v_datelow(10),
v_datehigh(10),
v_date(150).
data : werks type ewerk.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-030.
SELECT-OPTIONS : S_BADAT FOR EBAN-BADAT OBLIGATORY,
S_ekgrp for eban-ekgrp,
P_BSART for EBAN-BSART.
*PARAMETERS :
*P_EKGRP LIKE EBAN-EKGRP,
P_BSART LIKE EBAN-BSART.
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN.
v_datelow = s_BADAT-low.
v_datehigh = s_BADAT-high.
START-OF-SELECTION.
PERFORM FETCH_DATA.
PERFORM READ_DATA.
PERFORM FIELDCAT.
PERFORM ALVDISP.
&----
*& Form FETCH_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM FETCH_DATA .
*BREAK SEALOFFSHORE.
*if not s_badat is initial and not S_ekgrp is initial and p_bsart is initial.
SELECT BANFN
BSART
FRGZU
EKGRP
TXZ01
WERKS
MENGE
BADAT
PREIS
EBELN
BEDAT
FROM EBAN
INTO TABLE IT_EBAN
WHERE BADAT IN S_BADAT
and ekgrp in s_ekgrp
and bsart in p_bsart
AND LOEKZ <> 'X'.
*endif.
IF NOT IT_EBAN[] IS INITIAL.
SELECT EBELN
EBELP
NETPR
BUKRS
werks
menge
FROM EKPO
INTO TABLE IT_EKPO
FOR ALL ENTRIES IN IT_EBAN
WHERE EBELN = IT_EBAN-EBELN.
SELECT EBELN
BSART
LIFNR
FRGZU
FRGKE
ADRNR
FROM EKKO
INTO TABLE IT_EKKO
FOR ALL ENTRIES IN IT_EBAN
WHERE EBELN = IT_EBAN-EBELN.
SELECT EKGRP
EKNAM
FROM T024
INTO TABLE IT_T024
FOR ALL ENTRIES IN IT_EBAN
WHERE EKGRP = IT_EBAN-EKGRP.
ENDIF.
IF NOT IT_EKKO[] IS INITIAL.
SELECT EBELN
EINDT
FROM EKET
INTO TABLE IT_EKET
FOR ALL ENTRIES IN IT_EKKO
WHERE EBELN = IT_EKKO-EBELN.
SELECT LIFNR
NAME1
XCPDK
FROM LFA1
INTO TABLE IT_LFA1
FOR ALL ENTRIES IN IT_EKKO
WHERE LIFNR = IT_EKKO-LIFNR.
SELECT ADDRNUMBER
NAME1
FROM ADRC
INTO TABLE IT_ADRC
FOR ALL ENTRIES IN IT_EKKO
WHERE ADDRNUMBER = IT_EKKO-ADRNR.
ENDIF.
ENDFORM. " FETCH_DATA
&----
*& Form READ_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM READ_DATA .
LOOP AT IT_EBAN INTO WA_EBAN.
WA_FINAL-BADAT = WA_EBAN-BADAT.
WA_FINAL-BSART = WA_EBAN-BSART.
WA_FINAL-TXZ01 = WA_EBAN-TXZ01.
WA_FINAL-MENGE = WA_EBAN-MENGE.
WA_FINAL-PREIS = WA_EBAN-PREIS.
WA_FINAL-BANFN = WA_EBAN-BANFN.
IF WA_EBAN-FRGZU is not initial. " ' '
*IF WA_EBAN-FRGZU = 'X' ."OR WA_EBAN-FRGZU = 'XX'.
WA_FINAL-FRGZU = 'Y'.
else.
WA_FINAL-FRGZU = ' '.
ENDIF. .
WA_FINAL-EBELN = WA_EBAN-EBELN.
WA_FINAL-BEDAT = WA_EBAN-BEDAT.
READ TABLE IT_EKPO INTO WA_EKPO WITH KEY EBELN = WA_EBAN-EBELN.
IF SY-SUBRC = 0.
WA_FINAL-NETPR = WA_EKPO-NETPR.
wa_final-mengepo = wa_ekpo-mengepo.
ENDIF.
if wa_eban-werks = '1000'.
WA_FINAL-BUKRS = '1000'.
endif.
if wa_eban-werks = '1010'.
WA_FINAL-BUKRS = '1000'.
endif.
if wa_eban-werks = '1011'.
WA_FINAL-BUKRS = '1000'.
endif.
if wa_eban-werks = '1020'.
WA_FINAL-BUKRS = '1000'.
endif.
if wa_eban-werks = '1030'.
WA_FINAL-BUKRS = '1000'.
endif.
if wa_eban-werks = '1040'.
WA_FINAL-BUKRS = '1000'.
endif.
if wa_eban-werks = '1050'.
WA_FINAL-BUKRS = '1000'.
endif.
if wa_eban-werks = '1100'.
WA_FINAL-BUKRS = '1100'.
endif.
if wa_eban-werks = '2000'.
WA_FINAL-BUKRS = '2000'.
endif.
if wa_eban-werks = '2010'.
WA_FINAL-BUKRS = '2000'.
endif.
if wa_eban-werks = '2011'.
WA_FINAL-BUKRS = '2000'.
endif.
if wa_eban-werks = '2020'.
WA_FINAL-BUKRS = '2000'.
endif.
if wa_eban-werks = '2030'.
WA_FINAL-BUKRS = '2000'.
endif.
if wa_eban-werks = '2040'.
WA_FINAL-BUKRS = '2000'.
endif.
if wa_eban-werks = '2050'.
WA_FINAL-BUKRS = '2000'.
endif.
if wa_eban-werks = '2100'.
WA_FINAL-BUKRS = '2100'.
endif.
if wa_eban-werks = '2110'.
WA_FINAL-BUKRS = '2100'.
endif.
if wa_eban-werks = '3000'.
WA_FINAL-BUKRS = '3000'.
endif.
if wa_eban-werks = '3010'.
WA_FINAL-BUKRS = '3000'.
endif.
if wa_eban-werks = '3010'.
WA_FINAL-BUKRS = '3000'.
endif.
if wa_eban-werks = '3100'.
WA_FINAL-BUKRS = '3100'.
endif.
READ TABLE IT_T024 INTO WA_T024 WITH KEY EKGRP = WA_EBAN-EKGRP.
IF SY-SUBRC = 0.
WA_FINAL-EKNAM = WA_T024-EKNAM.
ENDIF.
READ TABLE IT_EKKO INTO WA_EKKO WITH KEY EBELN = WA_EBAN-EBELN.
IF SY-SUBRC = 0.
WA_FINAL-PODTY = WA_EKKO-BSART.
READ TABLE IT_LFA1 INTO WA_LFA1 WITH KEY LIFNR = WA_EKKO-LIFNR.
IF SY-SUBRC = 0.
IF WA_LFA1-XCPDK = 'X'.
READ TABLE IT_ADRC INTO WA_ADRC WITH KEY ADDRNUMBER = WA_EKKO-ADRNR.
IF SY-SUBRC = 0.
WA_FINAL-NAME1 = WA_ADRC-NAME1.
ENDIF.
ELSE.
WA_FINAL-NAME1 = WA_LFA1-NAME1.
ENDIF.
ENDIF.
IF WA_EKKO-FRGZU = 'X' ."OR WA_EKKO-FRGZU = 'XX'.
IF NOT WA_EKKO-FRGZU IS INITIAL.
WA_FINAL-MGACT = 'Y'.
else.
WA_FINAL-MGACT = ' '.
ENDIF.
IF WA_EKKO-FRGKE = '1'.
WA_FINAL-HODMM = 'Y'.
else.
WA_FINAL-HODMM = ' '.
ENDIF.
READ TABLE IT_EKET INTO WA_EKET WITH KEY EBELN = WA_EKKO-EBELN.
IF SY-SUBRC = 0.
WA_FINAL-EINDT = WA_EKET-EINDT.
ENDIF.
ENDIF.
APPEND WA_FINAL TO IT_FINAL.
CLEAR : WA_FINAL,
wa_final-bukrs,
werks.
ENDLOOP.
ENDFORM. " READ_DATA
&----
*& Form FIELDCAT
&----
text
----
--> p1 text
<-- p2 text
----
FORM FIELDCAT .
DATA : COL_POS TYPE I.
COL_POS = COL_POS + 1.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'BADAT'.
IT_FIELDCAT-OUTPUTLEN = '10'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-SELTEXT_L = 'Date'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'BSART'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '12'.
IT_FIELDCAT-SELTEXT_L = 'Type of IPR'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'BUKRS'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '4'.
IT_FIELDCAT-SELTEXT_L = 'Company Code'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'EKNAM'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '16'.
IT_FIELDCAT-SELTEXT_L = 'Purchasing Group'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'TXZ01'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = ''.
IT_FIELDCAT-SELTEXT_L = 'Material Description'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'BANFN'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '10'.
IT_FIELDCAT-SELTEXT_L = 'IPR Number'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'MENGE'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '11'.
IT_FIELDCAT-SELTEXT_L = 'IPR Quantity'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'PREIS'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '11'.
IT_FIELDCAT-SELTEXT_L = 'IPR Price'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'FRGZU'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '20'.
IT_FIELDCAT-SELTEXT_L = 'HOD(User)Dept.Status'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'PODTY'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '8'.
IT_FIELDCAT-SELTEXT_L = 'PO Type'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'EBELN'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '10'.
IT_FIELDCAT-SELTEXT_L = 'PO Number'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'MENGEPO'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '13'.
IT_FIELDCAT-SELTEXT_L = 'PO Quantity'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'NETPR'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '11'.
IT_FIELDCAT-SELTEXT_L = 'PO Price'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'BEDAT'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '8'.
IT_FIELDCAT-SELTEXT_L = 'PO Date'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'NAME1'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '15'.
IT_FIELDCAT-SELTEXT_L = 'Suppliers Name'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'MGACT'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '25'.
IT_FIELDCAT-SELTEXT_L = 'Mgmt Act Release Status'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'HODMM'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '25'.
IT_FIELDCAT-SELTEXT_L = 'HOD-MM Release Status'.
APPEND IT_FIELDCAT.
IT_FIELDCAT-COL_POS = COL_POS .
IT_FIELDCAT-FIELDNAME = 'EINDT'.
IT_FIELDCAT-TABNAME = 'IT_FINAL'.
IT_FIELDCAT-OUTPUTLEN = '15'.
IT_FIELDCAT-SELTEXT_L = 'Act Delivery'.
APPEND IT_FIELDCAT.
ENDFORM. " FIELDCAT
&----
*& Form ALVDISP
&----
text
----
--> p1 text
<-- p2 text
----
FORM ALVDISP .
DATA : P_DISPVAR LIKE DISVARIANT.
LS_SORT-FIELDNAME = 'BANFN'.
LS_SORT-UP = 'X'.
LS_SORT-SPOS = '5'.
APPEND LS_SORT TO LT_SORT.
P_DISPVAR-USERNAME = SY-UNAME.
P_DISPVAR-REPORT = SY-REPID.
PERFORM FILL_LIST_HEADER.
PERFORM FILL_EVENTS.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = 'IPR CONTROL'
IT_FIELDCAT = IT_FIELDCAT[]
IT_SORT = LT_SORT
IT_FILTER = FILTER_I
I_SAVE = 'A'
IS_VARIANT = P_DISPVAR
IT_EVENTS = IT_EVENTS
TABLES
T_OUTTAB = IT_FINAL[]
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
ENDFORM. " ALVDISP
&----
*& Form FILL_EVENTS
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_EVENTS .
DATA : GT_EVENTS TYPE SLIS_T_EVENT.
REFRESH IT_EVENTS.
EVENT-NAME = 'TOP_OF_PAGE'.
EVENT-FORM = 'TOP_OF_PAGE'.
APPEND EVENT TO IT_EVENTS.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = GT_EVENTS.
READ TABLE GT_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO EVENT.
IF SY-SUBRC = 0.
EVENT-NAME = 'USER_COMMAND'.
EVENT-FORM = 'USER_COMMAND'.
APPEND EVENT TO IT_EVENTS.
ENDIF.
*CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = GT_EVENTS
READ TABLE GT_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO EVENT.
IF SY-SUBRC = 0.
EVENT-NAME = 'USER_COMMAND'.
EVENT-FORM = 'USER_COMMAND'.
APPEND EVENT TO IT_EVENTS.
ENDIF.
ENDFORM. " FILL_EVENTS
----
Form TOP_OF_PAGE
----
SUB PROGRAM TO CALL HEADER
----
FORM TOP_OF_PAGE.
DATA: WA_LISTHEADER TYPE SLIS_LISTHEADER,
E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
WA_LISTHEADER-TYP = 'H'.
WA_LISTHEADER-INFO = 'PURCHASING & ADMINISTRATION DEPARTMENT'.
APPEND WA_LISTHEADER TO e04_lt_top_of_page.
CLEAR WA_LISTHEADER.
IF v_datehigh = '00000000'.
CONCATENATE s_BADAT-low6(2) s_BADAT-low4(2) s_BADAT-low+0(4) INTO V_DATELOW SEPARATED BY '.'.
WA_LISTHEADER-typ = 'S'.
CONCATENATE 'PURCHASING DOCUMENTS MOVEMENTS :' V_DATELOW INTO WA_LISTHEADER-INFO SEPARATED BY SPACE.
APPEND WA_LISTHEADER TO e04_lt_top_of_page.
WRITE :/ V_DATELOW .
ELSE.
CONCATENATE s_BADAT-low6(2) s_BADAT-low4(2) s_BADAT-low+0(4) INTO v_datelow SEPARATED BY '.'.
CONCATENATE s_BADAT-high6(2) s_BADAT-high4(2) s_BADAT-high+0(4) INTO v_datehigh SEPARATED BY '.'.
CONCATENATE 'PURCHASING DOCUMENTS MOVEMENTS :' v_datelow 'TO' v_datehigh INTO WA_LISTHEADER-INFO SEPARATED BY SPACE .
WA_LISTHEADER-typ = 'S'.
APPEND WA_LISTHEADER TO e04_lt_top_of_page.
CLEAR WA_LISTHEADER.
ENDIF.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = e04_lt_top_of_page
EXCEPTIONS
OTHERS = 0.
ENDFORM. " TOP OF_PAGE
&----
& Form user_command
&----
text
----
-->R_UCOMM text
-->RS_SELFIELDtext
----
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
IF R_UCOMM = '&IC1'.
CASE RS_SELFIELD-FIELDNAME.
WHEN 'BANFN'.
SET PARAMETER ID 'BAN' FIELD RS_SELFIELD-VALUE.
CALL TRANSACTION 'ME53N'.
WHEN 'EBELN'.
SET PARAMETER ID 'BES' FIELD RS_SELFIELD-VALUE.
CALL TRANSACTION 'ME23N'.
ENDCASE.
ENDIF.
ENDFORM. " user_command