Текущее время: Чт, авг 21 2025, 18:24

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


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

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


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

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