SIMPLE SAP ABAP PROGRAM FOR ALV LIST DISPLAY

*&---------------------------------------------------------------------*
*& Report  ZSSR_ALV_LIST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zsan_alv_list_display.

TYPE-POOLS: slis.

TABLES: mara.

DATA: g_t_mara TYPE mara OCCURS WITH HEADER LINE.


* ALV specific data objects
DATA : g_f_repid      LIKE sy-repid.
DATA : g_t_fieldcat   TYPE slis_t_fieldcat_alv.
DATA : g_r_fieldcat   TYPE slis_fieldcat_alv.
DATA : g_t_events     TYPE slis_t_event.
DATA : g_r_events     TYPE slis_alv_event.
DATA : g_r_layout     TYPE slis_layout_alv.
DATA : g_f_callback_user_command TYPE slis_formname.
DATA : g_f_callback_pf_status_set TYPE slis_formname.

DATA : g_r_x_variant  LIKE disvariant.
DATA : g_r_variant    LIKE disvariant.
DATA : g_f_exit(1)    TYPE c.
DATA : g_f_save(1)    TYPE c.



SELECT-OPTIONS: s_matnr FOR mara-matnr.


START-OF-SELECTION.
  PERFORM get_data.
  PERFORM display_data.

*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM get_data .

  SELECT *
    INTO TABLE g_t_mara
    FROM mara
    WHERE matnr IN s_matnr.

ENDFORM.                    " GET_DATA

*&---------------------------------------------------------------------*
*&      Form  DISPLAY_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM display_data .

  g_f_repid sy-repid.

* Attributes for layout
  g_r_layout-zebra 'X'.
*  g_r_layout-min_linesize = 119.
  g_r_layout-colwidth_optimize 'X'.
  g_r_layout-f2code '&ETA'.
  g_r_layout-detail_initial_lines 'X'.
  g_r_layout-get_selinfos 'X'.


  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
   EXPORTING
*     I_INTERFACE_CHECK              = ' '
*     I_BYPASSING_BUFFER             =
*     I_BUFFER_ACTIVE                = ' '
     i_callback_program             g_f_repid
*     I_CALLBACK_PF_STATUS_SET       = ' '
*     I_CALLBACK_USER_COMMAND        = ' '
     i_structure_name               'MARA'
     is_layout                      g_r_layout
*     IT_FIELDCAT                    =
*     IT_EXCLUDING                   =
*     IT_SPECIAL_GROUPS              =
*     IT_SORT                        =
*     IT_FILTER                      =
*     IS_SEL_HIDE                    =
*     I_DEFAULT                      = 'X'
*     I_SAVE                         = ' '
*     IS_VARIANT                     =
*     IT_EVENTS                      =
*     IT_EVENT_EXIT                  =
*     IS_PRINT                       =
*     IS_REPREP_ID                   =
*     I_SCREEN_START_COLUMN          = 0
*     I_SCREEN_START_LINE            = 0
*     I_SCREEN_END_COLUMN            = 0
*     I_SCREEN_END_LINE              = 0
*     IR_SALV_LIST_ADAPTER           =
*     IT_EXCEPT_QINFO                =
*     I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER        =
*     ES_EXIT_CAUSED_BY_USER         =
    TABLES
      t_outtab                       g_t_mara
   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_DATA

SIMPLE SAP ABAP PROGRAM FOR ALV GRID DISPLAY

*&---------------------------------------------------------------------*
*& Report  ZSAN_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZSAN_ALV.

TYPE-POOLS:SLIS.

TABLES:ZSAN_EMP_DETAILS.

DATA:SAN_ITABLE TYPE ZSAN_EMP_DETAILS OCCURS WITH HEADER LINE.

* ALV specific data objects
DATA : g_f_repid      LIKE sy-repid.
DATA : g_t_fieldcat   TYPE slis_t_fieldcat_alv.
DATA : g_r_fieldcat   TYPE slis_fieldcat_alv.
DATA : g_t_events     TYPE slis_t_event.
DATA : g_r_events     TYPE slis_alv_event.
DATA : g_r_layout     TYPE slis_layout_alv.
DATA : g_f_callback_user_command TYPE slis_formname.
DATA : g_f_callback_pf_status_set TYPE slis_formname.

DATA : g_r_x_variant  LIKE disvariant.
DATA : g_r_variant    LIKE disvariant.
DATA : g_f_exit(1)    TYPE c.
DATA : g_f_save(1)    TYPE c.


SELECT-OPTIONS:S_INP FOR ZSAN_EMP_DETAILS-EMP_NO.

START-OF-SELECTION.
  PERFORM GETDATA.
  PERFORM DISPLAYDATA.


FORM GETDATA.


  SELECT INTO TABLE SAN_ITABLE FROM ZSAN_EMP_DETAILS WHERE EMP_NO IN S_INP.

  ENDFORM.

FORM DISPLAYDATA.


  g_f_repid sy-repid.

* Attributes for layout
  g_r_layout-zebra 'X'.
*  g_r_layout-min_linesize = 119.
  g_r_layout-colwidth_optimize 'X'.
  g_r_layout-f2code '&ETA'.
  g_r_layout-detail_initial_lines 'X'.
  g_r_layout-get_selinfos 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING

      i_callback_program             g_f_repid
      i_structure_name               'ZSAN_EMP_DETAILS'
*     is_layout                      = g_r_layout

     TABLES
      t_outtab                       SAN_ITABLE
   EXCEPTIONS
     program_error                  1
     OTHERS                         2.

  ENDFORM.

SAP ABAP BASIC DML QUERIES (INSERT, UPDATE, DELETE, MODIFY)

*&---------------------------------------------------------------------*
*& Report  ZSAN_DML
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZSAN_DML.
TABLES:ZSAN_EMP_DETAILS.
DATA:SAN_ITABLE TYPE TABLE OF ZSAN_EMP_DETAILS,
      SAN_STRUCT TYPE ZSAN_EMP_DETAILS.
PARAMETERS:P_EMPNO TYPE ZSAN_EMP_DETAILS-EMP_NO,
            P_ENAME TYPE ZSAN_EMP_DETAILS-EMP_NAME,
            P_SALARY TYPE ZSAN_EMP_DETAILS-EMP_SALARY.
**            p_cunt type i.



START-OF-SELECTION.
PERFORM insert.
PERFORM UPDATE.
PERFORM DELETE.
PERFORM MODIFY.



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


      SAN_STRUCT-EMP_NO P_EMPNO.
        SAN_STRUCT-EMP_NAME P_ENAME.
        SAN_STRUCT-EMP_SALARY P_SALARY.

        APPEND SAN_STRUCT TO SAN_ITABLE.

INSERT ZSAN_EMP_DETAILS FROM TABLE SAN_ITABLE.

    LOOP AT SAN_ITABLE INTO SAN_STRUCT.
         WRITE: SAN_STRUCT-EMP_NO,SAN_STRUCT-EMP_NAME,SAN_STRUCT-EMP_SALARY.
         ENDLOOP.

ENDFORM.
" INSERT
*&---------------------------------------------------------------------*
*&      Form  UPDATE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM UPDATE .
    LOOP AT SAN_ITABLE INTO SAN_STRUCT.
      IF SAN_STRUCT-EMP_NO P_EMPNO.
        SAN_STRUCT-EMP_SALARY '12345'.

        APPEND SAN_STRUCT TO SAN_ITABLE.
        UPDATE ZSAN_EMP_DETAILS FROM TABLE SAN_ITABLE.

        ENDIF.
     ENDLOOP.

  UPDATE ZSAN_EMP_DETAILS SET EMP_SALARY P_SALARY WHERE EMP_NO P_EMPNO.

      WRITE:'UPDATE SUCCESS'.


ENDFORM.                    " UPDATE
*&---------------------------------------------------------------------*
*&      Form  DELETE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DELETE .
  DELETE FROM ZSAN_EMP_DETAILS WHERE EMP_NO P_EMPNO.
  WRITE: 'DELETE SUCCCESS'.

ENDFORM.                    " DELETE
*&---------------------------------------------------------------------*
*&      Form  MODIFY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM MODIFY .

        SAN_STRUCT-EMP_NO P_EMPNO.
        SAN_STRUCT-EMP_NAME P_ENAME.
        SAN_STRUCT-EMP_SALARY P_SALARY.

        MODIFY ZSAN_EMP_DETAILS FROM SAN_STRUCT .
        WRITE: 'MODIFY SUCCESS'.

ENDFORM.                    " MODIFY