URGENT: REGARDING POSTING DATE AND DELETION OF ZEROS IN ALV REPORT

Hi,
  I had made a report in which i have to display 'POSTING DATE' (iseg-budat) when we execute the report i.e. it should be displayed as  PERIOD :- _______  to _______ .
2nd problem is i had displayed the material no. ,but there are zeros which are displaying in dere ,i want to remove dem ... example, if the mat.no. is  2321 ,it is displaying 000002321. i want to remove these zeros.
Its request to all of u dat plz help me as fast as possible as it is most urgent to me and if any body provide me help he or sh e will be definately rewarded..
Regards,
ric.s

Here i am giving you one of the ALV reports i have generated. Check this program. I hope it will be helpful to you.
REPORT  ZFI_ASSIGNED_FUNDS_FINAL.
TABLES: FMIT,FMCIT,FPOS,IFMEISA1,FMFCTRT,BSEG,ZREV_BUDGET.
TYPE-POOLS: SLIS.
*ALV data declarations
DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
      GD_SORT      TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,
      GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV,
      GD_LAYOUT    TYPE SLIS_LAYOUT_ALV,
      GD_REPID     LIKE SY-REPID.
*For ALV top of page
DATA : IT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
*For ALV Events
DATA : IT_EVENT1 TYPE SLIS_T_EVENT.
*For ALV Events
DATA : IT_EVENT TYPE SLIS_ALV_EVENT.
*For top of page heading
DATA: IT_LINE TYPE SLIS_LISTHEADER.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER : RADIO RADIOBUTTON GROUP R1.
IF RADIO EQ 'X'.
  SELECT-OPTIONS: FIPEX  FOR FPOS-FIPEX,                  " SELECTION FOR FUNDS CENTER & COMMITMENT ITEM
                  RFISTL FOR FMIT-RFISTL.
ENDIF.
PARAMETER: RADIO1 RADIOBUTTON GROUP R1.
IF RADIO1 EQ 'X'.
  SELECT-OPTIONS : HKONT FOR BSEG-HKONT,                 " SELECTION FOR COST CENTER & G/L ACCOUNT
                   KOSTL FOR ZREV_BUDGET-KOSTL.
ENDIF.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: PERDE  FOR IFMEISA1-PERDE DEFAULT '01' TO '12' OBLIGATORY.
PARAMETER :     RYEAR  LIKE FMIT-RYEAR OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B2.
DATA: BEGIN OF IT_TAB OCCURS 0,
         FIKRS LIKE FMFCTR-FIKRS,
         FICTR LIKE CSKS-KOSTL,
         CTR_OBJNR LIKE FMFCTR-CTR_OBJNR,
         RFISTL LIKE FMIT-RFISTL,
         OBJNR LIKE BPPE-OBJNR,
      END OF IT_TAB.
DATA: BEGIN OF IT_TAB1 OCCURS 0,
         CO_OBJNR LIKE BPIJ-CO_OBJNR,
         POSIT LIKE BPPE-POSIT,
         FIPEX LIKE FMPOSIT-FIPEX,
         FICTR LIKE FMFCTR-FICTR,
         KSTAR LIKE COSP-KSTAR,
         RFISTL LIKE FMIT-RFISTL,
         OBJNR1 LIKE BPPE-OBJNR,
      END OF IT_TAB1.
DATA: BEGIN OF IT_FMIT OCCURS 0,
        RYEAR LIKE FMIT-RYEAR,
        FIKRS LIKE FMIT-FIKRS,
        RFISTL LIKE ZREV_BUDGET-KOSTL,
        RFIPEX LIKE ZREV_BUDGET-KSTAR,
        HSL01 LIKE FMIT-HSL01,
        HSL02 LIKE FMIT-HSL02,
        HSL03 LIKE FMIT-HSL03,
        HSL04 LIKE FMIT-HSL04,
        HSL05 LIKE FMIT-HSL05,
        HSL06 LIKE FMIT-HSL06,
        HSL07 LIKE FMIT-HSL07,
        HSL08 LIKE FMIT-HSL08,
        HSL09 LIKE FMIT-HSL09,
        HSL10 LIKE FMIT-HSL10,
        HSL11 LIKE FMIT-HSL11,
        HSL12 LIKE FMIT-HSL12,
        HSL13 LIKE FMIT-HSL13,
        HSL14 LIKE FMIT-HSL14,
        HSL15 LIKE FMIT-HSL15,
        HSL16 LIKE FMIT-HSL16,
     END OF IT_FMIT.
DATA: BEGIN OF IT_FMIT1 OCCURS 0,
        RYEAR LIKE FMIT-RYEAR,
        FIKRS LIKE FMIT-FIKRS,
        RFISTL LIKE ZREV_BUDGET-KOSTL,
        RFIPEX LIKE FMPG-FIPEX,
        TOTAL LIKE FMIT-TSL01,
        TOTAL1 LIKE FMIT-TSL01,
        OBJNR LIKE BPPE-OBJNR,
        POSIT LIKE BPPE-POSIT,
     END OF IT_FMIT1.
DATA: BEGIN OF IT_BPPE OCCURS 0,
        OBJNR LIKE BPPE-OBJNR,
        POSIT LIKE BPPE-POSIT,
        GJAHR LIKE BPPE-GJAHR,
        WLP01 LIKE BPPE-WLP01,
        WLP02 LIKE BPPE-WLP02,
        WLP03 LIKE BPPE-WLP03,
        WLP04 LIKE BPPE-WLP04,
        WLP05 LIKE BPPE-WLP05,
        WLP06 LIKE BPPE-WLP06,
        WLP07 LIKE BPPE-WLP07,
        WLP08 LIKE BPPE-WLP08,
        WLP09 LIKE BPPE-WLP09,
        WLP10 LIKE BPPE-WLP10,
        WLP11 LIKE BPPE-WLP11,
        WLP12 LIKE BPPE-WLP12,
      END OF IT_BPPE.
DATA: BEGIN OF IT_BPPE1 OCCURS 0,
        OBJNR LIKE BPPE-OBJNR,
        POSIT LIKE BPPE-POSIT,
        GJAHR LIKE BPPE-GJAHR,
        RFISTL LIKE FMIT-RFISTL,
        FIPEX LIKE FPOS-FIPEX,
        TOTAL2 LIKE BPPE-WLP01,
      END OF IT_BPPE1.
DATA: BEGIN OF IT_CSKS OCCURS 0,
       KOKRS LIKE CSKS-KOKRS,
       KOSTL LIKE CSKS-KOSTL,
       BUKRS LIKE CSKS-BUKRS,
       OBJNR LIKE CSKS-OBJNR,
     END OF IT_CSKS.
DATA: BEGIN OF IT_COSP OCCURS 0,
       OBJNR LIKE COSP-OBJNR,
       GJAHR LIKE COSP-GJAHR,
       KSTAR LIKE COSP-KSTAR,
       BEKNZ LIKE COSP-BEKNZ,
       WKG001 LIKE COSP-WKG001,
       WKG002 LIKE COSP-WKG002,
       WKG003 LIKE COSP-WKG003,
       WKG004 LIKE COSP-WKG004,
       WKG005 LIKE COSP-WKG005,
       WKG006 LIKE COSP-WKG006,
       WKG007 LIKE COSP-WKG007,
       WKG008 LIKE COSP-WKG008,
       WKG009 LIKE COSP-WKG009,
       WKG010 LIKE COSP-WKG010,
       WKG011 LIKE COSP-WKG011,
       WKG012 LIKE COSP-WKG012,
     END OF IT_COSP.
DATA: BEGIN OF IT_COSP2 OCCURS 0,
       OBJNR LIKE COSP-OBJNR,
       GJAHR LIKE COSP-GJAHR,
       KSTAR LIKE COSP-KSTAR,
       FIPEX LIKE FMPG-FIPEX,
       TOTAL LIKE COSP-WKG001,
       TOTAL1 LIKE COSP-WKG001,
       OBJNR1 LIKE BPPE-OBJNR,
       POSIT LIKE BPPE-POSIT,
     END OF IT_COSP2.
IF RADIO EQ 'X'.
  DATA: BEGIN OF IT_FINAL OCCURS 0,
         FIKRS LIKE FMIT-FIKRS,
         RFISTL LIKE FMIT-RFISTL,
         RFIPEX LIKE FMIT-RFIPEX,
         TEXT LIKE FMCIT-TEXT1,
         ALLOC LIKE FMIT-TSL16,
         USED LIKE FMIT-TSL16,
         REMAIN LIKE FMIT-TSL16,
         BEZEICH LIKE FMFCTRT-BEZEICH,
       END OF IT_FINAL.
ENDIF.
IF RADIO1 EQ 'X'.
  DATA: BEGIN OF IT_FINAL1 OCCURS 0,
          GJAHR LIKE ZREV_BUDGET-GJAHR,
          KOSTL LIKE ZREV_BUDGET-KOSTL,
          KSTAR LIKE ZREV_BUDGET-KSTAR,
          TOTAL1 LIKE COSP-WKG001,
          TOTAL3 LIKE COSP-WKG001,
          TEXT LIKE CSKU-KTEXT,
          VARIANCE LIKE COSP-WKG001,
          BEZEICH LIKE FMFCTRT-BEZEICH,
        END OF IT_FINAL1.
ENDIF.
DATA: BEGIN OF IT_FISTL OCCURS 0,
       RFISTL LIKE FMIT-RFISTL,
       BEZEICH LIKE FMFCTRT-BEZEICH,
      END OF IT_FISTL.
DATA: BEGIN OF IT_HKONT OCCURS 0,
       KSTAR LIKE CSKU-KSTAR,
       KTEXT LIKE CSKU-KTEXT,
      END OF IT_HKONT.
DATA: PERIOD1 TYPE I,
      PERIOD2 TYPE I,
      PERIOD3 TYPE I,
      PERIO TYPE I.
DATA: BEZEICH LIKE FMFCTRT-BEZEICH.
CONSTANTS: C_00 TYPE MONAT VALUE '00',
           C_13 TYPE MONAT VALUE '13'.
DATA : IT_RETURN LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
DATA: FIPEX1 LIKE COSP-KSTAR.
A T - S E L E C T I O N  S C R E E N
AT SELECTION-SCREEN.
  LOOP AT PERDE.
    IF  PERDE-LOW >= C_13 OR PERDE-HIGH >= C_13 .
      MESSAGE E022(ZA)  WITH 'Enter Period values from 1 to 12'.
      EXIT.
    ENDIF.
  ENDLOOP.
  IF NOT PERDE-LOW IS INITIAL.
    PERIOD1 = PERDE-LOW.
  ENDIF.
  IF NOT PERDE-HIGH IS INITIAL.
    PERIOD2 = PERDE-HIGH.
    PERIOD3 = PERIOD2 - PERIOD1.
    PERIOD3 = PERIOD3 + 1.
  ELSE.
    PERIOD3 = 1.
  ENDIF.
  PERIO = PERIOD1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR RFISTL-LOW.
  SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                           WHERE SPRAS EQ 'EN'
                                           AND   FIKRS EQ 'NFFM'.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD   = 'RFISTL'
      VALUE_ORG  = 'S'
    TABLES
      VALUE_TAB  = IT_FISTL
      RETURN_TAB = IT_RETURN.
  IF SY-SUBRC = 0.
    READ TABLE IT_RETURN INDEX 1.
    MOVE IT_RETURN-FIELDVAL TO RFISTL-LOW.
  ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR RFISTL-HIGH.
  SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                           WHERE SPRAS EQ 'EN'
                                           AND   FIKRS EQ 'NFFM'.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD   = 'RFISTL'
      VALUE_ORG  = 'S'
    TABLES
      VALUE_TAB  = IT_FISTL
      RETURN_TAB = IT_RETURN.
  IF SY-SUBRC = 0.
    READ TABLE IT_RETURN INDEX 1.
    MOVE IT_RETURN-FIELDVAL TO RFISTL-HIGH.
  ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR HKONT-LOW.
  SELECT KSTAR KTEXT INTO TABLE IT_HKONT FROM CSKU WHERE SPRAS EQ 'EN'.
  SORT IT_HKONT BY KSTAR.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD   = 'HKONT'
      VALUE_ORG  = 'S'
    TABLES
      VALUE_TAB  = IT_HKONT
      RETURN_TAB = IT_RETURN.
  IF SY-SUBRC = 0.
    READ TABLE IT_RETURN INDEX 1.
    MOVE IT_RETURN-FIELDVAL TO HKONT-LOW.
  ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR HKONT-HIGH.
  SELECT  KSTAR KTEXT INTO TABLE IT_HKONT FROM CSKU WHERE SPRAS EQ 'EN'.
  SORT IT_HKONT BY KSTAR.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD   = 'HKONT'
      VALUE_ORG  = 'S'
    TABLES
      VALUE_TAB  = IT_HKONT
      RETURN_TAB = IT_RETURN.
  IF SY-SUBRC = 0.
    READ TABLE IT_RETURN INDEX 1.
    MOVE IT_RETURN-FIELDVAL TO HKONT-HIGH.
  ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR KOSTL-LOW.
  SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                           WHERE SPRAS EQ 'EN'
                                           AND   FIKRS IN KOSTL.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD   = 'KOSTL'
      VALUE_ORG  = 'S'
    TABLES
      VALUE_TAB  = IT_FISTL
      RETURN_TAB = IT_RETURN.
  IF SY-SUBRC = 0.
    READ TABLE IT_RETURN INDEX 1.
    MOVE IT_RETURN-FIELDVAL TO KOSTL-LOW.
  ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR KOSTL-HIGH.
  SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                           WHERE SPRAS EQ 'EN'
                                           AND   FIKRS IN KOSTL.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD   = 'KOSTL'
      VALUE_ORG  = 'S'
    TABLES
      VALUE_TAB  = IT_FISTL
      RETURN_TAB = IT_RETURN.
  IF SY-SUBRC = 0.
    READ TABLE IT_RETURN INDEX 1.
    MOVE IT_RETURN-FIELDVAL TO KOSTL-HIGH.
  ENDIF.
*START-OF-SELECTION
START-OF-SELECTION.
  IF RADIO EQ 'X'.                     " FOR FUNDS CENTER AND COMMITMENT ITEM
    PERFORM GET_DATA.
    PERFORM PROCESS_DATA.
  ENDIF.
  IF RADIO1 EQ 'X'.                    " FOR COST CENTER AND G/L ACCOUNT
    PERFORM GET_DATA1.
    PERFORM PROCESS_DATA1.
  ENDIF.
*END OF SELECTION
  PERFORM BUILD_LAYOUT.
  PERFORM BUILD_EVENTS.
  IF RADIO EQ 'X'.
    PERFORM BUILD_FIELDCATALOG.
    PERFORM BUILD_SORT.
    PERFORM DISPLAY_ALV_REPORT.
  ENDIF.
  IF RADIO1 EQ 'X'.
    PERFORM BUILD_FIELDCATALOG1.
    PERFORM BUILD_SORT1.
    PERFORM DISPLAY_ALV_REPORT1.
  ENDIF.
*&      Form  GET_DATA
      text
-->  p1        text
<--  p2        text
FORM GET_DATA .
  SELECT FIKRS FICTR CTR_OBJNR INTO TABLE IT_TAB FROM FMFCTR
                                                 WHERE FIKRS EQ 'NFFM'
                                                 AND   FICTR IN RFISTL.
  SELECT CO_OBJNR POSIT INTO TABLE IT_TAB1 FROM BPIJ
                                           FOR ALL ENTRIES IN IT_TAB
                                           WHERE CO_OBJNR EQ IT_TAB-CTR_OBJNR.
  LOOP AT IT_TAB1.
    SELECT SINGLE FIPEX INTO IT_TAB1-FIPEX FROM FMPOSIT WHERE FIKRS EQ 'NFFM'
                                           AND   POSIT EQ IT_TAB1-POSIT
                                           AND   FIPEX IN FIPEX.
    IF SY-SUBRC EQ '0'.
      MODIFY IT_TAB1.
    ELSE.
      DELETE IT_TAB1.
    ENDIF.
  ENDLOOP.
  SELECT OBJNR
         POSIT
         GJAHR
         WLP01
         WLP02
         WLP03
         WLP04
         WLP05
         WLP06
         WLP07
         WLP08
         WLP09
         WLP10
         WLP11
         WLP12
         INTO TABLE IT_BPPE
         FROM BPPE
         FOR ALL ENTRIES IN IT_TAB1
         WHERE OBJNR EQ IT_TAB1-CO_OBJNR
         AND   POSIT EQ IT_TAB1-POSIT
         AND   GJAHR EQ RYEAR
         AND   VORGA IN ('KBFR','KBUE','KBUS').
  LOOP AT IT_BPPE.
    MOVE-CORRESPONDING IT_BPPE TO IT_BPPE1.
    IT_BPPE1-RFISTL = IT_BPPE1-OBJNR+6(4).
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = IT_BPPE1-RFISTL
      IMPORTING
        OUTPUT = IT_BPPE1-RFISTL.
    CALL FUNCTION 'FM_FIPEX_GET_FROM_POSIT'
      EXPORTING
        I_FIKRS = 'NFFM'
        I_POSIT = IT_BPPE1-POSIT
      IMPORTING
        E_FIPEX = IT_BPPE1-FIPEX.
    PERIOD1 = PERIO.
    DO PERIOD3 TIMES.
      CASE PERIOD1.
        WHEN 1.
          IT_BPPE1-TOTAL2 =  IT_BPPE1-TOTAL2 + IT_BPPE-WLP01.
        WHEN 2.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP02.
        WHEN 3.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP03.
        WHEN 4.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP04.
        WHEN 5.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP05.
        WHEN 6.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP06.
        WHEN 7.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP07.
        WHEN 8.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP08.
        WHEN 9.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP09.
        WHEN 10.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP10.
        WHEN 11.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP11.
        WHEN 12.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP12.
      ENDCASE.
      IF PERIOD2 >= PERIOD1.
        PERIOD1 = PERIOD1 + 1.
      ENDIF.
    ENDDO.
    COLLECT IT_BPPE1.
    CLEAR PERIOD1.
    CLEAR IT_BPPE1.
  ENDLOOP.
  SELECT RYEAR
         FIKRS
         RFISTL
         RFIPEX
         HSL01
         HSL02
         HSL03
         HSL04
         HSL05
         HSL06
         HSL07
         HSL08
         HSL09
         HSL10
         HSL11
         HSL12
         HSL13
         HSL14
         HSL15
         HSL16
         INTO TABLE IT_FMIT FROM FMIT
         FOR ALL ENTRIES IN IT_BPPE1
         WHERE RYEAR EQ RYEAR
         AND   FIKRS EQ 'NFFM'
        AND   RFIPEX EQ IT_BPPE1-FIPEX
         AND  RFIPEX IN FIPEX
         AND   RFISTL EQ IT_BPPE1-RFISTL.
  LOOP AT IT_FMIT.
    MOVE-CORRESPONDING IT_FMIT TO IT_FMIT1.
    PERIOD1 = PERIO.
    DO PERIOD3 TIMES.
      CASE PERIOD1.
        WHEN 1.
          IT_FMIT1-TOTAL =  IT_FMIT1-TOTAL + IT_FMIT-HSL01.
        WHEN 2.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL02.
        WHEN 3.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL03.
        WHEN 4.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL04.
        WHEN 5.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL05.
        WHEN 6.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL06.
        WHEN 7.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL07.
        WHEN 8.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL08.
        WHEN 9.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL09.
        WHEN 10.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL10.
        WHEN 11.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL11.
        WHEN 12.
          IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL12.
      ENDCASE.
      IF PERIOD2 >= PERIOD1.
        PERIOD1 = PERIOD1 + 1.
      ENDIF.
    ENDDO.
    IT_FMIT1-TOTAL1 = IT_FMIT1-TOTAL * -1 .
    COLLECT IT_FMIT1.
    CLEAR PERIOD1.
    CLEAR IT_FMIT1.
  ENDLOOP.
ENDFORM.                    " GET_DATA
*&      Form  PROCESS_DATA
      text
-->  p1        text
<--  p2        text
FORM PROCESS_DATA .
  SORT IT_FMIT1 BY FIKRS RFISTL RFIPEX.
  SORT IT_BPPE1 BY RFISTL FIPEX.
  LOOP AT IT_BPPE1.
    IT_FINAL-RFISTL = IT_BPPE1-RFISTL.
    IT_FINAL-RFIPEX = IT_BPPE1-FIPEX.
    IT_FINAL-ALLOC   = IT_BPPE1-TOTAL2.
    READ TABLE IT_FMIT1 WITH KEY RFISTL = IT_BPPE1-RFISTL  RFIPEX = IT_BPPE1-FIPEX.
    IF SY-SUBRC EQ 0.
      IT_FINAL-USED   = IT_FMIT1-TOTAL1.
    ENDIF.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = IT_FMIT1-RFIPEX
      IMPORTING
        OUTPUT = IT_FMIT1-RFIPEX.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = IT_FMIT1-RFISTL
      IMPORTING
        OUTPUT = IT_FMIT1-RFISTL.
Changes made on 13/11/2007  *******************************
   SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
                                                     AND   FIPEX EQ  IT_FMIT1-RFIPEX.
    SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
                                                      AND   FIPEX EQ  IT_BPPE1-FIPEX.
Changes made on 13/11/2007  *******************************
    SELECT SINGLE BEZEICH INTO IT_FINAL-BEZEICH FROM FMFCTRT
                                                WHERE SPRAS EQ 'EN'
                                                AND   FICTR EQ IT_FMIT1-RFISTL.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = IT_FINAL-RFIPEX
      IMPORTING
        OUTPUT = IT_FINAL-RFIPEX.
    IT_FINAL-REMAIN = IT_FINAL-ALLOC - IT_FINAL-USED.
    APPEND IT_FINAL.
    CLEAR IT_FINAL.
  ENDLOOP.
SORT IT_FINAL BY FIKRS RFISTL RFIPEX.
   LOOP AT IT_FMIT1.
    READ TABLE IT_FINAL WITH KEY RFISTL = IT_FMIT1-RFISTL RFIPEX = IT_FMIT1-RFIPEX.
    IF SY-SUBRC NE 0.
      IT_FINAL-RFISTL = IT_FMIT1-RFISTL.
      IT_FINAL-RFIPEX = IT_FMIT1-RFIPEX.
      IT_FINAL-USED   = IT_FMIT1-TOTAL1.
    IT_FINAL-ALLOC   = '0'.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
        EXPORTING
          INPUT  = IT_FMIT1-RFIPEX
        IMPORTING
          OUTPUT = IT_FMIT1-RFIPEX.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
        EXPORTING
          INPUT  = IT_FMIT1-RFISTL
        IMPORTING
          OUTPUT = IT_FMIT1-RFISTL.
      SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
                                                        AND   FIPEX EQ  IT_FMIT1-RFIPEX.
      SELECT SINGLE BEZEICH INTO IT_FINAL-BEZEICH FROM FMFCTRT
                                                  WHERE SPRAS EQ 'EN'
                                                  AND   FICTR EQ IT_FMIT1-RFISTL.
      IT_FINAL-REMAIN = IT_FINAL-ALLOC - IT_FINAL-USED.
      APPEND IT_FINAL.
      CLEAR IT_FINAL.
    ELSE.
      DELETE IT_FMIT1.
    ENDIF.
  ENDLOOP.
  SORT IT_FINAL BY FIKRS RFISTL RFIPEX.
ENDFORM.                    " PROCESS_DATA
*&      Form  GET_DATA1
      text
-->  p1        text
<--  p2        text
FORM GET_DATA1 .
  SELECT KOKRS KOSTL BUKRS OBJNR INTO TABLE IT_CSKS
                                 FROM CSKS
                                 WHERE KOKRS EQ '1000'
                                 AND   KOSTL IN KOSTL
                                 AND   BUKRS EQ 'NFCL'.
  SELECT OBJNR
         GJAHR
         KSTAR
         BEKNZ
         WKG001
         WKG002
         WKG003
         WKG004
         WKG005
         WKG006
         WKG007
         WKG008
         WKG009
         WKG010
         WKG011
         WKG012
         FROM COSP
         INTO TABLE IT_COSP
         FOR ALL ENTRIES IN IT_CSKS
         WHERE OBJNR EQ IT_CSKS-OBJNR
         AND   GJAHR EQ RYEAR
         AND   KSTAR IN HKONT.
  LOOP AT IT_COSP.
    MOVE-CORRESPONDING IT_COSP TO IT_COSP2.
    PERIOD1 = PERIO.
    DO PERIOD3 TIMES.
      CASE PERIOD1.
        WHEN 1.
          IT_COSP2-TOTAL =  IT_COSP2-TOTAL + IT_COSP-WKG001.
        WHEN 2.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG002.
        WHEN 3.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG003.
        WHEN 4.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG004.
        WHEN 5.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG005.
        WHEN 6.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG006.
        WHEN 7.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG007.
        WHEN 8.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG008.
        WHEN 9.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG009.
        WHEN 10.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG010.
        WHEN 11.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG011.
        WHEN 12.
          IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG012.
      ENDCASE.
      IF PERIOD2 >= PERIOD1.
        PERIOD1 = PERIOD1 + 1.
      ENDIF.
    ENDDO.
    IT_COSP2-OBJNR1 = IT_COSP2-OBJNR+10(6).
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = IT_COSP2-OBJNR1
      IMPORTING
        OUTPUT = IT_COSP2-OBJNR1.
    CONCATENATE 'FSNFFM' IT_COSP2-OBJNR1 INTO IT_COSP2-OBJNR1.
    IT_COSP2-FIPEX = IT_COSP2-KSTAR.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = IT_COSP2-FIPEX
      IMPORTING
        OUTPUT = IT_COSP2-FIPEX.
    CALL FUNCTION 'FM_POSIT_GET_FROM_FIPEX'
      EXPORTING
      I_FIKRS                = 'NFFM'
      I_FIPEX                = IT_COSP2-FIPEX
  I_FLG_BUFFER_ALL       =
   IMPORTING
   E_POSIT                = IT_COSP2-POSIT
TABLES
  T_FMPOSIT              =
    EXCEPTIONS
      INPUT_ERROR            = 1
      DATA_NOT_FOUND         = 2
      OTHERS                 = 3
    IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CONDENSE IT_COSP2-OBJNR1.
    CONDENSE IT_COSP2-POSIT.
    COLLECT IT_COSP2.
    CLEAR PERIOD1.
    CLEAR IT_COSP2.
  ENDLOOP.
  SORT IT_COSP2 BY OBJNR KSTAR.
  SELECT OBJNR
         POSIT
         GJAHR
         WLP01
         WLP02
         WLP03
         WLP04
         WLP05
         WLP06
         WLP07
         WLP08
         WLP09
         WLP10
         WLP11
         WLP12
         INTO TABLE IT_BPPE
         FROM BPPE
         FOR ALL ENTRIES IN IT_COSP2
         WHERE OBJNR EQ IT_COSP2-OBJNR1
         AND   POSIT EQ IT_COSP2-POSIT
         AND   GJAHR EQ RYEAR
         AND   VORGA IN ('KBFR','KBUE','KBUS').
  LOOP AT IT_BPPE.
    MOVE-CORRESPONDING IT_BPPE TO IT_BPPE1.
    PERIOD1 = PERIO.
    DO PERIOD3 TIMES.
      CASE PERIOD1.
        WHEN 1.
          IT_BPPE1-TOTAL2 =  IT_BPPE1-TOTAL2 + IT_BPPE-WLP01.
        WHEN 2.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP02.
        WHEN 3.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP03.
        WHEN 4.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP04.
        WHEN 5.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP05.
        WHEN 6.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP06.
        WHEN 7.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP07.
        WHEN 8.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP08.
        WHEN 9.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP09.
        WHEN 10.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP10.
        WHEN 11.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP11.
        WHEN 12.
          IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP12.
      ENDCASE.
      IF PERIOD2 >= PERIOD1.
        PERIOD1 = PERIOD1 + 1.
      ENDIF.
    ENDDO.
    COLLECT IT_BPPE1.
    CLEAR PERIOD1.
    CLEAR IT_BPPE1.
  ENDLOOP.
ENDFORM.                                                    " GET_DATA1
*&      Form  PROCESS_DATA1
      text
-->  p1        text
<--  p2        text
FORM PROCESS_DATA1 .
  LOOP AT IT_COSP2.
    IT_FINAL1-GJAHR = IT_COSP2-GJAHR.
    IT_FINAL1-KSTAR = IT_COSP2-KSTAR.
    IT_FINAL1-TOTAL1 = IT_COSP2-TOTAL.
    SELECT SINGLE KOSTL FROM CSKS INTO IT_FINAL1-KOSTL WHERE KOKRS = '1000'
                                                        AND BUKRS EQ 'NFCL'
                                                        AND OBJNR = IT_COSP2-OBJNR.
    READ TABLE IT_BPPE1 WITH KEY OBJNR = IT_COSP2-OBJNR1 POSIT = IT_COSP2-POSIT.
    IF SY-SUBRC EQ 0.
      IT_FINAL1-TOTAL3 = IT_BPPE1-TOTAL2.
    ENDIF.
    SELECT SINGLE KTEXT INTO IT_FINAL1-TEXT FROM CSKU WHERE SPRAS EQ 'EN'
                                                      AND  KSTAR EQ  IT_COSP2-KSTAR.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = IT_FINAL1-KOSTL
      IMPORTING
        OUTPUT = IT_FINAL1-KOSTL.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = IT_FINAL1-KSTAR
      IMPORTING
        OUTPUT = IT_FINAL1-KSTAR.
    SELECT SINGLE BEZEICH INTO IT_FINAL1-BEZEICH FROM FMFCTRT
                                                WHERE SPRAS EQ 'EN'
                                                AND   FICTR EQ IT_FINAL1-KOSTL.
    IT_FINAL1-VARIANCE = IT_FINAL1-TOTAL3 - IT_FINAL1-TOTAL1.
    APPEND IT_FINAL1.
    CLEAR IT_FINAL1.
  ENDLOOP.
  SORT IT_FINAL1 BY KOSTL KSTAR.
  DELETE IT_FINAL1 WHERE KOSTL IS INITIAL.
ENDFORM.                    " PROCESS_DATA1
*&      Form  BUILD_FIELDCATALOG
      text
-->  p1        text
<--  p2        text
FORM BUILD_FIELDCATALOG .
  FIELDCATALOG-FIELDNAME   = 'RFISTL'.
  FIELDCATALOG-SELTEXT_M   = 'Funds Center'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'BEZEICH'.
  FIELDCATALOG-SELTEXT_M   = 'Fund Center Description'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'RFIPEX'.
  FIELDCATALOG-SELTEXT_M   = 'Commitment Item'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'TEXT'.
  FIELDCATALOG-SELTEXT_M   = 'Commitment Item Description'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'ALLOC'.
  FIELDCATALOG-SELTEXT_M   = 'Allocated Budget'.
  FIELDCATALOG-DO_SUM      = 'X'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'USED'.
  FIELDCATALOG-SELTEXT_M   = 'Used Budget'.
  FIELDCATALOG-DO_SUM      = 'X'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'REMAIN'.
  FIELDCATALOG-SELTEXT_M   = 'Remaining Budget'.
  FIELDCATALOG-DO_SUM      = 'X'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
ENDFORM.                    " BUILD_FIELDCATALOG
*&      Form  BUILD_FIELDCATALOG1
      text
-->  p1        text
<--  p2        text
FORM BUILD_FIELDCATALOG1 .
  FIELDCATALOG-FIELDNAME   = 'KOSTL'.
  FIELDCATALOG-SELTEXT_M   = 'Cost Center'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'BEZEICH'.
  FIELDCATALOG-SELTEXT_M   = 'Cost Center Description'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'KSTAR'.
  FIELDCATALOG-SELTEXT_M   = 'G/L Account'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'TEXT'.
  FIELDCATALOG-SELTEXT_M   = 'G/L Account Description'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'TOTAL3'.
  FIELDCATALOG-SELTEXT_M   = 'Planned amount'.
  FIELDCATALOG-DO_SUM      = 'X'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'TOTAL1'.
  FIELDCATALOG-SELTEXT_M   = 'Actuals'.
  FIELDCATALOG-DO_SUM      = 'X'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'VARIANCE'.
  FIELDCATALOG-SELTEXT_M   = 'Variance'.
  FIELDCATALOG-DO_SUM      = 'X'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.
ENDFORM.                    " BUILD_FIELDCATALOG1
*&      Form  BUILD_LAYOUT
      text
-->  p1        text
<--  p2        text
FORM BUILD_LAYOUT .
  GD_LAYOUT-NO_INPUT          = 'X'.
  GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
ENDFORM.                    " BUILD_LAYOUT
*&      Form  BUILD_SORT
      text
-->  p1        text
<--  p2        text
FORM BUILD_SORT .
  DATA: GT_SORT TYPE SLIS_SORTINFO_ALV.
  GT_SORT-UP = 'X'.
  GT_SORT-FIELDNAME = 'RFISTL'.
  GT_SORT-TABNAME  = 'IT_FINAL'.
  GT_SORT-SUBTOT  = 'X'.
  APPEND GT_SORT TO GD_SORT.
  CLEAR GT_SORT.
  GT_SORT-UP = 'X'.
  GT_SORT-FIELDNAME = 'BEZEICH'.
  GT_SORT-TABNAME  = 'IT_FINAL'.
  APPEND GT_SORT TO GD_SORT.
  CLEAR GT_SORT.
ENDFORM.                    " BUILD_SORT
*&      Form  BUILD_SORT1
      text
-->  p1        text
<--  p2        text
FORM BUILD_SORT1 .
  DATA: GT_SORT TYPE SLIS_SORTINFO_ALV.
  GT_SORT-UP = 'X'.
  GT_SORT-FIELDNAME = 'KOSTL'.
  GT_SORT-TABNAME  = 'IT_FINAL'.
  GT_SORT-SUBTOT  = 'X'.
  APPEND GT_SORT TO GD_SORT.
  CLEAR GT_SORT.
  GT_SORT-UP = 'X'.
  GT_SORT-FIELDNAME = 'BEZEICH'.
  GT_SORT-TABNAME  = 'IT_FINAL'.
  APPEND GT_SORT TO GD_SORT.
  CLEAR GT_SORT.
ENDFORM.                    " BUILD_SORT1
*&      Form  BUILD_EVENTS
      text
-->  p1        text
<--  p2        text
FORM BUILD_EVENTS .
  IT_EVENT-NAME = 'TOP_OF_PAGE'.
  IT_EVENT-FORM = 'TOP_OF_PAGE'.
  APPEND IT_EVENT TO IT_EVENT1.
CLEAR IT_EVENT.
ENDFORM.                    " BUILD_EVENTS
*&      Form TOP_OF_PAGE
      ALV TOP-OF-PAGE
FORM TOP_OF_PAGE.                                           "#EC CALLED
  REFRESH : IT_LIST_TOP_OF_PAGE.
  CLEAR : IT_LINE.
  IT_LINE-TYP  = 'H'.
  IT_LINE-INFO = TEXT-001.
  APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
  CLEAR IT_LINE.
  IF RADIO EQ 'X'.
    IT_LINE-TYP  = 'S'.
    IT_LINE-INFO  = TEXT-101.
    IF NOT FIPEX-LOW IS INITIAL.
      CONCATENATE TEXT-101 '-' FIPEX-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
      IF NOT FIPEX-HIGH IS INITIAL.
        CONCATENATE TEXT-101 '-' FIPEX-LOW 'to' FIPEX-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
      ENDIF.
    ENDIF.
    APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
    CLEAR IT_LINE-INFO.
    IT_LINE-INFO = TEXT-102.
    IF NOT RFISTL-LOW IS INITIAL.
      CONCATENATE TEXT-102 '-' RFISTL-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
      IF NOT RFISTL-HIGH IS INITIAL.
        CONCATENATE TEXT-102 '-' RFISTL-LOW 'to' RFISTL-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
      ENDIF.
    ENDIF.
    APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
  ENDIF.
  IF RADIO1 EQ 'X'.
    CLEAR IT_LINE-INFO.
    IT_LINE-INFO = TEXT-105.
    IF NOT KOSTL-LOW IS INITIAL.
      CONCATENATE TEXT-105 '-' KOSTL-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
      IF NOT KOSTL-HIGH IS INITIAL.
        CONCATENATE TEXT-105 '-' KOSTL-LOW 'to' KOSTL-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
      ENDIF.
    ENDIF.
    APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
    CLEAR IT_LINE-INFO.
    IT_LINE-INFO = TEXT-106.
    IF NOT HKONT-LOW IS INITIAL.
      CONCATENATE TEXT-106 '-' HKONT-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
      IF NOT HKONT-HIGH IS INITIAL.
        CONCATENATE TEXT-106 '-' HKONT-LOW 'to' HKONT-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
      ENDIF.
    ENDIF.
    APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
  ENDIF.
  CLEAR IT_LINE-INFO.
  IT_LINE-INFO = TEXT-103.
  IF NOT PERDE-LOW IS INITIAL.
    CONCATENATE TEXT-103 '-' PERDE-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
    IF NOT PERDE-HIGH IS INITIAL.
      CONCATENATE TEXT-103 '-' PERDE-LOW 'to' PERDE-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
    ENDIF.
  ENDIF.
  APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
  CLEAR IT_LINE-INFO.
  IT_LINE-INFO = TEXT-104.
  IF NOT RYEAR IS INITIAL.
    CONCATENATE TEXT-104 '-' RYEAR INTO IT_LINE-INFO SEPARATED BY SPACE.
  ENDIF.
  APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = IT_LIST_TOP_OF_PAGE.
ENDFORM.                               "TOP_OF_PAGE
*&      Form  DISPLAY_ALV_REPORT
      text
-->  p1        text
<--  p2        text
FORM DISPLAY_ALV_REPORT .
  GD_REPID = SY-REPID.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM     = GD_REPID
      I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
      IS_LAYOUT              = GD_LAYOUT
      IT_EVENTS              = IT_EVENT1[]
      IT_FIELDCAT            = FIELDCATALOG[]
      IT_SORT                = GD_SORT[]
    TABLES
      T_OUTTAB               = IT_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_ALV_REPORT
*&      Form  DISPLAY_ALV_REPORT1
      text
-->  p1        text
<--  p2        text
FORM DISPLAY_ALV_REPORT1 .
  GD_REPID = SY-REPID.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM     = GD_REPID
      I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
      IS_LAYOUT              = GD_LAYOUT
      IT_EVENTS              = IT_EVENT1[]
      IT_FIELDCAT            = FIELDCATALOG[]
      IT_SORT                = GD_SORT[]
    TABLES
      T_OUTTAB               = IT_FINAL1
    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-MSG

Similar Messages

  • MIRO - Posting Date and Document Date

    Dear Gurus,
    I have a query regarding Posting date and Document Date of Invoice Document.
    I want to keep and restrict user to keep Posting Date and Document date same (current date) and want to restrict user from changing posting date, as i want to kep posting date and document date as same. Please suggest if there is any exit or any control i can implement in order to achieve this.
    thanks & regards,
    Prashant Rathore.

    Hi
    You can create a new Screen / transcation variant, in which the posting date and document date will have displau as field status.
    Regards

  • Issue regarding posting period and due date and document date

    Dear Sir,
    when i am creating sales order/purchase order and in posting date /delivery date/document date 
    how it is allowing me to add the marketing document of date before 3 months. i have checked the box on document setting
    block allow posting date.
    please help me how to block the before and after posting date
    thanks
    Aditee

    Hi,
    I don't have $38.10.number in my query. Where did you get this field?
    please follow below steps:
    1. Run above query in generator. Sure it gives an error message and ignore this message.
    2. save it under query manager
    3. Assign this FMS at AP invoice posting date and set auto refresh when customer vendor refer is changed.
    Thanks & Regards,
    Nagarajan

  • Invoice verification Invoice date,Posting date and Baseline Date

    Hi Sap Gurus
    Pls Tell Me in detail what Dates should be entered at MIRO transaction,
    Invoice date,Posting date and Baseline Date
    i presumed that the date on the Invoice slip will be Invoice date,
    But in the Invoice the Date is very long back, say a month Older,
    the month of Posting as Posting date, but any posting Date made in MIRO will be Paid after 2 or 3 months so in this case what should be the Posting date.
    at Base line date in the present company Senario the Discount on Vendor payment is literally valid for all the time , say
    In Invoice if the condition is 10% discount if paid in 30 days is given.
    but in actual sense the Vendor is paid 10% less even if he is paid after 4 or 6 months also, so in this case what should be the Entry in Baseline date
    another senario is the vendor has sent only one Invoice for 2 POs how can this be accomadated in SAP
    Pls suggest its Urgent,
    Age may have a Bar, But Points No Bar
    Thanks and Regards
    Sathish

    Hi
    LIV is nothing but You are getting Invoice from the Vendor for your PO   and GR.....and you are checking the Invoice for Price, Qty,Amount etc. by refering the PO  and posting the Invoice...
    Invoice Date : 
               The date of Vendor' Invoice...ie) Date at which the vendor Raised the invoice for his supply against your PO...
    Posting Date :
       The Date at which you actually Verifying Vendor's Invoice and doing the Posting...
    base line date :
        Generally the Posting Date...
    The Imp. of Baseline date is for eg)
    If in the Payment Terms if some conditions are maintained like say
    10% Discount for Payment With in 30 days, if
    PO created on 01.11.2007.
    GR done at 10.11.2007.
    Invoice slip Received at 30.11.2007 but having the Date on it as 20.11.2007...
    So as per your terms you will get 10% Discount if you make the payment on or  20.12.07....
    Here if you keep  inv. Date: 20.11.2007  and Posting Date : 30.11.2007  and Baseline Date as  30.11.2007 ( you cannot maintain baseline date earlier than  Posting date)....even though as per terms the you are  eligible for discount if you make the payment on or before 20.11.2007.....as per the system you are still eligible to get the Discount if you make payment on or 30.12.2007( since you have maintained baseline date as 30.11.2007)...
    this way Baseline date is Importane...
    Generally we use to maintain always Posting Date as Baseline date....
    It is advantageous..
    Reward if useful
    regards
    S.Baskaran

  • Goods Receipt and Goods Issue - Posting Date and Document Date Problem

    Hi All,
    I was using SDK to build own add on to insert Posting Date and Document Date under Inventory> Inventory Transactions> Goods Receipt and  Inventory> Inventory Transactions> Goods Issue, but the UI Screen Posting Date and Document Date shown current date.
    My SAP Business One version was 2007A SP00 PL42 and alreadly upgrade to SP05.
    End up result still the same.
    Is there someone can help me?
    Thanks you.
    Best Regards,
    danny

    Hi there,
    I already solve it by myself.
    Actually is i call the initialization twice:
    Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryGenEntry)
    Thats what make this problem happened.
    Sorry.
    Best Regards,
    danny

  • Issue In posting date and Due Date

    Hello All,
    my client is creating a GRPO and manually changing the Posting, And doc date. Then by using Copy to utility he is creating A/P Invoices
    There system automatically shows the Posting date, Document Date as of current date(That is what system behavior is ). But now he wants that system should pick all his dates from Base doc i.e GRPO
    So i want to know that is this possible through some query or FMS
    if yes then please suggest me for the same
    Regards,
    Bhushan

    Hi,
    I don't have $38.10.number in my query. Where did you get this field?
    please follow below steps:
    1. Run above query in generator. Sure it gives an error message and ignore this message.
    2. save it under query manager
    3. Assign this FMS at AP invoice posting date and set auto refresh when customer vendor refer is changed.
    Thanks & Regards,
    Nagarajan

  • Difference between Posting Date and Posting Day

    In Accounting Document Header table BKPF, there are 2 fields: BUDAT (Posting Date) and PSOBT (Posting Day), both of DATS type. What is the difference between the two?
    Why is that substitutions and Business Transaction Events allow changing of Posting Day (PSOBT) and not BUDAT (Posting Date)?
    In that case, how can I change the Posting Date of a document based on certain rules?
    Thank you.

    Hi,
    13 period is a special accounting period, so the situation you described is perfectly normal. The reversal document will be posted in the same period.
    You can read more about special periods here:
    http://help.sap.com/erp2005_ehp_03/helpdata/EN/96/8b2fef43ce11d189ee0000e81ddfac/frameset.htm
    Regards,
    Eli

  • Difference between document date, posting date and created on date in FI

    hi
    Would like to know in which scenario can the document date be different from posting date in case of incoming payment which reamains unallocated for a while.
    Please correct my understanding : created on date will be the date on which we enter/create in SAP which can be different in case we are uploading the documents from legacy sys.
    But will it be different from posting and document date in case this document was created in SAP itself.
    Thanks and regards,
    Sarah.

    Hi
    Document date and creation date are same ie date on which document is created but the posting date is the date on which the document is posted lets say for example a document is created on friday 5:55 as the office gets closed at 6 and sat sun is off now the posting date will be date on monday or the date after monday when the document gets all the necessary approvals
    so it can be posible that posting date and creation date are same for a document and vice versa is also true
    thanks
    puneet

  • Posting Date and Billing Date.

    Hi Experts,
    I am working on an IS-U project at the moment.
    Could anyone please let me know what is the difference between Posting Date and Billing Date?
    Thanks in Advance.
    Regards,
    Chandu.

    Hi,
    <b>Posting Date:</b> The date on which a transaction in SAP will be posted to the appropriate accounts. SAP will default this field to be the current date, but changes are allowed. For items to be posted in a future or past period, you must enter the posting date.
    <b>Billing Date:</b> Billing date from - Date the billing began and Billing Date To - The default is the last date of the current month.
    Hope this helps.
    PB

  • Regarding Posting Date in IDOC for Intercompany Invoice

    Hi,
    We have priority issue regarding posting date in IDOC. When we create Intercompany invoice, billing date in intercompany is Actual GI date of delivery document and also Invoice posted with Actual GI date only. But, in IDOC, Posting date is appearing as Planned GI date of delivery document.
    Actual GI date and Billing date and Posting date in IDOC should be same., but, posting date in IDOC is appearing as Planned GI date of delivery doc.
    Kindly help in finding out the root cause of, why posting date in IDOC is not appearing as Billing date and appearing as Planned GI date of Delivery document. This issue is happening from past one month for Intercompany invoice, previously posting date in IDOC used to appear as Billing date only.
    Thanks & Regards,
    Jai Prabhu.

    Hi Jai,
    Are you using standard message type INVOIC ?
    If so check SEGMENT E1EDK02 for date field
    and also check if there is no code put to overwrite the date
    you can check the code in Function module  "IDOC_OUTPUT_INVOIC"
    thanks
    santosh

  • Posting date and posting periods

    HI Experts,
    I am practicing IDES for SD. While using T VL02N for post good Issue I got this error:
    <b>Posting only possible in periods 2006/12 and 2006/11 in company code 1000
    Message no. M7053
    Diagnosis
    The posting date entered is not within one of the permitted posting periods (current period/previous period).
    This can be due to one of two reasons:
    The correct current period has not been set in the system.
    For the system, the first of the entered periods is the current period. At the beginning of a new period, your systems administrator must change the current period in the material master record, using the function "Shift periods". This has not yet been done.
    You have entered a wrong date in the field "Posting date".
    Procedure
    Check the posting date and correct it if necessary. If your input is correct, inform your systems administrator that the "period shifting" (period-end closing) process has not yet been completed. Copied from M8022</b>
    I don;t think there is problem with my posting date. Can someone guide me on how solving this
    Thanks
    Yael

    Go to OMSY and check the periods are current peiods or not to ur comp code?
    If it is not the current period.
    close the posting period by going to MMPV.
    let us say comp code EG, YEAR-2006  PE-6
    so you have to close the posting periods for all months till this month.
    from comp code-EG
    To comp code- EG
    period-7
    fiscal year-2006
    repeat the same but with period-8(month) 9,10,11,12,
    and do the same for 2007 too till you get the current month in OMSY T-Code.
    you need to do close the period end of every month.
    thank you
    chaitanya

  • Posting date and System date

    Hi SAP experts ,
    I am troubleshooting one system  and I am kind of getting lost ...
    Let me explain the scenario:
    Posting period set up
    Posting date : 01-14-09
    Sytem Date :01 -01-09
    After checking all the information , I ran my period end closing .. I ran a comparison report between 12/31/2008 and 01/01/2009 .
    My balance sheet matches with when I ran by posting date and my balance sheet is way off (especially retained earning )if ran by system date .
    I can get the differnce in amount but was unable to track the exact transaction .Some of the adjustment have been done in this system using system date .
    Any queries that will help me to track  ?  I have used this
    SELECT
    T0.TransId, T1.Account, T1.Taxdate, sum(T1.Debit-T1.Credit) Balance FROM OJDT T0  INNER JOIN JDT1 T1 ON T0.TransId = T1.TransId WHERE T0.TransType = 30 GROUP BY T0.TransId, T1.Account,T1.Taxdate
    But not much of help to target easily ...
    Any advise on this ...Should I consider if balance sheet is correct by posting date , it is fine ..
    Thank you
    Bishal
    Edited by: BIshal Adhikari on Jul 28, 2009 3:52 PM

    Hi Bishal,
    I believe balance sheet by posting date is correct.  System date is only kept for system to show the audit trail when you actually added the document.
    Thanks,
    Gordon

  • Difference between doc date,posting date and invoice date

    hi bw guys
    can someone give a brief on the difference between doc date,posting date and invoice date.and the invidual definitions
    thank you

    Hi,
    Posting Date: Date which is used when entering the document in Financial Accounting or Controlling. The posting date can differ from both the entry date and the doc date.
    Document Date: The document date is the date on which the original document was issued. Ex: Inv date, Bill date etc.,
    Invoice Date : Usually the date when goods are shipped. Payment dates are set relative to the invoice date.
    -Vikram

  • Post date and due date

    Hi all,
    can any  tell me what you mean by 'posting date' and 'net due date' and' clearing date'?
    what is the difference between them?
    Table is-BSID
    BUDAT-posting date
    ZFBDT-Baseline date for due date calculation
    AUGDT-clearing date.
    thank u
    sunny.

    BUDAT-posting date
    -> to determine the book-period (bkpf-monat)
    ZFBDT-Baseline date for due date calculation
    -> determine date when an obligation becomes due
    due date = zfbdt + bsik-zbd1t (or ZBD2t or ZBD3t)
    AUGDT-clearing date
    -> date when open-item becomes a cleared item
    by payment or reversal or...
    A.

  • Issue in finding  GR posting date and quanity for Purchase order item

    Hi All,
    I have a requirement to list all PO items with Goods receipt posting date and quantity.
    So for each po item I have fetched Goods receipt posting date and quantity from table EKBE for movement type 101.
    But in transaction ME23n   in PO history tab it is displaying 3 records.
    2 are movement type 101 and 1 is movement type 102 GR quantity with minus sign.
    How  to find out Goods receipt posting date and quantity.
    what are the movement types we  have to consider.
    Thanks,
    Jwala

    movement type 102 is for GR for PO reversal that is why the quantity is negative.

Maybe you are looking for

  • How do I put a track back into the Cloud?

    My library contains tracks marked as having been removed from the cloud. I didn't remove them and running Match doesn't help. These are songs purchased from Apple. How do I get them back onto the cloud? Thanks,

  • Qosmio F60-111 - HDD replacement

    I have an F60-111 and it had a terrible hard disk problem several months ago, it wasn't even a year old and was already lagging and crashing all of the time. I have 3 years international warranty for it, so I sent the laptop back to Saudi Arabia and

  • How do i transfer Icloud to new device

    Can not figure out how to transfer my Icloud information to a different device

  • How can simple tools be used in 32-bit-per-channel images?

    I have just begin working with HDR imaging.  I am using it for what it was designed for.  The subject of the photograph is a creek, looking straight across the creek to the far bank.  The creek and the far bank are in bright sunlight.  I was in woods

  • Megabook S 260

    Where are the specifiction for Megabook S260, there are too much problem regarding this notebook. Graphic ,system hang & unstable.Operating System Windows Xp Pro Sp2 & Home Sp2. Pls advice