R12

In this Document

  Symptoms
  Cause
  Solution
  Still Have Questions?
  References


APPLIES TO:

Oracle Trading Community - Version 12.1.1 and later
Information in this document applies to any platform.
***Checked for Relevance 2-Jul-2013***

SYMPTOMS

In R12.1.1, run

hz_cust_account_site_v2pub.create_cust_acct_site

 and receive the following error message:

"ERROR-Unable to process your transaction. The operating unit is either invalid or it cannot be derived. Please verify your Multi-Org profile options.

The parameter for context used are from a valid Receivables responsibility and was tested with receivables API without problems. Now we are trying to create and update customers with TCA API, test with hz_cust_account_v2pub.create_cust_account API are fine, now tests with hz_cust_account_site_v2pub.create_cust_acct_site shows error because is not possible to validate org_id."

Steps to reproduce:

1. Execute the following to set the org_id:

FND_GLOBAL.APPS_INITIALIZE(user_id, repsp_id, reps_app_id);
mo_global.set_policy_context('S', org_id);

2. Execute the following procedure:

p_cust_acct_site_rec.cust_account_id := 5050;
p_cust_acct_site_rec.party_site_id := 16051;
p_cust_acct_site_rec.created_by_module := 'SISTEMAS_POST';
p_cust_acct_site_rec.application_id := 222;
p_cust_acct_site_rec.status := 'A';
p_cust_acct_site_rec.org_id := 82;

hz_cust_account_site_v2pub.create_cust_acct_site 
( p_init_msg_list => FND_API.G_TRUE,
p_cust_acct_site_rec => p_cust_acct_site_rec,
x_cust_acct_site_id => p_cust_acct_site_id,
x_return_status => p_return_status,
x_msg_count => p_msg_count,
x_msg_data => p_msg_data
);

 

CAUSE

Org context is not properly set.

SOLUTION

To implement the solution, please execute the following steps:

1) Set the org context as follows:

Use the following queries to find responsibility id and user id:

a. Query to find responsibility id

select responsibility_id,responsibility_name
from fnd_responsibility_vl
where application_id = 222
and responsibility_name like '%&responsibility_name%';

 
b. Query to find user id

select user_id,user_name
from fnd_user
where user_name = '&user_name';

 
For example:
if resp_id = 50559 and user_id = 1318, then execute the following:

fnd_global.apps_initialize(user_id => 1318, resp_id => 50559, resp_appl_id => 222 );
mo_global.set_policy_context('S',<your_org_id>);

 
2) Run the API.

Still Have Questions?

 

To discuss this information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in the My Oracle Support Receivables Community.

To provide feedback on this note, click on the Rate this document icon at the top right corner of this note.
原文地址:https://www.cnblogs.com/wanghang/p/6299198.html