2008 May 26 8:44 AM
Greetings all
I am working on a program and i would like it to bring up a selection screen which allows the user to select which commission application they would like to generate the program for. So far the code for my select screen is as follows:
SELECTION-SCREEN: BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
PARAMETERS: c_app LIKE anlc-gjahr OBLIGATORY.
SELECTION-SCREEN: END OF BLOCK b01.
The only problem is that it does not give me the drop down list i want AND i would also like to know how i can assign the text "Commission Application" to the variable c_app. Suggestions will be greatly appreciated.
Greetings all
I am working on a program and i would like it to bring up a selection screen which allows the user to select which commission application they would like to generate the program for. So far the code for my select screen is as follows:
SELECTION-SCREEN: BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
PARAMETERS: c_app LIKE anlc-gjahr OBLIGATORY.
SELECTION-SCREEN: END OF BLOCK b01.
The only problem is that it does not give me the drop down list i want AND i would also like to know how i can assign the text "Commission Application" to the variable c_app. Suggestions will be greatly appreciated.
2008 May 26 8:45 AM
Hi,
use the function module VRM_SET_VALUES
data: NAME type VRM_ID,
LIST type VRM_VALUES,
VALUE like line of LIST.
first of all change the field attribute to drop down list in the screen painter in SE51, where u can set the field attribute as drop down. LISTBOX with Key
NAME = Field name for which u wnat the drop down list.
loop at IT_TAB into IS_TAB.
IT_TAB contains the values which u want in drop downlist.
VALUE-KEY = IS_TAB-FIELD.
append VALUE to LIST.
clear IS_TAB.
endloop.
call function 'VRM_SET_VALUES'
exporting
ID = NAME
VALUES = LIST.
clear LIST.
Check the sample report.
&----
*& Report ZSREE_DROP *
*& *
&----
*& *
*& *
&----
REPORT ZSREE_DROP .
TABLES : LFA1,EKKO,EKPO.
TYPE-POOLS : VRM.
DATA I1 TYPE I VALUE 0.
DATA : BEGIN OF WA_LFA1,
LIFNR TYPE LIFNR,
NAME1 TYPE NAME1,
END OF WA_LFA1.
DATA IT_LFA1 LIKE TABLE OF WA_LFA1.
DATA : BEGIN OF WA_EKKO,
EBELN TYPE EBELN,
END OF WA_EKKO.
DATA IT_EKKO LIKE TABLE OF WA_EKKO.
DATA : BEGIN OF WA_EKPO,
EBELP TYPE EBELP,
END OF WA_EKPO.
DATA IT_EKPO LIKE TABLE OF WA_EKPO.
DATA : BEGIN OF WA_VRM,
KEY(40) TYPE C,
TEXT(80) TYPE C,
END OF WA_VRM.
DATA IT_VRM LIKE TABLE OF WA_VRM.
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
-
module USER_COMMAND_0100 input.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'PDOC'. "fctcode for first list box
CLEAR IT_EKKO.
SELECT EBELN INTO TABLE IT_EKKO FROM EKKO WHERE LIFNR = LFA1-LIFNR.
CLEAR IT_VRM.
LOOP AT IT_EKKO INTO WA_EKKO.
WA_VRM-KEY = WA_EKKO-EBELN.
WA_VRM-TEXT = WA_EKKO-EBELN.
APPEND WA_VRM TO IT_VRM.
CLEAR WA_VRM.
ENDLOOP.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'EKKO-EBELN'
VALUES = IT_VRM
EXCEPTIONS
ID_ILLEGAL_NAME = 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.
WHEN 'PITEM'. "fctcode second listbox
CLEAR IT_EKKO.
SELECT EBELP INTO TABLE IT_EKPO FROM EKPO WHERE EBELN = EKKO-EBELN.
CLEAR IT_VRM.
LOOP AT IT_EKPO INTO WA_EKPO.
WA_VRM-KEY = WA_EKPO-EBELP.
WA_VRM-TEXT = WA_EKPO-EBELP.
APPEND WA_VRM TO IT_VRM.
CLEAR WA_VRM.
ENDLOOP.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'EKPO-EBELP'
VALUES = IT_VRM
EXCEPTIONS
ID_ILLEGAL_NAME = 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.
ENDCASE.
*
*
endmodule. " USER_COMMAND_0100 INPUT
**&----
**
**& Module STATUS_0100 OUTPUT
**&----
**
text
**----
**
module STATUS_0100 output.
SET PF-STATUS 'ZSREE'.
SET TITLEBAR 'ZSREE'.
endmodule. " STATUS_0100 OUTPUT
&----
*& Module SELECT_LIST OUTPUT
&----
text
-
module SELECT_LIST output.
CLEAR IT_LFA1.
SELECT LIFNR NAME1 INTO TABLE IT_LFA1 FROM LFA1.
CLEAR IT_VRM.
LOOP AT IT_LFA1 INTO WA_LFA1.
WA_VRM-KEY = WA_LFA1-LIFNR.
WA_VRM-TEXT = WA_LFA1-LIFNR.
APPEND WA_VRM TO IT_VRM.
CLEAR WA_VRM.
ENDLOOP.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'LFA1-LIFNR'
values = IT_VRM
EXCEPTIONS
ID_ILLEGAL_NAME = 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.
endmodule. " SELECT_LIST OUTPUT
Regards,
Raj.
2008 May 26 10:37 AM
hi,
please write the program code like below.
SELECTION-SCREEN: BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
PARAMETERS: c_app TYPE spfli-carrid
AS LISTBOX VISIBLE LENGTH 20
USER-COMMAND onli
DEFAULT 'LH'.
SELECTION-SCREEN: END OF BLOCK b01.
regarding the text "Commission Application", click "GOTO" in the manu bar ->text elements->selection texts, then you can edit the text for c_app .
hope this can help you,
best regards,
yijie