Sunday, October 17, 2021

SALV 4: Change Column Heading

 *&---------------------------------------------------------------------*

*& Report  ZOOPS_SALV_ALV4
*&
*&---------------------------------------------------------------------*
*&  In this example will show you how to change Column heading
*&---------------------------------------------------------------------*
REPORT zsalv_alv4.

*&---------------------------------------------------------------------*
*&  Data declaration
*&---------------------------------------------------------------------*
DATAgv_vbeln TYPE vbak-vbeln.

*&---------------------------------------------------------------------*
*&  Selection Screen
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.
SELECT-OPTIONS s_vbeln FOR gv_vbeln.
SELECTION-SCREEN END OF BLOCK a1.

*&---------------------------------------------------------------------*
*&  Class Defination
*&---------------------------------------------------------------------*
CLASS lcl_salv_data DEFINITION.

  "&... Visibility Section
  PUBLIC SECTION.

    "&... Public Method for display data
    METHODS display_data.

  PRIVATE SECTION.

    "&... Type Declaration for data
    TYPESBEGIN OF ty_data,
             vbeln  TYPE vbeln,
             audat  TYPE audat,
             auart  TYPE auart,
             posnr  TYPE posnr,
             matnr  TYPE matnr,
             arktx  TYPE arktx,
             netwr  TYPE netwr,
             waerk  TYPE waerk,
             kwmeng TYPE kwmeng,
             meins  TYPE meins,
           END OF ty_data.

*&---------------------------------------------------------------------*
*&  Internal Table Declaration
*&---------------------------------------------------------------------*
    DATAgt_data TYPE TABLE OF ty_data.

    "&... Method for fetch the data
    METHODS get_data.

ENDCLASS.

*&---------------------------------------------------------------------*
*&  Class Implementation
*&---------------------------------------------------------------------*
CLASS lcl_salv_data IMPLEMENTATION.

  METHOD get_data.

    SELECT a~vbeln
           a~audat
           a~auart
           b~posnr
           b~matnr
           b~arktx
           b~netwr
           b~waerk
           b~kwmeng
           b~meins
      FROM vbak AS a INNER JOIN vbap AS b
      ON a~vbeln EQ b~vbeln INTO TABLE gt_data
      WHERE a~vbeln IN s_vbeln.
    IF sy-subrc NE 0.
      MESSAGE 'Data not found for given input' TYPE 'E'.
    ENDIF.

  ENDMETHOD.

  METHOD display_data.

    "&... Local Reference variable declaration
    DATAlref_alv      TYPE REF TO cl_salv_table,
          lref_function TYPE REF TO cl_salv_functions_list,
          lref_layout   TYPE REF TO cl_salv_layout,
          lref_columns  TYPE REF TO cl_salv_columns,
          lref_column   TYPE REF TO cl_salv_column.

    "&... Local variable declaration
    DATAlv_key TYPE salv_s_layout_key.

    "&... Call Method for fetch display data
    me->get_data).

    "&... FACTORY Method instantiating the ALV of the Class CL_SALV_TABLE
    cl_salv_table=>factory(
*      EXPORTING
*        list_display   = IF_SALV_C_BOOL_SAP=>FALSE
*        r_container    = r_container
*        container_name = container_name
      IMPORTING
        r_salv_table   lref_alv
      CHANGING
        t_table        gt_data
           ).

    "&... GET_FUNCTIONS method provides access to the ALV's functions' objects
    lref_function lref_alv->get_functions).

    "&... SET_ALL method set all the function
    lref_function->set_all).

    "&... GET_COLUMNS - Method get the columns object for the ALV.
    lref_columns lref_alv->get_columns).

    "&... GET_LAYOUT method get the layout object from ALV
    lref_layout lref_alv->get_layout).

    "&... Pass Current program name
    lv_key-report sy-repid.

    "&... SET_KEY method call the layout object for current program
    lref_layout->set_keylv_key ).

    "&... Pass static attribute (SAVE layout button enable)
    lref_layout->set_save_restrictionif_salv_c_layout=>restrict_user_dependant ).

    "&... Set defualt layout
    lref_layout->set_defaultabap_true ).

    "&... SET_OPTIMIZE - Method used to optimize the column width
    lref_columns->set_optimize'X' ).

*&---------------------------------------------------------------------*
*&  Note:
*&  SET_LONG_TEXT   -> Maximum field description lenth is 40 Character
*&  SET_MEDIUM_TEXT -> Maximum field Description legth is 20 Character.
*&  SET_SHORT_TEXT  -> Maximum field Description legth is 10 Character.
*&  GET_COLUMN      -> This Method point to the column name
*&---------------------------------------------------------------------*
    TRY.

        lref_column lref_columns->get_column'MATNR' ).
        lref_column->set_long_text'Material Number' ).
        lref_column->set_medium_text'Material Number' ).
        lref_column->set_short_text'Material' ).

        lref_column lref_columns->get_column'ARKTX' ).
        lref_column->set_long_text'Material Description' ).
        lref_column->set_medium_text'Material Description' ).
        lref_column->set_short_text'Mat. Des.' ).

        lref_column lref_columns->get_column'NETWR' ).
        lref_column->set_long_text'Price' ).
        lref_column->set_medium_text'Price' ).
        lref_column->set_short_text'Price' ).

      CATCH cx_salv_not_found.
    ENDTRY.

    "&... DISPLAY Method display the data in ALV
    lref_alv->display).

  ENDMETHOD.

ENDCLASS.

*&---------------------------------------------------------------------*
*&  START-OF-SELECTION Events
*&---------------------------------------------------------------------*
START-OF-SELECTION.

  DATAlo_data TYPE REF TO lcl_salv_data.

  "&... Create Object for class LCL_SALV_DATA.
  CREATE OBJECT lo_data.

  "&... Call Display Method for display data.
  lo_data->display_data).


Output:













Key Concept:




If you want to download Code please click on Below options:

Download Code in PDF:-  Click
Download Code in Notepad:-  Click

SALV 8: Adding Custom PF STATUS in ALV

Note: First create Custom PF Status using below Link: https://sapabapc.blogspot.com/2022/08/create-custom-pf-status.html *&-------------...