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 design

Former Member
0 Likes
1,129

Hi Friends,

I need your valuable suggestions to understand about NO-DISPLAY addition.

In selection screen event I have declared a parameter as like below

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

PARAMETERS: p_layout TYPE slis_vari NO-DISPLAY,

p_matnr TYPE matnr.

SELECTION-SCREEN END OF BLOCK blk2.

So when we execute our program we can see only the p_matnr in the output selection screen, (p_layout will not be displayed due to the addition NO-DISPLAY). But I want to display the parameter p_layout In the output screen (with the addition NO-DISPLAY).

If we press F1 help on no-display, it is saying that using call-function we can display the parameter p_layout in the output display. i dont know which Function module can handle this.

If any one knows how to display the parameter p_layout in the output screen please give me the details.

Note: I am just trying whether it is possible or not. (calling some other screen or removing no-display we can solve this problem but i like to find out the the function module which can display the parameter p_layout ).

Thanks,

Manikumar

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
988

Hi Manikumar,

Please check this link

http://help.sap.com/saphelp_nw70/helpdata/en/9f/dba6aa35c111d1829f0000e829fbfe/content.htm

Hiding Input Fields

To suppress the display of the input field on the selection screen, you use the following syntax:

PARAMETERS p ...... NO-DISPLAY ......

Although parameter p is declared, it is not displayed on the selection screen.

If the parameter belongs to the standard selection screen, you can assign a value to it either by using the DEFAULT addition when you declare it, or during the INITIALIZATION event. If you call the executable program using the SUBMIT statement, the calling program can also pass the value.

When you use user-defined selection screens, you can assign a value to the parameter at any time before calling the selection screen.

If you want to display a parameter only in certain cases, for example, depending on the values entered by the user in other input fields of the selection screen, you cannot use the NO-DISPLAY addition. If you use NO-DISPLAY, the parameter actually is an element of the interface for program calls, but not an element of the selection screen. As a result, you cannot make it visible using the MODIFY SCREEN statement.

To hide a parameter that is an element of the selection screen, you must declare it without the NO-DISPLAY addition and suppress its display using the MODIFY SCREEN statement.

Best regards,

raam

4 REPLIES 4
Read only

Former Member
0 Likes
988

Hi,

I think u have to use loop at screen statement screen is an itab which stores ur screen contents, and u can change the attributes of contents like IO field in your case .

and that field visible attribute has to set 1.

Regds,

Murali

Read only

Former Member
0 Likes
988

Hi,

And to be more clear about this go through it,

Syntax

LOOP AT SCREEN [INTO wa].

...

ENDLOOP.

Effect

The statements LOOP AT SCREEN ... ENDLOOP define a loop around a statement block. For every screen element of the current dynpro, to which a dynpro field is assigned, one loop pass is executed. After the LOOP statement either the predefined workarea screen or the workarea wa (when using INTO) contains the properties of the respective screen element. wa must have the same data type as screen.

While processing a table control or a step loop (that is, within a LOOP loop of the dynpro flow logic), for its screen elements the current properties are determined in the current row or group. Outside of the processing of a table control or step loop, for its screen elements the statically predefined properties of all rows or groups are determined.

The table below shows the components of screen and their assignment to the field properties in the dynpro.

Component Length Type Attribute Description

name 132 c Name Name

group1 3 c Group1 Modification group

group2 3 c Group2 Modification group

group3 3 c Group3 Modification group

group4 3 c Group4 Modification group

required 1 c Required-entry field Mandatory field

input 1 c Input input-enabled field

output 1 c Output display field

intensified 1 c Intensified intensified field

invisible 1 c Invisible invisible element

length 1 x visLength Field length

active 1 c Input/Output/Invisible active field

display_3d 1 c Two-dimensional Box

value_help 1 c Input help Input help key

request 1 c - Input exists

values_in_combo 1 c Dropdown listbox Value help exists

The component name in the loop contains the name of the current dynpro field. The components group1 to group4 can contain three-character IDs, which were assigned to the current screen element in its definition. These IDs allow you to combine the screen elements in up to four different modification groups. In the statement block after LOOP AT SCREEN, these can be queried in logical expressions in order to process several elements in the same way.

The other components of table screen represent the display properties of the current screen element. With the exception of length, they can contain 0 or 1, where 1 is "active" and 0 is "inactive".

Except active, all components of structure screen directly correspond to one attribute of the current screen element. The component active has no match in the attributes. If you change its content with MODIFY SCREEN, this affects the attributes Input, Output and Invisible and thus the components input, output and invisible of structure screen.

Notes

As of release 6.20, structure screen is described by data type SCREEN in the ABAP Dictionary. With release 6.10, it was determined by type syscr_screen of type group SYSCR. Before release 6.10, it was created system-internally with a bound data type.

The statement LOOP AT SCREEN behaves similarly to the statement LOOP in a loop on an internal table with header line, where instead of an internal table a system table is used.

Regds,

Murali.

Read only

Former Member
0 Likes
988

Just use loop at screen and check in the IF statement if it is your no display parameter , just make it active as belo .

loop at screen.

IF SCREEN-NAME EQ PARAMETER.

screen-active = 1.

modify Screen.

endloop.

Read only

Former Member
0 Likes
989

Hi Manikumar,

Please check this link

http://help.sap.com/saphelp_nw70/helpdata/en/9f/dba6aa35c111d1829f0000e829fbfe/content.htm

Hiding Input Fields

To suppress the display of the input field on the selection screen, you use the following syntax:

PARAMETERS p ...... NO-DISPLAY ......

Although parameter p is declared, it is not displayed on the selection screen.

If the parameter belongs to the standard selection screen, you can assign a value to it either by using the DEFAULT addition when you declare it, or during the INITIALIZATION event. If you call the executable program using the SUBMIT statement, the calling program can also pass the value.

When you use user-defined selection screens, you can assign a value to the parameter at any time before calling the selection screen.

If you want to display a parameter only in certain cases, for example, depending on the values entered by the user in other input fields of the selection screen, you cannot use the NO-DISPLAY addition. If you use NO-DISPLAY, the parameter actually is an element of the interface for program calls, but not an element of the selection screen. As a result, you cannot make it visible using the MODIFY SCREEN statement.

To hide a parameter that is an element of the selection screen, you must declare it without the NO-DISPLAY addition and suppress its display using the MODIFY SCREEN statement.

Best regards,

raam