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 |
|||
|
Всем добрый день!
|
||
Вернуться к началу |
|
||
dol_vv |
Заголовок сообщения: Добавлено: Чт, апр 03 2008, 19:25 |
||
|
Вы сейчас пытаетесь настроить IDOC-и, а точнее прописать руками соединения и порты в R3 и BW.
ИМХО пустое… ЗЫ И не читайте перед обедом документацию САП… ЗЫ ЗЫ Тока рекомендую «потренироваться» на тестовых системах…
|
||
Вернуться к началу |
|
||
Nicky |
Заголовок сообщения: Добавлено: Пт, апр 04 2008, 08:59 |
||
|
Цитата: Вы сейчас пытаетесь настроить IDOC-и, а точнее прописать руками соединения и порты в R3 и BW. Да, именно для Master Data Distribution я и пытаюсь это сделать. Цитата: Это не есть правильно. Это все конечно хорошо, но, к сожалению, мало понятно. Если можно — поподробнее. Цитата: И не читайте перед обедом документацию САП… Кроме документации по SAP, других источников информации не имею, а личного опыта не то что мало, его просто нет. Поэтому вопрос о настройке RFC-соединения для Master Data Distribution остается открытым.
|
||
Вернуться к началу |
|
||
dol_vv |
Заголовок сообщения: Добавлено: Сб, апр 05 2008, 02:34 |
||
|
Сам когда то разбирался с 0-ля… Примерный алгоритм так сказать…
(R3/BW)SU01 — польз. ALEREMOTE (SAP_ALL, SAP_NEW)
(R3/BW)SM59 — RFC соединения, чтобы тесты и коннекты были.
(BW)RSA1 — создаем исходную систему, в Вашем случае это R3 для версии 4.6 и выше, от R2 там есть отличия…
(BW/R3)WE20/21 — проверяем порты IDOC-ов и в последствии мониторим их течение в BD87 (BW)RSA1 — реплицируем основные данные Даже не знаю как подробнее.
ЗЫ Давайте так.
Собственно мануал. http://help.sap.com/erp2005_ehp_03/help … ameset.htm
|
||
Вернуться к началу |
|
||
Nicky |
Заголовок сообщения: Добавлено: Вт, апр 08 2008, 13:24 |
||
|
В настройках соединения между системами M00CLNT200 и ERDCLNT100
|
||
Вернуться к началу |
|
||
dol_vv |
Заголовок сообщения: Добавлено: Чт, апр 10 2008, 23:03 |
||
|
|||
Вернуться к началу |
|
||
Nicky |
Заголовок сообщения: Добавлено: Пт, апр 11 2008, 14:54 |
||
|
dol_vv написал: http://help.sap.com/saphelp_nw04/helpdata/en/d3/5b5c8ac5a93941b9f4e2f09b50beb4/frameset.htm Для начала я бы проверил полномочия пользователя ROOT… Посмотрите доку, проверьте AUTHORITY_CHECK_RFC, В доке написано:
|
||
Вернуться к началу |
|
||
sibrin |
Заголовок сообщения: Добавлено: Пт, апр 11 2008, 15:39 |
|
Nicky написал(а): как вызвать этот функц. модуль AUTHORITY_CHECK_TRUSTED_SYSTEM? Тр. se37, потом F8.
|
Вернуться к началу |
|
Nicky |
Заголовок сообщения: Добавлено: Пт, апр 11 2008, 16:26 |
||
|
sibrin написал: Nicky написал(а): как вызвать этот функц. модуль AUTHORITY_CHECK_TRUSTED_SYSTEM? Тр. se37, потом F8. спасибо большое!
|
||
Вернуться к началу |
|
||
dol_vv |
Заголовок сообщения: Добавлено: Пт, апр 11 2008, 19:37 |
||
|
Цитата: Подскажите, пожалуйста, в какой транз. можно назначить эти полномочия для пользователя? — В тр. PFCG/SU01 Обычно для начала делаю так:
SU01 — ALEREMOTE
SE37 — AUTHORITY_CHECK_RFC
Для ALEREMOTE трастовые соединения не нужны, но у Вас м.б. какие-либо другие задачи… ЗЫ Все же, рекомендую поизучать документацию или обратиться к Вашему базиснику(ИМХО это более оптимальный вариант).
|
||
Вернуться к началу |
|
||
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |
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.
FIELD—SYMBOLS: <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 sy—subrc <> 0.
MESSAGE ID sy—msgid TYPE sy—msgty NUMBER sy—msgno
WITH sy—msgv1 sy—msgv2 sy—msgv3 sy—msgv4.
ELSE.
WRITE : / ‘Макисмальное число задач для выполнения параллельно обработки: ‘, 80 lv_max_tasks RIGHT—JUSTIFIED.
WRITE : / ‘Доступное кол-во задач: ‘, 50 lv_free_tasks RIGHT—JUSTIFIED.
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 sy—subrc.
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 sy—subrc = 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 sy—subrc = 0.
<fs_tasklist>—RESULT = ‘Задача успешно завершена’.
ELSE.
READ TABLE lt_tasklist WITH KEY taskname = lv_taskname ASSIGNING <fs_tasklist>.
IF sy—subrc = 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.bwextractImportant: 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 allowed2. 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
- 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 troubleshootingSettings checkup
Perform the following checks:
Source System connection
Run the steps from generic troubleshooting sectionInfoSpoke 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:
- Stop the BW RFC Server listener.
- Ensure no processes running. Use the kill command to stop a process:
- ps -ef|grep rfcsvr
- kill PID
- Delete the contents of the Data folder: <IIS Install>/Server/DSBWConnections/<Connection>/SourceSystems/<SourceSystem>/Data/opt/IBM/InformationServer/Server/DSBWConnections/BI7/SourceSystems/AIX53B/Data
- Restart the RFC Server.
- 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.
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!