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

based on alv

Former Member
0 Likes
801

hello gurus,

can any tell based on the input i as to set layout ......................assume there 5 coloumns if give input for only 2 coloumn its show only 2 coloumn ...rest of that must be hide .........

plz very urgent

adavce thanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
774

Yes. Definitely. There is one flag called no_out in slis_fieldcat_alv

Based on the input set the flag as 'X' or leave it empty.

//Kothand

6 REPLIES 6
Read only

Former Member
0 Likes
775

Yes. Definitely. There is one flag called no_out in slis_fieldcat_alv

Based on the input set the flag as 'X' or leave it empty.

//Kothand

Read only

0 Likes
774

HI ,

think that there are 5 col........... like 101 to 105............

if i give input as a 101 it as to be display col 101...rest of think it as to be hide ....

tatol based on input

Read only

0 Likes
774

its urgent

Read only

Former Member
0 Likes
774

Hi

You can set the layout variants for the ALV reports.

In the selection screen you have to create a field for the layout variant.

You have to write the code for the saving this variant. You can check in ALV standard programs

which start with BCALV or BALV. In se38, you can search for this code by providing program name

BCALV* or BALV* and F4.

In the runtime, first time the user will see all the columns, he will select the columns that needs

in the layout selection dialog provided in the standard tool bar and user will save the layout with

some name.

Whenever he runs the program next time, in the selection screen, he can select the layout variant

saved in the previous step in the field create for the layout variant in selection screen.

Satya.

Read only

0 Likes
774

think that there are 5 col........... like 101 to 105............

if i give input as a 101 it as to be display col 101...rest of think it as to be hide ....

tatol based on input

Read only

Former Member
0 Likes
774

While preparing fieldcatalog check condition for inputs...check sample code

REPORT Z_TST.


*&---------------------------------------------------------------------*
*& Report  ZALV_REPORT_SFLIGHT
*&
*&---------------------------------------------------------------------*
* Published at SAPTechnical.COM
*&---------------------------------------------------------------------*REPORT  ZALV_REPORT_SFLIGHT.
TABLES : SFLIGHT.
TYPE-POOLS : SLIS.
**INTERNAL TABLE DECLARTION
DATA : WA_SFLIGHT TYPE SFLIGHT,
       IT_SFLIGHT TYPE TABLE OF SFLIGHT.
**DATA DECLARTION
DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
      GD_LAYOUT    TYPE SLIS_LAYOUT_ALV,
      GD_REPID     LIKE SY-REPID,
      G_SAVE TYPE C VALUE 'X',
      G_VARIANT TYPE DISVARIANT,
      GX_VARIANT TYPE DISVARIANT,
      G_EXIT TYPE C,
      ISPFLI TYPE TABLE OF SPFLI.

* To understand the importance of the following parameter, click here.
**SELECTION SCREEN DETAILS
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002 .
SELECT-OPTIONS: S_CARRID FOR SFLIGHT-CARRID,
            S_CONNID FOR SFLIGHT-CONNID,
            S_PRICE FOR SFLIGHT-PRICE,
            S_FLDATE FOR SFLIGHT-FLDATE.
SELECTION-SCREEN END OF BLOCK B1.
**GETTING DEFAULT VARIANT

**PERFORM DECLARATIONS
START-OF-SELECTION.
  PERFORM DATA_RETRIVEL.
  PERFORM BUILD_FIELDCATALOG.
  PERFORM DISPLAY_ALV_REPORT.
*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_FIELDCATALOG .
  IF S_CARRID[] IS NOT INITIAL.
  FIELDCATALOG-FIELDNAME   = 'CARRID'.
  FIELDCATALOG-SELTEXT_M   = 'Airline Code'.
   FIELDCATALOG-OUTPUTLEN   = 20.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  ENDIF.
  IF S_CONNID[] IS NOT INITIAL.
  FIELDCATALOG-FIELDNAME   = 'CONNID'.
  FIELDCATALOG-SELTEXT_M   = 'Flight Connection Number'.
   FIELDCATALOG-OUTPUTLEN   = 20.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  ENDIF.
  IF S_FLDATE[] IS NOT INITIAL.
  FIELDCATALOG-FIELDNAME   = 'FLDATE'.
  FIELDCATALOG-SELTEXT_M   = 'Flight date'.
   FIELDCATALOG-OUTPUTLEN   = 20.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  ENDIF.
  IF S_PRICE[] IS NOT INITIAL.
  FIELDCATALOG-FIELDNAME   = 'PRICE'.
  FIELDCATALOG-SELTEXT_M   = 'Airfare'.
  FIELDCATALOG-OUTPUTLEN   = 20.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  ENDIF.
ENDFORM.                    " BUILD_FIELDCATALOG


*&---------------------------------------------------------------------*
*&      Form  DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DISPLAY_ALV_REPORT .


  GD_REPID = SY-REPID.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM      = GD_REPID
      I_CALLBACK_TOP_OF_PAGE  = 'TOP-OF-PAGE'  "see FORM
      I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
      IT_FIELDCAT             = FIELDCATALOG[]
      I_SAVE                  = 'X'
      IS_VARIANT              = G_VARIANT

    TABLES
      T_OUTTAB                = IT_SFLIGHT
     EXCEPTIONS
      PROGRAM_ERROR           = 1
      OTHERS                  = 2.
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    "DISPLAY_ALV_REPORT" DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
*&      Form  DATA_RETRIVEL
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DATA_RETRIVEL .
  SELECT * FROM SFLIGHT INTO TABLE IT_SFLIGHT WHERE CARRID IN S_CARRID AND
                                                    CONNID IN S_CONNID AND
                                                    PRICE IN S_PRICE AND
                                                    FLDATE IN S_FLDATE.
ENDFORM.
*" DATA_RETRIVEL*-------------------------------------------------------------------*
* Form  TOP-OF-PAGE                                                 *
*-------------------------------------------------------------------*
* ALV Report Header                                                 *
*-------------------------------------------------------------------*
FORM TOP-OF-PAGE.
*ALV Header declarations
  DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
        WA_HEADER TYPE SLIS_LISTHEADER,
        T_LINE LIKE WA_HEADER-INFO,
        LD_LINES TYPE I,
        LD_LINESC(10) TYPE C.

* Title
  WA_HEADER-TYP  = 'H'.
  WA_HEADER-INFO = 'SFLIGHT Table Report'.
  APPEND WA_HEADER TO T_HEADER.
  CLEAR WA_HEADER.
* Date
  WA_HEADER-TYP  = 'S'.
  WA_HEADER-KEY = 'Date: '.
  CONCATENATE  SY-DATUM+6(2) '.'
               SY-DATUM+4(2) '.'
               SY-DATUM(4) INTO WA_HEADER-INFO.   "todays date
  APPEND WA_HEADER TO T_HEADER.
  CLEAR: WA_HEADER.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = T_HEADER.
ENDFORM.                    "top-of-page