Текущее время: Вт, июл 29 2025, 15:08

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: BAPI_SALESORDER_CHANGE - ни ошибок, ни изменений
СообщениеДобавлено: Пт, июл 07 2006, 17:41 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Мы используем BAPI_SALESORDER_CHANGE, чтобы изменять reason for rejection (ABGRU) на строках заказа, которых не оказалось на складе. Почему-то периодически происходит странный сбой, когда BAPI возвращает SY-SUBRC = 0 и сообщение "Order ... has been saved", но в реале никаких изменений не происходит. Сталкивался ли кто-нибудь с таким? Может мы чего упустили? Код в общих чертах такой:

Code:
s_da_order_header_inx-updateflag = 'U'.

s_da_order_item_in-material   = it_orders-matnr.
s_da_order_item_in-itm_number = it_orders-posnr.
s_da_order_item_in-reason_rej = '70'.
APPEND s_da_order_item_in.

s_da_order_item_inx-updateflag = 'U'.
s_da_order_item_inx-reason_rej = 'X'.
s_da_order_item_inx-itm_number = it_orders-posnr.
APPEND s_da_order_item_inx.

CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
    EXPORTING
      salesdocument     = it_orders-vbeln
      order_header_in   = s_da_order_header_in
      order_header_inx  = s_da_order_header_inx
      behave_when_error = 'P'
    TABLES
      return            = it_return_bapi_soc
      order_item_in     = s_da_order_item_in
      order_item_inx    = s_da_order_item_inx.

IF sy-subrc = 0.
   CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait   = 'X'
      IMPORTING
        return = it_return_bapi_tc.
ENDIF.


В OSS и SDN уже искала.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 07 2006, 17:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Думаю, проверка
Code:
IF sy-subrc = 0.
смысла не имеет. Надо проверять, есть ли в it_return_bapi_soc сообщения типа 'E', или нет.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 07 2006, 19:12 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
В том-то и дело, что сообщений Е нету.

Программа, которая вызывает BAPI, работает в background и сообщения видны в логе. И там только "Date ... is in the past" (W) и "Order... has been saved". Оба сообщения нормальны и появляются и тогда, когда изменения действительно происходят.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 07 2006, 23:57 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Секундочку, а что, если вызвать внутри функционального модуля MESSAGE ... RAISING ... , оно разве отобразится в логе?? Кроме того, это BAPI может запросто писать в return сообщения напрямую без MESSAGE,и тогда уж точно они в логе не отразятся.
Все-таки проверьте содержимое it_return_bapi_soc после вызова BAPI. Типа
Code:
READ TABLE it_return_bapi_soc WITH KEY type = 'E'...
IF sy-subrc NE 0.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ELSE.
  ...
ENDIF.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 25 2006, 22:59 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Наконец разобралась с этим. Оказывается добрый BAPI в таблице it_return_bapi_soc возвращает сообщение V1 739 (Field 'ABGRU' cannot be changed...), НО (!) оно не 'Е', а 'I'. :x Почему вместе с ним возвращается "Sales Ord to Deliver ... has been saved", хотя никаких изменений не произошло - это загадка.

Первопричина же всего оказалась в том, что чтобы изменить ABGRU на заказе, поставка (delivery) должна быть уже "закрыта" (Post Goods Issue). А у нас тут случаются иногда ситуации, когда с поставкой какая-то неувязочка, а программа, которая пытается изменить заказ через BAPI, насчет этого не в курсе.


Последний раз редактировалось Jelena Ср, июл 26 2006, 17:15, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 26 2006, 07:35 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, фев 03 2006, 08:00
Сообщения: 344
а каким образом можно выловить такие сообщения из ФМ и после его вызова [ФМ] в отчете прочитать и вывести на экран?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 26 2006, 17:13 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
aht написал(а):
а каким образом можно выловить такие сообщения из ФМ и после его вызова [ФМ] в отчете прочитать и вывести на экран?


Пример:

Code:
  LOOP AT it_return_bapi_soc.
    MESSAGE
         ID      it_return_bapi_soc-id
         TYPE  it_return_bapi_soc-type
         NUMBER  it_return_bapi_soc-number
     WITH
                 it_return_bapi_soc-message_v1
                 it_return_bapi_soc-message_v2
                 it_return_bapi_soc-message_v3
                 it_return_bapi_soc-message_v4.
  ENDLOOP.


MESSAGE можно заменить другой командой. Кроме того, в моем случае программа является частью job, поэтому type 'E' не допускается и вместо него ставится MESSAGE TYPE 'S'.

Ну и это все, конечно, для случая, если из BAPI или FM возвращается таблица.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 28 2006, 08:58 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, фев 03 2006, 08:00
Сообщения: 344
м-да, сначала спросил, а потом подумал... это есть плохо :oops:
а ещё вопрос 2 Jelena: Вы при вызове бапи не использ(уете/овали) EXTENSIONIN?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 31 2006, 22:48 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
aht написал(а):
а ещё вопрос 2 Jelena: Вы при вызове бапи не использ(уете/овали) EXTENSIONIN?


Нет, не используем - нам вроде без надобности.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

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


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

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


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

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