Overview
Why we are doing this???
Sales Order Allocations
summary
A new object "GF Item Allocation Summary" is created to store summarized item allocation by warehouse, by item, and by unit of measure.
Trigger "GF_ItemAllocationTrigger" is added to detect Insert, Update, and Delete operations against the GFERP's Item Allocation object. The system will increase or decrease the quantity count in the summarized table based on the operation type/or the quantity change detected by the trigger.
A nightly job routine is scheduled to recalculate the allocated quantity in the summarized table. The night job will run the batches in the following order:
Empty the summarized table - GF_DeleteSummarizedItemAllocationBatch
Prepare the item allocation table - GF_UpdateItemAllocationBatch
Generate summarized item allocation records - GF_SummarizeItemAllocationBatch
This is the schedulable class:
GF_SOAllocationAndWhseShiptCreationSched
How to Schedule to Routine
To schedule the routine, run this:
String cron = '0 0 0/1 1/1 * ? *'; //hourly GF_SOAllocationAndWhseShiptCreationSched sched = new_GF_SOAllocationAndWhseShiptCreationSched(); String jobId = System.schedule('Sales Order Allocation and Whse. Shipt. Creation Job', cron, sched);
It calls GF_salesOrderAllocationBatch with Batch Size = 1?
To look at all sales orders with Document Status = Open, sort by Order Date.
Then it calls GF_CreateWhseShipmentBatch with Batch Size = 1?
Two fields were created to record errors. (The system will write the error msg to all records if one record fails in the batch)
Allocation_Processing_Error__c
Whse_Shipt_Processing_Error__c