Issue : Error while creating new User in 11i system integrated with OID/SSO “ORA-20001 unable to call fnd_ldap_wrapper.create_user due to folowing reason : An unexpected error occurred. Please contact System Administrator”
Instance Configuration : Apps 11i with OID/SSO Integration (one way Integration from Apps 11i to OID)
Looking at error message “unable to call fnd_ldap_wrapper” its clear that issue is with LDAP (Lightweight Directory Access Protocol) i.e. OID (Oracle Internet Directory) to know more about OID click here
User Provisioning & Synchronization : For those who are new to OID or integration of Apps (11i/R12) with OID/SSO - ODISRV (Oracle Directory Integration Service) is service/sub component in OID (Oracle Internet Directory) which is responsible for User Provisioning and Synchronization between Oracle Internet Directory (Oracle’s implementation of LDAP Server) and Oracle E-Business Suite (11i/R12) + other Oracle Application like Portal, Collaboration Suite here and here
There are three servers/processes in OID
a) oidldapd - LDAP daemon
b) oidrepld - OID replication Server
c) odisrv - Directory Integration Server
.
Looking at error message fnd_ldap_wrapper.create_user its easy to guess that We need to focus on LDAP (OID in our case)
1. First thing to do is check if OID (Oracle Internet Directory) is up and running
“opmnctl status“ If OID is up and running, next step is to check if ODI Server (Directory Integration) is up and running. There are two ways to check itCheck 1 from log files : Check ODI Server (Oracle Directory Integration Server)
$ORACLE_HOME/ldap/log/odisrvXX.log (OID Home)
$ORACLE_HOME/ldap/odi/log/AppsName_cn=Common,cn=Products,cn=OracleContext_I.aud
$ORACLE_HOME/ldap/odi/log/AppsName_cn=Common,cn=Products,cn=OracleContext_I.trc
where AppsName is name you used during Apps Integration with OID
Check 2 from Process table : Check OID process in process table ODS.ODS_PROCESS
SQL> select instance, pid, serverid, configset, state from ODS.ODS_PROCESS;
INSTANCE PID SERVERID CONFIGSET STATE
———- ———- ———- ———- ———-
1 19061 2 0 2
1 0 7 0 1
Server ID 2 means LDAP Server
Server ID 7 with config set 0 means ODI(or DIP - Directory Integration and Provisioning) Server for Provisioning
Server ID 7 with config set 1 means ODI (or DIP- Directory Integration and Provisioning) Server for Synchronization
State
0 = stop, 1 = start, 2 = running, 3 = restart, 4 = shutdown 5= failed over (if using HA)
This clearly indicates that there is some problem during start of ODI Server in above example.
.
Fix :
1) Shutdown OID using : opmnctl stopall (Oracle Process Manager and Notification Server, OPMN strat OIDMON which in turn calls OIDCTL to start/stop OID Processes)
2) Take backup of existing ods_process table
SQL>create table ods.ods_process_bkp as select * from ods.ods_process;
3) Truncate table ods_process
SQL>truncate table ods.ods_process;
4) Restart OID ; opmnctl startall
5) Check logs $ORACLE_HOME/ldap/log/odisrvXX.log
If you don’t see any updates in $ORACLE_HOME/ldap/log/odisrvXX.log
then start ODI Server manually using OIDCTL (OID Control utility)
oidctl connect=<tns_alias_for_db> server=ODISRV instance=1 host=<hostname> configset=0 flags=”port=oid_port” start
oidctl connect=<tns_alias_for_db> server=ODISRV instance=2 host=<hostname> configset=1 flags=”port=oid_port” start
Note* There could be other reasons for above error message and above example is one of them.
References
- 812393.1 Cannot Create New Surrogate Supplier User
- 470896.1 Receiving ‘Unable To Call Fnd_ldap_wrapper.Create_user’ Error When Creating A User In Core Forms On a SSO/OID Enabled EBS Environment
- 429497.1 User Creation Fails in Oracle E-Business Suite if the User all ready exists in Oracle Internet Directory
- 566998.1 ODISRV is no longer synchronizing entries
- 329808.1 How to Troubleshoot OID
- OID basics
Related Posts for Apps SSO/OID Integration
- 25 Things Apps DBA should know for Apps 11i/R12 Integration with OID/SSO
- Questions for Oracle Apps 11i & R12 Integration with 10g AS/SSO
- Oracle Single Sign-On Server for Apps DBA
- Clone Apps 11i/R12/12i integrated with SSO
- Notes/Docs to integrate Apps 11i with 10g AS Portal/OID/SSO
- Migrate Users to/from OID and Oracle Apps 11i/R12
- User created in Apps 11i/R12/12i not sync to OID
- Apps 11i/R12/12i Registration/Deregistration with OID/SSO : internals
- Error while running SSO registration on 11i : txkrun.pl -script=SetSSOReg
- How to Deregister SSO/OID from Oracle Apps 11i/R12/12i
- Error adding new User (11i) - unable to call fnd_ldap _wrapper .create_user
- Unable to call fnd_ldap_wrapper . create_user / update_user ORA-20001
Popularity: 9% [?]







Good hands-on exercises (installation, patching, cloning), very experienced trainer worth for Money 
5 users commented in " Error adding new User (11i) - unable to call fnd_ldap _wrapper .create_user "
Follow-up comment rss or Leave a TrackbackHi,
After I truncated ODS.ODS_PROCESS table and gave opmnctl startall
OC4J is not starting and also OID
Only http is starting
Please help me urgently
Our UAT is going.
For OC4J , OID should be up and for OID db, and db listener should be up.
Check db, db listener and oid logs.
Check oidctl logs in $oh/opmn/logs and $oh/ldap/logs
oidctl connect=dmapst server=ODISRV instance=1 host=ftdcshlstora01.ftdc.cummins.com configset=0 start
NLS_LANG not set in environment
Setting NLS_LANG to AMERICAN_AMERICA.AL32UTF8
[gsdsiConnect] ORA-0,
Could not connect to the Database.
please help
Hi Atul,
In order to make a quick check if EBS can talk to OID I use the following PL/SQL call from EBS side. I might help quicker to narrow down the problem.
Used in 11i/OID integration case.
set serveroutput on feedb off
DECLARE
v_fnd_user binary_integer;
v_oid binary_integer;
v_attribute varchar(4000) := ‘userpassword’;
v_date varchar2(20);
begin
— Call the procedure
fnd_ldap_wrapper.is_operation_allowed(p_direction => fnd_ldap_wrapper.G_EBIZ_TO_OID,
p_entity => fnd_ldap_wrapper.G_IDENTITY,
p_operation => fnd_ldap_wrapper.G_MODIFY,
x_attribute => v_attribute,
x_fnd_user => v_fnd_user,
x_oid => v_oid);
select to_char(sysdate,’YYYYMMDD_HH24MISS’) into v_date from dual;
if v_oid = 1 then
dbms_output.put_line(v_date||’OID SUCCESS’);
else
dbms_output.put_line(v_date||’ OID FAILURE’);
end if;
end;
/
[…] This post covers steps on how to troubleshoot “Unable to call fnd_ldap_wrapper . create_user / update_user” issues. This is similar to issue I discussed here in May 2009 […]
Leave A Reply