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

Часовой пояс: 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 часа


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

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


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

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