Application Development and Automation 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: 
Read only

Selection screen fields

Former Member
0 Likes
943

Hi,

I want to group the selection screen fields. where should i group.

I want to group using the modif Id

  • T Y P E S

TYPES:

BEGIN OF TYVBAK,

VBELN TYPE VBAK-VBELN,

AUART TYPE VBAK-AUART,

AUDAT TYPE VBAK-AUDAT,

KUNNR TYPE VBAK-KUNNR,

NETWR TYPE VBAK-NETWR,

END OF TYVBAK.

  • D A T A D E C L A R A T I O N S

DATA:

STVBAK TYPE TYVBAK,

ITVBAK TYPE TABLE OF TYVBAK.

  • S E L E C T I O N S C R E E N

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

SELECT-OPTIONS:

SKUNNR FOR STVBAK-KUNNR.

SELECTION-SCREEN END OF BLOCK B1.

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

SELECT-OPTIONS:

SVBELN FOR STVBAK-VBELN,

SAUDAT FOR STVBAK-AUDAT.

SELECTION-SCREEN END OF BLOCK B2.

    • I N I T I A L I Z A T I O N

*INITIALIZATION.

*

    • FILLING SELECT OPTIONS WITH DEFAULTS

*

  • SKUNNR-SIGN = 'I'.

  • SKUNNR-OPTION = 'BT'.

  • SKUNNR-LOW = '1'.

  • SKUNNR-HIGH = '4000000'.

  • APPEND SKUNNR.

  • T O P O F P A G E

TOP-OF-PAGE.

WRITE:/1'SALES DOC',12 'DOC TYPE',20 'SALES DATE',32 'NETWORTH',60 'CUSTOMER'.

*A T S E L E C T I O N S C R E E N O U T P U T .

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF SCREEN-NAME = 'SVBELN-LOW'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'SVBELN-HIGH'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

where should i group SBVELN and SAUDAT

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
702

Hi,

DO like this. SEE in bold.

  • T Y P E S

TYPES:

BEGIN OF TYVBAK,

VBELN TYPE VBAK-VBELN,

AUART TYPE VBAK-AUART,

AUDAT TYPE VBAK-AUDAT,

KUNNR TYPE VBAK-KUNNR,

NETWR TYPE VBAK-NETWR,

END OF TYVBAK.

  • D A T A D E C L A R A T I O N S

DATA:

STVBAK TYPE TYVBAK,

ITVBAK TYPE TABLE OF TYVBAK.

  • S E L E C T I O N S C R E E N

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

SELECT-OPTIONS:

SKUNNR FOR STVBAK-KUNNR.

SELECTION-SCREEN END OF BLOCK B1.

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

SELECT-OPTIONS:

SVBELN FOR STVBAK-VBELN <b>MODIF ID dsp</b>,

SAUDAT FOR STVBAK-AUDAT.

SELECTION-SCREEN END OF BLOCK B2.

    • I N I T I A L I Z A T I O N

*INITIALIZATION.

*

    • FILLING SELECT OPTIONS WITH DEFAULTS

*

  • SKUNNR-SIGN = 'I'.

  • SKUNNR-OPTION = 'BT'.

  • SKUNNR-LOW = '1'.

  • SKUNNR-HIGH = '4000000'.

  • APPEND SKUNNR.

  • T O P O F P A G E

TOP-OF-PAGE.

WRITE:/1'SALES DOC',12 'DOC TYPE',20 'SALES DATE',32 'NETWORTH',60 'CUSTOMER'.

*A T S E L E C T I O N S C R E E N O U T P U T .

AT SELECTION-SCREEN OUTPUT.

<b>LOOP AT SCREEN.

IF screen-group1 = 'DSP'.

IF SCREEN-NAME = 'SVBELN'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.</b>

If helpful do reward points.

Regards

Azad.

6 REPLIES 6
Read only

Former Member
0 Likes
702

Hi

Instead of SCREEN-NAME use SCREEN-GROUP1 and for your select options give MODIF ID.

As follows

SELECTION-OPTIONS: selcrt for dobj MODIF ID MOD1.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

CHECK SCREEN-GROUP1 = 'MOD1.

SCREEN-REQUIRED = 1.

MODIFY SCREEN.

ENDLOOP.

This is COZ when you use select-options you get TWO fileds on the INPUT screen LOW and HIGH so you have to check for selcrit-low and selctri-high you can avoid all this my assigning a MODIF ID.

See this sample programs for this

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

PARAMETERS: pa_file TYPE rlgrap-filename MODIF ID abc,

pa_lifnr TYPE lfa1-lifnr MODIF ID abc,

pa_vkorg TYPE vbak-vkorg MODIF ID abc.

SELECTION-SCREEN END OF BLOCK b1.

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

PARAMETERS: pa_kunnr TYPE vbak-kunnr MODIF ID def.

SELECT-OPTIONS: s_lifnr FOR gs_lfa1-lifnr MODIF ID def,

s_date FOR gs_lfa1-erdat MODIF ID def,

s_augru FOR gs_vbak-augru MODIF ID def,

s_vbeln FOR gs_vbak-vbeln MODIF ID def.

SELECTION-SCREEN END OF BLOCK b2.

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

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: pa_upd RADIOBUTTON GROUP g1 USER-COMMAND uc01 DEFAULT 'X'."#EC *

SELECTION-SCREEN COMMENT 3(60) text-004 FOR FIELD pa_upd.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: pa_rep RADIOBUTTON GROUP g1 ."#EC *

SELECTION-SCREEN COMMENT 3(60) text-005 FOR FIELD pa_rep.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b3.

IF pa_rep EQ gc_x.

LOOP AT SCREEN.

IF screen-group1 = gc_abc.

screen-input = gc_zero_num.

ELSEIF screen-group1 = gc_def.

screen-active = gc_one_num.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ELSEIF pa_upd EQ gc_x.

*For Reprocessing

LOOP AT SCREEN.

IF screen-group1 = gc_def.

screen-input = gc_zero_num.

ELSEIF screen-group1 = gc_abc.

screen-active = gc_one_num.

ENDIF.

MODIFY SCREEN.

CLEAR pa_upd.

ENDLOOP.

ENDIF.

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

REPORT zrich_001.

PARAMETERS: p_rad1 RADIOBUTTON GROUP grp1 DEFAULT 'X'

user-command chk,

p_rad2 RADIOBUTTON GROUP grp1.

SELECT-OPTIONS: s_datum1 FOR sy-datum MODIF ID d1,

s_datum2 FOR sy-datum MODIF ID d2.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF p_rad1 = 'X'

AND screen-group1 = 'D2'.

screen-active = '0'.

ENDIF.

IF p_rad2 = 'X'

AND screen-group1 = 'D1'.

screen-active = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP

Read only

Former Member
0 Likes
703

Hi,

DO like this. SEE in bold.

  • T Y P E S

TYPES:

BEGIN OF TYVBAK,

VBELN TYPE VBAK-VBELN,

AUART TYPE VBAK-AUART,

AUDAT TYPE VBAK-AUDAT,

KUNNR TYPE VBAK-KUNNR,

NETWR TYPE VBAK-NETWR,

END OF TYVBAK.

  • D A T A D E C L A R A T I O N S

DATA:

STVBAK TYPE TYVBAK,

ITVBAK TYPE TABLE OF TYVBAK.

  • S E L E C T I O N S C R E E N

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

SELECT-OPTIONS:

SKUNNR FOR STVBAK-KUNNR.

SELECTION-SCREEN END OF BLOCK B1.

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

SELECT-OPTIONS:

SVBELN FOR STVBAK-VBELN <b>MODIF ID dsp</b>,

SAUDAT FOR STVBAK-AUDAT.

SELECTION-SCREEN END OF BLOCK B2.

    • I N I T I A L I Z A T I O N

*INITIALIZATION.

*

    • FILLING SELECT OPTIONS WITH DEFAULTS

*

  • SKUNNR-SIGN = 'I'.

  • SKUNNR-OPTION = 'BT'.

  • SKUNNR-LOW = '1'.

  • SKUNNR-HIGH = '4000000'.

  • APPEND SKUNNR.

  • T O P O F P A G E

TOP-OF-PAGE.

WRITE:/1'SALES DOC',12 'DOC TYPE',20 'SALES DATE',32 'NETWORTH',60 'CUSTOMER'.

*A T S E L E C T I O N S C R E E N O U T P U T .

AT SELECTION-SCREEN OUTPUT.

<b>LOOP AT SCREEN.

IF screen-group1 = 'DSP'.

IF SCREEN-NAME = 'SVBELN'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.</b>

If helpful do reward points.

Regards

Azad.

Read only

Former Member
0 Likes
702

In Selection-screen

Parameters: p_m1 like vbak-vbeln modif id mid,

p_m2 like vbfa-vbelv modif id mid,

At selection-screen.

Loop at screen.

Here u can check with modif id.

When screen-group = 'Mid'.

endloop.

Message was edited by:

Sumi Vasu

Read only

Sougata
Active Contributor
0 Likes
702

Try this: (I'm not in front of the system so you might get syntax errors if you copy/paste)

SELECT-OPTIONS:
SVBELN FOR STVBAK-VBELN modif-id 'Z1',
SAUDAT FOR STVBAK-AUDAT modif-id 'Z1'.

Then,

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
 check screen-group = 'Z1'.
 screen-input = 0.
 modify screen.
endloop.

Hope this helps.

Reward points if this info was useful to you.

Cheers,

Sougata.

Read only

Former Member
0 Likes
702

hi

  • S E L E C T I O N S C R E E N

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

SELECT-OPTIONS:

SKUNNR FOR STVBAK-KUNNR.

SELECTION-SCREEN END OF BLOCK B1.

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

SELECT-OPTIONS:

<u><i><b>SVBELN FOR STVBAK-VBELN," here put them into the same group using the below mentioned syntax

SAUDAT FOR STVBAK-AUDAT.</b></i></u>

SELECTION-SCREEN END OF BLOCK B2.

<u><i><b>SVBELN FOR STVBAK-VBELN modif id A ,"

SAUDAT FOR STVBAK-AUDAT modif id A .</b></i></u>

THEN USE THE GROUP AS FOLLOWS

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'A'.

SCREEN-ACTIVE = 1.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

<u><i><b>REWARD POINTS</b></i></u>

SWATI

Read only

Former Member
0 Likes
702

Hi,

In the screen standard table there will be field called group1..After grouping the fields in the code we can use this field to use in groups