Текущее время: Вс, июн 22 2025, 14:50

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


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

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


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

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