SAP Knowledge Base Article - Public

2712330 - Condition Based Downpayment amount missing in output

Symptom

  • While using Condition Based Downpayment, on the output of the Customer Invoice the Downpayment amount is missing
  • The Downpayment is recognized and settled but not shown on the Customer Invoice

Environment

SAP S/4HANA Cloud All versions

Reproducing the Issue

  1. Create a Sales Order
  2. Post a Downpayment to FI
  3. Create the final Invoice

Cause

Missing functionality.

Resolution

Download the form from the system and do the following changes:

  1. Add following new fields (I recommend to do that directly in the XML Source view of the Lifecycle designer):

    - “txtConditionType” in Subform “Form.bdyMain.frmSummaryInfoTermsConditions.frmRightSide.frmSummaryBlock.frmPricing.frmHiddenAmount”
    - “decDownPaymentAmount” in Subform “Form.frmHiddenGlobalFields”

  2. Bind txtConditionType to $.ConditionType

  3. Add some Scripting:
  • Filter out the ConditionTypes you don’t want to be displayed in the Pricing Table and save the downpayment amount for later use in field decDownPaymentAmount:

Form.bdyMain.frmSummaryInfoTermsConditions.frmRightSide.frmSummaryBlock.frmPricing::initialize - (FormCalc, client)

if (this.frmHiddenAmount.txtConditionType.rawValue == "AZWB")

then

Form.frmHiddenGlobalFields.decDownpaymentAmount.rawValue = this.frmHiddenAmount.decCalculatedAmount.rawValue

this.presence = "hidden"

endif

if (this.frmHiddenAmount.txtConditionType.rawValue == "AZWA")

then

this.presence = "hidden"

endif

  • Change the display of the DownPaymentOverviewBlock, to show it also in this scenario (add the new scripting after the existing one at this place!):

Form.bdyMain.frmSummaryInfoTermsConditions.frmRightSide.frmDownPaymentsOverviewBlock::initialize - (FormCalc, client)

if( not Form.frmHiddenGlobalFields.decDownpaymentAmount.rawValue == "" )

then

this.presence = "visible";

endif

  • Fill Clearable Down Payment Amount (place the scripting instead of the existing one!)

Form.bdyMain.frmSummaryInfoTermsConditions.frmRightSide.frmDownPaymentsOverviewBlock.frmDownPaymentTotalAmount.txtAmountCurrency::initialize - (FormCalc, client)

this.rawValue = Concat(Form.frmHiddenGlobalFields.decDownpaymentAmount.formattedValue, " " , Form.frmHiddenGlobalFields.txtTransactionCurrency.rawValue )

  • Fill Open Total Amount (place the scripting instead of the existing one!)

Form.bdyMain.frmSummaryInfoTermsConditions.frmRightSide.frmDownPaymentsOverviewBlock.frmOpenAmount.txtAmountCurrency::initialize - (FormCalc, client)

this.rawValue = Form.bdyMain.frmSummaryInfoTermsConditions.frmRightSide.frmSummaryBlock.frmGrossAmount.frmHiddenAmount.decCalculatedAmount.rawValue - Form.frmHiddenGlobalFields.decDownpaymentAmount.rawValue

this.rawValue = Concat(this.rawValue, " " , Form.frmHiddenGlobalFields.txtTransactionCurrency.rawValue)

Keywords

Condition Based Downpayment, Output, Downpayment, FI-AR, post, posting, Billing, Form, Layout , KBA , SD-BIL , Billing , Problem

Product

SAP S/4HANA Cloud all versions