Текущее время: Вс, авг 24 2025, 04:12

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Запуск цепочки загрузки из другой системы
СообщениеДобавлено: Вт, сен 04 2012, 07:59 
Специалист
Специалист

Зарегистрирован:
Ср, дек 03 2008, 10:01
Сообщения: 126
Откуда: Novosibirsk
Пол: Мужской
Добрый день!
Сам не ABAPер подскажите
Надо запустить из программы со стороны r/3 цепочку для BW.
Есть понимание что цепочка должна запускаться через API. Но что то не могу найти нужной ФМ.

Заранее благодарен.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск цепочки загрузки из другой системы
СообщениеДобавлено: Вт, сен 04 2012, 09:03 
Специалист
Специалист

Зарегистрирован:
Чт, фев 24 2005, 17:48
Сообщения: 160
Откуда: Красногорск
Если говорим об API, то se37 искать RSPC_API*

Либо, вы можете генерировать событие на стороне ERP, передавать его BI. А в BI запланировать старт цепочки по событию.

Либо, если у Вас NetWeaver на ERP, то у Вас есть маленькая BI внутри, запустите транзакцию RSPC - и там настройте вызов remote цепочки.

Есть ещё экзотические решения, но они больше не от хорошей жизни... так что о грусном давайте не будем.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск цепочки загрузки из другой системы
СообщениеДобавлено: Вт, сен 04 2012, 09:29 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
Я решал подобную задачу следующим образом.
Следующий код был обернут в ФМ (дистанционный). Его я вызывал из другой системы. В моем случае ещё требовалось ограничение параметра заданным значением.
Code:
FUNCTION z......._chain_start.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*" IMPORTING
*" VALUE(I_UPLOADLABEL) TYPE CHAR20
*" EXPORTING
*" VALUE(E_LOGID) TYPE RSPC_LOGID
*" EXCEPTIONS
*" ERROR
*"----------------------------------------------------------------------

TYPE-POOLS:
   rs,
   abap.

CONSTANTS:
   c_ipack_head        TYPE bapi6109-infopackage VALUE 'ZPAK_DOYEVZ2NUA5XBCB27CJC8QZ59',
   c_ipack_zakaz       TYPE bapi6109-infopackage VALUE 'ZPAK_5P8YGZ3I9IJDJP5MKVH830EI5',
   c_ipack_oper        TYPE bapi6109-infopackage VALUE 'ZPAK_4C892BZUPQHY8QYPOQ66PKLT9',
   c_ipack_comp        TYPE bapi6109-infopackage VALUE 'ZPAK_3BZWJONRE8WJSTV62J4AE2O31',
   c_chain             TYPE rspc_chain VALUE 'Z_QQQQ_START',
   c_fnam_uploadlabel  TYPE fieldname  VALUE 'UPLOADLABEL'. " параметр, который требуется ограничить заданным значением
DATA:
   ls_selections     TYPE bapi6109sel,
   lt_selections     TYPE STANDARD TABLE OF bapi6109sel,
   ls_return         TYPE bapiret2,
   lt_return         TYPE bapiret2_tab,
   l_infopackage     TYPE bapi6109-infopackage.

   DEFINE mk_check_error.
     loop at lt_return into ls_return where type ca 'EAX'.

       message id ls_return-id
             type ls_return-type
           number ls_return-number
             with ls_return-message_v1
                  ls_return-message_v2
                  ls_return-message_v3
                  ls_return-message_v4
                  raising error.
     endloop.
   END-OF-DEFINITION.

* ограничение выбора данных
  ls_selections-fieldname = c_fnam_uploadlabel.
  ls_selections-sign      = rs_c_range_sign-including.
  ls_selections-opt       = rs_c_range_opt-equal.
  ls_selections-low       = i_uploadlabel.
  APPEND ls_selections TO lt_selections.

   CALL FUNCTION 'BAPI_IPAK_CHANGE'
     EXPORTING
       infopackage = c_ipack_head
     TABLES
       selections  = lt_selections
       return      = lt_return.
   mk_check_error.

   CALL FUNCTION 'BAPI_IPAK_CHANGE'
     EXPORTING
       infopackage = c_ipack_zakaz
     TABLES
       selections  = lt_selections
       return      = lt_return.
   mk_check_error.

   CALL FUNCTION 'BAPI_IPAK_CHANGE'
     EXPORTING
       infopackage = c_ipack_oper
     TABLES
       selections  = lt_selections
       return      = lt_return.
   mk_check_error.

   CALL FUNCTION 'BAPI_IPAK_CHANGE'
     EXPORTING
       infopackage = c_ipack_comp
     TABLES
       selections  = lt_selections
       return      = lt_return.
   mk_check_error.

* старт цепочки
  CALL FUNCTION 'RSPC_CHAIN_START'
     EXPORTING
       i_chain = c_chain
     IMPORTING
       e_logid = e_logid.


Для проверки статуса выполнения процесса, можно периодически вызывать следующий Ф.М. (на вход, кроме ИД цепочки, передается logid, полученный при Старте цепочки):
Code:
 
  CALL FUNCTION 'RSPC_API_CHAIN_GET_STATUS'
     EXPORTING
       i_chain              = c_chain
       i_logid              = i_logid
     IMPORTING
       e_status             = e_status .


Статусы обрабатываете как Вам требуется, а смысл их таков:
Code:
        CASE E_STATUS.
          WHEN 'R'. ChainMsgText = 'Завершено с ошибкой(ами)'.
          WHEN 'G'. ChainMsgText = 'Успешно завершено'.
          WHEN 'F'. ChainMsgText = 'Завершено'.
          WHEN 'A'. ChainMsgText = 'Активно'.
          WHEN 'X'. ChainMsgText = 'Прервано'.
          WHEN 'P'. ChainMsgText = 'Запланировано'.
          WHEN 'S'. ChainMsgText = 'Пропущено при перезапуске'.
          WHEN 'Q'. ChainMsgText = 'Деблокировано'.
          WHEN 'Y'. ChainMsgText = 'Готово'.
          WHEN ''   ChainMsgText = 'Не определено'.
          WHEN 'J'. ChainMsgText = 'Ошибка архитектуры при завершении (напр., отсутств. СледОб)'.
        ENDCASE.


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

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


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

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


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

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