Текущее время: Пт, мар 29 2024, 00:54

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Проверить возможность изменения адреса контрагента при заблокированой записи контрагента
СообщениеДобавлено: Пт, мар 15 2019, 17:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 10 2005, 14:14
Сообщения: 216
Откуда: Україна -> Москва
Зравствуйте, коллеги.
Суть вопроса такова:
имеется сервис типа API, который в САпе дергает внешняя система и передает данные для изменения адреса (город, улица, дом, квартира и др).
Адрес изменяется БАПихой BAPI_BUPA_ADDRESS_CHANGE.
В случае блокирования записи контрагента в сапе получаем сообщение - Деловой партнер 9900035777 в настоящее время блокирован ...
Может кто подскажет, как можно проверить возможность обновления адреса, обойдя блокировку.
Например, при обновлении, можно потом получить сообщение - E R5 555 Номер дома 99/99 999 не принадлежит ни одному из определенных фрагм. улиц.

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить возможность изменения адреса контрагента при заблокированой записи контрагента
СообщениеДобавлено: Пт, мар 15 2019, 18:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Наверно надо писать номера сообщений полностью. Судя по тексту кто то уже заблокировал контрагента транзакционно.

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить возможность изменения адреса контрагента при заблокированой записи контрагента
СообщениеДобавлено: Сб, мар 16 2019, 13:35 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 09:38
Сообщения: 170
Мне кажется человеку не столько нужно обновить адрес, сколько проверить его на корректность, без необходимости вызова данной бапишки. Иначе заставлять ждать разблокировки партнера только чтобы потом вернуть ошибку что адрес изначально кривой - как-то неправильно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверить возможность изменения адреса контрагента при заблокированой записи контрагента
СообщениеДобавлено: Сб, мар 16 2019, 21:43 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 10 2005, 14:14
Сообщения: 216
Откуда: Україна -> Москва
Немного учточню. Отрабатывает API-сервис.
Тоесть приходят данные адреса из внешней системы для изменения адреса в SAP. Нам нужно оперативно отдать ответ Ok или Error.
Сейчас, если партнер/адрес блокирован, БАПИ выдает только одну ошибку о блокировке (других ошибок нет). Отдавать такую ошибку во внешнюю систему выглядит не очень корректно.
В идеале должно быть так:
если стоит блокировка, проверяем возможность изменения адреса( только как это сделать??? в этом и вопрос).
1. Если возможность без ошибки, то отдаем во внешнюю систему Ок, а данные откладываем для фонового задания, которое обновит адрес после разблокировки
2. Если возможность возвращает ошибку, то отдаем Error во внешнюю систему с конкретным ссобщением ошибки по адресу.

Думаю так будет понятней


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить возможность изменения адреса контрагента при заблокированой записи контрагента
СообщениеДобавлено: Пн, мар 18 2019, 09:19 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Нового создавайте без коммита в базу. Проверяйте ошибки из бади.

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить возможность изменения адреса контрагента при заблокированой записи контрагента
СообщениеДобавлено: Пн, мар 18 2019, 09:30 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 01 2005, 07:11
Сообщения: 223
Откуда: Нижневартовск->Москва
Пол: Женский
BAPI_ADDRESSORG_CHANGE или что-нибудь подобное пробовали?

_________________
Всегда открыта новым авантюрам!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить возможность изменения адреса контрагента при заблокированой записи контрагента
СообщениеДобавлено: Пн, мар 18 2019, 10:23 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 10 2005, 14:14
Сообщения: 216
Откуда: Україна -> Москва
Kengur написал(а):
Нового создавайте без коммита в базу. Проверяйте ошибки из бади.


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

Тоесть по вашему предложению надо сначала создать нового партнера (так как текущий блокирован) и создать адрес на нем (или присвоить существующий и изменять). Но нового (не нужного) партнера для проверки комитить то прийдется


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверить возможность изменения адреса контрагента при заблокированой записи контрагента
СообщениеДобавлено: Пн, мар 18 2019, 17:43 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 19 2013, 10:02
Сообщения: 11
Можно посмотреть в сторону BADI проверки

Code:
  DATA lo_exit_object_addr_check TYPE REF TO cl_ex_bupa_addr_check.
  CALL METHOD cl_exithandler=>get_instance
    EXPORTING
      exit_name              = 'BUPA_ADDR_CHECK'
      null_instance_accepted = abap_true
    CHANGING
      instance               = lo_exit_object_addr_check
    EXCEPTIONS
      OTHERS                 = 1.


Code:
  lo_exit_object_addr_check->if_ex_bupa_addr_check~check(
    EXPORTING
      iv_activity                    = iv_activity
*                                       01   Создать
*                                       02   Изменить
*                                       03   Просмотреть
*                                       04   Модифицировать (прямой ввод: создать/изменить)
*                                       06   Удалить
      "....
      "По необходимости
    CHANGING
      et_return                      = et_return
  ).


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

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


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

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


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

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