Function of this report RDDEXECL

Hi,
I would like to know the function of this report RDDEXECL. Kindly give a detailed explanation about this report?In addition I woould like also to know when to use this report?
Regards,

Hi,
RDDEXECL Execution of programs for post - import processing
Feel free to revert back.
-=-Ragu

Similar Messages

  • When looking at PDF's in one tab other tabs loose functionality, has this been reported?

    When I open a PDF in one tab other tabs lose functionality. This can happen within websites or within my homepage of google. For instance unable to type anything in one tab until the PDF in another tab is closed, unable to use the right mouse button have to use keyboard shortcuts.
    This happens 90% of the time a PDF is open.
    == Since latest version of firefox was installed.

    Which PDF program do you have installed?
    Is it up to date, IOW, the latest version?

  • This report for Vendor Balance Reconcillation.......

    Hi Seniors,
    Please help me with this issue........i have to develope a New report Vendor balance Reconcillation ......Using the Standard report S_ALR_87012082 vendor balances in local currency.....it should be same like this Standard report but this Report is not Designed to give Line Items Because it has Picked up the Data only from few tables like LFA1 LFB1 LFC3.....which give Direct Balances in these tables......But i have Developed a report to Some Extent....But Finding it Difficult in Adding a Special GL Date which is Reflecting in the LFC3 Table....I have to Keep a Check Box Special GL balances in the Selection-Screen when when ever i select Special GL Balances indicator ....Date from LFC3
    should be Selected and Addred to the Final in the Internal Table....I have Written a program .......Based on GSBER And LIFNR SUBTOTALS.....I have to Add this New check box in this Slection-Screen.....this report should be same like this Standard Report....S_ALR_87012082...the Program for this Report is RFKSLD00...please tel me the logic or help me with the Modification my below Report.....If i am not clear please reply me back...
    waiting for your replys...
    Thank you...
    *& Report  ZVENDOR_BALANCES
    REPORT  ZMM_PO_CHECKLIST.
    TYPE-POOLS : SLIS.
    DATA:   it_fcat    TYPE slis_t_fieldcat_alv,
            wa_fcat    LIKE LINE OF it_fcat,
            lt_top_of_page TYPE slis_t_listheader,
            ls_layout      TYPE slis_layout_alv,
            gt_events      TYPE slis_t_event.
    TYPES : BEGIN OF TY_BSEG,
              LIFNR  TYPE BSEG-LIFNR,
              BUKRS  TYPE BSEG-BUKRS,
              BELNR  TYPE BSEG-BELNR,
              GJAHR  TYPE BSEG-GJAHR,
              SHKZG  TYPE BSEG-SHKZG,
              GSBER  TYPE BSEG-GSBER,
              DMBTR  TYPE BSEG-DMBTR,
              WRBTR  TYPE BSEG-WRBTR,
              SGTXT  TYPE BSEG-SGTXT,
           buzei TYPE bseg-buzei,
            buzid TYPE bseg-buzid,
            augdt TYPE bseg-augdt,
            augcp TYPE bseg-augcp,
            augbl TYPE bseg-augbl,
            bschl TYPE bseg-bschl,
            koart TYPE bseg-koart,
            umskz TYPE bseg-umskz,
            zuonr TYPE bseg-zuonr,
            saknr TYPE bseg-saknr,
            hkont TYPE bseg-hkont,
            END OF TY_BSEG,
            BEGIN OF TY_LFA1,
              LIFNR TYPE LFA1-LIFNR,
              LAND1 TYPE LFA1-LAND1,
              NAME1 TYPE LFA1-NAME1,
            END OF TY_LFA1,
            BEGIN OF TY_LFC1,
              LIFNR TYPE LFC1-LIFNR,
              BUKRS TYPE LFC1-BUKRS,
              GJAHR TYPE LFC1-GJAHR,
              UMSAV TYPE LFC1-UMSAV,
            END OF TY_LFC1,
            BEGIN OF TY_BKPF,
              BUKRS TYPE BKPF-BUKRS,
              BELNR TYPE BKPF-BELNR,
              GJAHR TYPE BKPF-GJAHR,
              BLart type bkpf-blart,
              BUDAT TYPE BKPF-BUDAT,
                      bldat TYPE bkpf-bldat,
                      monat TYPE bkpf-monat,
                      usnam TYPE bkpf-usnam,
                      xblnr TYPE bkpf-xblnr,
            END OF TY_BKPF,
         BEGIN OF it_bsak,
            bukrs TYPE bsak-bukrs,
            lifnr TYPE bsak-lifnr,
            umskz TYPE bsak-umskz,
            augdt TYPE bsak-augdt,
            augbl TYPE bsak-augbl,
            zuonr TYPE bsak-zuonr,
            gjahr TYPE bsak-gjahr,
            belnr TYPE bsak-belnr,
            buzei TYPE bsak-buzei,
            budat TYPE bsak-budat,
            bldat TYPE bsak-bldat,
            xblnr TYPE bsak-xblnr,
            blart TYPE bsak-blart,
            monat TYPE bsak-monat,
            bschl TYPE bsak-bschl,
            shkzg TYPE bsak-shkzg,
            gsber TYPE bsak-gsber,
            dmbtr TYPE bsak-dmbtr,
            wrbtr TYPE bsak-wrbtr,
            sgtxt TYPE bsak-sgtxt,
            saknr TYPE bsak-saknr,
            hkont TYPE bsak-hkont,
          END OF it_bsak,
            BEGIN OF it_skat,
                  spras TYPE skat-spras,
                  saknr TYPE skat-saknr,
                  txt20 TYPE skat-txt20,
                  txt50 TYPE skat-txt50,
            END OF it_skat,
          BEGIN OF TY_ITAB,
              GSBER  TYPE BSEG-GSBER,
              LIFNR  TYPE BSEG-LIFNR,
              BUKRS  TYPE BSEG-BUKRS,
              BELNR  TYPE BSEG-BELNR,
              GJAHR  TYPE BSEG-GJAHR,
              SHKZG  TYPE BSEG-SHKZG,
             GSBER  TYPE BSEG-GSBER,
              DMBTR  TYPE BSEG-DMBTR,
              WRBTR  TYPE BSEG-WRBTR,
              SGTXT  TYPE BSEG-SGTXT,
           buzei TYPE bseg-buzei,
            buzid TYPE bseg-buzid,
            augdt TYPE bseg-augdt,
            augcp TYPE bseg-augcp,
            augbl TYPE bseg-augbl,
            bschl TYPE bseg-bschl,
            koart TYPE bseg-koart,
            umskz TYPE bseg-umskz,
            zuonr TYPE bseg-zuonr,
            saknr TYPE bseg-saknr,
            hkont TYPE bseg-hkont,
             LIFNR TYPE LFA1-LIFNR,
              LAND1 TYPE LFA1-LAND1,
              NAME1 TYPE LFA1-NAME1,
              DMBTR_H  TYPE BSEG-WRBTR,
              DMBTR_S  TYPE BSEG-WRBTR,
              DH TYPE BSEG-WRBTR,
              DS TYPE BSEG-WRBTR,
              HS   TYPE BSEG-WRBTR,
              BAL  TYPE BSEG-WRBTR,
              FLAG TYPE C,
             LIFNR TYPE LFC1-LIFNR,
             BUKRS TYPE LFC1-BUKRS,
             GJAHR TYPE LFC1-GJAHR,
              UMSAV TYPE LFC1-UMSAV,
              UM(15) TYPE P DECIMALS 2,
             BUKRS TYPE BKPF-BUKRS,
             BELNR TYPE BKPF-BELNR,
             GJAHR TYPE BKPF-GJAHR,
              BLart type bkpf-blart,
              BUDAT TYPE BKPF-BUDAT,
                     bldat TYPE bkpf-bldat,
                      monat TYPE bkpf-monat,
                      usnam TYPE bkpf-usnam,
                      xblnr TYPE bkpf-xblnr,
                  spras TYPE skat-spras,
                 saknr TYPE skat-saknr,
                  txt20 TYPE skat-txt20,
                  txt50 TYPE skat-txt50,
               LINE_COLOR(4) TYPE C,
               LINE_CTR(4) TYPE C,
            END OF TY_ITAB,
            BEGIN OF TY_TEMP,
              LIFNR  TYPE BSEG-LIFNR,
                        GSBER  TYPE BSEG-GSBER,
              BUKRS  TYPE BSEG-BUKRS,
              BELNR  TYPE BSEG-BELNR,
              GJAHR  TYPE BSEG-GJAHR,
              SHKZG  TYPE BSEG-SHKZG,
             GSBER  TYPE BSEG-GSBER,
              DMBTR  TYPE BSEG-DMBTR,
              WRBTR  TYPE BSEG-WRBTR,
              SGTXT  TYPE BSEG-SGTXT,
           buzei TYPE bseg-buzei,
            buzid TYPE bseg-buzid,
            augdt TYPE bseg-augdt,
            augcp TYPE bseg-augcp,
            augbl TYPE bseg-augbl,
            bschl TYPE bseg-bschl,
            koart TYPE bseg-koart,
            umskz TYPE bseg-umskz,
            zuonr TYPE bseg-zuonr,
            saknr TYPE bseg-saknr,
            hkont TYPE bseg-hkont,
             LIFNR TYPE LFA1-LIFNR,
              LAND1 TYPE LFA1-LAND1,
              NAME1 TYPE LFA1-NAME1,
             LIFNR TYPE LFC1-LIFNR,
             BUKRS TYPE LFC1-BUKRS,
             GJAHR TYPE LFC1-GJAHR,
              UMSAV TYPE LFC1-UMSAV,
              DMBTR_H  TYPE BSEG-WRBTR,
              DMBTR_S  TYPE BSEG-WRBTR,
              HS       TYPE BSEG-WRBTR,
              BAL      TYPE BSEG-WRBTR,
              FLAG TYPE C,
             FLAG TYPE C,
             BUKRS TYPE BKPF-BUKRS,
             BELNR TYPE BKPF-BELNR,
             GJAHR TYPE BKPF-GJAHR,
              BLart type bkpf-blart,
              BUDAT TYPE BKPF-BUDAT,
                      bldat TYPE bkpf-bldat,
                      monat TYPE bkpf-monat,
                      usnam TYPE bkpf-usnam,
                      xblnr TYPE bkpf-xblnr,
           bukrs TYPE bsak-bukrs,
           lifnr TYPE bsak-lifnr,
           umskz TYPE bsak-umskz,
           augdt TYPE bsak-augdt,
           augbl TYPE bsak-augbl,
           zuonr TYPE bsak-zuonr,
           gjahr TYPE bsak-gjahr,
           belnr TYPE bsak-belnr,
           buzei TYPE bsak-buzei,
           budat TYPE bsak-budat,
           bldat TYPE bsak-bldat,
           xblnr TYPE bsak-xblnr,
           blart TYPE bsak-blart,
           monat TYPE bsak-monat,
           bschl TYPE bsak-bschl,
           shkzg TYPE bsak-shkzg,
           gsber TYPE bsak-gsber,
           dmbtr TYPE bsak-dmbtr,
           wrbtr TYPE bsak-wrbtr,
           sgtxt TYPE bsak-sgtxt,
           saknr TYPE bsak-saknr,
           hkont TYPE bsak-hkont,
                  spras TYPE skat-spras,
                 saknr TYPE skat-saknr,
                  txt20 TYPE skat-txt20,
                  txt50 TYPE skat-txt50,
               LINE_COLOR(4) TYPE C,
               LINE_CTR(4) TYPE C,
            END OF TY_TEMP.
    DATA : IT_BSEG TYPE STANDARD TABLE OF TY_BSEG WITH HEADER LINE,
           IT_LFA1 TYPE STANDARD TABLE OF TY_LFA1 WITH HEADER LINE,
           IT_LFC1 TYPE STANDARD TABLE OF TY_LFC1 WITH HEADER LINE,
           IT_BKPF TYPE STANDARD TABLE OF TY_BKPF WITH HEADER LINE,
          IT_BSIK TYPE STANDARD TABLE OF TY_BSIK WITH HEADER LINE,
          IT_BSAK TYPE STANDARD TABLE OF TY_BSAK WITH HEADER LINE,
          IT_BSIP TYPE STANDARD TABLE OF TY_BSIP WITH HEADER LINE,
           IT_SKAT TYPE STANDARD TABLE OF IT_SKAT WITH HEADER LINE,
           IT_ITAB TYPE STANDARD TABLE OF TY_ITAB WITH HEADER LINE,
           IT_TEMP TYPE STANDARD TABLE OF TY_TEMP WITH HEADER LINE.
           TABLES : BSEG, LFA1, LFC1, BKPF ,SKAT.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE T001.
    SELECT-OPTIONS: Vendor FOR BSEG-LIFNR OBLIGATORY.
    PARAMETERS : CoCd LIKE BSEG-BUKRS  OBLIGATORY.
    PARAMETERS : Fiscal LIKE BSEG-GJAHR OBLIGATORY.
    SELECT-OPTIONS : Period FOR BKPF-MONAT .
    *SELECT-OPTIONS : b_monate for rfsdo-allgbmon          "Berichtsperioden
              no-extension,
    *SELECT-OPTIONS: SO_LIFNR FOR BSEG-LIFNR.
                   SO_BELNR FOR BSEG-BELNR.
    SELECTION-SCREEN END OF BLOCK B1.
    PERFORM DATA_RETRIVE.
    *PERFORM SUB_MOVE_DATA.
    **PERFORM SUB_FETCH_EXTRA_DATA.
    **PERFORM SUB_MOVE_EXTRA_DATA.
    PERFORM SUB_CALC.
    PERFORM SUB_FIELDCAT.
    PERFORM SUB_DISPLAY.
    *&      Form  DATA_RETRIVE
          text
    -->  p1        text
    <--  p2        text
    form DATA_RETRIVE .
    SELECT LIFNR BUKRS BELNR GJAHR SHKZG GSBER DMBTR WRBTR SGTXT BUZEI
           BUZID AUGDT AUGCP AUGBL BSCHL KOART UMSKZ ZUONR SAKNR HKONT
           FROM BSEG INTO TABLE IT_BSEG
           WHERE LIFNR IN vendor AND BUKRS = CoCd AND GJAHR = Fiscal.
    IF NOT IT_BSEG[] IS INITIAL.
    SELECT LIFNR LAND1 NAME1
           FROM LFA1 INTO TABLE IT_LFA1 FOR ALL ENTRIES IN IT_BSEG
           WHERE LIFNR = IT_BSEG-LIFNR.
    ENDIF.
    IF NOT IT_BSEG[] IS INITIAL.
    SELECT LIFNR BUKRS GJAHR UMSAV
           FROM LFC1 INTO TABLE IT_LFC1 FOR ALL ENTRIES IN IT_BSEG
           WHERE LIFNR = IT_BSEG-LIFNR AND BUKRS = IT_BSEG-BUKRS AND GJAHR = IT_BSEG-GJAHR.
    ENDIF.
    IF NOT IT_BSEG[] IS INITIAL.
    SELECT BUKRS BELNR GJAHR BLART BUDAT BLDAT MONAT USNAM XBLNR
           FROM BKPF INTO TABLE IT_BKPF FOR ALL ENTRIES IN IT_BSEG
           WHERE MONAT IN Period AND BUKRS = IT_BSEG-BUKRS AND GJAHR = IT_BSEG-GJAHR AND BELNR = IT_BSEG-BELNR.
    ENDIF.
    LOOP AT IT_BSEG.
    IT_ITAB-LIFNR = IT_BSEG-LIFNR.
    IT_ITAB-BUKRS = IT_BSEG-BUKRS.
    IT_ITAB-BELNR = IT_BSEG-BELNR.
    IT_ITAB-GJAHR = IT_BSEG-GJAHR.
    IT_ITAB-SHKZG = IT_BSEG-SHKZG.
    IT_ITAB-GSBER = IT_BSEG-GSBER.
    IT_ITAB-DMBTR = IT_BSEG-DMBTR.
    IT_ITAB-WRBTR = IT_BSEG-WRBTR.
    IT_ITAB-SGTXT = IT_BSEG-SGTXT.
    IT_ITAB-BUZEI = IT_BSEG-BUZEI.
    IT_ITAB-BUZID = IT_BSEG-BUZID.
    IT_ITAB-AUGDT = IT_BSEG-AUGDT.
    IT_ITAB-AUGCP = IT_BSEG-AUGCP.
    IT_ITAB-AUGBL = IT_BSEG-AUGBL.
    IT_ITAB-BSCHL = IT_BSEG-BSCHL.
    IT_ITAB-KOART = IT_BSEG-KOART.
    IT_ITAB-UMSKZ = IT_BSEG-UMSKZ.
    IT_ITAB-ZUONR = IT_BSEG-ZUONR.
    IT_ITAB-SAKNR = IT_BSEG-SAKNR.
    IT_ITAB-HKONT = IT_BSEG-HKONT.
    READ TABLE IT_LFA1 WITH KEY LIFNR = IT_ITAB-LIFNR.
      IF SY-SUBRC = 0.
      IT_ITAB-LAND1 = IT_LFA1-LAND1.
      IT_ITAB-NAME1 = IT_LFA1-NAME1.
      ENDIF.
    READ TABLE IT_LFC1 WITH KEY LIFNR = IT_ITAB-LIFNR
                                BUKRS = IT_ITAB-BUKRS
                                GJAHR = IT_ITAB-GJAHR
                                BINARY SEARCH.
      IF SY-SUBRC = 0.
      IT_ITAB-UMSAV = IT_LFC1-UMSAV.
      ENDIF.
    READ TABLE IT_BKPF WITH KEY BUKRS = IT_ITAB-BUKRS
                                BELNR = IT_ITAB-BELNR
                                GJAHR = IT_ITAB-GJAHR.
    IF SY-SUBRC = 0.
    IT_ITAB-BLART = IT_BKPF-BLART.
    IT_ITAB-BUDAT = IT_BKPF-BUDAT.
    IT_ITAB-BLDAT = IT_BKPF-BLDAT.
    IT_ITAB-MONAT = IT_BKPF-MONAT.
    IT_ITAB-USNAM = IT_BKPF-USNAM.
    IT_ITAB-XBLNR = IT_BKPF-XBLNR.
    ENDIF.
    APPEND IT_ITAB.
    CLEAR  IT_ITAB.
    ENDLOOP.
    endform.                    " DATA_RETRIVE
    *&      Form  SUB_CALC
          text
    -->  p1        text
    <--  p2        text
    form SUB_CALC .
    *SORT IT_ITAB BY LIFNR GSBER GJAHR.
    *LOOP AT IT_ITAB.
    *IF IT_ITAB-SHKZG = 'S'.
      IT_ITAB-DMBTR = IT_ITAB-DMBTR * ( -1 ).
    *ENDIF.
    *CLEAR IT_ITAB-DMBTR_S.
    *MODIFY IT_ITAB.
    *ENDLOOP.
    *LOOP AT IT_ITAB.
    *IT_ITAB-BAL = IT_ITAB-UMSAV + IT_ITAB-DMBTR.
    *MODIFY IT_ITAB.
    *CLEAR IT_ITAB.
    *ENDLOOP.
    *LOOP AT IT_ITAB.
      IF IT_ITAB-SHKZG = 'S'.
      IT_ITAB-DMBTR = IT_ITAB-DMBTR * ( -1 ).
      ENDIF.
      MODIFY IT_ITAB.
    *ENDLOOP.
      LOOP AT IT_ITAB.
        IF IT_ITAB-SHKZG = 'S'.
            IT_ITAB-DMBTR_S  = IT_ITAB-DMBTR .
        ELSE.
        IF IT_ITAB-SHKZG = 'H'.
          IT_ITAB-DMBTR_H  = IT_ITAB-DMBTR.
          ENDIF.
        ENDIF.
       IT_ITAB-DMBTR = ''.
        MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S DMBTR.
    "VAR.
        CLEAR IT_ITAB.
      ENDLOOP.
    *MOVE CORRESPONDING IT_LFC1-UMSAV = IT_ITAB-UMSAV.
      SORT IT_ITAB BY LIFNR GSBER.
    LOOP AT IT_ITAB.
         IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.
         IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.
         IT_ITAB-DH = IT_ITAB-DMBTR_H.
         IT_ITAB-DS = IT_ITAB-DMBTR_S.
           IT_ITAB-FLAG = 'X'.
           IT_ITAB-CTR = 'X'.
           IT_ITAB-HS = IT_ITAB-DMBTR_H - IT_ITAB-DMBTR_S.
           IT_ITAB-BAL = IT_ITAB-UMSAV + IT_ITAB-HS.
         MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S HS
                                                    FLAG BAL.
      CLEAR IT_ITAB.
    ENDLOOP.
    *LOOP AT IT_ITAB.
    **IF IT_ITAB-MONAT = ''.
      DELETE IT_ITAB[] WHERE MONAT = ''.
    *MODIFY IT_ITAB.
    *ENDLOOP.
    LOOP AT IT_ITAB.
       AT END OF GSBER.
         SUM.
         IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.
         IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.
         IT_ITAB-DH = IT_ITAB-DMBTR_H.
         IT_ITAB-DS = IT_ITAB-DMBTR_S.
           IT_ITAB-FLAG = 'X'.
           IT_ITAB-CTR = 'X'.
           IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.
           IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.
           IT_ITAB-HS   = IT_ITAB-DMBTR_S - IT_ITAB-DMBTR_H.
           IT_ITAB-BAL  = IT_ITAB-UMSAV - IT_ITAB-HS.
         MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S  HS
                                                    FLAG BAL.
       ENDAT.
      CLEAR IT_ITAB.
    ENDLOOP.
      LOOP AT IT_ITAB.
        AT END OF GSBER.
          SUM.
          IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.
          IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.
          IT_ITAB-DH = IT_ITAB-DMBTR_H.
          IT_ITAB-DS = IT_ITAB-DMBTR_S.
            IT_ITAB-FLAG = 'X'.
           IT_ITAB-CTR = 'X'.
            IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.
            IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.
            IT_ITAB-BAL = IT_ITAB-UMSAV + ( IT_ITAB-DMBTR_H - IT_ITAB-DMBTR_S ).
          MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S DH DS
                                                     FLAG BAL.
        ENDAT.
       CLEAR IT_ITAB.
      ENDLOOP.
    DELETE IT_ITAB[] WHERE FLAG <> 'X'.
    SORT IT_ITAB BY LIFNR GSBER.
    LOOP AT IT_ITAB.
       MOVE-CORRESPONDING IT_ITAB TO IT_TEMP.
       APPEND IT_TEMP.
    ENDLOOP.
    REFRESH IT_ITAB.
    SORT IT_TEMP BY LIFNR GSBER.
    LOOP AT IT_TEMP.
       MOVE-CORRESPONDING IT_TEMP TO IT_ITAB.
       APPEND IT_ITAB.
       CLEAR IT_ITAB.
       AT END OF LIFNR.
         SUM.
         IT_TEMP-FLAG = ''.
         MODIFY IT_TEMP INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S FLAG.
         MOVE-CORRESPONDING IT_ITEMP TO IT_ITAB.
         IT_ITAB-LIFNR = ''.
         IT_ITAB-NAME1 = ''.
         IT_ITAB-BELNR = ''.
         IT_ITAB-BUKRS = ''.
         IT_ITAB-GJAHR = ''.
         IT_ITAB-GSBER = ''.
         IT_ITAB-UMSAV = '0000'.
         IT_ITAB-DMBTR_H = IT_TEMP-DMBTR_H.
         IT_ITAB-DMBTR_S = IT_TEMP-DMBTR_S.
         IT_ITAB-BAL = IT_TEMP-DMBTR_H - IT_TEMP-DMBTR_S.
         IT_ITAB-FLAG = 'Y'.
         IT_ItAB-CTR = IT_TEMO-CTR.
         APPEND IT_ITAB.
       ENDAT.
       IF IT_ITAB-FLAG = 'Y'.
         it_itab-line_color = 'C600'.
         MODIFY IT_ITAB.
       ENDIF.
       CLEAR IT_TEMP.
    ENDLOOP.
    LOOP AT IT_ITAB WHERE FLAG = 'Y'.
         it_itab-line_color = 'C602'.
         MODIFY IT_ITAB INDEX SY-TABIX.
         CLEAR IT_ITAB.
    ENDLOOP.
    loop at it_itab WHERE FLAG  = ''.
         it_itab-line_color = 'C103'.
         IT_ITAB-LINE_CTR = 'C103'.
         MODIFY IT_ITAB INDEX SY-TABIX.
         CLEAR IT_ITAB.
    ENDLOOP.
    PERFORM SUB_CALC_1.
    endform.                    " SUB_CALC
    *&      Form  SUB_FIELDCAT
          text
    -->  p1        text
    <--  p2        text
    FORM SUB_FIELDCAT .
      WA_FCAT-FIELDNAME = 'LIFNR'.
      WA_FCAT-TABNAME = 'IT_ITAB'.
      WA_FCAT-SELTEXT_M = 'Vendor No'. "'VENDOR NAME'.
      APPEND WA_FCAT TO IT_FCAT.
      CLEAR WA_FCAT.
      WA_FCAT-FIELDNAME = 'NAME1'.
      WA_FCAT-TABNAME = 'IT_ITAB'.
      WA_FCAT-SELTEXT_M = 'Vendor Name'. "'VENDOR NAME'.
      APPEND WA_FCAT TO IT_FCAT.
      CLEAR WA_FCAT.
    WA_FCAT-FIELDNAME = 'BELNR'.
    WA_FCAT-TABNAME = 'IT_ITAB'.
    WA_FCAT-SELTEXT_M = 'SAP Document No'. "'DOC NUMBER'.
    APPEND WA_FCAT TO IT_FCAT.
    CLEAR WA_FCAT.
    WA_FCAT-FIELDNAME = 'BLDAT'.
    WA_FCAT-TABNAME = 'IT_ITAB'.
    WA_FCAT-SELTEXT_M = 'Doc Date'. "'FISCAL YEAR'.
    APPEND WA_FCAT TO IT_FCAT.
    CLEAR wa_fcat.
      WA_FCAT-FIELDNAME = 'GSBER'.
      WA_FCAT-TABNAME = 'IT_ITAB'.
      WA_FCAT-SELTEXT_M = 'BusA'. "'BUSINESS AREA'.
      APPEND WA_FCAT TO IT_FCAT.
      CLEAR WA_FCAT.
      WA_FCAT-FIELDNAME = 'UMSAV'.
      WA_FCAT-TABNAME = 'IT_ITAB'.
      WA_FCAT-SELTEXT_M = 'Balance Carry Forward'. "'BAL  CARRIED FORWARD'.
      APPEND WA_FCAT TO IT_FCAT.
      CLEAR WA_FCAT.
      WA_FCAT-FIELDNAME = 'FLAG'.
      WA_FCAT-TABNAME = 'IT_ITAB'.
      WA_FCAT-SELTEXT_M = 'FLAG'. "'DOC NUMBER'.
      APPEND WA_FCAT TO IT_FCAT.
      CLEAR WA_FCAT.
    WA_FCAT-FIELDNAME = 'SHKZG'.
    WA_FCAT-TABNAME = 'IT_ITAB'.
    WA_FCAT-SELTEXT_M = 'SHKZG'. "'DOC NUMBER'.
    APPEND WA_FCAT TO IT_FCAT.
    CLEAR WA_FCAT.
      WA_FCAT-FIELDNAME = 'DMBTR_S'.
      WA_FCAT-TABNAME = 'IT_ITAB'.
      WA_FCAT-SELTEXT_M = 'Credit'. "'DOC NUMBER'.
      APPEND WA_FCAT TO IT_FCAT.
      CLEAR WA_FCAT.
      WA_FCAT-FIELDNAME = 'DMBTR_H'.
      WA_FCAT-TABNAME = 'IT_ITAB'.
      WA_FCAT-SELTEXT_M = 'Debit'. "'DOC NUMBER'.
      APPEND WA_FCAT TO IT_FCAT.
      CLEAR WA_FCAT.
      WA_FCAT-FIELDNAME = 'MONAT'.
      WA_FCAT-TABNAME = 'IT_ITAB'.
      WA_FCAT-SELTEXT_M = 'PERIOD'.
      APPEND WA_FCAT TO IT_FCAT.
      CLEAR WA_FCAT.
    WA_FCAT-FIELDNAME = 'DH'.
    WA_FCAT-TABNAME = 'IT_ITAB'.
    WA_FCAT-SELTEXT_M = 'DH'. "'DOC NUMBER'.
    APPEND WA_FCAT TO IT_FCAT.
    CLEAR WA_FCAT.
    WA_FCAT-FIELDNAME = 'DS'.
    WA_FCAT-TABNAME = 'IT_ITAB'.
    WA_FCAT-SELTEXT_M = 'DS'. "'DOC NUMBER'.
    APPEND WA_FCAT TO IT_FCAT.
    CLEAR WA_FCAT.
      WA_FCAT-FIELDNAME = 'BAL'.
      WA_FCAT-TABNAME = 'IT_ITAB'.
      WA_FCAT-SELTEXT_M = 'Accumlated Bal'.
      APPEND WA_FCAT TO IT_FCAT.
      CLEAR WA_FCAT.
    WA_FCAT-FIELDNAME = 'SGTXT'.
    WA_FCAT-TABNAME = 'IT_ITAB'.
    WA_FCAT-SELTEXT_M = 'Text'. "'DOC NUMBER'.
    APPEND WA_FCAT TO IT_FCAT.
    CLEAR WA_FCAT.
      ls_layout-info_fieldname = 'LINE_COLOR'.
    ENDFORM.                    " SUB_FIELDCAT
    *&      Form  SUB_DISPLAY
          text
    -->  p1        text
    <--  p2        text
    FORM SUB_DISPLAY .
      IF NOT IT_ITAB[] IS INITIAL.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
            I_CALLBACK_PROGRAM = 'SY-REPID'
            IT_FIELDCAT        = IT_FCAT
            I_SAVE             = 'A'
            is_layout          = ls_layout
          TABLES
            T_OUTTAB           = IT_ITAB
          EXCEPTIONS
            PROGRAM_ERROR      = 1
            OTHERS             = 2.
        IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.
    ENDFORM.                    " SUB_DISPLAY
    *&      Form  SUB_CALC_1
          text
    -->  p1        text
    <--  p2        text
    FORM SUB_CALC_1 .
      LOOP AT IT_ITAB WHERE FLAG = 'Y'.
          it_itab-line_color = 'C603'.
          MODIFY IT_ITAB INDEX SY-TABIX.
          CLEAR IT_ITAB.
      ENDLOOP.
    ENDFORM.                    " SUB_CALC_1

    This is the Report which i am trying to do....please help me with this Report....
    *& Report  ZVENDOR_RECONCILLATION
    REPORT  ZVENDOR_RECONCILLATION.
    *ALV
    TYPE-POOLS: SLIS.
    *TYPE-POOLS icon.
    DATA: It_SORT TYPE SLIS_T_SORTINFO_ALV ."WITH HEADER LINE.
    DATA: TOP TYPE slis_t_listheader,
          END TYPE slis_t_listheader,
          EVENTS TYPE slis_t_event.
    DATA : NAME1 LIKE T001W-NAME1,
          WERKS LIKE T001W-WERKS  .
    DATA : T_KEY TYPE SLIS_KEYINFO_ALV.
    DATA : FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
          LAYOUT TYPE SLIS_LAYOUT_ALV OCCURS 1 WITH HEADER LINE ,
          LCAT TYPE SLIS_FIELDCAT_ALV.
    TABLES : BSAK , BSIK , LFC1 , LFC3 , LFA1.
    *INTERNAL TABLE
    DATA: BEGIN OF sd_bsak,
            bukrs TYPE bsak-bukrs,
            lifnr TYPE bsak-lifnr,
            umsks TYPE bsak-umsks,
            umskz TYPE bsak-umskz,
            augdt TYPE bsak-augdt,
            augbl TYPE bsak-augbl,
            zuonr TYPE bsak-zuonr,
            gjahr TYPE bsak-gjahr,
            belnr TYPE bsak-belnr,
            buzei TYPE bsak-buzei,
            budat TYPE bsak-budat,
            bldat TYPE bsak-bldat,
            xblnr TYPE bsak-xblnr,
            blart TYPE bsak-blart,
            monat TYPE bsak-monat,
            bschl TYPE bsak-bschl,
            zumsk TYPE bsak-zumsk,
            shkzg TYPE bsak-shkzg,
            gsber TYPE bsak-gsber,
            dmbtr TYPE bsak-dmbtr,
            wrbtr TYPE bsak-wrbtr,
            sgtxt TYPE bsak-sgtxt,
            saknr TYPE bsak-saknr,
            hkont TYPE bsak-hkont,
          END OF sd_bsak.
    DATA: BEGIN OF sd_bsik,
            bukrs TYPE bsik-bukrs,
            lifnr TYPE bsik-lifnr,
            umsks TYPE bsik-umsks,
            umskz TYPE bsik-umskz,
            augdt TYPE bsik-augdt,
            augbl TYPE bsik-augbl,
            zuonr TYPE bsik-zuonr,
            gjahr TYPE bsik-gjahr,
            belnr TYPE bsik-belnr,
            buzei TYPE bsik-buzei,
            budat TYPE bsik-budat,
            bldat TYPE bsik-bldat,
            xblnr TYPE bsik-xblnr,
            blart TYPE bsik-blart,
            monat TYPE bsik-monat,
            bschl TYPE bsik-bschl,
            zumsk TYPE bsik-zumsk,
            shkzg TYPE bsik-shkzg,
            gsber TYPE bsik-gsber,
            dmbtr TYPE bsik-dmbtr,
            wrbtr TYPE bsik-wrbtr,
            sgtxt TYPE bsik-sgtxt,
            saknr TYPE bsik-saknr,
            hkont TYPE bsik-hkont,
            zlsch TYPE bsik-zlsch,
          END OF sd_bsik.
    DATA: BEGIN OF it_lfa1,
            lifnr TYPE lfa1-lifnr,
            name1 TYPE lfa1-name1,
          END OF it_lfa1.
    DATA: BEGIN OF sd_lfc1,
            lifnr TYPE lfc1-lifnr,
            bukrs TYPE lfc1-bukrs,
            gjahr TYPE lfc1-gjahr,
            erdat TYPE lfc1-erdat,
            usnam TYPE lfc1-usnam,
            umsav TYPE lfc1-umsav,
          END OF sd_lfc1.
    DATA: BEGIN OF sd_lfc3,
            lifnr TYPE lfc3-lifnr,
            bukrs TYPE lfc3-bukrs,
            gjahr TYPE lfc3-gjahr,
            shbkz TYPE lfc3-shbkz,
            saldv TYPE lfc3-saldv,
            solll TYPE lfc3-solll,
            habnl TYPE lfc3-habnl,
          END OF sd_lfc3.
    *FINAL INTERNAL TABLE DECLARATION
    DATA: BEGIN OF IT_FINAL,
            gsber TYPE bsak-gsber,
            bukrs TYPE bsak-bukrs,
            lifnr TYPE bsak-lifnr,
            umsks TYPE bsak-umsks,
            umskz TYPE bsak-umskz,
            augdt TYPE bsak-augdt,
            augbl TYPE bsak-augbl,
            zuonr TYPE bsak-zuonr,
            gjahr TYPE bsak-gjahr,
            belnr TYPE bsak-belnr,
            buzei TYPE bsak-buzei,
            budat TYPE bsak-budat,
            bldat TYPE bsak-bldat,
            xblnr TYPE bsak-xblnr,
            blart TYPE bsak-blart,
            monat TYPE bsak-monat,
            bschl TYPE bsak-bschl,
            zumsk TYPE bsak-zumsk,
            shkzg TYPE bsak-shkzg,
           gsber TYPE bsak-gsber,
            dmbtr TYPE bsak-dmbtr,
            wrbtr TYPE bsak-wrbtr,
            sgtxt TYPE bsak-sgtxt,
            saknr TYPE bsak-saknr,
            hkont TYPE bsak-hkont,
            DMBTR_S  TYPE BSAK-DMBTR,
            DMBTR_H  TYPE BSAK-DMBTR,
            DS       TYPE P DECIMALS 2,
            DH       TYPE P DECIMALS 2,
            SUB      TYPE P DECIMALS 2,
            ADD      TYPE P DECIMALS 2,
            BAL      TYPE P DECIMALS 2,
           lifnr TYPE bsik-lifnr,
           umsks TYPE bsik-umsks,
           umskz TYPE bsik-umskz,
           augdt TYPE bsik-augdt,
           augbl TYPE bsik-augbl,
           zuonr TYPE bsik-zuonr,
           gjahr TYPE bsik-gjahr,
           belnr TYPE bsik-belnr,
           buzei TYPE bsik-buzei,
           budat TYPE bsik-budat,
           bldat TYPE bsik-bldat,
           xblnr TYPE bsik-xblnr,
           blart TYPE bsik-blart,
           monat TYPE bsik-monat,
           bschl TYPE bsik-bschl,
           zumsk TYPE bsik-zumsk,
           shkzg TYPE bsik-shkzg,
           gsber TYPE bsik-gsber,
           dmbtr TYPE bsik-dmbtr,
           wrbtr TYPE bsik-wrbtr,
           sgtxt TYPE bsik-sgtxt,
           saknr TYPE bsik-saknr,
           hkont TYPE bsik-hkont,
            zlsch TYPE bsik-zlsch,
                   lifnr TYPE lfa1-lifnr,
            name1 TYPE lfa1-name1,
                   lifnr TYPE lfc1-lifnr,
           bukrs TYPE lfc1-bukrs,
           gjahr TYPE lfc1-gjahr,
            erdat TYPE lfc1-erdat,
            usnam TYPE lfc1-usnam,
            umsav TYPE lfc1-umsav,
                   lifnr TYPE lfc3-lifnr,
           bukrs TYPE lfc3-bukrs,
           gjahr TYPE lfc3-gjahr,
            shbkz TYPE lfc3-shbkz,
            saldv TYPE lfc3-saldv,
            solll TYPE lfc3-solll,
            habnl TYPE lfc3-habnl,
    END OF IT_FINAL.
    DATA: BEGIN OF SD_FINAL,
            lifnr TYPE bsak-lifnr,
            bukrs TYPE bsak-bukrs,
           lifnr TYPE bsak-lifnr,
            umsks TYPE bsak-umsks,
            umskz TYPE bsak-umskz,
            augdt TYPE bsak-augdt,
            augbl TYPE bsak-augbl,
            zuonr TYPE bsak-zuonr,
            gjahr TYPE bsak-gjahr,
            belnr TYPE bsak-belnr,
            buzei TYPE bsak-buzei,
            budat TYPE bsak-budat,
            bldat TYPE bsak-bldat,
            xblnr TYPE bsak-xblnr,
            blart TYPE bsak-blart,
            monat TYPE bsak-monat,
            bschl TYPE bsak-bschl,
            zumsk TYPE bsak-zumsk,
            shkzg TYPE bsak-shkzg,
            gsber TYPE bsak-gsber,
            dmbtr TYPE bsak-dmbtr,
            wrbtr TYPE bsak-wrbtr,
            sgtxt TYPE bsak-sgtxt,
            saknr TYPE bsak-saknr,
            hkont TYPE bsak-hkont,
                   bukrs TYPE bsik-bukrs,
           lifnr TYPE bsik-lifnr,
           umsks TYPE bsik-umsks,
           umskz TYPE bsik-umskz,
           augdt TYPE bsik-augdt,
           augbl TYPE bsik-augbl,
           zuonr TYPE bsik-zuonr,
           gjahr TYPE bsik-gjahr,
           belnr TYPE bsik-belnr,
           buzei TYPE bsik-buzei,
           budat TYPE bsik-budat,
           bldat TYPE bsik-bldat,
           xblnr TYPE bsik-xblnr,
           blart TYPE bsik-blart,
           monat TYPE bsik-monat,
           bschl TYPE bsik-bschl,
           zumsk TYPE bsik-zumsk,
           shkzg TYPE bsik-shkzg,
           gsber TYPE bsik-gsber,
           dmbtr TYPE bsik-dmbtr,
           wrbtr TYPE bsik-wrbtr,
           sgtxt TYPE bsik-sgtxt,
           saknr TYPE bsik-saknr,
           hkont TYPE bsik-hkont,
            zlsch TYPE bsik-zlsch,
                   lifnr TYPE lfa1-lifnr,
            name1 TYPE lfa1-name1,
                   lifnr TYPE lfc1-lifnr,
           bukrs TYPE lfc1-bukrs,
           gjahr TYPE lfc1-gjahr,
            erdat TYPE lfc1-erdat,
            usnam TYPE lfc1-usnam,
            umsav TYPE lfc1-umsav,
                   lifnr TYPE lfc3-lifnr,
           bukrs TYPE lfc3-bukrs,
           gjahr TYPE lfc3-gjahr,
            shbkz TYPE lfc3-shbkz,
            saldv TYPE lfc3-saldv,
            solll TYPE lfc3-solll,
            habnl TYPE lfc3-habnl,
    line_color(4) TYPE c,
    END OF SD_FINAL.
    DATA IT_STD_BSAK  LIKE TABLE OF SD_BSAK  WITH HEADER LINE.
    DATA IT_STD_BSIK  LIKE TABLE OF SD_BSIK  WITH HEADER LINE.
    DATA IT_STD_LFA1  LIKE TABLE OF IT_LFA1  WITH HEADER LINE.
    DATA IT_STD_LFC1  LIKE TABLE OF SD_LFC1  WITH HEADER LINE.
    DATA IT_STD_LFC3  LIKE TABLE OF SD_LFC3  WITH HEADER LINE.
    DATA IT_STD_FINAL  LIKE TABLE OF IT_FINAL  WITH HEADER LINE.
    DATA IT_FINAL_DISPLAY LIKE TABLE OF SD_FINAL WITH HEADER LINE.
    *SELECTION-SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK HEADER WITH FRAME TITLE TEXT-001.
    PARAMETERS:  P_BUKRS LIKE BSAK-BUKRS OBLIGATORY,
                 P_GJAHR LIKE BSAK-GJAHR OBLIGATORY.
               P_EBELN LIKE EKPO-EBELN .
    *PARAMETER: PA_RPT AS CHECKBOX DEFAULT 'X'.
    SELECT-OPTIONS: S_LIFNR FOR BSAK-LIFNR.
    SELECT-OPTIONS: S_MONAT FOR BSAK-MONAT.
    SELECTION-SCREEN END OF BLOCK HEADER.
    START-OF-SELECTION.
      SET PF-STATUS 'STATUS'.
      PERFORM DATA_RETRIVAL.
      PERFORM FIELD.
      PERFORM SORT USING IT_SORT.
      PERFORM EVENTS USING EVENTS.
    PERFORM EVENTS_1 USING EVENTS.
    PERFORM HEADER USING TOP.
      PERFORM LAYOUT.
      PERFORM DISPLAY.
      END-OF-PAGE.
    *&      Form  DATA_RETRIVAL
         text
    -->  p1        text
    <--  p2        text
    FORM DATA_RETRIVAL .
      SELECT BUKRS  LIFNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR BUZEI BUDAT BLDAT XBLNR BLART
             MONAT BSCHL ZUMSK SHKZG GSBER DMBTR WRBTR SGTXT SAKNR HKONT
        FROM BSAK INTO TABLE IT_STD_BSAK
        WHERE BUKRS = P_BUKRS
              AND GJAHR = P_GJAHR AND ZUMSK = ''
        AND LIFNR IN S_LIFNR
        AND MONAT IN S_MONAT.
      IF NOT IT_STD_BSAK[] IS INITIAL.
        SELECT BUKRS LIFNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR BUZEI BUDAT BLDAT XBLNR
               BLART MONAT BSCHL ZUMSK SHKZG GSBER DMBTR WRBTR SGTXT SAKNR HKONT ZLSCH
        FROM BSIK INTO TABLE IT_STD_BSIK FOR ALL ENTRIES IN IT_STD_BSAK
        WHERE BUKRS = IT_STD_BSAK-BUKRS AND LIFNR = IT_STD_BSAK-LIFNR AND GJAHR = IT_STD_BSAK-GJAHR AND ZUMSK = ''.
      ENDIF.
    IF NOT IT_STD_BSAK[] IS INITIAL.
        SELECT LIFNR NAME1
               FROM LFA1  INTO TABLE IT_STD_LFA1 FOR ALL ENTRIES IN IT_STD_BSAK
               WHERE LIFNR = IT_STD_BSAK-LIFNR.
      ENDIF.
    IF NOT IT_STD_BSAK[] IS INITIAL.
        SELECT LIFNR BUKRS GJAHR ERDAT USNAM UMSAV
               FROM LFC1  INTO TABLE IT_STD_LFC1 FOR ALL ENTRIES IN IT_STD_BSAK
               WHERE LIFNR = IT_STD_BSAK-LIFNR AND BUKRS = IT_STD_BSAK-BUKRS AND GJAHR = IT_STD_BSAK-GJAHR.
      ENDIF.
    IF NOT IT_STD_BSAK[] IS INITIAL.
        SELECT LIFNR BUKRS GJAHR SHBKZ SALDV SOLLL HABNL
               FROM LFC3  INTO TABLE IT_STD_LFC3 FOR ALL ENTRIES IN IT_STD_BSAK
               WHERE LIFNR = IT_STD_BSAK-LIFNR AND BUKRS = IT_STD_BSAK-BUKRS AND GJAHR = IT_STD_BSAK-GJAHR.
      ENDIF.
      LOOP AT IT_STD_BSAK.
        IT_STD_FINAL-BUKRS = IT_STD_BSAK-BUKRS.
        IT_STD_FINAL-LIFNR = IT_STD_BSAK-LIFNR.
        IT_STD_FINAL-UMSKS = IT_STD_BSAK-UMSKS.
        IT_STD_FINAL-UMSKZ = IT_STD_BSAK-UMSKZ.
        IT_STD_FINAL-AUGDT = IT_STD_BSAK-AUGDT.
        IT_STD_FINAL-AUGBL = IT_STD_BSAK-AUGBL.
        IT_STD_FINAL-ZUONR = IT_STD_BSAK-ZUONR.
        IT_STD_FINAL-GJAHR = IT_STD_BSAK-GJAHR.
        IT_STD_FINAL-BELNR = IT_STD_BSAK-BELNR.
        IT_STD_FINAL-BUZEI = IT_STD_BSAK-BUZEI.
        IT_STD_FINAL-BUDAT = IT_STD_BSAK-BUDAT.
        IT_STD_FINAL-BLDAT = IT_STD_BSAK-BLDAT.
        IT_STD_FINAL-XBLNR = IT_STD_BSAK-XBLNR.
        IT_STD_FINAL-BLART = IT_STD_BSAK-BLART.
        IT_STD_FINAL-MONAT = IT_STD_BSAK-MONAT.
        IT_STD_FINAL-BSCHL = IT_STD_BSAK-BSCHL.
        IT_STD_FINAL-ZUMSK = IT_STD_BSAK-ZUMSK.
        IT_STD_FINAL-SHKZG = IT_STD_BSAK-SHKZG.
        IT_STD_FINAL-GSBER = IT_STD_BSAK-GSBER.
        IT_STD_FINAL-DMBTR = IT_STD_BSAK-DMBTR.
        IT_STD_FINAL-WRBTR = IT_STD_BSAK-WRBTR.
        IT_STD_FINAL-SGTXT = IT_STD_BSAK-SGTXT.
        IT_STD_FINAL-SAKNR = IT_STD_BSAK-SAKNR.
        IT_STD_FINAL-HKONT = IT_STD_BSAK-HKONT.
    READ TABLE IT_STD_LFA1 WITH KEY LIFNR = IT_STD_FINAL-LIFNR.
      IF SY-SUBRC = 0.
        IT_STD_FINAL-NAME1 = IT_STD_LFA1-NAME1.
      ENDIF.
    READ TABLE IT_STD_LFC1 WITH KEY  LIFNR = IT_STD_FINAL-LIFNR
                                     BUKRS = IT_STD_FINAL-BUKRS
                                     GJAHR = IT_STD_FINAL-GJAHR.
        IF SY-SUBRC = 0.
          IT_STD_FINAL-ERDAT = IT_STD_LFC1-ERDAT.
          IT_STD_FINAL-USNAM = IT_STD_LFC1-USNAM.
          IT_STD_FINAL-UMSAV = IT_STD_LFC1-UMSAV.
        ENDIF.
    *READ TABLE IT_STD_LFC3 WITH KEY LIFNR = IT_STD_FINAL-LIFNR
                                   BUKRS = IT_STD_FINAL-BUKRS
                                   GJAHR = IT_STD_FINAL-GJAHR.
       IF SY-SUBRC = 0.
         IT_STD_FINAL-SHBKZ = IT_STD_LFC3-SHBKZ.
         IT_STD_FINAL-SALDV = IT_STD_LFC3-SALDV.
         IT_STD_FINAL-SOLLL = IT_STD_LFC3-SOLLL.
         IT_STD_FINAL-HABNL = IT_STD_LFC3-HABNL.
       ENDIF.
        APPEND IT_STD_FINAL.
        CLEAR IT_STD_FINAL.
      ENDLOOP.
    LOOP AT IT_STD_BSIK.
    IF SY-SUBRC = 0.
        IT_STD_FINAL-BUKRS = IT_STD_BSIK-BUKRS.
        IT_STD_FINAL-LIFNR = IT_STD_BSIK-LIFNR.
        IT_STD_FINAL-UMSKS = IT_STD_BSIK-UMSKS.
        IT_STD_FINAL-UMSKZ = IT_STD_BSIK-UMSKZ.
        IT_STD_FINAL-AUGDT = IT_STD_BSIK-AUGDT.
        IT_STD_FINAL-AUGBL = IT_STD_BSIK-AUGBL.
        IT_STD_FINAL-ZUONR = IT_STD_BSIK-ZUONR.
        IT_STD_FINAL-GJAHR = IT_STD_BSIK-GJAHR.
        IT_STD_FINAL-BELNR = IT_STD_BSIK-BELNR.
        IT_STD_FINAL-BUZEI = IT_STD_BSIK-BUZEI.
        IT_STD_FINAL-BUDAT = IT_STD_BSIK-BUDAT.
        IT_STD_FINAL-BLDAT = IT_STD_BSIK-BLDAT.
        IT_STD_FINAL-XBLNR = IT_STD_BSIK-XBLNR.
        IT_STD_FINAL-BLART = IT_STD_BSIK-BLART.
        IT_STD_FINAL-MONAT = IT_STD_BSIK-MONAT.
        IT_STD_FINAL-BSCHL = IT_STD_BSIK-BSCHL.
        IT_STD_FINAL-ZUMSK = IT_STD_BSIK-ZUMSK.
        IT_STD_FINAL-SHKZG = IT_STD_BSIK-SHKZG.
        IT_STD_FINAL-GSBER = IT_STD_BSIK-GSBER.
        IT_STD_FINAL-DMBTR = IT_STD_BSIK-DMBTR.
        IT_STD_FINAL-WRBTR = IT_STD_BSIK-WRBTR.
        IT_STD_FINAL-SGTXT = IT_STD_BSIK-SGTXT.
        IT_STD_FINAL-SAKNR = IT_STD_BSIK-SAKNR.
        IT_STD_FINAL-HKONT = IT_STD_BSIK-HKONT.
        IT_STD_FINAL-ZLSCH = IT_STD_BSIK-ZLSCH.
        ENDIF.
        APPEND IT_STD_FINAL.
        CLEAR IT_STD_FINAL.
      ENDLOOP.
    LOOP AT IT_STD_LFC3.
       IF SY-SUBRC = 0.
         IT_STD_FINAL-SHBKZ = IT_STD_LFC3-SHBKZ.
         IT_STD_FINAL-SALDV = IT_STD_LFC3-SALDV.
         IT_STD_FINAL-SOLLL = IT_STD_LFC3-SOLLL.
         IT_STD_FINAL-HABNL = IT_STD_LFC3-HABNL.
       ENDIF.
       APPEND IT_STD_FINAL.
       CLEAR IT_STD_FINAL.
    ENDLOOP.
    LOOP AT IT_STD_FINAL.
        IF IT_STD_FINAL-SHKZG = 'S'.
            IT_STD_FINAL-DMBTR_S  = IT_STD_FINAL-DMBTR.
        ELSE.
        IF IT_STD_FINAL-SHKZG = 'H'.
          IT_STD_FINAL-DMBTR_H  = IT_STD_FINAL-DMBTR.
          ENDIF.
        ENDIF.
        IT_STD_FINAL-DMBTR = ''.
        MODIFY IT_STD_FINAL INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S DMBTR.
    "VAR.
        CLEAR IT_STD_FINAL.
      ENDLOOP.
      LOOP AT IT_STD_LFC3.
    *AT NEW LIFNR.
        IF SY-SUBRC = 0.
          IT_STD_FINAL-LIFNR = IT_STD_LFC3-LIFNR.
          IT_STD_FINAL-BUKRS = IT_STD_LFC3-BUKRS.
          IT_STD_FINAL-GJAHR = IT_STD_LFC3-GJAHR.
          IT_STD_FINAL-SHBKZ = IT_STD_LFC3-SHBKZ.
          IT_STD_FINAL-UMSAV = IT_STD_LFC3-SALDV.
          IT_STD_FINAL-DMBTR_S = IT_STD_LFC3-SOLLL.
          IT_STD_FINAL-DMBTR_H = IT_STD_LFC3-HABNL.
        ENDIF.
    *ENDAT.
        APPEND IT_STD_FINAL.
        CLEAR IT_STD_FINAL.
    ENDLOOP.
    LOOP AT IT_STD_FINAL.
         IT_STD_FINAL-DS  = IT_STD_FINAL-DMBTR_S.
         IT_STD_FINAL-DH  = IT_STD_FINAL-DMBTR_H.
         IT_STD_FINAL-SUB = ( IT_STD_FINAL-DS ) - ( IT_STD_FINAL-DH ).
         IT_STD_FINAL-ADD =  ( IT_STD_FINAL-UMSAV ) + ( IT_STD_FINAL-SUB ).
    MODIFY IT_STD_FINAL.
    ENDLOOP.
    ENDFORM.                    " DATA_RETRIVAL
    *&      Form  FIELD
         text
    -->  p1        text
    <--  p2        text
    form FIELD .
      LCAT-FIELDNAME = 'LIFNR'.
      LCAT-TABNAME = 'IT_STD_FINAL'.
      LCAT-SELTEXT_L = 'Vendor No'.
    *LCAT-REF_TABNAME = 'EKKO'.
      LCAT-JUST = 'M'.
      APPEND LCAT TO FIELDCAT.
      CLEAR LCAT.
      LCAT-FIELDNAME = 'NAME1'.
      LCAT-TABNAME = 'IT_STD_FINAL'.
      LCAT-SELTEXT_L = 'Vendor Name'.
    *LCAT-REF_TABNAME = 'EKKO'.
      LCAT-JUST = 'M'.
      APPEND LCAT TO FIELDCAT.
      CLEAR LCAT.
      LCAT-FIELDNAME = 'GJAHR'.                "MATERIAL GROUP
      LCAT-TABNAME = 'IT_STD_FINAL'.
      LCAT-SELTEXT_L = 'Fiscal Year'.
    *LCAT-REF_TABNAME = 'LFA1'.
      LCAT-JUST = 'M'.
      APPEND LCAT TO FIELDCAT.
      CLEAR LCAT.
      LCAT-FIELDNAME = 'GSBER'.                "MATERIAL GROUP
      LCAT-TABNAME = 'IT_STD_FINAL'.
      LCAT-SELTEXT_L = 'BussArea'.
    *LCAT-REF_TABNAME = 'LFA1'.
      LCAT-JUST = 'M'.
      APPEND LCAT TO FIELDCAT.
      CLEAR LCAT.
      LCAT-FIELDNAME = 'SHBKZ'.
      LCAT-TABNAME = 'IT_STD_FINAL'.
      LCAT-SELTEXT_L = 'S G/L'.
      LCAT-REF_TABNAME = 'LFC3'.
      LCAT-JUST = 'M'.
      APPEND LCAT TO FIELDCAT.
      CLEAR LCAT.
      LCAT-FIELDNAME = 'UMSAV'.
      LCAT-TABNAME = 'IT_STD_FINAL'.
      LCAT-SELTEXT_L = 'Bal Carry Forward'.
    *LCAT-REF_TABNAME = 'EKKO'.
      LCAT-JUST = 'M'.
      APPEND LCAT TO FIELDCAT.
      CLEAR LCAT.
      LCAT-FIELDNAME = 'DMBTR_S'.
      LCAT-TABNAME = 'IT_STD_FINAL'.
      LCAT-SELTEXT_L = 'Debit Balanace'.
    *LCAT-REF_TABNAME = 'EKKO'.
      LCAT-JUST = 'M'.
      APPEND LCAT TO FIELDCAT.
      CLEAR LCAT.
      LCAT-FIELDNAME = 'DMBTR_H'.
      LCAT-TABNAME = 'IT_STD_FINAL'.
      LCAT-SELTEXT_L = 'Credit Balance'.
    *LCAT-REF_TABNAME = 'EKKO'.
      LCAT-JUST = 'M'.
      APPEND LCAT TO FIELDCAT.
      CLEAR LCAT.
      LCAT-FIELDNAME = 'ADD'.
      LCAT-TABNAME = 'IT_STD_FINAL'.
      LCAT-SELTEXT_L = 'Accumulated Balance'.
    *LCAT-REF_TABNAME = 'EKKO'.
      LCAT-JUST = 'M'.
      APPEND LCAT TO FIELDCAT.
      CLEAR LCAT.
    LOOP AT FIELDCAT INTO LCAT WHERE FIELDNAME = 'DMBTR_S'.
    LCAT-DO_SUM = 'X'.
    MODIFY FIELDCAT FROM LCAT." TRANSPORTING DO_SUM.
    ENDLOOP.
    LOOP AT FIELDCAT INTO LCAT WHERE FIELDNAME = 'DMBTR_H'.
    LCAT-DO_SUM = 'X'.
    MODIFY FIELDCAT FROM LCAT." TRANSPORTING DO_SUM.
    ENDLOOP.
    LOOP AT FIELDCAT INTO LCAT WHERE FIELDNAME = 'ADD'.
    LCAT-DO_SUM = 'X'.
    MODIFY FIELDCAT FROM LCAT." TRANSPORTING DO_SUM.
    ENDLOOP.
    endform.                    " FIELD
    *&      Form  DISPLAY
         text
    -->  p1        text
    <--  p2        text
    form DISPLAY .
      CLEAR: IT_STD_BSAK,IT_STD_BSIK, IT_STD_LFA1 , IT_STD_LFC1, IT_STD_LFC3.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
    I_INTERFACE_CHECK                = ' '
    I_BYPASSING_BUFFER                = ' '
    I_BUFFER_ACTIVE                  = ' '
        I_CALLBACK_PROGRAM                = SY-REPID
    I_CALLBACK_PF_STATUS_SET          = 'STATUS '
    I_CALLBACK_USER_COMMAND          = ' '
    I_CALLBACK_TOP_OF_PAGE            = ' '
    I_CALLBACK_HTML_TOP_OF_PAGE      = ' '
    I_CALLBACK_HTML_END_OF_LIST      = ' '
    I_STRUCTURE_NAME                  =
    I_BACKGROUND_ID                  = ' '
    I_GRID_TITLE                      =
    I_GRID_SETTINGS                  =
        IS_LAYOUT                        = LAYOUT
        IT_FIELDCAT                      = FIELDCAT[]
    IT_EXCLUDING                      =
    IT_SPECIAL_GROUPS                =
          IT_SORT                          = IT_SORT
    IT_FILTER                        =
    IS_SEL_HIDE                      =
    I_DEFAULT                        = 'X'
    I_SAVE                            = ' '
    IS_VARIANT                        =
        IT_EVENTS                        = EVENTS
    IT_EVENT_EXIT                    =
    IS_PRINT                          =
    IS_REPREP_ID                      =
    I_SCREEN_START_COLUMN            = 0
    I_SCREEN_START_LINE              = 0
    I_SCREEN_END_COLUMN              = 0
    I_SCREEN_END_LINE                = 0
    I_HTML_HEIGHT_TOP                = 0
    I_HTML_HEIGHT_END                = 0
    IT_ALV_GRAPHICS                  =
    IT_HYPERLINK                      =
    IT_ADD_FIELDCAT                  =
    IT_EXCEPT_QINFO                  =
    IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER          =
    ES_EXIT_CAUSED_BY_USER            =
        TABLES
       t_outtab                          = IT_CHARG
          t_outtab                          = IT_STD_FINAL
    EXCEPTIONS
    PROGRAM_ERROR                    = 1
    OTHERS                            = 2
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    "DISPLAY
    *&      Form  EVENTS
         text
    -->  p1        text
    <--  p2        text
    form EVENTS USING P_EVENTS TYPE slis_t_event.
      DATA: ls_event TYPE slis_alv_event.
      ls_event-name = 'TOP_OF_PAGE'.
      ls_event-form = 'TOP_OF_PAGE'.
      APPEND ls_event TO P_EVENTS.
    endform.                    " EVENTS
    *&      Form  TOP_OF_PAGE
         text
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = TOP.
    ENDFORM.                    "TOP_OF_PAGE
    **&      Form  SORT
         text
         -->P_IT_SORT  text
    form SORT  using    p_sort TYPE SLIS_T_SORTINFO_ALV.
      DATA : LT_SORT TYPE slis_sortinfo_alv.
      LT_SORT-fieldname = 'LIFNR'.
      LT_SORT-tabname = 'IT_STD_FINAL'.
      LT_SORT-up = 'X'.
    LT_SORT-SUBTOT      = 'X'.
      APPEND LT_SORT TO P_SORT.
      CLEAR LT_SORT.
      LT_SORT-fieldname = 'GSBER'.
      LT_SORT-tabname = 'IT_STD_FINAL'.
      LT_SORT-up = 'X'.
      LT_SORT-SUBTOT      = 'X'.
      APPEND LT_SORT TO P_SORT.
      CLEAR LT_SORT.
      LT_SORT-fieldname = 'UMSAV'.
      LT_SORT-tabname = 'IT_LFC3'.
      LT_SORT-up = 'X'.
    LT_SORT-SUBTOT      = 'X'.
      APPEND LT_SORT TO P_SORT.
      CLEAR LT_SORT.
    endform.                    " SORT
    *&      Form  LAYOUT
         text
    -->  p1        text
    <--  p2        text
    form LAYOUT .
    LAYOUT-ZEBRA = 'X'.
      LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
      LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
      APPEND LAYOUT." TO LAYOUT.
    endform.                    " LAYOUT
    *&      Form  EVENTS_1
         text
         -->P_EVENTS  text
    FORM EVENTS_1  USING    P_EVENTS TYPE slis_t_event.
      DATA: ls_event TYPE slis_alv_event.
      WRITE: SY-UNAME.
      ls_event-name = 'END_OF_PAGE'.
      ls_event-form = 'END_OF_PAGE'.
      APPEND ls_event TO P_EVENTS.
    ENDFORM.                    " EVENTS_1
    waiting for ur reply...

  • U0095     Vendor performance report this report gives performance of supplier to se

    Vendor performance report this report gives performance of supplier to send an order to customer

    Kiran,
    The functionality you are asking sounds like standard functionality. Doesn't make sense to custom develop the same.
    Make sure you search and confirm that standard reports are NOT available for the same.
    Regards,
    Ravi
    Note : please mark the helpful answers

  • Spec for this report not able to get values in the output

    okSection 1: Document information
    Title     PP – Total Component Requirement by Sales Forecast Report     Create Date     5/2/2006
    Author     Ivie Ng     Revision     1.0     Last changed on     
    Program type     ( X ) Report    (   ) Form        (   ) Batch input    (   ) Dialog program
    Priority     (   ) High       ( X ) Medium    (   ) Low
    Frequency      (   ) As require     (X ) Daily     (  ) Weekly       (  ) Monthly         (  ) Yearly
    (   ) Conversion
    Doc-Ref.     
    Section 2: Contact Person
    Task/Responsibility     Name     Signature     Date
    JM Project Manager     Sean Gilgunn          
    ISS Project Manager     YB Cisse          
    JM-Business Team Lead     Sathe          
    Functional Consultant      Ivie          
    ABAP Consultant     Soh          
    User Acceptance Test / Approved by                
    Transport               
    Section 3: Functional Description
    Background (whatever; Ex.Why does this program have to develop?)
    This is to allow materials dept to view and analyze total component requirement base on sales forecast ie. budget forecast, inactive version within specific planning horizon.
    Requirements
    In SOP, material dept will maintain planning data (sales & production plan) in various version.
    1. Active version: A00
    This version is transferred to demand mgmt as active version. MRP will use this planning data to create order proposals (planned orders, purchase requisitions).
    2. Inactive version: 001 – 999
    There are 3 types of inactive version in SOP:
    a) Sales forecast – 000 – 799
    b) Budge forecast – 800 – 820
    c) Forecast report – 821 – 999
    This report should allow to read any version of the sales forecast and return the total component requirements in the planning horizon that specify.
    Section 3.1: Selection screen
    Field name     Technical name     Type of selection field
         (*Please specify Transparent Table and field name)     (X) Single value             (  ) Range             ( ) Required field
              (  ) Single value             (X) Range             (  ) Required field
              (X) Single value             (  ) Range             (  ) Required field
    Section 3.2: Program Logic
    Business Requirement
    This report will allow option to choose to read the source from SOP or COPA.
    Input Selection
    Main Menu:
    o     Total Component Requirement from SOP forecast
    o     Total Component Requirement from COPA forecast
    If SOP is selected, Source = SOP
    If COPA is selected, Source = COPA
    Option 1: SOP
    1.     Input Layout
    Material: _____________    (note: allow multiple materials entry, no entry indicate all materials)
    RM Material Group: __________     (note: allow multiple entry, no entry indicate all Mat Grp)
    Plant:  MY11  (note: default value)
    Standard Price as of : _____________  (YYYYMM)
    Version: ________    (note: allow F4 option with Version and Description)
    Output Type: ____  (Month/Year)
    (If the output type chosen is Month, the below is display)
    Period From:  _________  (YYYYMM)
    Period To:      _________  (YYYYMM)
    (If the output type chosen is Year, the below is display)
    Period From:  __________ (YYYY)
    Period To:      __________ (YYYY)
    2.     Output Layout
    Plant: MY11
    Source:
    Version:
    System Date/Time:
    Output Layout in Month:
    Material     Desc     Component     Desc     UOM     M04.2006     M05.2006     M06.2006     M07.2006     M08.2006     M09.2006     BOM
    TO2368          NGK0003          PC                                   TO2368
              SIN96-015          MG                                   TO2368
              SIN96-066F          MG                                   TO2368
              SIN96-066N          MG                                   TO2368
              SIN96-127          GCL                                   WCS2004
              SIN96-055          G                                   WCS2004
              SIN96-110          G                                   WCS2004
              SIN96-007          G                                   WCS2004
              SIN96-002          GCL                                   WCS1003
              SIN96-001          GCL                                   WCS1003
              SIN96-006          GCL                                   WCS1003
              TO2358/511          PC                                   TO2368
              TO2358/512          PC                                   TO2368
              WCS2004          GCL                                   TO2368
              WCS1003          GCL                                   WCS2004
    Output Layout in Year:
    Material     Desc     Component     Desc     UOM     2006     2007     2008     BOM
    TO2368          NGK0003          PC                    TO2368
              SIN96-015          MG                    TO2368
              SIN96-066F          MG                    TO2368
              SIN96-066N          MG                    TO2368
              SIN96-127          GCL                    WCS2004
              SIN96-055          G                    WCS2004
              SIN96-110          G                    WCS2004
              SIN96-007          G                    WCS2004
              SIN96-002          GCL                    WCS1003
              SIN96-001          GCL                    WCS1003
              SIN96-006          GCL                    WCS1003
              TO2358/511          PC                    TO2368
              TO2358/512          PC                    TO2368
              WCS2004          GCL                    TO2368
              WCS1003          GCL                    WCS2004
    3.     Header Section:
    Header Field: Plant
    Print input field Plant.
    Header Field: Source
    If SOP is selected, Source = SOP
    If COPA is selected, Source = COPA
    Print Source.
    Header Field: Version
    Print input field Version, Print RMCP2-VETXT (version description).
    Header Field: System Date/Time
    Print current system date and time.
    4.     Table: S076 (SOP - Sales & Operations Planning)
    Read S076 rows with input selection of Material, Plant, Year, Month, Version sorted by Material.
          This table provides sales forecast figure.
    Table: MAKT – Material Decription
    Table: MARA - General Material Data
    Table: CDHDR - Change document header
    Table: CDPOS - Change document items
    5.     Details Section: -
    Read S076.PMNUX(Material).                    Note: There will be multiple rows in S076.PMNUX (Material)
    Field: Material
    Print S076.PMNUX(Material).
    Field: Description
    Read MAKT.MATNR(Material), Print MAKT.MAKTX.
    6.     Read L1 (Level 1) BOM Transaction: CS03
                   Where Material = S076.PMNUX (Material), Plant = MY11 (input field), BOM Usage = ’1’, Status = ‘01’
    7.     This is to print BOM component.
    If Input Material Group = ‘ ’
    Read Component (Material), Component Qty from BOM sorted by MARA.MTART (material type) = ‘ZROH’, ‘ZHLB’ , ‘ZRUH’
    If Input Material Group <> ‘ ’
    Read Component (Material), Component Qty from BOM sorted by MARA.MTART (material type) = ‘ZROH’, ‘ZHLB’ , ‘ZRUH’
          Where MARA-MATKL (Material Group) = Input Material Group.
    If MARA.MTART (material type) = ‘ZRUH’,
          Read L1 (Level 1) BOM Transaction: CS03
                  Where Material = S076.PMNUX, Plant = MY11 (input field), BOM Usage = ’1’, Status = ‘02’.
    GET RC29K-BMENG (Base Qty)  ***
    Field: Material Group
    Print MARA-MATKL
    Field: Component
    Print BOM Component.
    Field: Description
    Print MAKT.MAKTX.
    Field: UOM
    Print MARA.MEINS.
    Field: Currency
    Field: Standard Price
    If Input Standard Price Date = ‘’
       Print Currency = ‘ ‘
       Print Standard Price = 0
    Else
    Read CDHDR-OBJECTID (Material), CDHDR-CHANGENR (ChgNo)
    Where CDHDR-OBJECTID (Material) = BOM Component
    And CDHDR-TCODE (Transaction) = ‘MR21’
    And YYYYMM[CDHDR-UDATE (Date)] = Input Standard Price Date
    If NOT Found, look up YYYYMM[CDHDR-UDATE (Date)] – 1  
    I.e.    Input Standard Price Date is 200702, If CDHDR-UDATE (Date) Not Found, look up 200701.
    If Not Found, look up 200612 until the record is found    **
    If row return > 1, select the latest CDHDR-UDATE (Date)
    i.e. If rows return 20070201 and 20070215, Select 20070215    **
    Read CDPOS-CUKY_NEW (Currency), CDPOS-VALUE_NEW (New Value)
    Where CDPOS-OBJECTID (Material) = CDHDR-OBJECTID (Material)
    And CDPOS-CHANGENR (ChgNo) = CDHDR-CHANGENR (ChgNo)
    Print CDPOS-CUKY_NEW (Currency)
    Print CDPOS-VALUE_NEW (New Value)
    8.     If the output type is Year, print Requirement Qty in Yearly bucket.
    Requirement Qty = sum[S076-ABSAT (Sales) for current Year] ie 2006
    Requirement Qty = sum[S076-ABSAT (Sales) for current Year + 1] ie 2007
    Requirement Qty = sum[S076-ABSAT (Sales) for current Year + 2] ie 2008
         If the output type is Month, print Requirement Qty in Monthly bucket.
    Field: Month (ie. M04.2006)
    Requirement Qty = S076-ABSAT (Sales) * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M04.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M05.2006)
    Requirement Qty = S076-ABSAT (Sales) * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M05.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M06.2006)
    Requirement Qty = S076-ABSAT (Sales) * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M06.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M07.2006)
    Requirement Qty = S076-ABSAT (Sales) * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M07.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M08.2006)
    Requirement Qty = S076-ABSAT (Sales) * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M08.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Note: Repeat the requirement qty display in Monthly bucket base on period specified.
    Field: BOM
    Print L1 BOM which is S076.PMNUX (Material)  from Step 6.
    If Is end of component,
          Repeat Step 5 for next Material in SOP (S076.PMNUX).
    If MARA.MTART (material type) = ‘ZROH’,
    Perform Step 7 to read next L1 BOM Component.
    Perform Step 8 to print Requirement Qty.
    If [MARA.MTART (material type) = ‘ZHLB’] and [MARA.MATKL(material group) = ‘WP0100’, ‘WP0110’, or ‘WP0120’],
          Go Step 9 to read L2 BOM.
    If [MARA.MTART (material type) = ‘ZHLB’] and [MARA.MATKL (material group) <> ‘WP0100’, ‘WP0110’, ‘WP0120’],
          Perform Step 7 to read next BOM Component.
          Perform Step 8 to print Requirement Qty.
    9.     Read L2 (level 2) BOM for the ZHLB at Transaction: CS03
                Where Plant = MY11(input field), BOM Usage= ’1’, Status = ‘01’.
    GET RC29K-BMENG (Base Qty)  ***
    10.     Read Component (Material), Component Qty from BOM sorted by MARA.MTART (material type) = ‘ZROH’, ‘ZHLB’.
    Field: Material Group
    Print MARA-MATKL
    Field: Component
    Print BOM Component.
    Field: Description
    Print MAKT.MAKTX.
    Field: UOM
    Print MARA.MEINS.
    Field: Month (ie. M04.2006)
    Requirement Qty = Requirement Qty from L1 BOM  * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M04.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M05.2006)
    Requirement Qty = Requirement Qty from L1 BOM * Component Qty / / RC29K-BMENG (Base Q)
          Print Requirement Qty.
    Field: Total Price (ie. M05.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
          Note: Repeat until end of Period.
    Field: BOM
    Print L2 BOM from Step 9.
    If is end of component, perform Step 7 to read next L1 BOM component, and Step 8 to print Requirement Qty.
    If MARA.MTART (material type) = ‘ZROH’,
    Perform Step 10 to read next L2 BOM Component.
    If MARA.MTART (material type) = ‘ZHLB’ and MARA.MATKL(material group) = ‘WP0100’, ‘WP0110’, or ‘WP0120’,
          Go Step 11 to read L3 BOM.
    If [MARA.MTART (material type) = ‘ZHLB’] and [MARA.MATKL (material group) <> ‘WP0100’, ‘WP0110’, ‘WP0120’],
          Perform Step 10 to read next L2 BOM Component.
    11.     Read L3 (level 3) BOM for the ZHLB at Transaction: CS03 where Plant=MY11(input field), BOM Usage=’1’, Status =‘01’.
    12.     Read Component (Material), Component Qty from BOM sorted by MARA.MTART (material type) = ‘ZROH’, ‘ZHLB’.
    Field: Material Group
    Print MARA-MATKL
    Field: Component
    Print BOM Component.
    Field: Description
    Print MAKT.MAKTX.
    Field: UOM
    Print MARA.MEINS.
    Field: Currency
    Field: Standard Price
    Read CDHDR-OBJECTID (Material), CDHDR-CHANGENR (ChgNo)
    Where CDHDR-OBJECTID (Material) = BOM Component
    And CDHDR-TCODE (Transaction) = ‘MR21’
    And YYYYMM[CDHDR-UDATE (Date)] = Input Standard Price Date
    If NOT Found, look up YYYYMM[CDHDR-UDATE (Date)] – 1  
    I.e.    Input Standard Price Date is 200702, If CDHDR-UDATE (Date) Not Found, look up 200701.
    If Not Found, look up 200612 until the record is found    **
    If row return > 1, select the latest CDHDR-UDATE (Date)
    i.e. If rows return 20070201 and 20070215, Select 20070215    **
    Read CDPOS-CUKY_NEW (Currency), CDPOS-VALUE_NEW (New Value)
    Where CDPOS-OBJECTID (Material) = CDHDR-OBJECTID (Material)
    And CDPOS-CHANGENR (ChgNo) = CDHDR-CHANGENR (ChgNo)
    Print CDPOS-CUKY_NEW (Currency)
    Print CDPOS-VALUE_NEW (New Value)
    Field: Month (ie. M04.2006)
    Requirement Qty = Requirement Qty from L2 BOM  * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M04.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M05.2006)
    Requirement Qty = Requirement Qty from L2 BOM * Component Qty / RC29K-BMENG (Base Q)
          Print Requirement Qty.
    Field: Total Price (ie. M05.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
          Note: Repeat until end of Period.
    Field: BOM
    Print L3 BOM from Step 11.
    If is end of component,
          Perform Step 10 to read next L2 BOM Component.
    If MARA.MTART (material type) = ‘ZROH’,
    Perform Step 12 to read next L3 BOM Component.
    If MARA.MTART (material type) = ‘ZHLB’ and MARA.MATKL(material group) = ‘WP0100’, ‘WP0110’, or ‘WP0120’,
          Repeat for next level of BOM reading.      ** for future BOM expansion **
    If [MARA.MTART (material type) = ‘ZHLB’] and [MARA.MATKL (material group) <> ‘WP0100’, ‘WP0110’, ‘WP0120’],
          Perform Step 12 to read next L3 BOM Component.
    13.     The report is ALV format and should allow to export to Excel. See example below:
    Option 2: COPA
    1.     Input Layout
    Company Code:  ________ 
    Plant:  MY11   
    Material: _____________    (note: allow multiple materials entry, no entry indicate all materials)
    Material Group: __________     (note: allow multiple materials entry, no entry indicate all materials)
    Standard Price as of : _____________  (YYYYMM)
    Version: ________    (note: allow F4 option with Version and Description)
    Read  V_TKEVS_CL-VERSI (Version),  V_TKEVS_CL-VTEXT (Version Description)
    Output Type: ____  (Month/Year)
    (If the output type chosen is Month, the below is display)
    Period From:  _________  (YYYYMM)
    Period To:      _________  (YYYYMM)
    (If the output type chosen is Year, the below is display)
    Period From:  __________ (YYYY)
    Period To:      __________ (YYYY)
    2.     Header Section:
    Header Field: Plant
    Print input field Plant.
    Header Field: Source
    If SOP is selected, Source = SOP
    If COPA is selected, Source = COPA
    Print Source.
    Header Field: Version
    Print V_TKEVS_CL-VERSI (Version),  V_TKEVS_CL-VTEXT (Version Description)
    Header Field: System Date/Time
    Print current system date and time.
    3.     Report details: -
    Table: CE2ASIA - JM Operating Concern
    If input selection is Monthly Report:-
    Read CE2ASIA-ARTNR (Product No), Sum[CE2ASIA-ABSMG001 (Sales Qty)]
    Where CE2ASIA-BUKRS (Company Code) = Input Company Code
    And CE2ASIA-WERKS (Plant) = Input Plant
    And CE2ASIA-PALEDGER (Currency Type) = ‘10’
    And [CE2ASIA-PERBL (FI Period) > = Input Period From And CE2ASIA-PERBL (FI Period) < = Input Period To]
    Group by CE2ASIA-ARTNR (Product No)
    If input selection is Yearly Report:-
    Read CE2ASIA-ARTNR (Product No), CE2ASIA-ABSMG001 (Sales Qty)
    Where CE2ASIA-BUKRS (Company Code) = Input Company Code
    And CE2ASIA-WERKS (Plant) = Input Plant
    And CE2ASIA-PALEDGER (Currency Type) = ‘10’
    And [YYYY[CE2ASIA-PERBL (FI Period)] > = Input Period From And CE2ASIA-PERBL (FI Period) < = Input Period To]
    Note: The details similar to Option 1: SOP, refer section (5)  to (13)
    Section 3.3: Report Layout
    Field name     Technical name     Comment
         (Please specify Transparent Table and field name)     (Ex. In case field does not read directly from transparent table but derive from formular or sum or else. Please show the detail how to do that.)
    Section 3.3: Unit Test Criteria
    Section 4: Technical Description
    Section 4.1: Object information
    Development class     
    Transport number     
    Section 4.2: Input/output file layout (In case upload/download file)
    *Please determine structure of  file like as below:
    No.     Field description     Type (Char,Numeric,…)     Length     Note
    Section 4.3: Report/Form information
    Paper size     Inch 11 8” X 11”     Type of printer     ( ) Laser printer     (X) Dot matrix
    Output report / Pre-printed Attach
    Technical Issue

    Hi gurus,actually this program selecion screen is linked to ..as
    First screen is .Sop
                          .copa
    Again for sop is having a selection screen and in this it is divide based on month and year seperately in two more screens.
    same for copa also....
    so pls tell me a correct solution where to correct and get values.
    Priority is very highhhhhhhhhhhhhh,so pls help me in sorting out this.

  • How to add the dril down functionality in alv report.

    Hi All,
    I have a ALV report and now i want to add drill down functionality in this ALV report.
    See my code below:
    FORM f0002_build_field_catalog.
    Build the field catalog
    CLEAR ws_layout.
    ws_layout-colwidth_optimize = 'X'.
    ws_layout-edit = ' '.
      ws_field_catalog-col_pos = '1'.
      ws_field_catalog-fieldname = 'BUKRS'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l = 'Company Code'.
      ws_field_catalog-seltext_m = 'CCode'.
      ws_field_catalog-seltext_s = 'CCode'.
    ws_field_catalog-fix_column = 'X'.
    ws_field_catalog = 'X'.
    ws_fieldcat-ref_tabname  = 'VBKPF'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '2'.
      ws_field_catalog-fieldname = 'BELNR'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Document no.'.
      ws_field_catalog-hotspot = 'V'.
      ws_field_catalog-seltext_m    = 'Doc.no.'.
      ws_field_catalog-seltext_s    = 'Doc.no.'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '3'.
      ws_field_catalog-fieldname = 'GJAHR'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Year'.
      ws_field_catalog-seltext_m    = 'Year'.
      ws_field_catalog-seltext_s    = 'Year'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '4'.
      ws_field_catalog-fieldname = 'BSTAT'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Status'.
      ws_field_catalog-seltext_m    = 'Status'.
      ws_field_catalog-seltext_s    = 'Status'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '5'.
      ws_field_catalog-fieldname = 'FLAG'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Open/Cleared'.
      ws_field_catalog-seltext_m    = 'Open/Cleared'.
      ws_field_catalog-seltext_s    = 'Open/Cleared'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '6'.
      ws_field_catalog-fieldname = 'BLART'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Doc.Type.'.
      ws_field_catalog-seltext_m    = 'Doc.Type'.
      ws_field_catalog-seltext_s    = 'Doc.Type'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '7'.
      ws_field_catalog-fieldname = 'WRBTR'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Total Amount'.
      ws_field_catalog-seltext_m    = 'Total Amount'.
      ws_field_catalog-seltext_s    = 'Total Amount'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '8'.
      ws_field_catalog-fieldname = 'WAERS'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Currency.'.
      ws_field_catalog-seltext_m    = 'Currency'.
      ws_field_catalog-seltext_s    = 'Currency'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '9'.
      ws_field_catalog-fieldname = 'LIFNR'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Vendor'.
      ws_field_catalog-seltext_m    = 'Vendor'.
      ws_field_catalog-seltext_s    = 'Vendor'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '10'.
      ws_field_catalog-fieldname = 'NAME1'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Vendor Name'.
      ws_field_catalog-seltext_m    = 'Name 1'.
      ws_field_catalog-seltext_s    = 'Name 1'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '11'.
      ws_field_catalog-fieldname = 'UZAWE'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Payment Method Supplement'.
      ws_field_catalog-seltext_m    = 'PmtMthSuppl'.
      ws_field_catalog-seltext_s    = 'PmtMthSuppl'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
      ws_field_catalog-col_pos = '12'.
      ws_field_catalog-fieldname = 'XBLNR'.
      ws_field_catalog-tabname = 'I_OUTPUT'.
      ws_field_catalog-seltext_l    = 'Reference'.
      ws_field_catalog-seltext_m    = 'Ref. No.'.
      ws_field_catalog-seltext_s    = 'Ref. No.'.
      APPEND ws_field_catalog TO lt_fieldcat.
      CLEAR: ws_field_catalog.
    g_variant-report  = sy-repid.
       CLEAR struct_extab.
      MOVE '&XPA' TO struct_extab-fcode.
      APPEND struct_extab TO i_extab.
      MOVE '&OMP' TO struct_extab-fcode.
      APPEND struct_extab TO i_extab.
    Display the list
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
          i_callback_program      = ws_repid
          i_callback_user_command = 'HANDLE_USER_COMMAND'
         is_layout               = ws_layout
          it_fieldcat             = lt_fieldcat[]
          it_excluding            = i_extab[]
         i_default                = 'X'
         i_save                  =  'U'  "For user variants
         is_variant              = g_variant
        TABLES
          t_outtab                = i_output.
    ENDFORM.                    "f0002_build_field_catalog
    *&      Form  f0038_pf_status
          text
         -->I_EXTAB    text
    FORM f0038_pf_status USING i_extab TYPE slis_t_extab.       "#EC CALLED
      CLEAR struct_extab.
      MOVE '&XPA' TO struct_extab-fcode.
      APPEND struct_extab TO i_extab.
      MOVE '&OMP' TO struct_extab-fcode.
      APPEND struct_extab TO i_extab.
      SET PF-STATUS 'Z_PFSTATUS2' EXCLUDING i_extab.
    ENDFORM.                     "f0038_pf_status
    Pls tell me how i use this below dril down ability functionality in my code.
    See the requirement below.
    The Document Number, aka Accounting Document Number (BELNR) of each row will take the user to the appropriate document to edit as follows:
    For Parked documents:-
    If VBKPF-AWTYP (Reference Procedure) = “RMRP”, then the drilldown functionality should be to MIR4 using the Object ID in VBKPF- AWKEY. In this scenario the Object ID represents a Invoice Document Number, not an Accounting Document Number. Not the Object ID is a combination of Invoice Document Number and Fiscal Year
    If VBKPF-AWTYP = Any other value, then the drilldown functionality should be to FBV2 using the Object ID in VBKPF-AWKEY. In this scenario the Object ID represents a true Accounting Document Number. Note the Object ID is a combination of Company Code (VBKPF-BUKRS), Accounting Document Number (VBKPF-BELNR) and Fiscal Year (VBKPF-GJAHR)
    For Posted, not Cleared documents:-
    Drilldown ability should be to FB02. The combination of Company Code (BSIK-BUKRS), Accounting Document Number (BSIK-BELNR) and Fiscal Year (BSIK-GJAHR) will be used to open/drilldown to the correct document in FB02.
    For Cleared documents:-
    Drilldown ability should be to FB03. The combination of Company Code (BSIK-BUKRS), Accounting Document Number (BSIK-BELNR) and Fiscal Year (BSIK-GJAHR) will be used to open/drilldown to the correct document in FB03.
    Its very urgent, pls help on this.
    Thanks!
    Vipin

    Pls refer :
    https://wiki.sdn.sap.com/wiki/display/Snippets/ABAPInteractiveALVwithCallTransaction%28usingParameterID%29
    https://wiki.sdn.sap.com/wiki/display/Snippets/ABAPInteractiveALV+Program
    Regards,
    Anish Thomas
    Pls reward all useful answers

  • How to put header and how to insert logo in this report

    HI
    I want  a header and logo in this report.how to do this in ALV report.Also why we have to put the          sy-repid.Plz tell me in this report where i have to do all this.Plz show me in detail.
    REPORT  ZREPORT_ALV .
    TYPE-POOLS : slis.
    tables:vbak,vbap.
    *DATA:  report_id LIKE sy-repid.
    DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.
    data: ivariant(1) type c,
          itvariant like disvariant,
          w_variant like disvariant.
    initialization.
    *REPORT_ID = SY-REPID.
    PERFORM F1000_LAYOUT_INIT. "using I_LAYOUT.
    ivariant = 'A'.
    itvariant = w_variant.
    select-options:so_vbeln for vbap-vbeln.
    data:itab like vbak occurs 0 with header line.
    data:itab1 like vbap occurs 0 with header line.
    start-of-selection.
    select * from vbak into table itab where vbeln in so_vbeln.
    if not itab[] is initial.
    select * from vbap into table itab1
    for all entries in itab
    where vbeln = itab-vbeln.
    endif.
    data:ls_fieldcat TYPE slis_fieldcat_alv,
    lt_fieldcat1  TYPE slis_t_fieldcat_alv.
    ****For alv display
    IF NOT itab1[] IS INITIAL.
       DEFINE ls_fieldcat.
       add 1 to ls_fieldcat-col_pos.
        ls_fieldcat-fieldname    = &1.
        ls_fieldcat-outputlen    = &2.
        ls_fieldcat-seltext_l    = &3.
         ls_fieldcat-emphasize  = &4.
        append ls_fieldcat to lt_fieldcat1.
        clear ls_fieldcat.
      END-OF-DEFINITION.
        ls_fieldcat 'VBELN'           '10'     'Sales Order Number'.
       ls_fieldcat 'POSNR'           '6'        'SO Item'.
        ls_fieldcat 'MATNR'           '13'      'Material No'.
    m_fieldcat1 'NETWR'           '13'        'Amount'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
      I_CALLBACK_PROGRAM                = 'wf_report'
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
    I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
       IS_LAYOUT                         =  I_LAYOUT
       IT_FIELDCAT                       =  lt_fieldcat1
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =   ITVARIANT
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                          =  itab1
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    endif.
    CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
    EXPORTING
       I_SAVE              = ivariant
      CHANGING
       CS_VARIANT          = itvariant
    EXCEPTIONS
      WRONG_INPUT         = 1
      NOT_FOUND           = 2
      PROGRAM_ERROR       = 3
      OTHERS              = 4
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    FORM F1000_LAYOUT_INIT. "USING I_LAYOUT TYPE SLIS_LAYOUT_ALV.
    *CLEAR I_LAYOUT.
    i_layout-colwidth_optimize = 'X'.
    I_LAYOUT-key_hotspot = u2018Xu2019.
    I_LAYOUT-hotspot_fieldname =  MATNR.
    ENDFORM.

    hi,,,,
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = sy-repid >>>>>>>>>>>>> your report name.
    regarding logo and header,,,,
    first store the logo in T-code OAOR, then call that in your report.......
    data: heading        TYPE slis_t_listheader,
          wa_header      TYPE slis_listheader,
         events         TYPE slis_t_event.
    * To display TOP_OF_PAGE.
    FORM top_of_page.
      DATA : text(40),txtdt(40).
      CLEAR l_string.
      l_string = 'JCB India Limited'(hd2).
      wa_header-typ  = 'H'.
      wa_header-info = l_string.
      APPEND wa_header TO heading.                              " index 1.
      CLEAR l_string.
      WRITE :'Number of records:' TO text,dbcnt TO text+20 LEFT-JUSTIFIED.
      wa_header-typ  = 'S'.
      wa_header-info = text.
      APPEND wa_header TO heading.
      CLEAR l_string.
      wa_header-typ  = 'S'.
      WRITE : 'Report Run Date  :' TO txtdt,sy-datum TO txtdt+20 DD/MM/YY.
      WRITE sy-datum TO dat DD/MM/YY.
      wa_header-info = txtdt.
      APPEND wa_header TO heading.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          i_logo             = 'ENJOYSAP_LOGO'
          it_list_commentary = heading.
      CLEAR heading.
    ENDFORM.                    "top_of_page
    to execute top-of-page you have to create events.
    for ex......
    FORM create_event USING p_events TYPE slis_t_event.
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = p_events.
      READ TABLE p_events WITH KEY name = slis_ev_top_of_page
                               INTO ls_event.
      IF sy-subrc = 0.
        MOVE formname_top_of_page TO ls_event-form.
        APPEND ls_event TO p_events.
      ENDIF.
    ENDFORM.                    " create_event

  • How to get LAST_VALUE from an Analytic Function within a report?

    My analytical report has following sql:
    SELECT....
    DENSE_RANK() OVER (PARTITION BY pco.appropriation ORDER BY pco.appropriation,
    pco.fiscal_year ASC NULLS LAST) "Duration Years",
    SUM(pco.quantity) OVER (PARTITION BY sms.data_source ORDER BY
    sms.data_source, cst.display_nm RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT
    ROW) "Quantity Cum",
    FROM ........
    I have a request to calculate the percentage value by dividing MAX or LASTVALUE of these two functions at current row level:_
    %DENSE_RANK = LAST_VALUE of ? DENSE_RANK() OVER (PARTITION BY pco.appropriation ORDER BY pco.appropriation,
    pco.fiscal_year ASC NULLS LAST) "Duration Years"
    / (divide by)
    DENSE_RANK() OVER (PARTITION BY pco.appropriation ORDER BY pco.appropriation,
    pco.fiscal_year ASC NULLS LAST) "Duration Years"
    %SUM = LAST_VALUE of ? SUM(pco.quantity) OVER (PARTITION BY sms.data_source ORDER BY
    sms.data_source, cst.display_nm RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT
    ROW) "Quantity Cum",
    / (divide by)
    SUM(pco.quantity) OVER (PARTITION BY sms.data_source ORDER BY
    sms.data_source, cst.display_nm RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT
    ROW) "Quantity Cum"
    Example of report output:
    DENSE RANK DENSE RANK % SUM SUM %
    1 10% 10 10%
    2 20% 20 20%
    3 100% 30 100%
    1 10% 10 10%
    2 20% 20 20%
    I appreciate your help to implement LAST_VALUE function for this case. Many thanks in advance.
    Rob.
    Edited by: user10455955 on Dec 17, 2008 9:25 AM

    Hi Rod,
    Thank you for replying. My intentions are:
    1. to get last value of DENSE_RANK(), and divide by fisrt until last DENSE_RANK() value within defined partition.
    Example: I have DENSE_RANK() from 1 to 7, and want to divide last value (7) by 1, 2,... so on until 7, so last value 7 always renders 100%
    2. to get last value of cumulative total, and divide fisrt until and last cumulative total value within defined partition
    Example: I have 3 values 1, 2, 3. Fisrt cumulative total is 1 , second cumulative is 3 (1+2) , third cumulative is 6 (1+2+3). I want to divide last cumulative total 6 by 1, then 2, then 3.
    Thanks again.
    Rob.
    Edited by: user10455955 on Dec 22, 2008 9:16 AM
    Edited by: user10455955 on Dec 22, 2008 9:18 AM

  • How to do the reverse po in this report

    Hi,   
          i have a one problem in this report . i don,t know how to display the
    reverse po in this report. reverse po should have a po history cat. 'N' (field is bewtp)
    i connect type 'Q' and the type 'E' but not been able to connect the 'N'. when i connect it will give me the wrong amount and some field should not been displayed. i will provide u the following code.
           please help me.
    Thanks
      dinesh
    *& Report  Z_MM_PURCHASE_REGISTER
    REPORT  Z_MM_PURCHASE_REGISTER.
      Short Description: Purchase Register
    TABLES                                                              *
    TABLES : ekko, taxcom, ekpo, ekbe,ekkn,konv,komv,t007s, j_1imovend, bseg .
    TYPE-POOLS: slis.
    TYPES: Begin with TY_                                               *
    TYPES : BEGIN OF  ty_ekko,
              BSART LIKE EKKO-BSART,
              KNTTP LIKE EKPO-KNTTP,
              ebeln LIKE ekko-ebeln,
              knumv LIKE ekko-knumv,
              lifnr LIKE ekko-lifnr,
              waers LIKE ekko-waers,
              kalsm LIKE ekko-kalsm,
              lands LIKE ekko-lands,
              ekorg LIKE ekko-ekorg,
              wkurs LIKE ekko-wkurs,
              bedat LIKE ekko-bedat,
              ebelp LIKE ekpo-ebelp,   "po line item
              mwskz LIKE ekpo-mwskz,   "tax code
              bukrs LIKE ekpo-bukrs,
              matkl LIKE ekpo-matkl,
              mtart LIKE ekpo-mtart,
             netpr LIKE ekpo-netpr,   "Net price in purchasing document
             meins LIKE ekpo-meins,   "unit
              menge LIKE ekpo-menge,   "quantity
              txz01 LIKE ekpo-txz01,   "material description
              txjcd LIKE ekpo-txjcd,   "tax jurisdiction code
              matnr LIKE ekpo-matnr,
              llief LIKE ekko-llief,
              meins LIKE ekpo-meins,
              bprme LIKE ekpo-bprme,
              netpr LIKE ekpo-netpr,
              peinh LIKE ekpo-peinh,
             lifnr like lfa1-lifnr,
              name1 like lfa1-lifnr,
              pstlz like lfa1-pstlz,
              stras like lfa1-stras,
              text1 like t007s-text1,
    END OF ty_ekko.
    TYPES : BEGIN OF ty_ekbe,
              ebeln LIKE ekbe-ebeln,    "po number
              ebelp LIKE ekbe-ebelp,    "po line item
              buzei LIKE ekbe-buzei,
              belnr LIKE ekbe-belnr,    "Number of material document
              budat LIKE ekbe-budat,    "Posting date in the document
              xblnr LIKE ekbe-xblnr,    "Reference document number
              werks LIKE ekbe-werks,    "plant
              matnr LIKE ekbe-matnr,    "material
              menge LIKE ekbe-menge,    "quantity
              peinh LIKE ekpo-peinh,
              dmbtr LIKE ekbe-dmbtr,    "Amount in local currency
              kalsm LIKE ekko-kalsm,    "Procedure (pricing)
              waers LIKE ekbe-waers,    "currency
              wrbtr LIKE ekbe-wrbtr,    "Amount in document currency
              bwtar LIKE ekbe-bwtar,    "Valuation type
              shkzg LIKE ekbe-shkzg,
              maktx LIKE makt-maktx,
              mwskz LIKE ekbe-mwskz,
              bldat LIKE ekbe-bldat,
              srvpos LIKE ekbe-srvpos,
              packno LIKE ekbe-packno,
              introw LIKE ekbe-introw,
              lfbnr  LIKE ekbe-lfbnr,
              bwart TYPE ekbe-bwart,
              budat1 TYPE ekbe-budat,
              belnr1 TYPE ekbe-belnr,
           END OF ty_ekbe.
    TYPES : BEGIN OF ty_display,
              BSART LIKE EKKO-BSART,
              KNTTP LIKE EKPO-KNTTP,
              lifnr(10) TYPE C,              " LIKE ekko-lifnr,
              ebeln LIKE ekko-ebeln,
              bedat LIKE ekko-bedat,
              budat LIKE ekbe-budat,
              matnr LIKE ekbe-matnr,
              maktx LIKE makt-maktx,
              belnr LIKE ekbe-belnr,
              bldat LIKE ekbe-bldat,
              menge LIKE ekpo-menge,
              peinh LIKE ekpo-peinh,
              dmbtr LIKE ekbe-dmbtr,
              shkzg LIKE ekbe-shkzg,
              custduty LIKE konv-kwert,
              bed LIKE konv-kwert,
              cvd LIKE konv-kwert,
              sertax LIKE konv-kwert,
              sereducess LIKE konv-kwert,
              surcharge LIKE konv-kwert,
              educess LIKE konv-kwert,
              insure LIKE konv-kwert,
              freight LIKE konv-kwert,
              octroi LIKE konv-kwert,
              kursf LIKE rbkp-kursf,
              grossamt LIKE konv-kwert,
              vat4 LIKE konv-kwert,
              vat8 LIKE konv-kwert,
              vat125 LIKE konv-kwert,
              INC LIKE KONV-KWERT,     "
              PF LIKE KONV-KWERT,
              CF LIKE KONV-KWERT,
              INS LIKE KONV-KWERT,
              cst LIKE konv-kwert,
              subdeb LIKE ekbe-dmbtr,
              netamt LIKE ekbe-dmbtr,
              cenvatcreditbed LIKE konv-kwert,
              cenvatcreditecc LIKE konv-kwert,
              vatcredit LIKE konv-kwert,
              bgcharges LIKE konv-kwert,
              srvpos LIKE ekbe-srvpos,
              ktext1 LIKE esll-ktext1,
              sertaxcredit LIKE konv-kwert,
              sereducesscredit LIKE konv-kwert,
              totaltaxbenefit LIKE konv-kwert,
              inventoryvalue LIKE konv-kwert,
              bwart TYPE ekbe-bwart,
              belnr1 TYPE ekbe-belnr,
              budat1 TYPE ekbe-budat,
              lfbnr TYPE ekbe-lfbnr,
              bprme LIKE ekpo-bprme,
              meins LIKE ekpo-meins,
              name1 like lfa1-name1,
              pstlz like lfa1-pstlz,
              stras like lfa1-stras,
              mwskz like ekpo-mwskz,
              text1 like t007s-text1,
              kalsm like t007s-kalsm,
              j_1icstno like j_1imovend-j_1icstno,
              hkont(10) TYPE C,       " like bseg-hkont,
              saknr like ska1-saknr,
              sakan like ska1-sakan,
              ktoks like ska1-ktoks,
              mcod1 like ska1-mcod1,
              WAERS LIKE EKKO-WAERS,
              bukrs like ekpo-bukrs,
              total LIKE ekbe-dmbtr,
            END OF ty_display.
    TYPES : BEGIN OF ty_services,
               ebeln LIKE ekpo-ebeln,
               ebelp LIKE ekpo-ebelp,
               lfbnr LIKE ekbe-lfbnr,
               packno LIKE esll-packno,
               sub_packno LIKE esll-sub_packno,
               srvpos LIKE esll-srvpos,
               ktext1 LIKE esll-ktext1,
               netwr LIKE esll-netwr,
               act_wert  LIKE esll-act_wert,
               menge LIKE esll-menge,
               bldat LIKE ekbe-bldat,
            END OF ty_services.
    TYPES :  BEGIN OF ty_konv,
               ebeln LIKE ekpo-ebeln,
               ebelp LIKE ekpo-ebelp,
               knumv LIKE konv-knumv,
               kposn LIKE konv-kposn,
               kschl LIKE konv-kschl,
               kwert LIKE konv-kwert,
               kbetr LIKE konv-kbetr,
             END OF ty_konv.
    TYPES : BEGIN OF ty_lfbnr,
              belnr TYPE ekbe-belnr,
              lfbnr TYPE ekbe-lfbnr,
            END OF ty_lfbnr.
    TYPES : BEGIN OF ty_miro,
             belnr1 TYPE ekbe-belnr,
             belnr TYPE ekbe-belnr,
             budat TYPE ekbe-budat,
    END OF ty_miro.
    types: begin of ty_lfa1,
           lifnr like lfa1-lifnr,
           name1 like lfa1-lifnr,
           pstlz like lfa1-pstlz,
           stras like lfa1-stras,
           end of ty_lfa1.
    types: begin of ty_t007s,
           mwskz like t007s-mwskz,
           text1 like t007s-text1,
           spras like t007s-spras,
           kalsm like t007s-kalsm,
           end of ty_t007s.
    types: begin of ty_j_1imovend,
           lifnr like j_1imovend-lifnr,
           j_1icstno like j_1imovend-j_1icstno,
           end of ty_j_1imovend.
    types: begin of ty_bseg,
           lifnr like bseg-lifnr,
           dmbtr like bseg-dmbtr,
           shkzg like bseg-shkzg,
           hkont like bseg-hkont,
           BELNR LIKE BSEG-BELNR,
           end of ty_bseg.
    types: begin of ty_ska1,
           saknr like ska1-saknr,
           sakan like ska1-sakan,
           ktoks like ska1-ktoks,
           mcod1 like ska1-mcod1,
           end of ty_ska1.
    DATA : it_lfbnr TYPE STANDARD TABLE OF ty_lfbnr,
           wa_lfbnr TYPE ty_lfbnr,
           it_lfa1 type standard table of ty_lfa1,
           wa_lfa1 TYPE ty_lfa1,
           it_t007s type standard table of ty_t007s,
           wa_t007s TYPE ty_t007s,
           it_j_1imovend type standard table of ty_j_1imovend,
           wa_j_1imovend TYPE ty_j_1imovend,
           it_bseg type standard table of ty_bseg,
           wa_bseg TYPE ty_bseg,
          it_ska1 type standard table of ty_ska1,
           wa_ska1 TYPE ty_ska1,
           it_miro TYPE STANDARD TABLE OF ty_miro,
           wa_miro TYPE ty_miro,
           w_belnr TYPE ekbe-belnr,
           w_lfbnr TYPE ekbe-lfbnr,
           w_belnr1 TYPE ekbe-belnr,
           w_budat TYPE ekbe-budat.
    CONSTANTS: Begin with C_                                            *
    DATA: Begin with W_                                                 *
    DATA :  w_flag TYPE c.
    INTERNAL TABLES: Begin with IT_                                     *
    DATA : it_ekko TYPE STANDARD TABLE OF ty_ekko WITH NON-UNIQUE KEY ebeln
                                                                ebelp,
          it_ekpo type standard table of ty_ekpo,
           it_ekbe TYPE STANDARD TABLE OF ty_ekbe,
           it_ekbe1 TYPE STANDARD TABLE OF ty_ekbe WITH NON-UNIQUE KEY ebeln
                                                                ebelp,
           it_display TYPE STANDARD TABLE OF ty_display,
           it_subdebit TYPE STANDARD TABLE OF ty_ekbe,
           it_services TYPE STANDARD TABLE OF ty_services,
           it_packno TYPE STANDARD TABLE OF ty_services,
           it_konv TYPE STANDARD TABLE OF ty_konv.
    DATA :  it_fieldcat TYPE slis_t_fieldcat_alv,
            it_layout TYPE slis_layout_alv,
            it_komv TYPE STANDARD TABLE OF komv WITH NON-UNIQUE KEY knumv
            kschl.
    WORKAREAS: Begin with WA_                                           *
    DATA : wa_ekbe TYPE ty_ekbe,
           wa_ekbe1 TYPE ty_ekbe,
           wa_ekko TYPE ty_ekko,
           wa_komv TYPE komv,
           wa_display TYPE ty_display,
          WA_LFA1 TYPE TY_LFA1,
          W_GROSS_AMT type KOMV-KWERT,
           wa_subdebit TYPE ty_ekbe,
           wa_packno TYPE ty_services,
           wa_services TYPE ty_services,
           wa_konv TYPE ty_konv,
           wa_taxcom TYPE taxcom,
           wa_ls_fieldcat TYPE slis_fieldcat_alv.
    FIELD-SYMBOLS: Begin with FS_                                       *
    FIELD-GROUPS: Begin with FG_                                        *
    CONTROLS:                                                           *
    SELECT-OPTIONS: Begin with SO_                                      *
    SELECT-OPTIONS : so_lifnr FOR ekko-lifnr ,
                    so_mtart FOR ekpo-mtart,
                     so_ebeln FOR ekbe-ebeln,
                     so_matnr FOR ekbe-matnr,
                    so_date FOR sy-datum no-display,
                     do_date for ekko-bedat,
                     tax_code for ekpo-mwskz,
                     mr_date for ekbe-budat,
                     mat_gr for ekpo-matkl,
                     mat_tp for ekpo-mtart,
                     pr_plant for ekbe-werks,
                     pr_ekorg for ekko-ekorg.
    PARAMETERS: Begin with PR_                                          *
    *PARAMETER : pr_plant LIKE ekpo-werks . "OBLIGATORY.
               pr_ekorg LIKE ekko-ekorg . "OBLIGATORY.
    SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001 .
    PARAMETER : pr_preg TYPE c  radiobutton group g1  default 'X',
                pr_ror TYPE c  RADIOBUTTON GROUP g1 .
    SELECTION-SCREEN : END OF BLOCK b1.
    START-OF-SELECTION                                                  *
    START-OF-SELECTION .
    *--- Get the data reguired--
      PERFORM f001-get_data.
    *-------Calculate the tax required -
      PERFORM f002-cal_taxes.
      PERFORM miro_get_data.
    END-OF-SELECTION                                                    *
    END-OF-SELECTION.
    *---Display the report--
      PERFORM f003-display_register.
    *&      Form  F001-GET_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM f001-get_data .
    Clear and Refresh all internal table and work area.
      REFRESH : it_ekko,
                it_ekbe,
                it_services,
                it_packno,
                it_konv,
                it_lfa1,
                it_komv.
      CLEAR   : wa_ekko,
                wa_ekbe,
                wa_services,
                wa_packno,
                wa_konv,
                wa_lfa1,
                wa_komv.
    Get the history records for all the selected PO. from table EKBE of
    type GR.
        IF pr_preg = 'X'.
    *Get Purchasing Document Number, Number of the document condition,
    *Vendor's accountNumber, Currency Key, Procedure , Country for Tax
    *ReturnPurchasing OrganizationExchange rate In an internal table it_ekko
    *break-point.
      SELECT pBSART qknttp pebeln pknumv plifnr pwaers pkalsm plands pekorg pwkurs
         wkurs pbedat  qebelp qbukrs qmatkl qmtart pllief qmeins qbprme
         qtxjcd qmwskz pwkurs qnetpr qmenge QPEINH
        INTO CORRESPONDING FIELDS OF TABLE it_ekko
        FROM   ekko AS p INNER JOIN ekpo AS q
               ON pebeln = qebeln
        WHERE   p~ekorg in pr_ekorg
                AND p~lifnr IN so_lifnr
            AND q~mtart IN so_mtart
                AND p~ebeln IN so_ebeln
                and p~bedat in do_date
                and q~mwskz in tax_code
                and q~matkl in mat_gr
                and q~mtart in mat_tp
                and kalsm = 'SIL000'
                AND EKORG = 'SDOP'.
           GET ALL THE PO FOR WHICH MIRO HAS BEEN DONE
      SELECT ebeln ebelp budat bldat werks
        INTO CORRESPONDING FIELDS OF TABLE it_ekbe1
        FROM ekbe
        FOR ALL ENTRIES IN it_ekko
        WHERE ebeln = it_ekko-ebeln
           AND ebelp = it_ekko-ebelp
           AND bewtp = 'Q'
           AND  werks in pr_plant
          AND budat IN so_date
          AND ( bwart = '101' OR bwart = '102'  ) "OR bwart = '105' OR bwart = '106' OR bwart ='')
           AND ebeln IN so_ebeln
           and budat in mr_date
           AND matnr IN so_matnr.
          AND ( BUDAT >= SO_DATE-low and BUDAT <= SO_DATE-high ).
    Check whether any records is present
      IF sy-subrc = 0.
          IF NOT it_ekbe1 IS INITIAL.
            SELECT ebeln ebelp buzei belnr budat xblnr werks matnr menge
                   dmbtr waers wrbtr bwtar shkzg dmbtr bldat srvpos
                   packno introw lfbnr bwart
                INTO CORRESPONDING FIELDS OF TABLE it_ekbe
                FROM  ekbe
                FOR ALL ENTRIES IN it_ekbe1
                WHERE      ebeln = it_ekbe1-ebeln
                        AND  ebelp = it_ekbe1-ebelp
                        and budat in mr_date
                       AND budat IN so_date
                 and  ( BUDAT >= SO_DATE-low and BUDAT <= SO_DATE-high )
                      AND  bewtp = 'Q'.
                    AND ( bwart = '101' OR bwart = '102' OR bwart = '103' OR bwart = '105' ). "OR bwart = '105' OR bwart = '106' OR bwart ='').
                     AND  bwart = '103'.
                 and  WERKS = PR_PLANT.
            IF sy-subrc = 0.
            ENDIF.
          ELSE.
            SELECT ebeln ebelp buzei belnr budat xblnr werks matnr menge
                  dmbtr waers wrbtr bwtar shkzg dmbtr bldat srvpos
                  packno introw lfbnr bwart
               INTO CORRESPONDING FIELDS OF TABLE it_ekbe
               FROM  ekbe
               FOR ALL ENTRIES IN it_ekbe1
               WHERE      ebeln = it_ekbe1-ebeln
                       AND  ebelp = it_ekbe1-ebelp
                       and budat in mr_date
                     AND budat IN so_date
                 and ( BUDAT >= SO_DATE-low and BUDAT <= SO_DATE-high )
                     AND  bewtp = 'Q'.
                    AND ( bwart = '101' OR bwart = '102' OR bwart = '103' OR bwart = '105' ) . "OR bwart = '105' OR bwart = '106' OR bwart ='').
                    AND  bwart = '102'.
                 and  WERKS = PR_PLANT.
            IF sy-subrc = 0.
            ENDIF.
            ENDIF.
        ENDIF.
    new code added
    *get the venor address
         select alifnr bname1 bpstlz bstras b~lifnr
         into corresponding fields of table it_LFA1
         from ekko as a inner join lfa1 as b
         on alifnr = blifnr
         for all entries in it_EKKO
         where  B~lifnr = it_EKKO-lifnr.
    ***tax code description added*******************
    select mwskz text1 spras kalsm
    from t007s
    into corresponding fields of table it_t007s for all entries in it_ekko
    where mwskz = it_ekko-mwskz and spras = 'E' and kalsm = 'TAXSIL'.
    *******vendor vat no. added*************
    select lifnr j_1icstno
    from j_1imovend
    into corresponding fields of table it_j_1imovend for all entries in it_ekko
    where lifnr = it_ekko-lifnr.
    **********gl code added******************************************
    *select lifnr shkzg dmbtr hkont
    *from bseg
    *into corresponding fields of table it_bseg for all entries in it_lfa1  " it_ekko
    *where  LIFNR = it_lfa1-LIFNR and shkzg = 'S'.
    *************gl code description added*******************************************
    *select saknr ktoks mcod1 sakan
    *from ska1
    *into corresponding fields of table it_ska1 for all entries in it_bseg
    *where sakan = it_bseg-hkont and ktoks = 'MAT'.
    Get the package number , service number , service text , net price ,
    accual amount , qty. etc
        IF NOT it_packno[] IS INITIAL.
          SELECT ppackno psrvpos pktext1 pnetwr pact_wert pmenge
              INTO CORRESPONDING FIELDS OF TABLE it_services
              FROM esll  AS p "inner join ESLL as Q
               on      PPLN_PACKNO = QPACKNO
                  and  PINTROW = QINTROW
              FOR ALL ENTRIES IN it_packno
              WHERE p~packno = it_packno-sub_packno.
          IF sy-subrc = 0.
          ENDIF.
        ENDIF.
    Get Number of the document condition ,line item number, Condition
    value for all selected PO.
        IF NOT it_ekko[] IS INITIAL.
          SELECT  knumv kposn kschl kwert
              INTO CORRESPONDING FIELDS OF TABLE it_konv
              FROM konv
              FOR ALL ENTRIES IN it_ekko
              WHERE  knumv = it_ekko-knumv.
          IF sy-subrc = 0.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    " F001-GET_DATA
    *&      Form  F002-CAL_TAXES
          text
    -->  p1        text
    <--  p2        text
    FORM f002-cal_taxes .
    Calculate taxes for all the PO.
      LOOP AT it_ekbe INTO wa_ekbe.
        CLEAR :  wa_display,
                 wa_ekko.
        READ TABLE it_ekko WITH TABLE KEY ebeln = wa_ekbe-ebeln
                                          ebelp = wa_ekbe-ebelp
                                          INTO wa_ekko.
        IF sy-subrc = 0.
        ENDIF.
        CLEAR wa_taxcom.
    Get the text for the Material.
        SELECT SINGLE maktx
          INTO wa_display-maktx
          FROM  makt
          WHERE     matnr = wa_ekbe-matnr
                AND spras = sy-langu.
        wa_taxcom-bukrs = wa_ekko-bukrs.
        wa_taxcom-budat = wa_ekbe-bldat.
        wa_taxcom-budat = wa_ekko-bedat." change by dinesh
        wa_taxcom-waers = wa_ekbe-waers.
        wa_taxcom-kposn = wa_ekbe-ebelp.
        wa_taxcom-mwskz = wa_ekko-mwskz.
        wa_taxcom-txjcd = wa_ekko-txjcd.
       taxcom-shkzg = 'H'.
        wa_taxcom-xmwst = 'X'.
       IF ekko-bstyp EQ bstyp-best.
        wa_taxcom-wrbtr = wa_ekko-netpr * wa_ekbe-menge * wa_ekko-wkurs.
         WA_TAXCOM-WRBTR = wa_ekbe-dmbtr.
       ELSE.
         taxcom-wrbtr = ekpo-zwert.
       ENDIF.
        wa_taxcom-lifnr = wa_ekko-lifnr.
        wa_taxcom-land1 = wa_ekko-lands.                              "WIA
        wa_taxcom-ekorg = wa_ekko-ekorg.
        wa_taxcom-hwaer = 'INR'.    "t001-waers.
        wa_taxcom-llief = wa_ekko-llief.
        wa_taxcom-bldat = wa_ekbe-bldat.
        wa_taxcom-matnr = wa_ekbe-matnr.         "HTN-Abwicklung
        wa_taxcom-werks = wa_ekbe-werks.          "pr_plant.
          taxcom-bwtar = ekpo-bwtar.
        wa_taxcom-matkl = wa_ekko-matkl.
        wa_taxcom-meins = wa_ekko-meins.
        wa_taxcom-ebeln = wa_ekbe-ebeln.
        wa_taxcom-ebelp = wa_ekbe-ebelp.
        wa_taxcom-mglme = wa_ekbe-menge.
        wa_taxcom-mtart = wa_ekko-mtart.
    *Call function module CALCULATE_TAX_ITEM--
        CALL FUNCTION 'CALCULATE_TAX_ITEM'
          EXPORTING
            i_taxcom     = wa_taxcom
            display_only = 'X'
           dialog       = diakz
          IMPORTING
            e_taxcom     = wa_taxcom
           nav_anteil   = hwert
          TABLES
            t_xkomv = it_komv
          EXCEPTIONS
            OTHERS       = 01.
        IF sy-subrc = 0.
        ENDIF.
        wa_display-bsart = wa_ekko-bsart.
        wa_display-knttp = wa_ekko-knttp.
        wa_display-bprme = wa_ekko-bprme.
        wa_display-meins = wa_ekko-meins.
        wa_display-lifnr = wa_ekko-lifnr.
        wa_display-ebeln = wa_ekbe-ebeln.
        wa_display-bedat = wa_ekko-bedat.
        wa_display-bwart = wa_ekbe-bwart.
        wa_display-budat = wa_ekbe-budat.
        wa_display-matnr = wa_ekbe-matnr.
        wa_display-belnr = wa_ekbe-belnr.
        wa_display-menge = wa_ekbe-menge.
        wa_display-PEINH = wa_ekko-PEINH.
        wa_display-dmbtr = ( wa_ekko-netpr * wa_ekbe-menge * wa_ekko-wkurs ) / wa_ekko-PEINH.
      WA_DISPLAY-DMBTR = WA_EKBE-DMBTR.
        wa_display-srvpos = wa_ekbe-srvpos.
        wa_display-mwskz = wa_EKKO-mwskz.
        wa_display-WAERS = wa_EKKO-WAERS.
    read table it_lfa1 into wa_lfa1 with key lifnr = wa_ekko-lifnr.
    wa_display-name1 = wa_lfa1-name1.
    wa_display-pstlz = wa_lfa1-pstlz.
    wa_display-stras = wa_lfa1-stras.
    read table it_t007s into wa_t007s with key mwskz = wa_ekko-mwskz.
    wa_display-text1 = wa_t007s-text1.
    read table it_j_1imovend into wa_j_1imovend with key lifnr = wa_ekko-lifnr.
    wa_display-j_1icstno = wa_j_1imovend-j_1icstno.
    read table it_bseg into wa_bseg with key LIFNR = wa_lfa1-lifnr.  " wa_ekKO-LIFNR .
    wa_display-HKONT = wa_bseg-HKONT.
    *read table it_ska1 into wa_ska1 with key sakan = wa_bseg-hkont.
    *wa_display-mcod1 = wa_ska1-mcod1.
        READ TABLE it_komv WITH KEY kschl = 'JCDB'
                                    kposn = wa_ekko-ebelp
                                    INTO wa_komv.
        IF sy-subrc = 0.
          wa_display-custduty = wa_komv-kwert .
        ELSE.
          READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_ekko-knumv
                                                   kposn = wa_ekko-ebelp
                                                   kschl = 'JCDB'.
          IF  wa_ekko-menge <> 0.
            wa_display-custduty = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
          ENDIF.
        ENDIF.
    Get the BED OR EXCISE DUTY
         CLEAR :  wa_komv , wa_konv.
        READ TABLE it_komv WITH KEY kschl = 'JMOP'
                                    kposn = wa_ekko-ebelp
                                    INTO wa_komv.
        IF sy-subrc = 0 .
          wa_display-BED = wa_komv-kwert .
        ELSE.
          READ TABLE it_komv WITH KEY kschl = 'JMOQ'
                                      kposn = wa_ekko-ebelp
                                      INTO wa_komv.
          IF sy-subrc = 0.
            wa_display-BED = wa_komv-kwert .
          ELSE.
            READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_ekko-knumv
                                                  kposn = wa_ekko-ebelp
                                                  kschl = 'JMOP'.
            IF sy-subrc = 0.
              IF  wa_ekko-menge <> 0.
                wa_display-BED  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
              ENDIF.
            ELSE.
              READ TABLE it_konv INTO wa_konv WITH KEY
                                                 knumv =  wa_ekko-knumv
                                                 kposn = wa_ekko-ebelp
                                                 kschl = 'JMOQ'.
              IF  wa_ekko-menge <> 0.
                wa_display-BED  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
    ******END OF EXCISE DUTY AND THE BED******************************************************
    Get the  EDUCATION CESS
        CLEAR :  wa_komv , wa_konv.
        READ TABLE it_komv WITH KEY kschl = 'JEC1'
                                    kposn = wa_ekko-ebelp
                                    INTO wa_komv.
        IF sy-subrc = 0 .
          wa_display-educess = wa_komv-kwert .
        ELSE.
          READ TABLE it_komv WITH KEY kschl = 'JESQ'
                                      kposn = wa_ekko-ebelp
                                      INTO wa_komv.
          IF sy-subrc = 0.
            wa_display-educess = wa_komv-kwert .
          ELSE.
            READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_ekko-knumv
                                                  kposn = wa_ekko-ebelp
                                                  kschl = 'JEC1'.
            IF sy-subrc = 0.
              IF  wa_ekko-menge <> 0.
                wa_display-educess  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
              ENDIF.
            ELSE.
              READ TABLE it_konv INTO wa_konv WITH KEY
                                                 knumv =  wa_ekko-knumv
                                                 kposn = wa_ekko-ebelp
                                                 kschl = 'JESQ'.
              IF  wa_ekko-menge <> 0.
                wa_display-educess  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
    *END OF EDUCATION CESS
    Get the SERVICE TAX
        clear : WA_KOMV , WA_KONV.
        read table IT_KOMV with key KSCHL = 'JSRT'
                                    KPOSN = WA_EKKO-EBELP
                                    into WA_KOMV.
        if SY-SUBRC = 0.
          WA_DISPLAY-SERTAX  = WA_KOMV-KWERT .
        else.
          read table IT_KONV into WA_KONV with key KNUMV = WA_EKKO-KNUMV
                                                   KPOSN = WA_EKKO-EBELP
                                                   KSCHL = 'JSRT'.
          WA_DISPLAY-SERTAX  = WA_KONV-KWERT * wa_ekko-WKURS.
        endif.
    END OF SERVICE TAX****************************************
    Get the  EDUCATION CESS ON SERVICE TAX************************
        clear : WA_KOMV , WA_KONV.
        read table IT_KOMV with key KSCHL = 'JEC5'
                                    KPOSN = WA_EKKO-EBELP
                                    into WA_KOMV.
        if SY-SUBRC = 0.
          WA_DISPLAY-SEREDUCESS  = WA_KOMV-KWERT .
        else.
          read table IT_KONV into WA_KONV with key KNUMV = WA_EKKO-KNUMV
                                                   KPOSN = WA_EKKO-EBELP
                                                   KSCHL = 'JEC5'.
          WA_DISPLAY-SEREDUCESS  = WA_KONV-KWERT * wa_ekko-WKURS.
        endif.
    ******END OF SERVICE TAX ON EDUCATION CESS************************************************
    Get the CVD
        CLEAR : wa_komv , wa_konv.
        READ TABLE it_komv WITH KEY kschl = 'JCV1'
                                    kposn = wa_ekko-ebelp
                                    INTO wa_komv.
        IF sy-subrc = 0.
          wa_display-cvd  = wa_komv-kwert .
        ELSE.
          READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_ekko-knumv
                                                   kposn = wa_ekko-ebelp
                                                   kschl = 'JCV1'.
          IF  wa_ekko-menge <> 0.
            wa_display-cvd  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
          ENDIF.
        ENDIF.
    Get the total INSURANCE
        CLEAR : wa_komv , wa_konv.
        READ TABLE it_komv WITH KEY kschl = 'ZIN1'
                                    kposn = wa_ekko-ebelp
                                    INTO wa_komv.
        IF sy-subrc = 0 .
          wa_display-insure = wa_komv-kwert .
        ELSE.
          READ TABLE it_komv WITH KEY kschl = 'ZIN2'
                                      kposn = wa_ekko-ebelp
                                      INTO wa_komv.
          IF sy-subrc = 0.
            wa_display-insure = wa_komv-kwert .
          ELSE.
            READ TABLE it_konv INTO wa_konv WITH KEY knumv = wa_ekko-knumv
                                                  kposn = wa_ekko-ebelp
                                                  kschl = 'ZIN1'.
            IF sy-subrc = 0.
              IF  wa_ekko-menge <> 0.
                wa_display-insure  = ( wa_ekbe-menge / wa_ekko-menge
                                            ) * wa_konv-kwert * wa_ekko-wkurs.
              ENDIF.
            ELSE.
              READ TABLE it_konv INTO wa_konv WITH KEY
                                     

    Hi Ingo,
    Thanks for the reply. But let me rephrase my question.  In the Bex we get a extra row called overall result in the result set which gives the correct  count/total/average based on exception aggregation.  The question is how we show the overall result row in the crystal or rather how can we map it into crystal.  So i thought as of now we should create a formula to compute the overall result and display it.
    Hope I am clear this time in asking the right question.
    Many many thanks in advance for your reply.
    Kind regards,
    Shiva.

  • How to get total,maximum,mimumum no. of cases for this report

    Description:     Reason For Contact For Customer - This report will provide the total number of cases created for a particular Reason For Contact for a particular Customer with a valid Business Code. This report will also provide the Maximum, Minimum and Average number of cases created for a particular Reason For Contact for that particular type of Customer. This report will take From Date, To Date, Agent Group and Business Code as inputs and generates the report on the screen. All the input criteria will be mandatory.
    See the attachment for the Report.
    NOTE :1) FOR TOTAL,WE HAVE COUNT NUMBER OF CASES CREATED for a particular Reason For Contact for a particular Customer with a valid Business Code
      2) FOR Maximum, Minimum and Average CONSIDER number of cases created for a particular Reason For Contact for that particular type of Customer.
       For this report,I am using 5 tables. In the table ScaseParty  i have C_Bus_Code,C_cust_type coulumns are there.
      I am taking Input Criteria For Business code(ie c_bus_code).suppose business code is 'F0106',I have to get how many cases(means records) are there for a particular Reason For Contact for that Business Code.I AM GETTING THE TOTAL BUT
    for getting maximum,minimum,average , i have to check the C_cust_type For that Business code ,after that I have to take all the business codes for that C_Cust_Type and with in the business codes ,i have to take the maximum number of cases which business code have for that particular Reason for contact For that particular customer type.
    Eg: Reason for contact  Businesscode   customer type   
         Delivery Timing     0306            1        
         Delivery Timing     0306            1
         Delivery Timing     0310            1
         Delivery Timing     0310            1
         Delivery Timing     0310            1  
         Delivery Timing     0310            1  
       In this way i want the result
        Maximum =4 since, for reason for contact(delivery timing) for that customer type(customer type =1),the maximum no. of cases are 4 bcz, business code = 0310 comes 4 times.
    Minimum =2 bcz, business code = 0306 comes 2 times.
       The Problems i am facing
    1)  Since i have taken the input criteria Business code = 'f0106' ,the data filters in the where condition and the getting the number of cases exist for that business code(f0106) for that Contact of Reason data only.But i have to take all the business code exists for that Particular type of customer for that Particular reason for contact for getting the max,min,avg.
      I can't handle max,min,avg in one report since it checks total cases for that Business code only.
      SO,I THINK I HAVE TO INVOKE A SUBREPORT PASSING THE C_CUST_TYPE,iSN'T IT????
    2) iF I TAKE THESE THINGS IN SUB REPORT,HOW CAN I find out the maximum number of case with in the business codes for reason for contact for that particular customer type.
      CONSIDER THE ABOVE EXAMPLES, I AM GETTING 3 CASES FOR CODE = 0306 N 2 RECORDS FOR CODE= 0310 ,hOW CAN I GET mAXIMUM cASES ie 3  BY COMPARING THESE TWO CODES FOR THE DELIVERY TIMING  .  IS THERE ANY FUNCTION??????
    In which way i have to handle this report.
      Regards,
      Vijay
      mail : [email protected]

    Hi Vijay,
    The most efficient way to acheive what you want will be to create a stored procedure or command object in which you have a subquery that calculate your maximum, minimum and average values.
    If you are looking at a solution within Crystal Reports without having to write a SQL Query, then as you said, you can use a subreport that will returns the cases created for a particular Reason For Contact for that particular type of Customer.
    ( You will need to link the subreport to filter the data down )
    Then you can calculate the minimum values in the subreport by using the Minimum function and manually counting the values in a variable, the formula will look like:
    WhilePrintingRecords;
    Shared NumberVar MyMinimum;
    If Minimum({Business Code}) = {Business Code} Then
       MyMinimum := MyMinimum + 1;
    Insert the formula in the details section of the subreport.
    This will count the number of time the minimum Business Code appears in the subreport.
    You can create a similar formula for the maximum values by using the Maximum function.
    As for the average, you can create a summary that counts the number of of Business Code, divided by the distinct count of Business Code, so it will give you the average. The formula will look like:
    WhilePrintingRecords;
    Shared NumberVar MyAverage;
    MyAverage :=
    ( If DistinctCount({Business Code}) <> 0 Then
         Count({Business Code}) / DistinctCount({Business Code}))
    Then you can display the above shared variables on your main report.
    Hope this help!
    Regards,
    Patrick

  • ORA-06502 while running a function in a report

    Hi guys,
    I am having a problem executing this function in my report to get the beg balance for my statment.
    any idea as why -- the error I am getting is ORA-06502
    Thanks
    =========================================================
    function CF_OPNE_BALFormula return Number is
    v_bal number;
    v_date date;
    v_prv_period number;
    BEGIN
    v_date := to_char(:P_date_from,'RRRRMM');
    if substr(v_date,5,2) = '01' then
    v_prv_period := to_number(substr(v_date,1,4)-1 ||'13');
    else
    v_prv_period := to_number(add_months(last_day(v_date),-1));
    end if;
    v_bal := csh_acc_pkg.csh_get_acc_bal(:p_own_id,:P_GLA_acc_num,to_char(v_prv_period,'RRRRMM'),'F','ACC');
    return(v_bal);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN RETURN(0);
    END;
    =========================================================

    this might help:
    you have declared v_date as a date, yet you put a string into it. I believe you want it to be a string, since you use SUBSTR to determine the action required.
    So change the declaration to
    v_date varchar2( 6 )
    Furthermore the line
    v_prv_period := to_number(substr(v_date,1,4)-1 ||'13');
    has some problems, I believe.
    substr( v_date, 1, 4 )
    returns a string. You cannot calculate numbers with strings, so re-write the line:
    v_prv_period := to_number(to_number(substr(v_date,1,4)-1 ) ||'13');
    finally:
    to_char(v_prv_period,'RRRRMM')
    isn't right either, I think
    RRRRMM is a date format, whereas v_prv_period is a number.
    Oracle implicitly converts number values to strings when you assign them to a character variable, so this could be a way to call your procedure:
    v_bal := csh_acc_pkg.csh_get_acc_bal(
    :p_own_id
    , :P_GLA_acc_num
    , v_prv_period
    , 'F'
    , 'ACC' );
    Good Luck!

  • Using a function in a report query

    Why can't I call a function (basically a query) in a report query like I can from from SQL?
    Consider the following:
    Select MyFunctionName(arg) from dual;
    From SQL, it works great! No problem:
    In a report query, [Application/Shared Components/Report Queries] It doesn't work. I get an XML error:
    XML Parsing Error: not well formed
    <MyFunctionName('arg')>&lt;?xml version="1.0"?&gt;
    ----------------------^
    Why?
    Looks like APEX is not even executing the function...
    See I have a table with a CLOB field that contains properly formatted HTML. I cannot simply query for that content, since Oracle escapes the tags in the conversion to XML. I have to (somehow) tell Oracle to keep it's grubby mitts off my CLOB content. As far as I can tell, using DBMS_XMLGEN.setConvertSpecialChars is the only way to keep Oracle from escaping the html stored in the table--in fact, the DBMS_XMLGEN documentation states that it why this functionality exists in the first place!
    This is why I am trying to use a function. Simply queries don't work. The function I wrote works beautifully in SQL, but not in a report query...
    Edited by: Vorlon on Aug 5, 2010 1:20 PM

    Note from the first post:
    "In a report query, [Application/Shared Components/Report Queries]" Let me clarify: This report query is used in a BI Publisher report. Getting the information to the screen isn't the problem. I have that working. :-) It's just when I try to get the report to print that I see APEX has escaped the output before reaching BI Publisher--so BI Publisher is not the issue. I have a xsl template that will process the embedded HTML, but APEX is escaping my data before I can act on it. In other words:
    It seems Apex is not creating the XML properly, since it escapes everything. Even when the function passes back data correctly.
    Has anyone else seen this? Ideas for a workaround?
    Thanks!

  • IP - Is it possible to call exit planning function from ABAP Report..

    Hi All,
    Greetings.
    Is it possible to call exit planning function from ABAP Report (t-code SE38) ? Or I mean is not limited only to be called from ABAP Report, perhaps from BSP / Web-Dynpro / Function Module.
    If somebody here has been doing it before, I'm keen to ask to kindly share it. Particularly how to call and transfer data to that exit function.
    Or if somebody has done in BPS, appreciate if it can be shared too .
    Thanks a lot and have a good day,
    Best regards,
    Daniel N.

    Hi.
    You can achive this as suggested by Mattias in your previous post.
    Lets say you have next data structure:
    CostCenter | Amount | PercentForDistibution |
    Create input ready query in this format. Restrict cost center by variable type range.
    Create WAD with analysis item.
    When you run web page you enter range of cost centers (lets say you will enter 101004 to 101010).
    I assume you have data only for 101004 in your cube (lets say 1000).
    You will see only one record in your webpage.
    CostCenter | Amount | PercentForDistibution |
    101004       | 1000     | NOTHING
    When you create WAD in analysis item properties set "NUMBER_OF_NEW_LINES" to lets say 1 (so in WAD you will see always one blank line for entering new data).
    Just add 6 new records:
    CostCenter | Amount   | PercentForDistibution |
    101005       | NOTHING| 10
    101006       | NOTHING| 30
    101007       | NOTHING| 20
    101008       | NOTHING| 25
    101009       | NOTHING| 5
    101010       | NOTHING| 10
    Then run planning FOX function like this:
    FOREACH Z_COST_CENTER.
    IF {Amount, Z_COST_CENTER} <> 0
    Z_AMNT_TO_DISTRIBUTE = {Amount, Z_COST_CENTER}.
    ENDIF.
    ENDFOR.
    FOREACH Z_COST_CENTER.
    IF {PercentForDistibution Z_COST_CENTER} <> 0.
    {Amount, Z_COST_CENTER} = Z_AMNT_TO_DISTRIBUTE * {PercentForDistibution Z_COST_CENTER}.
    ENDIF.
    ENDFOR.
    It is not perfect FOX, but as an idead, it should work.
    Regards.

  • Please help me out with this report

    hi to all experts,
    my requirement  is to display only those purchase order that were created on Saturdays and sundays. i have toiled hard and could develop the code but still im not be able to get the requirement.IT is showing all purchase order for the given date range. what should be modified in my code.
    *& Report  Z_DAYS_SUNDAY_SAT                                           *
    *& This report will display purchase order created on saturday and sunday                                                                    *
    REPORT  Z_DAYS_SUNDAY_SAT                       .
    tables: ekko,dtresr.
    types: begin of ty_pur,
              ebeln type ekko-ebeln,"purchase document no
              bukrs type ekko-bukrs,"company code
              bstyp type ekko-bstyp,"document category
              bsart type ekko-bsart,"document type
              aedat type ekko-aedat,"date on which record was created
         end of ty_pur,
        begin of ty_days,
          days type ekko-aedat,
         end of ty_days.
    data: it_ekko type table of ty_pur,
          wa_ekko like line of it_ekko,
          it_days type table of ty_days,
          wa_days like line of it_days.
    data : dbtwn type i,
           g_day type dtresr-weekday.
    parameters : p1 type dats,
                 p2 type dats.
    ranges : r_day for ekko-aedat.
    r_day-low = p1.
    r_day-high = p2.
    r_day-sign = 'I'.
    r_day-option = 'BT'.
    append r_day.
    if p2 gt p1.
    dbtwn = p2 - p1.
    else.
    message e000(zhnc) with 'plz enter date in proper order'.
    endif.
    do dbtwn times.
    CALL FUNCTION 'DATE_TO_DAY'
      EXPORTING
        date          = p1
    IMPORTING
       WEEKDAY       = g_day.
    if g_day = 'Sat.' or g_day = 'Sunday'.
    wa_days = G_DAY.
    APPEND wa_days TO it_days.
    p1 = p1 + 1.
    Endif.
    enddo.
    select    ebeln
              bukrs
              bstyp
              bsart
              aedat from ekko into table it_ekko where aedat in r_day.
      loop at it_ekko into wa_ekko.
      READ TABLE it_days INTO wa_days WITH KEY wa_days-days.
      write : / wa_ekko-ebeln,wa_ekko-bukrs,wa_ekko-bstyp,wa_ekko-bsart, wa_days-days.
    endloop.

    Hi
    try this code I've made changes...
    *& Report Z_DAYS_SUNDAY_SAT *
    *& This report will display purchase order created on saturday and sunday *
    REPORT Z_DAYS_SUNDAY_SAT .
    TABLES: ekko,dtresr.
    TYPES: BEGIN OF ty_pur,
    ebeln TYPE ekko-ebeln,"purchase document no
    bukrs TYPE ekko-bukrs,"company code
    bstyp TYPE ekko-bstyp,"document category
    bsart TYPE ekko-bsart,"document type
    aedat TYPE ekko-aedat,"date on which record was created
    END OF ty_pur,
    BEGIN OF ty_days,
    days TYPE ekko-aedat,
    END OF ty_days.
    DATA: it_ekko TYPE TABLE OF ty_pur,
    wa_ekko LIKE LINE OF it_ekko,
    it_days TYPE TABLE OF ty_days,
    wa_days LIKE LINE OF it_days.
    DATA : dbtwn TYPE i,
    g_day TYPE dtresr-weekday.
    PARAMETERS : p1 TYPE dats,
    p2 TYPE dats.
    RANGES : r_day FOR ekko-aedat.
    r_day-low = p1.
    r_day-high = p2.
    r_day-sign = 'I'.
    r_day-option = 'BT'.
    APPEND r_day.
    IF p2 GT p1.
      dbtwn = p2 - p1.
    ELSE.
      MESSAGE e000(zhnc) WITH 'plz enter date in proper order'.
    ENDIF.
    *DO dbtwn TIMES.
    *  CALL FUNCTION 'DATE_TO_DAY'
    *    EXPORTING
    *      date    = p1
    *    IMPORTING
    *      weekday = g_day.
    *  IF g_day = 'Sat.' OR g_day = 'Sunday'.
    *   wa_days = g_day.
    *    APPEND wa_days TO it_days.
    *  ENDIF.
    *  p1 = p1 + 1.
    *ENDDO.
    SELECT ebeln bukrs bstyp bsart aedat FROM ekko INTO TABLE it_ekko WHERE aedat IN
    r_day.
    LOOP AT it_ekko INTO wa_ekko.
      CALL FUNCTION 'DATE_TO_DAY'
        EXPORTING
          date    = wa_ekko-aedat
        IMPORTING
          weekday = g_day.
      IF g_day = 'Sat.' OR g_day = 'Sunday'.
            WRITE : / wa_ekko-ebeln, wa_ekko-bukrs, wa_ekko-bstyp, wa_ekko-bsart, g_day.
      ENDIF.
    ENDLOOP.

  • PERFORMANCE of this REPORT object

    Hi Experts
    I have a REPORT object, having a few SELECT Queries in it. I need to analyze the PERFORMANCE of this REPORT object.
    How can I analyze the performance of a SELECT Query alone in it - that is time taken to execute this SELECT Query alone?
    How can I find the total execution time taken by the REPORT object?
    Plz suggest.
    BD

    Hi Bobby,
    TYPES : BEGIN OF gtyp_rbkp,
              belnr TYPE re_belnr,
              gjahr TYPE gjahr,
              budat TYPE budat,
              usnam TYPE usnam,
              lifnr TYPE lifre,
              ivtyp TYPE ivtyp,
              lieffn TYPE lieffn,
            END OF gtyp_rbkp.
    DATA : gt_rbkp TYPE STANDARD TABLE OF gtyp_rbkp,
          gs_rbkp type gtyp_rbkp.
    DATA: gv_str_j TYPE i,
    gv_end_j TYPE i,
    gv_run_time_join TYPE p DECIMALS 2.
    constants : lc_a type char1 value 'A'.
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-015.
    SELECT-OPTIONS : so_belnr FOR gs_rbkp-belnr,
                     so_gjahr FOR gs_rbkp-gjahr NO-EXTENSION NO INTERVALS,
                     so_usnam FOR gs_rbkp-usnam,
                     so_lifnr FOR gs_rbkp-lifnr,
                     so_budat FOR gs_rbkp-budat NO-EXTENSION OBLIGATORY
                                                DEFAULT sy-datum.
    SELECTION-SCREEN: END OF BLOCK b1.
    start-of-selection.
    write: 'testing performance'.
    get RUN TIME FIELD gv_str_j.
    SELECT belnr
             gjahr
             budat
             usnam
             lifnr
             ivtyp
             lieffn
        FROM rbkp
        INTO TABLE gt_rbkp
        WHERE belnr IN so_belnr
          AND gjahr IN so_gjahr
          AND budat IN so_budat
          AND usnam IN so_usnam
          AND lifnr IN so_lifnr.
      IF sy-subrc EQ 0.
    **delete entries from GT_RBKP where IVTYP ne A(Invoice from Parking Function)
        DELETE gt_rbkp WHERE ivtyp NE lc_a.
      ENDIF.
    get RUN TIME FIELD gv_end_j.
    Now get the runtime.
    gv_run_time_join = ( gv_end_j - gv_str_j ) / 1000000 .
    write:/ 'Report RunTime with delete is ', gv_run_time_join, 'seconds'.
    clear : gv_str_j, gt_rbkp[], gv_end_j.
    Hope this will help you.
    Regards,
    Phani

Maybe you are looking for