Текущее время: Вс, июл 20 2025, 14:20

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: BAPI или ФМ для отклонения заявки  Тема решена
СообщениеДобавлено: Сб, апр 27 2013, 13:32 
Специалист
Специалист

Зарегистрирован:
Чт, апр 27 2006, 10:50
Сообщения: 132
Пол: Мужской
Добрый день, есть такая задача как реализовать массовое отклонение заявок.
Массовое деблокирование реализовано через BAPI_REQUISITION_RELEASE, а вот отклонения не нашел как.
Никто не сталкивался?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI или ФМ для отклонения заявки
СообщениеДобавлено: Сб, апр 27 2013, 16:39 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1594
Откуда: Москва, Минск
Пол: Мужской
ФМ BAPI_REQUISITION_RESET_RELEASE

Как искать:

Транзакция BAPI.
Управление материальными потоками - Закупки - PurchaseReqItem - ResetRelease

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI или ФМ для отклонения заявки
СообщениеДобавлено: Сб, апр 27 2013, 22:45 
Специалист
Специалист

Зарегистрирован:
Чт, апр 27 2006, 10:50
Сообщения: 132
Пол: Мужской
Этот BAPI я использовал для отмены деблокирования, а мне нужно именно отклонение деблокирования.
Изображение


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI или ФМ для отклонения заявки
СообщениеДобавлено: Ср, май 01 2013, 22:23 
Специалист
Специалист

Зарегистрирован:
Чт, апр 27 2006, 10:50
Сообщения: 132
Пол: Мужской
Всех с праздником.
Может BAPI_REQUISITION_RELEASE с какимито другими параметрами запустить нужно?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI или ФМ для отклонения заявки
СообщениеДобавлено: Пт, май 03 2013, 21:16 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Отклонение заявки сводится к записи статуса 08 в поле EBAN-BANPR. Это поле стандартным BAPI не меняется, но вроде есть путь (сам не проверял) через EXTENSIONIN в BAPI_PR_CHANGE, там придется расширить структуры BAPI_TE_MEREQITEM и BAPI_TE_MEREQITEMX, добавить в первую поле BANPR типа BANPR, а во вторую BANPR типа флаг. И при вызове правильно заполнить EXTENSIONIN.

_________________
С уважением, Сергей Королев


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI или ФМ для отклонения заявки
СообщениеДобавлено: Ср, май 08 2013, 09:26 
Специалист
Специалист

Зарегистрирован:
Чт, апр 27 2006, 10:50
Сообщения: 132
Пол: Мужской
Да, отклонение после изменения поля срабатывает, но изменить само поле не выходит, хоть BAPI_PR_CHANGE и отчитывается что заявка изменена.
Code:
          CLEAR ls_ext.
          ls_ext-structure = 'BAPI_TE_MEREQITEM'.
          ls_str-preq_item = ls_data-bnfpo.
          ls_str-banpr = '08'.
          CALL METHOD cl_abap_container_utilities=>fill_container_c
            EXPORTING
              im_value               = ls_str
            IMPORTING
              ex_container           = ls_ext-valuepart1
            EXCEPTIONS
              illegal_parameter_type = 0
              OTHERS                 = 0.
          APPEND ls_ext TO lt_ext.

          CLEAR ls_ext.
          ls_ext-structure = 'BAPI_TE_MEREQITEMX'.
          ls_strx-preq_item = ls_data-bnfpo.
          ls_strx-banpr = 'X'.
          CALL METHOD cl_abap_container_utilities=>fill_container_c
            EXPORTING
              im_value               = ls_str
            IMPORTING
              ex_container           = ls_ext-valuepart1
            EXCEPTIONS
              illegal_parameter_type = 0
              OTHERS                 = 0.
          APPEND ls_ext TO lt_ext.

          CALL FUNCTION 'BAPI_PR_CHANGE'
            EXPORTING
              number      = ls_data-banfn
            TABLES
              return      = lt_ret2
              extensionin = lt_ext.

          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
            EXPORTING
              wait = 'X'.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI или ФМ для отклонения заявки
СообщениеДобавлено: Пн, май 13 2013, 11:06 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Вроде разобрался:
Во-первых в вашем коде ошибка - во втором вызове cl_abap_container_utilities=>fill_container_c у вас im_value = ls_str, а должно быть im_value = ls_strx. Но этого недостаточно. Чтобы все это отработало, нужно еще в BAPI передать PRITEM и PRITEMX - там можно указать как изменное любое поле, например, я пробовал менять PREQ_ITEM. Главное, чтоб и PRITEM и PRITEMX были непусты, значение можно оставить старое. Кроме того, нужно, чтобы были созданы две структуры CI_EBANDB и CI_EBANDBX. Нужно иметь в виду, что CI_EBANDB входит в EBAN, поэтому процесс активации может быть продолжительным. Туда можно добавить любые поля, как обычно в CI_EBANDBX тип одноименного поля - односимвольный флаг.

Работающий код:
Code:
REPORT  z_test_mereq_bapi.

PARAMETERS: p_banfn TYPE eban-banfn OBLIGATORY,
            p_bnfpo TYPE eban-bnfpo.

START-OF-SELECTION.
  DATA: lt_return TYPE TABLE OF bapiret2,
        lt_extensionin TYPE TABLE OF bapiparex,

        lt_pritem TYPE TABLE OF bapimereqitemimp,
        lt_pritemx TYPE TABLE OF bapimereqitemx,

        ls_mereqitem TYPE bapi_te_mereqitem,
        ls_mereqitemx TYPE bapi_te_mereqitemx.

  FIELD-SYMBOLS: <extensionin> TYPE bapiparex,
                 <pritem> TYPE bapimereqitemimp,
                 <pritemx> TYPE bapimereqitemx,
                 <return> TYPE bapiret2.

  APPEND INITIAL LINE TO lt_pritem ASSIGNING <pritem>.
  <pritem>-preq_item = p_bnfpo.

  APPEND INITIAL LINE TO lt_pritemx ASSIGNING <pritemx>.
  <pritemx>-preq_item = p_bnfpo.
  <pritemx>-preq_itemx = abap_true.

  APPEND INITIAL LINE TO lt_extensionin ASSIGNING <extensionin>.
  <extensionin>-structure = 'BAPI_TE_MEREQITEM'.
  ls_mereqitem-preq_item = p_bnfpo.
  ls_mereqitem-banpr = '08'.
  CALL METHOD cl_abap_container_utilities=>fill_container_c
    EXPORTING
      im_value               = ls_mereqitem
    IMPORTING
      ex_container           = <extensionin>-valuepart1
    EXCEPTIONS
      illegal_parameter_type = 0
      OTHERS                 = 0.

  APPEND INITIAL LINE TO lt_extensionin ASSIGNING <extensionin>.
  <extensionin>-structure = 'BAPI_TE_MEREQITEMX'.
  ls_mereqitemx-preq_item = p_bnfpo.
  ls_mereqitemx-banpr = 'X'.

  CALL METHOD cl_abap_container_utilities=>fill_container_c
    EXPORTING
      im_value               = ls_mereqitemx
    IMPORTING
      ex_container           = <extensionin>-valuepart1
    EXCEPTIONS
      illegal_parameter_type = 0
      OTHERS                 = 0.

  CALL FUNCTION 'BAPI_PR_CHANGE'
    EXPORTING
      number      = p_banfn
    TABLES
      return      = lt_return
      pritem      = lt_pritem
      pritemx     = lt_pritemx
      extensionin = lt_extensionin.

  DATA: no_commit TYPE abap_bool.

  LOOP AT lt_return ASSIGNING <return>.
    IF <return>-type CA 'EAX'.
      no_commit = abap_true.
    ENDIF.
    WRITE: / <return>-id, <return>-number, <return>-message.
  ENDLOOP.

  IF no_commit IS INITIAL.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
  ENDIF.

_________________
С уважением, Сергей Королев


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI или ФМ для отклонения заявки
СообщениеДобавлено: Вт, май 14 2013, 19:29 
Специалист
Специалист

Зарегистрирован:
Чт, апр 27 2006, 10:50
Сообщения: 132
Пол: Мужской
Спасибо за наводку.


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

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


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

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


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

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