Hello abapers

i am working on alv report.i want to know how to get end_of_page (summary at the bottom)in the list

Hi,
I am sending sample coding for the ALV REPORT. Kindly go through it.
REPORT YMS_EXDET MESSAGE-ID E4 NO STANDARD PAGE HEADING LINE-SIZE 350.
*REPORT  ZMM_EXIN_DOC_ALV_HEADER .
TABLES : J_1IEXCHDR,      " header table
         J_1IEXCDTL,      " item table
         J_1IPART1,       " Excise part I detials
         J_1IPART2,       " Excise Part II details
         LFA1,            " vendor master table
         J_1IMOVEND,      " vendor excise details table
         MSEG,            " Document Segment: Material
         MKPF,            " Header: Material Document
         DD07T,           " domain text table
         T001W.           " Plant and Branch Details
DATA : BEGIN OF IT_CHDR OCCURS 100,
       SERIALNO   LIKE J_1IPART1-SERIALNO,
       DOCNO      LIKE J_1IEXCHDR-DOCNO,
       DOCYR      LIKE J_1IEXCHDR-DOCYR,
       EXNUM      LIKE J_1IEXCHDR-EXNUM,
       EXDAT      LIKE J_1IEXCHDR-EXDAT,
       WERKS      LIKE J_1IEXCHDR-WERKS,
       EXBED      LIKE J_1IEXCHDR-EXBED,
       EXCCD      LIKE J_1IEXCHDR-EXCCD,
       ECS        LIKE J_1IEXCHDR-ECS,
       STATUS LIKE J_1IEXCHDR-STATUS, "CHALLAN STATUS
       END OF IT_CHDR.
DATA : BEGIN OF IT_CDTL OCCURS 100,
       SERIALNO LIKE J_1IPART1-SERIALNO,
       DOCYR  LIKE J_1IEXCDTL-DOCYR,
       DOCNO  LIKE J_1IEXCDTL-DOCNO,
       EXNUM  LIKE J_1IEXCDTL-EXNUM,
       EXDAT  LIKE J_1IEXCDTL-EXDAT,
       LIFNR  LIKE J_1IEXCDTL-LIFNR,
       MATNR  LIKE J_1IEXCDTL-MATNR,
       MAKTX  LIKE J_1IEXCDTL-MAKTX,
       CHAPID LIKE J_1IEXCDTL-CHAPID,
       EXBAS  LIKE J_1IEXCDTL-EXBAS,
       EXBED  LIKE J_1IEXCDTL-EXBED,
       ECS    LIKE J_1IEXCDTL-ECS,
       MENGE  LIKE J_1IEXCDTL-MENGE,
       MEINS  LIKE J_1IEXCDTL-MEINS,
       RDOC2  LIKE J_1IEXCDTL-RDOC2,
       EXGRP  LIKE J_1IEXCDTL-EXGRP,
       RDOC1  LIKE J_1IEXCDTL-RDOC1,
       STATUS LIKE J_1IEXCDTL-STATUS, "CHALLAN STATUS
       END OF IT_CDTL.
DATA TEXT(10).
DATA : BEGIN OF IT_OUT OCCURS 0,
       SERIALNO LIKE J_1IPART1-SERIALNO,
       TEXT1    LIKE TEXT,
       EXNUM    LIKE J_1IEXCDTL-EXNUM,
       EXDAT    LIKE J_1IEXCDTL-EXDAT,
       NAME     LIKE LFA1-NAME1,
       DDTEXT   LIKE DD07T-DDTEXT,
       EXCCD    LIKE J_1IEXCHDR-EXCCD,
       BUDAT    LIKE MKPF-BUDAT,
       EXBAS    LIKE IT_CDTL-EXBAS,
       EXBED    LIKE IT_CDTL-EXBED,
       ECS      LIKE IT_CDTL-ECS,
       MATNR    LIKE IT_CDTL-MATNR,
       MAKTX    LIKE IT_CDTL-MAKTX,
       CHAPID   LIKE IT_CDTL-CHAPID,
       MENGE    LIKE IT_CDTL-MENGE,
       MEINS    LIKE IT_CDTL-MEINS,
       DEL_IND(1),
       END OF IT_OUT.
DATA IT_PART2 LIKE J_1IPART1 OCCURS 0 WITH HEADER LINE.
DATA S_NO(4) .
DATA DB_CNT LIKE SY-TABIX.
DATA EBELN_T LIKE MSEG-EBELN .
TYPE-POOLS : SLIS.
DATA : AFIELD TYPE SLIS_FIELDCAT_ALV.
DATA : LIST_HEADER   TYPE SLIS_T_LISTHEADER,
       FIELDCAT      TYPE SLIS_T_FIELDCAT_ALV,
       LS_FTCAT      TYPE LVC_S_FCAT,
       SORTCAT       TYPE SLIS_T_SORTINFO_ALV,
       SORTCAT_LN    LIKE LINE OF SORTCAT,
       G_REPID LIKE SY-REPID,
       G_BACK_GROUND(70),  "like bapibds01-objkey,
       GS_VARIANT LIKE DISVARIANT,
       G_SAVE ,
       GT_EVENTS TYPE SLIS_T_EVENT,
       ALV_EVENT TYPE SLIS_ALV_EVENT,
       EVENTCAT             TYPE SLIS_T_EVENT,
       EVENTCAT_LN          LIKE LINE OF EVENTCAT,
       LAYOUT_IN            TYPE SLIS_LAYOUT_ALV,
       LAYOUT_IN1           TYPE SLIS_LAYOUT_ALV.
CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'TOP_OF_PAGE',
            GC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE
'USER_COMMAND',
            GC_FORMNAME_BEFORE_OUTPUT TYPE SLIS_FORMNAME VALUE
'BEFORE_OUTPUT'.
  ALV_EVENT TYPE SLIS_ALV_EVENT,
DATA EX_NO LIKE IT_CHDR-EXNUM VALUE 0.
DATA REGTYP_1 LIKE J_1IPART1-REGTYP.
SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME.
PARAMETERS  WERKS TYPE J_1IEXCHDR-WERKS.
SELECT-OPTIONS : BUDAT FOR J_1IEXCHDR-EXDAT.
PARAMETERS : R1 RADIOBUTTON GROUP GRP DEFAULT 'X',
             R2 RADIOBUTTON GROUP GRP.
SELECTION-SCREEN END OF BLOCK B.
INITIALIZATION.
  G_REPID = SY-REPID.
  G_SAVE = 'A'.
PERFORM BUILD_EVENT USING GT_EVENTS[].
  PERFORM ALV_EVENT_INIT.
AT SELECTION-SCREEN.
  REFRESH LIST_HEADER.
  PERFORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER.
START-OF-SELECTION.
PERFORM ALV_EVENT_INIT.
  G_REPID = SY-REPID.
  G_BACK_GROUND = ' ' .
  IF R1 = 'X'.
    CLEAR R2. CLEAR : REGTYP_1.
    REGTYP_1 = 'A'.
     set titlebar 'BALAJI' with DB_CNT.
  ELSEIF R2 = 'X'.
    CLEAR R1.CLEAR : REGTYP_1.
    REGTYP_1 = 'C'.
     set titlebar 'BALAJI1' with DB_CNT.
  ENDIF.
SELECT * FROM J_1IPART1
                  INTO CORRESPONDING FIELDS OF TABLE IT_PART2
                  WHERE REGTYP = REGTYP_1 AND
                        TRNTYP = 'GRPO'.
                        AND BUDAT IN BUDAT.
                          DOCYR = IT_CDTL-DOCYR AND
                          DOCNO = IT_CDTL-DOCNO.
LOOP AT IT_PART2.
   SELECT SINGLE * FROM J_1IEXCHDR
             INTO CORRESPONDING FIELDS OF IT_CHDR
                     WHERE  TRNTYP = 'GRPO' AND
                      STATUS NE ' ' AND
                     STATUS EQ ' ' AND
                     DOCYR = IT_PART2-DOCYR AND
                     DOCNO = IT_PART2-DOCNO AND
                     WERKS = WERKS AND
                     EXDAT IN BUDAT.
                   ORDER BY EXDAT.
   IF SY-SUBRC = 0.
     APPEND IT_CHDR.
   ELSE.
     CONTINUE.
   ENDIF.
IF SY-SUBRC <> 0.
   MESSAGE E084.
ENDIF.
ENDLOOP.
*******************SPD****************
SELECT * INTO CORRESPONDING FIELDS OF IT_CDTL FROM J_1IEXCDTL WHERE
                               TRNTYP = 'GRPO' AND WERKS = WERKS AND
                                EXDAT IN BUDAT AND STATUS NE 'B'.
SELECT SINGLE * FROM J_1IPART1 WHERE DOCNO = IT_CDTL-DOCNO AND
                                     DOCYR = IT_CDTL-DOCYR AND
                                     REGTYP = REGTYP_1.
IF SY-SUBRC EQ 0.
SELECT SINGLE * FROM J_1IPART2 WHERE DOCNO = IT_CDTL-DOCNO AND
                                         DOCYR = IT_CDTL-DOCYR.
  IF SY-SUBRC NE 0.
    IT_CDTL-SERIALNO = J_1IPART1-SERIALNO.
    APPEND IT_CDTL.
  ENDIF.
ENDIF.
ENDSELECT.
***************SPD********************
SELECT BDOCNO BDOCYR BEXNUM BEXDAT BWERKS BEXBED B~EXCCD
       B~ECS
       B~STATUS
       A~SERIALNO
       FROM J_1IPART1 AS A INNER JOIN J_1IEXCHDR AS B
       ON ADOCYR = BDOCYR AND ADOCNO = BDOCNO INTO CORRESPONDING
       FIELDS OF TABLE IT_CHDR WHERE B~TRNTYP = 'GRPO' AND
       BWERKS = WERKS AND BEXDAT IN BUDAT AND
       B~STATUS = ' ' AND
       B~STATUS = 'C' AND
       A~REGTYP = REGTYP_1.
SORT IT_PART2 BY SERIALNO.
LOOP AT IT_CHDR.
   SELECT * FROM J_1IEXCDTL
             INTO CORRESPONDING FIELDS OF IT_CDTL
            FOR ALL ENTRIES IN IT_CHDR
                    WHERE
                     TRNTYP = 'GRPO' AND
                      STATUS EQ ' ' AND
                      STATUS EQ 'C' AND
                     STATUS NE 'P' AND
                     DOCNO  = IT_CHDR-DOCNO AND
                     DOCYR  = IT_CHDR-DOCYR AND
                     EXNUM  = IT_CHDR-EXNUM AND
                     EXDAT  = IT_CHDR-EXDAT AND
                     WERKS  = IT_CHDR-WERKS.
     IF SY-SUBRC = 0.
       APPEND IT_CDTL.
       CLEAR  IT_CDTL.
     ELSE.
       CONTINUE.
     ENDIF.
   ENDSELECT.
MODIFY IT_CDTL INDEX SY-TABIX.
CLEAR IT_CDTL.
ENDLOOP.
*****spd change**********
*LOOP AT IT_CDTL.
*SELECT SINGLE * FROM J_1IPART2 WHERE DOCNO = IT_CDTL-DOCNO AND
                                    DOCYR = IT_CDTL-DOCYR.
*IF SY-SUBRC = 0.
DELETE IT_CDTL INDEX SY-TABIX.
*ENDIF.
*ENDLOOP.
**SELECT
*******spd ****************
SORT IT_CDTL BY  EXNUM EXDAT.
DELETE ADJACENT DUPLICATES FROM IT_CDTL COMPARING MATNR EXNUM EXDAT.
  LOOP AT IT_CDTL.
    CLEAR TEXT.
    DB_CNT = DB_CNT + 1.
    READ TABLE IT_CHDR WITH KEY EXNUM = IT_CDTL-EXNUM DOCNO =
IT_CDTL-DOCNO.
   READ TABLE IT_PART2 WITH KEY DOCNO = IT_CDTL-DOCNO .
   IT_OUT-SERIALNO = IT_PART2-SERIALNO.
    SELECT SINGLE NAME1 FROM LFA1
                    INTO IT_OUT-NAME
                    WHERE LIFNR = IT_CDTL-LIFNR.
    SELECT SINGLE * FROM LFA1
                      WHERE LIFNR = IT_CDTL-LIFNR.
    IF LFA1-LAND1 EQ 'IN'.
      TEXT = 'INVOICE'.
      IT_OUT-TEXT1 = TEXT.
    ELSE.
      TEXT = 'BOE'.
      IT_OUT-TEXT1 = TEXT.
    ENDIF.
    SELECT SINGLE * FROM J_1IMOVEND
                    WHERE LIFNR = IT_CDTL-LIFNR.
    SELECT SINGLE * FROM DD07T
                   INTO IT_OUT-DDTEXT
                    WHERE DOMNAME = 'J_1IVTYP' AND
                          DDLANGUAGE = 'EN' AND
                          DOMVALUE_L = J_1IMOVEND-J_1IVTYP.
  IF DD07T-DDTEXT = 'First Stage Dealer of indigenous excisable goods'
OR
    DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisablegoods'.
      DD07T-DDTEXT = 'Dealer'.
    ENDIF.
    IT_OUT-DDTEXT = DD07T-DDTEXT.
   ELSEIF DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisable
*goods'.
      DD07T-DDTEXT =
    CLEAR EBELN_T.
    SELECT SINGLE LFBNR FROM MSEG
                        INTO EBELN_T
                        WHERE MBLNR = IT_CDTL-RDOC2 .
    SELECT SINGLE * FROM MSEG
                      WHERE BWART EQ '106' AND
                            LFBNR = EBELN_T ."and
                           ebeln = ebeln_t.
    IF SY-SUBRC = 0.
      IT_OUT-DEL_IND = 'X'.
    ELSE.
      IT_OUT-DEL_IND = ' '.
    ENDIF.
    SELECT SINGLE BUDAT FROM MKPF
                      INTO IT_OUT-BUDAT
                      WHERE MBLNR = EBELN_T  ."MSEG-LFBNR.
    IT_OUT-EXNUM = IT_CDTL-EXNUM.
    IT_OUT-EXDAT = IT_CDTL-EXDAT.
    IT_OUT-EXCCD = IT_CHDR-EXCCD.
   IT_OUT-SERIALNO = IT_CHDR-SERIALNO.
    IT_OUT-SERIALNO = IT_CDTL-SERIALNO.
    IT_OUT-EXBAS = IT_CDTL-EXBAS.
    IT_OUT-EXBED = IT_CDTL-EXBED.
    IT_OUT-ECS   = IT_CDTL-ECS.
    IT_OUT-MATNR = IT_CDTL-MATNR.
    IT_OUT-MAKTX = IT_CDTL-MAKTX.
    IT_OUT-CHAPID = IT_CDTL-CHAPID.
    IT_OUT-MENGE = IT_CDTL-MENGE.
    IT_OUT-MEINS = IT_CDTL-MEINS.
    APPEND IT_OUT.
   EX_NO = IT_CDTL-EXNUM.
  ENDLOOP.
Title Portion
  IF REGTYP_1 = 'A'.
    SET TITLEBAR 'BALAJI' WITH DB_CNT.
  ELSEIF REGTYP_1 = 'C'.
    SET TITLEBAR 'BALAJI1' WITH DB_CNT.
  ENDIF.
  AFIELD-COL_POS = 1.
  AFIELD-FIELDNAME = 'SERIALNO'.
  AFIELD-SELTEXT_L = 'SERIAL NO.'.
  AFIELD-JUST = 'L'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 2.
  AFIELD-FIELDNAME = 'TEXT1'.
  AFIELD-SELTEXT_L = 'TYPE OF DOC'.
  AFIELD-JUST = 'L'.
  AFIELD-DECIMALS_OUT = '0'.
  AFIELD-NO_ZERO = 'X'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 3.
  AFIELD-FIELDNAME = 'EXNUM'.
  AFIELD-SELTEXT_L = 'DOC.NO'.
  AFIELD-JUST = 'L'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 4.
  AFIELD-FIELDNAME = 'EXDAT'.
  AFIELD-SELTEXT_L = 'DOC.DATE'.
  AFIELD-JUST = 'C'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 5.
  AFIELD-FIELDNAME = 'NAME'.
  AFIELD-SELTEXT_L = 'NAME OF THE SUPPLIER'.
  AFIELD-NO_ZERO = 'X'.
  AFIELD-JUST = 'L'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 6.
  AFIELD-FIELDNAME = 'DDTEXT'.
  AFIELD-SELTEXT_L = 'TYPE-OF-SUPPLIER'.
  AFIELD-JUST = 'L'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 7.
  AFIELD-FIELDNAME = 'EXCCD'.
  AFIELD-SELTEXT_L = 'ECC OF THE SUPPLIER'.
  AFIELD-NO_ZERO = 'X'.
  AFIELD-JUST = 'L'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 8.
  AFIELD-FIELDNAME = 'BUDAT'.
  AFIELD-SELTEXT_L = 'INPUT RECV DATE'.
  AFIELD-JUST = 'C'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 9.
  AFIELD-FIELDNAME = 'EXBAS'.
  AFIELD-SELTEXT_L = 'ASSESSABLE-VALUE'.
  AFIELD-DO_SUM             = 'X'.
  AFIELD-JUST = 'R'.
  AFIELD-DECIMALS_OUT = '2'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 10.
  AFIELD-FIELDNAME = 'EXBED'.
  AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN CENVAT'.
  AFIELD-JUST = 'R'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 11.
  AFIELD-FIELDNAME = 'ECS'.
  AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN E-CESS'.
  AFIELD-JUST = 'R'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 12.
  AFIELD-FIELDNAME = 'MATNR'.
  AFIELD-SELTEXT_L = 'MATERIAL-CODE'.
  AFIELD-JUST = 'L'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 13.
  AFIELD-FIELDNAME = 'MAKTX'.
  AFIELD-SELTEXT_L = 'DESCRIPTION'.
  AFIELD-JUST = 'L'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 14.
  AFIELD-FIELDNAME = 'CHAPID'.
  AFIELD-SELTEXT_L = 'TARIFF-ID'.
  AFIELD-JUST = 'L'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 15.
  AFIELD-FIELDNAME = 'MENGE'.
  AFIELD-SELTEXT_L = 'QUANTITY'.
  AFIELD-JUST = 'R'.
  AFIELD-DO_SUM             = ' '.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 16.
  AFIELD-FIELDNAME = 'MEINS'.
  AFIELD-SELTEXT_L = 'UOM'.
  AFIELD-JUST = 'C'.
  APPEND AFIELD TO FIELDCAT.
  AFIELD-COL_POS = 17.
  AFIELD-FIELDNAME = 'DEL_IND'.
  AFIELD-SELTEXT_L = 'Deleted'.
  AFIELD-JUST = 'C'.
  APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 18.
AFIELD-FIELDNAME = 'PO NO'.
AFIELD-SELTEXT_L = 'PURDOCNO'.
AFIELD-JUST = 'C'.
APPEND AFIELD TO FIELDCAT.
* LAYOUT FOR ZEBRA CATLOG
  LAYOUT_IN-COLWIDTH_OPTIMIZE = 'X'.
  LAYOUT_IN-ZEBRA             = 'X'.
  LAYOUT_IN-GET_SELINFOS      = 'X'.
  LAYOUT_IN-CONFIRMATION_PROMPT = 'X'.
  LAYOUT_IN-DETAIL_POPUP = 'X' .
SORTCAT-decimals     = '0'.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM      = G_REPID
      I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
      I_SAVE                  = G_SAVE
      IS_VARIANT              = GS_VARIANT
      IT_FIELDCAT             = FIELDCAT
      IT_SORT                 = SORTCAT
      IS_LAYOUT               = LAYOUT_IN
      IT_EVENTS               = EVENTCAT
     I_BACKGROUND_ID         = g_back_ground
    TABLES
      T_OUTTAB                = IT_OUT.
*&      Form  TOP_OF_PAGE_LIST_HEADER
      text
     -->LIST_HEADERtext
FORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER TYPE SLIS_T_LISTHEADER.
  DATA : HLINE TYPE SLIS_LISTHEADER,
         TEXT(60) TYPE C.
  CLEAR : HLINE,TEXT.
  HLINE-TYP = 'H'.
  HLINE-INFO = TEXT.
  APPEND HLINE TO LIST_HEADER.
  SELECT SINGLE * FROM T001W WHERE WERKS = WERKS.
  CLEAR : HLINE,TEXT.
  HLINE-TYP = 'H'.
  WRITE 'PLANT :' TO TEXT.
  WRITE WERKS TO TEXT+8.
  HLINE-INFO = TEXT.
  APPEND HLINE TO LIST_HEADER.
  CLEAR : HLINE,TEXT.
  HLINE-TYP = 'H'.
  WRITE T001W-NAME1 TO TEXT.
  HLINE-INFO = TEXT.
  APPEND HLINE TO LIST_HEADER.
  CLEAR : HLINE,TEXT.
  HLINE-TYP = 'H'.
  WRITE T001W-STRAS TO TEXT.
  HLINE-INFO = TEXT.
  APPEND HLINE TO LIST_HEADER.
  CLEAR : HLINE,TEXT.
  HLINE-TYP = 'H'.
  WRITE T001W-ORT01 TO TEXT.
  HLINE-INFO = TEXT.
  APPEND HLINE TO LIST_HEADER.
  CLEAR : HLINE,TEXT.
  HLINE-TYP = 'H'.
  WRITE 'DATE :' TO TEXT.
  WRITE BUDAT-LOW TO TEXT+7.
  IF BUDAT-HIGH NE ''.
    WRITE 'TO' TO TEXT+18.
    WRITE BUDAT-HIGH TO TEXT+22.
  ENDIF.
  HLINE-INFO = TEXT.
  APPEND HLINE TO LIST_HEADER.
ENDFORM.                    "TOP_OF_PAGE_LIST_HEADER
*&      Form  ALV_EVENT_INIT
      text
FORM ALV_EVENT_INIT .
  CLEAR ALV_EVENT.
  ALV_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
  ALV_EVENT-FORM = 'ALV_TOP_OF_PAGE'.
  APPEND ALV_EVENT TO EVENTCAT.
  CLEAR ALV_EVENT.
  ALV_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
  ALV_EVENT-FORM = 'ALV_TOP_OF_LIST'.
  APPEND ALV_EVENT TO EVENTCAT.
   CLEAR ALV_EVENT.
   ALV_EVENT-NAME = SLIS_EV_END_OF_LIST.
   ALV_EVENT-FORM = 'ALV_END_OF_LIST'.
   APPEND ALV_EVENT TO GT_EVENTS.
   CLEAR ALV_EVENT.
   ALV_EVENT-NAME = SLIS_EV_END_OF_PAGE.
   ALV_EVENT-FORM = 'ALV_END_OF_PAGE'.
   APPEND ALV_EVENT TO GT_EVENTS.
ENDFORM.                    "ALV_EVENT_INIT
*&      Form  ALV_TOP_OF_PAGE
      text
FORM ALV_TOP_OF_PAGE.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = LIST_HEADER
      I_LOGO             = 'ENJOYSAP_LOGO'.
ENDFORM.                    "ALV_TOP_OF_PAGE
*&      Form  BUILD_EVENT
      text
     -->P_GT_EVENTS[]  text
FORM BUILD_EVENT USING P_EVENTS TYPE SLIS_T_EVENT.
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      I_LIST_TYPE     = 0
    IMPORTING
      ET_EVENTS       = P_EVENTS
    EXCEPTIONS
      LIST_TYPE_WRONG = 1
      OTHERS          = 2.
  READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO
ALV_EVENT.
  IF SY-SUBRC = 0.
    MOVE GC_FORMNAME_USER_COMMAND TO ALV_EVENT-FORM.
    APPEND ALV_EVENT TO P_EVENTS.
  ENDIF.
  READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_BEFORE_LINE_OUTPUT INTO
ALV_EVENT.
  IF SY-SUBRC = 0.
    MOVE GC_FORMNAME_BEFORE_OUTPUT TO ALV_EVENT-FORM.
    APPEND ALV_EVENT TO P_EVENTS.
  ENDIF.
ENDFORM.                    " BUILD_EVENT
Thanks,
Shankar

Similar Messages

  • Need help in using a Secondary Index of a GL Table

    Hello ABAPers,
    Good morning/afternoon!
    I  was wondering if anyone could give me a hand on this issue.
    To give you a brief background, I need to retrieve Open and Cleared items in the last 24 hours, that is, from 11 am yesterday till 10:59:59 today. The criteria is to pull the information using Entry Date (CPUDT) and Entry Time (CPUTM) from BKPF and using BELNR, retrieve the postings in BSIS and BSAS. as you can see in the piece of code. However, this process takes soooooo long to run.
    Below is the code snippet.
    We use 46C and MS SQL database.
    The index fields of BKPF~ZB2 are: MANDT, CPUDT and BLART.
    The index fields of BSIS~Z01are: BUKRS, GJAHr, HKONT, PRCTR, GSBER
    TYPES: BEGIN OF i_bseg,
           bukrs LIKE bkpf-bukrs,
           hkont LIKE bsis-hkont,
           gjahr LIKE bkpf-gjahr,
           belnr LIKE bkpf-belnr,
           buzei LIKE bsis-buzei,
           bldat LIKE bsis-bldat,
           budat LIKE bsis-budat,
           waers LIKE bsis-waers,
           monat LIKE bsis-monat,
           shkzg LIKE bsis-shkzg,
           gsber LIKE bsis-gsber,
           dmbtr LIKE bsis-dmbtr,
           wrbtr LIKE bsis-wrbtr,
           cpudt LIKE bkpf-cpudt,
           cputm LIKE bkpf-cputm,
           END OF i_bseg.
    *Internal Tables
    DATA:
          i_bkpf TYPE TABLE OF bkpf,
          i_bseg TYPE STANDARD TABLE OF i_bseg.
    Select records from yesterday's entry date.
        SELECT  bukrs belnr gjahr monat budat cpudt cputm waers
                FROM bkpf INTO  CORRESPONDING FIELDS OF TABLE i_bkpf
                WHERE ( cpudt = so_date2-low AND
                        cputm >= so_cputm-low AND
                        cputm <= so_cputm-high )
                OR    ( cpudt = so_date2-high AND
                        cputm >= so_time2-low AND
                        cputm <= so_time2-high )
                %_HINTS MSSQLNT 'INDEX("BKPF" "BKPF~ZB2")'.
        IF sy-subrc NE 0.
          MESSAGE e006 WITH 'BKPF'.
        ENDIF.
    Select Open Items***
        SELECT bukrs hkont gjahr belnr buzei  budat bldat
               waers monat shkzg gsber  dmbtr wrbtr
               FROM bsis
               APPENDING CORRESPONDING FIELDS OF TABLE i_bseg
               FOR ALL ENTRIES IN i_bkpf
               WHERE bukrs = i_bkpf-bukrs
               AND gjahr = i_bkpf-gjahr
               AND hkont IN so_saknr
               AND belnr = i_bkpf-belnr
               %_HINTS MSSQLNT 'INDEX("BSIS" "BSIS~Z01")'.
    Also get any cleared items ***
        SELECT bukrs hkont gjahr belnr buzei  budat bldat
               waers monat shkzg gsber  dmbtr wrbtr
               FROM bsas
               APPENDING CORRESPONDING FIELDS OF TABLE i_bseg
               FOR ALL ENTRIES IN i_bkpf
               WHERE bukrs IN so_bukrs
               AND   hkont IN so_saknr
               AND   gjahr = sp_gjahr
               AND   belnr = i_bkpf-belnr.
    Many thanks,
    Rosemarie

    Thanks for your response.
    The date and time fields are defined in my selection screen and the default values pre-set in the INITIALIZATION, so the dates and times are already stored as a range.
    The problem is why is the process taking so long. Is the syntax for the INDEX correct?
    PARAMETERS:p_not RADIOBUTTON GROUP pass.
    SELECT-OPTIONS:
      so_date2 FOR bkpf-cpudt,         " Entry Date
      so_cputm FOR sy-uzeit,         " Entry Time
      so_time2 for sy-uzeit.        " Entry Time 2
    INITIALIZATION.
    RANGES: so_time2 FOR sy-uzeit.
      g_date = sy-datum - 1.
      g_year = sy-datum+0(4).
      sp_gjahr = g_year.
      CONCATENATE sp_gjahr '0101' INTO g_from_date.
      g_from_time = '110000'.
      g_24_hour   = '235959'.
      g_time_diff = g_24_hour - g_from_time.
      g_to_time = g_from_time + g_time_diff.
      g_to_time2 = g_from_time - 1.
      MOVE: 'I'      TO so_cpudt-sign,
            'BT'     TO so_cpudt-option,
            g_from_date   TO so_cpudt-low,
            sy-datum TO so_cpudt-high.
      APPEND so_cpudt.
      MOVE: 'I'      TO so_date2-sign,
            'BT'     TO so_date2-option,
            g_date   TO so_date2-low,
            sy-datum TO so_date2-high.
      APPEND so_date2.
      MOVE: 'I'         TO so_cputm-sign,
            'BT'        TO so_cputm-option,
            g_from_time TO so_cputm-low,
            g_to_time   TO so_cputm-high.
      APPEND so_cputm.
      MOVE: 'I'         TO so_time2-sign,
            'BT'        TO so_time2-option,
            '000000'    TO so_time2-low,
             g_to_time2 TO so_time2-high.
      APPEND so_time2.

  • How to call a maintenance view  from a program

    Hello Abapers,
    Can anybody explain with some examples. How to call a mainetenance view from a program.
    Thanks
    Ranjith.

    Use FM 'VIEW_MAINTENANCE_CALL'.
    REPORT  zmaintaintest.
    VARIABLES / CONSTANTS                          
    CONSTANTS: 
                    c_action(1) TYPE c VALUE 'U',                                 "Update
              c_viewname TYPE tabname value 'ZEMP_EXAMPLE', "View Name
              c_field(6) TYPE c VALUE 'EMPNO'.                            "Field Name
    INTERNAL TABLES
    DATA: itab_rangetab TYPE STANDARD TABLE OF vimsellist,
              v_empno TYPE zempno,
              wa_rangetab TYPE vimsellist.
    SELECTION SCREEN
    PARAMETERS:     p_empno TYPE   zempno   OBLIGATORY.  "Emplyee ID
    AT SELECTION-SCREEN                                                 
    AT SELECTION-SCREEN.
    Chcking the existence of the user in EMPLOYEE table
      PERFORM validate_employee.
    START_OF_SELECTION                                                  
    START-OF-SELECTION.
    This will restrict the user view so that user can only view/change
    Table data corresponding to his/her Employee ID
      PERFORM define_limited_data_area.
    Displaying table maintenance view for a particular employee ID
      PERFORM call_view_maintenance.
    *&      Form validate_employee
    Validate plant entered in the selection screen
    FORM validate_employee.
      SELECT SINGLE empno     u201CEmployee ID
        FROM zemp_example     u201CEmployee Table
        INTO v_empno
        WHERE empno = p_empno.
      IF sy-subrc <> 0.
        MESSAGE 'Not an Valid User' TYPE 'I'.
      ENDIF.
    ENDFORM.                    "validate_employee
    *&      Form DEFINE_LIMITED_DATA_AREA
    To restrict the user view so that user can see/change table data
    corresponding to his employee ID. Here one internal table is
    getting populated with field name as u201CEMPNOu201D (Key field of the table)
    And value as given by user in Selection Screen and this is passed as
    Parameter in function module 'VIEW_MAINTENANCE_CALL'
    FORM define_limited_data_area.
      CLEAR wa_rangetab.
      wa_rangetab-viewfield  = c_field.
      wa_rangetab-operator  = 'EQ'.
      wa_rangetab-value       = p_empno.
      APPEND wa_rangetab TO itab_rangetab.
    ENDFORM.                    "define_limited_data_area
    *&      Form CALL_VIEW_MAINTENANCE.
    Displaying table maintenance view for a particular employee ID
    FORM call_view_maintenance.
      CALL FUNCTION 'VIEW_MAINTENANCE_CALL'      
        EXPORTING
          action           = c_action
          view_name   = c_viewname
        TABLES
          dba_sellist     = itab_rangetab.
    ENDFORM.                    "call_view_maintenance
    Regards,
    Joy.

  • Error while posting the parked document in ECC 6.0

    Hello ABAPers,
    After upgrade from R/3 4.6c to ECC 6.0, when we try to post the parked documents ,It calls FM :POSTING_INTERFACE_DOCUMENT".
    Inside it a call transaction is done using FBVB which throws error while posting for more than 4 withholding tax types.
    Error : Field WITH_DIALG-WT_BASE(5) does not exist in the screen SAPLFWTD 0100.
    On running BDC in foreground mode ,Error is happening when the withholding dialog opens and screen seems to be small to input all the tax codes i.e it shows only 4-5 rows and hence only 4 tax types passes to the screen and remaining is left out and error is thrown. This results in document not getting posted.
    But in 4.6 c a bigger screen pops up and no error is thrwon.
    We are not able to check FBVB directly, since it does'nt allow Direct call to this transaction.
    We have checked lots of thread and notes ,But nothing seems to be relevant or helpful in our case.
    Could you please help us in resolving this issue/ let us know if any configuration/ screen variant change is required?
    Thanks!
    Regards,
    M M Jaffer.

    Hello Nabheet ,
    It is a standard code. We are calling the FM  'PRELIMINIARY_POSTING_POST_ALL'  for posting the parked document. The FM calls internally another FM 'POSTING_INTERFACE_DOCUMENT'. This calls the transaction FBVB where we get the above error.
    Thanks.

  • Problem in Creation of implementaton for Badi FAGL_DERIVE_SEGMENT

    Hello Abapers,
    I am facing problem when creating a implementaion for BADI FAGL_DERIVE_SEGMENT,
    FAGL_DERIVE_PSEGMENT,
    The error is when i am going to save any of BADI implemenations, Specify filter types..
    The badi is very important to meet my requirement.So How to solve this problem.
    Waiting for your favourable replies.
    Thanks & Regards
    Maruthi.K

    Hi,
            Implementing a Filter-Dependent Business Add-In
    If you want to use a filter-dependent Business Add-In, you will need an implementation for each relevant filter value. Multiple filter values may use the same implementation, however.
    When implementing a filter-dependent Business Add-In, proceed as follows:
    Create an implementation by referring to the corresponding Business Add-In definition.
    Enter a characteristic filter value for the implementation, or choose F4 and select a value from the list of possible entries displayed. In principle, it is possible to define multiple characteristic filter values for each implementation.
    Use the Class Editor to fill the interface method.
    In the string conversion example, you would make the following entries for each country:
    BRD:
    translate parameter to upper case.
    Ireland:
    translate parameter to lower case.
    Italy:
    translate ...
    Repeat steps 1-3 for each implementation that you create.
    Activate your implementations.
    Now, whenever you execute the report program described above, different country-specific implementations are executed.
    Regards

  • Data is not coming in internal table

    Hello Abapers,
    Data is not coming in my internal table.
    Plz tell me where I m wrong
    SELECTION-SCREEN BEGIN OF  BLOCK blk.
    PARAMETERS:       compcode LIKE vbrk-bukrs OBLIGATORY.
    PARAMETERS:       billtype LIKE vbrk-fkart OBLIGATORY.
    SELECT-OPTIONS:   billdate FOR  vbrk-fkdat OBLIGATORY.
    PARAMETERS :      acgrpc   LIKE vbrk-ktgrd OBLIGATORY.
    PARAMETERS:       acgrpm   LIKE vbrp-ktgrm OBLIGATORY.
    PARAMETERS:       taxcode  LIKE konv-mwsk1 OBLIGATORY.
    SELECT-OPTIONS:   plant FOR vbrp-werks .
    SELECT-OPTIONS:   bussarea FOR vbrp-gsber .
    SELECTION-SCREEN END OF BLOCK blk.
    START-OF-SELECTION.
    SELECT avbeln afkart aknumv afkdat abelnr aktgrd abukrs axblnr
    amwsbk  bgsber bwerks bktgrm
    FROM ( vbrk AS a INNER JOIN vbrp AS b ON
    avbeln EQ bvbeln  )
    INTO CORRESPONDING FIELDS OF TABLE vbrk_vbrp
    WHERE ( a~fkart EQ billtype )  AND
    ( a~fkdat IN billdate ) AND
    ( a~ktgrd EQ acgrpc ) AND
    ( a~bukrs EQ compcode ) AND
    ( b~gsber EQ bussarea ) and
    ( b~werks EQ plant ) AND
    ( b~ktgrm EQ acgrpm ) .
    Ravi

    Hi,
    write ur query this way :
    SELECT avbeln afkart aknumv afkdat abelnr aktgrd abukrs axblnr amwsbk bgsber bwerks bktgrm
    FROM ( vbrk AS a INNER JOIN vbrp AS b ON
    avbeln EQ bvbeln )
    INTO CORRESPONDING FIELDS OF TABLE vbrk_vbrp
    WHERE ( a~fkart EQ billtype ) AND
    ( a~fkdat IN billdate ) AND
    ( a~ktgrd EQ acgrpc ) AND
    ( a~bukrs EQ compcode ) AND
    ( b~gsber IN bussarea ) and
    ( b~werks IN plant ) AND
    ( b~ktgrm EQ acgrpm ) .
    even plz check then internal table ' vbrk_vbrp ' if they have all the fields of select query and even the order is same as select , since you are using ' into corresponding fields of table ' clause in select statement.
    hope this helps.
    thanx,
    dhanashri.
    Edited by: Dhanashri Pawar on Aug 26, 2008 6:14 AM

  • Report for Customer Condition Records

    Hello ABAPers,
    I want to write ABAP report to list out Material,Customer,Tax type and Tax amount. The data is available in tables A005 and KONP and the joining condition would be A005-KNUMH and KONP-KNUMH.
    But since A005 s a Pooled table am not able to write a correct join condition.
    Can any one guide me on how we can write this join condition?
    I tried with FOR ALL ENTRIES IN TABLE but the output was not reading the value of Amount(KONP-KBETR).The amount is coming as zero always.
    The code i'm using is:
        SELECT MATNR KUNNR VKORG VTWEG KSCHL KNUMH INTO TABLE ITAB_JEXP FROM A005 WHERE KSCHL = 'JEXP'.
    IF NOT ITAB_JEXP IS INITIAL.
        SELECT  KNUMH KOPOS KSCHL KBETR  INTO TABLE ITAB FROM KONP FOR ALL ENTRIES IN ITAB_JEXP
                WHERE KNUMH = ITAB_JEXP-KNUMH AND KSCHL = ITAB_JEXP-KSCHL.
      APPEND ITAB.
    ENDIF.
    LOOP AT ITAB_JEXP.
    MOVE-CORRESPONDING ITAB_JEXP TO ITAB.
    APPEND ITAB.
    ENDLOOP.
    Thanks,
    B P Shah
    Message was edited by:
            Bhavin P Shah

    Hi,
       Use FOR ALL ENTRIES  for that joins are not allowed on cluster n pooled tables
    refere these
        LOOP AT it_kjmseg INTO wa_kjmseg.
          lv_index = sy-tabix.
    *--Select condition record number from table A006
          SELECT SINGLE
                 knumh
                 FROM a006
                 INTO lv_knumh
                 WHERE kappl EQ 'V'
                 AND   kschl EQ 'ZR00'
                 AND   vkorg EQ '0010'
                 AND   vtweg EQ '00'
                 AND   pltyp EQ '01'
                 AND   waerk EQ 'USD'
                 AND   matnr EQ wa_kjmseg-matnr
                 AND   datbi GT wa_kjmseg-fkdat.
          IF sy-subrc NE 0.
    *--Select condition record number from table A004
            SELECT SINGLE
                   knumh
                   FROM a004
                   INTO lv_knumh
                   WHERE kappl EQ 'V'
                   AND   kschl EQ 'ZR00'
                   AND   vkorg EQ '0010'
                   AND   vtweg EQ '00'
                   AND   matnr EQ wa_kjmseg-matnr
                   AND   datbi GT wa_kjmseg-fkdat.
          ENDIF.
    Regards,
    Prashant

  • How to make a clip art (diagram )interactive report?

    Hello ABAPers,
                           I want help from you. I have a requirement like ..when i am excuteing a report i should get a clip art and the clipart which i got i have to double click on it there by i should get the details of that clip art. I have succeed till getting the clip art and from here i am not getting the idea how to make the clipart(diagram) active so tht when i am doubleing it i should get the details.
    The code that i am using to get the clip art just copy and execute you will get the output till clipart.
    *& Report  ZCLIPART_IR                                                 *
    REPORT  ZCLIPART_IR.
    START OF DO NOT CHANGE***********************************
    DATA: docking TYPE REF TO cl_gui_docking_container,
          picture_control_1 TYPE REF TO cl_gui_picture,
          url(256) TYPE c .
    DATA: query_table LIKE w3query OCCURS 1 WITH HEADER LINE,
          html_table LIKE w3html OCCURS 1,
          return_code LIKE  w3param-ret_code,
          content_type LIKE  w3param-cont_type,
          content_length LIKE  w3param-cont_len,
          pic_data LIKE w3mime OCCURS 0,
          pic_size TYPE i.
    END OF DO NOT CHANGE***********************
    DATA : sum(4) , num1(4) , num2(4).
    PARAMETERS: p_dummy(4) DEFAULT '4' .
    PARAMETERS: p_dummy1(4) DEFAULT '5' .
    AT SELECTION-SCREEN OUTPUT.
      PERFORM show_pic.
      START-OF-SELECTION.
    *& Form show_pic
    FORM show_pic.
       DATA: repid LIKE sy-repid.
             repid = sy-repid.
      CREATE OBJECT picture_control_1 EXPORTING parent = docking.
      CHECK sy-subrc = 0.
      CALL METHOD picture_control_1->set_3d_border
        EXPORTING
          border = 5.
      CALL METHOD picture_control_1->set_display_mode
        EXPORTING
          display_mode = cl_gui_picture=>display_mode_stretch.
      CALL METHOD picture_control_1->set_position
        EXPORTING
          height = 50
          left   = 40
          top    = 30
          width  = 190.
    CHANGE POSITION AND SIZE ABOVE****************
    IF url IS INITIAL.
    REFRESH query_table.
        query_table-name  = '_OBJECT_ID'.
    CHANGE IMAGE NAME BELOW UPLOADED IN SWO0*****************
        query_table-value = 'ENJOYSAP_LOGO'.
        APPEND query_table.
        CALL FUNCTION 'WWW_GET_MIME_OBJECT'
          TABLES
            query_string        = query_table
            html                = html_table
            mime                = pic_data
          CHANGING
            return_code         = return_code
            content_type        = content_type
            content_length      = content_length
          EXCEPTIONS
            object_not_found    = 1
            parameter_not_found = 2
            OTHERS              = 3.
        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 'DP_CREATE_URL'
          EXPORTING
            type     = 'image'
            subtype  = cndp_sap_tab_unknown
            size     = pic_size
            lifetime = cndp_lifetime_transaction
          TABLES
            data     = pic_data
          CHANGING
            url      = url
          EXCEPTIONS
            OTHERS   = 1.
            ENDIF.
            CALL METHOD picture_control_1->load_picture_from_url
        EXPORTING
          url = url.
    ENDFORM.
    Thks and waiting for your replies.

    Hi ataran,
    in case, your version of iMovie is able to import the footage, have a read here:
    http://www.apple.com/ilife/tutorials/imovie/

  • How to draw a line in smartforms!

    Hello ABAPers,
    In smartform, I am having a table. Every 3 rows I want to draw a line. How can I do that in Smartforms?
    Thanks,

    hi Naren,
    Check these links out
    drawing line in smartforms
    Re: Smartforms - Line Height
    Re: smartforms blank line
    Regards,
    Santosh

  • BAPI_CUSTOMERQUOTATION_CHANGE for changing VC info

    Hello ABAPers:
    I am using BAPI_CUSTOMERQUOTATION_CHANGE for changing Variant Configuration information on quotes. I am filling the table quotation_item_inx with quotation_item_inx-UPDATEFLAG = 'U'  quotation_item_inx-CONFIG_ID = 'X' and other VC tables QUOTATION_CFGS_REF, QUOTATION_CFGS_INST, and QUOTATION_CFGS_VALUE. It updates other header and item fields except the config info. Has anybody tried updating Variant Configuration info on quotes?
    Thanks for your time.

    Hello Andrew,
    Yes I am filling in quotation_item_in table with the following info.
      sd_item_it-itm_number = '000030'.
      sd_item_it-hg_lv_item = '000000'.
      sd_item_it-material=  '10435-5562'.
      sd_item_it-alt_to_itm = '000000'.
      sd_item_it-dlv_group  = '000'.
      sd_item_it-target_qty = '1'.
      sd_item_it-target_qu = 'EA'.
      sd_item_it-t_unit_iso = 'EA'.
      sd_item_it-po_itm_no  = '000030'.
      sd_item_it-PMNTTRMS = 'NT45'.
      sd_item_it-CONFIG_ID = '000001'.
    sd_item_it-inst_id = '00000001'.
      append sd_item_IT.
    quotation_item_inx is filled with
      sd_item_x_it-itm_number = '000030'.
      sd_item_x_it-updateflag = 'U'.
      sd_item_x_it-PMNTTRMS = 'X'.
      APPEND sd_item_x_it.
    QUOTATION_CFGS_REF is filled with
      q_cfgs_ref-posex = '000030'.
      q_cfgs_ref-config_id = '000001'.
      q_cfgs_ref-root_id = '00000001'.
      q_cfgs_ref-complete = 'T'.
      q_cfgs_ref-consistent = 'T'.
      append q_cfgs_ref.
    QUOTATION_CFGS_INST is filled with
      q_cfgs_inst-config_id = '000001'.
      q_cfgs_inst-inst_id   = '00000001'.
      q_cfgs_inst-obj_type = 'MARA'.
      q_cfgs_inst-class_type = '300'.
      q_cfgs_inst-OBJ_KEY = '10435-5562'.
      q_cfgs_inst-quantity = '1'.
      q_cfgs_inst-quantity_unit = 'EA'.
      q_cfgs_inst-complete = 'T'.
      q_cfgs_inst-consistent = 'T'.
      append q_cfgs_inst.
    QUOTATION_CFGS_VALUE is filled with
      q_cfgs_value-config_id = '000001'.
      q_cfgs_value-inst_id   = '00000001'.
      q_cfgs_value-charc   = 'ART_REFERENCE'.
      q_cfgs_value-charc_txt   = 'Art Reference'.
      q_cfgs_value-value   = 'B'.
      append q_cfgs_value.
    As you can see config_id id matching. I am filling in the quote number in salesdocument and the update_flag in quotation_header_inx is set to 'U'.
    In the above situation, I am able Payment terms on the item but not config info.

  • To make table cell as read-only based on some condition

    Hello ABAPers,
    I have a requirement to make the cell in the table of a Web Dynpro component read-only. There are 4 fields in the Table of a view which is mapped to the Context attribute, i.e. function, Number, Description etc. When the value of the Field 'Function' is
    '0000016', I have to make the Number field as READ-ONLY(non-editable).
    As suggested in SDN forums, I have created the sub-node to the main node in Context and added an attribute 'READ_ONLY'. I have made the cardinality as 1:1. I have also created the Supply Function Method(ZREADONLY) for sub-node that I have created and also set the context binding to the Read only property of the field 'Number' in the View Layout.
    PFB the coding I have done in supply function method for setting the read-only attribute for the number field, but it is not working. Could anyone let me know what is the change I have to make this work?
    DATA ls_parent_attributes TYPE wd_this->element_partner_h.
    DATA l_partner LIKE ls_parent_attributes-partner _fct
    Constants c_parent LIKE ls_parent_attributes-partner_fct VALUE '000016'.
    DATA ls_zread_only TYPE wd_this->element_zreadonly
    parent_element->get_static_attributes(
       IMPORTING
              static_attributes = ls_parent_attributes).
    CLEAR l_partner.
    l_partner = ls_parent_attributes-partner_fct.
    IF l_partner = c_partner.
        ls_zread_only-readonly = abap_true.
         node->bind_structure(
         new_item = ls_zread_only
         set_initial_elements = abap_true ).
    ELSE.
        CLEAR ls_zread_only-readonly.
        ls_zread_only-readonly = abap_false.
        node->bind_structure(
         new_item = ls_zread_only
         set_initial_elements = abap_false ).
    ENDIF.
    Thanks for your time!
    Regards,
    M M Jaffer

    Hi,
    the solution is quite simple.
    Bind the property reaonly in the layout editor to the property readonly of the context-attribute.
    Therfore you have to click at the binding button of the celleditor of the property read-only.
    Then you select the  radiobutton in front of Bind to the property of the selected Attribute and choose Property R.
    In you coding you have to fo the following in case you do that after binding the itab to the context:
    node->bind_table( .... ).
    data lt_elements type wdr_context_element_set.
    lt_elements = node->get_elements( ).
    LOOP at lt_elements into element.
    element->get_attribute(
          exporting
            name = 'PARTNERFCT'
          importing
            value = lv_partnerfct
      if lv_partnerfct eq c_partner.
        call method lo_el_position->set_attribute_property
          exporting
            attribute_name = 'PARTNERFCT'
            property       = element->e_property-required
            value            = 'X'.
      else.
        call method lo_el_position->set_attribute_property
          exporting
            attribute_name = 'PARTNERFCT'
            property       = element->e_property-read_only
            value            = ''.
      endif.
    endloop.
    Of corse you have to modify the coding and i didn´t checked the syntax, baut this should help.
    Best regards, Matthias

  • Migo & Miro Accounting Documents Report

    Hello Abapers,
    I have made the new ALV report as shown below :-
    Report zaccounting no standard page heading line-size 300 line-count 40.
    tables : mkpf, "Header: Material Document
             mseg, "Document Segment: Material
             bkpf, "Accounting Document Header
             ekbe. "PO History Table
    type-pools slis.
    *DATA DECLARATION
    data : pos type i,
           l_layout type slis_layout_alv.
    data  gt_fieldcat type slis_t_fieldcat_alv.
    data  gt_sort type slis_t_sortinfo_alv.
    data  ls_fieldcat type slis_fieldcat_alv.
    data  is_print type slis_print_alv.
    data  it_events type slis_alv_event occurs 5.
    data  gs_variant type disvariant.
    data  t_list_top_of_page type slis_t_listheader.
    data  title like sy-title.
    data : l_title(105) type c,
           l_list(105)  type c,         "Store the Top-of-page headings
           l_date(10)   type c,         "Store date in top-of-page
           l_time(8)    type c,         "Store time in top-of-page
           title1 like sy-title,
           title2 like sy-title,
           title3 like sy-title.
    *-- Data Declaration
    data : repid  like sy-repid.
    constants: x  type c value 'X'.
    data zawkey like bkpf-awkey.
    types : begin of x_mkpf,
    mblnr like mkpf-mblnr,
    mjahr like mkpf-mjahr,
    budat like mkpf-budat,
    ebeln like mseg-ebeln,
    ebelp like mseg-ebelp,
    bwart like mseg-bwart,
    matnr like mseg-matnr,
    gsber like mseg-gsber,
    werks like mseg-werks,
    bukrs like bkpf-bukrs,
    belnr like bkpf-belnr,
    gjahr like bkpf-gjahr,
    bukrs1 like bkpf-bukrs,
    belnr1 like bkpf-belnr,
    gjahr1 like bkpf-gjahr,
    belnr2 like bkpf-belnr,
    gjahr2 like bkpf-gjahr,
    end of x_mkpf.
    data : t_mkpf type standard table of x_mkpf with header line.
    S E L E C T I O N - S C R E E N *
    selection-screen begin of block b1 with frame title text-009.
    select-options:  s_budat for mkpf-budat obligatory.
    select-options:  s_bwart for mseg-bwart.
    select-options:  s_matnr for mseg-matnr.
    select-options:  s_gsber for mseg-gsber.
    select-options:  s_werks for mseg-werks.
    selection-screen end of block b1.
    start-of-selection.
    break abapdev1.
    select msegmblnr msegmjahr mkpf~budat
    msegebeln msegebelp msegbwart msegmatnr mseggsber msegwerks
    into table t_mkpf
    from mkpf inner join mseg
    on mkpfmblnr = msegmblnr
    where budat in s_budat
    and bwart in s_bwart
    and matnr in s_matnr
    and gsber in s_gsber
    and werks in s_werks.
    loop at t_mkpf.
    select single belnr gjahr into (t_mkpf-belnr, t_mkpf-gjahr) from ekbe where ebeln = t_mkpf-ebeln
                                  and ebelp = t_mkpf-ebelp
                                  and lfbnr = t_mkpf-mblnr
                                  and lfgja = t_mkpf-mjahr
                                  and bewtp = 'Q'.
    modify t_mkpf transporting belnr gjahr.
    endloop.
    loop at t_mkpf.
    clear : zawkey.
    concatenate t_mkpf-mblnr t_mkpf-mjahr into zawkey.
    select single belnr gjahr into (t_mkpf-belnr1,t_mkpf-gjahr1) from bkpf
                       where awtyp = 'MKPF'
                       and awkey = zawkey.
    break abapdev1.
    clear : zawkey.
    concatenate t_mkpf-belnr t_mkpf-gjahr into zawkey.
    select single belnr gjahr into (t_mkpf-belnr2,t_mkpf-gjahr2) from bkpf
                       where awtyp = 'RMRP'
                       and awkey = zawkey.
    modify t_mkpf transporting belnr1 gjahr1 belnr2 gjahr2.
    endloop.
    ls_fieldcat-col_pos       =  '1'.
      ls_fieldcat-fieldname     = 'BUDAT'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'BUDAT'.
      ls_fieldcat-ref_tabname   = 'MKPF'.
      ls_fieldcat-seltext_l     = 'PSG DATE'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
      ls_fieldcat-col_pos       =  '2'.
      ls_fieldcat-fieldname     = 'MBLNR'.
      ls_fieldcat-tabname       = 'X_MSEG'.
      ls_fieldcat-ref_fieldname = 'MBLNR'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'MIGO MAT DOCNO.'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '3'.
      ls_fieldcat-fieldname     = 'BELNR1'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'BELNR1'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'FI DocNo.'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '4'.
      ls_fieldcat-fieldname     = 'GJAHR1'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'GJAHR1'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'FI FiscalYr'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '2'.
    ls_fieldcat-fieldname     = 'MJAHR'.
    ls_fieldcat-tabname       = 'X_MKPF'.
    ls_fieldcat-ref_fieldname = 'MJAHR'.
    ls_fieldcat-ref_tabname   = 'MSEG'.
    ls_fieldcat-seltext_l     = 'MIGO MATERIAL DOC. YEAR'.
    append ls_fieldcat to gt_fieldcat.
    clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '5'.
      ls_fieldcat-fieldname     = 'EBELN'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'EBELN'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'PO No.'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '6'.
      ls_fieldcat-fieldname     = 'EBELP'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'EBELP'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'PO ItemNo.'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '7'.
      ls_fieldcat-fieldname     = 'BWART'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'BWART'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'Mvt.Type'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '8'.
      ls_fieldcat-fieldname     = 'BELNR'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'BELNR'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'MIRO DocNo.'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '9'.
      ls_fieldcat-fieldname     = 'GJAHR'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'GJAHR'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'MIRO FiscalYr'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '10'.
      ls_fieldcat-fieldname     = 'GSBER'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'GSBER'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'BUS.AREA'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '11'.
      ls_fieldcat-fieldname     = 'WERKS'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'WERKS'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'PLANT'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '12'.
      ls_fieldcat-fieldname     = 'MATNR'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'MATNR'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'MAT.NO'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '13'.
      ls_fieldcat-fieldname     = 'BELNR2'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'BELNR2'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'MIRO FI Doc.No'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    ls_fieldcat-col_pos       =  '14'.
      ls_fieldcat-fieldname     = 'GJAHR2'.
      ls_fieldcat-tabname       = 'T_MSEG'.
      ls_fieldcat-ref_fieldname = 'GJAHR2'.
      ls_fieldcat-ref_tabname   = 'MSEG'.
      ls_fieldcat-seltext_l     = 'MIRO FI FiscalYr'.
      append ls_fieldcat to gt_fieldcat.
      clear ls_fieldcat.
    *&      Form  ALV_GRID_DISPLAY
    form alv_grid_display .
    call function 'REUSE_ALV_GRID_DISPLAY'
       exporting
          i_callback_program                =  sy-repid   " 'ZRD_DD'
          it_fieldcat                       =  gt_fieldcat  "catalogue field
          i_callback_top_of_page            =  'TOP_PAGE'
          is_layout                         =  l_layout
         it_sort                           =  gt_sort
          i_default                         = 'X'
         i_save                            = 'A'
         is_variant                        = gs_variant
         it_events                         = it_events
         is_print                          = is_print
        tables
          t_outtab                          = t_mkpf
        exceptions
         program_error                      = 1
         others                             = 2
      if sy-subrc <> 0.
        message id sy-msgid type 'I' number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
    endform.                    " ALV_GRID_DISPLAY
    **&      Form  ALV_LAYOUT
    *FORM alv_layout USING   ps_layout TYPE slis_layout_alv.
    ps_layout-get_selinfos      = x.
    ps_layout-colwidth_optimize = x.
    ps_layout-detail_popup      = x.
    ps_layout-no_keyfix         = x.
    ps_layout-coltab_fieldname    = 'CLR'.
    ps_layout-key_hotspot       = x.
    ps_layout-group_change_edit = x.
    ps_layout-zebra  = 'X'.
    *ENDFORM.                    " ALV_LAYOUT
    **&      Form  ALV_PRINT
    *FORM alv_print .
    is_print-no_print_selinfos = x. " display no selection infos
    is_print-no_coverpage = x.
    is_print-no_new_page  = x.
    is_print-no_print_listinfos = x. " display no listinfos
    *ENDFORM.                    " ALV_PRINT
    **&      Form  TOP_OF_PAGE
    form top_page.
      data: ls_line type slis_listheader,
            i_top_of_page type slis_t_listheader.
      title = sy-title.
      ls_line-typ  = 'H'.
      ls_line-info = title.
      append ls_line to i_top_of_page.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
        exporting
          it_list_commentary = i_top_of_page.
    endform.                    "TOP_OF_PAGE
    In this report , i have faced some problems :-
    1. In MIGO numbers some cases MIRO doc. numbers are not shown against some migo doc. numbers whereas actually MIRO is already done.
    2. The Problem in downloading the report, its not accurate download & the MIGO Document Number not shown when we download the report.
    Thanks,
    Sumit.

    Hi Sumit,
    Im not sure if it will completely support ur needs but check it out
    This is for MIRO.Note here business area is hardcoded.
    REPORT  zmm_miro_track.
    TABLES : rseg, bkpf, bseg, lfa1, ekbe, skat, bsis .
    AlV related data declarations
    Type Pools
    TYPE-POOLS: slis.
    CONSTANTS:
    gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
          Data Declaration file                                         *
    DATA  : BEGIN OF it_rseg OCCURS 0,
             belnr TYPE rseg-belnr,
             gjahr TYPE rseg-gjahr,
             ebeln TYPE rseg-ebeln,
             ebelp TYPE rseg-ebelp,
             bukrs TYPE rseg-bukrs,
             awkey TYPE bkpf-awkey,
             END OF it_rseg.
    DATA :  BEGIN OF it_bkpf OCCURS 0,
             belnr TYPE bkpf-belnr,
             gjahr TYPE bkpf-gjahr,
             xblnr TYPE bkpf-xblnr,
             budat TYPE bkpf-budat,
             awkey TYPE bkpf-awkey,
             bukrs TYPE bkpf-bukrs,
             belnr1 TYPE bkpf-belnr,
             blart TYPE bkpf-blart,
            END OF it_bkpf.
    DATA :  BEGIN OF it_bseg OCCURS 0,
             belnr TYPE bseg-belnr,
             gjahr TYPE bseg-gjahr,
             bupla TYPE bseg-bupla,
             lifnr TYPE bseg-lifnr,
             hkont TYPE bseg-hkont,
             koart TYPE bseg-koart,
             mwskz TYPE bseg-mwskz,
             pswbt TYPE bseg-pswbt,
             ebeln TYPE bseg-ebeln,
             ebelp TYPE bseg-ebelp,
             xref3 TYPE bseg-xref3,
             bschl TYPE bseg-bschl,
             shkzg TYPE bseg-shkzg,
             miro_accnt TYPE bseg-hkont,
             xblnr TYPE bkpf-xblnr,
             budat TYPE bkpf-budat,
             belnr1 TYPE bseg-belnr,
             acdes(50),
             belnr2 TYPE bseg-belnr,
             belnr3 TYPE bseg-belnr,
             gjahr1 TYPE bseg-gjahr,
             hkont1 TYPE bseg-hkont,
             pswbt1 TYPE bseg-pswbt,
             budat1 TYPE ekbe-budat,
             acdes1(50),
            END OF it_bseg.
    DATA :  it_bseg1 LIKE it_bseg OCCURS 0 WITH HEADER LINE.
    DATA :  BEGIN OF it_bsis OCCURS 0,
             belnr TYPE bsis-belnr,
             gjahr TYPE bsis-gjahr,
             bschl TYPE bsis-bschl,
             xref3 TYPE bsis-xref3,
            END OF it_bsis.
    DATA :  BEGIN OF it_lfa1 OCCURS 0,
             lifnr TYPE lfa1-lifnr,
             name1 TYPE lfa1-name1,
             spras TYPE lfa1-spras,
            END OF it_lfa1.
    DATA :  BEGIN OF it_skat OCCURS 0,
             saknr TYPE skat-saknr,
             txt20 TYPE skat-txt20,
             txt50 TYPE skat-txt50,
             spras TYPE skat-spras,
             ktopl TYPE skat-ktopl,
            END OF it_skat.
    DATA :  BEGIN OF it_ekbe OCCURS 0,
             ebeln TYPE ekbe-ebeln,
             ebelp TYPE ekbe-ebelp,
             budat TYPE ekbe-budat,
             bewtp TYPE ekbe-bewtp,
            END OF it_ekbe.
    DATA : fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
           gd_repid LIKE sy-repid.
    DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
          gs_layout   TYPE slis_layout_alv ,
          gs_print    TYPE slis_print_alv,
          gt_sort     TYPE slis_t_sortinfo_alv ,
          gt_filter   TYPE slis_t_filter_alv,
          gt_sp_group TYPE slis_t_sp_group_alv,
          gt_alv_graphics TYPE dtc_t_tc,
          gt_excluding  TYPE slis_t_extab ,
          gt_events   TYPE slis_t_event .
    DATA: g_repid LIKE sy-repid.
    DATA: gt_list_top_of_page TYPE slis_t_listheader.
    DATA:       g_boxnam TYPE slis_fieldname VALUE  'BOX',
                p_f2code LIKE sy-ucomm       VALUE  '&ETA',
                p_lignam TYPE slis_fieldname VALUE  'LIGHTS',
                g_save(1) TYPE c,
                g_default(1) TYPE c,
                g_exit(1) TYPE c,
                gx_variant LIKE disvariant,
                g_variant LIKE disvariant.
          USER ENTRY PARAMETERS                                         *
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_belnr FOR rseg-belnr OBLIGATORY,
                     s_gjahr FOR rseg-gjahr OBLIGATORY,
                     s_budat FOR bkpf-budat.
    SELECTION-SCREEN END OF BLOCK blk1.
          START-OF-SELECTION                                            *
    START-OF-SELECTION.
      PERFORM data_retrive.
      PERFORM data_call_alv.
      PERFORM build_layout.
    END-OF-SELECTION.
    *&      Form  DATA_CALL_ALV
          text
    -->  p1        text
    <--  p2        text
    FORM data_call_alv .
      g_repid = sy-repid.
      PERFORM e01_fieldcat_init USING gt_fieldcat[].
      PERFORM eventtab_build CHANGING gt_events.
      PERFORM e04_comment_build USING gt_list_top_of_page[].
      PERFORM display_report.
    ENDFORM.                    " DATA_CALL_ALV
    *&      Form  E01_FIELDCAT_INIT
          text
         -->P_GT_FIELDCAT[]  text
    FORM e01_fieldcat_init  USING    e01_lt_fieldcat TYPE slis_t_fieldcat_alv.
      DATA: ls_fieldcat TYPE slis_fieldcat_alv.
      DATA: gs_sort TYPE slis_sortinfo_alv.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'BELNR'.
      ls_fieldcat-key = 'X'. "SUBTOTAL KEY
      ls_fieldcat-col_pos      = '1'.
      ls_fieldcat-seltext_l    = 'Accounting Doc'.
      ls_fieldcat-outputlen    = 15.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'BELNR1'.
      ls_fieldcat-col_pos      = '2'.
      ls_fieldcat-seltext_l    = 'IR Doc'.
      ls_fieldcat-outputlen    = 10.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'XBLNR'.
      ls_fieldcat-col_pos      = '3'.
      ls_fieldcat-seltext_l    = 'IR Reference'.
      ls_fieldcat-outputlen    = 15.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'BUDAT'.
      ls_fieldcat-col_pos      = '4'.
      ls_fieldcat-seltext_l    = 'IR Posting Date'.
      ls_fieldcat-outputlen    = 10.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'BUPLA'.
      ls_fieldcat-col_pos      = '5'.
      ls_fieldcat-seltext_l    = 'Business Place'.
      ls_fieldcat-outputlen    = 10.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'HKONT'.
      ls_fieldcat-col_pos      = '6'.
      ls_fieldcat-seltext_l    = 'G/L accounts Posted'.
      ls_fieldcat-outputlen    = 15.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'ACDES'.
      ls_fieldcat-col_pos      = '7'.
      ls_fieldcat-seltext_l    = 'G/L description'.
      ls_fieldcat-outputlen    = 20.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'MWSKZ'.
      ls_fieldcat-col_pos      = '8'.
      ls_fieldcat-seltext_l    = 'Tax Code'.
      ls_fieldcat-outputlen    = 8.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'PSWBT'.
      ls_fieldcat-col_pos      = '9'.
      ls_fieldcat-seltext_l    = 'G/L Amount'.
      ls_fieldcat-outputlen    = 20.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'EBELN'.
      ls_fieldcat-col_pos      = '10'.
      ls_fieldcat-seltext_l    = 'Purchase Order'.
      ls_fieldcat-outputlen    = 15.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'EBELP'.
      ls_fieldcat-col_pos      = '11'.
      ls_fieldcat-seltext_l    = 'P.O.Line Item'.
      ls_fieldcat-outputlen    = 10.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'BELNR2'.
      ls_fieldcat-col_pos      = '12'.
      ls_fieldcat-seltext_l    = 'GRN Doc '.
      ls_fieldcat-outputlen    = 10.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'BELNR3'.
      ls_fieldcat-col_pos      = '13'.
      ls_fieldcat-seltext_l    = 'GRN FI Doc No.'.
      ls_fieldcat-outputlen    = 15.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'BUDAT1'.
      ls_fieldcat-col_pos      = '14'.
      ls_fieldcat-seltext_l    = 'GR Posting Date '.
      ls_fieldcat-outputlen    = 10.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    ENDFORM.                    "e01_fieldcat_init
    *&      Form  EVENTTAB_BUILD
          text
         <--P_GT_EVENTS  text
    FORM eventtab_build  CHANGING lt_events TYPE slis_t_event.
      CONSTANTS:
      gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = lt_events.
      READ TABLE lt_events WITH KEY name = slis_ev_top_of_page
      INTO ls_event.
      IF sy-subrc = 0.
        MOVE gc_formname_top_of_page TO ls_event-form.
        APPEND ls_event TO lt_events.
      ENDIF.
    ENDFORM.                    " EVENTTAB_BUILD
    *&      Form  E04_COMMENT_BUILD
          text
         -->P_GT_LIST_TOP_OF_PAGE[]  text
    FORM e04_comment_build  USING e04_lt_top_of_page TYPE slis_t_listheader.
      DATA : v_time(5) TYPE c.
      DATA:  ls_line TYPE slis_listheader.
      DATA:  ls_colr TYPE slis_specialcol_alv.
      DATA : v_text(90) TYPE c.
      CONCATENATE ' Report for MIRO track ':' ' INTO v_text SEPARATED BY space.
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      ls_line-info = v_text.
      APPEND ls_line TO e04_lt_top_of_page.
    ENDFORM.                    " E04_COMMENT_BUILD
          FORM TOP_OF_PAGE                                              *
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = gt_list_top_of_page.
    ENDFORM.                    "TOP_OF_PAGE
    **&      Form  DATA_RETRIVE
          text
    FORM data_retrive.
    fetching Accounting Document Number and Fiscal year from Incoming Invoice table
      SELECT  belnr gjahr ebeln ebelp bukrs
         INTO CORRESPONDING FIELDS OF TABLE it_rseg
           FROM rseg
           WHERE belnr IN s_belnr
            AND  gjahr IN s_gjahr
            AND  bukrs = '1000'.
      LOOP AT it_rseg.
        CONCATENATE it_rseg-belnr it_rseg-gjahr INTO it_rseg-awkey.
        MODIFY it_rseg.
        CLEAR it_rseg.
      ENDLOOP.
      IF it_rseg[] IS NOT INITIAL.
        SELECT belnr gjahr xblnr budat awkey
          INTO CORRESPONDING FIELDS OF TABLE it_bkpf
            FROM bkpf
            FOR ALL ENTRIES IN it_rseg
            WHERE awkey = it_rseg-awkey
              AND budat IN s_budat
              AND bukrs = '1000'
              AND blart <> 'ML'.
      ENDIF.
      IF it_bkpf[] IS NOT INITIAL.
        SELECT belnr gjahr bupla lifnr hkont koart mwskz pswbt ebeln ebelp xref3 bschl shkzg
           INTO CORRESPONDING FIELDS OF TABLE it_bseg
           FROM bseg
           FOR ALL ENTRIES IN it_bkpf
           WHERE belnr = it_bkpf-belnr
             AND gjahr = it_bkpf-gjahr.
      ENDIF.
    fetching G/L account description
      IF it_bseg[] IS NOT INITIAL.
        SELECT lifnr name1
        INTO CORRESPONDING FIELDS OF TABLE it_lfa1
        FROM lfa1
        FOR ALL ENTRIES IN it_bseg
        WHERE lifnr = it_bseg-lifnr
          AND spras = 'EN'.
        SELECT saknr txt20 txt50
        INTO CORRESPONDING FIELDS OF TABLE it_skat
        FROM skat
        FOR ALL ENTRIES IN it_bseg
        WHERE saknr = it_bseg-hkont
          AND spras = 'EN'
          AND ktopl = 'HRJL'.
        SELECT ebeln ebelp budat
        INTO CORRESPONDING FIELDS OF TABLE it_ekbe
        FROM ekbe
        FOR ALL ENTRIES IN it_bseg
        WHERE ebeln = it_bseg-ebeln
          AND ebelp = it_bseg-ebelp
          AND bewtp = 'E'.
      ENDIF.
      LOOP AT it_bseg.
        IF it_bseg-koart = 'K'.
          it_bseg-miro_accnt = it_bseg-lifnr.
        ELSE.
          it_bseg-miro_accnt = it_bseg-hkont.
        ENDIF.
        IF it_bseg-shkzg = 'H'.
          it_bseg-pswbt = it_bseg-pswbt * -1.
        ENDIF.
        it_bseg-belnr2 = it_bseg-xref3+4(10).
        MODIFY it_bseg.
        READ TABLE it_ekbe WITH KEY ebeln = it_bseg-ebeln
                                    ebelp = it_bseg-ebelp.
        IF sy-subrc = 0.
          it_bseg-budat1 = it_ekbe-budat.
        ENDIF.
        READ TABLE it_bkpf WITH KEY belnr = it_bseg-belnr
                                    gjahr = it_bseg-gjahr.
        IF sy-subrc = 0.
          it_bseg-belnr = it_bkpf-belnr.
          it_bseg-gjahr = it_bkpf-gjahr.
          it_bseg-xblnr = it_bkpf-xblnr.
          it_bseg-budat = it_bkpf-budat.
          it_bseg-belnr1 = it_bkpf-awkey+0(10).
        ENDIF.
        IF it_bseg-koart = 'K'.
          READ TABLE it_lfa1 WITH KEY lifnr = it_bseg-miro_accnt.
          IF sy-subrc = 0.
            it_bseg-acdes = it_lfa1-name1.
          ENDIF.
        ELSE.
          READ TABLE it_skat WITH KEY saknr = it_bseg-miro_accnt.
          IF sy-subrc = 0.
            IF it_skat-txt20 IS NOT INITIAL.
              it_bseg-acdes = it_skat-txt20.
            ELSE.
              it_bseg-acdes = it_skat-txt50.
            ENDIF.
          ENDIF.
        ENDIF.
        MODIFY it_bseg.
        CLEAR it_bseg.
      ENDLOOP.
      it_bseg1[] = it_bseg[].
      LOOP AT it_bseg1.
        IF it_bseg1-xref3 = ''.
          DELETE it_bseg1.
          CLEAR it_bseg1.
        ENDIF.
      ENDLOOP.
      IF it_bseg1[] IS NOT INITIAL.
        SELECT belnr gjahr bschl xref3
        FROM bsis
        INTO CORRESPONDING FIELDS OF TABLE it_bsis
        FOR ALL ENTRIES IN it_bseg1
        WHERE xref3 = it_bseg1-xref3
          AND gjahr = it_bseg1-gjahr
          AND bschl = '96'.
      ENDIF.
      LOOP AT it_bseg.
        READ TABLE it_bsis WITH KEY xref3 = it_bseg-xref3.
        IF sy-subrc = 0.
          it_bseg-belnr3 = it_bsis-belnr.
          it_bseg-gjahr1 = it_bsis-gjahr.
        ENDIF.
        MODIFY it_bseg.
        CLEAR it_bseg.
      ENDLOOP.
    ENDFORM.                    "data_retrive
    *&      Form  DISPLAY_REPORT
          text
    -->  p1        text
    <--  p2        text
    FORM display_report .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_background_id         = ''
          i_callback_program      = g_repid
         i_callback_user_command = 'USER_COMMAND'
          is_layout               = gs_layout
          it_fieldcat             = gt_fieldcat[]
          it_special_groups       = gt_sp_group[]
          it_sort                 = gt_sort[]
          it_filter               = gt_filter[]
          i_save                  = g_save
          is_variant              = g_variant
          it_events               = gt_events[]
          is_print                = gs_print
          it_alv_graphics         = gt_alv_graphics[]
          it_excluding            = gt_excluding
        TABLES
          t_outtab                = it_bseg.
    ENDFORM.                    " DISPLAY_REPORT
    *&      Form  build_layout
          text
    -->  p1        text
    <--  p2        text
    FORM build_layout.
      gs_layout-no_input          = 'X'.
      gs_layout-colwidth_optimize = 'X'.
      gs_layout-totals_text       = 'Totals'(201).
      gs_layout-info_fieldname =      'LINE_COLOR'.
    ENDFORM.                    " BUILD_LAYOUT
    This is for MIGO.
    REPORT  zmm_migo_track.
    TABLES : bseg, ekbe, skat, bsis.
    AlV related data declarations
    Type Pools
    TYPE-POOLS: slis.
    CONSTANTS:
    gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
          Data Declaration file                                         *
    DATA :  BEGIN OF it_bseg OCCURS 0,
             belnr TYPE bseg-belnr,
             gjahr TYPE bseg-gjahr,
             bukrs TYPE bseg-bukrs,
             hkont TYPE bseg-hkont,
             pswbt TYPE bseg-pswbt,
             ebeln TYPE bseg-ebeln,
             ebelp TYPE bseg-ebelp,
             xref3 TYPE bseg-xref3,
             shkzg TYPE bseg-shkzg,
             budat TYPE ekbe-budat,
             acdes(50),
             belnr1 TYPE bseg-belnr,
            END OF it_bseg.
    DATA :  it_bseg1 LIKE it_bseg OCCURS 0 WITH HEADER LINE.
    DATA :  BEGIN OF it_bsis OCCURS 0,
             belnr TYPE bsis-belnr,
             gjahr TYPE bsis-gjahr,
             bschl TYPE bsis-bschl,
             xref3 TYPE bsis-xref3,
            END OF it_bsis.
    DATA :  BEGIN OF it_skat OCCURS 0,
             saknr TYPE skat-saknr,
             txt20 TYPE skat-txt20,
             txt50 TYPE skat-txt50,
             spras TYPE skat-spras,
             ktopl TYPE skat-ktopl,
            END OF it_skat.
    DATA :  BEGIN OF it_ekbe OCCURS 0,
             ebeln TYPE ekbe-ebeln,
             ebelp TYPE ekbe-ebelp,
             budat TYPE ekbe-budat,
             bewtp TYPE ekbe-bewtp,
            END OF it_ekbe.
    DATA :  fiscal_year_low(4),
            fiscal_year_high(4).
    DATA : fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
           gd_repid LIKE sy-repid.
    DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
          gs_layout   TYPE slis_layout_alv ,
          gs_print    TYPE slis_print_alv,
          gt_sort     TYPE slis_t_sortinfo_alv ,
          gt_filter   TYPE slis_t_filter_alv,
          gt_sp_group TYPE slis_t_sp_group_alv,
          gt_alv_graphics TYPE dtc_t_tc,
          gt_excluding  TYPE slis_t_extab ,
          gt_events   TYPE slis_t_event .
    DATA: g_repid LIKE sy-repid.
    DATA: gt_list_top_of_page TYPE slis_t_listheader.
    DATA:       g_boxnam TYPE slis_fieldname VALUE  'BOX',
                p_f2code LIKE sy-ucomm       VALUE  '&ETA',
                p_lignam TYPE slis_fieldname VALUE  'LIGHTS',
                g_save(1) TYPE c,
                g_default(1) TYPE c,
                g_exit(1) TYPE c,
                gx_variant LIKE disvariant,
                g_variant LIKE disvariant.
          USER ENTRY PARAMETERS                                         *
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_belnr FOR bseg-belnr OBLIGATORY,
                     s_budat FOR ekbe-budat OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK blk1.
    AT SELECTION-SCREEN.
      IF s_budat-low IS NOT INITIAL.
        CALL FUNCTION 'GM_GET_FISCAL_YEAR'
          EXPORTING
            i_date                           = s_budat-low
            i_fyv                            = 'V3'
         IMPORTING
            e_fy                             = fiscal_year_low
    EXCEPTIONS
      FISCAL_YEAR_DOES_NOT_EXIST       = 1
      NOT_DEFINED_FOR_DATE             = 2
      OTHERS                           = 3
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.
      IF s_budat-high IS NOT INITIAL.
        CALL FUNCTION 'GM_GET_FISCAL_YEAR'
          EXPORTING
            i_date                           = s_budat-high
            i_fyv                            = 'V3'
         IMPORTING
            e_fy                             = fiscal_year_high
    EXCEPTIONS
      FISCAL_YEAR_DOES_NOT_EXIST       = 1
      NOT_DEFINED_FOR_DATE             = 2
      OTHERS                           = 3
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.
          START-OF-SELECTION                                            *
    START-OF-SELECTION.
      PERFORM data_retrive.
      PERFORM data_call_alv.
      PERFORM build_layout.
    END-OF-SELECTION.
    *&      Form  DATA_CALL_ALV
          text
    -->  p1        text
    <--  p2        text
    FORM data_call_alv .
      g_repid = sy-repid.
      PERFORM e01_fieldcat_init USING gt_fieldcat[].
      PERFORM eventtab_build CHANGING gt_events.
      PERFORM e04_comment_build USING gt_list_top_of_page[].
      PERFORM display_report.
    ENDFORM.                    " DATA_CALL_ALV
    *&      Form  E01_FIELDCAT_INIT
          text
         -->P_GT_FIELDCAT[]  text
    FORM e01_fieldcat_init  USING    e01_lt_fieldcat TYPE slis_t_fieldcat_alv.
      DATA: ls_fieldcat TYPE slis_fieldcat_alv.
      DATA: gs_sort TYPE slis_sortinfo_alv.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'BELNR1'.
      ls_fieldcat-col_pos      = '1'.
      ls_fieldcat-seltext_l    = 'GRN Doc '.
      ls_fieldcat-outputlen    = 10.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'BELNR'.
      ls_fieldcat-col_pos      = '2'.
      ls_fieldcat-seltext_l    = 'GRN FI Doc No.'.
      ls_fieldcat-outputlen    = 15.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'BUDAT'.
      ls_fieldcat-col_pos      = '3'.
      ls_fieldcat-seltext_l    = 'GR Posting Date '.
      ls_fieldcat-outputlen    = 10.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'HKONT'.
      ls_fieldcat-col_pos      = '4'.
      ls_fieldcat-seltext_l    = 'Account Assignment'.
      ls_fieldcat-outputlen    = 15.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'ACDES'.
      ls_fieldcat-col_pos      = '5'.
      ls_fieldcat-seltext_l    = 'Description'.
      ls_fieldcat-outputlen    = 20.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname    = 'PSWBT'.
      ls_fieldcat-col_pos      = '6'.
      ls_fieldcat-seltext_l    = 'G/L Amount'.
      ls_fieldcat-outputlen    = 15.
      APPEND ls_fieldcat TO e01_lt_fieldcat.
    ENDFORM.                    "e01_fieldcat_init
    *&      Form  EVENTTAB_BUILD
          text
         <--P_GT_EVENTS  text
    FORM eventtab_build  CHANGING lt_events TYPE slis_t_event.
      CONSTANTS:
      gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = lt_events.
      READ TABLE lt_events WITH KEY name = slis_ev_top_of_page
      INTO ls_event.
      IF sy-subrc = 0.
        MOVE gc_formname_top_of_page TO ls_event-form.
        APPEND ls_event TO lt_events.
      ENDIF.
    ENDFORM.                    " EVENTTAB_BUILD
    *&      Form  E04_COMMENT_BUILD
          text
         -->P_GT_LIST_TOP_OF_PAGE[]  text
    FORM e04_comment_build  USING e04_lt_top_of_page TYPE slis_t_listheader.
      DATA : v_time(5) TYPE c.
      DATA:  ls_line TYPE slis_listheader.
      DATA:  ls_colr TYPE slis_specialcol_alv.
      DATA : v_text(90) TYPE c.
      CONCATENATE ' Report for MIGO track ':' ' INTO v_text SEPARATED BY space.
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      ls_line-info = v_text.
      APPEND ls_line TO e04_lt_top_of_page.
    ENDFORM.                    " E04_COMMENT_BUILD
          FORM TOP_OF_PAGE                                              *
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = gt_list_top_of_page.
    ENDFORM.                    "TOP_OF_PAGE
    **&      Form  DATA_RETRIVE
          text
    FORM data_retrive.
    fetching migo G/L account
      IF fiscal_year_high IS NOT INITIAL.
        SELECT belnr gjahr hkont pswbt ebeln ebelp xref3 shkzg
           FROM bseg
           INTO CORRESPONDING FIELDS OF TABLE it_bseg
           WHERE belnr IN s_belnr
             AND gjahr BETWEEN fiscal_year_low AND fiscal_year_high
             AND bukrs = '1000'.
      ELSE.
        SELECT belnr gjahr hkont pswbt ebeln ebelp xref3 shkzg
           FROM bseg
           INTO CORRESPONDING FIELDS OF TABLE it_bseg
           WHERE belnr IN s_belnr
             AND gjahr = fiscal_year_low
             AND bukrs = '1000'.
      ENDIF.
    fetching G/L account description
      IF it_bseg[] IS NOT INITIAL.
        SELECT saknr txt20 txt50
        INTO CORRESPONDING FIELDS OF TABLE it_skat
        FROM skat
        FOR ALL ENTRIES IN it_bseg
        WHERE saknr = it_bseg-hkont
          AND spras = 'EN'
          AND ktopl = 'HRJL'.
        SELECT ebeln ebelp budat
        INTO CORRESPONDING FIELDS OF TABLE it_ekbe
        FROM ekbe
        FOR ALL ENTRIES IN it_bseg
        WHERE ebeln = it_bseg-ebeln
          AND ebelp = it_bseg-ebelp
          AND bewtp = 'E'.
      ENDIF.
      LOOP AT it_bseg.
        IF it_bseg-shkzg = 'H'.
          it_bseg-pswbt = it_bseg-pswbt * -1.
        ENDIF.
        MODIFY it_bseg.
        READ TABLE it_ekbe WITH KEY ebeln = it_bseg-ebeln
                                    ebelp = it_bseg-ebelp.
        IF sy-subrc = 0.
          it_bseg-budat = it_ekbe-budat.
        ENDIF.
        READ TABLE it_skat WITH KEY saknr = it_bseg-hkont.
        IF sy-subrc = 0.
          IF it_skat-txt20 IS NOT INITIAL.
            it_bseg-acdes = it_skat-txt20.
          ELSE.
            it_bseg-acdes = it_skat-txt50.
          ENDIF.
        ENDIF.
        MODIFY it_bseg.
        CLEAR it_bseg.
      ENDLOOP.
      it_bseg1[] = it_bseg[].
      LOOP AT it_bseg1.
        IF it_bseg1-xref3 = ''.
          DELETE it_bseg1.
          CLEAR it_bseg1.
        ENDIF.
      ENDLOOP.
      LOOP AT it_bseg.
        READ TABLE it_bseg1 WITH KEY belnr = it_bseg-belnr.
        IF sy-subrc = 0.
          it_bseg-belnr1 = it_bseg1-xref3+4(10).
          it_bseg-xref3 = it_bseg1-xref3.
        ENDIF.
        MODIFY it_bseg.
        CLEAR it_bseg.
      ENDLOOP.
    ENDFORM.                    "data_retrive
    *&      Form  DISPLAY_REPORT
          text
    -->  p1        text
    <--  p2        text
    FORM display_report .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_background_id         = ''
          i_callback_program      = g_repid
         i_callback_user_command = 'USER_COMMAND'
          is_layout               = gs_layout
          it_fieldcat             = gt_fieldcat[]
          it_special_groups       = gt_sp_group[]
          it_sort                 = gt_sort[]
          it_filter               = gt_filter[]
          i_save                  = g_save
          is_variant              = g_variant
          it_events               = gt_events[]
          is_print                = gs_print
          it_alv_graphics         = gt_alv_graphics[]
          it_excluding            = gt_excluding
        TABLES
          t_outtab                = it_bseg.
    ENDFORM.                    " DISPLAY_REPORT
    *&      Form  build_layout
          text
    -->  p1        text
    <--  p2        text
    FORM build_layout.
      gs_layout-no_input          = 'X'.
      gs_layout-colwidth_optimize = 'X'.
      gs_layout-totals_text       = 'Totals'(201).
      gs_layout-info_fieldname =      'LINE_COLOR'.
    ENDFORM.                    " BUILD_LAYOUT

  • How to use the BADI  WORKORDER_GOODSMVT to meet my requirement?

    Hello Abapers,
    My requirement is I need to display Batch Number in confirmation of production order(co15) which is entered in creation of production order(co01).While debugging the CO15,i got badi as WORKORDER_GOODSMVT.
    I am new to BAdi,HOW to use this badi to meet my requirement.
    Please help for me to solve my problem.
    If any one implemented batch mangement in PP.Please tell the procedure how u achieved?
    waiitng for your favourable replies
    Regards
    Maruthi.

    Hai,
    IN my reuqiremnt,i used GOODS_RECEIPT method to meet my requirement.
    Regards
    Maruthi.K

  • How to make the lines of the table and the template same

    Hello Abapers,
                        I have a requirement, I have made a table in which i have displayed all the values in it, and under that i have taken a template and diplayed the total of it but the lines drawn to the table and the template is different, the table line is dark and the line of the template is lite, how can i make the line of the template dark, i mean the same as the table line. i hope u understand my problem.can u  please help me in solving my problem as the requirement is very urgent.
    HOPE U UNDERSTAND MY PROBLEM
    Thank u in advance  .

    HI,
    Adjust the line width option for template and table,its there under pattern.

  • Help needed in Va11 screen?

    Hello ABAPers,
                  I want to know is it possible to add a field in Program - SAPMV45A and screen number - 4021 with out any access key.
    If yes please can anyone give me the procedure to make it.
    I have copied all the includes of SAPMV45A into my own program ZSAPMV45A. But one error is occuring while i am activating the whole include(ZSAPMV45A) like "The field "I_VBEPDG_WA" is unknown, but there is a field with the similar name "VBEPDG"". Include program name is ZMV45AIOX_XVBEPDG_AKTUALISIERE.
    And even the same error is showing when i am activating the standard Sap program which i have copied SAPMV45A, but finally when i am activating the standard program it is activating with out any error.
    Please suggest me how to activate my custom program. ZSAPMV45A.
    Points will be duly awarded for the helpful answers.
    Thks

    Did you get an answer to this or Have you figured it out because I am currently not getting anything back either for the FM I put into one of our custom Z programs.

Maybe you are looking for

  • Iphone 4 showing&taking pictures with Blue/Green Spot in the Middle

    I have the blue/green spot in the middle of the screen while and after taking the photo especially on white ground/wall or paper. Another thing is that My iPhone 4 back camera takes very yellow photos in artificial light. So Apple should immediatelly

  • Sound not working in iTunes only

    For awhile after downloading the newest iTunes 7 version everything was going well, until one day I restarted my computer and now I don't have sound. Everything runs and plays correctly, but there's no sound. I know there's nothing wrong with my spea

  • How to include new driver and configure datasource in NW 7.0

    Hi, I have deployed my application in the app server and now i need to add the ms sql drivers to the application server and configure datasource to it. Can any one help me to configure the datsource in Nw 7.0 and also how to add the driver files tp a

  • Wont reboot past start up, recovery now looping!

    Help! my phone has been freezing up lately, normally if i take the battery out, put it back in and then turn it back on it will be fine, but now i cant get my phone to boot past that very first white HTC startup screen. I tried rebooting it in recove

  • AVK 1.4.2 and EJB 1.1

    We get lots of EJB failures with AVK relating to the EJB 2.1 specification. However, the EJBs that we are testing are 1.1 EJBs. AVK seems to assume that they are 2.1 EJBs. Each module has its own EJB 1.1 ejb-jar.xml descriptor. How can we get AVK to