SAPфорум.RU
https://www.sapboard.ru/forum/

Создание БП
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=98547
Страница 1 из 1

Автор:  MaрьЯ [ Пн, мар 23 2020, 14:16 ]
Заголовок сообщения:  Создание БП

Добрый день!
Есть необходимость создания бизнес партнера при наступлении определенного события (например, прием нового сотрудника на работу).
Использую ФМ 'BUPA_CREATE_FROM_DATA' (ранее писала программу для массового создания БП, она корректно работает, код был взят оттуда)
При этом при установке точки прерывания et_return пустой, но, при этом ничего не создается. Коммиты ставлю, была подобная проблема при создании кредитора, но она решилась тем, что кредитор создавался только после выхода из транзакции по приему на работу.

Автор:  Serge69 [ Пт, мар 27 2020, 05:46 ]
Заголовок сообщения:  Re: Создание БП

Добрый день!
А делается просто commit или CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'?
Надо 'BAPI_TRANSACTION_COMMIT'

Автор:  MaрьЯ [ Пт, мар 27 2020, 10:28 ]
Заголовок сообщения:  Re: Создание БП

Serge69 написал:
Добрый день!
А делается просто commit или CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'?
Надо 'BAPI_TRANSACTION_COMMIT'


стоит BAPI_TRANSACTION_COMMIT и принудительно WAIT UP TO 10 SECONDS. ставила.
Ничего

Автор:  Serge69 [ Пт, мар 27 2020, 10:51 ]
Заголовок сообщения:  Re: Создание БП

А номер партнера возвращается?
Если возвращается, но не создается - значит чего то не хватает. Может роль надо добавить, адрес или еще чего-нибудь

Автор:  Saperx [ Пт, мар 27 2020, 11:04 ]
Заголовок сообщения:  Re: Создание БП

Если анализ входящих данных исключить, то пробовали смотреть общие места проверок при ошибках?
1) Проверить полномочия в su53 после выполнения
2) Посмотреть дампы
3) Посмотреть модули обновления в sm13
4) Посмотреть что не зависли блокировки в sm12(при создании, конечно, не должно влиять, но раз уж проверяем...)
5) Посмотреть системные логи sm21
6) Снять трассировки
7) Посмотреть в отладке возможный Z код(можно настроить slad, что отладчик останавливался только в z программах)
8) Поставить точки на message в отладке
9) Поставить точки на UPDATE/INSERT/MODIFY в отладке(тут не забыть включить отладку обновлений)

Но самый вероятный, конечно, случай - некорректные входные данные.

Автор:  MaрьЯ [ Чт, апр 09 2020, 13:33 ]
Заголовок сообщения:  Re: Создание БП

Serge69 написал:
А номер партнера возвращается?
Если возвращается, но не создается - значит чего то не хватает. Может роль надо добавить, адрес или еще чего-нибудь


Да, возвращается, но не создается.
как я и писала выше, был создан просто пакетный ввод, отдельная программа, которая создает массово, все корректно, код идентичен.
Но, когда я пытаюсь создать БП в момент приема сотрудника на работу - ничего не происходит

Автор:  MaрьЯ [ Чт, апр 09 2020, 13:37 ]
Заголовок сообщения:  Re: Создание БП

Saperx написал(а):
Если анализ входящих данных исключить, то пробовали смотреть общие места проверок при ошибках?
1) Проверить полномочия в su53 после выполнения
2) Посмотреть дампы
3) Посмотреть модули обновления в sm13
4) Посмотреть что не зависли блокировки в sm12(при создании, конечно, не должно влиять, но раз уж проверяем...)
5) Посмотреть системные логи sm21
6) Снять трассировки
7) Посмотреть в отладке возможный Z код(можно настроить slad, что отладчик останавливался только в z программах)
8) Поставить точки на message в отладке
9) Поставить точки на UPDATE/INSERT/MODIFY в отладке(тут не забыть включить отладку обновлений)

Но самый вероятный, конечно, случай - некорректные входные данные.


проверила, нет ничего, что могло бы помешать.
Код корректен. Была программа, для массовой загрузки, код взят оттуда. как понимаете, там все создается

Автор:  kernel [ Пт, июл 10 2020, 04:58 ]
Заголовок сообщения:  Re: Создание БП

MaрьЯ написал(а):
Добрый день!
Есть необходимость создания бизнес партнера при наступлении определенного события (например, прием нового сотрудника на работу).
Использую ФМ 'BUPA_CREATE_FROM_DATA' (ранее писала программу для массового создания БП, она корректно работает, код был взят оттуда)
При этом при установке точки прерывания et_return пустой, но, при этом ничего не создается. Коммиты ставлю, была подобная проблема при создании кредитора, но она решилась тем, что кредитор создавался только после выхода из транзакции по приему на работу.

Я использую такой код, БП создается.
Code:
      CALL FUNCTION 'BAPI_BUPA_CREATE_FROM_DATA'
        EXPORTING
          partnercategory        = lv_category
          partnergroup           = lv_group
          centraldata            = ls_centraldata
          accept_error           = abap_true
          duplicate_message_type = rs_c_error
        IMPORTING
          businesspartner        = lv_partner
        TABLES
          return                 = lt_return.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/