Текущее время: Вс, июл 27 2025, 20:48

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: BAPI_ACC_DOCUMENT_POST для F-47  Тема решена
СообщениеДобавлено: Пт, апр 27 2012, 10:17 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2007, 07:27
Сообщения: 895
Пол: Мужской
Добрый день, коллеги.

Выложите, пожалуйста, кому не жалко, готовый текст программы для создания ТАП F-47 с помощью BAPI BAPI_ACC_DOCUMENT_POST .

Большое спасибо :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_ACC_DOCUMENT_POST для F-47
СообщениеДобавлено: Чт, сен 19 2013, 08:48 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 19 2013, 08:33
Сообщения: 15
Здравствуйте, может уже не актуально, но вот пример кода, который я использую.
Code:
Data: gs_documentheader TYPE  bapiache09,
         gt_accountgl      TYPE  TABLE OF bapiacgl09 WITH HEADER LINE,
         gt_currencyamount TYPE  TABLE OF bapiaccr09 WITH HEADER LINE,
         gt_return         TYPE  TABLE OF bapiret2   WITH HEADER LINE,
         gt_accountpayable TYPE TABLE  OF BAPIACAP09 WITH HEADER LINE,
         it_extension1       TYPE STANDARD TABLE OF bapiacextc,
         wa_extension1        TYPE bapiacextc.

  CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
     IMPORTING
       own_logical_system = gs_documentheader-obj_sys.

   gs_documentheader-obj_type = 'BKPFF'.
   gs_documentheader-username   = sy-uname.
   gs_documentheader-header_txt = 'Текст заголовка'.
   gs_documentheader-comp_code  = p_bukrs.
   gs_documentheader-doc_date   = p_udate.
   gs_documentheader-pstng_date = p_udate.
   gs_documentheader-doc_type   = 'KA'.
   gs_documentheader-bus_act    = 'RFBU'.


   gt_accountpayable-itemno_acc = lp_itemno_acc.
   CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input         = '200021' "Контрагент
        IMPORTING
          output        = gt_accountpayable-VENDOR_NO.

  gt_accountpayable-TAX_CODE  = 'AZ'. "Код налога
  gt_accountpayable-SP_GL_IND = 'F'.
  gt_accountpayable-alloc_nmbr = '1'.
  gt_accountpayable-item_text =  'Текст позиции.

  append gt_accountpayable.

  data: t_amount type BSEG-DMBTR.

  t_amount = '5000'.

  CLEAR gt_currencyamount.
  gt_currencyamount-itemno_acc   = lp_itemno_acc.
  gt_currencyamount-curr_type    = '00'.
  gt_currencyamount-currency     = 'RUB'.
  gt_currencyamount-amt_doccur   = - t_amount.
  APPEND gt_currencyamount.

  MOVE '0000000001S39FA' TO wa_extension1-field1. "Обязательно, без него не возникает BTE RWBAPI01
  APPEND wa_extension1 TO it_extension1.

  CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
       EXPORTING
         documentheader = gs_documentheader
       TABLES
         accountpayable    = gt_accountpayable
         currencyamount    = gt_currencyamount
         return            = gt_return
         extension1        = it_extension1.


Чтобы BAPI работало в системе должна быть реализация процесса клиента для события RWBAPI01 (событие возникает из-за того, что bapi рассчитано на автоматическое определение кода проводки, но это автоматически не всегда работает, поэтому для интерфейса BAPI были разработаны строки расширения, подробнее могут рассказать штатные консультанты FI)

В реализации ФМ для обработки события должен быть код, обрабатывающий строку расширения ('0000000001S39FA', первые 10 символов -- номер позиции, если нужен ТАП с несколькими позициями, чтобы при платеже обновлялись несколько бюджетных адресов, номер надо менять).

Code:
DATA : wa_extension TYPE bapiacextc.
CLEAR: wa_extension.
LOOP AT extension INTO wa_extension.
   READ TABLE it_accit WITH KEY posnr = wa_extension-field1(10).
   IF sy-subrc EQ 0.
       it_accit-BSTAT = wa_extension-field1+10(1).
       it_accit-BSCHL = wa_extension-field1+11(2).
       it_accit-UMSKZ = wa_extension-field1+13(1).
       it_accit-ZUMSK = wa_extension-field1+14(1).
       DOCUMENT_HEADER-GLVOR = 'RFST'.
       MODIFY it_accit INDEX sy-tabix.
   ENDIF.
ENDLOOP.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB