+ Sapforum.Biz » Инструменты » ABAP - Инструментальные средстваТема:
|- Forward Transport Request by Function Module




Автор Тема: Forward Transport Request by Function Module  (Прочитано 617 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fredy2006

  • Newbie
  • *
  • Сообщений: 2
  • Reputation Power: 0
  • fredy2006 has no influence.
  • Пол: Мужской
Forward Transport Request by Function Module
« : Апрель 20, 2018, 04:41:53 pm »
Доброго времени суток, Форумчане!
Не знает ли кто, как с помощью FM(Функционального модуля) возможно осуществить Forward транспортного запроса из одной системы в другую?

Из функциональной группы TMS я нашёл лишь следующие 2 созвучных функциональных модуля:
   
   TMS_MGR_FORWARD_TR_REQUEST
   TMS_UI_FORWARD_TR_REQUEST


С модулей TMS_UI_FORWARD_TR_REQUEST не получилось справиться, почему-то он ругается на неверную систему-назначения (Хотя она верно указана).

Но осуществить Forward с помощью TMS_MGR_FORWARD_TR_REQUEST также не получается(С разными параметрами пытался запускать данный FM, но всё безрезультатно).

Максимум только вижу, что при выполнении функционального модуля TMS_MGR_FORWARD_TR_REQUEST в ALOG-файле системы-источника(SID: SRI), что располагается в директории /usr/sap/trans/log/, следующую запись:

   sriadm       20180419132839 RFC: tp ADDTOBUFFER SRDK906219 SRN client200 pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL -Dtransdir=/usr/sap/trans  (pid=18267)
   
В ALOG-файле системы-назначения(SID: SRN) в этот момент в ALOG-файл ничего не пишется.
В очереди импорта системы-назначения(SID: SRN) ни в транзакции stms_import, ни в выводе утилиты tp данный запрос не появляется.

---

Если пытаться сделать Forward запроса(Без данных) стандартным средством через SAP Logon (stms_import -> Forward Request (Ctrl + F12) - Синий квадрат со стрелкой), то видим следующие записи в логах:

ALOG-файл системы-источника(SID: SRI):

   sriadm       20180419132839 RFC: tp ADDTOBUFFER SRDK906219 SRN client200 UIF pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL -Dtransdir=/usr/sap/trans  (pid=18267)

ALOG-файл системы-назначения(SID: SRN):

   srnadm       20180419132840 RFC: tp TRANSMITBUFFER SRN pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL REMOTE=SRI -Dtransdir=/usr/sap/trans  (pid=12820)
   srnadm       20180419132840 RFC: tp IMPORTPREVIEW ALL SRN pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL -Dtransdir=/usr/sap/trans  (pid=12820)

   
---

Если пытаться сделать Forward транспортного запроса(С данными) стандартными средствами через SAP Logon (stms_import -> Forward Request (Ctrl + F12) - Синий квадрат со стрелкой), то видим следующие записи в логах:

ALOG-файл системы-источника(SID: SRI):

   sriadm       20180419140525 RFC: tp ADDTOBUFFER SRDK906206 SRN client200 UIF pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL -Dtransdir=/usr/sap/trans  (pid=18267)
   sriadm       20180419140534 RFC: tp COMMITBUFFER SRN pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL REMOTE=SRN -Dtransdir=/usr/sap/trans  (pid=26953)
   sriadm       20180419140534 RFC: tp CLEANBUFFER SRN pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL -Dtransdir=/usr/sap/trans  (pid=26953)


ALOG-файл системы-назначения(SID: SRN):

   srnadm       20180419140534 RFC: tp TRANSMITBUFFER SRN pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL REMOTE=SRI -Dtransdir=/usr/sap/trans  (pid=21602)
   srnadm       20180419140534 RFC: tp SETTRANSFERRED SOME SRN pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL REMOTE=SRI -Dtransdir=/usr/sap/trans  (pid=21602)
               SOME means in detail: SRDK906206 (pid=21602)
   srnadm       20180419140535 RFC: tp IMPORTPREVIEW ALL SRN pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL -Dtransdir=/usr/sap/trans  (pid=21608)


---

Пытался потом вручную запустить команду tp COMMITBUFFER на системе-назначения(SID: SRN), но она выдаёт ошибку и запрос всё также не появляется в системе-назначения(SID: SRN):

   $ tp TRANSMITBUFFER SRN pf=/usr/sap/trans/bin/TP_DOMAIN_SRD.PFL REMOTE=SRI -Dtransdir=/usr/sap/trans
   This is tp version 380.39.89 (release 742, unicode enabled)
   Warning: Parameter DBLIBPATH is no longer used.
   HALT 20180420134103
   ERROR: Could not open internal table TPBUFFER for read access.
   RFC connection broken or process already offline.
   This function is not supported in offline mode. [/bas/742_REL/src/cts/tp/tpbuff.c,10842]
   ERROR: EXIT(16) -> process ID is: 23330

   tp returncode summary:

   TOOLS: Highest return code of single steps was: 16
   ERRORS: Highest tp internal error was: 0200
   tp finished with return code: 200
   meaning:
     ERROR: see tp's stdout (Standard Out may not be available)


Народ, может кто-то сможет подсказать, что я делаю не так и имеется ли возможность форвардить запросы с помощью функционального модуля?

P.S.: Зачем мне это? Просто хочется автоматизировать рутинные задачи.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 700
  • Reputation Power: 2
  • Uukrul barely matters.Uukrul barely matters.
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Forward Transport Request by Function Module
« Ответ #1 : Апрель 23, 2018, 09:04:49 am »
Ну как вариант, написать пакетный ввод (CALL TRANSACTION) и должно все работать. Да медленнее чем через ФМ,  но тут скорость особо не будет принципиальной как мне кажется.

Оффлайн fredy2006

  • Newbie
  • *
  • Сообщений: 2
  • Reputation Power: 0
  • fredy2006 has no influence.
  • Пол: Мужской
Re: Forward Transport Request by Function Module
« Ответ #2 : Апрель 24, 2018, 10:51:27 am »
Немного поковырял FM: TMS_UI_FORWARD_TR_REQUEST

И понял, что мне нужны следующие 2 FM модуля для моей задачи:

TMS_MGR_FORWARD_TR_REQUEST
TMS_MGR_TRANSMIT_TR_QUEUE

Первый добавляет запрос в буфер удалённой системы(локально), а потом вторым FM происходит переадресация данного запроса в удалённую систему.

По крайней мере получилось с помощью них, вызывая их в SAP Logon, переадресовать запрос.

Правда вот по RFC из-под Python программы не получилось успешно выполнить второй FM: TMS_MGR_TRANSMIT_TR_QUEUE
Python её вызывает, но в ответ ничего не приходит. Команда выполняет и "пусто" в ответ. И в результате данная переадресация не происходит.

Полагаю всё из-за того, что после запуска TMS_MGR_TRANSMIT_TR_QUEUE в SAP Logon происходит запрос авторизации(Логин/Пароль) на удалённом хосте.
Но в рамках запуска данного FM по RFC запрос на авторизацию не приходит.

Пока не знаю, как это победить.