Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SE38 - ABAP Редактор => Тема начата: Паганель от Август 16, 2009, 01:37:29 pm

Название: Баланс (обороты) по счету ГК - маленький примерчик
Отправлено: Паганель от Август 16, 2009, 01:37:29 pm
Пишу больше для себя, что бы потом не забыть,
по мотивам http://www.sapnet.ru/viewtopic.php?t=651 (http://www.sapnet.ru/viewtopic.php?t=651).

Работает быстренько.

Работает как для "старой" (табличка GLT0)так и для "новой, гибкой" ГК (табличка faglflext )

Для удобства, завернул в подпрограмму:
Код: You are not allowed to view links. Register or Login
*&---------------------------------------------------------------------*
*&      Form  get_glaccount_balance
*&---------------------------------------------------------------------*
*       Получение баланса по счету
*----------------------------------------------------------------------*

FORM get_glaccount_balance
  USING
        account TYPE bapi1028_0-gl_account
        bukrs TYPE mseg-bukrs
  CHANGING
       rs_dmbtr TYPE mseg-dmbtr.

  DATA: year TYPE BAPI1028_4-FISC_YEAR,
        mon(2) TYPE c.

  DATA: gt_account_balances LIKE bapi1028_4 OCCURS 0 WITH HEADER LINE.

  year = so_budat-low+0(4).
  mon = so_budat-low+4(2).

CALL FUNCTION 'BAPI_GL_GETGLACCPERIODBALANCES'
  EXPORTING
    companycode = bukrs
    glacct = account
    fiscalyear =  year
    currencytype = '10' "Moneda local
*   IMPORTING
*   BALANCE_CARRIED_FORWARD =
*   RETURN =
  TABLES
    account_balances = gt_account_balances.


 SORT gt_account_balances BY comp_code gl_account fisc_year fis_period.

 READ TABLE gt_account_balances
      WITH KEY
          comp_code = bukrs
          gl_account = account
          fisc_year = year
          fis_period = mon.

  IF sy-subrc EQ 0.
   rs_dmbtr = gt_account_balances-debits_per.
  ENDIF.
ENDFORM.                    " get_glaccount_balance

Вызов:
Код: You are not allowed to view links. Register or Login
purch_dmbtr = 0.

PERFORM get_glaccount_balance
      USING
            '0063109900'
             ls_sumtab-bukrs
      CHANGING
             purch_dmbtr.