Some sampe financial reports developed in abap ?

Hi,
Can some one list or explain some sample custom FI/CO related reports that can be developed using ABAP ? Typically asked in client environment. I want to practise ALV reporting.
thanks

*& Report  ZFI_BUDGET_ACTUAL
REPORT  ZFI_BUDGET_ACTUALS.
TYPE-POOLS : SLIS.
TABLES: BSEG,BKPF,ZREV_BUDGET,CSKU,IFMEISA1,CSKS,COSP.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: HKONT FOR BSEG-HKONT.
PARAMETERS    : GJAHR LIKE BSEG-GJAHR.
SELECT-OPTIONS:PERDE  FOR IFMEISA1-PERDE DEFAULT '01' TO '12' OBLIGATORY,
                KOSTL FOR ZREV_BUDGET-KOSTL.
SELECTION-SCREEN END OF BLOCK B1.
*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.
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.
*DATA : BEGIN OF IT_BUDGET OCCURS 0,
*         GJAHR LIKE ZREV_BUDGET-GJAHR,
*         KOSTL LIKE ZREV_BUDGET-KOSTL,             " COST CENTER
*         KSTAR LIKE ZREV_BUDGET-KSTAR,
*         APR_B LIKE ZREV_BUDGET-APR_B,
*         MAY_B LIKE ZREV_BUDGET-MAY_B,
*         JUN_B LIKE ZREV_BUDGET-JUN_B,
*         JUL_B LIKE ZREV_BUDGET-JUL_B,
*         AUG_B LIKE ZREV_BUDGET-AUG_B,
*         SEP_B LIKE ZREV_BUDGET-SEP_B,
*         OCT_B LIKE ZREV_BUDGET-OCT_B,
*         NOV_B LIKE ZREV_BUDGET-NOV_B,
*         DEC_B LIKE ZREV_BUDGET-DEC_B,
*         JAN_B LIKE ZREV_BUDGET-JAN_B,
*         FEB_B LIKE ZREV_BUDGET-FEB_B,
*         MAR_B LIKE ZREV_BUDGET-MAR_B,
*     END OF IT_BUDGET.
*DATA : BEGIN OF IT_BUDGET1 OCCURS 0,
*         GJAHR LIKE ZREV_BUDGET-GJAHR,
*         KOSTL LIKE ZREV_BUDGET-KOSTL,             " COST CENTER
*         KSTAR LIKE ZREV_BUDGET-KSTAR,
*         TOTAL2 LIKE COSP-WKG001,
*         TOTAL3 LIKE COSP-WKG001,
*       END OF IT_BUDGET1.
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,
        TOTAL2 LIKE BPPE-WLP01,
      END OF IT_BPPE1.
DATA: BEGIN OF IT_FINAL 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_FINAL.
DATA: BEGIN OF IT_FISTL OCCURS 0,
       KOSTL LIKE BSEG-KOSTL,
       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.
* 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 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.
  PERFORM GET_DATA.
  PERFORM PROCESS_DATA.
  PERFORM BUILD_FIELDCATALOG.
  PERFORM BUILD_LAYOUT.
  PERFORM BUILD_EVENTS.
  PERFORM BUILD_SORT.
  PERFORM DISPLAY_ALV_REPORT.
*&      Form  GET_DATA
*       text
*  -->  p1        text
*  <--  p2        text
FORM GET_DATA .
  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 GJAHR
         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   GJAHR
*           KOSTL
*           KSTAR
*           APR_B
*           MAY_B
*           JUN_B
*           JUL_B
*           AUG_B
*           SEP_B
*           OCT_B
*           NOV_B
*           DEC_B
*           JAN_B
*           FEB_B
*           MAR_B
*           INTO TABLE IT_BUDGET FROM ZREV_BUDGET
*           FOR ALL ENTRIES IN IT_COSP2
*           WHERE GJAHR EQ GJAHR
*           AND   KOSTL IN KOSTL
*           AND KSTAR  EQ IT_COSP2-KSTAR.
*  LOOP AT IT_BUDGET.
*    MOVE-CORRESPONDING IT_BUDGET TO IT_BUDGET1.
*    PERIOD1 = PERIO.
*    DO PERIOD3 TIMES.
*      CASE PERIOD1.
*        WHEN 1.
*          IT_BUDGET1-TOTAL2 =  IT_BUDGET1-TOTAL2 + IT_BUDGET-APR_B.
*        WHEN 2.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-MAY_B.
*        WHEN 3.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-JUN_B.
*        WHEN 4.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-JUL_B.
*        WHEN 5.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-AUG_B.
*        WHEN 6.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-SEP_B.
*        WHEN 7.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-OCT_B.
*        WHEN 8.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-NOV_B.
*        WHEN 9.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-DEC_B.
*        WHEN 10.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-JAN_B.
*        WHEN 11.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-FEB_B.
*        WHEN 12.
*          IT_BUDGET1-TOTAL2 = IT_BUDGET1-TOTAL2 + IT_BUDGET-MAR_B.
*      ENDCASE.
*      IF PERIOD2 >= PERIOD1.
*        PERIOD1 = PERIOD1 + 1.
*      ENDIF.
*    ENDDO.
*    IT_BUDGET1-TOTAL3 = IT_BUDGET1-TOTAL2 * 100000.
*    COLLECT IT_BUDGET1.
*    CLEAR PERIOD1.
*    CLEAR IT_BUDGET1.
*  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_COSP2
         WHERE OBJNR EQ IT_COSP2-OBJNR1
         AND   POSIT EQ IT_COSP2-POSIT
         AND   GJAHR EQ GJAHR
         AND   VORGA EQ 'KBFR'.
  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_DATA
*&      Form  PROCESS_DATA
*       text
*  -->  p1        text
*  <--  p2        text
FORM PROCESS_DATA .
  LOOP AT IT_COSP2.
    IT_FINAL-GJAHR = IT_COSP2-GJAHR.
    IT_FINAL-KSTAR = IT_COSP2-KSTAR.
    IT_FINAL-TOTAL1 = IT_COSP2-TOTAL.
    SELECT SINGLE KOSTL FROM CSKS INTO IT_FINAL-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_FINAL-TOTAL3 = IT_BPPE1-TOTAL2.
    ENDIF.
    SELECT SINGLE KTEXT INTO IT_FINAL-TEXT FROM CSKU WHERE SPRAS EQ 'EN'
                                                      AND  KSTAR EQ  IT_COSP2-KSTAR.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = IT_FINAL-KOSTL
      IMPORTING
        OUTPUT = IT_FINAL-KOSTL.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = IT_FINAL-KSTAR
      IMPORTING
        OUTPUT = IT_FINAL-KSTAR.
    SELECT SINGLE BEZEICH INTO IT_FINAL-BEZEICH FROM FMFCTRT
                                                WHERE SPRAS EQ 'EN'
                                                AND   FICTR EQ IT_FINAL-KOSTL.
    IT_FINAL-VARIANCE = IT_FINAL-TOTAL3 - IT_FINAL-TOTAL1.
    APPEND IT_FINAL.
    CLEAR IT_FINAL.
  ENDLOOP.
  SORT IT_FINAL BY KOSTL KSTAR.
  DELETE IT_FINAL WHERE KOSTL IS INITIAL.
*  DELETE IT_FINAL WHERE TOTAL3 IS INITIAL.
ENDFORM.                    " PROCESS_DATA
*&      Form  BUILD_FIELDCATALOG
*       text
*  -->  p1        text
*  <--  p2        text
FORM BUILD_FIELDCATALOG .
  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_FIELDCATALOG
*&      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_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.
ENDFORM.                    " BUILD_EVENTS
*&      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 = '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_SORT
*&      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
      IS_LAYOUT          = GD_LAYOUT
      IT_EVENTS              = IT_EVENT1[]
      IT_FIELDCAT        = FIELDCATALOG[]
      IT_SORT            = GD_SORT[]
*      I_SAVE             = 'X'
    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 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.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = IT_LIST_TOP_OF_PAGE.
  CLEAR IT_LINE.
ENDFORM.                    "DISPLAY_ALV_REPORT

Similar Messages

  • Financial reporting studio compatibility

    Hi,
    We have two Hyperion projects( 1st team uses 11.1.1.3 and 2nd team uses 11.1.2.1) in the company . Now Financial reporting developer wants to create reports for both the projects using same FR studio. Please advice how to connect to Essbase 11.1.2.1 using Financial reporting studio 11.1.1.3 or vice versa.
    We keep on getting following error :
    "You are not authorized to use this functionality. Contact your administrator."
    We also tried logging in as "admin" but still the same error.
    Thanks

    Hi
    Normally I would say backward compatability woui ldbe more likely to work, i.e. connecting to 11.1.1.3 Essbase from the 11.1.2.1 FR but according to the supported platforms document that I have seen for v11.1.2.x the 11.1.2.1 FR release is only compatible with v9.3.3 and not 11.1.1.3.
    Seems strange that it would work with 9.3.3 and not 11.1.1.3 but that is what it states.
    Hope this helps
    Stuart

  • FUNCTIONAL SPEC FOR ABAP REPORT DEVELOPMENT

    Hi There,
    Can someone please help with a sample of Funtional specs for ABAP Z report development that i could give ABAPer.
    You can scrub the report for names cof company and other personal info, i just want to see what is essential and what is not essential and the presentation.
    Please you can send to my email [email protected]
    Thanks

    Hi,
    Functional Specification  is written by the functional consultants to give to the ABAPers where there will write technical specifications to meet the requirement.
    Regarding your issue, u have to first know
    whats the requirement is
    when to start with either T.Code and
    at what field
    who are authorized to do that
    How we do that
    How this integrated with other modules
    what implications it is going to reflect in other modules
    the approval from the repective supervisors
    and finally viewing the output
    and rectifying the same after going through the technical requirements.
    Mohan
    Award pointsif it helps.

  • First Day with SAP ABAP Report Developement.

    Hi all ..
    I am going to start my career after a year struggle...Advice me how to work with real time system, what are the initial things to consider...Most importantly what are the things SHOULD NOT BE ASKED or done....
    I am selected for Report Developement...plz guys let me join with u... plz advice and i expect u guys will make it happen....

    Hi,
    All the best for your future,
    Even my situation was the same, i mean i just have 1 year of development experience.
    I can say you to work on performance use the extended program check , ABAP test cockpit (if configured ), and code inspector.
    Try to learn the functional flow of the business process, it will help you in getting the indepth knowledge, and hence will maintain your interest.
    Try to be thoroughly learn your development guidelines (standards ), that are specific to your company.
    Regards,
    AnkitMahajan

  • Poll: Development in ABAP Objects / Webdynpro vs. classical Dynpro

    Hey there ABAP developers,
    I just want to ask if you can give me one or two minutes of your attention for two poll questions.
    At the moment I´m writing my master thesis about the development of a monitoring tool in ABAP. One of my bigger chapters is about the decision, which programming paradigm should be used for new development projects in SAP. And another important one is about WebDynpro vs. classical Dynpros.
    Because of the fact, that I can´t create any polls in here, I just started this discussion and hope for many replies .
    It would be very nice if some of you could give me an answer to the following questions (only 2 ), so that I can maybe use the result of this poll in my master thesis, if there are enough responses.
    1. What percentage of new development projects are you developing in ABAP Objects? (Not to be considered small reports that just runs for only one time)
         A. 0 %
         B. less than 25%
         C. 25% - 49%
         D. 50% - 75%
         E. more than 75%
    2. Which GUI technology do you prefer?
         A. Classical Dynpro
         B. WebDynpro
         C. Business Server Pages (BSP)
         D. others (please mention)
    I want to thank you in advance for answering the questions,
    Best regards,
    Christoph

    Hi,
    Present SAP Implementation projects are very rare, maximum projects are support and up gradations only .
    If they want Implement the  SAP  newly  , defiantly they should creating ABAP Objects.
    Why Because  ABAP Objects are Object Oriented Concepts,  so,  for  future reference and re usability..etc .
    Now Come to the First Quetion.
    if it is implementation project   ABAP Objects are   25% - 49%.
    if it is Support project ABAP Objects are   25%
    Now Come to the Second Quetion.
    Depend upon Reqmnt, but Most of the Applications are Webdynpro .  i.e 70%.
    Remaining 30% All ( BSP and GUI ....Etc..)
    This is my opinion.
    Sambaiah.Paidipelli.

  • What is Report Writer in Abap ?

    What is Report Writer in Abap ?
    How we can write a simple report through report writer .
    It's Tcode , How to proceed ?
    I developed several report through ABAP , but i have no clue about Report Writer .
    What is advantage to using it .
    Plz give some Example .
    Regards : rajneesh

    Hi,
       see the help
    http://help.sap.com/saphelp_47x200/helpdata/en/66/bc7dc143c211d182b30000e829fbfe/frameset.htm
    Regards
    Kiran Sure

  • Financial Reporting Related Content Link

    Hi,
    i developed some Financial Reporting reports using 9.3.1 version.
    I've used the Related Content feature in order to obtain a link from a report to another.
    The problem is due to the fact that the new report linked to the related content opens in a new different window respect to the source report.
    I need to open the new report not in a new window but in a new frame (just a new tab in the worspace env.)
    I want obtain the same effect that i have when i lauch a report in the workspace env. without open a different window.
    Any idea of which parameters or setting needs to be manage in order to obtain this behaviour?
    Thanks in advance.
    Regards,
    Stefano

    Hi Stefano,
    My related content opens in a new lower workspace tab on version 9.3.1. (9.3.1.0.0.248 in both IE and Firefox)
    Can you give the exact version and perhaps the code, are you using the default code or inputting manually?
    Here's an example of one of mine:
    http://reporting.uk.foo.com:19000/workspace/index.jsp?module=tools.relatedcontent&repository_path=/Finance/Productivity/Pre%20-%20Chargeback%20Spend%20Trend%20Chart/CQW%20-%20Pre-Chargeback%20Spend%20Trend%20Chart_Alt&elementType=2&repository_name=CQW%20-%20Pre-Chargeback%20Spend%20Trend%20Chart_Alt&repository_format_id=html&run=1&sso_token=$SSO_TOKEN$&$CONTEXT$&rcp_version=$RCP_VERSION$&rcp_alias=$RCP_ALIAS$&mimetype=application/hyperion-reports-report
    Hope this helps, Iain

  • How to learn Report development techniques

    Hi experts,
                   I am a beginner to ABAP.
                   I want to enhance  my Report developing techniques.
                   How can i develop it.
                   Is there any site which will help.
                   I want to if there are any books available.
                   plz help me.
    good answers will be rewarded for sure.
    Thanks and regards,
    shilpa.

    Hi shilpa.
    I would like to suggest you some references,
    Hi shilpa.
    I would like to suggest you some references,
    You can use SDN search.
    [SDN Wiki - Reference for ABAP Reports Development|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/abap/abap%2bbasics]
    [SDN - Reference for reports - classical|RELATED TO  CLASSICAL REPORT;
    [SDN - Reference for Classical Reports|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=classical+reports&adv=false&sortby=cm_rnd_rankvalue]
    [Reference - ABAP reports PDFs.|http://www.esnips.com/_t_/ABAPreports?q=ABAPreports]
    Hope that's usefull.
    Good Luck & Regards.
    Harsh Dave
    Edited by: Harsh Dave on Jul 14, 2008 7:35 PM

  • Oracle Financial Reports designing in XML

    Hello Oracle Professionals.
    I have idea to design the reports in pdf format under 10g reports builder .
    Today my boss ask me to design some reports in XML format for Oracle Financials (Supplier Statement, Voucher detail Report).
    I dont know how to do this in XML, even I also dont know how to upload XML reports in Oracle EBS.
    Please guide me how to design the reports in XML for E-Bussiness Suite and how to upload them.
    A document to do these task + an idea will be much enough for me.
    Thanks
    Everyone

    Hi, well there a couple of things you'll have to do and there's many ways of doing some so I'll ty to stay at high level just to explain.
    First look at XML Publisher designer guide, Search the internet for detailed wlak-thru...
    I assume that your boss asked you to design financial reports using BI Publisher. If so, here's high level steps/things you should know.
    1 - BI Publisher Report (Data and Layout)
    a- Query and layout are now separated (compared to old rdf report).
    b- An xml file (data definition) using a certain structure is used to query and structure data (which will end up in an xml file)
    c- layout are done using a plugin within word which is usually referred as BI Publisher development tools. (You'll need to install this plugin)
    d- The layout are done using word capabilities but you have to incorporate fields and logic in it in order to display data that have been queried.
    e- Template needs to be in .rtf format
    Once this is done, in Oracle apps.
    2 - Define a concurrent program with an XML output using Oracle executable (XDODTEXE) which put all the things together and generate you BI Report.
    3 - Under XML Publisher Responsibility, you'll have to define your template and data definition
    - Under Data definition tab, create a data definition and upload you data definition created in step 1a
    - Under Template tab, create a template and upload you layout created in 1c,1d,1e
    4 - Add you report to a request group and test it thru a reponsibility.

  • What is Report Painter in Abap ?

    What is Report Painter in Abap ?
    How we can write a simple report through report painter .
    It's Tcode , How to proceed ?
    I developed several report through ABAP , but i have no clue about Report Painter .
    What is advantage to using it .
    Plz give some Example .
    Regards : rajneesh

    Hi rajneesh,
    Report Painter : -
    You use the Report Painter to create reports from data in the Special Purpose Ledger (FI-SL) application component and other R/3 application components to meet your specific reporting requirements.Advantages of the Report Painter include:--Easy and flexible report definitionReport definition without using setsDirect layout controlABAP QueryThe SAP Query application is used to create reports not already contained in the default. It has been designed for users with little or no knowledge of the SAP programming language ABAP.SAP Query offers users a broad range of ways to define reports and create different types of reports such as basic lists, statistics, and ranked lists. ABAP Report--
    A ABAP Report is the one which is used to display the output in the form of list with out any GUI screen.It is less userinteraction. or Reading and displaying data, for example in a list. Obsolete name for an execution program that can only implement reporting
    Report Painter allows you to create reports using data from SAP application components, which you can adapt to meet your individual requirements.
    Many of your reporting requirements can already be met by using the standard reports provided by various SAP application components. If these SAP standard reports do not meet your reporting needs, Report Painter enables you to define your specific reports quickly and easily.
    Report Painter fulfills a function similar to Report Writer, but is easier to use. Most of the functions found in Report Writer have been built into Report Painter; however, you do not need to be familiar with all Report Writer concepts (such as Sets) in order to use Report Painter.
    When executing a Report Painter report, it is displayed by the system in Report Writer format. You thus have access to the same functions as for Report Writer reports defined in the same way, and can combine Report Painter and Report Writer reports together in a report group.
    Report Painter uses a graphical report structure, which forms the basis for your report definition and displays the rows and columns as they appear in the final report output.
    To facilitate report definition, you can use many of the standard reporting objects provided by SAP (such as libraries, row/column models, and standard layouts) in your own specific reports. When you define a Report Painter report you can use groups (sets). You can also enter characteristic values directly.
    Advantages of Report Painter include:
    Flexible and simple report definition
    Report definition without using sets
    Direct layout control: The rows and columns are displayed in the report definition as they appear in the final report output, making test runs unnecessary.
    http://help.sap.com/saphelp_47x200/helpdata/en/56/32e339b62b3011e10000000a11402f/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/5b/d22cee43c611d182b30000e829fbfe/frameset.htm
    thanks
    shankar
    reward me if usefull

  • Financial Reporting Studio work space.

    I am currently developing a financial report that will have 26 grids on it, but there is only one page size in the Work Area. Can some one let me know how to make it two pages/increase it?
    Thanks for the help.

    Alexander,
    Thanks for your answer.
    I have already rebooted the entire server and even re-installed the FR Studio without any success, so there should be another problem.
    Any other suggestions?
    Marc

  • Hyperion Financial Reporting Studio - usage log and exporting criteria

    Hello, is there a way to run a usage log for the reports that we have in Financial Reporting Studio?
    In addition, can I export the report criterias? I'm looking at potentially archiving some reports we have out on the server that is not currently being used. Thanks much!!!

    The FRReportSrv log file under Hyperion\logs\BIPlus gives you the report usage tracking. I am not the developer of our process and I am not techie at all, but we have a process that scans the log files, parses the log files and load it into Oracle. Then thru Oracle Apex, we develop reports to track FR usage.
    I am not sure what you mean by report criterias. Do you mean, for example, if the report is not used for over 5 months, you would like to archive it? If you can create a similar report like the one I described above, then yes, it would help you to determine the idle reports, but I am not sure if you can automatically archive the reports. I think it would have to be manual, where you would use the export function on Workspace to archive your report.
    Hope this helps.
    Cheers,
    Mehmet

  • FDM and Hyperion Financial Reporting

             Hi all,
    Is it possible to build Financial Reporting reports for FDM application? If it's possible, how to connect to FDM via FinRep?
    Thank you in advance.

    You can build custom reports to use custom SQL query.
    You could configure one report such as:
    Location     AccountA     AccountB     AccountC
    Location1     10000          12311          32423
    Location2     21311          50000          20000
    I would suggest you start with your SQL query (SQL Developer, MSSQL Studio, Toad...) and try to get data in your format.
    Then you can create a report and test this query in SQL Preview to see if it is working (sometimes SQL queries have some restrictions when being used in reports)
    Once you have your data in the SQL preview you can build your report to show it.
    HTH

  • Financial Reporting Exception - Error executing query: java.lang.Arithmetic

    Hi all,
    I'm using the Financial Reporting Studio 11.1.2.507 to develop a report to a planning application, so i'm using a planning connection to do it. This report involves some calcs and i have sure that is possible generate a divide by zero. But what happen is: I started developing this report using the user admin and no error message was shown. Then when i tryed to acess this report with a user other than the admin user the error occurs: "Error executing query: java.lang.ArithmeticException: / by zerojava.lang.ArithmeticException".
    So, have you seen this scenario before?
    Could you help me with this issue?
    p.s: if i wasn't clear enough, please tell me!
    Warm regards,
    Rafael Melo - Brasil

    Mehmet,
    Thanks a lot for your quick response. The error message appears when i acess through the workspace. When I was developing I was acessing with admin user (FR Studio) and now I'm using other user to test the report in the workspace. I've commited a mistake when i thought that the user point of view that I defined when i was developing would be applied over all users. So, when I opened the report with a user other than the admin the error ocurred because the default attributes resulted in a empty resultset or something like that.
    Is there a way to define a user point of view (pov) for all user at once?
    Best Regards,
    Rafael Melo

  • Financial Report Template

    Hi Experts,
    I need to develop a report template for Financial Reports, I need to sort my accounts in a different way other than using the Chart of Accounts Template,I already tried creating a new template but I had some hick-ups, can any one please point me to any documentation/guide for developing report templates.
    Waiting to Hear from You.
    Kind Regards
    Edited by: Chike Nwogu on Dec 2, 2008 1:04 PM

    Hi
    To compile financial reports, the system needs a template that specifies the structure of the report. You must define these financial report templates in advance.
    For some countries SAP Business One delivers templates that you can use to create your own financial report templates. An alternative is to copy the structure of your chart of accounts and then make any necessary changes to it. You can use the financial report templates to compile balance sheets, profit and loss statements, and trial balance reports (totals and balances of G/L accounts and business partner accounts).
    Balance Sheet u2013 The system proposes the accounts in the Assets group as assets (active) accounts; the system proposes the accounts in the Liabilities group and the Capital and Reserves group as liability (passive) accounts. You can change these proposals on the highest levels of your financial report template. The system automatically displays the profit or loss for the period (Profit Period).
    Profit and Loss Statement u2013 The system proposes the accounts in all the other groups (Turnover, Cost of Sales, Operating Costs, Non-Operating Income and Expenditure, Taxation and Extraordinary Items) and offers the calculation of subtotals.
    Trial Balance u2013 The financial report template can contain the accounts from all groups. It displays the totals of all groups but does not offer any subtotal calculation.
    You can create comparison reports that compare the figures from a specific company or fiscal year with those of a different company or fiscal year.
    Choose Financials  Financial Reports  Financial and then Balance Sheet or Trial Balance or Profit and Loss Statement to generate these financial reports.
    Choose Financials  Financial Report Templates to define and maintain financial report templates.
    Editing a financial report template is similar, but not identical to, editing a chart of accounts.
    Every financial report template has exactly five levels.
    Levels one to four consist of only titles.
    The G/L accounts are all located on the fifth level.
    If you want the totals of the G/L accounts to be displayed on a higher level, you can make the higher titles invisible by selecting the Dummy Title indicator.
    You can hide G/L accounts if you donu2019t want them to be displayed.
    In a financial report template for balance sheets, you can let the system automatically transfer accounts to the other side of the balance sheet in case the account balance is negative. To do this, select the Transfer Accounts with Negative Sign indicator and specify the place where the transferred account should be.
    In a financial report template for profit and loss statements, the system can insert a subtotal on every level:
    Level 1 (level of account groups): Select Automatic Summary to let the system use predefined formulas for the gross profit, operating profit, profit after financing expenses, and profit period.
    All levels: You can define your own formulas. Select Totals Formula and choose Formula to enter a formula based on the titles of the same level as the subtotal.
    Regards
    Rashid

Maybe you are looking for