Tuesday, January 20, 2009

Changing BW Client

So, we've installed SAP NW 2004s and configured usage type PI.

Next, i will try to follow the scenario "Integrate XI and BI in SAP NW 2004s using Proxy Communication". For this to happen we must create a Business System in the SLD for BI; Because we already create BS_Integration_Server for client 001 (XI), we must change the BW client from 001 to another client, and then create a BS for it in SLD.

To do this, first we must create new Client. Now this is BASIS work, but i will cover it also in this post, because in my test environment i am also the BASIS guy :P

So, before creating a new client in transaction SCC4, we must first ensure that we will be able to login to it using user SAP* and password 'pass':

  • execute RZ10 --> choose your Instance Profile;
  • check Extended Maintenance, then choose Display;

The list with the active parameters of the profile appears. You need to find parameter "login/no_automatic_user_sapstar". If it isn't in the list, you must create it and add value 0 for it. That means that any client that you will create will automatically have enabled user SAP* with default password 'pass'.

Next, create your client, let's say 400:

  • execute transaction SCC4
  • choose Change (Caution: table is cross-client)
  • click New Entries
  • add details for new client
Next are the fields that you must fill in:

I have encountered a problem here, but didn't pay attention to it; in the Logical System field, i left it empty, because i haven't created a new logical system. So, this might be the reason for my future errors; so it is probably best to create a logical system in transaction SALE, under Basic Settings --> Logical Systems --> Define logical system, before creating the client in SCC4.

So, let's assume we left the field blank; we created the new client 400. Now we must copy the existing client 000 on to 400. Now, before moving on you must restart the server. After it has restarted, login with your automatically created SAP* user and 'pass' in client 400 and execute transaction SCCL. Choose target client 400, source client 000 and SAP_CUST for the profile.

You will immediately encounter a problem:

"RFC Destination for client copy in systems with financials basis (FINBASIS) component.The system could not find any suitable RFC destination for processing the client ..."

Don't worry it's easy; just execute the wizard link in the message and it will automatically create RFC destination. Be careful to enter the data correctly; then you can check if it's working by executing SM59, under ABAP connections, open your RFC (probably named FINB_TR_DEST), then do Connection Test, but most importantly under Utilities(M) --> Test --> Authorization Test to make sure that the user and pass you previously entered are correct.

After that, the client copy should go smoothly.

*** Now it is the time to create the Logical System for this 400 client in transaction SALE, under Basic Settings as i mentioned above. After creation, execute also the 'Assign Logical System to Client activity', double click the table on your 400 client and enter the Logical system name in the appropriate field.

First thing to do next is to create at least one user, other than SAP*, with SAP_ALL rights. You will need it later in transaction WE20, but let's not get ahead of ourselves. Now i guess it's time to check if BW is working on our new client; to see this, execute transaction RSA1, BW's administration workbench. You will get an error message saying that you can run only in client 001. That's because you haven't yet disconnected the BW from client 001, and it can only run in ONE client. So, to change it to our 400 client, we must execute transaction SE16 and open up table RSADMINA; execute it, then check the BW row, and search for column BW_MANDT. Modify it to your new client (in my case from 001 to 400). Save the table. Exit the transaction.

Now try to run RSA1 again, if it works congrats, you did it; I, on the other hand encountered an error : "Logical System Name was changed from S01CLNT001; please change it back....." and so on. Probably this happened because i didn't create and assign a logical system name to client 400 immediately after creation. But if you run into this error too then you should read below on how to fix it.

You must execute transaction SE37, then function RSAP_BIW_DISCONNECT; but before we do this, we must first copy the already existing values before we delete them.

Basically, what the disconnect function does, is to delete entries in table RSABSIDOC (in SE16) and so the connection with the source system. So execute SE16 and view the entries in the above mentioned table RSBASIDOC, writing them down on a piece of paper. Afterwards, go back to SE37 and execute function RSAP_BIW_DISCONNECT Sngl Test with the following parameters:


  • I_BIW_LOGSYS = [value of SLOGSYS in RSBASIDOC table ]

  • I_OLTP_LOGSYS = [value of RLOGSYS in RSBASIDOC table]

  • I_FORCE_DELETE = 'x'

After execution, you can check in SE16 table RSBASIDOC and see that it is empty.

Note: the SLOGSYS and RLOGSYS values represent the Logical System name of the initial 001 client (in my case : S01CLNT001). We must change these to our new Logical System Name for client 400 (S01CLNT400).

Now, we must execute in SE37 function RSAP_BIW_CONNECT. The following parameters and values must be filled in:

  • SLOGSYS: [Logical System Name for client 400]; Ex: S01CLNT400


  • RLOGSYS: [Logical System Name for client 400]; Ex: S01CLNT400


  • I_STEXT: [name of OLTP system]


  • I_BASIC_IDOC : [value of BIDOCTYP in table RSABASIDOC]


  • I_TSPREFIX: [value of TSPREFIX in RSBASIDOC]


  • I_PREFIXE: [second byte of TSPREFIX repeated 35 times]. Example: If TSPREFIX is 'RA', then second byte is 'A'; so you should enter: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' exactly 35 times.
Well, then hit F8; in my case it executed and i received an error message:

"Message No. E0426


Diag: An entry with the key /S01CLNT400/LS/ is to be inserted in table EDPP1...."

The final step to resolve this message and finally finish is to execute transaction WE20 and assign a partner profile of type LS (Logical System). So create a new profile add fill in these values:

  • Partner No. : [Logical System name]; Ex.: S01CLNT400

  • Partn. Type: LS

  • Ty.: US (User)

  • Agent: [enter user created earlier other than SAP*]

Don't forget to Save.


Then exit the transaction, execute RSA1 in client 400 in which you should be in already and the Data Warehousing Workbench should appear.



Now BW is connected to client 400 and assigned to logical system S01CLNT400;


That's all about how i changed my BW client; hopefully you won't ran into any errors if you create and assign a logical system name immediately after you create the client; but if you do remember the RSBASIDOC table in SE16 and the RSAP_BIW_DISCONNECT and RSAP_BIW_CONNECT functions.

That being said, see you on my next post. Good luck !

Tuesday, December 23, 2008

Last steps for PI configuration

So, it's been a long time but now i thought of finishing with the last steps of configuring usage type PI, and in future posts walk you through some simple PI scenarios..


We last configured the RFC Java destinations; moving on...:


Step 7

The next step is to create a HTTP connection in the Java environment required for Process Monitoring Infrastructure .

a. This is done easily by going to Cluster --> Server --> Services --> Destinations in the Visual Administrator tool.
b. In the HTTP node of the Runtime tab create a New destination named "pmistore". (lowercase does matter). You must enter at least the following details :

- the URL : http://[pi_host]:[ABAP_Port]/sap/bc/spi_gate (usually the port is 8000; you can find the port in tcode SMICM under Goto --> Services)
- select Basic Authentication
- username : PIRWBUSER and its password
- Save


Step 8

1. On your Integration Server host, call transaction SXMB_ADM.

2. On the Integration Engine: Administration screen, choose Integration Engine Configuration.

3. Choose Edit and Change Global Configuration Data.
4. In the Global Configuration Data box, select Integration Server as Role of Business System, and leave the other fields empty.
5. Save your settings.


Step 9

I hope you didn't close the Visual Administrator, because now you must go to Cluster --> Server --> Services --> Deploy and after checking the Application checkbox, restart the application com.sap.aii.af.cpa.app to trigger the SLD self-registration of the Central Adapter engine

Step 10

Now we must import PI content; this step isn't covered by the configuration wizard also and i think it is quite useful to know. You need of course an SAP_XI_ADMINISTRATOR or SAP_XI_CONTENT_ORGANIZER role to import / export content for PI.

XI content can be found on the SAP marketplace under Downloads --> Support Packages and Patches --> ESR content (XI content). Files are usually ZIP files and always contain both previous objects and the changes and enhancements delivered in the support package.

a. Download the files and unzip them; the actual export files have the extension .tpz

b. Copy the export files into the import directory for the Integration Repository (\xi\repository_server\import).

c. Open the Integration Builder start page by calling it either from your user menu or with transaction SXMB_IFR, choose Integration Repository, Tools --> Import design objects to import the XI content.

After a successful import, the Integration Builder moves the imported TPZ files into the directory /xi/repository_server/importedFiles.

Step 11

If you have configured corectly PI, then execute transaction SLDCHECK and it should show nothing but green.


============

Saturday, December 20, 2008

PI configuration step error

I discovered a minor problem when configuring manually an SAP system with usage type PI. On the second step of the configuration, Configuring Workflow for BPM, you must execute tcode SWF_XI_CUSTOMIZING. When trying to perform execute for the activity "Schedule Background Job for Deadline Monitoring", the system displays the error message "Error within method CL_SWF_ADM_JOB_FACTORY=>GET_INSTANCE->" . Then, the system does not schedule the relevant job and the status icon displays a red cross. This happens because that activity is obsolete and was not removed from automatic customizing by mistake; so you must :

1. execute transaction SM30

2. maintain the view SWFCTASK.

3. Delete all the rows for "CL_SWF_CST_DEADL_SERVICE_JOB" (usually there are two)

4. Don't forget to save;

Now, in SWF_XI_CUSTOMIZING you should be able to get green crosses everywhere, and move on to the next configuration step...

PS: these instructions are mentioned in SAP Note 1117735