Текущее время: Пн, июн 23 2025, 15:33

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Ср, сен 16 2015, 16:08 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
Всем здрасте!
Когда я вручную создаю заказ на перещение (тр. me21n) выходит ошибка "Введите вид оценки", я ставлю галку "ПМ по ОМ" и все ок - создается, а когда через BAPI - BAPI_PO_CREATE1, создают с теми же параметрами как при ручном создании, то выдает такую же ошибку, хотя признак "ПМ по ОМ" проставлен. Куда смотреть? Кто сталкивался? Кусок кода
Code:
IF p_mezhf = 'X'.
    gs_poheader-doc_type = 'UB'.              " Вид документа           EKKO-BSART
  ELSEIF p_preten = 'X'.
    gs_poheader-doc_type = 'ZUB'.             " Вид документа           EKKO-BSART
  ENDIF.

  gs_poheader-suppl_plnt  = p_werks3.         " Завод-Поставщик         EKKO-RESWK
  gs_poheader-purch_org   = p_ekorg2.         " Закупочная организация  EKKO-EKORG
  gs_poheader-pur_group   = p_ekgrp2.         " Группа закупок          EKKO–EKGRP
  gs_poheader-comp_code   = p_bukrs2.         " Балансовая единица      EKKO-BUKRS

  gs_poheaderx-doc_type   = 'X'.
  gs_poheaderx-suppl_plnt = 'X'.
  gs_poheaderx-purch_org  = 'X'.
  gs_poheaderx-pur_group  = 'X'.
  gs_poheaderx-comp_code  = 'X'.

  DELETE gt_perem WHERE matnr = ''.
  " 2. Заполнение позиций
  LOOP AT gt_perem INTO gs_perem.
    gv_tabix = sy-tabix.
    gs_perem-ebelp = gv_tabix * 10.

    gs_poitem-po_item = gv_tabix * 10.
    IF p_posid IS INITIAL.
      gs_poitem-acctasscat  = ''.             " Тип контировки  EKPO-KNTTP
      gs_poaccount-po_item  = gv_tabix * 10.
      gs_poaccountx-po_item = gv_tabix * 10.
    ELSE.
      gs_poitem-acctasscat = 'Q'.             " Тип контировки  EKPO-KNTTP
      gs_poaccount-po_item = gv_tabix * 10.
      gs_poaccount-wbs_element = p_posid.     " СПП-элемент     EKKN-PS_PSP_PNR

      gs_poaccountx-po_item = gv_tabix * 10.
      gs_poaccountx-wbs_element = 'X'.
    ENDIF.

    gs_poitem-material  = gs_perem-matnr.      " Материал       EKPO-MATNR
    gs_poitem-quantity  = gs_perem-menge.      " Количество     EKPO-MENGE
    gs_poitem-gr_ind    = 'X'.                 " ПМ по ОМ       EKPO-WABWE

    gs_poitemx-po_item    = gv_tabix * 10.
    gs_poitemx-acctasscat = 'X'.
    gs_poitemx-material   = 'X'.
    gs_poitemx-quantity   = 'X'.
    gs_poitemx-gr_ind     = 'X'.

    MODIFY gt_perem from gs_perem INDEX gv_tabix.
    APPEND gs_poaccount TO gt_poaccount.
    APPEND gs_poaccountx TO gt_poaccountx.
    APPEND gs_poitem TO gt_poitem.
    APPEND gs_poitemx TO gt_poitemx.
    CLEAR: gs_poaccount, gs_poaccountx, gs_poitem, gs_poitemx.
  ENDLOOP.

CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
      POHEADER      = GS_POHEADER
      POHEADERX     = GS_POHEADERX
    TABLES
      RETURN        = GT_RETURN
      POITEM        = GT_POITEM
      POITEMX       = GT_POITEMX
      POACCOUNT     = GT_POACCOUNT
      POACCOUNTX    = GT_POACCOUNTX
      POCONDHEADER  = GT_POCONDHEADER
      POCONDHEADERX = GT_POCONDHEADERX
      POCOND        = GT_POCOND
      POCONDX       = GT_POCONDX
      POPARTNER     = GT_POPARTNER. "  STRUCTURE  BAPIEKKOP OPTIONAL.


P.S. Если программно задавать Вид оценки и не задавать индикатор "ПМ по ОМ", то заказ создается.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Ср, сен 16 2015, 22:45 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Touch написал(а):
Если программно задавать Вид оценки и не задавать индикатор "ПМ по ОМ", то заказ создается.

А в чем тогда проблема заключается?

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Чт, сен 17 2015, 08:54 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
Проблема в том, что согласно ТЗ необходимо создавать заказ без указания Вида оценки, а с проставленной галкой "ПМ по ОМ".

Мне не понятно почему вручную получается создать без вида оценки, а через BAPI не получается...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Чт, сен 17 2015, 12:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Подойди к автору ТЗ и скажи, что он неправ.
Если непонятно, почему разный код работает по-разному, то это можно выяснить с помощью отладки.

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Чт, сен 17 2015, 14:22 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
в отладчике следующее:
при создании вручную через тр. me21n - метка EKPO-WABWE = 'X', т.е. проставлена.
при создании через BAPI, метка EKPO-WABWE = ''.

Похоже что я не правильно определила параметр в BAPI и не туда его передаю. Я определила, что это BAPIMEPOITEM-GR_IND.
За поле EKPO-WABWE в BAPI 'BAPI_PO_CREATE1' какое поле отвечает?

Если не трудно, объясните, пожалуйста, почему так как в ТЗ не правильно?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Чт, сен 17 2015, 14:51 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, сен 20 2012, 12:08
Сообщения: 77
WABWE это BAPIMEPOITEM-GI_BASED_GR .
По заданию всё правильно скорее всего, в заказах на перемещение (ваш ZUB) вид оценки по процессу нужен крайне редко, наоборот все с ним боролись раньше, пока WABWE не появился :-)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Чт, сен 17 2015, 15:05 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
у меня нет такого параметра - BAPIMEPOITEM-GI_BASED_GR. Это с нотами как-то связано? Или что-то другое?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Чт, сен 17 2015, 15:31 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, сен 20 2012, 12:08
Сообщения: 77
Есть нота на сам WABWE: 1677707 - Determining the valuation type for stock transport orders at the time of GI
а вот отдельно на его использование в BAPI я честно говоря не видел, но в SAP_APPL 617 это поле уже есть ...
Мне не приходилось заполнять это поле через BAPI в более младших системах.

По моему опыту, это поле обычно заполняется через BADI ME_PROCESS_PO_CUST-PROCESS_ITEM для конкретных видов заказов, чтобы и пользователям руками не приходилось эту галку нажимать (это гуманно :-).
При вызове BAPI эта BADI тоже отрабатывает и проблема как бы решается ...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ  Тема решена
СообщениеДобавлено: Чт, сен 17 2015, 16:14 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
всем спасибо за помощь. Сделала через BAPI-пареметр EXTENSIONIN STRUCTURE BAPIPAREX. Все работает :) только код корявый :(

Code:
    ls_extitem-po_item = lv_pos.
    ls_extitem-wabwe   = abap_true.
    APPEND INITIAL LINE TO gt_ext ASSIGNING <fs_ext>.
    <fs_ext>-structure = 'BAPI_TE_MEPOITEM'.
    <fs_ext>-valuepart1 = ls_extitem.
    ls_extitemx-po_item = lv_pos.
    ls_extitemx-wabwe =
    ls_extitemx-zzuebpo = abap_true.
    APPEND INITIAL LINE TO gt_ext ASSIGNING <fs_ext>.
    <fs_ext>-structure = 'BAPI_TE_MEPOITEMX'.
    <fs_ext>-valuepart1 = ls_extitemx.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Пн, сен 21 2015, 11:07 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
теперь не могу разобраться с полем СПП-элемент EKKN-PS_PSP_PNR. В BAPI, это параметр BAPIMEPOACCOUNT-WBS_ELEMENT ? Или опять что-то не то? :oops:


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Пн, сен 21 2015, 11:42 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, сен 20 2012, 12:08
Сообщения: 77
Да, поле то. Вам проще всего будет взять готовый заказ и запустить для него функцию BAPI_PO_GETDETAIL1, станет понятнее что заполнять.
На вход кроме номера заказа функции ещё надо подать ACCOUNT_ASSIGNMENT = X.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Вт, сен 22 2015, 14:02 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
Привожу пример кода, который сейчас есть:
Code:
IF p_posid IS INITIAL.
      gs_poitem-acctasscat  = ''.             " Тип контировки          EKPO-KNTTP
      gs_poaccount-po_item  = gv_tabix * 10.
      gs_poaccountx-po_item = gv_tabix * 10.
    ELSE.
      gs_poitem-acctasscat = 'Q'.             " Тип контировки          EKPO-KNTTP
      gs_poaccount-po_item = gv_tabix * 10.

      DATA: lv_pspnr TYPE ps_psp_pnr.

      CALL FUNCTION 'PSPNUM_EXTERN_TO_INTERN_CONV'
        EXPORTING
          EXT_NUM          = p_posid
          I_NO_MSG_HANDLER = ' '
        IMPORTING
          INT_NUM          = lv_pspnr
        EXCEPTIONS
          NOT_FOUND        = 1
          OTHERS           = 2.

      gs_poaccount-wbs_element = lv_pspnr. "p_posid.     " СПП-элемент             EKKN-PS_PSP_PNR

      gs_poaccountx-po_item = gv_tabix * 10.
      gs_poaccountx-wbs_element = 'X'.
      lv_posid = 'X'.
    ENDIF.
gs_poitemx-acctasscat = 'X'.


Попробовала запустить BAPI_PO_GETDETAIL1 для существующего заказа с заполненным СПП-элементом. В нем структура POACCOUNT не заполнена, что странно и никаких новых заполненных полей, касающихся СПП-элемента, мне обнаружить не удалось


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Вт, сен 22 2015, 15:41 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
разобралась. Должно быть заполнено поле POACCOUNT-SERIAL_NO еще


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Вт, сен 22 2015, 19:16 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, сен 20 2012, 12:08
Сообщения: 77
Цитата:
Попробовала запустить BAPI_PO_GETDETAIL1 для существующего заказа с заполненным СПП-элементом. В нем структура POACCOUNT не заполнена

Цитата:
На вход кроме номера заказа функции ещё надо подать ACCOUNT_ASSIGNMENT = X.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание заказа через BAPI_PO_CREATE1. Вид оценки / ПМ по ОМ
СообщениеДобавлено: Пн, сен 28 2015, 11:44 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
чего-то не пойму в чем причина, может кто-то сталкивался.

При создании заказа на перемещение через 'BAPI_PO_CREATE1' с типом контировкой -Q и указанием СПП-элемента, если количество строк в заказе = 1, то заказ создается, если количество строк > 1, то выдается ошибка:

06 268 Контиров/НескСч для ПотребнОтдКлн или ЕдиничнПроизвПроект не допускается (POITEM 2)
ME 83 Укажите СПП-элемент . (POACCOUNT 2)

при чем если при запуске BAPI с параметр POACCOUNT изначально было 2 строки, то после того как BAPI отработало в этом параметре 3 строки (2 строка продублировна и в одной не указн СПП-элемент). В какую сторону думать?


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

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


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

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


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

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