User Tools

Site Tools


rm25214

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rm25214 [2018/04/09 14:49] – [Fix] kalaschnikowrm25214 [2018/04/23 15:57] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== rm#25214 PO - In case of Auto-Accept is a result of an upload by supplier, no ORDRSP is created ======
 +
 +https://cust-projects.seeburger.de/redmine/issues/25214
 +
 +===== Ursache =====
 +
 +In ''POCollabStatus.generateExport(boolean bCustomerIsActing, boolean forceExport)'' wird folgendes geprüft:
 +<code java>
 +if (!forceExport)
 +{
 +  if ( bCustomerIsActing && isCollabActorImport())
 +  {
 +    log.info("Skipping processing of export-on-collab on PO '"
 +                         + getPOTitle(true)
 +                         + "' hence collab-actor is IMPORT and therefore submission of values is ambigous.");
 +                return;
 +  }
 +}
 +</code>
 +
 +Die Methode ''isCollabActorImport()'' prüft, ob der aktuelle collabActor ein ''IPOConstants.COLLAB_ACTOR_IMPORT'' ist. Im Fall von CSV-Upload ist es einer. Deshalb wird gleich return gemacht, d.h. der Export wird geskippt.
 +
 +
 +===== Testdaten =====
 +
 +Um eine Order mit "AutoAccept"-Feature zu erzeugen, muss man in der XML-Nachricht die Felder ''AutoAcceptQTYLowerLimit'' und ''AutoAcceptQTYUpperLimit'' befüllen. Damit das Feature "losgeht" muss man die Menge (im Fall von Suppier die "Promised Quantity") zwischen diesen 2 Werten haben. Dann wird der "AutoAccept"-Code ausgeführt.
 +===== Fix =====
 +In der ''modify()''-Methode aller ''POCollabStatus*'' Klassen, wo ''if(POCollabStatusToolbox.checkForAutoAccept())'' gemacht wird, dafür sorgen, dass der CollabActor auf ''IPOConstants.COLLAB_ACTOR_USER'' gesetzt wird.
 +
 +**Wichtig**: Prüfen, ob das irgendwelche Querwirkungen verursachen könnte. D.h. ob der CollabActor nach dem Setzen (außer der o.g. Stelle im ''isCollabActorImport()'') noch irgendwo verwendet wird.
 +
 +===== Tests =====
 +==== Betroffene Klassen ====
 +  * ''POManagerEJB.doAutoAcceptForSplit()''
 +  * ''POCollabStatusCCOR.modify()''
 +  * ''POCollabStatusNOP.modify()''
 +  * ''POCollabStatusOPEN.modify()''
 +  * ''POCollabStatusSAWC.modify()''
 +  * ''POCollabStatusSCOR.modify()''
 +
 +
 +
 +