Symptom
It is not clear how/when the deleted items appear in the output message for Purchase Orders.
Environment
SAP S/4HANA Cloud Public Edition
Resolution
Section 1: Standard Template Form MM_PUR_PURCHASE_ORDER
This is the explanation about how the Standarad Form displays the Deleted Items of a Purchase Order:
Standard behavior has the following logic:
Let’s have a PO with 3 items.
1. When the PO is created the first output is which contains all the items.
2. Now let’s delete item 20, the second output is generated.
a. This output will contains the item 20 with change texts saying item deleted
3. Now edit PO and change the quantity of item 10 or 30. Third output will be generated
a. This output will not contain item 20. Item 20 will be hidden.
b. And item 10 or 30 will contain the change text for quantity change.
If the item is marked for deletion and it does not have any change text associated to it, then we remove this item from the new Output message. Otherwise we print the items in the form.
Section 2: Steps to print deleted item for every output with text that says item is deleted.
If item is not deleted, this text field will be hidden.
2.1 Delete below code at script to print the deleted item for every output.
//Hide the purchase order limit item if it is signed as deleted and has no change text
if( (this.tblInnerTable.rowItem.frmLimitItemAttributes.txtIsDeleted.rawValue == "L")
&(this.tblInnerTable.rowChanges.tblInnerCTable.resolveNodes("rowCItem[*]").length < 1) ) then
this.tblInnerTable.rowItem.presence = "inactive";
this.tblInnerTable.rowRemarkRow.presence = "inactive";
this.tblInnerTable.rowChanges.presence = "inactive";
this.tblInnerTable.rowTexts.presence = "inactive";
endif
2.2 Create a static hidden text field and make it invisible as shown below.
2.3 Enter the text that is expected to print on output form as shown below.
2.4 Create a new sub-form with a field that prints if item is deleted or not.
2.5 Output form:
Keywords
KBA , MM-PUR-GF-OC , Message determination and printing , Problem