Application Development 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: 

problem with checkbox in the selection screen

Former Member
0 Kudos

Hi guys,

I have a problem with the check box in the selection screen.When i select a check box then a field in the selection screen should be enabled for entering a value.Again if i unselect the checkbox then the field should be disabled for entering a value.I have written the code in at selection-screen output.

The problem is when i select the check box ,the field is not enabled.But when i press enter after selecting the checkbox then the field is enabled for input.It is the same when i unselect the checkbox,after i press enter only the field is getting disabled.What could be the problem.Any suggestions please?

Thanks.

7 REPLIES 7

sreeramkumar_madisetty
Active Contributor
0 Kudos

Hi

Use <b>Modif Id</b> additionally.

Have a look on the below code:

PARAMETERS: p_cb1 AS CHECKBOX MODIF ID CHK.

"default 'X'. "Check box for Material Master checkbox

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF P_RD_REP = 'X'.

IF SCREEN-GROUP1 = 'CHK'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ELSE.

IF SCREEN-GROUP1 = 'RDB'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDIF.

ENDLOOP.

Regards,

Sree

0 Kudos

I hope this prog will clear all your doubts !!

DATA: FLAG TYPE I.

SELECTION-SCREEN SKIP 2.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: RB1 RADIOBUTTON GROUP G1 USER-COMMAND GROUP1.

SELECTION-SCREEN COMMENT 4(15) COMM1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 4(15) COMM4.

PARAMETERS: TEXTBOX1(10) VISIBLE LENGTH 7 .

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN SKIP 2.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: RB2 RADIOBUTTON GROUP G1 DEFAULT 'X'.

SELECTION-SCREEN COMMENT 4(15) COMM2.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 4(15) COMM3.

PARAMETERS: TEXTBOX(10) VISIBLE LENGTH 7 .

SELECTION-SCREEN END OF LINE.

****************************************

INITIALIZATION.

COMM1 = 'CASH PAYMENT'.

COMM2 = 'CREDIT CARD'.

COMM3 = 'CCARD NUM'.

COMM4 = 'ENTER AMOUNT'.

****************************

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF RB1 = 'X' AND SCREEN-NAME = 'TEXTBOX'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

CONTINUE.

ENDIF.

IF RB2 = 'X' AND SCREEN-NAME = 'TEXTBOX'.

SCREEN-INPUT = 1.

MODIFY SCREEN.

CONTINUE.

ENDIF.

IF RB1 = 'X' AND SCREEN-NAME = 'TEXTBOX1'.

SCREEN-INPUT = 1.

MODIFY SCREEN.

CONTINUE.

ENDIF.

IF RB2 = 'X' AND SCREEN-NAME = 'TEXTBOX1'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

CONTINUE.

ENDIF.

ENDLOOP.

hymavathi_oruganti
Active Contributor
0 Kudos

post ur cde for thislogic , we may correct and resned it to u.

cod it in

<b>at selection screen output</b> event.

loop at sceen and modify screen

Former Member
0 Kudos

Hi

at selection-screen output event will be triggered after you do any action on the screen

i think you had writen in this way it self

i am not used check box here i had used radiobutton

REPORT ZNNR_REPORT NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).

******DATA DECLARATIONS**********

DATA : BEGIN OF IT_PLANT OCCURS 0,

MATNR LIKE MARA-MATNR,

WERKS LIKE MARC-WERKS,

PSTAT LIKE MARC-PSTAT,

EKGRP LIKE MARC-EKGRP,

END OF IT_PLANT.

DATA : BEGIN OF IT_PONO OCCURS 0,

EBELN LIKE EKKO-EBELN,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

WERKS LIKE EKPO-WERKS,

LGORT LIKE EKPO-LGORT,

END OF IT_PONO.

TABLES EKKO.

********END OF DATA DECLARATIONS*********

********SELECTION SCREEN DESIGN ***********

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.

SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S2.

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X'.

SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : R2 RADIOBUTTON GROUP G1.

SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B2.

******END OF SELECTION SCREEN DESIGN****************

*********INITIALIZATION OF SELECTION SCREEN ELEMENTS.*****

INITIALIZATION.

P_WERKS = '1000'.

S_EBELN-LOW = '4500016926'.

S_EBELN-OPTION = 'EQ'.

S_EBELN-SIGN = 'I'.

APPEND S_EBELN.

CLEAR S_EBELN.

************END OF INITIALIZATION***********************

***********SCREEN MODIFICATIONS*******************

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF R1 EQ 'X' AND SCREEN-GROUP1 EQ 'S2'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

IF R2 EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

********END OF SCREEN MODIFICATIONS*****************

<b>Reward if usefull</b>

Former Member
0 Kudos

USE FOLLOWING CODE:

REPORT ZZZ_NAMTEMP.

SELECTION-SCREEN: BEGIN OF BLOCK B1.

PARAMETERS: A TYPE C AS CHECKBOX USER-COMMAND ABC.

PARAMETERS: KUNNR TYPE KNA1-KUNNR.

SELECTION-SCREEN: END OF BLOCK B1.

AT SELECTION-SCREEN OUTPUT.

IF A = 'X'.

LOOP AT SCREEN.

IF SCREEN-NAME = 'KUNNR'.

SCREEN-INPUT = 0.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

POINTS PLEASE..........

Former Member
0 Kudos

Hi d p

Please try this code . I think this code have some way that you would like.

REPORT zdownload_to_application_server.

TABLES : caufvd, jest.

----


  • I N C L U D E P R O G R A M *

----


*INCLUDE znrpstnd.

----


  • Selection Screen *

----


SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t03.

PARAMETERS: p_outb RADIOBUTTON GROUP g1 USER-COMMAND outb DEFAULT 'X' ,

p_inb RADIOBUTTON GROUP g1.

SELECTION-SCREEN END OF BLOCK b3.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.

PARAMETERS : p_werks LIKE caufvd-werks MODIF ID a. " Plant "OBLIGATORY

SELECT-OPTIONS : s_auart FOR caufvd-auart MODIF ID a, " Order Type

s_aufnr FOR caufvd-aufnr MODIF ID a. " Order number

PARAMETERS: p_path TYPE string DEFAULT 'C:\SchedulerInterface-OutboundTextFile\' MODIF ID a,

p_actual AS CHECKBOX MODIF ID a. " Transfer Actual

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.

PARAMETERS : p_werks2 LIKE caufvd-werks MODIF ID b, " Plant "OBLIGATORY

p_path2 TYPE string DEFAULT 'C:\SchedulerInterface-InboundTextFile\' MODIF ID b,

p_path3 TYPE string DEFAULT 'C:\SchedulerInterface-InboundTextFile\' MODIF ID b,

p_sessio TYPE apqi-groupid MODIF ID b. " BDC Session

SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN OUTPUT.

IF p_outb EQ 'X'. " Outbound --> Hide inbound

LOOP AT SCREEN.

"IF screen-name = '%BT02011_BLOCK_1000'.

IF screen-group2 = 'BLK'.

screen-active = 1.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'A'.

screen-active = 1.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'B'.

screen-active = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSE.

LOOP AT SCREEN.

"IF screen-name = '%BT01004_BLOCK_1000'.

IF screen-group3 = 'BLK'.

screen-active = 1.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'A'.

screen-active = 0.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'B'.

screen-active = 1.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path2.

CALL FUNCTION 'WS_FILENAME_GET'

EXPORTING

def_path = 'C:\SchedulerInterface-InboundTextFile\'

mask = ',Text Files,.txt,All files,.*.'

IMPORTING

filename = p_path2

EXCEPTIONS

inv_winsys = 1

no_batch = 2

selection_cancel = 3

selection_error = 4

OTHERS = 5.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path3.

CALL FUNCTION 'WS_FILENAME_GET'

EXPORTING

def_path = 'C:\SchedulerInterface-InboundTextFile\'

mask = ',Text Files,.txt,All files,.*.'

IMPORTING

filename = p_path3

EXCEPTIONS

inv_winsys = 1

no_batch = 2

selection_cancel = 3

selection_error = 4

OTHERS = 5.

TOP-OF-PAGE.

START-OF-SELECTION.

Regards

Wiboon

Former Member
0 Kudos

parameter : txt type mara-matnr modif id md2 .

parameter chk as checkbox user-command U1.

at selection-screen output.

loop at screen.

if chk = 'X' and screen-group1 = 'MD2'.

screen-input = 0.

else.

screen-input = 1.

endif.

modify screen.

endloop.