Текущее время: Сб, июл 19 2025, 12:07

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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