MO: Operating Unit issues in Receivables - setup system option vs profile option

(Doc ID 232113.1)

Last updated on MARCH 07, 2018

Applies to:

Oracle Receivables - Version 11.5.0 and later
Information in this document applies to any platform.

Symptoms

You are getting the following error after entering to the System Options form:

ORA-20001 Please set the receivables system options for this operating units and ensure that the MO Operating unit is correctly set with the operating unit that is set

You have the profile option MO Operating unit set correctly.

At first the form does not show data. If you execute a blind query you can see the data inside this form.

Previously you had error ORA-1422 just after opening the system option form. The solution was to delete a extra record on ar_system_parameters_all table. The ORA-1422 error was solved but this error started.

Steps to Reproduce:
Responsibility: Receivables Manager
Navigation: Setup > Systems > System Options

 

 

Changes

 Scripts to help in analysis:
-----------------------------
Scripts to run to check settings and creation of MO: Operating Unit Profile option, vs AR_SYSTEM_PARAMETERS_ALL for multi org installs.

Check to see if there is a record on ar_system_parameters_all for the org_id that you set in the profile option.

See if you can check the creation date/time on that record and compare it to the creation of the record MO: Operating Unit.

I suspect that you had deleted a row on ar_system_parameters_all that had been created without the MO operating unit set.
Then either a new row was created, or the MO operating unit was set, new row recreated, then mo operating unit changed.

a. Script to grab the creation, update date of AR_system_paramater rows.
You will have one row per org, plus the seeded -3113 org.

select set_of_books_id, org_id, TO_CHAR(creation_date, 'MM/DD/YYYY HH24:MI:SS'), created_by, last_updated_by from ar_system_parameters_all;
If the last_updated_by = -1 this is the row created by the replicate seed data and it has not been touched by human hands yet)

b. Obtain the profile option setting for MO: Operating Unit, paying particular attention to the creation and last_update date.
This profile option can be set on each of the 4 levels, site, application, responsibility and user, but the one that really matters is the Responsiblity level setting. The scripts below will indicate the settings on each level for all organizations.

SELECT 'Responsibility Level ', d.user_name created,e.user_name updated, r.responsibility_name,
TO_CHAR(a.last_update_date, 'MM/DD/YYYY HH24:MI:SS'),
TO_CHAR(a.creation_date, 'MM/DD/YYYY HH24:MI:SS'), a.created_by,
a.profile_option_value
FROM fnd_user e,
fnd_user d, fnd_responsibility_vl r,
fnd_profile_options_vl c,
FND_PROFILE_OPTIONS_TL b,
fnd_profile_option_values a
WHERE b.USER_PROFILE_OPTION_NAME LIKE 'MO: Operating%'
and b.profile_option_name = c.profile_option_name
and c.profile_option_id = a.profile_option_id
and a.created_by = d.user_id
and a.last_updated_by = e.user_id
and a.level_id = 10003
and a.level_value = r.responsibility_id;

SELECT 'Site Level ', d.user_name created,e.user_name updated,
TO_CHAR(a.last_update_date, 'MM/DD/YYYY HH24:MI:SS'),
TO_CHAR(a.creation_date, 'MM/DD/YYYY HH24:MI:SS'),
a.profile_option_value
FROM fnd_user e,
fnd_user d,
fnd_profile_options_vl c,
FND_PROFILE_OPTIONS_TL b,
fnd_profile_option_values a
WHERE b.USER_PROFILE_OPTION_NAME LIKE 'MO: Operating%'
and b.profile_option_name = c.profile_option_name
and c.profile_option_id = a.profile_option_id
and a.created_by = d.user_id
and a.last_updated_by = e.user_id
and a.level_id = 10001;

SELECT 'Application Level ', d.user_name created,e.user_name updated,
TO_CHAR(a.last_update_date, 'MM/DD/YYYY HH24:MI:SS'),
TO_CHAR(a.creation_date, 'MM/DD/YYYY HH24:MI:SS'),
a.profile_option_value
FROM fnd_user e,
fnd_user d,
fnd_profile_options_vl c,
FND_PROFILE_OPTIONS_TL b,
fnd_profile_option_values a ,FND_application_VL aa
WHERE b.USER_PROFILE_OPTION_NAME LIKE 'MO: Operating%'
and b.profile_option_name = c.profile_option_name
and c.profile_option_id = a.profile_option_id
and a.created_by = d.user_id
and a.last_updated_by = e.user_id
and a.level_id = 10002
and a.level_value = aa.application_id;

SELECT 'User Level ', d.user_name created,e.user_name updated,
f.user_name, TO_CHAR(a.last_update_date, 'MM/DD/YYYY HH24:MI:SS'),
TO_CHAR(a.creation_date, 'MM/DD/YYYY HH24:MI:SS'), a.created_by,
a.profile_option_value
FROM fnd_user e, fnd_user f,
fnd_user d,
fnd_profile_options_vl c,
FND_PROFILE_OPTIONS_TL b,
fnd_profile_option_values a
WHERE b.USER_PROFILE_OPTION_NAME LIKE 'MO: Operating%'
and b.profile_option_name = c.profile_option_name
and c.profile_option_id = a.profile_option_id
and a.created_by = d.user_id
and a.last_updated_by = e.user_id
and a.level_id = 10004
and a.level_value = f.user_id;

Most of the time, this is only set on the Responsibility level.
You want to pay attention to the creation_date and last_update_date on the profile option settings vs the setting on ar_system_parameters. If you find that the profile option setting has a later date than the system paramaters, that would indicate that the mo operating unit was changed.

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms