Текущее время: Вт, авг 14 2018, 12:50

Часовой пояс: 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
Сообщения: 1134
Откуда: Москва, Минск
Пол: Мужской
А при создании контракта через 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
Сообщения: 1134
Откуда: Москва, Минск
Пол: Мужской
Прям в поле 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
Сообщения: 1134
Откуда: Москва, Минск
Пол: Мужской
Такое получается, если указать несуществующий табельный номер. Может в вашем случае нужно ведущие нули для табельного номера?
Вот эти поля можно не заполнять:
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
Сообщения: 1134
Откуда: Москва, Минск
Пол: Мужской
Роли "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
Сообщения: 1134
Откуда: Москва, Минск
Пол: Мужской
Ну круто, что разобрался.
Если все ОК, то темку закрывай :)

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


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

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


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

Сейчас этот форум просматривают: kreton


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

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