Loading



+ Sapforum.Biz » Инструменты » ABAP - Инструментальные средства » SE37 - Построитель функций (Модератор: Dmitriy)Тема:
|- Заказы ММ, изменение документа BAPI_PO_CHANGE



Автор Тема: Заказы ММ, изменение документа BAPI_PO_CHANGE  (Прочитано 1096 раз)

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

Оффлайн Uukrul

  • SAP R/3 4.6C
  • Administrator
  • Hero Member
  • *****
  • Сообщений: 2.311
  • Reputation Power: 2
  • Uukrul barely matters.Uukrul barely matters.
  • Пол: Мужской
    • Sapforum.BIZ
Ну в общем если не очень подробно то для изменения заказов есть ФМ BAPI_PO_CHANGE

Примеры объявления для этого ФМ параметров могут быть в таком виде:
DATA: bapi_number     LIKE bapimepoheader-po_number VALUE space.
DATA: po_header       LIKE bapimepoheader,
      po_headerx      LIKE bapimepoheaderx,
      po_bapiret2     LIKE bapiret2           OCCURS 5 WITH HEADER LINE,
      po_items        LIKE bapimepoitem       OCCURS 5 WITH HEADER LINE,
      po_itemsx       LIKE bapimepoitemx      OCCURS 5 WITH HEADER LINE,
      po_schedule     LIKE bapimeposchedule   OCCURS 5 WITH HEADER LINE,
      po_schedulex    LIKE bapimeposchedulx   OCCURS 5 WITH HEADER LINE,
      po_account      LIKE bapimepoaccount    OCCURS 5 WITH HEADER LINE,
      po_accountx     LIKE bapimepoaccountx   OCCURS 5 WITH HEADER LINE,
      po_addr      LIKE bapimepoaddrdelivery  OCCURS 5 WITH HEADER LINE,
      po_extensionin  LIKE bapiparex          OCCURS 5 WITH HEADER LINE,
      po_extensionout LIKE bapiparex          OCCURS 5 WITH HEADER LINE,
      po_textheader   LIKE bapimepotextheader OCCURS 0 WITH HEADER LINE.

Собственно пример вызова ФМ типа так.
  CALL FUNCTION 'BAPI_PO_CHANGE'
    EXPORTING
      purchaseorder                = ph_ebeln
      poheader                     = po_header
      poheaderx                    = po_headerx
*     POADDRVENDOR                 =
*     TESTRUN                      =
*     MEMORY_UNCOMPLETE            =
*     MEMORY_COMPLETE              =
*     NO_MESSAGING                 =
*     NO_MESSAGE_REQ               =
*     NO_AUTHORITY                 =
*     NO_PRICE_FROM_PO             =
*   IMPORTING
*     EXPHEADER                    =
    TABLES
      return                       = po_bapiret2
      poitem                       = po_items
      poitemx                      = po_itemsx
*     POADDRDELIVERY               =
      poschedule                   = po_schedule
      poschedulex                  = po_schedulex
      poaccount                    = po_account
*     POACCOUNTPROFITSEGMENT       =
      poaccountx                   = po_accountx
*     POCONDHEADER                 =
*     POCONDHEADERX                =
*     POCOND                       =
*     POCONDX                      =
*     POLIMITS                     =
*     POCONTRACTLIMITS             =
*     POSERVICES                   =
*     POSRVACCESSVALUES            =
*     POSERVICESTEXT               =
      extensionin                  = po_extensionin.
*     extensionout                 =
*     potextheader                 =
*     POTEXTITEM                   =
*     POPARTNER                    =

Параметры и поля описаны в структурах, на что следует обратить внимание, если вы изменили какое-то поле в структуре po_header, например в заголовке заказа изменили дату начала и конца действия договора.
po_header-vper_start = sy-datum.
po_header-vper_end   = sy-datum+100.

То обязательно в зеркальной структуре po_headerx, для соответствующих полей поставьте = X.
po_headerx-vper_start = 'X'.
po_headerx-vper_end   = 'X'.

Ну и COMMIT WORK после вызова, ну если хотите чтобы оно таки действительно сохранилось. Кстати, результат работы смотрим в структуре po_bapiret2.


 


Facebook Comments