‎2008 Jun 19 6:46 AM
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
‎2008 Jun 19 7:00 AM
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
‎2008 Jun 19 6:55 AM
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
‎2008 Jun 19 6:58 AM
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.
‎2008 Jun 19 7:00 AM
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.
‎2008 Jun 19 7:00 AM
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