Nesse post irei mostrar como criar um fornecedor via API.
declare p_api_version number; p_init_msg_list varchar2(200); p_commit varchar2(200); p_validation_level number; x_return_status varchar2(200); x_msg_count number; x_msg_data varchar2(200); l_msg varchar2(200); lr_vend apps.ap_vendor_pub_pkg.r_vendor_rec_type; lr_ex_vend ap_suppliers%rowtype; x_vendor_id number; x_party_id number; pin_copy_vendor_id number; begin -- Initialize apps session fnd_global.apps_initialize(1139, 50833, 200); mo_global.init('SQLAP'); fnd_client_info.set_org_context(101); -- Assign Basic Values p_api_version := 1.0; p_init_msg_list := fnd_api.g_true; p_commit := fnd_api.g_true; p_validation_level := fnd_api.g_valid_level_full; pin_copy_vendor_id := 6261; begin select * into lr_ex_vend from ap_suppliers asa where asa.vendor_id = pin_copy_vendor_id; exception when others then dbms_output.put_line('Unable to derive the supplier information for vendor id:' || pin_copy_vendor_id); end; -- Hold Details lr_vend.hold_flag := null; lr_vend.purchasing_hold_reason := null; lr_vend.hold_by := null; lr_vend.hold_date := null; -- Id details lr_vend.vendor_id := null; lr_vend.segment1 := lr_ex_vend.segment1 || '_NEW1'; lr_vend.vendor_name := lr_ex_vend.vendor_name || '_NEW1'; lr_vend.vendor_name_alt := lr_ex_vend.vendor_name_alt||'_NEW1'; lr_vend.summary_flag := lr_ex_vend.summary_flag; lr_vend.enabled_flag := lr_ex_vend.enabled_flag; lr_vend.start_date_active := lr_ex_vend.start_date_active; lr_vend.end_date_active := lr_ex_vend.end_date_active; -- Blank values lr_vend.party_id := null; lr_vend.parent_party_id := null; lr_vend.jgzz_fiscal_code := null; lr_vend.sic_code := null; lr_vend.url := null; lr_vend.supplier_notif_method := null; lr_vend.remittance_email := null; lr_vend.ceo_name := null; lr_vend.ceo_title := null; lr_vend.tax_reference := null; lr_vend.inventory_organization_id := null; lr_vend.default_terms_id := null; lr_vend.vendor_interface_id := null; lr_vend.validation_number := null; -- Other Values lr_vend.segment2 := lr_ex_vend.segment2; lr_vend.segment3 := lr_ex_vend.segment3; lr_vend.segment4 := lr_ex_vend.segment4; lr_vend.segment5 := lr_ex_vend.segment5; lr_vend.employee_id := lr_ex_vend.employee_id; lr_vend.vendor_type_lookup_code := lr_ex_vend.vendor_type_lookup_code; lr_vend.customer_num := lr_ex_vend.customer_num; lr_vend.one_time_flag := lr_ex_vend.one_time_flag; lr_vend.parent_vendor_id := lr_ex_vend.parent_vendor_id; lr_vend.min_order_amount := lr_ex_vend.min_order_amount; lr_vend.terms_id := lr_ex_vend.terms_id; lr_vend.set_of_books_id := lr_ex_vend.set_of_books_id; lr_vend.always_take_disc_flag := lr_ex_vend.always_take_disc_flag; lr_vend.pay_date_basis_lookup_code := lr_ex_vend.pay_date_basis_lookup_code; lr_vend.pay_group_lookup_code := lr_ex_vend.pay_group_lookup_code; lr_vend.payment_priority := lr_ex_vend.payment_priority; lr_vend.invoice_currency_code := lr_ex_vend.invoice_currency_code; lr_vend.payment_currency_code := lr_ex_vend.payment_currency_code; lr_vend.invoice_amount_limit := lr_ex_vend.invoice_amount_limit; lr_vend.hold_all_payments_flag := lr_ex_vend.hold_all_payments_flag; lr_vend.hold_future_payments_flag := lr_ex_vend.hold_future_payments_flag; lr_vend.hold_reason := lr_ex_vend.hold_reason; lr_vend.type_1099 := lr_ex_vend.type_1099; lr_vend.withholding_status_lookup_code := lr_ex_vend.withholding_status_lookup_code; lr_vend.withholding_start_date := lr_ex_vend.withholding_start_date; lr_vend.organization_type_lookup_code := lr_ex_vend.organization_type_lookup_code; lr_vend.minority_group_lookup_code := lr_ex_vend.minority_group_lookup_code; lr_vend.women_owned_flag := lr_ex_vend.women_owned_flag; lr_vend.small_business_flag := lr_ex_vend.small_business_flag; lr_vend.terms_date_basis := lr_ex_vend.terms_date_basis; lr_vend.inspection_required_flag := lr_ex_vend.inspection_required_flag; lr_vend.receipt_required_flag := lr_ex_vend.receipt_required_flag; lr_vend.qty_rcv_tolerance := lr_ex_vend.qty_rcv_tolerance; lr_vend.qty_rcv_exception_code := lr_ex_vend.qty_rcv_exception_code; lr_vend.enforce_ship_to_location_code := lr_ex_vend.enforce_ship_to_location_code; lr_vend.days_early_receipt_allowed := lr_ex_vend.days_early_receipt_allowed; lr_vend.days_late_receipt_allowed := lr_ex_vend.days_late_receipt_allowed; lr_vend.receipt_days_exception_code := lr_ex_vend.receipt_days_exception_code; lr_vend.receiving_routing_id := lr_ex_vend.receiving_routing_id; lr_vend.allow_substitute_receipts_flag := lr_ex_vend.allow_substitute_receipts_flag; lr_vend.allow_unordered_receipts_flag := lr_ex_vend.allow_unordered_receipts_flag; lr_vend.hold_unmatched_invoices_flag := lr_ex_vend.hold_unmatched_invoices_flag; lr_vend.tax_verification_date := lr_ex_vend.tax_verification_date; lr_vend.name_control := lr_ex_vend.name_control; lr_vend.state_reportable_flag := lr_ex_vend.state_reportable_flag; lr_vend.federal_reportable_flag := lr_ex_vend.federal_reportable_flag; lr_vend.auto_calculate_interest_flag := lr_ex_vend.auto_calculate_interest_flag; lr_vend.exclude_freight_from_discount := lr_ex_vend.exclude_freight_from_discount; lr_vend.tax_reporting_name := lr_ex_vend.tax_reporting_name; lr_vend.check_digits := lr_ex_vend.check_digits; lr_vend.allow_awt_flag := lr_ex_vend.allow_awt_flag; lr_vend.awt_group_id := lr_ex_vend.awt_group_id; lr_vend.pay_awt_group_id := lr_ex_vend.pay_awt_group_id; lr_vend.bank_charge_bearer := lr_ex_vend.bank_charge_bearer; lr_vend.match_option := lr_ex_vend.match_option; lr_vend.create_debit_memo_flag := lr_ex_vend.create_debit_memo_flag; lr_vend.ni_number := lr_ex_vend.ni_number; lr_vend.edi_payment_format := lr_ex_vend.edi_payment_format; lr_vend.edi_transaction_handling := lr_ex_vend.edi_transaction_handling; lr_vend.edi_payment_method := lr_ex_vend.edi_payment_method; lr_vend.edi_remittance_method := lr_ex_vend.edi_remittance_method; lr_vend.edi_remittance_instruction := lr_ex_vend.edi_remittance_instruction; lr_vend.vat_code := lr_ex_vend.vat_code; lr_vend.auto_tax_calc_flag := lr_ex_vend.auto_tax_calc_flag; lr_vend.offset_tax_flag := lr_ex_vend.offset_tax_flag; lr_vend.vat_registration_num := lr_ex_vend.vat_registration_num; -- Attribute Details lr_vend.attribute_category := lr_ex_vend.attribute_category; lr_vend.attribute1 := lr_ex_vend.attribute1; lr_vend.attribute2 := lr_ex_vend.attribute2; lr_vend.attribute3 := lr_ex_vend.attribute3; lr_vend.attribute4 := lr_ex_vend.attribute4; lr_vend.attribute5 := lr_ex_vend.attribute5; lr_vend.attribute6 := lr_ex_vend.attribute6; lr_vend.attribute7 := lr_ex_vend.attribute7; lr_vend.attribute8 := lr_ex_vend.attribute8; lr_vend.attribute9 := lr_ex_vend.attribute9; lr_vend.attribute10 := lr_ex_vend.attribute10; lr_vend.attribute11 := lr_ex_vend.attribute11; lr_vend.attribute12 := lr_ex_vend.attribute12; lr_vend.attribute13 := lr_ex_vend.attribute13; lr_vend.attribute14 := lr_ex_vend.attribute14; lr_vend.attribute15 := lr_ex_vend.attribute15; -- Global Attribute Details lr_vend.global_attribute1 := lr_ex_vend.global_attribute1; lr_vend.global_attribute2 := lr_ex_vend.global_attribute2; lr_vend.global_attribute3 := lr_ex_vend.global_attribute3; lr_vend.global_attribute4 := lr_ex_vend.global_attribute4; lr_vend.global_attribute5 := lr_ex_vend.global_attribute5; lr_vend.global_attribute6 := lr_ex_vend.global_attribute6; lr_vend.global_attribute7 := lr_ex_vend.global_attribute7; lr_vend.global_attribute8 := lr_ex_vend.global_attribute8; lr_vend.global_attribute9 := lr_ex_vend.global_attribute9; lr_vend.global_attribute10 := lr_ex_vend.global_attribute10; lr_vend.global_attribute11 := lr_ex_vend.global_attribute11; lr_vend.global_attribute12 := lr_ex_vend.global_attribute12; lr_vend.global_attribute13 := lr_ex_vend.global_attribute13; lr_vend.global_attribute14 := lr_ex_vend.global_attribute14; lr_vend.global_attribute15 := lr_ex_vend.global_attribute15; lr_vend.global_attribute16 := lr_ex_vend.global_attribute16; lr_vend.global_attribute17 := lr_ex_vend.global_attribute17; lr_vend.global_attribute18 := lr_ex_vend.global_attribute18; lr_vend.global_attribute19 := lr_ex_vend.global_attribute19; lr_vend.global_attribute20 := lr_ex_vend.global_attribute20; lr_vend.global_attribute_category := lr_ex_vend.global_attribute_category; -- Call the API ap_vendor_pub_pkg.create_vendor(p_api_version => p_api_version, p_init_msg_list => p_init_msg_list, p_commit => p_commit, p_validation_level => p_validation_level, x_return_status => x_return_status, x_msg_count => x_msg_count, x_msg_data => x_msg_data, p_vendor_rec => lr_vend, x_vendor_id => x_vendor_id, x_party_id => x_party_id); dbms_output.put_line('X_RETURN_STATUS = ' || x_return_status); dbms_output.put_line('X_MSG_COUNT = ' || x_msg_count); dbms_output.put_line('X_MSG_DATA = ' || x_msg_data); dbms_output.put_line('X_VENDOR_ID = ' || x_vendor_id); dbms_output.put_line('X_PARTY_ID = ' || x_party_id); IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN FOR i IN 1..FND_MSG_PUB.COUNT_MSG LOOP l_msg := FND_MSG_PUB.get( p_msg_index => i, p_encoded => FND_API.G_FALSE ); dbms_output.put_line('The API call failed with error '||l_msg); END LOOP; ELSE dbms_output.put_line('The API call ended with SUCESSS status'); END IF; end;
Deixe uma resposta