Ошибка rfc sap

Purpose

The purpose of this document is to list the error codes that can be returned during a trusted RFC connection, including the meaning of each return code.

Overview 

This page list the error codes that can be returned during a trusted RFC connection, including the meaning of each return code.

Cause

A trusted RFC was configured between two ABAP systems.

However, something is not correct at this setup, causing an error while such trusted connection is being used.

Such error is usually observed at a «CALL_FUNCTION_SINGLE_LOGIN_REJ» dump (transaction ST22).

Solution

Fix the incorrect settings related to the trusted setup.

Knowing the meaning of the return codes can help identifying what needs to be fixed.

  • The possible return codes for the «trusted system» (T-RC) are:
0 Correct logon via trusted system.
1 No trusted system entry for the caller system «<SID> » with the installation number » «, if this exists, or the security key entry for system «<SID> » is invalid.
2 User «<user ID> » does not have RFC authorization (authorization object (S_RFCACL) for user «<user ID> » with client <client>.
3 The time stamp of the logon data was invalid.
  • The possible return codes for the «logon procedure» (L-RC) are:
0 USER_OK Login was correct
1 USER_NOT_ALLOWED User or password incorrect
2 USER_LOCKED User locked
3 STOP_SESSION Too many attempts to log on
5 BAD_BUFFER Error in the authorization buffer
6 CUA_MASTER_RECORD No external user check
7 BAD_USER_TYPE Invalid user type
8 USER_NOT_VALID Validity of user exceeded
9 SNC_MAPPING_MISMATCH User does not correspond to SNC name
10 SNC_REQUIRED Secure connection required
11 SNC_NAME_NOT_IN_ACL User not found in USRACL(EXT)
12 SNC_SYST_NOT_IN_ACL System not found in USRACL(EXT)
13 SNC_MAPPING_NO_MATCH No matching user found
14 SNC_MAPPING_AMBIGUOUS Multiple user matches found
20 TICKET_LOGON_DISABLED Logon process deactivated
21 TICKET_INVALID Data received not SSO ticket
22 TICKET_ISSUER_NOT_VERIFIED Digital signature not verified
23 TICKET_ISSUER_NOT_TRUSTED Ticket issuer not trusted
24 TICKET_EXPIRED Ticket expired
25 TICKET_WRONG_RECIPIENT Wrong recipient
26 TICKET_WITH_EMPTY_USERID Ticket coontains an empty User ID
30 X509_LOGON_DISABLED Snc/extid_login_diag = 0
31 X509_BASE64_INVALID Cert not base64-encoded
32 X509_INVALID_SERVER X.509 not provided by ITS
33 X509_HTTPS_REQUIRED Cert not transferred via SSL
34 X509_MAPPING_NO_MATCH No matching account
35 X509_MAPPING_AMBIGUOUS Multiple matching accounts
40 EXTID_LOGON_DISABLED snc/extid_login_diag = 0
41 EXTID_MAPPING_NO_MATCH No matching account
42 EXTID_MAPPING_AMBIGUOUS Multiple matching accounts
50 PASSWORD_LOGON_DISABLED login/disable_password_logon
51 PASSWORD_IDLE_INIT login/password_max_idle_init
52 USER_HAS_NO_PASSWORD USR02.CODVN = ‘X’ (flag)
53 PASSWORD_ATTEMPTS_LIMITED Lock counter exceeded
54 PASSWORD_IDLE_PROD login/password_max_idle_prod
100 CLIENT_NOT_EXIST Client does not exist
101 CLIENT_LOCKED Client locked
200 MULTIPLE_RFC_LOGON

login/disable_multi_rfc_login

1002   Trusted system logon failed (no S_RFCACL authorization)

Related Content

Maintaining Trust Relationships between SAP Systems

Official SAP Support Video on Youtube

SAP note 128447: Trusted/trusting systems

SAP note 320991: Error codes during logon (list)

Просмотр нерешенных тем
Сообщения без ответов | Активные темы

Правила форума

ВНИМАНИЕ! Прежде чем задавать вопрос, ознакомьтесь со ссылками ниже:

Вопросы по отличиям версий SAP, Add-On, EHP — сюда
Вопросы по SAP Front End (SAPlogon, SAPgui, guiXT и т.д.) — сюда
Вопросы по LSMW — сюда
Вопросы по архивации в SAP — сюда
Вопросы по SAP GRC — сюда
Вопросы по SAP Business Workplace (почте SAP) и SAP Office — сюда
Вопросы по miniSAP (SAP mini basis) — сюда
Вопросы по SAP HANA — сюда
Вопросы по лицензированию продуктов SAP — сюда

Автор Сообщение

Заголовок сообщения: проблемы с RFC соединением

СообщениеДобавлено: Чт, апр 03 2008, 10:59 

Младший специалист
Младший специалист



Зарегистрирован:
Ср, янв 16 2008, 21:08
Сообщения: 76

Всем добрый день!

Помогите, пожалуйста, настроить RFC соединение (какой RFC-адрес прописывать в WE21 и что прописать в SM59) между двумя системами SAP4.6 и SAP6.0 с целью переноса основных данных.

Заранее спасибо.

Принять этот ответ

Вернуться к началу

Профиль  

dol_vv

Заголовок сообщения:

СообщениеДобавлено: Чт, апр 03 2008, 19:25 

Старший специалист
Старший специалист



Зарегистрирован:
Вс, сен 23 2007, 21:22
Сообщения: 319
Откуда: Москва
Пол: Мужской

Вы сейчас пытаетесь настроить IDOC-и, а точнее прописать руками соединения и порты в R3 и BW.

ИМХО пустое… :shock:

Это не есть правильно. :shock:

Нужно настроить Source System, порты она пропишет автоматом.

Сделайте в SM59 соединение для ALEREMOTE с R/3.

Там есть хитрости с полномочиями… :lol:

Потом нужно создать исходную систему и можно сказать дело сделано.

По факту проверить we20/21.

Если все сделано правильно, то проблем быть не должно.

После проверить созданную систему и реплицировать источники(проваливаемся в исх.сист.).

ЗЫ И не читайте перед обедом документацию САП… :lol:

ЗЫ ЗЫ Тока рекомендую «потренироваться» на тестовых системах… :shock:

Принять этот ответ

Вернуться к началу

Профиль  

Nicky

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 04 2008, 08:59 

Младший специалист
Младший специалист



Зарегистрирован:
Ср, янв 16 2008, 21:08
Сообщения: 76

Цитата:

Вы сейчас пытаетесь настроить IDOC-и, а точнее прописать руками соединения и порты в R3 и BW.

Да, именно для Master Data Distribution я и пытаюсь это сделать.

Цитата:

Это не есть правильно.
Нужно настроить Source System, порты она пропишет автоматом.
Сделайте в SM59 соединение для ALEREMOTE с R/3.
Там есть хитрости с полномочиями…
Потом нужно создать исходную систему и можно сказать дело сделано.
По факту проверить we20/21.
Если все сделано правильно, то проблем быть не должно.
После проверить созданную систему и реплицировать источники(проваливаемся в исх.сист.).

Это все конечно хорошо, но, к сожалению, мало понятно. Если можно — поподробнее.

Цитата:

И не читайте перед обедом документацию САП…

Кроме документации по SAP, других источников информации не имею, а личного опыта не то что мало, его просто нет.

Поэтому вопрос о настройке RFC-соединения для Master Data Distribution остается открытым.

Принять этот ответ

Вернуться к началу

Профиль  

dol_vv

Заголовок сообщения:

СообщениеДобавлено: Сб, апр 05 2008, 02:34 

Старший специалист
Старший специалист



Зарегистрирован:
Вс, сен 23 2007, 21:22
Сообщения: 319
Откуда: Москва
Пол: Мужской

Сам когда то разбирался с 0-ля…

Я часа за 2-3 осилил и не эту батву а миграцию… :lol:

Да, да, не удивляйтесь.

Исходные системы еще и мигрировать можно… :shock:

Примерный алгоритм так сказать…

(R3/BW)SU01 — польз. ALEREMOTE (SAP_ALL, SAP_NEW)

Со стороны R3 я обычно делаю Z-роль для RFC ALEREMOTE-у

Без нее R3 не даст возможность BW сделать определенные вещи.

Грубо через RFC BW в R3 создает, а точнее активирует транспортные структуры. Без этого не сможете активировать базовые экстракторы, ну в общем не суть важно.

(R3/BW)SM59 — RFC соединения, чтобы тесты и коннекты были.

В качестве пользователя — ALEREMOTE….

(BW)RSA1 — создаем исходную систему, в Вашем случае это R3 для версии 4.6 и выше, от R2 там есть отличия…

Там же делаем логические системы.

(BW/R3)WE20/21 — проверяем порты IDOC-ов и в последствии мониторим их течение в BD87

Можете через SALE — это более универсально и правильно…

(BW)RSA1 — реплицируем основные данные

Даже не знаю как подробнее. :shock:

ЗЫ Давайте так.

Конкретизируйте на каком этапе возникают проблемы…

Иначе как то сложно подсказать, не мануал же на форуме писать. :shock:

Собственно мануал.

ИМХО лучше по более старой версии.

http://help.sap.com/erp2005_ehp_03/help … ameset.htm

Принять этот ответ

Вернуться к началу

Профиль  

Nicky

Заголовок сообщения:

СообщениеДобавлено: Вт, апр 08 2008, 13:24 

Младший специалист
Младший специалист



Зарегистрирован:
Ср, янв 16 2008, 21:08
Сообщения: 76

В настройках соединения между системами M00CLNT200 и ERDCLNT100

в системе M00CLNT200 захожу под логином ROOT и паролем delta1 при заполнении полей в SM59 прописываю следующие значения:

RFC-адрес: ERD

Тип соединения: 3

РаспрНагрузки: нет

Номер системы: 00

Целевофй хост: 192.168.20.25 (адрес ERDCLNT100)

Сохранить как: IP-адрес

ДостовернСист: Да

Язык: RU

Мандант: 100

Пользоват.: ROOT

Пароль: delta1

При этом пользователь ROOT с паролем delta1 в ERDCLNT100 настроен, тест соединения нормальный, в scc4 стоит Уровень защиты 0:без ограничения и автоматическая запись изменений.

Собственно проблема: при попытке сохранить RFC-адрес с параметром ДостовернСист: Да выдает: «В одной из достоверных систем будет удален пароль. Удалить пароль?» —> ок и при попытке дистанционного входа в систему выдает сообщение»No authorization to logon as trusted system», кроме того в BD64 —> Ракурс модели —> Рапределить выдает сообщение: «Возникла ошибка связи. You are not authorized to logon to the target system (error code 1)».

Подскажите, пожалуйста, как это исправить.

Принять этот ответ

Вернуться к началу

Профиль  

dol_vv

Заголовок сообщения:

СообщениеДобавлено: Чт, апр 10 2008, 23:03 

Старший специалист
Старший специалист



Зарегистрирован:
Вс, сен 23 2007, 21:22
Сообщения: 319
Откуда: Москва
Пол: Мужской

Вернуться к началу

Профиль  

Nicky

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 11 2008, 14:54 

Младший специалист
Младший специалист



Зарегистрирован:
Ср, янв 16 2008, 21:08
Сообщения: 76

dol_vv написал:

http://help.sap.com/saphelp_nw04/helpdata/en/d3/5b5c8ac5a93941b9f4e2f09b50beb4/frameset.htm

Для начала я бы проверил полномочия пользователя ROOT…

Посмотрите доку, проверьте AUTHORITY_CHECK_RFC,
параметр auth/rfc_authority_check в профайле и можно потрассировать(в крайнем случае — st01)…

В доке написано:

Before a trusted system can be defined, a destination for this system must be created in the trusting system. In addition, the RFC users must have the corresponding authorizations in the trusting system (authorization object S_RFCACL). You can check the authorizations for the logged on users in the trusting system in advance, by using the function module AUTHORITY_CHECK_TRUSTED_SYSTEM.

Извините за банальный вопрос, просто никогда с этим не сталкивался, но как вызвать этот функц. модуль AUTHORITY_CHECK_TRUSTED_SYSTEM?

Принять этот ответ

Вернуться к началу

Профиль  

sibrin

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 11 2008, 15:39 



Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской

Nicky написал(а):

как вызвать этот функц. модуль AUTHORITY_CHECK_TRUSTED_SYSTEM?

Тр. se37, потом F8.

Принять этот ответ

Вернуться к началу

Профиль  

Nicky

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 11 2008, 16:26 

Младший специалист
Младший специалист



Зарегистрирован:
Ср, янв 16 2008, 21:08
Сообщения: 76

sibrin написал:

Nicky написал(а):

как вызвать этот функц. модуль AUTHORITY_CHECK_TRUSTED_SYSTEM?

Тр. se37, потом F8.

спасибо большое!

показало, что нет полномочий на объект S_RFCACL.

Подскажите, пожалуйста, в какой транз. можно назначить эти полномочия для пользователя?

Принять этот ответ

Вернуться к началу

Профиль  

dol_vv

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 11 2008, 19:37 

Старший специалист
Старший специалист



Зарегистрирован:
Вс, сен 23 2007, 21:22
Сообщения: 319
Откуда: Москва
Пол: Мужской

Цитата:

Подскажите, пожалуйста, в какой транз. можно назначить эти полномочия для пользователя?

— В тр. PFCG/SU01 :shock:

Обычно для начала делаю так:

SU01 — ALEREMOTE

Профили

SAP_ALL

SAP_NEW

S_BI-WHM_RFC

S_RS_ALL

SE37 — AUTHORITY_CHECK_RFC

Upper/lower case

Runtime: 21,788 Microseconds

Import parameters Value

USERID ALEREMOTE

FUNCTIONGROUP *

Для ALEREMOTE трастовые соединения не нужны, но у Вас м.б. какие-либо другие задачи…

Сделайте обычное соединение, а потом уже трастовое.

Например, для этих целей я как правило клепаю какую-нить роль.

Тр-я — PFCG

Типа ZSAP_BC_USR_CUA_CLIENT_RFC по мотивам оригинала SAP_BC_USR_CUA_CLIENT_RFC.

ЗЫ Все же, рекомендую поизучать документацию или обратиться к Вашему базиснику(ИМХО это более оптимальный вариант). :shock:

Принять этот ответ

Вернуться к началу

Профиль  

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

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

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

cron

REPORT  ztst_call_async_rfc.

PARAMETERS: p_para TYPE char1 DEFAULT ‘X’ AS CHECKBOX.

TYPES: BEGIN OF t_tasklist,

         taskname(4) TYPE C,        » Задача

         RESULT      TYPE char50,   » Статус обработки

      END OF t_tasklist.

DATA:

      lv_calls TYPE I VALUE 10,               » Количество запусков функции

      lv_max_tasks TYPE I,                    » Переменная для хранения максимального числа задач

      lv_free_tasks TYPE I,                   » Переменная для хранения числа свободных задач

      lv_number_of_tasks_in_use TYPE I,       » Количество задач в работе

      lv_started_rfc_calls TYPE I VALUE 0,    » Кол-во запущенных задач

      lv_finished_rfc_calls TYPE I VALUE 0,   » Кол-во завершенных задач

      lv_exception_flag(1) TYPE C,            » Флаг ошибки запуска задачи из-за нехватки ресурсов

      lv_taskname(4) TYPE N VALUE ‘0001’,     » Имя задачи

      lt_tasklist TYPE TABLE OF t_tasklist.   » Журнал обработки RFC вызовов.

DATA: » Для обработки времени работы

      lv_start_time TYPE timestampl,

      lv_end_time   TYPE timestampl,

      lv_diff       TYPE timestampl.

FIELDSYMBOLS: <fs_tasklist> TYPE t_tasklist.

START-OF-SELECTION.

  IF p_para EQ ‘X’.

    GET TIME STAMP FIELD lv_start_time.

* Получение максимального числа задач и кол-во свободных для использования задач.

    CALL FUNCTION ‘SPBT_INITIALIZE’

      EXPORTING

        group_name                     = »

      IMPORTING

        max_pbt_wps                    = lv_max_tasks

        free_pbt_wps                   = lv_free_tasks

      EXCEPTIONS

        invalid_group_name             = 1

        internal_error                 = 2

        pbt_env_already_initialized    = 3

        currently_no_resources_avail   = 4

        no_pbt_resources_found         = 5

        cant_init_different_pbt_groups = 6

        OTHERS                         = 7.

    IF sysubrc <> 0.

      MESSAGE ID symsgid TYPE symsgty NUMBER symsgno

              WITH symsgv1 symsgv2 symsgv3 symsgv4.

    ELSE.

      WRITE : / ‘Макисмальное число задач для выполнения параллельно обработки: ‘, 80 lv_max_tasks RIGHTJUSTIFIED.

      WRITE : / ‘Доступное кол-во задач: ‘, 50 lv_free_tasks RIGHTJUSTIFIED.

      ULINE.

      DO lv_calls TIMES.

        PERFORM call_rfc. » Запуск RFC задачи

        » call_rfc — запускает на выполнение RFC функцию в отдельном задаче (асинхронно),

        » в случае если нет свободных задач, или произошла ошибка выделения задачи,

        » ожидает пока не завершаться предыдущие задачи, после завершения продолжает данный цикл.

      ENDDO.

      » Последняя задержка пока не отработают все «последние» задачи.

      WAIT UNTIL lv_finished_rfc_calls = lv_calls.

      SKIP 2.

      WRITE : / ‘Журнал работы RFC функций:’.

      ULINE.

      LOOP AT lt_tasklist ASSIGNING <fs_tasklist>.

        WRITE : / <fs_tasklist>taskname,

                  <fs_tasklist>RESULT.

      ENDLOOP.

      SKIP.

      GET TIME STAMP FIELD lv_end_time.

      lv_diff = lv_end_time lv_start_time.

      WRITE: /(50) ‘Время работы’, lv_diff.

    ENDIF.

  ELSE.

    GET TIME STAMP FIELD lv_start_time.

    » Запуск функции в последовательной обработке

    DO lv_calls TIMES.

      CALL FUNCTION ‘Z_PAR_TEST’

        EXPORTING

          COUNT  = 2

        EXCEPTIONS

          OTHERS = 99.

    ENDDO.

    GET TIME STAMP FIELD lv_end_time.

    lv_diff = lv_end_time lv_start_time.

    WRITE: /(50) ‘Время работы’, lv_diff.

  ENDIF.

*&———————————————————————*

*& Form call_rfc

*&———————————————————————*

* text

*———————————————————————-*

FORM call_rfc.

  ADD 1 TO lv_number_of_tasks_in_use.

* Внимание: количество свободных задач для параллельной обработки делится между всеми

* пользователями, крайне не желательно использовать все (lv_free_tasks) для расчётов,

* их количество настраивается в тр. RZ12. В случае если все свободные задачи заняты кем

* то, программа выдаст сообщение об ошибке (Нехватке ресурсов ПФЗ), после вызова SPBT_INITIALIZE

  » Если количество процессов в работе будет превышать кол-во свободных задач,

  » остановим программу на ожидание освобождения задач.

  IF lv_number_of_tasks_in_use > lv_free_tasks.

    WRITE : / ‘Ожидаем пока завершатся предыдущие задачи’.

    WAIT UNTIL lv_number_of_tasks_in_use < lv_free_tasks.

  ENDIF.

  CALL FUNCTION ‘Z_PAR_TEST’

    STARTING NEW TASK lv_taskname

    «DESTINATION IN GROUP DEFAULT

    PERFORMING receive_results_from_rfc ON END OF TASK

    EXPORTING

      COUNT           = 2

* Так как используется асинхронный вызов RFC параметры импорта здесь не указываются,

* результат работы будет получаен в форме receive…

    EXCEPTIONS

      communication_failure = 1

      system_failure        = 2

      resource_failure      = 3.

* Чтобы узнать на каком сервере приложений будет запущена задача, необходимо сразу после запуска

* воспользоваться ФМ — SPBT_GET_PP_DESTINATION

* Чтобы исключить выполнение задачи на полученном сервере приложений используется ФМ: SPBT_DO_NOT_USE_SERVER

*

* Администрирование групп параллельной обработки выполняется через транзакцию — RZ12

* Мануал по этому делу тут: http://help.sap.com/saphelp_nw04/helpdata/en/fa/096e92543b11d1898e0000e8322d00/frameset.htm

* Пример обработки:

** 1 — system crash occured on the receiving side

** 2 — connection or communication problem with RFC-Destination

* CALL FUNCTION ‘SPBT_GET_PP_DESTINATION’

* IMPORTING rfcdest = lf_rfcdest.

*

* CALL FUNCTION ‘SPBT_DO_NOT_USE_SERVER’

* EXPORTING server_name = lf_server

* EXCEPTIONS

* invalid_server_name = 1

* no_more_resources_left = 2

* pbt_env_not_initialized_yet = 3

* OTHERS = 4.

* IF sy-subrc <> 0.

* cf_task_failure = chars. «e-message -> missing log

* EXIT.

* ENDIF.

  CASE sysubrc.

    WHEN 0.

      WRITE : / ‘Запущена новая задача с именем: ‘, lv_taskname.

      APPEND INITIAL LINE TO lt_tasklist ASSIGNING <fs_tasklist>.

      <fs_tasklist>taskname = lv_taskname.

      lv_started_rfc_calls = lv_started_rfc_calls + 1.

      ADD 1 TO lv_taskname.

    WHEN 1 OR 2.           «Communications failure

* Означает что сервер приложений не доступен; нет необходимости обрабатывать данное исключение,

    WHEN 3.                » Нет свободных задач, ожидаем.

      IF lv_exception_flag = SPACE.

        lv_exception_flag = ‘X’.

        WRITE : / ‘Нет доступных задач ждем пока освободятся…’.

        WAIT UNTIL lv_finished_rfc_calls >= lv_started_rfc_calls.

      ELSE.

        WRITE : / ‘Повторное ожидание освобождения задач…’.

        WAIT UNTIL lv_finished_rfc_calls >= lv_started_rfc_calls.

        IF sysubrc = 0.   » Ожидание было успешным

          CLEAR lv_exception_flag.

        ELSE.              » Ожидание прервано, сбой в RFC вызове, прерывание обработки

          WRITE : / ‘RFC вызов прерван’.

          EXIT.

        ENDIF.

      ENDIF.

  ENDCASE.

ENDFORM.                    «call_rfc

*&———————————————————————*

*& Form receive_results_from_rfc

*&———————————————————————*

* text

*———————————————————————-*

* —>VALUE(P_TASKNAME) text

*———————————————————————-*

FORM receive_results_from_rfc USING VALUE(p_taskname).

  lv_number_of_tasks_in_use = lv_number_of_tasks_in_use 1.

* Обновить статус задачи

  READ TABLE lt_tasklist WITH KEY taskname = p_taskname ASSIGNING <fs_tasklist>.

  IF sysubrc = 0.

    <fs_tasklist>RESULT = ‘Задача успешно завершена’.

  ELSE.

    READ TABLE lt_tasklist WITH KEY taskname = lv_taskname ASSIGNING <fs_tasklist>.

    IF sysubrc = 0.

      <fs_tasklist>RESULT = ‘Ошибка в обработке задачи’.

    ENDIF.

  ENDIF.

* Получение результатов обработки функции, в данном случае ничего не получаем

  RECEIVE RESULTS FROM FUNCTION ‘Z_PAR_TEST’.

  lv_finished_rfc_calls = lv_finished_rfc_calls + 1.

ENDFORM.                    «RECEIVE_RESULTS_FROM_RFC

Problem

IBM InfoSphere Information Server: Most of the issues that are reported with the SAP BW Pack are caused by connection setup issues. We additionally include here a troubleshooting reference for the Pack for SAP Applications (the section «Generic Listener troubleshooting» applies to both Packs)

Symptom

Various symptoms are generated by incorrect connection configuration:
— Jobs initiated from SAP BW do not run in InfoSphere DataStage;
— Load jobs initiated from InfoSphere DataStage abort with the following error message: «Timeout waiting for BW to indicate InfoPackage ready for load»;
— Extract jobs abort with: «Timeout while waiting for BW to start load after process chain starts».
— IDOCs sent from SAP do not arrive in Datastage

Cause

Incorrect SAP and/or InfoSphere DataStage environment settings.

Resolving The Problem

The steps described in this technote should be the first troubleshooting action for BW issues. If still encountering difficulties, see also technote 1441967  —  Troubleshooting hanging BW Load or Extract jobs that might terminate with a «timeout» message

The SAP Packs consist of 4 components:

  • Client tier Graphical user interface (used to edit the stage properties in a Datastage job)
  • Client tier Datastage Administrator for SAP — used to edit SAP Connections and setup Source Systems and IDOC types
  • Engine tier Runtime (used on the server side when the job is run)
  • Engine tier Listener / RFC Server which runs as an independent process to receive:
    — notifications arriving from the SAP BW Server
    — IDOCs sent from the SAP ERP system

Source system connection
InfoSource and InfoPackage properties
InfoPackage log in SAP
Process Chain

BW Extract OpenHub Runtime troubleshooting

Settings checkup
Monitoring the InfoSpoke and Process Chain
Resetting a previous request
Additional OHD request status considerations

Other notes

Enabling the RFC Trace
Manual cleanup of listener temporary files

  • Generic Listener troubleshooting

    This is common between the Pack for SAP BW and Applications.
    First, use a Program ID in the form: <DataStage Server box name>.<SAP box name>.<usage>
    where usage can be idoc (for an IDOC listener) and bw (for a BW source system).
    Example: vdraganx.bocasap5.bwextract

    Important: the Program ID needs to be unique, no two listeners can share the same id. This is the single most often cause of errors. See the steps below on how to determine if an existing listener uses a unique Program ID.
    Instead of this potentially lengthy troubleshooting the user may choose to use a new Program ID (for example adding a prefix or suffix to the previous id). Using a new id is recommended whenever possible.

    Steps to troubleshoot listener issues

    1. Check the listener logs —  usually contains an error indicate of the issue.
    Applications: $DSSAPHOME/DSSAPConnections/[Connection]/IDocListener.log, dsidocsvr.log
    BW: $DSSAPHOME/DSBWConnections/[ConnectionName]/SourceSystems/[SourceSystemName]/Data/RFCServer*.log
    For example if this error is shown it means registration of RFC destination is not allowed from the SAP host. Check SAP Profile parameter ‘gw/acl_mode’ using t-code RZ11. If its value is 1 make it 0(zero) to allow Data Stage to register the RFC destination.
    Fatal: RFC server function ‘rfc_getline’ failed, returned ‘765:ERROR: RFC error has occured with the following details: %1:Error Details: BAPI: RfcListenAndDispatch Code: RFC_COMMUNICATION_FAILURE Key: RFC_COMMUNICATION_FAILURE Message: LOCATION SAP-Gateway on host SRVBRA153.tods.com / sapgw00
    ERROR registration of tp ZRFC_ZRT_TP_CALC_IVA from host srvibm4bids.tods.com not allowed

    2. Check the connection from the SAP side —  after making sure the listener is started and there are no further errors in the log:

    • In SAP user interface, run transaction sm59 and test the RFC destination involved in the connection.
    • If the connection test fails, you have no connection. See note below.
    • If the connection test succeeds, but you do not get the expected results when running InfoSphere DataStage, such as IDOCS not arriving, jobs hanging with «Waiting for BW » or aborting with » Timeout (…) » you may have duplicated Program IDs. Go to step 4.
    • Stop the listener on the InfoSphere DataStage side (IDOC Manager, RFC Manager). Ensure that that all processes are stopped. Otherwise use the kill command to stop a process: dsrfcmgr, dsrfcsvr, dsidocmgr, dsidocsvr
    • Logon to SAP, sm59 and test the connection: you want the test to fail as shown below.
    • If the test is successful, then there is another listener sharing the Program ID; remove the duplicate

    To find out what system is using the listener, from the menu, click System Information/Target System . Read the Host name/Network address to identify the system. You need to stop the listener on that system or change the Program ID that you are using. Then repeat these steps.

    • If the tests above indicate no duplicate listeners between different DataStage systems, there can still be a duplicate listener within the same system. To verify that:
      — For IDOC: open each connection properties in DS Administrator for SAP and verify the Program ID. It should be unique. You can also disable individual Connection listeners for testing purposes: Connection properties/IDOC Listener Settings tab/disable «Listen for IDOCs»
      — For BW: open each connection properties in DS Administrator for SAP then click on Source Systems. For each Source System click Properties and verify the Program ID on the «RFC Server Configuration» tab. It should be unique. You can also disable individual Source system listeners for testing purposes by disabling «Listen for BW Load requests» on the same tab.

    3. Investigate the DS Server side  

    • Stop the Listener component
      • Turn on the RFC trace (so that the environment variables are visible to the listening component). For more information, see “Notes/Enabling the RFC Trace”
      • Start the Listener component
      • Investigate the logs the component offers (in DataStage SAP administration: for BW inspect Source System/Monitor RFC, for IDOC inspect IDOC log)
      • Investigate the RFC trace: there should be a dev_rfc.trc modified at the time when you started the listener. Look at the end of the file for most recent entries.

    BW Load Runtime troubleshooting

    Source System connection

    1. Open the job in InfoSphere DataStage Designer and edit the SAP BW Load stage properties.

    2. In Transfer Structure tab, edit the Source System properties:

    3. Open a SAP user interface session (SAP Logon) and run the transaction

    sm59

    .
    In the TCP/IP Connection category find the the Source System (as RFC Destination) and open it:

    4. Perform a Test connection . If it fails, verify whether the Datastage RFC Manager is running and check the DataStage Source System log; if the connection succeeds, then we need to make sure the link between SAP DataStage identified here is unique.
    5. Go to DataStage user interface (where you have the Source System properties open) and change the Program ID (or, alternatively, shut down the listener)
    Click OK.
    6. Go to SAP user interface and repeat a Test connection (it should fail. If it doesn’t, then there is another Source System using the same Program ID – you should identify it and remove it or change the Program ID).
    7. Revert the Program ID in the DataStage user interface, Source system properties . Make sure the connection test succeeds.

    InfoSource and InfoPackage properties

    In SAP user interface, run transaction rsa1; in the InfoSource list search for the component used (in our example 0ABCPROCESS); make sure your Source System (in our example VD.BW35) is listed as DataSource (see below). If it’s not, then try selecting again the InfoSource in DS user interface (manual assignment in SAP user interface is not recommended).

    When the InfoSource is attached to the Source System in DataStage, the following confirmation message displays:

    Double-click the DataSource and check the properties (ensure the Transfer Method is set to PSA).

    Go to the InfoPackage (in this example VD.120420) and verify whether it is listed under the DataSource (see step 1); if not, create it again by using the DataStage user interface (by clicking New in the InfoPackage tab).

    Note: The InfoPackage name may not display in the stage user interface in certain conditions. See technote 1697910 for more details.

    InfoPackage log in SAP

    In rsa1, when displaying the hierarchy at step 1 above, double-click the InfoPackage to display the properties (Maintain InfoPackage); now click on Monitor to display the log (You can also do a Step-by-step analysis):

    Process Chain

    If a Process Chain was used in load, you can use transaction rspc to see the logs (see Extract next)

    BW Extract OpenHub Runtime troubleshooting

    Settings checkup

    Perform the following checks:

    Source System connection
    Run the steps from generic troubleshooting section

    InfoSpoke settings
    In DataStage\stage properties, InfoSpoke tab, click UpdateBW .

    The following message displays:

    Process Chain settings

    1. Open SAP and run transaction rspc ; open the Process Chain used in the job; make sure the InfoSpoke used in the job is included here (the Infospoke is responsible for notifying the DataStage job about the status of the extraction):

    2. Double-click InfoSpoke to view the properties (ensure that in Destination tab, the check box Notification to third party tool is selected and the RFC destination and Parameters correspond to the Source system selected in the job).

    Monitoring the InfoSpoke and Process Chain

    InfoSpoke
    From transaction rpsc, displaying the InfoSpoke details, you can monitor it.


    Double-click any entry to get more details about that run.

    Process Chain
    From transaction rspc you can monitor the logs for a Process Chain (click the Scroll icon):

    You can then drill down in logs for a specific date and identify the component that failed.

    Resetting a previous request
    If you see the red or yellow requests as shown in the above screenshot, that means those red or yellow requests can possibly block your next request. This is also the case when the job fails with the following error message:

    Previous request status has not been set

    In those cases, you will need to change the status of the red or yellow requests to green using the transaction se37 and run the function RSB_API_OHS_REQUEST_SETSTATUS:

    Next, press F8 – Single Test:

    Enter the RequestId and press F8 – Execute.

    When the above method fails (the request status is still not green or getting the same error message), you can try a second method :
    Use transaction se16 in BW user interface. Edit the table RSBREQUID3RD and search for the request either by ID (15629) or by status (it will be either N — New or R — Red). Then delete that line or set the status to G — Green.
    Also, check the table RSBKREQUEST and delete any entries for the specific request ID.

    Additional OHD request status considerations

    • ODH of type «3rd party» cannot have «Overall Status of Request Option» set to «Automatic», it’s always set to «Manual» in SAP GUI (grayed out, so it cannot be changed)
    • The Pack is setting the status by calling the RFC API RSB_API_OHS_REQUEST_SETSTATUS (which should be equivalent with the «Manual» setting)
    • There’s a known issue in SAP with Kernel release 7.00 — 7.11 where the status for 3rd party OHD is not set correctly (when the user sets the status manually or via the API); the solution is documented in SAP note 1243168 . It’s strongly recommended the users of affected SAP versions install the correction

    Other notes

    Enabling the RFC Trace

    The RFC Trace is comprised of all files generated as logs by the SAP RFC library. The files are named:

    • rfc<NNN>.trc or .log  (e.g. rfc00192_00568.trc , rfc00195_00765.log )
    • dev_rfc.trc

    The trace is generated by default in the application folder, but the destination can be changed by setting the environment variable RFC_TRACE_DIR=folder. The trace is enabled by setting the environment variable RFC_TRACE=1. These environment variables can be set at Project level by using DataStage Administrator or in the dsenv file (in which case Datastage needs to be restarted). Also set RFC_NO_COMPRESS so the table content will be visible.

    • RFC_TRACE=1
    • RFC_TRACE_DIR=folder
    • RFC_NO_COMPRESS=1

    Manual cleanup of listener temporary files

    When the following symptoms are met, it may be necessary to do a manual cleanup of the temporary listener files:

    • Job hangs and then stops with «Timeout (…)» error message (or it hangs indefinitely if timeout=0)
    • The following message displays in the job log for a DataStage-initiated extraction: «Starting BW initiated extraction»
    • Any other unexpected behavior.

    To manually cleanup the temporary files:

    1. Stop the BW RFC Server listener.
    2. Ensure no processes running. Use the kill command to stop a process:
      • ps -ef|grep rfcsvr
      • kill PID
    3. Delete the contents of the Data folder: <IIS Install>/Server/DSBWConnections/<Connection>/SourceSystems/<SourceSystem>/Data/opt/IBM/InformationServer/Server/DSBWConnections/BI7/SourceSystems/AIX53B/Data
    4. Restart the RFC Server.
    5. Ensure that the listener processes are running:
    • ps -ef|grep rfcsvr

[{«Business Unit»:{«code»:»BU059″,»label»:»IBM Software w\/o TPS»},»Product»:{«code»:»SSZJPZ»,»label»:»IBM InfoSphere Information Server»},»Component»:»Pack for SAP Applications;Pack for SAP BW»,»Platform»:[{«code»:»PF025″,»label»:»Platform Independent»}],»Version»:»All Versions»,»Edition»:»»,»Line of Business»:{«code»:»LOB10″,»label»:»Data and AI»}}]


Many times while working on SAP systems, you get issues from end users stating some functionality is not working or it’s giving a pop-up for login. You wonder what happened suddenly, as there was no change in the system. When you troubleshoot you observe that the Trusted RFC not working. Sound familiar right? This is a very annoying issue as all details will be correct, but still, the trusted connection gets broken. Let’s see how to address such an issue.

Trusted RFC not working
Error Overview

Nature of Errors

While dealing with Trusted connection issues or Trusted RFC not working, sometimes error details are not straightforward. A few error details are shown in previous screenshots, like

  • 00024 rabax during sapgui logon
  • No authorization to log on via a trusted system
  • Error while opening an RFC connection

For the rabax error, you need to do some additional steps to get to the actual cause of the issue. For that please follow our previous post dedicated to that issue. For the rest of the issues, you will get a fair idea from the error text and also from the error code i.e. L-RC and T-RC. A few error code references are as below.

  • For L-RC
    • 0 => USER_OK => Login was correct
    • 1 => USER_NOT_ALLOWED => User or password incorrect
    • 2 => USER_LOCKED => User locked
    • 3 => STOP_SESSION => Too many attempts to log on
    • 5 => BAD_BUFFER => Error in the authorization buffer
    • 6 => CUA_MASTER_RECORD => No external user check
    • 7 => BAD_USER_TYPE => Invalid user type
    • 8 => USER_NOT_VALID => Validity of user exceeded
    • 9 => SNC_MAPPING_MISMATCH => User does not correspond to SNC name
    • 10 => SNC_REQUIRED => Secure connection required
    • 11 => SNC_NAME_NOT_IN_ACL => User not found in USRACL(EXT)
    • 12 => SNC_SYST_NOT_IN_ACL => System not found in USRACL(EXT)
    • 13 => SNC_MAPPING_NO_MATCH => No matching user found
    • 14 => SNC_MAPPING_AMBIGUOUS => Multiple user matches found
    • 20 => TICKET_LOGON_DISABLED => Logon process deactivated
    • 21 => TICKET_INVALID => Data received not SSO ticket
    • 22 => TICKET_ISSUER_NOT_VERIFIED => Digital signature not verified
    • 23 => TICKET_ISSUER_NOT_TRUSTED => Ticket issuer not trusted
    • 24 => TICKET_EXPIRED => Ticket expired
    • 25 => TICKET_WRONG_RECIPIENT => Wrong recipient
    • 26 => TICKET_WITH_EMPTY_USERID => Ticket coontains an empty User ID
    • 30 => X509_LOGON_DISABLED => Snc/extid_login_diag = 0
    • 31 => X509_BASE64_INVALID => Cert not base64-encoded
    • 32 => X509_INVALID_SERVER => X.509 not provided by ITS
    • 33 => X509_HTTPS_REQUIRED => Cert not transferred via SSL
    • 34 => X509_MAPPING_NO_MATCH => No matching account
    • 35 => X509_MAPPING_AMBIGUOUS => Multiple matching accounts
    • 40 => EXTID_LOGON_DISABLED => snc/extid_login_diag = 0
    • 41 => EXTID_MAPPING_NO_MATCH => No matching account
    • 42 => EXTID_MAPPING_AMBIGUOUS => Multiple matching accounts
    • 50 => PASSWORD_LOGON_DISABLED => login/disable_password_logon
    • 51 => PASSWORD_IDLE_INIT => login/password_max_idle_init
    • 52 => USER_HAS_NO_PASSWORD => USR02.CODVN = ‘X’ (flag)
    • 53 => PASSWORD_ATTEMPTS_LIMITED => Lock counter exceeded
    • 54 => PASSWORD_IDLE_PROD => login/password_max_idle_prod
    • 100 => CLIENT_NOT_EXIST => Client does not exist
    • 101 => CLIENT_LOCKED => Client locked
    • 200 => MULTIPLE_RFC_LOGON => login/disable_multi_rfc_login
    • 1002 => Trusted system logon failed (no S_RFCACL authorization)
  • For T-RC
    • 0 => Correct logon via the trusted system.
    • 1 => No trusted system entry for the caller system “XXX” with the installation number “YYYYYY”, if this exists, or the security key entry for system “XXX” is invalid.
    • 2 => User “XXXX” does not have RFC authorization (authorization object (S_RFCACL) for user “YYYYY” with the client.
    • 3 => The timestamp of the login data was invalid.

Also Read

Reset or Refresh Table Buffer in SAP

How to Address the Issue

In most of the cases it will be an authorization issue, so try to address it by updating user roles for missing authorizations. In some cases, it will be a Certificate issue, so try to check if there are any recent updates to the certificate and if yes, make sure to exchange updated certificates between the systems. In case of an issue with specific parameters as per the return code mentioned previously, do adjust those parameters to address the issue. You can take reference of below Notes,

  • SAP Note 128447: Trusted/trusting systems
  • SAP Note 320991: Error codes during logon (list)

If you still face the issue of Trusted RFC not working, even after resolving all authorization, certificate, SSL, and parameters issues, then it is mostly the case of corrupt RFC. To solve this,

  • Create a fresh RFC in SM59, and make sure to select the “Current User” checkbox in the Logon tab.
  • Leave the client field empty.
  • In SMT1, go to Tab “System that trusts current system”, and remove the old entry which is in the issue.
  • Create a new entry with the help of Wizard.
  • Provide freshly created RFC in the previous step when asked in Wizard.
  • Complete the Wizard.
  • Your connection should be working fine now.

Note : Do not try to reuse any other existing RFC. A quick way to solve this is by creating a fresh new RFC in SM59.

Hope you find this information helpful. Do mention your feedback in the comment section. Till the next article, Stay Safe, Stay Healthy, Jai Hind!


Понравилась статья? Поделить с друзьями:
  • Ошибка p310b пассат б6
  • Ошибка p3087 audi
  • Ошибка p2447 lexus 570
  • Ошибка po343 приора
  • Ошибка p310b ауди а6 с6