(i) Introduction of common standard table of suppliers
1.1 common standard table
The table and description related to the vendor are listed in the following table:
Table name |
Description |
Other information |
Ap_suppliers |
Vendor Header Table |
Supplier's header information such as: Supplier name, supplier code, tax number, etc. |
Po_vendors |
Corresponding view |
Ap_supplier_sites_all |
Vendor Location Table |
Vendor's location information, such as the corresponding OU, address, etc. |
Po_vendor_sites_all |
Corresponding view |
Pos_supp_prof_ext_b |
Vendor Location Additional Information table |
Vendor Location additional information c_ext_attr1~15,d_ext_attr1~15 field |
|
|
Ap_supplier_contacts |
Vendor Contact table |
Name of supplier contact person, contact method, etc. |
Po_vendor_contacts |
Corresponding view |
Hz_contact_points |
Vendor Contact Contact Information table |
Phone, fax, email, etc. of the supplier contact person |
|
|
Zx_party_tax_profile |
Vendor tax Information Sheet |
Vendor tax Type, etc. |
|
|
Hz_code_assignments |
Vendor Tax Scale |
Tax rate on the supplier's address |
|
|
Iby_external_payees_all |
Payment Information Sheet |
Payment method at supplier's corresponding location |
|
|
Iby_account_ownes |
Bank Account Holders |
In the lov of adding a bank account |
|
|
Iby_pmt_instr_uses_all |
Vendor Location Bank account Use Table |
The bank account that is linked to the supplier location |
|
|
Iby_ext_bank_accounts |
Vendor Location Bank Account form |
Vendor Location Bank account information |
|
|
Iby_ext_banks_v |
Location Bank table |
Location Bank information |
Hz_parties |
base table |
Iby_ext_bank_branches_v |
Location Bank sub-branch table |
Location Bank Sub-branch of the line number, branch name information |
|
|
Vendor Bank Information table: Iby_ext_banks_v
Field name |
Description |
bank_party_id |
Bank ID |
Bank_name |
Bank name |
Bank_number |
Bank number |
Supplier Bank Branch Information table: Iby_ext_bank_branches_v
Field name |
Description |
branch_party_id |
Branch ID |
Branch_number |
Branch number |
bank_party_id |
Parent Row ID |
Supplier Account Information table: iby_ext_bank_accounts
Field name |
Description |
branch_id |
Branch ID |
bank_id |
Parent Row ID |
Bank_account_num |
Account |
supplier Import order and process 3.1 Supplier Import Order
Because of the correlation of data, the information import of the same supplier must be carried out in a certain order: The pilot header information, the Guide location information, the location of the final import location additional information, contact, tax rate, Bank, default payment method and other information. (At the same time, it is necessary to import the bank to the vendor layer instead of the location layer)
3.2 API Vendor Import Process
API Vendor Import Process:
The first step: Create the intermediate table that needs to import the supplier information, and provide the required fields on the field of supplier header information and location information.
Step two: Insert the vendor information that needs to be imported into the middle table, verify that the data that needs to be inserted satisfies the vendor information rules, and removes the non-compliant data.
The third step is to verify the existence of the data that needs to be imported in the Database standard table, the nonexistent supplier information invokes the standard API for import operations, and the existing vendors are updated according to the actual requirements.
Fourth step: After the import completes, queries the supplier information in the interface or the background table, verifies that the imported supplier information is correct. 3.3 Interface Table supplier import process
Interface Table Vendor Import process:
The first step: after the external System data validation, transformation and import into the customized Cux table.
The second step: Validate the data in the Cux table and insert it into the System standard interface table.
Step Three: Submit concurrent requests to import the data into the system.
Step Fourth: The Calling API imports vendor bank information into the system (possibly at the location, address, vendor level).
Note: If you need to import Bank information when you import a vendor, remember that you cannot insert vendor bank data into the interface temp table iby_temp_ext_bank_accts and submit concurrent requests together, expecting to import the data including account information (this is the company standardized procedure, but I personally verify the project) , which will cause the system to automatically verify the field Iby_temp_ext_bank_accts.iban "International Bank account number International accounts" To insert data into this account by my debugging the Temporary Interface table This field is validated even if it is null, which results in validation however, the resulting data does not go in, and conversely, if the bank information is inverted with an API, if it is null to skip validation, the validated program is in the package iby_ext_bankacct_ Validations, you can study it in a minute.
Api
Vendor header creation Pos_vendor_pub_pkg.create_vendor (P_vendor_rec => l_vendor_rec, X_return_status =>, L_re Turn_status,--Returns the status X_msg_count => l_msg_count,--Returns the error number X_msg_data =>,--Returns the error message L_msg_data endor_id => l_vendor_id,--Returns the created vendor ID x_party_id => l_party_id);
--Returns the mechanism ID Vendor Header update l_vendor_rec Ap_vendor_pub_pkg.r_vendor_rec_type; --Update Supplier header information Pos_vendor_pub_pkg.update_vendor (P_vendor_rec => l_vendor_rec, X_return_status =>, L_return_status,- -Returns the status X_msg_count => L_msg_count,--the number of errors returned x_msg_data => l_msg_data); --The error message returned
Supplier Locations Create
pos_vendor_pub_pkg.create_vendor_site (
p_vendor_site_rec=> l_vendor_site_rec,
x_return_ Status => l_return_status,--Returns the import status
x_msg_count => l_msg_count,-- error number
X_msg_data => L_msg_data, --error message
x_vendor_site_id =>l_vendor_site_id,--The location ID of the created success returned
X_party_site_ ID => l_party_site_id,--return mechanism location ID
x_location_id => l_location_id);
--Update supplier location
pos_vendor_pub_pkg.update_vendor_site (
x_return_status => o_return_status, Import status
x_msg_count => l_msg_count, --Error number
X_msg_data => l_msg_data, --error message
P_vendor_site_rec => L_vendor_site_rec);
--Create Contact
pos_vendor_pub_pkg.create_vendor_contact (
p_vendor_contact_rec => l_contact_rec,
X_return _status => L_return_status, --return status
x_msg_count => l_msg_count, --Error number
X_msg_data => L_msg_data, --error message
x_vendor_contact_id => l_vendor_contact_id,--Contact ID
x_per_ party_id => l_per_party_id-- contact Organization ID
x_rel_party_id => l_rel_party_id,-- relationship Agency ID
x_rel_id => l_rel_id, --Relationship ID
x_org_contact_id => l_org_contact_id, -- Location Contact Person ID
x_party_site_id => l_party_site_id); --Location ID
Pos_supp_contact_pkg.update_supplier_contact (
p_contact_party_id => l_party_id, --Contact Organization ID
p_ vendor_party_id => l_vendor_party_site_id,--supplier Agency ID
p_last_name => i_last_name, --Contact name
p_phone_number => i_phone-- Contact phone p_url => i_id_num-- Contact ID number
P_fax_ number => I_fax_num, -Contact Fax No.
p_email_address => i_emial_addr-- Contact mailbox Address
X_ Return_status => L_return_status, --return status
x_msg_count => l_msg_count, --Number
of errors X_msg_data => l_msg_data); --Error message
Create and update vendor default payment methods
Iby_disbursement_setup_pub.update_external_payee (
p_api_version => l_api_ Version, --edition number
p_init_msg_list => ' T ',
p_ext_payee_tab => l_ext_payee_tab,
p_ext_ Payee_id_tab => l_ext_payee_id_tab,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
x_ext_payee_status_tab => l_ext_payee_ Status_tab);
--Create bank
Iby_ext_bankacct_pub.create_ext_bank (
p_api_version => l_api_version, version number
P_init_msg_list => Fnd_api.g_true, --default value ' T '
p_ext_bank_rec => p_extbank_rec,
x_bank_id => o_bank_id, --return the bank ID
x_return_status => o_return_status,--Return status
x_msg_count = > L_msg_count, --Error number
X_msg_data => l_msg_data,- -error message
x_response => RESULT_REC);
--Create Branch
iby_ext_bankacct_pub.create_ext_bank_branch (
p_api_version => l_api_version, version number
p_init_msg_list => fnd_api.g_true, --' T '
p_ext_bank_branch_rec => L_extbankbranch_rec,
x_branch_id => o_branch_id, --branch ID
x_return_status => o_return_status, --return status
x_msg_count => l_msg_count, --Error number
X_msg_data => l_msg_data, --error message
X_ Response => L_result_rec);
--Create Account
Iby_ext_bankacct_pub.create_ext_bank_acct (
p_api_version => ' 1.0 ',
p_init_msg_ List => fnd_api.g_true,
p_ext_bank_acct_rec => l_ext_bank_acct_rec,
x_acct_id => l_ bank_acct_id,
x_return_status => l_return_status,
x_msg_count => ,
l_msg_count Msg_data => l_msg_data,
x_response => l_result_rec);
Hook account information to the Lov in the Add button:
iby_ext_bankacct_pub.add_joint_account_owner (
p_api_version => p_object _version_number,--version number
p_init_msg_list => fnd_api.g_true,-- default value ' T '
p_bank_account_id = > l_ext_bank_acct_rec.bank_account_id,--account ID
p_acct_owner_party_id => l_party_id, organization ID
x_ joint_acct_owner_id => l_joint_acct_owner_id,-the ID of the returned account owner
X_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
x_response => l_ RESULT_REC);
--Create a place on
iby_disbursement_setup_pub.set_payee_instr_assignment (
p_api_version => ' 1.0 ', Version number
p_init_msg_list => fnd_api.g_true,-- ' t '
p_commit => fnd_api.g_true,-- ' t '
x_return_status => l_return_status, --return status
x_msg_count => l_msg_count, -- Error number
X_msg_data => l_msg_data, --error message
p_payee => l_payee_rec,
P_assignment_ Attribs => L_assignment_attribs_rec,
x_assign_id => l_assign_id, --Using ID
x_response => L_result_rec);
(2) Import supplier bank account information to other layers l_ext_bank_acct_rec.acct_owner_party_id: = v_vendor_party_id; This must be provided, the import to the location layer (1) is not required to provide iby_ext_
Bankacct_pub.create_ext_bank_acct (p_api_version => ' 1.0 ', P_init_msg_list => Fnd_api.g_true, P_ext_bank_acct_rec => L_ext_bank_acct_rec, P_association_level => ' S ',--s: for The quotient layer; SS: supplier location layer; a:address;
Ao:address operating Unit p_supplier_site_id => NULL,
p_party_site_id => NULL, p_org_id => NULL, P_org_type => NULL,--bug7136876:new parameter x_acct_id =>l_bank_acct_id, X_return_status => l_return_status,
X_msg_count => L_msg_count,
X_msg_data => L_msg_data,
X_response => L_result_rec);
Interface Table Implementation Import method 6.1 insert data into supplier header information Ap_suppliers_int 6.2 insert data into supplier location information Ap_supplier_sites_int 6.3 Insert data into supplier location contact information Ap_sup_site_
Contact_int 6.4 Submit Concurrent request 1. Supplier Import fnd_request.submit_request (' Sqlap ', application abbreviation
' Apxsuimp ',--concurrent program ', ', FALSE,
' All ', 1000, ' N ',
' n ', ' n ', Chr (0));
2. Supplier Location Import fnd_request.submit_request (' Sqlap ',--application abbreviation ' Apxssimp ',--concurrent program
', ', FALSE, NULL,
' All ', 1000, ' Y ',--redo
' Y ', ' Y ', Chr (0));
3. Contact Import fnd_request.submit_request (' Sqlap ', application abbreviation ' Apxscimp ')--concurrent program
', ', FALSE, ' all ',
1000, ' n ', ' n ',
' N ', Chr (0));
6.5 Call API Create bank account information Reference API explanation: About Interface Table Import interface table information information and field requirements can refer to standard documents, or Oracle Web site