Understanding the Algorithm for Allocation Proposals

When the Generate Allocation and Delivery Proposals program is run to generate allocation proposals, the algorithm:

  1. Extracts sales order detail lines from the F4211 table and stores them in the FCW31 table according to the following criteria:

    • The data selection is set for fields from the F0101, F4211, Item Master (F4101), Additional Style Item Information (FCW61), and Item Structure Definition (FCW02) tables.

    • The processing options on the Status tab are set to filter by next statuses.

    • The processing options on the Dates tab are set to filter by dates.

    • The Minimum Quantity Ordered processing option on the Process tab is set to specify a quantity.

      Note: If the sales order detail lines contain a quantity ordered that is smaller than the value in the Minimum Quantity Ordered processing option, then the program ignores the sales order detail lines.

      The system sets the In Warehouse flag to lock sales orders when the sales orders are extracted for allocations processing.

  2. Sorts the extracted sales order detail lines according to the priority rules as identified by the Priority Commitment Rule processing option on the Priority Rule tab.

    Note: Priority rules are defined in the Commitment Rules for Style Item program prior to running the Generate Allocation and Delivery Proposals program.
  3. Determines the proposed quantity using one of the following calculations:

    • Calculates the proposed quantity based on the value in the Sprinkling Rate processing option on the Conditions tab.

      For all extracted sales order detail lines, the quantity ordered is multiplied by the sprinkling rate percentage to calculate the proposed quantity.

      In the next calculations, the system forgets the initial quantity ordered on the sales order and deals only with the result of this multiplication, which is called the proposed quantity.

    • Calculates the proposed quantity based on fair share processing when the value in the Fair Share processing option on the Conditions tab is set to Y.

    The system calculates the sprinkling rate for every child item as the ratio between the stock that can be allocated (available stock) and the total open quantity in all extracted sales order detail lines. Fair share sprinkling rate = (Total available quantity) ÷ (Total open quantity)

    The Generate Allocation and Delivery Proposals program calls the Calculate Fair Share for Proposals program to calculate the fair share for an item when the Fair Share processing option on the Conditions tab of the Generate Allocation and Delivery Proposals program is set to a value of Y. After the insertion of proposal lines in the FCW31 table and before launching the Calculate Allocation and Delivery Proposals program, the Calculate Fair Share for Proposals program adds all quantities to be allocated by item and stores the calculated value in the FCW105 table. The Calculate Allocation and Delivery Proposals program then uses the value to calculate the fair share.

    The open quantity is multiplied by the sprinkling rate for every extracted sales order detail line to calculate the proposed quantity.

    If the calculated proposed quantity is less than the value in the Minimum Qty per Child Item processing option on the Conditions tab, then the proposed quantity is equal to either the value in the Minimum Qty per Child Item processing option (if the last one is smaller than the open quantity), or the open quantity.

    Note: If you enable both fair share and sprinkling rate processing, then the system performs calculations using fair share and ignores the sprinkling rate.
  4. Determines retained quantities.

    For every sales order detail line, the retained or allocated quantity represents the minimum between the available quantity and proposed quantity.

  5. Applies the For Order Line processing option on the Satisfaction Rate tab using size weights.

  6. Applies the For Level 4 Item processing option on the Satisfaction Rate tab with no size weighting.

    Note: Size weight is only applicable when the For Order Line processing option on the Satisfaction Rate tab is set. Size weight is not applicable to processing options For Level 0 Item through For Level 4 Item.
  7. Applies the For Level 3 Item processing option on the Satisfaction Rate tab with no size weighting.

  8. Applies the For Level 2 Item processing option on the Satisfaction Rate tab with no size weighting.

  9. Applies the For Level 1 Item processing option on the Satisfaction Rate tab with no size weighting.

  10. Applies the For Level 0 Item processing option on the Satisfaction Rate tab with no size weighting.

  11. Applies the following processing for every order if the Top/Bottom Management (Y/N) processing option on the Top/Bottom Processing tab is set to Y.

    1. Groups all extracted sales order detail lines into families according to the value of one or two specific item category codes. The aliases of these category codes are set up in the Item Category Alias Grouping Code 1 and Item Category Alias Grouping Code 2 processing options on the Top/Bottom Processing tab.

      As a result of this step, the sales order detail lines are sorted into one or several families.

      Top or Bottom is specified in the Special Handling field of the item category code defined in the Item Category Alias Top/Bottom processing option on the Top/Bottom Processing tab. If the value of the Special Handling field is equal to 1 or T, then the item is considered to be Top. If the value of the Special Handling field is equal to 2 or B, then the item is considered to be Bottom.

    2. Calculates the total retained quantity of the Top (TQR) and Bottom (BQR) for every family.

    3. Calculates the total proposed quantity of the Top (TQP) and Bottom (BQP) for every family.

      If TQP or TQR equals zero, then it does nothing; otherwise, it compares the TQR/TQP and BQR/BQP fill rates.

      If the Top fill rate (TQR/TQP) is smaller than the Bottom fill rate, then all Top items are retained for the allocation.

      If BQR is smaller than BQP x (TQR / TQP + (Allowed %) / 100), where Allowed % is the value in the Tolerance Limit (in %) processing option on the Top/Bottom Processing tab, then all Bottom items are retained for the allocation as well.

      Otherwise, only the total quantity BQP x (TQR / TQP + (Allowed %) / 100) of Bottom items is retained. To obtain this total value, for every Bottom item line the system adjusts the retained quantity by the factor BQP x (TQR / TQP + (Allowed %) / 100) / ∑BQR.

      If the Bottom fill rate (BQR / BQP) is smaller than the Top fill rate, then all Bottom items are retained for the allocation.

      If TQR is smaller than TQP x (BQR / BQP + (Allowed %) / 100), where Allowed % is the value in the Tolerance Limit (in %) processing option on the Top/Bottom Processing tab, then all Top items are retained for the allocation as well.

      Otherwise, only the total quantity TQP x (BQR / BQP + (Allowed %) / 100) of Top items is retained. To obtain this total value, for every Top item line the system adjusts the retained quantity by the factor TQP x (BQR / BQP + (Allowed %) / 100) / ∑TQR.

    4. Adjusts the retained quantities if necessary using the Tolerance Limit (in %) processing option on the Top/Bottom Processing tab of the Generate Allocation and Delivery Proposals program.

  12. Calculates the satisfaction rate for the Item Category Code Alias 1,Item Category Code Alias 2, and Group Satisfaction Rate processing options on the Satisfaction Rate tab.

    Note: The Item Category Code Alias 1,Item Category Code Alias 2, and Group Satisfaction Rate processing options on the Satisfaction Rate tab are referred to as Item Group Constraint.

    Groups all extracted sales order lines into item groups based on the value of one or two specific item category codes. The aliases of the category codes are set up in the Item Category Alias Grouping Code 1 and Item Category Alias Grouping Code 2 processing options on the Top/Bottom Processing tab.

    As a result of this step, the sales order lines are sorted into one or several item groups.

    For every item group:

    • The system calculates the ratio between the total retained quantity and the total proposed quantity.

    • If this ratio is less than the value set in the Group Satisfaction Rate processing option on the Satisfaction Rate tab, then the retained quantity is set to zero for all items within this group.

      Caution: If the Item Group Constraint processing options on the Satisfaction Rate tab are activated and the Top/Bottom Management (Y/N) processing option on the Top/Bottom Processing tab is set to a value of Y, then all items within one Top/Bottom family should belong to the same item group to obtain consistent results. The JD Edwards EnterpriseOne Apparel Management system does not verify this condition. The user is responsible for ensuring this consistency.
  13. Calculates the satisfaction rate for the sales order based on the Satisfaction Rate processing option on the Process tab.

    Depending on the value of the Satisfaction Rate based on processing option on the Process tab, the satisfaction rate is calculated for every sales order based on either:

    • All order detail lines for the sales order.

    • Only on extracted lines, which are sales order detail lines filtered via the data selection and the processing options on the Status and Dates tabs.

    The system compares the satisfaction rate to the ratio between the total retained quantity and the total proposed quantity.

  14. Applies the Minimum Quantity Allocated and Maximum Quantity Allocated processing options on the Process tab.

    Compare the total retained quantity of this order with the range in the processing options. If the total retained quantity is not in the range of the processing options, then the order is not retained for the allocation.

  15. Performs automatic validation based on the setting of the Create Automatic Validation processing option on the Validations tab of the Generate Allocation and Delivery Proposals program.

    If the Create Automatic Validation processing option is set to a value of 1, then the program validates all lines retained for the allocation. The validated lines are hard committed to the sales order, or committed to Other SO1 or Other SO2 based on the processing option setting on the Validations tab.

    Note: The Generate Allocation and Delivery Proposals program uses the same business function for validation as the Validate or Cancel Allocation Proposals program.

    If the Create Automatic Validation processing option is blank, then no automatic validation is required and the order lines retained for the allocation are neither soft committed nor hard committed. The system adds the item quantities to the values in the Quantity On Other 1 field in the F41021 table.