‎2007 Oct 05 6:08 AM
hi to all experts,
what is function module for calling pop up box for showing the output of report.
or
how to design a box with the help of coding.
please give me sample code.
thanks in advance and reward also.
regard :
deep.
‎2007 Oct 05 6:33 AM
hi
execute the below code
&----
*& Report ZPRG8 *
*& *
&----
*& *
*& *
&----
REPORT ZPRG8 .
TABLES: LFA1, EKKO, EKPO.
SELECT-OPTIONS: S_LIFNR FOR LFA1-LIFNR.
DATA: BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
END OF ITAB.
DATA: BEGIN OF JTAB OCCURS 0,
EBELN LIKE EKKO-EBELN,
AEDAT LIKE EKKO-AEDAT,
END OF JTAB.
DATA: BEGIN OF KTAB OCCURS 0,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
END OF KTAB.
TYPE-POOLS:SLIS.
DATA: REPID LIKE SY-REPID,
F_LFA11 TYPE SLIS_T_FIELDCAT_ALV,
F_LFA1 TYPE SLIS_FIELDCAT_ALV,
F_EKKO1 TYPE SLIS_T_FIELDCAT_ALV,
F_EKKO TYPE SLIS_FIELDCAT_ALV,
F_EKPO1 TYPE SLIS_T_FIELDCAT_ALV,
F_EKPO TYPE SLIS_FIELDCAT_ALV,
I_EVENTS TYPE SLIS_T_EVENT,
S_EVENTS TYPE SLIS_ALV_EVENT.
REPID = SY-REPID.
PERFORM COL_HEAD.
START-OF-SELECTION.
SELECT LIFNR NAME1 FROM LFA1 INTO TABLE ITAB WHERE LIFNR IN S_LIFNR.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
IT_FIELDCAT = F_LFA11
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = I_EVENTS
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
FORM COL_HEAD.
F_LFA1-FIELDNAME = 'LIFNR'.
*F_LFA1-TABNAME = 'ITAB'.
F_LFA1-REF_TABNAME = 'LFA1'.
F_LFA1-REF_FIELDNAME = 'LIFNR'.
APPEND F_LFA1 TO F_LFA11.
F_LFA1-FIELDNAME = 'NAME1'.
*F_LFA1-TABNAME = 'ITAB'.
F_LFA1-REF_TABNAME = 'LFA1'.
F_LFA1-REF_FIELDNAME = 'NAME1'.
APPEND F_LFA1 TO F_LFA11.
F_EKKO-FIELDNAME = 'EBELN'.
*F_EKKO-TABNAME = 'JTAB'.
F_EKKO-REF_TABNAME = 'EKKO'.
F_EKKO-REF_FIELDNAME = 'EBELN'.
APPEND F_EKKO TO F_EKKO1.
F_EKKO-FIELDNAME = 'AEDAT'.
*F_EKKO-TABNAME = 'JTAB'.
F_EKKO-REF_TABNAME = 'EKKO'.
F_EKKO-REF_FIELDNAME = 'AEDAT'.
APPEND F_EKKO TO F_EKKO1.
F_EKPO-FIELDNAME = 'EBELP'.
*F_EKPO-TABNAME = 'KTAB'.
F_EKPO-REF_TABNAME = 'EKPO'.
F_EKPO-REF_FIELDNAME = 'EBELP'.
APPEND F_EKPO TO F_EKPO1.
F_EKPO-FIELDNAME = 'MATNR'.
*F_EKPO-TABNAME = 'KTAB'.
F_EKPO-REF_TABNAME = 'EKPO'.
F_EKPO-REF_FIELDNAME = 'MATNR'.
APPEND F_EKPO TO F_EKPO1.
S_EVENTS-NAME = 'USER_COMMAND'.
S_EVENTS-FORM = 'VAL'.
APPEND S_EVENTS TO I_EVENTS.
ENDFORM.
FORM VAL USING USER_COMMAND LIKE SY-UCOMM SEL TYPE SLIS_SELFIELD.
DATA: V_LIFNR(10) TYPE N,
V_EBELN(10) TYPE N,
V_MATNR(10) TYPE C.
IF SEL-FIELDNAME = 'LIFNR'.
V_LIFNR = SEL-VALUE.
SELECT EBELN AEDAT FROM EKKO INTO TABLE JTAB WHERE LIFNR = V_LIFNR.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = REPID
IT_FIELDCAT = F_EKKO1
IT_EVENTS = I_EVENTS
TABLES
T_OUTTAB = JTAB.
ENDIF.
IF SEL-FIELDNAME = 'EBELN'.
V_EBELN = SEL-VALUE.
SELECT EBELP MATNR FROM EKPO INTO TABLE KTAB WHERE EBELN = V_EBELN.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
I_TITLE = 'ITEM DETAILS'
I_SCREEN_START_COLUMN = 10
I_SCREEN_START_LINE = 10
I_SCREEN_END_COLUMN = 36
I_SCREEN_END_LINE = 16
I_TABNAME = 'EKPO'
IT_FIELDCAT = F_EKPO1
I_CALLBACK_PROGRAM = REPID
I_CALLBACK_USER_COMMAND =
IS_PRIVATE =
IMPORTING
ES_SELFIELD = SEL
E_EXIT =
TABLES
T_OUTTAB = KTAB.
ENDIF.
IF SEL-FIELDNAME = 'MATNR'.
V_MATNR = SEL-VALUE.
SET PARAMETER ID 'MAT' FIELD V_MATNR.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
ENDIF.
ENDFORM.
regards
Nagesh.Paruchuri
‎2007 Oct 05 6:16 AM
Hi
There are lot of fun modules for calling the Popup box
in SE37 enter popupconfirm
you will get lot of them
use one
POPUP_TO_CONFIRM_Values
You can call your own screen using the command
CALL SCREEN <no> Starting At 5 5 ending at 45 67
Press F1 on CALL Screen and use the correct syntax
Regards
Anji
‎2007 Oct 05 6:18 AM
‎2007 Oct 05 6:21 AM
CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY_OK'
EXPORTING
endpos_col = 20
endpos_row = 10
startpos_col = 1
startpos_row = 1
titletext = 'REPORT OUTPUT'
IMPORTING
CHOISE =
tables
valuetab = itab
EXCEPTIONS
BREAK_OFF = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
itab is table containing data to be output...
plz reward points if dis helps
‎2007 Oct 05 6:24 AM
hI
FM's :
POPUP_TO_CONFIRM_WITH_MESSAGE
POPUP_TO_CONFIRM_STEP
T-CODE - SE37
check
POPUP_TO_CONFIRM_*
<b>REWARD IF USEFULL</b>
‎2007 Oct 05 6:24 AM
C14A_POPUP_LIST_DISPLAY
try using this function module.
regards..
‎2007 Oct 05 6:33 AM
hi
execute the below code
&----
*& Report ZPRG8 *
*& *
&----
*& *
*& *
&----
REPORT ZPRG8 .
TABLES: LFA1, EKKO, EKPO.
SELECT-OPTIONS: S_LIFNR FOR LFA1-LIFNR.
DATA: BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
END OF ITAB.
DATA: BEGIN OF JTAB OCCURS 0,
EBELN LIKE EKKO-EBELN,
AEDAT LIKE EKKO-AEDAT,
END OF JTAB.
DATA: BEGIN OF KTAB OCCURS 0,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
END OF KTAB.
TYPE-POOLS:SLIS.
DATA: REPID LIKE SY-REPID,
F_LFA11 TYPE SLIS_T_FIELDCAT_ALV,
F_LFA1 TYPE SLIS_FIELDCAT_ALV,
F_EKKO1 TYPE SLIS_T_FIELDCAT_ALV,
F_EKKO TYPE SLIS_FIELDCAT_ALV,
F_EKPO1 TYPE SLIS_T_FIELDCAT_ALV,
F_EKPO TYPE SLIS_FIELDCAT_ALV,
I_EVENTS TYPE SLIS_T_EVENT,
S_EVENTS TYPE SLIS_ALV_EVENT.
REPID = SY-REPID.
PERFORM COL_HEAD.
START-OF-SELECTION.
SELECT LIFNR NAME1 FROM LFA1 INTO TABLE ITAB WHERE LIFNR IN S_LIFNR.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
IT_FIELDCAT = F_LFA11
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = I_EVENTS
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
FORM COL_HEAD.
F_LFA1-FIELDNAME = 'LIFNR'.
*F_LFA1-TABNAME = 'ITAB'.
F_LFA1-REF_TABNAME = 'LFA1'.
F_LFA1-REF_FIELDNAME = 'LIFNR'.
APPEND F_LFA1 TO F_LFA11.
F_LFA1-FIELDNAME = 'NAME1'.
*F_LFA1-TABNAME = 'ITAB'.
F_LFA1-REF_TABNAME = 'LFA1'.
F_LFA1-REF_FIELDNAME = 'NAME1'.
APPEND F_LFA1 TO F_LFA11.
F_EKKO-FIELDNAME = 'EBELN'.
*F_EKKO-TABNAME = 'JTAB'.
F_EKKO-REF_TABNAME = 'EKKO'.
F_EKKO-REF_FIELDNAME = 'EBELN'.
APPEND F_EKKO TO F_EKKO1.
F_EKKO-FIELDNAME = 'AEDAT'.
*F_EKKO-TABNAME = 'JTAB'.
F_EKKO-REF_TABNAME = 'EKKO'.
F_EKKO-REF_FIELDNAME = 'AEDAT'.
APPEND F_EKKO TO F_EKKO1.
F_EKPO-FIELDNAME = 'EBELP'.
*F_EKPO-TABNAME = 'KTAB'.
F_EKPO-REF_TABNAME = 'EKPO'.
F_EKPO-REF_FIELDNAME = 'EBELP'.
APPEND F_EKPO TO F_EKPO1.
F_EKPO-FIELDNAME = 'MATNR'.
*F_EKPO-TABNAME = 'KTAB'.
F_EKPO-REF_TABNAME = 'EKPO'.
F_EKPO-REF_FIELDNAME = 'MATNR'.
APPEND F_EKPO TO F_EKPO1.
S_EVENTS-NAME = 'USER_COMMAND'.
S_EVENTS-FORM = 'VAL'.
APPEND S_EVENTS TO I_EVENTS.
ENDFORM.
FORM VAL USING USER_COMMAND LIKE SY-UCOMM SEL TYPE SLIS_SELFIELD.
DATA: V_LIFNR(10) TYPE N,
V_EBELN(10) TYPE N,
V_MATNR(10) TYPE C.
IF SEL-FIELDNAME = 'LIFNR'.
V_LIFNR = SEL-VALUE.
SELECT EBELN AEDAT FROM EKKO INTO TABLE JTAB WHERE LIFNR = V_LIFNR.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = REPID
IT_FIELDCAT = F_EKKO1
IT_EVENTS = I_EVENTS
TABLES
T_OUTTAB = JTAB.
ENDIF.
IF SEL-FIELDNAME = 'EBELN'.
V_EBELN = SEL-VALUE.
SELECT EBELP MATNR FROM EKPO INTO TABLE KTAB WHERE EBELN = V_EBELN.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
I_TITLE = 'ITEM DETAILS'
I_SCREEN_START_COLUMN = 10
I_SCREEN_START_LINE = 10
I_SCREEN_END_COLUMN = 36
I_SCREEN_END_LINE = 16
I_TABNAME = 'EKPO'
IT_FIELDCAT = F_EKPO1
I_CALLBACK_PROGRAM = REPID
I_CALLBACK_USER_COMMAND =
IS_PRIVATE =
IMPORTING
ES_SELFIELD = SEL
E_EXIT =
TABLES
T_OUTTAB = KTAB.
ENDIF.
IF SEL-FIELDNAME = 'MATNR'.
V_MATNR = SEL-VALUE.
SET PARAMETER ID 'MAT' FIELD V_MATNR.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
ENDIF.
ENDFORM.
regards
Nagesh.Paruchuri
‎2007 Oct 05 8:28 AM
hi paruchuri nageswarrao
thanks a lot for given the code.
bcoz my other problem is also solved.
again thanks a lot and giving full point.
Regard : Deep.
‎2007 Oct 06 6:38 AM
dear paruchuri nageswarrao ,
i have one doubt that when i click on MATNR field at pop up box and it goes to the
MM02.
my doubt is that where the clicked value is stored.
please clear the doubt
i am waiting for responce.
Regard : Deep
‎2007 Oct 06 8:58 AM
hi deep sama
when u clicked on matnr
this value stores in sap memory
to store values in sap memory u have to use set/get parametrs
to store values in abap memory u have to use import/export parameters
sap memory is available between external sessions
abap memory is available between internal sessions only
reward if u find use ful
regards
Nagesh.Paruchuri