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

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


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

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


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

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