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

alv...........

Former Member
0 Likes
1,345

HI ALL,

CAN ANY BODY TELL ME HOW TO CREATE AN ALV GRID?

HI ALL,

CAN ANY BODY TELL ME HOW TO CREATE AN ALV GRID?

10 REPLIES 10
Read only

Former Member
0 Likes
1,307

hi,

1.create Final internal with all output fileds and

populate it.

2. fill the field catalog merge by using FM or manually.

3. fill if necessary sort events layout tables.

4. call REUSE_ALV_GRID FM by passing the Field catalog

and Final table.

sample code is::

*&---------------------------------------------------------------------*
*& Report  Z_PO_QUANTITY
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  Z_PO_QUANTITY.

TYPE-POOLS : SLIS.

************************************************************************
* T A B L E S
************************************************************************
TABLES : EKKO.  " Purchasing Document Header

************************************************************************
* D A T A - D E C L A R A T I O N
************************************************************************

TYPES: BEGIN OF X_EKKO ,
        EBELN LIKE EKKO-EBELN,
       END OF X_EKKO.

TYPES: BEGIN OF X_EKPO ,
        EBELN LIKE EKPO-EBELN,
        EBELP LIKE EKPO-EBELP,
        MATNR LIKE EKPO-MATNR,
        MENGE LIKE EKPO-MENGE,
       END OF X_EKPO.

TYPES: BEGIN OF X_EKET,
        EBELN LIKE EKPO-EBELN,
        EBELP LIKE EKPO-EBELP,
        CHARG LIKE EKET-CHARG,
       END OF X_EKET.

TYPES: BEGIN OF X_FINAL ,
        EBELN LIKE EKPO-EBELN,
        MATNR LIKE EKPO-MATNR,
        CHARG LIKE EKET-CHARG,
        EBELP LIKE EKPO-EBELP,
        MENGE LIKE EKPO-MENGE,
       END OF X_FINAL.

DATA: IT_EKKO TYPE STANDARD TABLE OF X_EKKO WITH HEADER LINE.
DATA: IT_EKPO TYPE STANDARD TABLE OF X_EKPO WITH HEADER LINE.
DATA: IT_EKET TYPE STANDARD TABLE OF X_EKET WITH HEADER LINE.
DATA: IT_FINAL TYPE STANDARD TABLE OF X_FINAL WITH HEADER LINE.

***ALV Field catalog
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.


***ALV Events
DATA : IT_EVENT TYPE SLIS_ALV_EVENT.
DATA : IT_EVENT1 TYPE SLIS_T_EVENT.
DATA : GT_SORT   TYPE SLIS_T_SORTINFO_ALV,
       GT_SORT1  TYPE SLIS_SORTINFO_ALV,
       IT_LAYOUT TYPE SLIS_LAYOUT_ALV.

***ALV TOP-OF-PAGE
DATA : IT_HEADER1 TYPE SLIS_T_LISTHEADER WITH HEADER LINE .
DATA : IT_HEADER TYPE SLIS_LISTHEADER.

DATA : V_REPID LIKE SY-REPID.

************************************************************************
* S E L E C T I O N - S C R E E N
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 .
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN.
SELECTION-SCREEN END OF BLOCK B1.

************************************************************************
* S T A R T - O F - S E L E C T I O N
************************************************************************
START-OF-SELECTION.
PERFORM GETDATA.
PERFORM FIELDCATALOG USING IT_FIELDCAT[].
PERFORM SUB_SORT.
PERFORM SUB_LAYOUT.
************************************************************************
* END - O F - S E L E C T I O N
************************************************************************
END-OF-SELECTION.

 IF NOT IT_FINAL[] IS INITIAL.
    PERFORM DISPDATA.
  ELSE.
    MESSAGE I000(Z1).
 ENDIF.



*&---------------------------------------------------------------------*
*&      Form  GETDATA
*&---------------------------------------------------------------------*
*       PERFORM TO GET DATA FROM EKPO TABLE
*----------------------------------------------------------------------*

FORM GETDATA .

   SELECT EBELN
          INTO TABLE IT_EKKO
          FROM EKKO
          WHERE EBELN IN S_EBELN.


  IF SY-SUBRC = 0.
    SORT IT_EKKO BY EBELN.
  ENDIF.

  IF NOT IT_EKKO[] IS INITIAL.

     SELECT EBELN
            EBELP
            MATNR
            MENGE
            INTO TABLE IT_EKPO
            FROM EKPO
            FOR ALL ENTRIES IN IT_EKKO
            WHERE EBELN = IT_EKKO-EBELN.

   IF SY-SUBRC = 0.
     SELECT EBELN
            EBELP
            CHARG
            INTO TABLE IT_EKET
            FROM EKET
            FOR ALL ENTRIES IN IT_EKPO
            WHERE EBELN = IT_EKPO-EBELN AND
                  EBELP = IT_EKPO-EBELP.
   ENDIF.
  ENDIF.

  LOOP AT IT_EKPO.

      IT_FINAL-EBELN = IT_EKPO-EBELN.
      IT_FINAL-EBELP = IT_EKPO-EBELP.
      IT_FINAL-MATNR = IT_EKPO-MATNR.
      IT_FINAL-MENGE = IT_EKPO-MENGE.

      READ TABLE IT_EKET WITH KEY EBELN = IT_EKPO-EBELN
                                  EBELP = IT_EKPO-EBELP.

        IF SY-SUBRC = 0.
         IT_FINAL-CHARG = IT_EKET-CHARG.
         CLEAR IT_EKET.
        ENDIF.

      APPEND IT_FINAL.
      CLEAR IT_FINAL.

  ENDLOOP.

ENDFORM.                    " GETDATA
*&---------------------------------------------------------------------*
*&      Form  DISPDATA
*&---------------------------------------------------------------------*
*       PERFORM TO DISPLAY DATA
*----------------------------------------------------------------------*

FORM DISPDATA .


    V_REPID = SY-REPID.

**DISPLAY OUTPUT
   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING

      I_CALLBACK_PROGRAM                = V_REPID
      I_GRID_TITLE                      = ''
*      I_GRID_SETTINGS                   =
      IS_LAYOUT                         = IT_LAYOUT
      IT_FIELDCAT                       = IT_FIELDCAT[]
*      IT_EXCLUDING                      =
*      IT_SPECIAL_GROUPS                 =
      IT_SORT                           = GT_SORT
*      IT_FILTER                         =
*      IS_SEL_HIDE                       =
*      I_DEFAULT                         = 'X'
*      I_SAVE                            = 'U'
*      IS_VARIANT                        =
*      IT_EVENTS                         =
*      IT_EVENT_EXIT                     =

     TABLES
       T_OUTTAB                          = IT_FINAL
    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.

*   CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
*    EXPORTING
*
*      I_CALLBACK_PROGRAM             = V_REPID
**      I_CALLBACK_PF_STATUS_SET       = ' '
**      I_CALLBACK_USER_COMMAND        = ' '
**      I_STRUCTURE_NAME               =
*      IS_LAYOUT                      = IT_LAYOUT
*      IT_FIELDCAT                    = IT_FIELDCAT[]
**      IT_EXCLUDING                   =
**      IT_SPECIAL_GROUPS              =
*      IT_SORT                        = GT_SORT
**      IT_FILTER                      =
**      IS_SEL_HIDE                    =
**      I_DEFAULT                      = 'X'
**      I_SAVE                         = ' '
**      IS_VARIANT                     =
**      IT_EVENTS                      =
**      IT_EVENT_EXIT                  =
**      IS_PRINT                       =
*     TABLES
*       T_OUTTAB                       = IT_FINAL
*    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.                    " DISPDATA
*&---------------------------------------------------------------------*
*&      Form  FIELDCATALOG
*&---------------------------------------------------------------------*
*    PEROFRM TO POPULATE FIELD CATALOG
*----------------------------------------------------------------------*

FORM FIELDCATALOG USING  P_IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

  DATA : T_FIELD_CAT TYPE SLIS_FIELDCAT_ALV.
  DATA : V_CNT TYPE I.


  V_CNT = V_CNT + 1.
  T_FIELD_CAT-COL_POS = V_CNT.
  T_FIELD_CAT-FIELDNAME = 'EBELN'.
  T_FIELD_CAT-OUTPUTLEN = 18.
  T_FIELD_CAT-SELTEXT_L   = 'PO DOC NUMBER'.
  APPEND T_FIELD_CAT TO IT_FIELDCAT.
  CLEAR T_FIELD_CAT.

  V_CNT = V_CNT + 1.
  T_FIELD_CAT-COL_POS = V_CNT.
  T_FIELD_CAT-FIELDNAME = 'MATNR'.
  T_FIELD_CAT-OUTPUTLEN = 18.
  T_FIELD_CAT-SELTEXT_L   = 'MATERIAL NUMBER'.
  APPEND T_FIELD_CAT TO IT_FIELDCAT.
  CLEAR T_FIELD_CAT.

    V_CNT = V_CNT + 1.
  T_FIELD_CAT-COL_POS = V_CNT.
  T_FIELD_CAT-FIELDNAME = 'CHARG'.
  T_FIELD_CAT-OUTPUTLEN = 10.
  T_FIELD_CAT-SELTEXT_L   = 'BATCH'.
  APPEND T_FIELD_CAT TO IT_FIELDCAT.
  CLEAR T_FIELD_CAT.

  V_CNT = V_CNT + 1.
  T_FIELD_CAT-COL_POS = V_CNT.
  T_FIELD_CAT-FIELDNAME = 'EBELP'.
  T_FIELD_CAT-OUTPUTLEN = 14.
  T_FIELD_CAT-SELTEXT_L   = 'LINE ITEM NO'.
  APPEND T_FIELD_CAT TO IT_FIELDCAT.
  CLEAR T_FIELD_CAT.



  V_CNT = V_CNT + 1.
  T_FIELD_CAT-COL_POS = V_CNT.
  T_FIELD_CAT-FIELDNAME = 'MENGE'.
  T_FIELD_CAT-DO_SUM = 'X'.
  T_FIELD_CAT-OUTPUTLEN = 18.
  T_FIELD_CAT-SELTEXT_L   = 'PO QUANTITY'.
  APPEND T_FIELD_CAT TO IT_FIELDCAT.
  CLEAR T_FIELD_CAT.



ENDFORM.                    " FIELDCATALOG
*&---------------------------------------------------------------------*
*&      Form  SUB_SORT
*&---------------------------------------------------------------------*
*    PERFORM TO SORT
*----------------------------------------------------------------------*

FORM SUB_SORT .
DATA L_CNT TYPE I.

  L_CNT = L_CNT + 1.
  GT_SORT1-FIELDNAME = 'EBELN'.
  GT_SORT1-SPOS      = L_CNT.
  GT_SORT1-UP       = 'X'.
  GT_SORT1-SUBTOT   = 'X'.
  APPEND GT_SORT1 TO GT_SORT.
  CLEAR GT_SORT1.

  L_CNT = L_CNT + 1.
  GT_SORT1-FIELDNAME = 'MATNR'.
  GT_SORT1-SPOS      = L_CNT.
  GT_SORT1-UP       = 'X'.
  GT_SORT1-SUBTOT   = 'X'.
  APPEND GT_SORT1 TO GT_SORT.
  CLEAR GT_SORT1.

  L_CNT = L_CNT + 1.
  GT_SORT1-FIELDNAME = 'CHARG'.
  GT_SORT1-SPOS      = L_CNT.
  GT_SORT1-UP       = 'X'.
  GT_SORT1-SUBTOT   = 'X'.
  APPEND GT_SORT1 TO GT_SORT.
  CLEAR GT_SORT1.


ENDFORM.                    " SUB_SORT
*&---------------------------------------------------------------------*
*&      Form  SUB_LAYOUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM SUB_LAYOUT .

    IT_LAYOUT-NO_TOTALLINE = ''.
    IT_LAYOUT-SUBTOTALS_TEXT = 'SUB TOTAL'.
    IT_LAYOUT-TOTALS_TEXT = 'GRAND TOTAL'.

ENDFORM.                    " SUB_LAYOUT

Read only

Former Member
0 Likes
1,307

HI ALL,

ACTUALLY I WANT TOP CREATE A FIN PUSHBUTTON ON A TABLECONTROL IF CUSTOMER PRESS ON FIND ICON ACCORDING TO THE DATA IT SHOULD SHOW AN ALV GRID.

REGARDS

KANNY

Read only

Former Member
0 Likes
1,307

U CAN REFER THE SAMPLE PGOGRAMS IN SE38..

IN SE38 -> enter BALVGRID* IN Program -> pressF4.

U WILL GET SOME LIST LIKE..

Program name Report title

call in fullscreen mode

BALVSD02_GRID Simple ALV grid control call in fullscreen mode

BALVST02_GRID Test program ALV: Simple list flight model

BALVST03_GRID BBS

BCALV_FULLSCREEN_GRID_EDIT

BCALV_GRID_01 Events for print processing

BCALV_GRID_02 Basic list and details list using one ALV control

BCALV_GRID_03 Detail list in screen of type dialog

BCALV_GRID_04 Display exceptions using LEDs or lights

BCALV_GRID_05 Add a self-defined button to the toolbar

BCALV_GRID_06 Define self-defined context menu

BCALV_GRID_07 Defining a toolbar menu

BCALV_GRID_08 Defining a toolbar menu with default button

BCALV_GRID_09 Control the saving options of layouts

BCALV_GRID_10 Load a layout before list display

BCALV_GRID_11 Test for new layout function modules

BCALV_GRID_AND_POPUP ALV Grid in dialog box

BCALV_GRID_DEMO Simple ALV Control Call Demo Program

BCALV_GRID_DND_TREE ALV Grid: Drag and Drop with ALV Tree

BCALV_GRID_DND_TREE_SIMPLE ALV GRID: Drag and drop with ALV tree (simple)

BCALV_GRID_EDIT

BCALV_GRID_F4_HELP F4 Help: Test and Sample Program

BCALV_GRID_VERIFY ALV GridControl test program

BCALV_GRID_VERIFY2 ALV GridControl test program

BCALV_TEST_GRID Program BCALV_TEST_GRID

BCALV_TEST_GRID_DRAG_DROP Program BCALV_TEST_GRID_DRAG_DROP

BCALV_TEST_GRID_EDITABLE Program BCALV_TEST_GRID_EDITABLE

BCALV_TEST_GRID_EDIT_01 Program BCALV_TEST_GRID_EDIT_01

BCALV_TEST_GRID_EVENTS Program BCALV_TEST_GRID_EVENTS

BCALV_TEST_GRID_FIELDS Program BCALV_TEST_GRID_FIELDS

BCALV_TEST_GRID_INDEX Program BCALV_TEST_GRID_INDEX

BCALV_TEST_GRID_LAYOUT Program BCALV_TEST_GRID_LAYOUT

BCALV_TEST_GRID_PERFORMANCE Program BCALV_TEST_GRID_PERFORMANCE

BCALV_TEST_GRID_PRINT Program BCALV_TEST_GRID_PRINT

BCALV_TEST_GRID_REPREP Program BCALV_TEST_GRID_REPREP

BCALV_TEST_GRID_REPREP_1 Program BCALV_TEST_GRID_REPREP_1

BCALV_TEST_GRID_TOOLBAR Test grid toolbar

BC_ALVHIERGRID1_D100 Include BC_ALVHIERGRID1_D100

BC_ALVHIERGRID1_D210 Include BC_ALVHIERGRID1_D210

BC_ALVHIERGRID1_HIER Include BC_ALVHIERGRID1_HIER

REGARDS,

RAMESH.

Read only

Former Member
0 Likes
1,307

HI

RAMESH

IAM A LEARNER....SO CAN U PLZ EXPLAIN SOMETHING ABOUT AVV IN DETAIL BEFORE GOING DIRECTLY INTO PROGRAM?

REGARDS

KANNY

Read only

0 Likes
1,307

REFER SOME PROGRAMS..

http://www.sap-img.com/abap/test-alv-display-with-header-footer.htm

http://www.pbs-software.com/documentation_e/e_PBS_ArchiveBrowser.pdf#search=%22alv%20display%22

AND ONE THING..

I HAVE ONE POWER POINT PRESENTATION ON ALV , PLZ GIVE UR PERSONAL ID , I WILL FORWORD IT TO U..

Read only

Former Member
0 Likes
1,307

in ALV FM for parameter ::

<b> I_CALLBACK_USER_COMMAND = 'FRM_USR_COMMAND'</b> pass form name.

in form name handle code according to your requiremtnt.

*&----


*& Form FRM_USR_COMMAND

*&----


FORM FRM_USR_COMMAND USING R_UCOMM LIKE SY-UCOMM

R_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN 'CREATEPO'.

IF V_EMPTY IS INITIAL.

PERFORM GET_PROCESSDATA.

PERFORM PROCESS_DATA.

LEAVE LIST-PROCESSING.

ENDIF.

WHEN 'EXIT' OR 'CANCEL'.

LEAVE LIST-PROCESSING.

ENDCASE.

ENDFORM.

Read only

Former Member
0 Likes
1,307

HI

You need to create a screen with the container, and write the failed catalog and logic in your main program and call that screen with container to display the ALV Grid in that container,

See the below example programs,

BCALV_EDIT_01

BCALV_EDIT_02

BCALV_EDIT_03

BCALV_EDIT_04

BCALV_EDIT_05

BCALV_EDIT_06

BCALV_EDIT_07

Click the below link for the best example

http://www.sap-img.com/abap/abap-example-program-alv-grid-control.htm

Regards

Sudheer

Read only

Former Member
0 Likes
1,307

HI SUDHEER

CAN U TELL ME WHAT IS THE MAIN ADV OF USING MODULE POOL WHERE WE CAN ACHIEVE THE SAME REQIREMENT THROUGH REPORTS (WE HAVE A FACILITY TO CALL SCREEN FROM REPORT)?

REGARDS

KANNY

Read only

0 Likes
1,307

THIS IS BEST EXAMPLE ..

SEE...D LINK..

www.sappoint.com/ppt/alv.ppt

RAMESH

Read only

Former Member
0 Likes
1,307

PLZ SEND TO THIS ID

[email protected]

REGARDS

KANNY