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";