‎2008 Jun 18 10:15 AM
I am using select-options to get input.But it should be displayed only when i select some checkbox.Initially that select-options shud be disabled.
Give me a simple example to proceed.
‎2008 Jun 18 10:18 AM
HI,
Use loop at Screen.
if <check box > = 'X'.
screen-input = '1'.
U can get other options from table screen
Revert back if any issues.
Hope it helps u.
‎2008 Jun 18 10:19 AM
REPORT zco41 .
TYPE-POOLS:slis.
TABLES:caufvd,
ioheader.
DATA: bdcdata TYPE bdcdata OCCURS 0 WITH HEADER LINE.
DATA:decide_scr(3) VALUE 0,
decide_scr1(3) VALUE 0.
DATA:gs_layout TYPE slis_layout_alv .
DATA: ls_line TYPE slis_listheader.
DATA:gt_list_top_of_page TYPE slis_t_listheader.
DATA:wa_fieldcat TYPE slis_fieldcat_alv.
DATA:fieldcat TYPE slis_t_fieldcat_alv.
DATA:i_layout TYPE slis_layout_alv.
DATA:BEGIN OF it_plaf OCCURS 0,
matnr TYPE plmat,
plnum TYPE plnum,
auffx type plafx,
pedtr type pedtr,
gsmng type p decimals 0 ,
tlmng type p decimals 0,
chk,
ws_color(4),
END OF it_plaf.
DATA: ref_grid TYPE REF TO cl_gui_alv_grid.
DATA:it_plafc LIKE STANDARD TABLE OF it_plaf WITH HEADER LINE.
DATA: opt TYPE ctu_params.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-s01.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (15) FOR FIELD p_plant .
SELECTION-SCREEN POSITION 31 .
PARAMETERS : p_plant LIKE caufvd-werks default '3110'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (30) FOR FIELD s_matnr.
SELECTION-SCREEN POSITION 28 .
SELECT-OPTIONS: s_matnr FOR caufvd-matnr MODIF ID p2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (30) FOR FIELD p_all.
SELECTION-SCREEN POSITION 31 .
PARAMETERS: p_all RADIOBUTTON GROUP g USER-COMMAND usr DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (30) FOR FIELD p_par.
SELECTION-SCREEN POSITION 31 .
PARAMETERS: p_par RADIOBUTTON GROUP g .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1 .
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-s02 .
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (30) FOR FIELD s_pono.
SELECTION-SCREEN POSITION 28 .
SELECT-OPTIONS: s_pono FOR ioheader-aufnr .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (30) FOR FIELD p_clr.
SELECTION-SCREEN POSITION 32 .
PARAMETERS: p_clr AS CHECKBOX USER-COMMAND usr DEFAULT ' '.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
INITIALIZATION.
p_clr = ' '.
LOOP AT SCREEN.
IF screen-group1 = 'P2' AND p_all = 'X'.
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'P2' AND p_all = ' '.
screen-active = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
SET PF-STATUS 'ZSTANDARD'.
IMPORT decide_scr TO decide_scr1 FROM DATABASE indx(st) ID 'ZMY_VALUE'.
CONDENSE decide_scr1.
LOOP AT SCREEN.
IF decide_scr1 EQ 1.
IF screen-name EQ 'S_MATNR-LOW'
OR screen-name EQ 'S_MATNR-HIGH'
OR screen-name EQ '%_S_MATNR_%_APP_%-TO_TEXT'
OR screen-name EQ '%_S_MATNR_%_APP_%-OPTI_PUSH'
OR screen-name EQ '%BS02016_BLOCK_1000'
OR screen-name EQ '%F%_S018_1000'
OR screen-name EQ '%_P_PLANT_%_APP_%-OPTI_PUSH'
OR screen-name EQ 'P_PLANT-HIGH'
OR screen-name EQ '%_P_PLANT_%_APP_%-TO_TEXT'
OR screen-name EQ 'P_PLANT-LOW'
OR screen-name EQ '%_P_PLANT_%_APP_%-VALU_PUSH'
OR screen-name EQ '%_S_MATNR_%_APP_%-VALU_PUSH'
OR screen-name EQ '%F%_S004_1000'
OR screen-name EQ '%F%_S011_1000'
OR screen-name EQ '%F%_S025_1000'
OR screen-name EQ 'P_PAR'
OR screen-name EQ 'P_ALL'
OR screen-name EQ 'P_PLANT'
OR screen-name EQ '%BS02030_BLOCK_1000'.
screen-active = '0'. " Invisible.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ 'S_PONO-LOW'
OR screen-name EQ 'S_PONO-HIGH'
OR screen-name EQ '%_S_PONO_%_APP_%-TO_TEXT'
OR screen-name EQ '%_S_PONO_%_APP_%-OPTI_PUSH'
OR screen-name EQ '%BS01000_BLOCK_1000'
OR screen-name EQ '%F%_S032_1000'
OR screen-name EQ '%_S_PONO_%_APP_%-VALU_PUSH'
OR screen-name EQ '%_17SNS0000063820_%_%_%_%_%_%_'
OR screen-name EQ '%BS02030_BLOCK_1000'
OR screen-name EQ 'P_CLR'.
screen-active = '1'. " Invisible.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF decide_scr1 NE 1.
IF screen-name EQ 'S_MATNR-LOW'
OR screen-name EQ 'S_MATNR-HIGH'
OR screen-name EQ '%_S_MATNR_%_APP_%-TO_TEXT'
OR screen-name EQ '%_S_MATNR_%_APP_%-OPTI_PUSH'
OR screen-name EQ '%BS02016_BLOCK_1000'
OR screen-name EQ '%F%_S018_1000'
OR screen-name EQ '%_P_PLANT_%_APP_%-OPTI_PUSH'
OR screen-name EQ 'P_PLANT-HIGH'
OR screen-name EQ '%_P_PLANT_%_APP_%-TO_TEXT'
OR screen-name EQ 'P_PLANT-LOW'
OR screen-name EQ '%_P_PLANT_%_APP_%-VALU_PUSH'
OR screen-name EQ '%_S_MATNR_%_APP_%-VALU_PUSH'
OR screen-name EQ '%F%_S004_1000'
OR screen-name EQ '%F%_S011_1000'
OR screen-name EQ '%F%_S025_1000'
OR screen-name EQ 'P_PAR'
OR screen-name EQ 'P_ALL'
OR screen-name EQ 'P_PLANT'
OR screen-name EQ '%BS02030_BLOCK_1000'.
screen-active = '1'. " Invisible.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ 'S_PONO-LOW'
OR screen-name EQ 'S_PONO-HIGH'
OR screen-name EQ '%_S_PONO_%_APP_%-TO_TEXT'
OR screen-name EQ '%_S_PONO_%_APP_%-OPTI_PUSH'
OR screen-name EQ '%BS02016_BLOCK_1000'
OR screen-name EQ '%F%_S032_1000'
OR screen-name EQ '%_S_PONO_%_APP_%-VALU_PUSH'
OR screen-name EQ '%_17SNS0000063820_%_%_%_%_%_%_'
OR screen-name EQ '%BS02030_BLOCK_1000'
OR screen-name EQ 'P_CLR'.
screen-active = '0'. " Invisible.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN OUTPUT.
IF p_clr EQ 'X'.
decide_scr = 0.
EXPORT decide_scr TO DATABASE indx(st) ID 'ZMY_VALUE'.
p_clr = ' '.
ENDIF.
IMPORT decide_scr TO decide_scr1 FROM DATABASE indx(st) ID 'ZMY_VALUE'.
CONDENSE decide_scr1.
LOOP AT SCREEN.
IF decide_scr1 EQ 1.
IF screen-name EQ 'S_MATNR-LOW'
OR screen-name EQ 'S_MATNR-HIGH'
OR screen-name EQ '%_S_MATNR_%_APP_%-TO_TEXT'
OR screen-name EQ '%_S_MATNR_%_APP_%-OPTI_PUSH'
OR screen-name EQ '%BS02016_BLOCK_1000'
OR screen-name EQ '%F%_S018_1000'
OR screen-name EQ '%_P_PLANT_%_APP_%-OPTI_PUSH'
OR screen-name EQ 'P_PLANT-HIGH'
OR screen-name EQ '%_P_PLANT_%_APP_%-TO_TEXT'
OR screen-name EQ 'P_PLANT-LOW'
OR screen-name EQ '%_P_PLANT_%_APP_%-VALU_PUSH'
OR screen-name EQ '%_S_MATNR_%_APP_%-VALU_PUSH'
OR screen-name EQ '%F%_S004_1000'
OR screen-name EQ '%F%_S011_1000'
OR screen-name EQ '%F%_S025_1000'
OR screen-name EQ 'P_PAR'
OR screen-name EQ 'P_ALL'
OR screen-name EQ 'P_PLANT'
OR screen-name EQ '%BS02030_BLOCK_1000'.
screen-active = '0'. " Invisible.
MODIFY SCREEN.
ENDIF.
‎2008 Jun 18 10:19 AM
hi use this code
SELECT-OPTIONS : VBELN1 for VBAK-vbeln MODIF ID mo1,
EBELN1 for EKKO-EBELN modif id mo2.
PARAMETERS : RED1 RADIOBUTTON GROUP one USER-COMMAND radio,
RED2 radiobutton GROUP one.
AT SELECTION-SCREEN output.
loop AT SCREEN.
if screen-group1 = 'MO1'.
SCREEN-Active = 0.
ENDIF.
if RED2 = 'X'.
if screen-group1 = 'MO1'.
SCREEN-Active = 0.
elseif screen-group1 = 'MO2'.
SCREEN-Active = 1.
endif.
endif.
if RED1 = 'X'.
if screen-group1 = 'MO1'.
SCREEN-Active = 1.
elseif screen-group1 = 'MO2'.
SCREEN-Active = 0.
endif.
endif.
MODIFY SCREEN.
endloop.
Rewards points if helpful
Regards
amit
‎2008 Jun 18 10:20 AM
Hi
select-options:
P_S2(10) TYPE C MODIF ID S2.
at selection-screen output.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'S2'.
SCREEN-INPUT = '1'.
SCREEN-INVISIBLE = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
‎2008 Jun 18 10:21 AM
Hi,
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF cb_mat = 'X'.
IF screen-group1 = 'ID2'.
screen-input = 0.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Hope this helps you.
‎2008 Jun 18 10:21 AM
Hi,
Go through the below code your problem will be solved.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME .
SELECT-OPTIONS:
s_erdat FOR vbak-erdat. " Created date
PARAMETERS:
p_sales RADIOBUTTON GROUP rad1 USER-COMMAND cli," DEFAULT 'X',
p_purch RADIOBUTTON GROUP rad1,
p_pplan RADIOBUTTON GROUP rad1.
PARAMETER: p_lowest AS CHECKBOX.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME .
*PARAMETERS:
* p_plland LIKE vbpa-land1, " Ship From
* p_shland LIKE vbpa-land1, " Ship to
* p_stland LIKE vbpa-land1 MODIF ID 001. " Sold To
SELECT-OPTIONS: s_pland1 FOR vbpa-land1, "ship from
s_pshlan FOR vbpa-land1, "ship to
s_stland FOR vbpa-land1 MODIF ID 001.
" Sold to
SELECT-OPTIONS:
s_vkorg FOR vbak-vkorg MODIF ID 001,
" Sales Organization.
s_ekorg FOR ekko-ekorg MODIF ID 002,
" Purchase Organisation
s_cust FOR vbak-kunnr MODIF ID 001,
s_vend FOR lfa1-lifnr MODIF ID 002,
s_matnr FOR mara-matnr,
s_werks FOR marc-werks.
SELECTION-SCREEN END OF BLOCK b3.
SELECTION-SCREEN END OF BLOCK b1.
IF w_flag = ' '.
p_sales = 'X'.
p_purch = ' '.
p_pplan = ' '.
LOOP AT SCREEN.
IF screen-group1 = '001'.
screen-active = 1.
MODIFY SCREEN.
ELSEIF screen-group1 = '002'.
screen-active = 0.
MODIFY SCREEN.
ENDIF. " IF screen-group1 = '001'.
ENDLOOP. " LOOP AT SCREEN.
ELSEIF w_flag = 'X'.
p_sales = ' '.
p_purch = 'X'.
p_pplan = ' '.
LOOP AT SCREEN.
IF screen-group1 = '002'.
screen-active = 1.
MODIFY SCREEN.
ELSEIF screen-group1 = '001'.
screen-active = 0.
MODIFY SCREEN.
ENDIF. " IF screen-group1 = '002'.
ENDLOOP. " LOOP AT SCREEN.
ELSE.
p_sales = ' '.
p_purch = ' '.
p_pplan = 'X'.
LOOP AT SCREEN.
screen-active = 1.
MODIFY SCREEN.
ENDLOOP. " LOOP AT SCREEN.
ENDIF. " IF w_flag1 = 0.Reward some points.
Regards,
Anomitro
‎2008 Jun 18 10:22 AM
hi!
Try by using AT selection-screen output.
at selection-screen output.
loop at screen.
if checkbox1 = 'X'
if screen-name = 'xxxx'
screen-active = 0.
endif.
endif.
endloop.
crate modif id for all the parameters u have used as an input and implement these names in screen-name.
Reward me if useful.
Regards,
Nagulan
‎2008 Jun 18 10:24 AM
hi,
Please copy and paste following code.
REPORT xyz.
TABLES: mara.
SELECT-OPTIONS: s_matnr FOR mara-matnr.
PARAMETERS: p_check AS CHECKBOX USER-COMMAND cmd.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'S_MATNR-LOW' OR
screen-name = 'S_MATNR-HIGH'.
IF NOT p_check IS INITIAL.
screen-input = 1.
MODIFY SCREEN.
ELSE.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
Regards,
Yellappa.
‎2008 Jun 18 10:25 AM
Hi ,
Try this.
Use at USER Command when declaring the Check box.
PARAMETERS :
pa_veh AS CHECKBOX USER-COMMAND cmd1.
pa_npveh AS CHECKBOX .
AT SELECTION-SCREEN OUTPUT.
If pa_veh NE 'X'.
LOOP AT SCREEN.
IF screen-name = 'PA_NPVEH'.
screen-Active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
eNDIF.
Regards,
Sachin M M
Edited by: Sachin Mathapati on Jun 18, 2008 2:57 PM
‎2008 Jun 18 10:26 AM
check this report click the check box and press enter
report .
parameters: p_c as checkbox .
parameters:p_test type i .
at selection-screen output .
loop at screen.
if p_c = 'X'.
if screen-name = 'P_TEST'.
screen-active = 0.
modify screen.
endif.
if screen-name = '%_P_TEST_%_APP_%-TEXT'.
screen-active = 0.
modify screen.
endif.
endif.
endloop.
‎2008 Jun 18 10:30 AM
hiii
you can do it by using following code
AT SELECTION-SCREEN OUTPUT .
IF p_rad2 IS INITIAL .
LOOP AT SCREEN.
IF screen-name CS 'p_docno'.
screen-active = 0.
MODIFY SCREEN.
ENDIF. " IF screen-name CS 'p_docno'.
ENDLOOP. " LOOP AT SCREEN.
ELSE.
LOOP AT SCREEN .
IF screen-name CS 'p_docno'.
screen-active = 1.
screen-input = 1.
MODIFY SCREEN.
ENDIF. " IF screen-name CS 'p_docno'.
ENDLOOP. " LOOP AT SCREEN .ENDIF. " IF p_rad2 IS INITIA
reward if useful
thx
twinkal
‎2008 Jun 18 10:38 AM
Hi,
Go through the following code. This ,meets your requirement.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS :
PPRES as CHECKBOX USER-COMMAND UC,
PAPPS as CHECKBOX USER-COMMAND UC.
SELECTION-SCREEN : END OF BLOCK B1.
SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS : SFPATH LIKE RLGRAP-FILENAME MODIF ID SG1,
SFAPATH LIKE RLGRAP-FILENAME MODIF ID SG2.
SELECTION-SCREEN : END OF BLOCK B2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SG1'.
SCREEN-INPUT = '0'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'SG2'.
SCREEN-INPUT = '0'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
IF PPRES = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SG2' .
SCREEN-INPUT = '0'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'SG1'.
SCREEN-INPUT = '1'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF PAPPS = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SG1' .
SCREEN-INPUT = '0'.
REFRESH SFPATH.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'SG2'.
SCREEN-INPUT = '1'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Reward points if helpful.
Thanks and regards
‎2008 Jun 18 10:44 AM
Hi
select-options:
s_carrid for spfli-carrid modif car.
parameters:
p_check as checkbox.
at selection-screen output.
if w_flag eq 'x'.
loop at screen.
if screen-group1 = 'car'.
screen-active = 0.
modify screen.
endif.
endloop.
else.
loop at screen.
if screen-group1 = 'car'.
screen-active = 1.
modify screen.
endif.
endloop.
endif.
at selection-screen.
if p_check eq 'x'.
w_flag = 'X'.
endif.
Hope it will be helpful to u.
regards
Manjari
‎2008 Dec 19 8:02 AM