metasfresh-webui-api-legacy
metasfresh-webui-api-legacy copied to clipboard
Shipment disposition does not update when you complete the order
Is this a bug or feature request?
bug
What is the current behavior?
Shipment disposition does not update when you complete the order. So you cannot pick
Which are the steps to reproduce?
-
create and complete a sales order
-
look in reference documents, to go to picking terminal => you cannot see picking terminal because the shipment disposition didn't update
-
go to swing and create/complete a new order => shipment schedule is updated (on another server my other shipment dispo was also updated, but i didn't have errors in workpackage)
found an error in async (only on w101). created task: https://github.com/metasfresh/metasfresh/issues/3520
org.adempiere.exceptions.AdempiereException: NullPointerException
Additional parameters:
I_C_Queue_WorkPackage: X_C_Queue_WorkPackage[C_Queue_WorkPackage_ID=1184974, trxName=null]
IQueueProcessor: ThreadPoolQueueProcessor{name=M_ShipmentSchedule_Update, executor=BlockingThreadPoolExecutor [getPoolSize()=1]}
trxName: <<ThreadInherited>>
at org.adempiere.exceptions.AdempiereException.wrapIfNeeded(AdempiereException.java:87)
at de.metas.async.processor.impl.WorkpackageProcessorTask.invokeProcessorAndHandleException(WorkpackageProcessorTask.java:302)
at de.metas.async.processor.impl.WorkpackageProcessorTask.processWorkpackage(WorkpackageProcessorTask.java:290)
at de.metas.async.processor.impl.WorkpackageProcessorTask.access$000(WorkpackageProcessorTask.java:90)
at de.metas.async.processor.impl.WorkpackageProcessorTask$1.run(WorkpackageProcessorTask.java:173)
at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$2.call(TrxCallableWrappers.java:103)
at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$2.call(TrxCallableWrappers.java:93)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:771)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:683)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:591)
at de.metas.async.processor.impl.WorkpackageProcessorTask.run(WorkpackageProcessorTask.java:163)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at Thread.run(Thread.java:748)
Caused by: NullPointerException
at de.metas.contracts.inoutcandidate.ShipmentScheduleSubscriptionReferenceProvider.provideFor(ShipmentScheduleSubscriptionReferenceProvider.java:56)
at de.metas.inoutcandidate.spi.ShipmentScheduleReferencedLineFactory.createFor(ShipmentScheduleReferencedLineFactory.java:48)
at de.metas.inoutcandidate.api.impl.ShipmentScheduleBL.updateWarehouseId(ShipmentScheduleBL.java:827)
at de.metas.inoutcandidate.api.impl.ShipmentScheduleBL.updateSchedules(ShipmentScheduleBL.java:147)
at de.metas.inoutcandidate.api.impl.ShipmentScheduleUpdater.updateShipmentSchedule(ShipmentScheduleUpdater.java:89)
at de.metas.inoutcandidate.async.UpdateInvalidShipmentSchedulesWorkpackageProcessor.processWorkPackage(UpdateInvalidShipmentSchedulesWorkpackageProcessor.java:74)
at de.metas.async.processor.impl.WorkpackageProcessorTask.invokeProcessorAndHandleException(WorkpackageProcessorTask.java:298)
... 14 more
What is the expected or desired behavior?
no errors, qty to deliver shall update
might be introduced by https://github.com/metasfresh/metasfresh/issues/3245
@metas-lc i handeled the error (issue https://github.com/metasfresh/metasfresh/issues/3520) and cleaned up the respective schipment schedules on w101. this that cleanup in place, i can't reproduce the this issue's problem anymore, so i guess both a solved now.
IT created and completed a sales order => shipment schedule was updated and i can go to picking OK
hi @metas-lc, i pushed another fix. and tried with two sales ordcers on mf15cloudit..aparently the problem is solved now
Results of IT
Tested on webui / swing
- The problem persists, but the reason is different now:
org.adempiere.exceptions.DBForeignKeyConstraintException: Datensatz kann nicht gelöscht werden, weil er von anderen Datensätzen referenziert wird
org.postgresql.util.PSQLException: ERROR: update or delete on table "m_shipmentschedule" violates foreign key constraint "mshipmentschedule_mpickingcand" on table "m_picking_candidate"
Detail: Key (m_shipmentschedule_id)=(1000013) is still referenced from table "m_picking_candidate".
at org.adempiere.exceptions.DBException.wrapIfNeeded(DBException.java:72)
at org.adempiere.exceptions.AdempiereException.wrapIfNeeded(AdempiereException.java:79)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:854)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:683)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:591)
at de.metas.async.processor.impl.WorkpackageProcessorTask.run(WorkpackageProcessorTask.java:163)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at Thread.run(Thread.java:748)
Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "m_shipmentschedule" violates foreign key constraint "mshipmentschedule_mpickingcand" on table "m_picking_candidate"
Detail: Key (m_shipmentschedule_id)=(1000013) is still referenced from table "m_picking_candidate".
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2455)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:288)
at org.postgresql.jdbc.PgConnection.executeTransactionCommand(PgConnection.java:776)
at org.postgresql.jdbc.PgConnection.commit(PgConnection.java:797)
at com.mchange.v2.c3p0.impl.NewProxyConnection.commit(NewProxyConnection.java:1007)
at org.compiere.util.Trx.commitNative(Trx.java:334)
at org.adempiere.ad.trx.api.impl.AbstractTrx.commit(AbstractTrx.java:257)
at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:781)
... 8 more