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: 

reports selection-screen

Former Member
0 Kudos

hi

i am giving some coding if i select radio button p_dir it must enable s_prod and s_mgroup. if i select radio button p_sel it must enable first five select-options. i am not getting out put.

SELECTION-SCREEN : BEGIN OF BLOCK blck1 WITH FRAME TITLE text-001.

SELECT-OPTIONS : s_bukrs FOR t001-bukrs OBLIGATORY MODIF ID dir,

s_date FOR sy-datum MODIF ID dir,

s_bezei FOR t005u-bezei MODIF ID dir,

s_kunnr FOR kna1-kunnr MODIF ID dir,

s_vtweg FOR tvtw-vtweg MODIF ID dir,

s_prod FOR t179t-vtext MODIF ID sel,

s_mgroup FOR t023t-matkl MODIF ID sel.

SELECTION-SCREEN : END OF BLOCK blck1.

SELECTION-SCREEN : BEGIN OF BLOCK blck3 WITH FRAME TITLE text-003.

PARAMETER : p_sel RADIOBUTTON GROUP grp1 default 'X'.

PARAMETER : p_dir RADIOBUTTON GROUP grp1.

SELECTION-SCREEN : END OF BLOCK blck3.

AT SELECTION-SCREEN output.

LOOP AT SCREEN.

IF screen-group1 EQ 'DIR'.

IF p_dir EQ 'X'.

screen-input = 0.

MODIFY SCREEN.

CLEAR: s_bukrs, s_date,s_bezei,s_kunnr,s_vtweg.

ELSEIF p_sel EQ 'X'.

screen-input = 1.

MODIFY SCREEN.

ENDIF.

IF p_dir EQ 'X'.

IF NOT s_bukrs IS INITIAL OR

s_date IS INITIAL OR

s_bezei IS INITIAL OR

s_kunnr IS INITIAL OR

s_vtweg IS INITIAL.

screen-input = 0.

MODIFY SCREEN.

REFRESH : s_bukrs, s_date, s_bezei,s_kunnr,s_vtweg.

ENDIF.

ENDIF.

ENDIF.

IF screen-group1 EQ 'SEL'.

IF p_dir EQ 'X'.

screen-input = 1.

MODIFY SCREEN.

ELSEIF p_sel EQ 'X'.

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDIF.

5 REPLIES 5

former_member386202
Active Contributor
0 Kudos

Hi,

Refer this code.

----


  • INTERNAL TABLES *

----


DATA : it_pa0000 TYPE STANDARD TABLE OF t_pa0000,

it_pa0001 TYPE STANDARD TABLE OF t_pa0001,

it_pa0008 TYPE STANDARD TABLE OF t_pa0008,

it_t001p TYPE STANDARD TABLE OF t_t001p,

it_t510 TYPE STANDARD TABLE OF t_t510,

it_pa2010 TYPE STANDARD TABLE OF t_pa2010,

it_catsdb TYPE STANDARD TABLE OF t_catsdb,

it_final TYPE STANDARD TABLE OF t_final,

it_final2 TYPE STANDARD TABLE OF t_final2,

it_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,

it_fieldcat1 TYPE slis_t_fieldcat_alv WITH HEADER LINE.

----


  • PARAMETERS & SELECT-OPTIONS *

----


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

PARAMETERS : p_pay1 RADIOBUTTON GROUP grp USER-COMMAND fc DEFAULT 'X',

p_pay2 RADIOBUTTON GROUP grp.

SELECTION-SCREEN END OF BLOCK b1.

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

SELECT-OPTIONS : s_pernr FOR pa0000-pernr. "Personnel Number

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (31) text-018.

PARAMETERS : p_begda LIKE pa0000-begda OBLIGATORY. "Start Date

SELECTION-SCREEN COMMENT 52(05) text-019.

PARAMETERS : p_endda LIKE pa0000-endda OBLIGATORY. "End Date

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS : s_stat2 FOR pa0000-stat2, "Status

s_werks FOR pa0001-werks, "Personnel Area

s_raufnr FOR catsdb-raufnr MODIF ID md1. "Internal Order Number

SELECTION-SCREEN END OF BLOCK b2.

----


  • AT SELECTION-SCREEN *

----


AT SELECTION-SCREEN OUTPUT.

IF p_pay1 EQ 'X'.

LOOP AT SCREEN.

IF screen-group1 = 'MD1'.

screen-active = '1'.

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSEIF p_pay2 EQ 'X'.

LOOP AT SCREEN.

IF screen-group1 = 'MD1'.

screen-active = '1'.

screen-input = '1'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

Regards,

Prashant

Former Member
0 Kudos

Hi

Try this:

SELECTION-SCREEN : BEGIN OF BLOCK blck1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_bukrs FOR t001-bukrs OBLIGATORY MODIF ID dir,
                               s_date FOR sy-datum MODIF ID dir,
                               s_bezei FOR t005u-bezei MODIF ID dir,
                               s_kunnr FOR kna1-kunnr MODIF ID dir,
                               s_vtweg FOR tvtw-vtweg MODIF ID dir,
                               s_prod FOR t179t-vtext MODIF ID sel,
                               s_mgroup FOR t023t-matkl MODIF ID sel.
SELECTION-SCREEN : END OF BLOCK blck1.



SELECTION-SCREEN : BEGIN OF BLOCK blck3 WITH FRAME TITLE text-003.
PARAMETER : p_sel RADIOBUTTON GROUP grp1 default 'X' user-command AAA.
PARAMETER : p_dir RADIOBUTTON GROUP grp1.
SELECTION-SCREEN : END OF BLOCK blck3.

AT SELECTION-SCREEN output.

    LOOP AT SCREEN.

      CASE screen-group1.
        WHEN 'DIR'.
           IF P_SEL = 'X'. SCREEN-INPUT = 0. ENDIF.
        WHEN 'SEL'.
           IF P_DIR = 'X'. SCREEN-INPUT = 0. ENDIF.
      ENDCASE..
      MODIFY SCREEN.

   ENDLOOP.

Max

0 Kudos

hi max

ur reply is good but if by default p_sel radiobutton is on and last two select-options are enabled. if i select p_dir radiobutton last two are disabled and first five are enabled and again i select p_dir it is not enabling last two options can u chek and tell me immediately definetly i will give reward points.

thanks

Former Member
0 Kudos

try using screen-active

Former Member
0 Kudos

hi SAME REQUIRMENT

SEE HERE

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 <b>MODIF ID S1.</b>

SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS <b>MODIF ID S2.</b>

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***********************

<b>***********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>

***************SCREEN VALIDATIONS *****************

at selection-screen.

SELECT SINGLE *

FROM EKKO

INTO EKKO

WHERE EBELN IN S_EBELN.

IF SY-SUBRC <> 0.

SET CURSOR FIELD 'S_EBELN-LOW'.

MESSAGE E999 WITH TEXT-005.

ENDIF.

********end of screen validation*****************

START-OF-SELECTION.

*set pf-status '100'.

IF R1 EQ 'X'.

SELECT MATNR

WERKS

PSTAT

EKGRP

FROM MARC

INTO TABLE IT_PLANT

WHERE WERKS = P_WERKS.

LOOP AT IT_PLANT.

WRITE : SY-VLINE , 2 IT_PLANT-MATNR COLOR COL_KEY,

21 SY-VLINE , 22 IT_PLANT-WERKS COLOR COL_KEY,

27 SY-VLINE ,28 IT_PLANT-PSTAT COLOR COL_NORMAL,

43 SY-VLINE ,44 IT_PLANT-EKGRP COLOR COL_NORMAL.

ENDLOOP.

ENDIF.

IF R2 EQ 'X'.

SELECT EBELN EBELP MATNR WERKS LGORT

FROM EKPO

INTO TABLE IT_PONO

WHERE EBELN IN S_EBELN.

LOOP AT IT_PONO.

WRITE : SY-VLINE , 2 IT_PONO-EBELN COLOR COL_KEY,

12 SY-VLINE , 13 IT_PONO-EBELP COLOR COL_KEY,

18 SY-VLINE , 19 IT_PONO-MATNR COLOR COL_NORMAL,

37 SY-VLINE , 38 IT_PONO-WERKS COLOR COL_NORMAL,

44 SY-VLINE , 45 IT_PONO-LGORT COLOR COL_NORMAL, 49 SY-VLINE..

ENDLOOP.

ENDIF.

TOP-OF-PAGE.

IF R1 EQ 'X'.

*ULINE AT /1(48).

WRITE : SY-VLINE ,2 'MATERIAL NUMBER',

21 SY-VLINE , 22 'PLANT',

27 SY-VLINE , 28 'STATUS',

43 SY-VLINE , 44 'GRUP', 48 SY-VLINE.

ULINE AT /1(48).

ENDIF.

IF R2 EQ 'X'.

WRITE : SY-VLINE , 2 'PO NUMBER',

12 SY-VLINE, 13 'ITEM',

18 SY-VLINE,19 'MATERIAL NUMBER',

37 SY-VLINE, 38 'PLANT',

44 SY-VLINE, 45 'GRUP',

49 SY-VLINE.

ULINE AT /1(50).

ENDIF.

END-OF-PAGE.

ULINE AT /1(50).

WRITE :/10 'PAGE NUMBER', SY-PAGNO.