on 12-19-2021 12:16 PM
Hi experts, I've had problems creating a down payment request with an ABSL action. The operation (PriceAndTaxCalculationItem.ItemMainPrice.Create()) has not returned a record. I needd your help and expertise. This is my test code:
// define CustomerInvoiceRequest root node
var elCustomerInvoiceRequest_Root: elementsof BusinessObject::CustomerInvoiceRequest;
var instCustomerInvoiceRequest;
// define CustomerInvoiceRequest BusinessProcessVariantType node
var elCustomerInvoiceRequest_BPVT: elementsof BusinessObject::CustomerInvoiceRequest.BusinessProcessVariantType;
var instCustomerInvoiceRequest_BPVT;
// define CustomerInvoiceRequest buyer party node
var elCustomerInvoiceRequest_BuyerParty: elementsof BusinessObject::CustomerInvoiceRequest.Party;
var instCustomerInvoiceRequest_BuyerParty;
// define CustomerInvoiceRequest sales unit party node
var elCustomerInvoiceRequest_SalesUnitParty: elementsof BusinessObject::CustomerInvoiceRequest.Party;
var instCustomerInvoiceRequest_SalesUnitParty;
// define CustomerInvoiceRequest item node
var elCustomerInvoiceRequest_Item: elementsof BusinessObject::CustomerInvoiceRequest.Item;
var instCustomerInvoiceRequest_Item;
// define CustomerInvoiceRequest item accounting coding block node
var elCustomerInvoiceRequest_ItemACBD: elementsof BusinessObject::CustomerInvoiceRequest.Item.ItemAccountingCodingBlockDistribution;
var instCustomerInvoiceRequest_ItemACBD;
// CustomerInvoiceRequest: create new instance
instCustomerInvoiceRequest = BusinessObject::CustomerInvoiceRequest.Create();
// CustomerInvoiceRequest: maintain BPVT node
// BusinessProcessVariantTypeCode = 3 describes type 'Manual Invoice'
// BPVT TYPE 3 MUST BE FIRST
elCustomerInvoiceRequest_BPVT.BusinessProcessVariantTypeCode = "3";
elCustomerInvoiceRequest_BPVT.MainIndicator = true;
instCustomerInvoiceRequest_BPVT = instCustomerInvoiceRequest.BusinessProcessVariantType.Create(elCustomerInvoiceRequest_BPVT);
elCustomerInvoiceRequest_BPVT.BusinessProcessVariantTypeCode = "272";
elCustomerInvoiceRequest_BPVT.MainIndicator = false;
instCustomerInvoiceRequest_BPVT = instCustomerInvoiceRequest.BusinessProcessVariantType.Create(elCustomerInvoiceRequest_BPVT);
// CustomerInvoiceRequest: maintain customer invoice processing type - mandatory
// CustomerInvoiceProcessingTypeCode = "CI" describes type 'Customer Invoice'
// MUST BE DONE AFTER BPVT
instCustomerInvoiceRequest.CustomerInvoiceProcessingTypeCode = "CDP";
// pricing terms
var instPricingTerms = instCustomerInvoiceRequest.PricingTerms;
if(!instPricingTerms.IsSet()) { instPricingTerms = instCustomerInvoiceRequest.PricingTerms.Create(); }
instPricingTerms.CurrencyCode = "EUR";
// CustomerInvoiceRequest:: maintain buyer party - mandatory
elCustomerInvoiceRequest_BuyerParty.PartyKey.PartyID.content = "10000102";
// CustomerInvoiceRequest: create new party instance
instCustomerInvoiceRequest_BuyerParty = instCustomerInvoiceRequest.BuyerParty.Create(elCustomerInvoiceRequest_BuyerParty);
// CustomerInvoiceRequest:: maintain sales unit party - mandatory
elCustomerInvoiceRequest_SalesUnitParty.PartyKey.PartyID.content = "5010201";
// CustomerInvoiceRequest: create new party instance
instCustomerInvoiceRequest_SalesUnitParty = instCustomerInvoiceRequest.SalesUnitParty.Create(elCustomerInvoiceRequest_SalesUnitParty);
// CustomerInvoiceRequest.Item: maintain description - mandatory
elCustomerInvoiceRequest_Item.Description.content = "Down Payment for ANTICIPO";
//elCustomerInvoiceRequest_Item.Quantity.content = 1;
//elCustomerInvoiceRequest_Item.Quantity.unitCode = "EA";
//elCustomerInvoiceRequest_Item.QuantityTypeCode.content = "EA";
elCustomerInvoiceRequest_Item.ProcessingTypeCode = "CII";
instCustomerInvoiceRequest_Item = instCustomerInvoiceRequest.Item.Create(elCustomerInvoiceRequest_Item);
// GENERAL LEDGER AND TAX CODE MUST BE AFTER THE PRICE COMPONENT CREATION
// CustomerInvoiceRequest.Item.ItemAccountingCodingBlockDistribution: maintain GL-account - mandatory
elCustomerInvoiceRequest_ItemACBD.GeneralLedgerAccountAliasCode.content = "ZOI01";
// CustomerInvoiceRequest.Item: create new ItemAccountingCodingBlockDistribution instance
instCustomerInvoiceRequest_ItemACBD = instCustomerInvoiceRequest_Item.ItemAccountingCodingBlockDistribution.Create(elCustomerInvoiceRequest_ItemACBD);
// CustomerInvoiceRequest.Item.PATCItem: maintain tax code - mandatory (code 501 = Sales Tax - Standard Rate)
instCustomerInvoiceRequest_Item.PriceAndTaxCalculationItem.TaxationCharacteristicsCode.content = "316";
var elCustomerInvoiceRequest_Item_MainPrice : elementsof CustomerInvoiceRequest.PriceAndTaxCalculation.Item.ItemPriceComponent;
elCustomerInvoiceRequest_Item_MainPrice.Description.content = "Gross Down Payment";
elCustomerInvoiceRequest_Item_MainPrice.TypeCode.content = "7GDP";
elCustomerInvoiceRequest_Item_MainPrice.Rate.DecimalValue = 22000;
elCustomerInvoiceRequest_Item_MainPrice.Rate.CurrencyCode = "EUR";
var instancia = instCustomerInvoiceRequest_Item.PriceAndTaxCalculationItem.ItemMainPrice.Create(elCustomerInvoiceRequest_Item_MainPrice);
// external ref
instCustomerInvoiceRequest.ReferenceBusinessTransactionDocumentID.content = "Contrato manual";
// CustomerInvoiceRequest: maintain description - optional
instCustomerInvoiceRequest.Name = "Down Payment for ANTICIPO";
User | Count |
---|---|
92 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.