====== AIRS-3860 GR: Avoid Received Qty > Requested Qty ======
[[https://tasks.supplyon.de/browse/AIRS-3860|(Jira) AIRS-3860 GR: Avoid Received Qty > Requested Qty]]\\
[[https://doc.supplyon.de/display/S10058/GR%3A+Avoid+Received+Qty+%3E+Requested+Qty|(Confluence) AIRS-3860 GR: Avoid Received Qty > Requested Qty]]\\
[[https://git.seeburger.de/r/c/supplyon/airsupply/+/98831|(Gerrit) AIRS-3860 GR: Avoid Received Qty > Requested Qty]]
===== TODO =====
Spec:
* This check can be enabled / disabled on customer legal entity level (by SupplyOn administrator) with configuration of
* Which POs? Options are "CALLUP"; "Other"
* Only without UE reference? Options are "Yes";"No"
This means:
* **+** Add two columns to tOrganization_SCD
* cPOTypesToRejectGROvrdlvry (VARCHAR containing semicolon separated list of PO types)
* cRejectGROvrdlvryWithoutUEs (INTEGER containing boolean)
* **+** Add two fields to Organization model
* **+** Decide what is to do with invalid entries
* **+** Add code to DAOImpl
* **+** read
* **x** write (not necessary)
* **-** Implement validation of these two new flags in ''SMGoodsReceiptOverdeliveryValidatorSTA''
* **-** Add columns to Agenda
* **-** Documentation of two new columns (where?)
===== Unit Tests =====
* **+** OrderTypeTest
* **-** SMGoodsReceiptOverdeliveryValidatorSTATest
* **+** "global" flag (''validateOverdelivery_Overdelivery_Reject()'' / ''_DontReject()'')
* **+** false
* **+** true
* **+** RejectGrOverdeliveryOnlyWithoutUes
* **+** true
* **+** with Ues -> Dont Reject
* **+** without Ues -> Reject
* **+** false
* **+** with Ues -> Reject
* **+** without Ues -> Reject
* **+** orderTypesToRejectGrOverdelivery
* **+** with both types configured
* **+** positive
* **+** with one type configured
* **+** positive
* **+** negative
* **+** with no types configured
* **+** positive
===== Misc =====
* Example of "comma separated value": ''cPOAlertOnStatus''
* Maybe the following statements can be useful for data migration (hopefully not):
UPDATE TORGANIZATION_SCD SET cPOTypesToRejectGROvrdlvry='CALLUP,OTHER' where CREJECTGROVERDELIVERY=1;
UPDATE TORGANIZATION_SCD SET cRejectGROvrdlvryWithoutUEs=1 where CREJECTGROVERDELIVERY=1;