Автор Тема: Баланс (обороты) по счету ГК - маленький примерчик  (Прочитано 5088 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Пишу больше для себя, что бы потом не забыть,
по мотивам You are not allowed to view links. Register or Login.

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

Работает как для "старой" (табличка 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.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login