cancel
Showing results for 
Search instead for 
Did you mean: 

Personalization Key usage in iPAD errors when there are two keys

Former Member
0 Kudos

Referring to:

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0872173-7cd4-2d10-f5b1-ea8666d23...

I am doing something quite similar the document link above; although here are the key differences:

1. My MBO has two inputs - customerNumber and controlDataKey

2. In the Synchronization tab - I have two params defined for the two inputs; both are query_limiting

3. I have created two Personalization Keys - pk_custNo and pk_controlData

4. Mapped the personalization keys in the Synchronization tab

5. Then in the Load Parameters - I have mapped the both the inputs in the Synchronization Parameters column to their sync params from the dropdown that is available.

I tested the MBO with a preview option and it gives me data. for e.g. when I enter 1234567890 and 1000 for the two inputs.

In Xcode:

SampleApp_PersonalizationParameters *pp = SampleApp_SampleAppDB getPersonalizationparameters;

pp.pk_custNo = @"1234567890";

pp.pk_controlData = @"1000";

pp.save];

while (SampleApp_SampleAppDB hasPendingOperations)

NSThread sleepForTimeInterval:0.2];

I am getting errors when I run the above.

I have two other MBOs that use pk_custNo. They gave me results in iPAD simulator. (pk_controlData was not in there then.)

By looking at the logs, I think the value set in pk_controlData is not being sent to the server. MBOs are reading directly from BAPIs as in the doc.

Can anyone help me?

Accepted Solutions (1)

Accepted Solutions (1)

Herwig
Explorer
0 Kudos

Hi again,

Well, it's difficult to find out the reason, why your MBO with 2 personalization parameter isn't working.

For instance, I had problems with JCO BAPI connection, when the parameter isn't of type String. Guess it depends also on the JCO version which you are using.

For me it was very helpfull to debug the RFC call. Thus I used a dialog user for the SUP->SAP connection and logged in with that user in order to place an external breakpoint at the beginning of the RFC code in SE80. Maybe this procedure could prove uesfull for your problem, too? For, then you'll find out if the BAPI is called or not.

Regards, Herwig

Former Member
0 Kudos

Hi Herwig, thanks for your time. Your SE80 debug procedure is helpful. Unfortunately, I could not find any more information with that as well than what I could see in SUP logs. (Assigning points.)

Hi Victor, Regarding your advice - "Also try not using pers. keys for synchronization parameter. Instead set values in xcode using SynchronizationParameter api"

I cannot NOT USE pers. keys for synchronization parameter as my app design needs it. Using SynchronizationParameter api instead, is inconvenient and is also not efficient in my design.

Although, is there any reason why you suggest not using pers.keys for synchronization parameter? Thanks.

I have been able to resolve my issue. Here is what had happened: pk_controlData was added after a day or two of adding pk_custNo. So the application was tested with pk_custNo a number of times before adding pk_controlData. Somehow, AND I DON'T KNOW WHY THIS HAPPENED, after adding pk_controlData in the MBO, it was nowhere in the device database that was created for the application. ONLY AFTER purging data related to this package, this personalization parameter started working as designed.

If anyone can explain why adding a new personalization key may have caused this problem, it will be very useful to me. I would like to keep this question open for this reason, for some more time. Thanks.

Edited by: Namrata Shenoy on Sep 12, 2011 9:30 PM

Answers (1)

Answers (1)

Former Member
0 Kudos

Try mapping load parameter to personalization keys. Also try not using pers. keys for synchronization parameter. Instead set values in xcode using SynchronizationParameter api

Regards..