cancel
Showing results for 
Search instead for 
Did you mean: 

Context object not found in Integration Directory

Former Member

Hi,

I created a context object in Repository and activated it. While trying to select the context object for Receiver determination in Integration Directory, I dont find it in the condition editor.

Could someone please guide me on what I should be doing?

Cheers,

S

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

whats ur Service interface Pattern??

try to use Stateless (XI 3.0 compatible) (under outbound service Interface) and then chk...

/people/bhupesh.bhuskute2/blog/2011/03/23/how-to-use-receiver-rule-in-pi-71

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

I changed the Service interface Pattern of the Service Interface to Stateless(XI 30 compatible) since I am on PI 7.1

I could find the context object in Integration Directory, but now I am getting an error while testing it saying " Receiver Determination

 

Runtime error

No receiver could be determined"

Could someone pls help me

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Check if your condition is being met by looking at the data that the payload is providing.

Regards

Mark

Former Member
0 Kudos

chk whether the condition is getting satisfied or not to determine the receiver in ur Receiver determination??

Former Member
0 Kudos

Hi,

How can I check if the condition is getting satisfied or not in Receiver Determination for my context object?

I am still getting the error as

SAP:Category>XIServer</SAP:Category>

<SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:Stack>No receiver could be determined</SAP:Stack>

Also, in my context object I am checking if the value of the context object CO_Value = "ABC"

Is that correct or should I remove the quotes and check as in CO_Value = ABC

former_member854360
Active Contributor
0 Kudos

Hi

set the intregration engine trace level to 3.

Go to SXMB_ADM trnsaction for setting the runtime trace level/

And then you can see the condition execution details in SXMB_MONI under trace xml.

Former Member
0 Kudos

Hi Debashish,

The trace is already set to '3'

The message in the trace is as follows:

- <Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">

<Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N</Trace>

<Trace level="1" type="T">Cache Content is up to date</Trace>

<Trace level="2" type="T">Start without given receiver</Trace>

<Trace level="2" type="T">Classic Receiver Determination via Rules.</Trace>

<Trace level="3" type="T">...create rule engine</Trace>

<Trace level="2" type="T">Check conditions for rule line no. 1</Trace>

<Trace level="3" type="T">...call rule engine for Condition %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p1:Employee_MT/Record/Emp_Header/Emp_Location")% CE PDC</Trace>

<Trace level="2" type="T">......extracting (new) for Extractor: XP /p1:Employee_MT/Record/Emp_Header/Emp_Location</Trace>

<Trace level="2" type="T">......extracting values found: 0</Trace>

<Trace level="2" type="T">......extracting values found: 0</Trace>

<Trace level="2" type="T">...invalid Receiver: - ACN_LEGACY2_00_BS</Trace>

<Trace level="2" type="T">Check conditions for rule line no. 2</Trace>

<Trace level="3" type="T">...call rule engine for Condition %CL_SAI_SWF_RULE_ENGINE.MSG_GET(MSG=&_MSG&;NSP=&_NSM&;XPATH="/p1:Employee_MT/Record/Emp_Header/Emp_Location")% CE IDC</Trace>

<Trace level="2" type="T">......extracting (new) for Extractor: XP /p1:Employee_MT/Record/Emp_Header/Emp_Location</Trace>

<Trace level="2" type="T">......extracting values found: 0</Trace>

<Trace level="2" type="T">......extracting values found: 0</Trace>

<Trace level="2" type="T">...invalid Receiver: - ACN_LEGACY3_00_BS</Trace>

<Trace level="2" type="T">No Receiver found behaviour: 0</Trace>

Could you please help

former_member854360
Active Contributor
0 Kudos

Hi,

invalid Receiver: - ACN_LEGACY2_00_BS</Trace>

Trace level="2" type="T">...invalid Receiver: - ACN_LEGACY3_00_BS</Trace>

Your both condition is failing .........

What operator are you using in Condition editor?

Also tell us the exact condition details what you need to maintain.

former_member200962
Active Contributor
0 Kudos
Also, in my context object I am checking if the value of the context object CO_Value = "ABC"
Is that correct or should I remove the quotes and check as in CO_Value = ABC

in the condition editor you need not put any quotes....anything in the right-column is treated as constant.

Edited by: abhishek salvi on Aug 29, 2011 1:26 PM

Former Member
0 Kudos

Hi Debashish,

I have created a context object called Loc_CO which is pointing to the field Emp_Location element in my Service Interface.

Then I created a Receiver Rule and wherein I have assigned the values PDC and IDC for the context object and also assigned the corresponding receiver business systems as ACN_LEGACY2_00_BS and ACN_LEGACY3_00_BS

Former Member
0 Kudos

Hi,

A context object is scalar and has a reference type. This means that you cannot assign context objects to structure fields.

The reference type determines which type of values you will use later to compare the context object:

Context Object Data Types

xsd:string

Lexicographical

xsd:integer

Numerical

xsd:date

Compare by date

xsd:time

Compare by time

Follow the Steps:

1. Create a context object on the design maintenance screen of the Integration Builder

2. Select a built-in XSD data type for your context object by using the Reference Type list box and save it.

3. Open the interface that you want to assign a context object to in the Integration Repository. You can only assign context objects to the request message of interfaces in the same or in a superordinate software component version.

4. To assign the context object to a request message field, enter it in the Context Object column by using the input help. For message interfaces, the structure of the request message is displayed on the Context Object tab page.

5. If you want to undo the assignment of a context object, select the name of the context object and choose Delete Context Object Assignment ().

6. Activate your changes.

Once you have activated your changes, you can use the context object in an integration process or to configure the field that you have assigned the context object to . You can also use a context object in more than one interface.

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

I created a context object in Repository and activated it. While trying to select the context object for Receiver determination in Integration Directory, I dont find it in the condition editor.

Could someone please guide me on what I should be doing?

Whenever creating a context object from ESR/IR, make sure that when you create your receiver determination/interface determination you also provided a value under the Software Component Version. This way, it will make your CO visible.

Hope this helps,

Mark

monicabhosale
Active Participant
0 Kudos

Hello,

Please check that whether you have activated your new context object or not.also please clear ur SLD cache.

Regard's

Monica