What exactly does “Program Not Registered Mean”?

Many times we come accross RFC connections of type TCP/IP connection which are not working or suddenly stop working with most infamous error “Program no registered”

Logon Connection Error
Error Details Error when opening an RFC connection
Error Details ERROR: program <program id> not registered
Error Details LOCATION: SAP-Gateway on host xxxxx / sapgwxx
Error Details DETAIL: TP xxxxx not registered
Error Details COMPONENT: SAP-Gateway

External program should always regsiter on the Gateway of the SAP application to be able to establish connectivity like SLD registers itself using RFC’s SLD_UC or SLD_NUC.

For example a ESB program like WSO2 should register on the gateway using connectors (.jar files normally). While registering, it will use details of the application/server like, gateway host, gateway service, Program ID, user name, password etc..

Once this program is registered you should be able to see this under the logged on clients in transaction SMGW:

You should see the program you registered under TP name. Once this is done, you are ready to create the required TCP/IP RFC using the same program ID under TP name.

smgw

smgw2

If you are not able to see this TP Name registered, check the connectivity from you third party server to SAP gateways host by doing a telnet to gateway port.

If this works, it could be your gateway ACL parameters are blocking the connection.

Check you profile parameters for gw/acl_mode, gw/sec_info and gw/reg_info etc and adjust them accordingly,

2104408 – Checklist for “program <program ID> not registered” errors

 

Advertisements

Adobe Document Services – A complete guide

Below steps explain Adobe Document Services (ADS) configuration for SAP:

ADS component runs on the Netweaver JAVA stack of SAP. So you can use, JAVA stack of Solution Manager, PO/PI, Enterprise Portal etc.. to connect to any ABAP stack application for generating PDF documents.

Install ADS on a SAP NW JAVA system:

ADS is by default not installed on the JAVA instance.  You must install it manually install the same if not already installed on your SAP JAVA engine. Ensure that you install the right version for you Netweaver stack.

Please refer to blog to install the component using telnet.

Install required libraries if running on Linux:

If your JAVA application is running on Linux, ensure that you have installed the required libraries as per below SAP Notes:

2029940 – IFbA: Required additional RPM package for ADS on Linux

1956394 – Troubleshooting for ADS OS native module termination on Unix platform

If this is not done, you might receive following errors when running FP_PDF_TEST_00.

“ADS: com.adobe.ProcessingException: com.adobe.Processin(200101)”.

And you might see following errors in the NWA logs:

ads1

ads2

Create users on JAVA:

Create user ADSUSER on JAVA engine with roles SAP_ADSCALLER and SAP_ADSMONITOR.

I suggest to make this a technical user.

Create users on ABAP:

Create user ADSAGENT and assign roles ADSCALLERS, SAP_BC_FPADS_ICF and SAP_BC_FP_ICF.

Activate the required services from SICF:

ads3

Create Destination for ABAP server with name FP_ICF_DATA_<SID> from NWA.

ads4

ads5

ads6

Create RFC from your ABAP to JAVA:

Path Prefix: /AdobeDocumentServices/Config?style=rpc

ads7

ads8

You are now done with the configuration of ADS

Test your ADS configuration:

Run report FP_TEST_00 (SE38/SA38):

ads10

ads11

ads12

 

Run report FP_PDF_TEST_00 (SE38/SA38):

ads1

ads2

 

Run report FP_CHECK_DESTINATION_SERVICES (SE38/SA38):

ads3

ads4

If you get errors in any of these tests recheck your configuration. Check if any user is locked.

Additional SAP Notes for ADS configuration and troubleshooting:

1780404 – ADS problem on Solaris 11

2226341 – How to activate ADS trace in NW 7.1 and higher? [Video]

1503408 – Central Note for ADS on NW730

2420614 – IFbA: Suppress ADS error message from FP_PDF_TEST_00

1675976 – Password pop-up in ADS

1462986 – ADS Load Balancing

2029940 – IFbA: Required additional RPM package for ADS on Linux

1177315 – ADS RFC destination test return 403 / 404 / 405 code

2366561 – ADS RFC destination path prefix returns warning “Query string not allowed”

2395126 – HTTP 407 error in ABAP HTTP connection to ADS [VIDEO]

 

Client Copy – Performance improvement

Remote client copy from Production client to Quality? Not a good idea!

If you want to know why it is not a good idea, refer to SAP Note “489690 – CC INFO: Copying large production clients”.

But sometimes it is required to fulfill the requirement.

Lets see below some points that can help improve the performance of Copies.

Some other important notes below:

541311 – CC-INFO: Parallel processes FAQ

24853 – CC-INFO: Client copy, functionality

557132 – CC-TOPIC: Remote client copy

Its best to lock the source and target clients until the activities are done But again, “if it is Production”!

If the production client cannot be locked choose a low usage time frame.

  1. Empty the largest/time taking tables individually.

This saves lot of time during client delete. You should know these tables already from large table list of previous client copy logs.

Do not bother about these if you are planning to skip these from the copy.

SE14 –> Table Name

You can run deletion of multiple tables together.

Monitor the progress using SM37.

  1. Settings for Client Delete/Copy.

Below are generic settings for client delete and also the Client Copy.

SCC5/SCCL/SCC8/SCC9 à Expert Settings

Skip Empty tables:

Mark your big tables. Save the Biggest one for next step:

Add the biggest one in here:

Exclude the tables that you do not want to be Deleted or Copied here

Ensure to provide maximum number for parallel processes for the copy.

  1. Delete the Source Client.

SCC5

Make sure you are logged in to the client you want to delete:

Monitor the progress from SCC3.

4 Perform Local/Remote Client copy or Export/Import.