Текущее время: Ср, сен 26 2018, 01:44

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


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


Вопросы по ППМ (MRP) - сюда.
Вопросы по классификации - сюда.



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: BAPI для МЕ31К с созданием роли партнера LD (лицо, ведущее договор)
СообщениеДобавлено: Чт, фев 22 2018, 16:39 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 02 2017, 10:48
Сообщения: 5
Здравствуйте.

Есть ли BAPI для создания контракта (МЕ31К), в которой можно задать роль партнера "Лицо ведущее договор" (при этом заполняется поле EKPA-PERNR)?

В BAPI_CONTRACT_CREATE есть таблица PARTNER, в ней поле PARVW (роль партнера) и PARTNR (Поставщик), но нет поля PERNR :(


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI для МЕ31К с созданием роли партнера LD (лицо, ведущее договор)
СообщениеДобавлено: Вт, фев 27 2018, 15:16 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 10:59
Сообщения: 1137
Откуда: Москва, Минск
Пол: Мужской
А при создании контракта через Me31k вы можете внести эти данные?

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI для МЕ31К с созданием роли партнера LD (лицо, ведущее договор)
СообщениеДобавлено: Ср, фев 28 2018, 14:15 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 02 2017, 10:48
Сообщения: 5
DED_MOROZ написал:
А при создании контракта через Me31k вы можете внести эти данные?

Да. Нажимаю кнопку Партнеры, затем Уровень. Открывает окно Ведение партнера и там я указываю роли партнера


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI для МЕ31К с созданием роли партнера LD (лицо, ведущее договор)
СообщениеДобавлено: Ср, фев 28 2018, 15:38 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 10:59
Сообщения: 1137
Откуда: Москва, Минск
Пол: Мужской
Прям в поле PARTNER-PARTNR указываете табельный номер для роли "Лицо ведущее договор" .
Проверил. работает.


Вы же в диалоговой транзакции указываете табельный номер в то же поле что и контрагент для других ролей партнеров.
В BAPI аналогично.

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI для МЕ31К с созданием роли партнера LD (лицо, ведущее договор)
СообщениеДобавлено: Пт, мар 02 2018, 16:33 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 02 2017, 10:48
Сообщения: 5
Заполняю вот так таблицы с ролями партнера:
Code:
ls_partner-partn_role = 'LD'.
    ls_partner-partnr = '1'.
    ls_partner-langu = 'R'.
    ls_partner-langu_iso = 'RU'.
    APPEND ls_partner TO lt_partner.

    ls_partnerx-partn_role = 'LD'.
    ls_partnerx-partnr = 'X'.
    ls_partnerx-langu = 'X'.
    ls_partnerx-langu_iso = 'X'.
    APPEND ls_partnerx TO lt_partnerx.


вызываю BAPI_CONTRACT_CREATE в результате создаётся договор. Автоматически создаётся только 2 роли партнера "Поставщик" и "Выставитель счета" т.е. моя запись игнорируется.
После этого вызываю для созданного договора BAPI_CONTRACT_CHANGE с этой же таблицей, и он уже добавляет нужную роль "Лицо ведущее договор".

Пробовал при создании договора добавить эти 2 роли в таблицу lt_partner - результат тот же.
Вот с такими данными пробую создавать договор:
LS_HEADER:
Code:
                                      COMP_CODE                                         CODE
                                      DOC_TYPE                                         ZRK
                                      CREAT_DATE                                         20030328
                                      CREATED_BY                                         USER
                                      ITEM_INTVL                                         00001
                                      VENDOR                                         0000000028
                                      LANGU                                         R
                                      LANGU_ISO                                         RU
                                      PMNTTRMS                                         1
                                      PURCH_ORG                                         1000
                                      PUR_GROUP                                         008
                                      CURRENCY                                         BYB
                                      CURRENCY_ISO                                         BYB
                                      EXCH_RATE                                         0.00001
                                      DOC_DATE                                         20030227
                                      VPER_START                                         20030304
                                      VPER_END                                         20031231

ls_item
Code:
ls_item-ITEM_NO = 1.
    ls_item-SHORT_TEXT = |Текст|.
    ls_item-RELORD_QTY = 1.
    ls_item-PRICE_UNIT = 1.
    ls_item-PRNT_PRICE = 'X'.
    ls_item-ITEM_CAT = 6.
    ls_item-EXCLUSION = 'X'.



Code:
CALL FUNCTION 'BAPI_CONTRACT_CREATE'
      EXPORTING
        header                      = ls_header
        HEADERX                     = ls_headerx
     IMPORTING
       PURCHASINGDOCUMENT          = belnr
       EXP_HEADER                  = ls_header_new
      TABLES
        RETURN                      = lt_error
        item                        = lt_item
        itemx                       = lt_itemx
       partner                     = lt_partner
       partnerx                    = lt_partnerx
              .

иксы заполняю тоже


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI для МЕ31К с созданием роли партнера LD (лицо, ведущее договор)
СообщениеДобавлено: Пт, мар 02 2018, 16:47 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 10:59
Сообщения: 1137
Откуда: Москва, Минск
Пол: Мужской
Такое получается, если указать несуществующий табельный номер. Может в вашем случае нужно ведущие нули для табельного номера?
Вот эти поля можно не заполнять:
ls_partner-langu = 'R'.
ls_partner-langu_iso = 'RU'.
Вы же не указываете значения зависящих от языка полей.

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI для МЕ31К с созданием роли партнера LD (лицо, ведущее договор)
СообщениеДобавлено: Пт, мар 02 2018, 16:57 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 02 2017, 10:48
Сообщения: 5
DED_MOROZ написал:
Такое получается, если указать несуществующий табельный номер. Может в вашем случае нужно ведущие нули для табельного номера?

нет. Результат тот же. Нули добавил, табельный существует. Мб надо ещё что-то где-то указать. Истранно что при бапи на изменение эти же данные нормально обрабатываются.
если есть возможность попробуйте в тесте создать контракт с моими данными, буду благодарен. или приведите свой пример, как вы создавали. я попробую у себя.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI для МЕ31К с созданием роли партнера LD (лицо, ведущее договор)
СообщениеДобавлено: Пт, мар 02 2018, 17:00 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 10:59
Сообщения: 1137
Откуда: Москва, Минск
Пол: Мужской
Роли "LD" у меня нет, вероятно, это вами созданная роль.
Я делал с ролью "KO".

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

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI для МЕ31К с созданием роли партнера LD (лицо, ведущее договор)  Тема решена
СообщениеДобавлено: Сб, мар 03 2018, 15:04 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 02 2017, 10:48
Сообщения: 5
Спасибо за помощь. Ваш рабочий пример заставил разбираться =)
Нашёл в чём было дело - не в BAPI. С ролью КО так же не отрабатывало.

Посидел в отладке и вот в чём была причина:
header-SUPPL_VEND = ''.
headerx-SUPPL_VEND = 'X'.
Я по своей лени в headerx все поля заполнил 'X', подумал, что если запишет пустое значение в поле - это ничего не испортит... Испортило.

При SUPPL_VEND = 'X' он хотел, чтобы была задана роль партнера 'WL' "Поставщик материала" (логично). Когда он обнаруживал, что для этой роли ничего не задано, - формировал ошибку
Code:
MESSAGE E350(ME) RAISING ERROR_OCCURED.

( текст: Укажите номер партнера). Ошибка уровнем выше обрабатывалась вот так:
Code:
IF sy-subrc <> 0.
      mmpur_message_forced sy-msgty sy-msgid sy-msgno
                           sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      IF sy-msgty EQ 'E'.
        RAISE error.
      ENDIF.
    ELSE.

все поля sy-msgv были пустыми.
ещё уровнем выше это выглядело уже так:
Code:
CHECK sy-subrc EQ 0.


При этом на экран предупреждений не выдавал, в таблице с ошибками return этого сообщения также не было.

В общем, правильно расставив 'X', я добился того, что BAPI отработала, как надо.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI для МЕ31К с созданием роли партнера LD (лицо, ведущее договор)
СообщениеДобавлено: Пн, мар 05 2018, 12:08 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 10:59
Сообщения: 1137
Откуда: Москва, Минск
Пол: Мужской
Ну круто, что разобрался.
Если все ОК, то темку закрывай :)

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


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

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


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

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


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

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