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

HIDE

Former Member
0 Likes
777

Hi,

Can anybody explain the function of HIDE keyword in detail?

6 REPLIES 6
Read only

Former Member
0 Likes
716

Hi,

Hide

To prevent the user from selecting invalid lines, ABAP/4 offers several possibilities. At the end of the processing block END-OF-SELECTION, delete the contents of one or more fields you previously stored for valid lines using the HIDE statement. At the event AT LINE-SELECTION, check whether the work area is initial or whether the HIDE statement stored field contents there. After processing the secondary list, clear the work area again. This prevents the user from trying to create further secondary lists from the secondary list displayed.

see the sample report using HIDE command

REPORT ZTEJ_INTAB1 LINE-SIZE 103 LINE-COUNT 35(5) NO STANDARD PAGE

HEADING.

*TABLES DECLARATION

TABLES : KNA1, VBAK, VBAP.

*SELECT OPTIONS

SELECT-OPTIONS: CUST_NO FOR KNA1-KUNNR.

*INITIALIZATION

INITIALIZATION.

CUST_NO-LOW = '01'.

CUST_NO-HIGH = '5000'.

CUST_NO-SIGN = 'I'.

CUST_NO-OPTION = 'BT'.

APPEND CUST_NO.

*SELECTION SCREEN VALIDATION

AT SELECTION-SCREEN ON CUST_NO.

LOOP AT SCREEN.

IF CUST_NO-LOW < 1 OR CUST_NO-HIGH > 5000.

MESSAGE E001(ZTJ1).

ENDIF.

ENDLOOP.

*BASIC LIST SELECTION

START-OF-SELECTION.

SELECT KUNNR NAME1 ORT01 LAND1 INTO

(KNA1-KUNNR, KNA1-NAME1,KNA1-ORT01,KNA1-LAND1)

FROM KNA1

WHERE KUNNR IN CUST_NO.

WRITE:/1 SY-VLINE,

KNA1-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,

16 SY-VLINE,

KNA1-NAME1 UNDER 'NAME',

61 SY-VLINE,

KNA1-ORT01 UNDER 'CITY',

86 SY-VLINE,

KNA1-LAND1 UNDER 'COUNTRY',

103 SY-VLINE.

HIDE: KNA1-KUNNR.

ENDSELECT.

ULINE.

*SECONDARY LIST ACCESS

AT user-command.

IF SY-UCOMM = 'IONE'.

PERFORM SALES_ORD.

ENDIF.

IF SY-UCOMM = 'ITWO'.

PERFORM ITEM_DET.

ENDIF.

*TOP OF PAGE

TOP-OF-PAGE.

FORMAT COLOR 1.

WRITE : 'CUSTOMER DETAILS'.

FORMAT COLOR 1 OFF.

ULINE.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'CUSTOMER NO.',

16 SY-VLINE,

18 'NAME',

61 SY-VLINE,

63 'CITY',

86 SY-VLINE,

88 'COUNTRY',

103 SY-VLINE.

ULINE.

FORMAT COLOR 3 OFF.

*TOP OF PAGE FOR SECONDARY LISTS

TOP-OF-PAGE DURING LINE-SELECTION.

*TOP OF PAGE FOR 1ST SECONDARY LIST

IF SY-UCOMM = 'IONE'.

ULINE.

FORMAT COLOR 1.

WRITE : 'SALES ORDER DETAILS'.

ULINE.

FORMAT COLOR 1 OFF.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'CUSTOMER NO.',

16 SY-VLINE,

18 'SALES ORDER NO.',

40 SY-VLINE,

42 'DATE',

60 SY-VLINE,

62 'CREATOR',

85 SY-VLINE,

87 'DOC DATE',

103 SY-VLINE.

ULINE.

ENDIF.

FORMAT COLOR 3 OFF.

*TOP OF PAGE FOR 2ND SECONDARY LIST

IF SY-UCOMM = 'ITWO'.

ULINE.

FORMAT COLOR 1.

WRITE : 'ITEM DETAILS'.

ULINE.

FORMAT COLOR 1 OFF.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'SALES ORDER NO.',

40 SY-VLINE,

42 'SALES ITEM NO.',

60 SY-VLINE,

62 'ORDER QUANTITY',

103 SY-VLINE.

ULINE.

ENDIF.

FORMAT COLOR 3 OFF.

*END OF PAGE

END-OF-PAGE.

ULINE.

WRITE :'USER :',SY-UNAME,/,'DATE :', SY-DATUM, 85 'END OF PAGE:',

SY-PAGNO.

SKIP.

&----


*& Form SALES_ORD

*&

*& FIRST SECONDARY LIST FORM

&----


FORM SALES_ORD .

SELECT KUNNR VBELN ERDAT ERNAM AUDAT INTO

(VBAK-KUNNR, VBAK-VBELN, VBAK-ERDAT, VBAK-ERNAM, VBAK-AUDAT)

FROM VBAK

WHERE KUNNR = KNA1-KUNNR.

WRITE:/1 SY-VLINE,

VBAK-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,

16 SY-VLINE,

VBAK-VBELN UNDER 'SALES ORDER NO.' HOTSPOT ON,

40 SY-VLINE,

VBAK-ERDAT UNDER 'DATE',

60 SY-VLINE,

VBAK-ERNAM UNDER 'CREATOR',

85 SY-VLINE,

VBAK-AUDAT UNDER 'DOC DATE',

103 SY-VLINE.

HIDE : VBAK-VBELN.

ENDSELECT.

ULINE.

ENDFORM. " SALES_ORD

&----


*& Form ITEM_DET

*&

*& SECOND SECONDARY LIST FORM

&----


FORM ITEM_DET .

SELECT VBELN POSNR KWMENG INTO

(VBAP-VBELN, VBAP-POSNR, VBAP-KWMENG)

FROM VBAP

WHERE VBELN = VBAK-VBELN.

WRITE : /1 SY-VLINE,

VBAP-VBELN UNDER 'SALES ORDER NO.',

40 SY-VLINE,

VBAP-POSNR UNDER 'SALES ITEM NO.',

60 SY-VLINE,

VBAP-KWMENG UNDER 'ORDER QUANTITY',

103 SY-VLINE.

ENDSELECT.

ULINE.

ENDFORM. " ITEM_DET

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

REPORT demo_list_at_pf.

START-OF-SELECTION.

WRITE 'Basic List, Press PF5, PF6, PF7, or PF8'.

AT pf5.

PERFORM out.

AT pf6.

PERFORM out.

AT pf7.

PERFORM out.

AT pf8.

PERFORM out.

FORM out.

WRITE: 'Secondary List by PF-Key Selection',

/ 'SY-LSIND =', sy-lsind,

/ 'SY-UCOMM =', sy-ucomm.

ENDFORM.

After executing the program, the system displays the basic list. The user can press the function keys F5 , F6 , F7 , and F8 to create secondary lists. If, for example, the 14th key the user presses is F6 , the output on the displayed secondary list looks as follows:

Secondary List by PF-Key Selection

SY-LSIND = 14

SY-UCOMM = PF06

Example for AT USER-COMMAND.

REPORT demo_list_at_user_command NO STANDARD PAGE HEADING.

START-OF-SELECTION.

WRITE: 'Basic List',

/ 'SY-LSIND:', sy-lsind.

TOP-OF-PAGE.

WRITE 'Top-of-Page'.

ULINE.

TOP-OF-PAGE DURING LINE-SELECTION.

CASE sy-pfkey.

WHEN 'TEST'.

WRITE 'Self-defined GUI for Function Codes'.

ULINE.

ENDCASE.

AT LINE-SELECTION.

SET PF-STATUS 'TEST' EXCLUDING 'PICK'.

PERFORM out.

sy-lsind = sy-lsind - 1.

AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'FC1'.

PERFORM out.

WRITE / 'Button FUN 1 was pressed'.

WHEN 'FC2'.

PERFORM out.

WRITE / 'Button FUN 2 was pressed'.

WHEN 'FC3'.

PERFORM out.

WRITE / 'Button FUN 3 was pressed'.

WHEN 'FC4'.

PERFORM out.

WRITE / 'Button FUN 4 was pressed'.

WHEN 'FC5'.

PERFORM out.

WRITE / 'Button FUN 5 was pressed'.

ENDCASE.

sy-lsind = sy-lsind - 1.

FORM out.

WRITE: 'Secondary List',

/ 'SY-LSIND:', sy-lsind,

/ 'SY-PFKEY:', sy-pfkey.

ENDFORM.

When you run the program, the system displays the following basic list with a the page header defined in the program:

You can trigger the AT LINE-SELECTION event by double-clicking a line. The system sets the status TEST and deactivates the function code PICK. The status TEST contains function codes FC1 to FC5. These are assigned to pushbuttons in the application toolbar. The page header of the detail list depends on the status.

Here, double-clicking a line no longer triggers an event. However, there is now an application toolbar containing five user-defined pushbuttons. You can use these to trigger the AT USER-COMMAND event. The CASE statement contains a different reaction for each pushbutton.

For each interactive event, the system decreases the SY-LSIND system field by one, thus canceling out the automatic increase. All detail lists now have the same level as the basic list and thus overwrite it. While the detail list is being created, SY-LSIND still has the value 1.

reward if it helps..

Regards,

Omkar.

Read only

Former Member
0 Likes
716

Hi

Hide is the keyword used to store data to dispaly that data in next levelof secondary list in an interactivelist.

for ex if sales order information is thr in internal table it_vbak to print only sales order number in secondary list u just write

hide it_vbak-vbeln.

now this can be used to display in secondary list.

Regards

sandhya

Read only

Former Member
0 Likes
716

HIDE dobj.

This statement stores - in the current list level - the content of the variable dobj together with the current list line whose line number is contained in sy-linno. The data type of the variables dobj must be flat and no field symbols can be specified that point to rows of internal tables, and no class attributes can be specified. The stored values can be read as follows:

For each user action in a displayed screen list that leads to a list result, all the row values stored using HIDE - that is, the row on which the screen cursor is positioned at the time of the event - are assigned to the respective variables.

If a list row of an arbitrary list level is read or modified using the statements READ LINE or MODIFY LINE, all the values of this row stored using HIDE are assigned to the respective variables.

DATA: square TYPE i,

cube TYPE i.

START-OF-SELECTION.

FORMAT HOTSPOT.

DO 5 TIMES.

square = sy-index ** 2.

cube = sy-index ** 3.

WRITE / sy-index.

HIDE: square, cube.

ENDDO.

AT LINE-SELECTION.

WRITE: square, cube.

the output will be:

1

2

3

4

5

and u will get the square and cubed value of the no. that u select in the next screen.

also try to run the report by commenting the hide statement...u will understand the difference.

reward if useful.

Message was edited by:

anju sinha

Read only

Former Member
0 Likes
716

Hide will store the value of the field that you click.

It should be right next to the corresponding WRITE statement.

this will be help in Interactive report

The HIDE statement does not support structures that contain tables (deep structures).

go thru the transcation code ABAPDOCU keyword help

regards,

Prabhu

reward if it is helpful

Read only

Former Member
0 Likes
716

Hi

HIDE statement holds the data to be displayed in the secondary list.

reward points to all helpful answers

kiran.M

Read only

Former Member
0 Likes
716

hi,

hide keyword in simple words used to hide data. i.e it may be a single value or a workarea or even a ntier internal table. generally system creates a temporary buffer and hides data in that which is given using hide statement.

hide is only used after u display output in reports and in END-OF-SELECTION event as

END-OF-SELECTION

.......................

.......................

hide p_vbeln. // a parameter value

wa_mara. // workarea

itab. // internal table

if helpful reward some points.

with regards,

Suresh Aluri.