Sunday, May 5, 2013

Example of VENDOR AGEING REPORT



*&---------------------------------------------------------------------*
*& Report  ZFI_VENDOR_AGEING                                           *
*&---------------------------------------------------------------------*
*& Title - Vendor Ageing report to calculate the outstanding days      *


REPORT  zfi_vendor_ageing.

TABLES : bsik, BAPIFVDEXP_VZZBEPP.

DATA : t_bsik LIKE bsik OCCURS 0 WITH HEADER LINE,
       t_bsak LIKE bsak OCCURS 0 WITH HEADER LINE,
       days like BAPIFVDEXP_VZZBEPP-NUM4.

DATA : BEGIN OF t_lfa1 OCCURS 0,
         lifnr LIKE lfa1-lifnr,
         name1 LIKE lfa1-name1,
         adrnr LIKE lfa1-adrnr,
       END OF t_lfa1.

DATA : BEGIN OF t_adrc OCCURS 0,
         adrnr LIKE lfa1-adrnr,
         street LIKE adrc-street,
         city1 LIKE adrc-city1,
       END OF t_adrc.

DATA : BEGIN OF t_BSEG OCCURS 0,
         zfbdt LIKE BSEG-zfbdt,
         KOART LIKE BSEG-KOART,
         KOSTL LIKE BSEG-KOSTL,
         PROJK LIKE BSEG-PROJK,
       END OF t_BSEG.

DATA : BEGIN OF t_prps OCCURS 0,
         POSID like prps-posid,
         OBJNR like prps-objnr,
      END OF t_prps.

DATA : T_KOSTL LIKE BSEG-KOSTL,
       T_PROJK LIKE BSEG-PROJK,
       TEXT(15).

DATA : BEGIN OF t_output OCCURS 0,
         lifnr LIKE lfa1-lifnr,
         name1 LIKE lfa1-name1,
         street LIKE adrc-street,
         city1 LIKE adrc-city1,
         OBJNR LIKE prps-OBJNR,
         posid LIKE prps-posid,
         KOSTL LIKE BSIK-KOSTL, " COST CENTER
         UMSKZ like bsik-UMSKZ,
         belnr like bsik-belnr,
         bukrs like bsik-bukrs,
         gjahr like bsik-gjahr,
         wrbtr like bsik-wrbtr,
         hkont like bsik-hkont,
         dif1  like bsik-wrbtr,
         dif2  like bsik-wrbtr,
         dif3  like bsik-wrbtr,
         dif4  like bsik-wrbtr,
         dif5  like bsik-wrbtr,
         days like BAPIFVDEXP_VZZBEPP-NUM4,
       END OF t_output.

* Alv data declaration
TYPE-POOLS : slis.
DATA :alv_fieldcat            TYPE slis_t_fieldcat_alv,
      alv_fieldcat_line       LIKE LINE OF alv_fieldcat,
      alv_sort                TYPE slis_t_sortinfo_alv,
      alv_sort_line           LIKE LINE OF alv_sort,
      alv_layout              TYPE slis_layout_alv,
      g_repid                 LIKE sy-repid VALUE sy-repid,
      alv_status_set          TYPE slis_formname VALUE 'ALV_STATUS_SET',
      alv_user_comm           TYPE slis_formname VALUE 'ALV_USER_COMM',
      grid_title              TYPE lvc_title,
      alv_fieldcat_acty       TYPE slis_t_fieldcat_alv,
      g_save,
      gs_variant                LIKE disvariant,
      g_exit_caused_by_caller   TYPE c,
      gs_exit_caused_by_user    TYPE slis_exit_by_user.


DATA: alv_fieldcat_line_acty  LIKE LINE OF alv_fieldcat_acty,
      alv_layout_acty         TYPE slis_layout_alv,
      gt_list_top_of_page     TYPE slis_t_listheader,
      gt_events               TYPE slis_t_event,
      message                 TYPE string,

      r_ucomm     LIKE sy-ucomm,
      rs_selfield TYPE slis_selfield.

CONSTANTS:
      gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.


SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_bukrs FOR bsik-bukrs,
                 s_gjahr FOR bsik-gjahr,
                 s_lifnr FOR bsik-lifnr,
                 s_umskz FOR bsik-umskz.
parameters     : p_augdt like bsik-augdt OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS : s_date1 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY
                 DEFAULT 1 TO 30,
                 s_date2 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY
                 DEFAULT 30 TO 60,
                 s_date3 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY
                 DEFAULT 60 TO 90,
                 s_date4 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY
                 DEFAULT 90 TO 120,
                 s_date5 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY
                 DEFAULT 120 TO 150.
SELECTION-SCREEN END OF BLOCK b2.


INITIALIZATION.

START-OF-SELECTION.
  PERFORM fetch_data.
  PERFORM display.

*&---------------------------------------------------------------------*
*&      Form  fetch_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM fetch_data .

  SELECT *
  INTO TABLE t_bsik
  FROM bsik
  WHERE bukrs IN s_bukrs
  AND   gjahr IN s_gjahr
  AND   lifnr IN s_lifnr
  AND   umskz IN s_umskz
  AND   umskz NOT IN ('F','P','L','G').
*  AND   zfbdt <= P_augdt.

  if sy-subrc = 0.
    SELECT *
    INTO TABLE t_bsak
    FROM bsak
    WHERE bukrs IN s_bukrs
    AND   gjahr IN s_gjahr
    AND   lifnr IN s_lifnr
    AND   umskz IN s_umskz
    AND   umskz NOT IN ('F','P','L','G')
    AND   AUGDT > P_augdt.

    loop at t_bsak.
      move-corresponding t_bsak to t_bsik.
      append t_bsik.
    endloop.

    loop at t_bsik.
      if t_bsik-zfbdt is initial.
        t_bsik-zfbdt = t_bsik-bldat.
        modify t_bsik transporting zfbdt.
      endif.
      if t_bsik-zfbdt > P_augdt.
        delete t_bsik.
      endif.
*      if t_bsik-umskz > P_augdt.

    endloop.

    select lifnr
           name1
           adrnr
    into table t_lfa1
    from lfa1
    for all entries in t_bsik
    where lifnr = t_bsik-lifnr.
    if sy-subrc = 0.
      select ADDRNUMBER as adrnr
             street
             city1
      into table t_adrc
      from adrc
      for all entries in t_lfa1
      where ADDRNUMBER = t_lfa1-adrnr.
    endif.
  endif.
  LOOP AT t_bsik.
    if t_bsik-shkzg = 'S'.
      t_bsik-WRBTR = t_bsik-WRBTR * -1.
    endif.
    REFRESH T_BSEG.
    CLEAR : T_KOSTL, T_PROJK, t_output.
    IF t_bsik-rebzg IS NOT INITIAL.
      SELECT zfbdt
             KOART
             KOSTL
             PROJK
      INTO TABLE T_BSEG "t_bsik-ZFBDT
      FROM bseg
      WHERE bukrs = t_bsik-bukrs
      AND   belnr = t_bsik-rebzg
      AND   gjahr = t_bsik-rebzj
      and   KOART IN ('K','S').
      LOOP AT T_BSEG.
        IF T_BSEG-KOART = 'K' AND T_BSEG-zfbdt IS NOT INITIAL.
          t_bsik-ZFBDT = T_BSEG-ZFBDT.
          MODIFY t_bsik TRANSPORTING ZFBDT.
        ELSEIF T_BSEG-KOART = 'S'.
          T_KOSTL = T_BSEG-KOSTL.
          T_PROJK = T_BSEG-PROJK.
        ENDIF.
      ENDLOOP.
    ELSE.
      SELECT SINGLE KOSTL PROJK
      INTO (T_KOSTL, T_PROJK)
      FROM bseg
      WHERE bukrs = t_bsik-bukrs
      AND   belnr = t_bsik-BELNR
      AND   gjahr = t_bsik-GJAHR
      and   KOART = 'S'.
    ENDIF.
    MOVE-CORRESPONDING t_bsik TO t_output.
    t_output-KOSTL = T_KOSTL.
    CONCATENATE 'PR' T_PROJK INTO T_OUTPUT-OBJNR.
    days = P_augdt - t_bsik-ZFBDT.
    READ TABLE t_lfa1 WITH KEY lifnr = t_output-LIFNR.
    IF SY-SUBRC = 0.
      t_output-NAME1 = t_lfa1-NAME1.
      READ TABLE t_adrc WITH KEY ADRNR = t_lfa1-ADRNR.
      IF SY-SUBRC = 0.
        t_output-street = t_adrc-STREET.
        t_output-city1 = t_adrc-CITY1.
      ENDIF.
    ENDIF.
    t_output-days = days.
    if days >= s_date1-low and days < s_date1-high.
      t_output-dif1 = t_bsik-wrbtr. " days.
    elseif days >= s_date2-low and days < s_date2-high.
      t_output-dif2 = t_bsik-wrbtr. "days.
    elseif days >= s_date3-low and days < s_date3-high.
      t_output-dif3 = t_bsik-wrbtr. "days.
    elseif days >= s_date4-low and days < s_date4-high.
      t_output-dif4 = t_bsik-wrbtr. "days.
    elseif days >= s_date5-low and days < s_date5-high.
      t_output-dif5 = t_bsik-wrbtr. "days.
    endif.
    append t_output.
  ENDLOOP.
  if T_OUTPUT[] is not initial.
    SELECT POSID
           OBJNR
    INTO TABLE T_PRPS
    FROM PRPS
    FOR ALL ENTRIES IN T_OUTPUT
    WHERE OBJNR = T_OUTPUT-OBJNR.
  endif.
  LOOP AT T_OUTPUT.
    read table T_PRPS with key objnr = T_OUTPUT-objnr.
    if sy-subrc = 0.
      T_OUTPUT-POSID = T_PRPS-POSID.
      MODIFY t_output TRANSPORTING POSID.
    endif.
  ENDLOOP.

ENDFORM.                    " fetch_data
*&---------------------------------------------------------------------*
*&      Form  display
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM display .

  PERFORM build_alv_layout.
  PERFORM s_sort_build USING alv_sort[].
  PERFORM build_field_catalogs.
  PERFORM eventtab_build CHANGING gt_events.
*   SORT t_output BY .
  g_save = 'A'.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program       = g_repid
      i_callback_pf_status_set = alv_status_set
      i_callback_user_command  = alv_user_comm
      i_grid_title             = grid_title
      i_save                   = g_save
      is_variant               = gs_variant
      is_layout                = alv_layout
      it_fieldcat              = alv_fieldcat[]
      it_events                = gt_events[]
      it_sort                  = alv_sort[]
    IMPORTING
      e_exit_caused_by_caller  = g_exit_caused_by_caller
      es_exit_caused_by_user   = gs_exit_caused_by_user
    TABLES
      t_outtab                 = t_output.

    PERFORM alv_user_comm USING r_ucomm
                                rs_selfield.
  IF sy-subrc = 0.
    IF g_exit_caused_by_caller = 'X'.
    ELSE.
      IF gs_exit_caused_by_user-back = 'X'.                 " F3
      ELSE.
        IF gs_exit_caused_by_user-exit = 'X'.               " F15
        ELSE.
          IF gs_exit_caused_by_user-cancel = 'X'.           " F12
          ELSE.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDIF.
  ELSE.
*" Fatal error calling ALV
  ENDIF.
ENDFORM.                    " display
*&---------------------------------------------------------------------*
*&      Form  build_alv_layout
*&---------------------------------------------------------------------*
FORM build_alv_layout.
  CLEAR alv_layout.
  alv_layout-colwidth_optimize  = 'X'"always display full columns
*  alv_layout-box_fieldname      = 'CHK'.
*  alv_layout-box_tabname        = 'T_OUTPUT'.
  alv_layout-info_fieldname     = 'COLOR'"color a line
  alv_layout-detail_popup       = 'X'.
  alv_layout-zebra              = 'X'"Zebra output
ENDFORM.                    " build_alv_layout
*---------------------------------------------------------------------*
*       FORM s_sort_build                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  LT_SORT                                                       *
*---------------------------------------------------------------------*
FORM s_sort_build USING lt_sort TYPE slis_t_sortinfo_alv.
  DATA: ls_sort TYPE slis_sortinfo_alv.
  CLEAR  ls_sort.
  ls_sort-spos      =  1.
  ls_sort-fieldname =  'LIFNR'.
  ls_sort-up        =  'X'.
  ls_sort-group     =  'UL'.
  ls_sort-subtot       =  'X'.

  APPEND ls_sort TO lt_sort.
  CLEAR  ls_sort.
  ls_sort-spos      =  2.
  ls_sort-fieldname =  'BELNR'.
  ls_sort-up        =  'X'.
  ls_sort-subtot       =  'X'.
  ls_sort-group     =  'UL'.
  APPEND ls_sort TO lt_sort.
  CLEAR  ls_sort.
ENDFORM.                    "s_sort_build
*&---------------------------------------------------------------------*
*&      Form  eventtab_build
*&---------------------------------------------------------------------*
FORM eventtab_build CHANGING lt_events TYPE slis_t_event.

  FIELD-SYMBOLS: <lt_events> LIKE LINE OF lt_events.

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type     = 0
    IMPORTING
      et_events       = lt_events
    EXCEPTIONS
      list_type_wrong = 1
      OTHERS          = 2.

* Define TOP_OF_PAGE event
  READ TABLE lt_events WITH KEY name = slis_ev_top_of_page
       ASSIGNING <lt_events>.
  IF sy-subrc EQ 0.
    MOVE gc_formname_top_of_page TO <lt_events>-form.
  ENDIF.

ENDFORM.                    " eventtab_build
*&---------------------------------------------------------------------*
*&      Form  TOP_OF_PAGE
*&---------------------------------------------------------------------*
FORM top_of_page.
  REFRESH gt_list_top_of_page.
  CLEAR gt_list_top_of_page.
  PERFORM comment_build USING gt_list_top_of_page.

* Output GSPC logo on report header

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary = gt_list_top_of_page
      i_logo             = 'GSPC_LOGO'.
ENDFORM.                    "top_of_page

*&---------------------------------------------------------------------*
*&      Form  COMMENT_BUILD
*&---------------------------------------------------------------------*
* Build comments at top of page
*----------------------------------------------------------------------*
FORM comment_build CHANGING gt_top_of_page TYPE slis_t_listheader.
  DATA: gs_line TYPE slis_listheader.
  CLEAR gs_line.
  gs_line-typ  = 'H'.
  gs_line-info = 'Vendor Ageing'.
  APPEND gs_line TO gt_top_of_page.

  CLEAR gs_line.
  gs_line-typ  = 'S'.
  gs_line-key  = 'Report ID:'.
  gs_line-info = sy-repid.
  APPEND gs_line TO gt_top_of_page.

  CLEAR gs_line.
  gs_line-typ  = 'S'.
  gs_line-key  = 'User:'.
  gs_line-info = sy-uname.
  APPEND gs_line TO gt_top_of_page.

  CLEAR gs_line.
  gs_line-typ  = 'S'.
  gs_line-key  = 'Date:'.
  WRITE sy-datum TO gs_line-info MM/DD/YYYY.
  APPEND gs_line TO gt_top_of_page.

  CLEAR gs_line.
  gs_line-typ  = 'S'.
  gs_line-key  = 'Time:'.
  WRITE sy-uzeit TO gs_line-info USING EDIT MASK '__:__:__'.
  APPEND gs_line TO gt_top_of_page.
  CLEAR gs_line.
  gs_line-typ  = 'S'.
  gs_line-key  = ''.
  WRITE ' '.
  APPEND gs_line TO gt_top_of_page.

* Output data from selection screen

ENDFORM.                    "comment_build
*----------------------------------------------------------------------*
*Build ALV Summary field catalog
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Form  build_field_catalogs
*&---------------------------------------------------------------------*
 FORM build_field_catalogs.
   CLEAR: alv_fieldcat.
   REFRESH: alv_fieldcat.

* Vendor Number
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'Vendor Number'.
*   alv_fieldcat_line-hotspot = 'X'.
   alv_fieldcat_line-fieldname  = 'LIFNR'.
   APPEND alv_fieldcat_line TO alv_fieldcat.
   CLEAR alv_fieldcat_line.

* Vendor Name
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'Vendor Name'.
   alv_fieldcat_line-fieldname  = 'NAME1'.
   APPEND alv_fieldcat_line TO alv_fieldcat.
   CLEAR alv_fieldcat_line.

* Vendor Address
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'Vendor Address'.
   alv_fieldcat_line-fieldname  = 'STREET'.
   APPEND alv_fieldcat_line TO alv_fieldcat.
   CLEAR alv_fieldcat_line.

* City
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'City'.
   alv_fieldcat_line-fieldname  = 'CITY1'.
   APPEND alv_fieldcat_line TO alv_fieldcat.
   CLEAR alv_fieldcat_line.

* Object number #
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'object #'.
   alv_fieldcat_line-fieldname  = 'OBJNR'.
   alv_fieldcat_line-no_out  = 'X'.
   APPEND alv_fieldcat_line TO alv_fieldcat.
   CLEAR alv_fieldcat_line.

* WBS Element
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'WBS Element'.
   alv_fieldcat_line-fieldname = 'POSID'.
   APPEND alv_fieldcat_line TO alv_fieldcat.

* Cost Center
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'Cost Center'.
   alv_fieldcat_line-fieldname = 'KOSTL'.
   APPEND alv_fieldcat_line TO alv_fieldcat.

* GL Indicator
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'GL Indicator'.
   alv_fieldcat_line-fieldname = 'UMSKZ'.
   APPEND alv_fieldcat_line TO alv_fieldcat.
   CLEAR alv_fieldcat_line.

* General Ledger Account
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'General Ledger Account'.
   alv_fieldcat_line-fieldname = 'HKONT'.
   APPEND alv_fieldcat_line TO alv_fieldcat.

* Document No.
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-hotspot = 'X'.
   alv_fieldcat_line-seltext_l = 'Document No.'.
   alv_fieldcat_line-fieldname  = 'BELNR'.
   APPEND alv_fieldcat_line TO alv_fieldcat.
   CLEAR alv_fieldcat_line.

* Amount
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'Amount'.
   alv_fieldcat_line-fieldname  = 'WRBTR'.
   alv_fieldcat_line-no_out  = 'X'.
   APPEND alv_fieldcat_line TO alv_fieldcat.

* dif1
   CLEAR TEXT.
   READ TABLE s_date1 INDEX 1.
   CONCATENATE 'DAYS ' s_date1-LOW '-' s_date1-HIGH INTO TEXT.

   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = TEXT.
   alv_fieldcat_line-fieldname = 'DIF1'.
   alv_fieldcat_line-do_sum = 'X'.
   APPEND alv_fieldcat_line TO alv_fieldcat.
   CLEAR alv_fieldcat_line.

* dif2
   CLEAR TEXT.
   READ TABLE s_date2 INDEX 1.
   CONCATENATE 'DAYS ' s_date2-LOW '-' s_date2-HIGH INTO TEXT.

   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = TEXT.
*   alv_fieldcat_line-no_out = 'X'.
   alv_fieldcat_line-fieldname = 'DIF2'.
   APPEND alv_fieldcat_line TO alv_fieldcat.
   CLEAR alv_fieldcat_line.

* dif3
   CLEAR TEXT.
   READ TABLE s_date3 INDEX 1.
   CONCATENATE 'DAYS ' s_date3-LOW '-' s_date3-HIGH INTO TEXT.

   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = TEXT.
   alv_fieldcat_line-fieldname = 'DIF3'.
   APPEND alv_fieldcat_line TO alv_fieldcat.
   CLEAR alv_fieldcat_line.

* dif4
   CLEAR TEXT.
   READ TABLE s_date4 INDEX 1.
   CONCATENATE 'DAYS ' s_date4-LOW '-' s_date4-HIGH INTO TEXT.

   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = TEXT.
   alv_fieldcat_line-fieldname  = 'DIF4'.
   APPEND alv_fieldcat_line TO alv_fieldcat.

* dif5
   CLEAR TEXT.
   READ TABLE s_date5 INDEX 1.
   CONCATENATE 'DAYS ' s_date5-LOW '-' s_date5-HIGH INTO TEXT.

   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = TEXT.
   alv_fieldcat_line-fieldname  = 'DIF5'.
   APPEND alv_fieldcat_line TO alv_fieldcat.

* Days
   alv_fieldcat_line-tabname    = 'T_OUTPUT'.
   alv_fieldcat_line-seltext_l = 'Days'.
   alv_fieldcat_line-fieldname  = 'DAYS'.
*   alv_fieldcat_line-no_out  = 'X'.
   APPEND alv_fieldcat_line TO alv_fieldcat.

ENDFORM.                    " build_field_catalogs

*&---------------------------------------------------------------------*
*&      Form  ALV_USER_COMM
*&---------------------------------------------------------------------*
* Process User Status
*----------------------------------------------------------------------*
 FORM alv_user_comm USING r_ucomm     LIKE sy-ucomm
                          rs_selfield TYPE slis_selfield.

*Determine the main component beign viewed
   READ TABLE T_OUTPUT INDEX rs_selfield-tabindex.
   CASE r_ucomm.

     WHEN '&IC1'.       " single / double click

       CASE rs_selfield-fieldname.
* Display FI document
         WHEN 'BELNR'.
           SET PARAMETER ID 'BLN' FIELD T_OUTPUT-BELNR.
           SET PARAMETER ID 'BUK' FIELD T_OUTPUT-BUKRS.
           SET PARAMETER ID 'GJR' FIELD T_OUTPUT-GJAHR.
           CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
       ENDCASE.


   ENDCASE.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  ALV_STATUS_SET
*&---------------------------------------------------------------------*
* Set the status for the ALV screen
*----------------------------------------------------------------------*
 FORM alv_status_set USING rt_extab TYPE slis_t_extab.
   SET PF-STATUS 'STANDARD' EXCLUDING rt_extab.
 ENDFORM.


Input Parameter:


Output:



No comments:

Post a Comment