User role Composite Error When Creating Supplier FYI Notification (Doc ID 2121848.1)

Last updated on APRIL 24, 2017

Applies to:

Oracle Fusion Supplier Model - Version 11.1.9.2.0 and later
Oracle Fusion Supplier Model Cloud Service - Version 11.1.9.2.0 and later
Information in this document applies to any platform.

Symptoms

PROBLEM DESCRIPTION
---------------------------

PrcPozUserRoleComposite produces errors when creating FYI notification with thousands of Procurement Agents -- In a decentralized requisition to order process, the requester needs to be the buyer on the outbound POs. This is accomplished by creating all requesters as Procurement Agents. This means there will be 7000-8000 Procurement Agents.

The supplier user process has a step when it creates an FYI notification that crashes and creates a control in the po_agent_accesses table which hits a RowLimitExceededWarning. This causes the PrcPozUserRoleComposite process to fail although the actual user creation is processed successfully -- the FYI notification is created last in the process.

The error happens in PrcPozUserRoleComposite when calling ChangeRequestAMImpl.getEnterpriseName.
This error happens AFTER the user account is created, when an FYI notification on the creation is to be sent. The error is:
"JBO-29000: Unexpected exception caught: oracle.jbo.RowLimitExceededWarning, msg=JBO-25089: Too many matching records found. Specify additional criteria to limit the number of records."

It seems to be the SuppliersApproversWithActiveSitesVO that is causing the problem.


This select statement from the VO is returning 7000 rows in this instance:

SELECT distinct UserPEO.USERNAME, SupplierSiteDPEO.vendor_Id
FROM PO_AGENT_ACCESSES PoAgents, PER_USERS UserPEO, PER_ALL_PEOPLE_F PersonDPEO, FUN_BU_USAGES_V BusinessUnitUsagePEO, POZ_SUPPLIER_SITES_ALL_M SupplierSiteDPEO
WHERE
PoAgents.AGENT_ID = UserPEO.PERSON_ID AND PoAgents.PRC_BU_ID = BusinessUnitUsagePEO.BUSINESS_UNIT_ID AND PoAgents.AGENT_ID = PersonDPEO.PERSON_ID
AND PoAgents.ACCESS_ACTION_CODE = 'MANAGE_SUPPLIERS'
AND PoAgents.ACTIVE_FLAG = 'Y'
AND PoAgents.ALLOWED_FLAG = 'Y'
AND UserPEO.ACTIVE_FLAG = 'Y'
AND NVL(PersonDPEO.EFFECTIVE_END_DATE, SYSDATE+1) > SYSDATE AND NVL(PersonDPEO.EFFECTIVE_START_DATE, SYSDATE-1) < SYSDATE AND BusinessUnitUsagePEO.MODULE_KEY = 'PROCUREMENT_BF' AND
  SupplierSiteDPEO.PRC_BU_ID = PoAgents.PRC_BU_ID AND NVL(TRUNC(SupplierSiteDPEO.INACTIVE_DATE), TRUNC(SYSDATE+1)) > TRUNC(SYSDATE)
and SupplierSiteDPEO.vendor_Id = 300000002245384

(example on one vendor_id)




ERROR
-----------------------
JBO-25089 - Unexpected exception caught: oracle.jbo.RowLimitExceededWarning, msg=JBO-25089: Too many matching records found. Specify additional criteria to limit the number of records.

 

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