AIRS-75 PO Reason Code for buyer by supplier modify

https://tasks.supplyon.de/browse/AIRS-75

Beschreibung

On customer LE level, there shall be a parameter/list (configurable in SMARTI admin console by SupplyOn administrator) which defines
* Whether a reason for modification is requested from the supplier or not
* The customer specific reasons codes
If supplier modifies a PO SL for a customer, where the setting is active, then the supplier will be requested to provide a reason code.
The reason code is required only if supplier modifies a schedule line which is in status OPEN, SCOR, PARTIALLY SHIPPED, PARTIALLY RECEIVED.
If a PO schedule line is in another status, than the ones listed above, then the supplier will NOT be requested to provide a reason code if he modifies the schedule line.
The use cases below refer to modification on the status OPEN, SCOR, PARTIALLY SHIPPED and PARTIALLY RECEIVED.
* In case of *collaboration on UI*: when clicking “modify”, a popup will appear, asking to select a reason code from a dropdown list (next to the code, a short description is displayed).

UI ist zu erweitern…

IMPORTANT : As this approach won't work with multi selection, AirSupply will drop an error message (“Please select only one schedule line”) if a supplier user selects more than one PO SL for collab action “modify”.
This restriction will apply for the PO SL of all customers.

Wenn mehrere Sätze selektiert werden, die UI gibt eine Fehlermeldung aus…

In case of upload:
* In order to avoid impact on existing supplier order confirmation csv file, the exiting field “supplier comment” shall be used.
* In this field, the reason +code+ is expected if action = “modify” +and+ if PO belongs to a customer where the flag on LE level is set accordingly and if the PO status is in the list of the identified ones
* If field is not filled with a valid reason code, error message will appear on UI and the modification will not be applied to the PO SL.
* If field contains a valid error code, this code will be copied in the field “reason code”, regardless whether there is already a value.

… (betrifft AIRS-141)

In case of supplier M2M:
* In order to avoid impact on existing supplier order confirmation csv file, the exiting field “supplier comment” shall be used.
* In this field, the reason code is expected if action = “modify” and if PO belongs to a customer where the flag on LE level is set accordingly and if the PO status is in the list of the identified ones
* If field is not filled with a valid reason code, the order confirmation for this SL won't be booked and the system drops an according error message
* If field contains a valid reason code, this code will be copied into the field “reason code”, regardless whether there is already a value.
A supplier “modify” on UI thus entering / changing the reason code via UI does not change the field “supplier comment”.
The reason code is sent to the customer ERP (new field in customer order response message idoc) in the new field “reason code” (if modification has been triggered via upload or M2M, the field “supplier comment” may contain the same value, but customer should rely on the value in the field “reason code”. If PO SL is still in SCOR, the supplier can modify again and then choose a different reason code (in case of SCOR).
If PO SL has passed SCOR (e.g. confirmed by customer thus OPEN) and the supplier would like to modify again, then the old reason code will be overwritten. As it is not tracked in the PO history, customer is expected to keep the trace in his ERP system.
On supplier modification via download → upload, it is supplier responsibility to check whether a reason code coming with the download is still valid for the current modification action / whether an existing value in the field “supplier comment” can be overwritten.
The reason code together with the reason short description is stored with the PO SL and can be displayed on PO Overview table (but not contained in the SupplyOn default view). It is not contained in the download (except if download option is “displayed [plus key] columns” and the field is displayed).