cancel
Showing results for 
Search instead for 
Did you mean: 

SAP ByD Creating a Down Payment request from ABSL

FerranAntonio
Explorer

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

Accepted Solutions (0)

Answers (0)