How To Diagnose Issues With Supplier Registration (Doc ID
735965.1)
Modified:Nov 28, 2013 Type:TROUBLESHOOTING
In this Document
Purpose
Troubleshooting Steps INTRODUCTION TEST CASE DOCUMENTATION SETUP DIAGNOSTICS PROCESSING OVERVIEW LOGGING TRACING DATA AND QUERIES SAMPLE TEST CASE CODE FILES
References
Applies to: Oracle iSupplier Portal - Version 11.5.10 to 12.0.0 [Release 11.5 to 12] Information in this document applies to any platform.
Purpose This document provides information on performing analysis of issues encountered within the Release 11.5.10 and Release 12 Supplier Registration Process. Troubleshooting Steps INTRODUCTION The Prospective Vendor Registration feature allows buyer organizations to accept unsolicited registration requests through their own Web page from suppliers with whom the company has not previously conducted business. This self-service registration process provides prospective suppliers with a Web page where suppliers can complete a simple registration form and then submit it for approval by administrators at the buying company. After a buyer administrator approves the suppliers registration request and information on the supplier is added to the buying companys purchasing and payables system, supplier user accounts for that supplier can be created and the supplier users can begin accessing and using the applications. TEST CASE It is very important to understand as much about a problem as possible, in order to effectively assist in diagnosing the cause and solution. As such, it is helpful to record a detailed test case, to understand the background, specific set-up, and the steps taken during the process. These should include: Overview of the setup specifically related to the issue. Demonstration of how the problem is encountered. Since the supplier change and approval requires several stages, its important to understand which complete and which are failing. Is the problem happening for just one Supplier or all? Details on the extent of the problem, including details on how many Users and Purchase Orders are affected. Details on when and how the problem might have started occurring (e.g. after a system or setup change). Confirm if any customizations are included in the instance, specifically related to iProcurement and Purchasing? DOCUMENTATION The Prospective Vendor Registration features are explained in detail in the following iSupplier documentation;
Because this process covers processing purchase orders and requisitions, the following guides also contain useful information on change order processing;
Oracle iProcurement Implementation and Administration Guide -Release 12 (Part No. B31402-01) Oracle Purchasing User's Guide -Release 12 (Part No. B28669-01) SETUP It is outside the scope of this document to go into how to setup each feature, and the intended functionality, however these are both well documented in Oracle iSupplier Portal Implementation Guide. DIAGNOSTICS Note 431038.1 "Scripts To Validate User And Company Setup For Use in Procurement Modules" can be used to diagnose problems found with certain user or companies for Release 11.5.10 PROCESSING OVERVIEW The following features in Release 12 have enhanced the registration process to allow suppliers greater access to information, and to transfer much of the basic registration and administration work away from buyers. Supplier creation using the new HTML interface. This includes creation of suppliers (case sensitive) and also administration of all supplier data, including site addresses (again operating units), contacts and users. Suppliers can now save registration requests to complete later. Also the buyer administrator can setup support for Notification Subscriptions, such as allow/disable registration and profile change notifications, and change order notifications. Integration with Oracle iSurvey allows custom data to be captured and submitted, in the form of a survey, along with suppliers registrations. To setup a Registration Survey, use the Scripting Administrator responsibility to create the survey (e.g. using the Script Wizard) and add the survey under the Purchasing : Setup > Profile Management Configuration > Supplier Onboarding Configuration page. Using the Oracle Approval Management Engine, the supplier registration approval can be customized for implementation specific requirements. This is enabled using the System (site level) profile POS: Use AME for Supplier Approval, which enabled the system to use the rules setup in AME for Transaction Type ' POS Supplier Approval Management'. External registration is still done via the Purchasing responsibility: Setup - Profile Management Configuration > Organization Encryption, choosing the right Operating Unit for the supplier to be used within, for then use on the end of the supplier registration page URL (i.e. http(s)://<server>:<port>/OA_HTML/jsp/pos/suppreg/SupplierRegister.jsp?ouid=) Due to integration with Oracle Single Sign On Portal, the 'Preferences SSWA' responsibility must linked to users, otherwise the responsibilities will not be visible under the "WELCOME" tab at initial log in page. The "Collaborative Planning" responsibility is for use within the Collaborative Planning product module, and responsibility "Plan, Source, Pay Supplier View" combines iSupplier, Sourcing, and Collaborative Planning all into one homepage. Release 11.5.10 and Release 12 POSSPM1.wft is used for Supplier Registration Process.
The workflow process "Pending Registration Notification to Admin" defined in POSSPM1.wft sends out notification to Buyer Administrators upon Supplier Registeration.
Workflow process "Send approval notification to supplier" defined in the same above workflow - POSSPM1.wft is responsible for sending out notification to Suppliers upon Buyer Approval.
The Package POS_SPM_WF_PKG1 defined in POSSPM1B.pls includes procedures that initiate this workflow processes and the procedures are called by the Controller file associated to the Supplier Registration Pages. LOGGING From Release 11.5.10 onwards the code involved writes its log output using the standard FND Debug logging method. This can be enabled to write to screen, logfile or table. For this processing it is recommended to enable writing to either a file or the table.
The following example User-Level Profile Options can set to enable logging to write to a file, which then can be checked for error and code activities:
1) Set the following Profile options for the user "GUEST'
2) Truncate table FND_DEBUG_MESSAGES to clear old messages.
3) Once the profiles are set (recommend at User and Site level), and the test case is performed, use the following SQL to get the log output: SQL> select message_text, timestamp from fnd_log_messages where module like 'po%' order by log_sequence;
In addition, for logging enabled at page level (e.g. get page issues when pressing buttons or entering fields), Set the profile FND: Diagnostics ON, at user level, and using the link in the top right of the page, set 'Show Log To Screen' and each page will write a log at the bottom. TRACING Tracing is useful when you need to check what queries are running in the database when performing certain activities, or especially for investigating performance related issues.
Supplier Registrationis done by completing the details on a single page, please use the steps provided on Metalink Note 290614.1 "How To Create a User Event Trace in R11i / R12"". Since there is no userid generated when the Supplier and Supplier user Registration form is completed by the External use, System uses the Application Userid 'GUEST' to gain access to the application and submit the Registration Request. So the tracing needs to be enabled for user 'GUEST' in order to collect trace for any Supplier Registration issues. DATA AND QUERIES Supplier Registration a) Query to select the Supplier Registration SQL> SELECT supplier_reg_id, supplier_name, registration_status, ou_id FROM pos_supplier_registrations WHERE supplier_name = '&SupplierName';
b) Query to check the Supplier Addresses provided in the Registration
SQL> SELECT addr.request_type, addr.request_status, addr.party_site_name, addr.address_line1, addr.address_line2, addr.city, addr.county, addr.state, addr.province, addr.country, addr.postal_code, addr.email_address, addr.pay_flag, addr.pur_flag, addr.rfq_flag FROM pos_address_requests addr, pos_supplier_registrations reg, pos_supplier_mappings m WHERE m.supplier_reg_id = reg.supplier_reg_id AND addr.mapping_id = m.mapping_id AND reg.supplier_name = '&SupplierName'; c) Query to check the Supplier Contacts provided in the Registration SQL> SELECT contact.request_type, contact.request_status, contact.first_name, contact.last_name, contact.email_address, contact.phone_number, contact.do_not_delete FROM pos_contact_requests contact, pos_supplier_registrations reg, pos_supplier_mappings m WHERE m.supplier_reg_id = reg.supplier_reg_id AND contact.mapping_id = m.mapping_id AND reg.supplier_name = '&SupplierName'; d) To have multiple approvers for supplier registrations this can be setup to use Approval Management Engine ("AME") for supplier registration approval. Please consult AME documentation on details of using AME. e) To validate users notification subscription, when emails are not received, run the following query, and provide the email_address of the main supplier contact provided in the supplier registration. SQL> SELECT mail_status, status FROM wf_notifications WHERE recipient_role = upper('&contact_email_address');
The following queries return basic supplier, site, address and contact data on a Release 12 instance. This data can be then validated for unexpected values, or relation to errors and log output: a) Query for basic supplier info SQL> SELECT vendor_id, vendor_name, party_id, segment1, enabled_flag, employee_id, vendor_type_lookup_code FROM po_vendors WHERE vendor_name = '&SupplierName';
b) Query for Supplier Sites SQL> SELECT pvsa.vendor_site_id, pvsa.vendor_site_code, pvsa.org_id, org.name AS org_name, pvsa.inactive_date, pvsa.party_site_id, pvsa.location_id, pvsa.purchasing_site_flag, pvsa.pay_site_flag, pvsa.address_line1, pvsa.address_line2, pvsa.city, pvsa.state, pvsa.province, pvsa.country FROM po_vendor_sites_all pvsa, ap_suppliers vendor, hr_all_organization_units org WHERE pvsa.vendor_id = vendor.vendor_id AND vendor_name = '&SupplierName' AND org.organization_id = pvsa.org_id ORDER BY vendor_site_code, org_id;
c) Query for Supplier Addresses SQL> SELECT hps.party_site_id, hps.party_site_name, hps.status, loc.address1, loc.address2, loc.city, loc.county, loc.state, loc.province, loc.country, loc.postal_code FROM hz_party_sites hps, ap_suppliers vendor, hz_locations loc WHERE vendor.party_id = hps.party_id AND hps.location_id = loc.location_id AND vendor_name = '&SupplierName' ORDER BY party_site_name;
d) Query for Supplier Contacts SQL> SELECT vendor.vendor_name, contact.party_id AS contact_party_id, contact.party_name AS contact_party_name FROM hz_relationships hzr, ap_suppliers vendor, hz_parties contact, hz_parties vendor_party WHERE vendor.party_id = hzr.subject_id AND contact.party_id = hzr.object_id AND hzr.relationship_type = 'CONTACT' AND hzr.relationship_code = 'CONTACT' AND vendor_party.party_id = vendor.party_id AND vendor.employee_id IS NULL AND hzr.directional_flag = 'B' AND vendor.vendor_name = '&SupplierName' AND EXISTS (SELECT 1 FROM hz_party_usg_assignments assignment WHERE assignment.party_id = contact.party_id AND assignment.status_flag = 'A' AND party_usage_code = 'SUPPLIER_CONTACT');
e) Query for Supplier Users
SQL> SELECT * FROM pos_supplier_users_v WHERE vendor_id = (SELECT vendor_id FROM ap_suppliers WHERE vendor_name = '&SupplierName') ORDER BY user_name;
SAMPLE TEST CASE Please access this to get the complete test case and the flow info related to Release 12 Supplier Registration Process. R12 Flow.doc
CODE FILES < /> File Name Description POSSPM1.wft Handles Supplier company registration. POSSPAPM.wft Handles Supplier Registration Approval processing using AME approval rules setup POSSPM1B.pls The workflow item contains processes for sending | notifications for supplier registration and profile management | features. ProspRegPGCO.java The controller code for the Supplier Registration Main Page. ProspRegDetailsPGCO.java The Contoller code that handles the processing when the Registration is submitted by the Supplier.