SAPфорум.RU
https://www.sapboard.ru/forum/

BAPI_PO_CREATE1
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=12017
Страница 1 из 1

Автор:  dmk [ Чт, янв 19 2006, 04:07 ]
Заголовок сообщения:  BAPI_PO_CREATE1

Здравствуйте всем. Помогите, пожалуйста, кто чем может.
Решил использовать для создания заказов на поставку бапишку BAPI_PO_CREATE1. Формирую необходимые таблицы (заголовок, позиции, контировки к позиции). Выдает ошибку "к позиции такой-то указана контировка с ошибками" и "укажите МВЗ" (ктр указано). Ничего не пойму. :(
Может у кого-нибудь есть примерчик использования или подскажет в чем может быть проблемка. Буду очень благодарен.
Заранее спасибо.

Автор:  Jack [ Чт, янв 19 2006, 09:43 ]
Заголовок сообщения: 

Обычно используется BAPI_PO_CREATE. В ней для каждой позиции неоходимо заполнить отдельные структуры: ITEM - данные материала, SCHEDULE - данные о количестве и сроках, ACCOUNT_ASSIGNMENT - данные по контировкам, МВЗ, и прочее. Смотри правильность заполнения структур. Еще проверь не ошибся ли в заполнении Х-структур для указания изменяемых полей.

Автор:  dmk [ Чт, янв 19 2006, 09:53 ]
Заголовок сообщения: 

Спасибо. Будем разбираться.

Автор:  Сергей Королев [ Чт, янв 19 2006, 12:54 ]
Заголовок сообщения: 

Jack написал(а):
Обычно используется BAPI_PO_CREATE.
Уже довольно давно SAP рекомендует использовать BAPI_PO_CREATE1, а не BAPI_PO_CREATE. На эту тему есть нота.

Автор:  AIRDRAKEN [ Чт, янв 19 2006, 15:17 ]
Заголовок сообщения:  Примерчик...

DATA: POHEADER LIKE BAPIMEPOHEADER OCCURS 0 WITH HEADER LINE.
DATA: POHEADERX LIKE BAPIMEPOHEADERX OCCURS 0 WITH HEADER LINE.
DATA: RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
DATA: POITEM LIKE BAPIMEPOITEM OCCURS 0 WITH HEADER LINE.
DATA: POITEMX LIKE BAPIMEPOITEMX OCCURS 0 WITH HEADER LINE.
DATA: POSCHEDULE LIKE BAPIMEPOSCHEDULE OCCURS 0 WITH HEADER LINE.
DATA: POSCHEDULEX LIKE BAPIMEPOSCHEDULX OCCURS 0 WITH HEADER LINE.
DATA: POPARTNER LIKE BAPIEKKOP OCCURS 0 WITH HEADER LINE.
DATA: POCOND LIKE BAPIMEPOCOND OCCURS 0 WITH HEADER LINE.
DATA: POCONDX LIKE BAPIMEPOCONDX OCCURS 0 WITH HEADER LINE.
DATA: POEXPIMPITEM LIKE BAPIEIPO OCCURS 0 WITH HEADER LINE.
DATA: POEXPIMPITEMX LIKE BAPIEIPOX OCCURS 0 WITH HEADER LINE.
DATA: EXTENSIONIN LIKE BAPIPAREX OCCURS 0 WITH HEADER LINE.

CLEAR POCOND.
POCOND-COND_NO = '0000136423'.
POCOND-ITM_NUMBER = '00010'.
POCOND-COND_TYPE = 'PB00'.
POCOND-COND_VALUE = '100.00'.
POCOND-CURRENCY = 'USD'.
POCOND-CURRENCY_ISO = 'USD'.
POCOND-COND_UNIT = 'ST'.
POCOND-COND_P_UNT = '1'.
* POCOND-CHANGE_ID = 'U'.
APPEND POCOND.

CLEAR POCONDX.
POCONDX-COND_NO = '0000136423'.
POCONDX-ITM_NUMBERX = '00010'.
POCONDX-COND_TYPE = 'X'.
POCONDX-COND_VALUE = 'X'.
POCONDX-CURRENCY = 'X'.
POCONDX-CURRENCY_ISO = 'X'.
POCONDX-COND_UNIT = 'X'.
POCONDX-COND_P_UNT = 'X'.
POCONDX-CHANGE_ID = 'X'.
APPEND POCONDX.

CLEAR POHEADER.
POHEADER-COMP_CODE = '1000'.
POHEADER-DOC_TYPE = 'UB'.
POHEADER-ITEM_INTVL = '00010'.
POHEADER-SUPPL_PLNT = '2000'.
POHEADER-PURCH_ORG = '1000'.
POHEADER-PUR_GROUP = '100'.
POHEADER-DOC_DATE = '20060117'.
POHEADER-COLLECT_NO = '003896'.
POHEADER-CREATED_BY = 'Iki'.
* POHEADER-CHANGE_ID = 'I'.
APPEND POHEADER.


CLEAR POHEADERX.
POHEADERX-COMP_CODE = 'X'.
POHEADERX-DOC_TYPE = 'X'.
POHEADERX-ITEM_INTVL = 'X'.
POHEADERX-SUPPL_PLNT = 'X'.
POHEADERX-PURCH_ORG = 'X'.
POHEADERX-PUR_GROUP = 'X'.
POHEADERX-DOC_DATE = 'X'.
POHEADERX-COLLECT_NO = 'X'.
POHEADERX-CREATED_BY = 'X'.
* POHEADERX-CHANGE_ID = 'X'.
APPEND POHEADERX.


CLEAR POITEM.
POITEM-PO_ITEM = '00010'.
POITEM-EMATERIAL = 'LSR0347303'.
POITEM-PLANT = '1000'.
POITEM-STGE_LOC = '1100'.
POITEM-SUPPL_STLOC = '2000'.
POITEM-VAL_TYPE = BATCHNM.
POITEM-QUANTITY = 10.
POITEM-PO_UNIT = 'ШТ'. "'ST'.
POITEM-PO_PRICE = '1'.
* POITEM-CALCTYPE = 'B'.
APPEND POITEM.


CLEAR POITEMX.
POITEMX-PO_ITEM = '00010'.
POITEMX-PO_ITEMX = 'X'.
POITEMX-EMATERIAL = 'X'.
POITEMX-PLANT = 'X'.
POITEMX-STGE_LOC = 'X'.
POITEMX-SUPPL_STLOC = 'X'.
POITEMX-VAL_TYPE = 'X'.
POITEMX-QUANTITY = 'X'.
POITEMX-PO_UNIT = 'X'.
POITEMX-PO_PRICE = 'X'.
* POITEMX-CALCTYPE = 'X'.
APPEND POITEMX.

CLEAR POSCHEDULE.
POSCHEDULE-PO_ITEM = '00010'.
POSCHEDULE-SCHED_LINE = '0001'.
POSCHEDULE-DELIVERY_DATE = '20060117'.
POSCHEDULE-STAT_DATE = '20060117'.
POSCHEDULEX-DEL_DATCAT_EXT = 'D'.
POSCHEDULE-QUANTITY = '10'.
APPEND POSCHEDULE.

CLEAR POSCHEDULEX.
POSCHEDULEX-PO_ITEM = '00010'.
POSCHEDULEX-SCHED_LINE = '0001'.
POSCHEDULEX-DELIVERY_DATE = 'X'.
POSCHEDULEX-DEL_DATCAT_EXT = 'X'.
POSCHEDULEX-STAT_DATE = 'X'.
POSCHEDULEX-QUANTITY = 'X'.
APPEND POSCHEDULEX.

CLEAR POEXPIMPITEM.
POEXPIMPITEM-PO_ITEM = '00010'.
POEXPIMPITEM-COMM_CODE = 'EMCU9425294'.
APPEND POEXPIMPITEM.

CLEAR POEXPIMPITEMX.
POEXPIMPITEMX-PO_ITEM = '00010'.
POEXPIMPITEMX-COMM_CODE = 'X'.
APPEND POEXPIMPITEMX.


CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = POHEADER
poheaderx = POHEADERX
TESTRUN = ''
NO_PRICE_FROM_PO = 'X'
IMPORTING
exppurchaseorder = EXPPURCHASEORDER
TABLES
POCOND = POCOND
POCONDX = POCONDX
return = RETURN
poitem = POITEM
poitemx = POITEMX
poschedule = POSCHEDULE
poschedulex = POSCHEDULEX
EXTENSIONIN = EXTENSIONIN
.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.

LOOP AT RETURN.
WRITE: / RETURN-TYPE, RETURN-MESSAGE.
ENDLOOP.

Заказ формируется, но не срабатывает блок

CLEAR POCOND.
POCOND-COND_NO = '0000136423'.
POCOND-ITM_NUMBER = '00010'.
POCOND-COND_TYPE = 'PB00'.
POCOND-COND_VALUE = '100.00'.
POCOND-CURRENCY = 'USD'.
POCOND-CURRENCY_ISO = 'USD'.
POCOND-COND_UNIT = 'ST'.
POCOND-COND_P_UNT = '1'.
* POCOND-CHANGE_ID = 'U'.
APPEND POCOND.

CLEAR POCONDX.
POCONDX-COND_NO = '0000136423'.
POCONDX-ITM_NUMBERX = '00010'.
POCONDX-COND_TYPE = 'X'.
POCONDX-COND_VALUE = 'X'.
POCONDX-CURRENCY = 'X'.
POCONDX-CURRENCY_ISO = 'X'.
POCONDX-COND_UNIT = 'X'.
POCONDX-COND_P_UNT = 'X'.
POCONDX-CHANGE_ID = 'X'.
APPEND POCONDX.

Те неправильно определяются условия - подумай сам и поделись со мной!!!

Автор:  Loyso [ Пт, июн 08 2007, 14:29 ]
Заголовок сообщения: 

Народ, а компоненты к позиции можно как то добавить в этой бапишке?

Автор:  dmk [ Сб, июн 09 2007, 03:20 ]
Заголовок сообщения: 

Цитата:
Народ, а компоненты к позиции можно как то добавить в этой бапишке?

Ты имеешь в виду добавление каких-то пользовательских полей, ктр не имеется в BAPIMEPOITEM & BAPIMEPOITEMX?

Автор:  Валерка [ Пт, апр 04 2008, 15:10 ]
Заголовок сообщения: 

Loyso написал(а):
Народ, а компоненты к позиции можно как то добавить в этой бапишке?


Это имеются ввиду компоненты позиции (вызываемые по кнопке "Компоненты" на экране "Позиции" на вкладке "Данные материала")?

Если да, то может вы уже нашли ответ на этот вопрос? :)

А то очень всё хорошо получается c этой BAPI, но никак не могу разобраться, как подвязать эти компоненты. :(

Автор:  atrf [ Пн, сен 10 2018, 23:19 ]
Заголовок сообщения:  Re: BAPI_PO_CREATE1

за 10 лет так никто и не смог ответить :)

А вопрос до сих-пор актуален

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/