Tuesday, February 9, 2016

List of GL Open Items

*&---------------------------------------------------------------------*
*& Report  ZVENDOR_OP_SUMMARY
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZGL_OP_SUMMARY.

TABLESBSEGBKPF.

TYPE-POOLS SLIS.

DATAFIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
      GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV,
      GD_LAYOUT    TYPE SLIS_LAYOUT_ALV,
      GD_REPID     LIKE SY-REPID,
      GT_EVENTS     TYPE SLIS_T_EVENT,
      GD_PRNTPARAMS TYPE SLIS_PRINT_ALV.

DATAV_BELNR TYPE BSEG-BELNR.

SELECT-OPTIONS  V_HKONT FOR BSEG-HKONT.
SELECT-OPTIONS  V_GSBER FOR BSEG-GSBER.

TYPES BEGIN OF TY_BSEG,
        BUKRS TYPE BSEG-BUKRS,
        HKONT TYPE BSEG-HKONT,
        GSBER TYPE BSEG-GSBER,
        COUNT TYPE I,
        DMBTR TYPE BSEG-DMBTR,
        SHKZG TYPE SHKZG,
        SGTXT TYPE SGTXT,
       END OF TY_BSEG.

DATAITAB TYPE STANDARD TABLE OF TY_BSEG WITH HEADER LINE.
DATAWA TYPE TY_BSEG.

DATAIT_BSIK TYPE STANDARD TABLE OF BSIK WITH HEADER LINE.
DATAWA_BSIK LIKE LINE OF IT_BSIK.

DATAV_COUNT TYPE I.
DATAX_BUKRS TYPE BSEG-BUKRS.
DATAX_LIFNR TYPE BSEG-LIFNR.
DATAX_GSBER TYPE BSEG-GSBER.
DATAX_SAKNR TYPE BSEG-SAKNR.
DATAX_HKONT TYPE BSEG-HKONT.
DATAX_DMBTR TYPE BSEG-DMBTR.
DATAX_SHKZG TYPE BSEG-SHKZG.

SELECT COUNT(*SUMDMBTR BUKRS GSBER HKONT SHKZG FROM BSIS INTO (V_COUNTX_DMBTRX_BUKRSX_GSBERX_HKONTX_SHKZG)
WHERE BUKRS 'RCFL' AND
  HKONT IN V_HKONT AND
  GSBER IN V_GSBER
  GROUP BY BUKRS GSBER HKONT SHKZG
  ORDER BY GSBER.
  WA-BUKRS X_BUKRS.
  WA-GSBER X_GSBER.
  WA-HKONT X_HKONT.
  WA-COUNT V_COUNT.
  WA-DMBTR X_DMBTR.
  WA-SHKZG X_SHKZG.
  IF X_SHKZG EQ 'H'.
    WA-SGTXT 'Credit'.
  ENDIF.
  IF X_SHKZG EQ 'S'.
    WA-SGTXT 'Debit'.
  ENDIF.
  APPEND WA TO ITAB.
ENDSELECT.

PERFORM BUILD_FIELDCATALOG.
PERFORM BUILD_LAYOUT.
PERFORM DISPLAY_ALV_REPORT.

FORM BUILD_FIELDCATALOG .
  FIELDCATALOG-FIELDNAME   'BUKRS'.
  FIELDCATALOG-SELTEXT_M   'Company Code'.
  FIELDCATALOG-COL_POS     1.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.

  FIELDCATALOG-FIELDNAME   'GSBER'.
  FIELDCATALOG-SELTEXT_M   'Business Area'.
  FIELDCATALOG-COL_POS     2.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.

  FIELDCATALOG-FIELDNAME   'HKONT'.
  FIELDCATALOG-SELTEXT_M   'GL Account'.
  FIELDCATALOG-COL_POS     3.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.

  FIELDCATALOG-FIELDNAME   'COUNT'.
  FIELDCATALOG-SELTEXT_M   'Open Item'.
  FIELDCATALOG-COL_POS     4.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.

  FIELDCATALOG-FIELDNAME   'DMBTR'.
  FIELDCATALOG-SELTEXT_M   'Total Amount'.
  FIELDCATALOG-COL_POS     5.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.

  FIELDCATALOG-FIELDNAME   'SGTXT'.
  FIELDCATALOG-SELTEXT_M   'Credit/Debit'.
  FIELDCATALOG-COL_POS     6.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR  FIELDCATALOG.

ENDFORM.                    " BUILD_FIELDCATALOG

FORM BUILD_LAYOUT .
GD_LAYOUT-NO_INPUT          'X'.
  GD_LAYOUT-COLWIDTH_OPTIMIZE 'X'.
  GD_LAYOUT-TOTALS_TEXT       'TOTALS'(201).
ENDFORM.                    " BUILD_LAYOUT

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'  "SEE FORM
            I_CALLBACK_USER_COMMAND 'USER_COMMAND'
*            I_GRID_TITLE           = OUTTEXT
            IS_LAYOUT               GD_LAYOUT
            IT_FIELDCAT             FIELDCATALOG[]
*            IT_SPECIAL_GROUPS       = GD_TABGROUP
            IT_EVENTS               GT_EVENTS
            IS_PRINT                GD_PRNTPARAMS
            I_SAVE                  'X'
*            IS_VARIANT              = Z_TEMPLATE
       TABLES
            T_OUTTAB                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.
ENDFORM.                    " DISPLAY_ALV_REPORT

No comments:

Post a Comment