Question

How to automatically reserve shipments/ shipment lines?

  • 31 May 2023
  • 7 replies
  • 225 views

Userlevel 5
Badge +15

Hello,

 

I would like to automatically reserve all available shipment lines/shipments for shipment orders. I have done this for Customer Orders where I automatically reserve lines via a database task (I have it scheduled to run every 2 minutes), but there doesn’t seem to be any database task that can achieve the reservation for shipments. The reservation button for shipments is a projection action called StartShipmentMainSingle for the ShipmentHandling projection.

 

Since you can’t schedule projection actions as database tasks, how can I achieve this? Any and all advise/input would be greatly appreciated.

 

Thanks,
Bryan


7 replies

Userlevel 5
Badge +9

Hi,

Just for me to understand, you are using the Create Customer Order Reservations batch job and have scheduled this to run frequently? 

Currently we don’t have any batch job like this for Shipment Order, we have this in our product backlog but we have not planned any version as per now. Feedback like this could impact the priority of this.

How to around this for now using the reserve option in shipment I have no obvious idea about.

Best Regards

Fredrik

Userlevel 5
Badge +15

Hi @Fredrik Johansson LKP 

 

For the Customer Order Reservations, yes, we use the database task method “RESERVE_CUSTOMER_ORDER_API.BATCH_RESERVE_ORDERS__”. We have this scheduled to run every 2 minutes and it ends up working fairly well.

I didn’t see any batch jobs for reserving stock for Shipments sadly, and when I did, none of them would actually reserve stock. When you click the “Reserve” option under operations for a preliminary shipment, IFS calls the method StartShipmentMainSingle from the ShipmentHandling projection. It calls this method with the StartEvent parameter as 10.

When you go to create a pick list, it calls the same projection action method, but with the StartEvent parameter of 20 (I’d like to do this as well after all items get reserved). 

I thought instead of automating this with a database task, I could create a workflow that automatically reserves the lines with the StartShimentMainSingle projection action, and then immediately calling the same projection action for the creation of the pick lists. Sadly, this results in this error

This seems to me, like there is an issue with the procedure that is being used, but I could be wrong.

 

Could you please ask around and see if anyone else in your department, or any other IFS Employees know how to tackle this issue? I would greatly appreciate it.

 

This automatic reservation and creation of pick lists is something we desperately need to go live with IFS, which we are in the process of. Is there any way you could please make a note that this functionality is requested so the priority might get impacted?

 

Thanks,
Bryan

Userlevel 5
Badge +9

Hi,

I am not an expert in the workflow logic. The shipment flow that you trigger is doing a commit of its own after each step in order to avoid to big rollback segment in case you have no stop at any step in the shipment flow via the shipment type. Perhaps it is not possible to combine this with workflow. I will see if I can get that clarified.

One thought that came to my mind is that we have a WaDaCo process called PROCESS_SHIPMENT. This WaDaCo process is triggering the next step in the shipment flow. Perhaps this one could be used or at least call the same interface as this one? Via the shipment type you can configure how far the shipment flow should proceed. If you want the pick list to be created as well you can tick off the stop after reserve, if you want the pick list to be printed you can tick off the stop after pick list creation etc..

Best Regards

Fredrik

Userlevel 5
Badge +15

Hi @Fredrik Johansson LKP 

 

Thank you for the information. I will try both of these approaches and see if either will work. We have those settings turned off so the reservation should happen automatically but I can double check.


Thanks,
Bryan

Userlevel 5
Badge +15

Hi @Fredrik Johansson LKP 

 

Did you find a solution for this? I looked into these shipment type settings but nothing changed sadly

 

Thanks,
Bryan

Userlevel 5
Badge +9

Hi,

I just sent a question to the people working with workflow, to get to know the partial commits in the shipment flow is the reason why you get the error above.

I was thinking if you have shipment creation at release for your shipment orders, then you create an event when the status of the shipment order is updated and connect an event action that triggers the reservation of the shipment? I have not tried this out in detail it was just a quick thought that crossed my mind. If you want the pick list to be created as well you can have no stop after the reservation in the shipment type.

Best Regards

Fredrik

Userlevel 5
Badge +15

Hello @Fredrik Johansson LKP 

I have tried what you suggested, I removed all of the stop afters but sadly this did not work either. There is no way to reserve the shipment, or the shipment lines without using that StartShipmentMain projection call from the ShipmentHandling projection. The only alternative is manually reserving the items, which doesn’t help since the reason why Im creating this workflow is to automate that process.

Thanks,
Bryan

Reply