Criar Fornecedores via API

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

Powered by WordPress.com. Tema: Baskerville 2 por Anders Noren

Acima ↑

%d blogueiros gostam disto: