Текущее время: Пт, май 16 2025, 07:34

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Проблема с BAPI
СообщениеДобавлено: Вт, янв 24 2006, 11:33 
Ассистент
Ассистент

Зарегистрирован:
Вт, янв 24 2006, 11:15
Сообщения: 39
Господа ABAPеры, требуется помощь. Запускается 'BAPI_GOODSMVT_CREATE' для вида движения 351,
затем 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
затем SELECT single belnr from ekbe into p_mblnr
where ebeln = wa_out-ebeln and ebelp = wa_out-ebelp
and gjahr = p_budat(4) and belnr = MatDoc.

затем 'BAPI_GOODSMVT_CREATE' для вида движения 101, который вываливается, потому что не видит то, что создал 1 ФМ.
Что можно сделать? Попытка вызвать 2 ФМ через submit успехом не увенчалась.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 24 2006, 11:47 
Гость
можно сделать примерно следующее:

если после отработанного первого вызова функции вернулся
номер документа, т.е. функция отработала правильно,
но сделать так:
Code:

if not MatDoc is initial.
   clear: p_mblnr.
   while p_mblnr is initial.

      SELECT single belnr from ekbe into p_mblnr
      where ebeln = wa_out-ebeln and ebelp = wa_out-ebelp
      and gjahr = p_budat(4) and belnr = MatDoc.

   endwhile.
endif.



Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Проблема с BAPI
СообщениеДобавлено: Вт, янв 24 2006, 11:57 
Ассистент
Ассистент

Зарегистрирован:
Вт, янв 24 2006, 11:15
Сообщения: 39
DO 25 times.
SELECT single belnr from ekbe into p_mblnr
where ebeln = wa_out-ebeln and ebelp = wa_out-ebelp
and gjahr = p_budat(4) and belnr = MatDoc.
IF sy-subrc = 0.
exit.
else.
WAIT UP TO 10 SECONDS.
endif.
enddo.

Не помогает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 24 2006, 12:04 
Гость
попробуй именно через while !

или вот так:


DO.
SELECT single belnr from ekbe into p_mblnr
where ebeln = wa_out-ebeln and ebelp = wa_out-ebelp
and gjahr = p_budat(4) and belnr = MatDoc.
IF sy-subrc = 0.
exit.
endif.
enddo.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Проблемы с BAPI
СообщениеДобавлено: Вт, янв 24 2006, 12:10 
Ассистент
Ассистент

Зарегистрирован:
Вт, янв 24 2006, 11:15
Сообщения: 39
Select видит документ практически сразу, я проверяла в отладке.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 24 2006, 12:20 
Гость
Не знаю насчет 'BAPI_TRANSACTION_COMMIT' , но я у себя ставил после бапи COMMIT WORK AND WAIT, и все работает.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Проблема с BAPI
СообщениеДобавлено: Вт, янв 24 2006, 12:29 
Ассистент
Ассистент

Зарегистрирован:
Вт, янв 24 2006, 11:15
Сообщения: 39
Сначала было
* COMMIT WORK and wait.
затем * COMMIT WORK and wait UP TO 10 SECONDS.
затем DO - enddo, затем ФМ, затем submit.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 24 2006, 12:30 
Гость
попробуй тогда второй вызов BAPI поставить в подпрограмме,
примерно так:


call function bapi1....

call function bapi_commit....

perform docum2 ON COMMIT.

form docum2.
call function bapi2....
endform.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 24 2006, 12:31 
Гость
попробуй тогда второй вызов BAPI поставить в подпрограмме,
примерно так:


call function bapi1....

call function bapi_commit....

perform docum2 ON COMMIT.

form docum2.
call function bapi2....
endform.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Проблемы с BAPI
СообщениеДобавлено: Вт, янв 24 2006, 12:58 
Ассистент
Ассистент

Зарегистрирован:
Вт, янв 24 2006, 11:15
Сообщения: 39
Спасибо за совет, мне нужно время, чтобы создать пример и попробовать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с BAPI
СообщениеДобавлено: Вт, янв 24 2006, 13:24 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
LHelena написал(а):
затем SELECT single belnr from ekbe into p_mblnr
where ebeln = wa_out-ebeln and ebelp = wa_out-ebelp
and gjahr = p_budat(4) and belnr = MatDoc.


bapi отрабатывает нормально - возвращает номер мат.документа?

после commit-а проверьте табл. MKPF, MSEG - по крайней мере, если документ создался, то он должен там появиться.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Проблема с BAPI
СообщениеДобавлено: Вт, янв 24 2006, 14:12 
Ассистент
Ассистент

Зарегистрирован:
Вт, янв 24 2006, 11:15
Сообщения: 39
С номером документов после 1 ФМ проблем нет. По отладке видно, что ФМ для 101 вида движения проверяет EKBE и сравнивает почему-то с отпущенным кол-вом. Если кол-во по 101 виду превышает кол-во по 351 виду, не учитывая созданное в 1 ФМ только что, выдается ошибка. Точно сейчас не могу воспроизвести, но что-то, связанное с кол-вом товаров в пути.


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

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Перед первым вызовом BAPI поставьте оператор
Code:
SET UPDATE TASK LOCAL.
тогда сразу после COMMIT'а все обновления гарантированно будут в базе.

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


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

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


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

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


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

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