Автор Тема: Определить настоящее имя пользователя при Remote Logon(SM59) из другой системы  (Прочитано 5710 раз)

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

Оффлайн swips

  • Newbie
  • *
  • Сообщений: 9
  • Репутация: +1/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Помогите пожалуйста со следующей проблемой:
пользователь user1 коннектится из системы X в систему Z через REMOTE LOGON (sm59) под пользователем user2 системы Z.
мне нужно найти его настоящий логин user1 в системе X.
Я нашёл данную информацию в транзакции STAD, но STAD - это считывание статистики из файла.
Информация откуда-то извлекается чтобы потом записаться в файл. Меня интересует первоисточник, чтобы не вычитывать файлы.


Оффлайн №1

  • Administrator
  • Jr. Member
  • *****
  • Сообщений: 636
  • Репутация: +23/-0
  • Пол: Мужской
  • Судьбы я вызов принимаю прямым пожатием руки
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Можно попробовать посмотреть через программу RSRFCTRC (показывает все dev_rfc)
Мой You are not allowed to view links. Register or Login

Оффлайн swips

  • Newbie
  • *
  • Сообщений: 9
  • Репутация: +1/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Можно попробовать посмотреть через программу RSRFCTRC (показывает все dev_rfc)
Не подходит - нет соответствующих данных.

Оффлайн swips

  • Newbie
  • *
  • Сообщений: 9
  • Репутация: +1/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Может быть тогда кто-нибудь знает как получить Transaction ID (уникальный 32-х значный код) текущей транзакции, чтобы можно было привязаться к статистике STAD....

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Может быть тогда кто-нибудь знает как получить Transaction ID (уникальный 32-х значный код) текущей транзакции, чтобы можно было привязаться к статистике STAD....
Ну я не знаю, но вот нашелся тут такой вот ФМ: LC_SEL_TRANSACTIONS
Код: You are not allowed to view links. Register or Login
   EXEC SQL PERFORMING APPEND_ITAB_TRANSACTIONS.
      SELECT session, transcount, process, username,
             connectdate, connecttime, termid,
             reqtimeout, lastwrite, lockmode, lockstate,
             reqmode, reqstate,consistentview, applprocess, applnodeid
      INTO :ITAB_transactions-sessno,
           :ITAB_transactions-transcnt,
           :ITAB_transactions-process,
           :ITAB_transactions-username,
           :ITAB_transactions-condate,:ITAB_transactions-contime,
           :ITAB_transactions-termid, :ITAB_transactions-reqtout,
           :ITAB_transactions-lstwrite, :ITAB_transactions-lockmode,
           :ITAB_transactions-lckstate, :ITAB_transactions-reqmode,
           :ITAB_transactions-reqstate,
           :ITAB_transactions-consview,
           :ITAB_transactions-APPLPROC, :ITAB_transactions-APPLNODE
      FROM SYSDBA.transactions
    ENDEXEC.
Короче похоже что читаются активные транзакции, но похоже что это сильно СУБД ориентированная ФМ, так как синтаксис запроса идет через EXEC SQL, т.е. чего хочу сказать, может полистать спецификацию на вашу базу данных и там найдутся какие-то интересные таблички из которых можно почерпнуть данную информацию?

Вот тут еще нашел такую функцию как: TH_GET_CONTEXT_ID, дык это там вообще в этой группе функций много чего интересного валяется... посмотри, может найдешь что тебе подойдет, я тут походу нашел, интересные ФМ-ки там есть...

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Тут еще случайно завалы разгребал, посмотри группу функций CRFC, особенно по инклудам его пошарь, там вызовы функций ядра, некоторые ну очень интересные как на первый вгляд типа
Код: You are not allowed to view links. Register or Login
CALL 'RFCControl' ID 'CODE' FIELD 'A'
                    ID 'IP' FIELD IP   "l_ip
                    ID 'HOSTNAME' FIELD HOST.
Или типа такое там попадается.
Код: You are not allowed to view links. Register or Login
*---------------------------------------------------------------------*
*       FORM DEST_PLAUSIBILITY                                        *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM DEST_PLAUSIBILITY CHANGING SUBRC.
  SUBRC = 0.                           "Vorinitialisieren auf O.K.
  IF RFCDISPLAY-RFCDEST IS INITIAL.
    MESSAGE E002.
    SUBRC = 1.
  ELSE.
    SELECT SINGLE * FROM RFCDES BYPASSING BUFFER
                                WHERE RFCDEST = RFCDISPLAY-RFCDEST.
    IF NEW = 'X' AND SY-SUBRC = 0.     "Dest. bereits existiert !
      MESSAGE E013.
      SUBRC = 2.
    ELSE.
      IF RFCDISPLAY-RFCTYPE IS INITIAL.
        MESSAGE E000 WITH 'Bitte Verbindungstyp spezifizieren'(SPZ).
        SUBRC = 3.
      ELSE.
* Doku ist gepflegt bei Neuangabe aber Destin. und Langu nicht da !
        IF RFCDOC-RFCDEST IS INITIAL.  "Initialisiere diese !
          RFCDOC-RFCDEST = RFCDISPLAY-RFCDEST.
          RFCDOC-RFCLANG = SYST-LANGU.
        ENDIF.
        IF RFCDOC-RFCDOC1 IS INITIAL AND
           RFCDOC-RFCDOC2 IS INITIAL AND
           RFCDOC-RFCDOC3 IS INITIAL AND
           RFCDISPLAY-RFCLOCK IS INITIAL. "Nur wenn Destination Unlocked
*        SELECT SINGLE * FROM RFCDOC WHERE RFCDEST = RFCDISPLAY-RFCDEST.
*          IF SY-SUBRC NE 0.            "Keine Doku existiert !
          MESSAGE W005.                "Destination bitte dokumentieren.
          SUBRC = 4.
*          endif.
        ENDIF.
      ENDIF.
    ENDIF.
  ENDIF.
* Entfernen der Servicenummer bei Loadbalancing-Destination
  IF LOADBALANCING-YES = 'X'.
    CLEAR RFCDISPLAY-RFCSERVICE.       "Service-Info entfernen
  ENDIF.
* Keine ',' in Login-Daten erlaubt, ansonsten RABAX FORMAT_ERROR
* bei Funktionsbaustein RFCDES2RFCDISPLAY
*  IF RFCDISPLAY-RFCCLIENT CA ',' OR
*     RFCDISPLAY-RFCLANG   CA ',' OR
*     RFCDISPLAY-RFCUSER   CA ',' OR
*     RFCDISPLAY-RFCAUTH   CA ',' .
*    MESSAGE W000 WITH 'Zeichen , in Anmeldedaten nicht zugelassen !'.
*  ENDIF.
ENDFORM.
Ну и в довесок группы функции FITP_AMADEUS_RFC_INTERFACE, QRFC... ну это если уже их не смотрел... вообще в первой группе функций кажется самые интересные варианты попадаются.

Оффлайн swips

  • Newbie
  • *
  • Сообщений: 9
  • Репутация: +1/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Нашёл определение идентификатора собственной транзакции. По ней можно сходить в STAD за статистикой соединения.
Функция называется SXIPERF_GET_TRANSID.
Спасибо всем за помощь.