31
*--------------------------------------------------------------------* * Program Name : ZFIRCAR_0130 * * Title : Accounts with Active Instalment Plan and * * redit on Account * * Object ID : 0103 * * Author : Najmunnisa Khan * * Date : 9/1/2010 * * Business Cont : CEA ERP-FI Functional Team * *--------------------------------------------------------------------* * Program Purpose : <Program Description> * *--------------------------------------------------------------------* * Input : Goto Transaction - Z013003 and input * * : respective values on the Selection Screen * * Output : Report showing data processed and result * * Return Codes : N/A * *--------------------------------------------------------------------* * Misc. Notes : N/A * *--------------------------------------------------------------------* * Modification History * * * * 1) Request # : * * Developer : * * Date : * * Description : * *--------------------------------------------------------------------* REPORT zfircar_0130 NO STANDARD PAGE HEADING LINE -COUNT 65 LINE -SIZE 132 . ********************************************************************** * DATA TYPES DECLARATION **********************************************************************

ALV_OOPS with header footer and click event

Embed Size (px)

Citation preview

Page 1: ALV_OOPS with header footer and click event

*--------------------------------------------------------------------** Program Name       : ZFIRCAR_0130                                  ** Title              : Accounts with Active Instalment Plan and      **                                                   redit on Account ** Object ID          : 0103                                          ** Author             : Najmunnisa Khan                               ** Date               : 9/1/2010                                      ** Business Cont      : CEA ERP-FI Functional Team                    **--------------------------------------------------------------------** Program Purpose    :  <Program Description>                        **--------------------------------------------------------------------** Input              : Goto Transaction - Z013003  and input         **                    : respective values on the Selection Screen     ** Output             : Report showing data processed and result      ** Return Codes       : N/A                                           **--------------------------------------------------------------------** Misc. Notes        :  N/A                                          **--------------------------------------------------------------------** Modification History                                               **                                                                    ** 1) Request #       :                                               **    Developer       :                                               **    Date            :                                               **    Description     :                                               **--------------------------------------------------------------------*

REPORT  zfircar_0130        NO STANDARD PAGE HEADING        LINE-COUNT 65        LINE-SIZE 132.

*********************************************************************** DATA TYPES DECLARATION**********************************************************************TYPES : BEGIN OF TY_S_FKK_INSTPLN_HEAD,               "Header Data for Installment Plan          VKONT             TYPE    VKONT_KK,         "Contract Account Number          RPNUM             TYPE    RPBEL_KK,         "Installment Plan Number          GPART             TYPE    GPART_KK,         "Business Partner Number

Page 2: ALV_OOPS with header footer and click event

        END OF TY_S_FKK_INSTPLN_HEAD,        TY_T_FKK_INSTPLN_HEAD TYPE STANDARD TABLE OF TY_S_FKK_INSTPLN_HEAD,

        BEGIN OF TY_S_BUT000,          PARTNER           TYPE    BU_PARTNER,       "Business Partner Number          TYPE              TYPE    BU_TYPE,          "Business partner category          NAME_FIRST        TYPE    BU_NAMEP_F,       "First name of business partner (person)          NAME_LST2         TYPE    BU_NAMEPL2,       "Other Last Name of a Person          LEGAL_ENTY        TYPE    BU_LEGENTY,       "BP: Legal form of organization        END OF TY_S_BUT000,        TY_T_BUT000 TYPE STANDARD TABLE OF TY_S_BUT000,

        BEGIN OF TY_S_ADRC,          STREETCODE        TYPE    AD_STRNUM,        "Street Number for City/Street File          CITY1             TYPE    AD_CITY1,         "City          POST_CODE1        TYPE    AD_PSTCD1,        "City postal code        END OF TY_S_ADRC ,        TY_T_ADRC TYPE STANDARD TABLE OF TY_S_ADRC,

        BEGIN OF TY_S_DFKKOP,          OPBEL             TYPE    OPBEL_KK,        "Number of Contract Accts Rec. & Payable Doc.          BETRW             TYPE    BETRW_KK,        "Amount in Transaction Currency with +/- Sign        END OF TY_S_DFKKOP,        TY_T_DFKKOP TYPE STANDARD TABLE OF TY_S_DFKKOP,

*--- Final structure for data        BEGIN OF TY_S_FINAL ,          VKONT             TYPE    VKONT_KK,       " Contract Account Number          CUSTOMER_NAME     TYPE    CHAR80,         " CUSTOMER NAME          SERVICE_ADDRESS   TYPE    STRING,         " SERVICE ADDRESS          RPNUM             TYPE    RPBEL_KK,       " INSTALLAMENT PLAN NUMBER          TOT_INST_AMNT     TYPE    CHAR12,         " TOTAL INSTALLEMENT AMOUNT

Page 3: ALV_OOPS with header footer and click event

          NINST             TYPE    NINST_KK,       " TOTAL INSTALLEMENT          NO_OF_PAID_INST   TYPE    NINST_KK,       " TOTAL NUMBER OF PAID INSTALLEMENT          TOT_NO_OPEN_INST  TYPE    NINST_KK,       " TOTAL NUMBER OF OPEN INSTALLEMENT          TOT_INST_OPEN_AMT TYPE    CHAR12,         " TOTAL INSTALLEMENT OPEN AMOUNT          BETRW             TYPE    CHAR15,         " TOTAL CREDIT AMOUNT          TOT_DIFF          TYPE    CHAR10,         " TOTAL DIFFERENCE ( OPEN BALANCE - CREDIT )          TOT_NO_ACC        TYPE    CHAR10,         " TOTAL NO_ACC_WITH_ACTIVE_INST_PLAN_CREDIT_ON_ACC          PER_DIFF          TYPE    i,         " PER_DIFF        END OF TY_S_FINAL,        TY_T_FINAL TYPE STANDARD TABLE OF TY_S_FINAL,                BEGIN OF TY_S_VKONT,          VKONT TYPE VKONT_KK ,        END OF TY_S_VKONT,        TY_T_VKONT TYPE STANDARD TABLE OF TY_S_VKONT,

        BEGIN OF TY_S_RPNUM,          RPNUM TYPE RPBEL_KK,        END OF TY_S_RPNUM,        TY_T_RPNUM TYPE STANDARD TABLE OF TY_S_RPNUM.

*********************************************************************** INTERNAL TABLE DECLARATION**********************************************************************DATA :  GT_FKK_INSTPLN_HEAD   TYPE    TY_T_FKK_INSTPLN_HEAD,        GT_BUT000             TYPE    TY_T_BUT000,        GT_ADRC               TYPE    TY_T_ADRC,        GT_DFKKOP             TYPE    TY_T_DFKKOP,        GT_FIELDCAT           TYPE    LVC_T_FCAT,        GT_FINAL              TYPE    TY_T_FINAL,        GT_VKONT              TYPE    TY_T_VKONT,        GT_RPNUM              TYPE    TY_T_RPNUM.*********************************************************************** WORK AREA DECLARATION**********************************************************************DATA :  GS_FKK_INSTPLN_HEAD   TYPE    TY_S_FKK_INSTPLN_HEAD,        GS_BUT000             TYPE    TY_S_BUT000,

Page 4: ALV_OOPS with header footer and click event

        GS_ADRC               TYPE    TY_S_ADRC,        GS_DFKKOP             TYPE    TY_S_DFKKOP,        GS_FINAL              TYPE    TY_S_FINAL,        GS_PRINT              TYPE    LVC_S_PRNT,        GS_FIELDCAT           TYPE    LVC_S_FCAT,        GS_LAYOUT             TYPE    LVC_S_LAYO,        GS_VARI               TYPE    DISVARIANT.

********************************************************************** VARIABLE DECLARATION**********************************************************************

DATA: GV_VKONT         TYPE    VKONT_KK, "Contract Account Number      GV_RPNUM         TYPE    RPBEL_KK, "Installment plan number      GV_HVORG         TYPE    HVORG_KK, "Main Transaction      GV_BETRW         TYPE    BETRW_KK, "AMOUNT      GV_AUGST         TYPE    AUGST_KK, "Clearing status      GV_STRING        TYPE    i,      GV_TRAN_600      TYPE    HVORG_KK, " Main Transaction for Line Item      GV_TRAN_060      TYPE    HVORG_KK, " Main Transaction for Line Item      GV_VALID         TYPE    CHAR1,      GV_FLAG          TYPE    CHAR1,      GV_DATA_CHANGE   TYPE    CHAR1,      GV_LINES         TYPE    SY-TFILL.

*********************************************************************** CONSTANTS DECLARATION**********************************************************************CONSTANTS : GC_X          TYPE    CHAR1        VALUE     'X' ,    " Checked            GC_SPACE      TYPE    CHAR1        VALUE     SPACE,   " Space            GC_0060       TYPE    HVORG_KK     VALUE     '0060',  " Transaction 0060            GC_0600       TYPE    HVORG_KK     VALUE     '0600',  " Transaction 0600            GC_PER        TYPE    BU_TYPE      VALUE     '1',     " BP Category for Person            GC_CONTAINER  TYPE    SCRFNAME     VALUE     'CC_ALV'," Custom Control Name            GC_ALL        TYPE    CHAR1        VALUE     'A',

Page 5: ALV_OOPS with header footer and click event

            GC_SELOPT     TYPE    TEXTPOOL-KEY VALUE     'S'. " TEXT ELEMENT KEY

*********************************************************************** CLASS REFERENCE**********************************************************************DATA: GR_GRID             TYPE REF TO     CL_GUI_ALV_GRID,          " Reference to Grid      GR_DYNDOC_ID        TYPE REF TO     CL_DD_DOCUMENT,           " Reference to document      GR_DYNDOC_ID1       TYPE REF TO     CL_DD_DOCUMENT,           " Reference to document      GR_SPLITTER         TYPE REF TO     CL_GUI_SPLITTER_CONTAINER," Reference to split container      GR_CUSTOM_CONTAINER TYPE REF TO     CL_GUI_CUSTOM_CONTAINER,  " Container1      GR_PARENT_GRID      TYPE REF TO     CL_GUI_CONTAINER,         " REFERENCE TO GRID CONTAINER      GR_HTML_CNTRL       TYPE REF TO     CL_GUI_HTML_VIEWER,       " REFERENCE TO HTML CONTAINER      GR_HTML_CNTRL1      TYPE REF TO     CL_GUI_HTML_VIEWER,       " REFERENCE TO HTML CONTAINER      GR_PARENT_HTML      TYPE REF TO     CL_GUI_CONTAINER,         " REFERENCE TO HTML CONTAINER      GR_FOOTER_HTML      TYPE REF TO     CL_GUI_CONTAINER.

*********************************************************************** OTHER DECLARATION**********************************************************************DATA: OK_CODE             LIKE            SY-UCOMM,      SAVE_OK             LIKE            SY-UCOMM.

*---------------------------------------------------------------------** CLASS lcl_event_handler DEFINITION*---------------------------------------------------------------------*CLASS LCL_EVENT_HANDLER DEFINITION.  PUBLIC SECTION .    METHODS:**HOT SPOT HANDLER    HANDLE_HOTSPOT_CLICK FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID                                  IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO,***DOUBLE CLICK HANDLER

Page 6: ALV_OOPS with header footer and click event

*HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID*                              IMPORTING E_ROW E_COLUMN ES_ROW_NO,

     TOP_OF_PAGE FOR EVENT TOP_OF_PAGE OF CL_GUI_ALV_GRID                            IMPORTING E_DYNDOC_ID,

     END_OF_PAGE FOR EVENT END_OF_LIST OF CL_GUI_ALV_GRID                            IMPORTING E_DYNDOC_ID.ENDCLASS. "lcl_event_handler DEFINITION*---------------------------------------------------------------------** CLASS lcl_event_handler IMPLEMENTATION*---------------------------------------------------------------------*CLASS LCL_EVENT_HANDLER IMPLEMENTATION.*HANDLE HOTSPOT CLICK  METHOD HANDLE_HOTSPOT_CLICK .    PERFORM HOTSPOT_CLICK USING E_ROW_ID E_COLUMN_ID.  ENDMETHOD.                    "HANDLE_HOTSPOT_CLICK  "lcl_event_handler*Handle Double Click*METHOD HANDLE_DOUBLE_CLICK.*ENDMETHOD. "handle_double_click

  METHOD TOP_OF_PAGE. "implementation* Top-of-page event    PERFORM EVENT_TOP_OF_PAGE USING GR_DYNDOC_ID.  ENDMETHOD. "top_of_page

  METHOD END_OF_PAGE. "implementation* Top-of-page event    PERFORM EVENT_END_OF_PAGE USING GR_DYNDOC_ID1.  ENDMETHOD. "top_of_page

ENDCLASS. "LCL_EVENT_HANDLER IMPLEMENTATION

*&---------------------------------------------------------------------**& Global Definitions*&---------------------------------------------------------------------*DATA: GR_HANDLER TYPE REF TO LCL_EVENT_HANDLER. "handler*********************************************************************** SELECTION SCREEN CREATION

Page 7: ALV_OOPS with header footer and click event

**********************************************************************SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-027.*--- CONTRACT ACCOUNT NUMBERSELECT-OPTIONS : S_VKONT  FOR GV_VKONT  NO-EXTENSION OBLIGATORY,*--- Installment plan number in Contract A/R & A/P                 S_RPNUM  FOR GV_RPNUM  NO-EXTENSION OBLIGATORY.*--- Skip one line spaceSELECTION-SCREEN SKIP 1.*--- Transaction 0060PARAMETERS :  CB_0060 AS CHECKBOX DEFAULT GC_X,*--- Transaction 0600              CB_0600 AS CHECKBOX.*--- Skip one line spaceSELECTION-SCREEN SKIP 1.*--- Amount in Transaction Currency with +/- SignPARAMETERS : P_BETRW  TYPE  BETRW_KK ,*--- Clearing status             P_AUGST  TYPE  AUGST_KK .*--- Skip one line spaceSELECTION-SCREEN SKIP 1.*--- % Difference Balance / CreditSELECT-OPTIONS P_DIFF  FOR  GV_STRING NO-EXTENSION OBLIGATORY.SELECTION-SCREEN END OF BLOCK B1.*********************************************************************** END OF SELECTION SCREEN*********************************************************************** Initialization eventINITIALIZATION.PERFORM GET_DATA_FOR_VALIDATION.*************************************************************************To validate the selection screen                                      *************************************************************************AT SELECTION-SCREEN.  PERFORM VALIDATE-SELECTIONS.

*Start of selection eventSTART-OF-SELECTION.*fetch data into table and field characteristics  PERFORM GET_DATA_FOR_ALV.*ALV display for output  PERFORM ALV_OUTPUT.

Page 8: ALV_OOPS with header footer and click event

*&---------------------------------------------------------------------**&      Form  GET_DATA_FOR_ALV*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM GET_DATA_FOR_ALV .  PERFORM FETCH_DATA. " FETCH DATA FROM TRANSPARENT TABLE  PERFORM TRANS_TO_FINAL. " TRANSFER FETCHED DATA TO  FINAL INTERNAL TABLEENDFORM.                    " GET_DATA_FOR_ALV

*&---------------------------------------------------------------------**& FORM CREATE_AND_INIT_ALV*&---------------------------------------------------------------------** TEXT*----------------------------------------------------------------------*FORM CREATE_AND_INIT_ALV .  DATA: LT_EXCLUDE TYPE UI_FUNCTIONS.

    CREATE OBJECT GR_CUSTOM_CONTAINER    EXPORTING      CONTAINER_NAME = GC_CONTAINER. "this is for top of page* Create TOP-Document  CREATE OBJECT GR_DYNDOC_ID    EXPORTING      STYLE = 'ALV_GRID'.

* Create TOP-Document  CREATE OBJECT GR_DYNDOC_ID1    EXPORTING      STYLE = 'ALV_GRID'.

*********************************************************************** TO SPLIT THE CONTAINER INTO DIFFERENT PARTS AND ASSIGNING THEN

Page 9: ALV_OOPS with header footer and click event

* TO RESPECTABLE AREAS LIKE HEADER BODY AND FOOTER**********************************************************************  PERFORM ALV_SPLIT_CONTAINER.

  CREATE OBJECT GR_GRID    EXPORTING      I_PARENT = GR_PARENT_GRID.* Set a titlebar for THE GRID CONTROL  PERFORM ALV_100_LAYOUT .

  CALL METHOD GR_GRID->REGISTER_EDIT_EVENT    EXPORTING      I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.

  CREATE OBJECT GR_HANDLER.  SET HANDLER GR_HANDLER->TOP_OF_PAGE FOR GR_GRID.  SET HANDLER GR_HANDLER->END_OF_PAGE FOR GR_GRID.  SET HANDLER GR_HANDLER->HANDLE_HOTSPOT_CLICK FOR GR_GRID.

* SETTING FOCUS FOR CREATED GRID CONTROL  CALL METHOD CL_GUI_CONTROL=>SET_FOCUS    EXPORTING      CONTROL = GR_GRID.* BUILD FIELDCAT AND SET EDITABLE FOR DATE AND REASON CODE* EDIT ENABLED. ASSIGN A HANDLE FOR THE DROPDOWN LISTBOX.  PERFORM BUILD_FIELDCAT.  PERFORM PRINT_RESERVE.  PERFORM VARIANT_SAVE.**CALLING THE METHOD FOR ALV OUTPUT

  CALL METHOD GR_GRID->SET_TABLE_FOR_FIRST_DISPLAY    EXPORTING      IT_TOOLBAR_EXCLUDING = LT_EXCLUDE      IS_VARIANT           = GS_VARI      IS_LAYOUT            = GS_LAYOUT      IS_PRINT             = GS_PRINT      I_SAVE               = 'A'    CHANGING      IT_OUTTAB            = GT_FINAL[]      IT_FIELDCATALOG      = GT_FIELDCAT.

  DESCRIBE TABLE GT_FINAL LINES GV_LINES.  CALL METHOD GR_DYNDOC_ID->INITIALIZE_DOCUMENT.* Processing events  CALL METHOD GR_GRID->LIST_PROCESSING_EVENTS

Page 10: ALV_OOPS with header footer and click event

    EXPORTING      I_EVENT_NAME = 'TOP_OF_PAGE'      I_DYNDOC_ID  = GR_DYNDOC_ID. "TOP OF PAGE   CALL METHOD GR_DYNDOC_ID->INITIALIZE_DOCUMENT.    CALL METHOD GR_DYNDOC_ID1->INITIALIZE_DOCUMENT.

    CALL METHOD GR_GRID->LIST_PROCESSING_EVENTS    EXPORTING      I_EVENT_NAME = 'END_OF_LIST'      I_DYNDOC_ID  = GR_DYNDOC_ID1. "END OF PAGE

ENDFORM. "CREATE_AND_INIT_ALV

*&---------------------------------------------------------------------**&      Form  FETCH_DATA*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM FETCH_DATA .  IF CB_0600 = GC_X.    GV_TRAN_600 = GC_0600.  ENDIF.

  IF CB_0060 = GC_X.    GV_TRAN_060 = GC_0060.  ENDIF.  "Selecting data from FKK_INSTPLN_HEAD Table  SELECT      VKONT           "Contract Account Number      RPNUM           "Installment Plan Number      GPART           "Business Partner Number   FROM   FKK_INSTPLN_HEAD   INTO TABLE   GT_FKK_INSTPLN_HEAD   WHERE VKONT IN S_VKONT   AND   RPNUM IN S_RPNUM.

Page 11: ALV_OOPS with header footer and click event

  IF SY-SUBRC = 0.    "Fetching Data from BUT000 using For all entries on selection criteria Partner.Here we are fetching all the Category Types    "Person/Organisation/Legal Entity    SELECT      PARTNER            "Business Partner Number      TYPE               " Business partner category      NAME_FIRST         "First name of business partner (person)      NAME_LST2          "Other Last Name of a Person      LEGAL_ENTY         "Legal Entity of Organization      FROM      BUT000      INTO TABLE      GT_BUT000      FOR ALL ENTRIES IN      GT_FKK_INSTPLN_HEAD      WHERE PARTNER  = GT_FKK_INSTPLN_HEAD-GPART.

    IF SY-SUBRC = 0.      SORT GT_BUT000 BY PARTNER.    ENDIF.

    "PERFORM FUNCTION_MODULE_GET_DETAIL USING LV_RPNUM. "Function Module to Fetch data

    "Selecting data from the table DFKKOP with selection criteria from head table    SELECT      OPBEL         "Number of Contract Accts Rec. & Payable Doc.      BETRW         "Amount in Transaction Currency with +/- Sign     FROM     DFKKOP     INTO TABLE     GT_DFKKOP     FOR ALL ENTRIES IN     GT_FKK_INSTPLN_HEAD     WHERE OPBEL = GT_FKK_INSTPLN_HEAD-RPNUM AND           ( HVORG =  GV_TRAN_600 OR HVORG =  GV_TRAN_060 ) AND             BETRW = P_BETRW AND             AUGST = P_AUGST.

    IF SY-SUBRC EQ 0.      SORT GT_DFKKOP BY OPBEL.    ENDIF.  ENDIF.

Page 12: ALV_OOPS with header footer and click event

ENDFORM.                    " FETCH_DATA

*&---------------------------------------------------------------------**&      Form  TRANS_TO_FINAL*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM TRANS_TO_FINAL .  DATA : LT_ADDRESS TYPE  STANDARD TABLE OF BUS020_EXT,         LS_ADDRESS TYPE BUS020_EXT,         LS_ATT TYPE FKK_INSTPL_ATTRIBUTES,         LT_SKKOP TYPE  STANDARD TABLE OF SFKKOP,         LS_SKKOP TYPE SFKKOP.*--- TOTAL NO_ACC_WITH_ACTIVE_INST_PLAN_CREDIT_ON_ACC  DESCRIBE TABLE GT_FKK_INSTPLN_HEAD LINES GS_FINAL-TOT_NO_ACC.

  LOOP AT GT_FKK_INSTPLN_HEAD INTO GS_FKK_INSTPLN_HEAD.*--- Contract Account Number    MOVE GS_FKK_INSTPLN_HEAD-VKONT TO GS_FINAL-VKONT.*--- INSTALLAMENT PLAN NUMBER    MOVE GS_FKK_INSTPLN_HEAD-RPNUM TO GS_FINAL-RPNUM.

    READ TABLE GT_BUT000 INTO GS_BUT000 WITH KEY                              PARTNER  = GS_FKK_INSTPLN_HEAD-GPART                              BINARY SEARCH.    IF SY-SUBRC EQ 0.*--- CUSTOMER NAME      IF GS_BUT000-TYPE EQ GC_PER. " IF BP CATEGORY IS PERSON        CONCATENATE GS_BUT000-NAME_FIRST                    GS_BUT000-NAME_LST2                    INTO GS_FINAL-CUSTOMER_NAME                    SEPARATED BY SPACE.      ELSE. " IF BP CATEGORY IS NOT PERSON        MOVE GS_BUT000-LEGAL_ENTY TO GS_FINAL-CUSTOMER_NAME.      ENDIF.

*********************************************************************** FUNCTION MODULE ISU_DB_PARTNER_SINGLE

Page 13: ALV_OOPS with header footer and click event

***********************************************************************--- SERVICE ADDRESS      CALL FUNCTION 'ISU_DB_PARTNER_SINGLE'        EXPORTING          X_PARTNER                 = GS_BUT000-PARTNER        TABLES          TY_ADDRESS                = LT_ADDRESS        EXCEPTIONS          PARTNER_NOT_FOUND         = 1          PARTNER_IN_ROLE_NOT_FOUND = 2          INTERNAL_ERROR            = 3          OTHERS                    = 4.      IF SY-SUBRC EQ 0.        SORT LT_ADDRESS BY PARTNER.        READ TABLE LT_ADDRESS INTO LS_ADDRESS WITH KEY                                   PARTNER = GS_BUT000-PARTNER                                   BINARY SEARCH.        IF SY-SUBRC EQ 0.          CONCATENATE LS_ADDRESS-STREETCODE                      LS_ADDRESS-STREET                      LS_ADDRESS-CITY1                      LS_ADDRESS-POST_CODE1                      INTO GS_FINAL-SERVICE_ADDRESS                      SEPARATED BY ', '.        ENDIF.      ENDIF.*********************************************************************** FUNCTION MODULE FKK_S_INSTPLAN_GETDETAIL**********************************************************************

      CALL FUNCTION 'FKK_S_INSTPLAN_GETDETAIL'        EXPORTING          I_OPBEL            = GS_FKK_INSTPLN_HEAD-RPNUM        IMPORTING          E_RFKN1_ATTRIBUTES = LS_ATT        TABLES          T_INSTPLAN_FKKOP   = LT_SKKOP.      IF SY-SUBRC EQ 0.*--- TOTAL INSTALLEMENT        GS_FINAL-NINST = LS_ATT-NINST.*--Initializing the field        GS_FINAL-NO_OF_PAID_INST = 0.        GS_FINAL-TOT_NO_OPEN_INST = 0.        LOOP AT LT_SKKOP INTO LS_SKKOP.*--- TOTAL INSTALLEMENT AMOUNT

Page 14: ALV_OOPS with header footer and click event

          GS_FINAL-TOT_INST_AMNT = GS_FINAL-TOT_INST_AMNT + LS_SKKOP-BETRW.          IF LS_SKKOP-AUGST = '9'.*--- TOTAL NUMBER OF PAID INSTALLEMENT            GS_FINAL-NO_OF_PAID_INST = GS_FINAL-NO_OF_PAID_INST + 1.          ELSE.*--- TOTAL NUMBER OF OPEN INSTALLEMENT            GS_FINAL-TOT_NO_OPEN_INST = GS_FINAL-TOT_NO_OPEN_INST + 1.*--- TOTAL INSTALLEMENT OPEN AMOUNT            GS_FINAL-TOT_INST_OPEN_AMT = GS_FINAL-TOT_INST_OPEN_AMT + LS_SKKOP-BETRW.

          ENDIF.

        ENDLOOP.

      ENDIF.    ENDIF.

*--- TOTAL CREDIT AMOUNT    READ TABLE GT_DFKKOP INTO GS_DFKKOP WITH KEY                              OPBEL = GS_FKK_INSTPLN_HEAD-RPNUM                              BINARY SEARCH.    IF SY-SUBRC EQ 0.      GS_FINAL-BETRW = GS_DFKKOP-BETRW.    ENDIF.**--- TOTAL DIFFERENCE ( TOTAL INSTALLEMENT OPEN AMOUNT - TOTAL CREDIT AMOUNT )    GS_FINAL-TOT_DIFF = GS_FINAL-TOT_INST_OPEN_AMT - GS_FINAL-BETRW.

**-- % Difference Balance / Credit    GS_FINAL-PER_DIFF = GS_FINAL-TOT_INST_OPEN_AMT / ( GS_FINAL-BETRW - 1 ).

*IF gs_final-per_diff > ( 10 / 100 ) and gs_final-per_diff < - ( 10 / 100 ).IF p_diff-low < GS_FINAL-PER_DIFF and p_diff-high > GS_FINAL-PER_DIFF.

    APPEND GS_FINAL TO GT_FINAL.

endif.

*endif.    CLEAR: GS_FINAL ,           GS_FKK_INSTPLN_HEAD,

Page 15: ALV_OOPS with header footer and click event

           LS_ADDRESS,           GS_BUT000,           GS_DFKKOP.  ENDLOOP.ENDFORM.                    " TRANS_TO_FINAL

*&---------------------------------------------------------------------**& Form build_fieldcat*&---------------------------------------------------------------------** Fieldcatalog*----------------------------------------------------------------------*FORM BUILD_FIELDCAT .  PERFORM FIELDCAT_CREATION USING 1 1 TEXT-002 TEXT-001 TEXT-003 15 GC_SPACE.  PERFORM FIELDCAT_CREATION USING 1 2 TEXT-004 TEXT-001 TEXT-005 30 GC_SPACE.  PERFORM FIELDCAT_CREATION USING 1 3 TEXT-006 TEXT-001 TEXT-007 40 GC_SPACE.  PERFORM FIELDCAT_CREATION USING 1 4 TEXT-008 TEXT-001 TEXT-009 20 GC_X.  PERFORM FIELDCAT_CREATION USING 1 5 TEXT-010 TEXT-001 TEXT-011 20 GC_SPACE.  PERFORM FIELDCAT_CREATION USING 1 6 TEXT-012 TEXT-001 TEXT-013 19 GC_SPACE.  PERFORM FIELDCAT_CREATION USING 1 7 TEXT-014 TEXT-001 TEXT-015 24 GC_SPACE.  PERFORM FIELDCAT_CREATION USING 1 8 TEXT-016 TEXT-001 TEXT-017 24 GC_SPACE.  PERFORM FIELDCAT_CREATION USING 1 9 TEXT-018 TEXT-001 TEXT-019 27 GC_SPACE.  PERFORM FIELDCAT_CREATION USING 1 10 TEXT-020 TEXT-001 TEXT-021 18 GC_SPACE.  PERFORM FIELDCAT_CREATION USING 1 11 TEXT-022 TEXT-001 TEXT-023 17 GC_SPACE.  PERFORM FIELDCAT_CREATION USING 1 12 TEXT-025 TEXT-001 TEXT-026 26 GC_SPACE.ENDFORM. " build_fieldcat

*&---------------------------------------------------------------------**&      Form  FIELDCAT_CREATION*&--------------------------------------------------------------------

Page 16: ALV_OOPS with header footer and click event

-**       text*----------------------------------------------------------------------**      LV_ROW_POS      TYPE  LVC_ROWPOS*      LV_COL_POS      TYPE  LVC_COLPOS*      LV_FILED_NAME   TYPE  LVC_FNAME*      LV_TABLE_NAME   TYPE  LVC_TNAME*      LV_DESCRIPTION  TYPE  LVC_TXTCOL*      LV_SIZE         TYPE  LVC_OUTLEN*      lv_HOTSPOT      TYPE  LVC_HOTSPT.*----------------------------------------------------------------------*FORM FIELDCAT_CREATION  USING   LV_ROW_POS      TYPE  LVC_ROWPOS                                LV_COL_POS      TYPE  LVC_COLPOS                                LV_FILED_NAME   TYPE  LVC_FNAME                                LV_TABLE_NAME   TYPE  ANY                                LV_DESCRIPTION  TYPE  LVC_TXTCOL                                LV_SIZE         TYPE  LVC_OUTLEN                                LV_HOTSPOT      TYPE  LVC_HOTSPT.

  CLEAR GS_FIELDCAT.  GS_FIELDCAT-ROW_POS = LV_ROW_POS.  GS_FIELDCAT-COL_POS = LV_COL_POS.  GS_FIELDCAT-FIELDNAME = LV_FILED_NAME.  GS_FIELDCAT-TABNAME = LV_TABLE_NAME.  GS_FIELDCAT-COLTEXT = LV_DESCRIPTION.  GS_FIELDCAT-OUTPUTLEN = LV_SIZE.  GS_FIELDCAT-HOTSPOT = LV_HOTSPOT.  APPEND GS_FIELDCAT TO GT_FIELDCAT.

ENDFORM.                    " FIELDCAT_CREATION

*&---------------------------------------------------------------------**& Module STATUS_0100 OUTPUT*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*MODULE STATUS_0100 OUTPUT.  SET PF-STATUS 'PF_STATUS'.  SET TITLEBAR 'TITLE'.  IF GR_CUSTOM_CONTAINER IS INITIAL.

Page 17: ALV_OOPS with header footer and click event

**Initializing the grid and calling the fm to Display the O/P    PERFORM CREATE_AND_INIT_ALV.  ENDIF.ENDMODULE. " STATUS_0100 OUTPUT*&---------------------------------------------------------------------**& Module USER_COMMAND_0100 INPUT*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*MODULE USER_COMMAND_0100 INPUT.  CASE SY-UCOMM.    WHEN 'BACK'.      LEAVE TO SCREEN 0.    WHEN 'CANCEL'.      LEAVE TO SCREEN 0.    WHEN 'EXIT'.      LEAVE TO SCREEN 0.  ENDCASE.ENDMODULE. " USER_COMMAND_0100 INPUT*&---------------------------------------------------------------------**& Form EVENT_TOP_OF_PAGE*&---------------------------------------------------------------------** text*----------------------------------------------------------------------**-->DG_DYNDOC_ID TEXT*----------------------------------------------------------------------*FORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT. "this is more clear.....check it  "first add text, then pass it to comentry write fm  DATA: DL_TEXT(255) TYPE C. "Text

MOVE TEXT-031 TO DL_TEXT.PERFORM ADD_TEXT USING DL_TEXT.PERFORM ADD_GAP USING 110.CLEAR : DL_TEXT.

MOVE TEXT-032 TO DL_TEXT.PERFORM ADD_TEXT USING DL_TEXT.

Page 18: ALV_OOPS with header footer and click event

PERFORM ADD_GAP USING 100.CLEAR : DL_TEXT.

 WRITE SY-DATUM TO DL_TEXT DD/MM/YYYY. CONCATENATE TEXT-033 DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.PERFORM ADD_TEXT USING DL_TEXT.PERFORM ADD_NEW_LINE.CLEAR : DL_TEXT.

MOVE TEXT-034 TO DL_TEXT.PERFORM ADD_TEXT USING DL_TEXT.PERFORM ADD_GAP USING 110.CLEAR : DL_TEXT.

MOVE TEXT-035 TO DL_TEXT.PERFORM ADD_TEXT USING DL_TEXT.PERFORM ADD_GAP USING 96.CLEAR : DL_TEXT.

 WRITE SY-UZEIT TO DL_TEXT. CONCATENATE TEXT-036 DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.PERFORM ADD_TEXT USING DL_TEXT.PERFORM ADD_NEW_LINE.CLEAR : DL_TEXT.

MOVE TEXT-037 TO DL_TEXT.PERFORM ADD_TEXT USING DL_TEXT.PERFORM ADD_GAP USING 130.CLEAR : DL_TEXT.

MOVE TEXT-038 TO DL_TEXT.PERFORM ADD_TEXT USING DL_TEXT.PERFORM ADD_GAP USING 112.CLEAR : DL_TEXT.

MOVE TEXT-039 TO DL_TEXT.PERFORM ADD_TEXT USING DL_TEXT.CLEAR : DL_TEXT.

PERFORM HTML.ENDFORM. " EVENT_TOP_OF_PAGE*&---------------------------------------------------------------------**& Form HTML*&--------------------------------------------------------------------

Page 19: ALV_OOPS with header footer and click event

-** text*----------------------------------------------------------------------*FORM HTML.* CREATING HTML CONTROL  IF GR_HTML_CNTRL IS INITIAL.    CREATE OBJECT GR_HTML_CNTRL      EXPORTING        PARENT = GR_PARENT_HTML.  ENDIF.** CONNECT TOP DOCUMENT TO HTML-CONTROL  GR_DYNDOC_ID->HTML_CONTROL = GR_HTML_CNTRL.* DISPLAY TOP DOCUMENT  CALL METHOD GR_DYNDOC_ID->DISPLAY_DOCUMENT    EXPORTING      REUSE_CONTROL      = 'X'      PARENT             = GR_PARENT_HTML    EXCEPTIONS      HTML_DISPLAY_ERROR = 1.  IF SY-SUBRC NE 0.    MESSAGE 'Error in displaying top-of-page' TYPE 'I'.  ENDIF.ENDFORM. " HTML

*&---------------------------------------------------------------------**&      Form  EVENT_END_OF_PAGE*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      -->P_DG_DYNDOC_ID  text*----------------------------------------------------------------------*FORM EVENT_END_OF_PAGE  USING  DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.  DATA: DL_TEXT(255) TYPE C,        DL_LINES TYPE STRING. "Text* Populating header to top-of-page

  PERFORM ADD_GAP_F USING 15.  MOVE 'TOTAL NUMBER OF ACCOUNT WITH ACTIVE INSTALMENT PLAN  ' TO DL_TEXT.

Page 20: ALV_OOPS with header footer and click event

  PERFORM ADD_TEXT_F USING DL_TEXT.  PERFORM ADD_NEW_LINE_F.  CLEAR : DL_TEXT.  DL_LINES = GV_LINES.  PERFORM ADD_GAP_F USING 15.  CONCATENATE 'WITH CREDIT ON ACCOUNT:' DL_LINES INTO DL_TEXT.  PERFORM ADD_TEXT_F USING DL_TEXT.  CLEAR : DL_TEXT.

  PERFORM HTML_END.ENDFORM.                    " EVENT_END_OF_PAGE

*&---------------------------------------------------------------------**& Form HTML*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*FORM HTML_END.* CREATING HTML CONTROL*  IF GR_HTML_CNTRL1 IS INITIAL.*    CREATE OBJECT GR_HTML_CNTRL1*      EXPORTING*        PARENT = GR_FOOTER_HTML.*  ENDIF.*** CONNECT TOP DOCUMENT TO HTML-CONTROL*  GR_DYNDOC_ID1->HTML_CONTROL = GR_HTML_CNTRL1.* DISPLAY TOP DOCUMENT  CALL METHOD GR_DYNDOC_ID1->DISPLAY_DOCUMENT    EXPORTING*      REUSE_CONTROL      = 'X'      PARENT             = GR_FOOTER_HTML    EXCEPTIONS      HTML_DISPLAY_ERROR = 1.  IF SY-SUBRC NE 0.    MESSAGE 'Error in displaying END OF PAGE' TYPE 'I'.  ENDIF.ENDFORM. " HTML_END

*&---------------------------------------------------------------------**& Form ADD_TEXT*&--------------------------------------------------------------------

Page 21: ALV_OOPS with header footer and click event

-** To add Text*----------------------------------------------------------------------*FORM ADD_TEXT USING P_TEXT TYPE SDYDO_TEXT_ELEMENT.* Adding text  CALL METHOD GR_DYNDOC_ID->ADD_TEXT    EXPORTING      TEXT         = P_TEXT      SAP_EMPHASIS = CL_DD_AREA=>HEADING      SAP_FONTSIZE = '20'.ENDFORM. " ADD_TEXT*&---------------------------------------------------------------------**& Form ADD_TEXT*&---------------------------------------------------------------------** To add Text*----------------------------------------------------------------------*FORM ADD_TEXT_F USING P_TEXT TYPE SDYDO_TEXT_ELEMENT.* Adding text  CALL METHOD GR_DYNDOC_ID1->ADD_TEXT    EXPORTING      TEXT         = P_TEXT      SAP_EMPHASIS = CL_DD_AREA=>HEADING      SAP_FONTSIZE = '20'.ENDFORM. " ADD_TEXT

*&---------------------------------------------------------------------**&      Form  ADD_GAP*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      -->P_15     text*----------------------------------------------------------------------*FORM ADD_GAP  USING  LV_WIDTH.  CALL METHOD GR_DYNDOC_ID->ADD_GAP    EXPORTING      WIDTH = LV_WIDTH.

Page 22: ALV_OOPS with header footer and click event

ENDFORM.                    " ADD_GAP*&---------------------------------------------------------------------**&      Form  ADD_GAP*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      -->P_15     text*----------------------------------------------------------------------*FORM ADD_GAP_F  USING  LV_WIDTH.  CALL METHOD GR_DYNDOC_ID1->ADD_GAP    EXPORTING      WIDTH = LV_WIDTH.

ENDFORM.                    " ADD_GAP*&---------------------------------------------------------------------**&      Form  ADD_NEW_LINE*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM ADD_NEW_LINE .  CALL METHOD GR_DYNDOC_ID->NEW_LINE    EXPORTING      REPEAT = 0.ENDFORM.                    " ADD_NEW_LINE*&---------------------------------------------------------------------**&      Form  ADD_NEW_LINE*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text

Page 23: ALV_OOPS with header footer and click event

*----------------------------------------------------------------------*FORM ADD_NEW_LINE_F .  CALL METHOD GR_DYNDOC_ID1->NEW_LINE    EXPORTING      REPEAT = 0.ENDFORM.                    " ADD_NEW_LINE*&---------------------------------------------------------------------**&      Form  HOTSPOT_CLICK*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      -->P_E_ROW_ID  text*      -->P_E_COLUMN_ID  text*      -->P_ENDMETHOD  text*----------------------------------------------------------------------*FORM HOTSPOT_CLICK  USING    LV_ROW_ID      TYPE LVC_S_ROW                             LV_COLUMN_ID   TYPE LVC_S_COL.

  READ TABLE GT_FINAL INTO GS_FINAL INDEX LV_ROW_ID-INDEX.

  IF SY-SUBRC EQ 0.    IF LV_COLUMN_ID = 'RPNUM'.      SET PARAMETER ID '8RP' FIELD GS_FINAL-RPNUM.      CALL TRANSACTION 'FPR3' AND SKIP FIRST SCREEN.    ENDIF.  ENDIF.ENDFORM.                    " HOTSPOT_CLICK*&---------------------------------------------------------------------**&      Form  VALIDATE-SELECTIONS*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM VALIDATE-SELECTIONS .

Page 24: ALV_OOPS with header footer and click event

IF S_VKONT IS INITIAL.   "MeSSAGe'Contract Account Number cannot be empty' TYPE 'E'(030). " CONT ACC NO CANNOT BE EMPTY    MESSAGE E000(ZCCS_REP) WITH 'Contract Account Number cannot be empty'. " ELSEIF GT_FKK_INSTPLN_HEAD IS INITIAL. "  MeSSAGE 'No Values for Contract Account Number' TYPE 'E'(028). " NO VALUES FOR SELECTED ACCOUNT NUMBER "   MESSAGE E000(ZAP_ERRORS) WITH 'No Values for Contract Account Number'.  ENDIF.

    IF p_diff-low LT -10 OR p_diff-high GT 10.        Message E000(ZCCS_REP) WITH 'Enter Values between 10 and -10 '.    ENDIF.

  IF NOT CB_0600 = GC_X.    IF NOT CB_0060 = GC_X."       MeSSAGE 'Select Proper Transaction' TYPE 'E'(029).        MESSAGE E000(ZCCS_REP) WITH 'Select Proper Transaction'.    ENDIF.  ENDIF.

ENDFORM.                    " VALIDATE-SELECTIONS*&---------------------------------------------------------------------**&      Form  ALV_OUTPUT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM ALV_OUTPUT .  CALL SCREEN 100.ENDFORM.                    " ALV_OUTPUT*&---------------------------------------------------------------------**&      Form  ALV_100_LAYOUT*&---------------------------------------------------------------------*

Page 25: ALV_OOPS with header footer and click event

*       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM ALV_100_LAYOUT .  CLEAR GS_LAYOUT.  GS_LAYOUT-GRID_TITLE = TEXT-024.  GS_LAYOUT-ZEBRA = GC_X.  GS_LAYOUT-NO_TOOLBAR = GC_SPACE.  GS_LAYOUT-CWIDTH_OPT = 'X'.  GS_LAYOUT-NO_ROWMARK = 'X'.ENDFORM.                    " ALV_100_LAYOUT*&---------------------------------------------------------------------**&      Form  PRINT_RESERVE*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM PRINT_RESERVE .* reserve two lines for the PRINT_END_OF_PAGE event  GS_PRINT-RESERVELNS = 2.  GS_PRINT-PRNT_TITLE = 'X'.  GS_PRINT-PRNT_INFO = 'X'.ENDFORM.                    " PRINT_RESERVE*&---------------------------------------------------------------------**&      Form  VARIANT_SAVE*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*

Page 26: ALV_OOPS with header footer and click event

FORM VARIANT_SAVE .**VAIANT TO SAVE THE LAYOUT  GS_VARI-REPORT = SY-REPID.  GS_VARI-HANDLE = SPACE.  GS_VARI-LOG_GROUP = SPACE.  GS_VARI-USERNAME = SPACE.  GS_VARI-VARIANT = SPACE.  GS_VARI-TEXT = SPACE.  GS_VARI-DEPENDVARS = SPACE.

ENDFORM.                    " VARIANT_SAVE*&---------------------------------------------------------------------**&      Form  ALV_SPLIT_CONTAINER*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM ALV_SPLIT_CONTAINER .*********************************************************************** TO DEVIDE CUSTOM CONTAINER INTO 3 PARTS*  1 HEADER (TOP OF PAGE )*  2 BODY*  3 FOOTER (END OF PAGE )**********************************************************************PERFORM SPLIT_ALV_CUSTOM_CONTAINER.*********************************************************************** ASSIGNING DIVIDED PARTS TO DIFFERENT CONTAINERS*********************************************************************** FOR TOP OF PAGE OR HEADERPERFORM ASSIGN_CUST_CONT_ROW USING 1 1 GR_PARENT_HTML.* SETTING HEIGHT OF TOP OF PAGEPERFORM HEIGHT_CUST_CONT USING 1 15.

* FOR BODYPERFORM ASSIGN_CUST_CONT_ROW USING 2 1 GR_PARENT_GRID.* SETTING HEIGHT FOR BODYPERFORM ASSIGN_CUST_CONT_ROW USING 3 1 GR_FOOTER_HTML.* SETTING HEIGHT OF END OF PAGEPERFORM HEIGHT_CUST_CONT USING 3 10.

Page 27: ALV_OOPS with header footer and click event

ENDFORM.                    " ALV_SPLIT_CONTAINER

*&---------------------------------------------------------------------**&      Form  SPLIT_ALV_CUSTOM_CONTAINER*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM SPLIT_ALV_CUSTOM_CONTAINER .  CREATE OBJECT GR_SPLITTER    EXPORTING      PARENT  = GR_CUSTOM_CONTAINER      ROWS    = 3      COLUMNS = 1.ENDFORM.                    " SPLIT_ALV_CUSTOM_CONTAINER*&---------------------------------------------------------------------**&      Form  ASSIGN_CUST_CONT_ROW*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM ASSIGN_CUST_CONT_ROW USING LV_ROW        TYPE I                                LV_COLUMN     TYPE I                       CHANGING LR_GRID_PART  TYPE REF TO  CL_GUI_CONTAINER.

  CALL METHOD GR_SPLITTER->GET_CONTAINER    EXPORTING      ROW       = LV_ROW      COLUMN    = LV_COLUMN    RECEIVING      CONTAINER = LR_GRID_PART.ENDFORM.                    " ASSIGN_CUST_CONT_ROW

Page 28: ALV_OOPS with header footer and click event

*&---------------------------------------------------------------------**&      Form  HEIGHT_CUST_CONT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      -->P_1      text*      -->P_10     text*----------------------------------------------------------------------*FORM HEIGHT_CUST_CONT  USING  LV_ID      TYPE I                              LV_HEIGHT  TYPE I.

  CALL METHOD GR_SPLITTER->SET_ROW_HEIGHT    EXPORTING      ID     = LV_ID      HEIGHT = LV_HEIGHT.

ENDFORM.                    " HEIGHT_CUST_CONT*&---------------------------------------------------------------------**&      Form  GET_DATA_FOR_VALIDATION*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**  -->  p1        text*  <--  p2        text*----------------------------------------------------------------------*FORM GET_DATA_FOR_VALIDATION .  SELECT    vkont    FROM    fkk_instpln_head    INTO TABLE    GT_VKONT.

IF SY-SUBRC EQ 0.  SORT GT_VKONT.ENDIF.

Page 29: ALV_OOPS with header footer and click event

SELECT    RPNUM    FROM    fkk_instpln_head    INTO TABLE    GT_RPNUM.

IF SY-SUBRC EQ 0.  SORT GT_RPNUM.ENDIF.

ENDFORM.                    " GET_DATA_FOR_VALIDATION