Difference between revisions of "GX:Backflush Setup and Operation"
(→Report Production) |
(→Report Production) |
||
Line 116: | Line 116: | ||
| ! style="border-style: solid; border-width: 1px" | Mark Partially Whistle Backflushed Items Complete (SoftFail) | | ! style="border-style: solid; border-width: 1px" | Mark Partially Whistle Backflushed Items Complete (SoftFail) | ||
| ! style="border-style: solid; border-width: 1px" | True/False | | ! style="border-style: solid; border-width: 1px" | True/False | ||
− | | ! style="border-style: solid; border-width: 1px" | If enabled and there is less than the total amount of inventory necessary to fully backflush the selected output for the selected order, the system will backflush what it has, mark the output as completely backflushed, and make note of the total shortage on the Backflush by Order report. | + | | ! style="border-style: solid; border-width: 1px" | If enabled and there is less than the total amount of inventory necessary to fully backflush the selected output for the selected order, the system will backflush what it has, mark the output as completely backflushed, and make note of the total shortage on the Backflush by Order report. This value should be synchronized with the corresponding settings in Whistle Server/Whistle GX Studio and Production Reporting Station. |
|- ! style="border-style: solid; border-width: 1px" | |- ! style="border-style: solid; border-width: 1px" | ||
| ! style="border-style: solid; border-width: 1px" | Configuration value for TrxQueue (Whistle Backflush) | | ! style="border-style: solid; border-width: 1px" | Configuration value for TrxQueue (Whistle Backflush) | ||
| ! style="border-style: solid; border-width: 1px" | String | | ! style="border-style: solid; border-width: 1px" | String | ||
− | | ! style="border-style: solid; border-width: 1px" | This is the name of the queue to which Whistle GT will post its backflush transaction requests. The default value of “Global/Main” is appropriate in most situations. This setting should be synchronized with the Default Trx Queue Whistle Server/Orchestrator configuration variable. | + | | ! style="border-style: solid; border-width: 1px" | This is the name of the queue to which Whistle GT will post its backflush transaction requests. The default value of “Global/Main” is appropriate in most situations. This setting should be synchronized with the Default Trx Queue Whistle Server/Orchestrator configuration variable. This value should be synchronized with the corresponding settings in Whistle Server/Whistle GX Studio and Production Reporting Station. |
|- ! style="border-style: solid; border-width: 1px" | |- ! style="border-style: solid; border-width: 1px" | ||
| ! style="border-style: solid; border-width: 1px" | Rollback transaction if insufficient Whistle backflush inventory | | ! style="border-style: solid; border-width: 1px" | Rollback transaction if insufficient Whistle backflush inventory |
Revision as of 17:33, 22 May 2012
Introduction
Whistle's backflush functionality permits inventory to be backflushed from Whistle containers on the production output transaction. This process improves inventory accuracy for backflushable items such as film, shrink-wrap, or cases that are difficult to issue because of their physical characteristics. (A user cannot easily measure how many feet of film were used on a particular BOM or pallet.) These items may or may not be lot tracked.
Configuration
The “Whistle ProdIssue” and “Whistle Main” configuration blocks visible in the Config Tool in Whistle GX Studio must be synchronized with the corresponding Production Issue window settings and System settings in Whistle GT. Only variables/settings that exist in both places can be synchronized. Whistle GT and Whistle Server/Whistle GX Studio store their configurations separately so you must manually synchronize them whenever you change one or both.
The reason this synchronization is required is because Whistle Server's backflush transaction generates Production Issue TEE files to interface with ERP and it needs to know where to put them and what form they must take (eg: Adage 5.6 vs Adage 4.5, etc.) This is implied by the values of the configuration variables.
Whistle Server and Whistle GX Studio configuration variables are set using the Config Tool in Whistle GX Studio. One must have the STUDIO CONFIG GLOBAL privilege in order to access this tool. Whistle GT system and window settings are configured through the Whistle GT user interface and are protected by a password. For more information on how to synchronize these settings, please consult the Setup|Backflush_Setup_and_Operation#Setup|Setup section. Many settings are not identically named across Whistle Server and Whistle GT, but are close enough to be obviously recognizable. As always, if you have trouble finding or understanding a setting, please feel free to call or email support and we will gladly walk you through the process.
After completing the aforementioned synchronization, one must also configure the following components:
Whistle Server/Whistle GX Studio
The configuration variables in this section control how the Whistle Backflush screen in Whistle GX Studio and the backflush transaction backend in the Whistle Server work.
ERP Variables
This configuration variable is set in the “ATF AppConfigReader” block using the Config Tool in Whistle GX Studio.
Setting | Type | Description |
ATF/TEE Path | String | This is the path to your TEE inbound queue. |
This configuration variable is set in the “ERP AppConfigReader” block using the Config Tool in Whistle GX Studio.
Setting | Type | Description |
ERP Type | List | The only value currently supported for backflush functionality is "ErpInfor_5_6". |
Orchestrator Variables
These configuration variables are set in the “Orchestrator Vars” block using the Config Tool in Whistle GX Studio.
Setting | Type | Description |
Database Watch Queues | String | These are the queues that the Whistle Server database queue processes. The default of "{local}/Main,Global/Main" is appropriate for most environments. |
Default Trx Queue | String | This is the queue to which the Whistle Backflush screen (located in the Whistle Office section of Whistle GX Studio) posts when reprocessing pallets that have been suspended. The default of "Global/Main" is appropriate in most circumstances. This should be synchronized with the "Configuration value for TrxQueue (Whistle Backflush)" setting in Whistle GT's Report Production window settings and the "Backflush Queue" setting in Production Reporting Station's .config file. |
Default Error Queue | String | This is the queue to which the Whistle Server moves failed transactions. The default value of "{local}/Error" should be retained in most cases. |
Default Done Queue | String | This is the queue to which the Whistle Server moves successful transactions. The default value of "{local}/Done" should be retained in most cases. |
Report Production
These configuration variables are set in the “Whistle ReportProduction” block using the Config Tool in Whistle GX Studio.
Setting | Type | Description |
BackflushLastMovedFirst | True/False | If true (default), containers in the backflush bins will be relieved in the order in which they were moved into the backflush bins (i.e. first in, first out.) If two containers were moved at the same time, inventory with the most imminent lot expiration date will be relieved first. If false, lot tracked inventory in the backflush bins with the most imminent lot expiration will be relieved first. In cases where items are not lot tracked or where two containers have the same lot expiration, the algorithm will relieve the inventory that was moved into the backflush bin earliest. |
BackflushIssueReasonCode | String | This is the ERP reason code that is inserted into wms_piint_tbl.wms_piint_reason when backflushed items are issued back to production. The default is “BACKFLUSH”. |
SoftFail | True/False | If enabled and there is less than the total amount of inventory necessary to fully backflush the selected output for the selected order, the system will backflush what it has, mark the output as completely backflushed, and make note of the total shortage on the Backflush by Order report. Default value is false. This value should be synchronized with the corresponding values in the Whistle GT report production screen settings and Production Reporting Station .config file. |
Whistle GT
System Settings
This setting is configured through the System Settings screen in Whistle GT. This setting is also documented in the Whistle GT wiki.
Setting | Type | Description |
Do Whistle Backflush | True/False | Set to true to enable backflushing logic and to cause Whistle GT to interface with Whistle Server. The default setting is false. |
Report Production
These settings are configured through the Report Production Window Settings screen in Whistle GT. They are also documented in the Whistle GT wiki.
Setting | Type | Description |
Mark Partially Whistle Backflushed Items Complete (SoftFail) | True/False | If enabled and there is less than the total amount of inventory necessary to fully backflush the selected output for the selected order, the system will backflush what it has, mark the output as completely backflushed, and make note of the total shortage on the Backflush by Order report. This value should be synchronized with the corresponding settings in Whistle Server/Whistle GX Studio and Production Reporting Station. |
Configuration value for TrxQueue (Whistle Backflush) | String | This is the name of the queue to which Whistle GT will post its backflush transaction requests. The default value of “Global/Main” is appropriate in most situations. This setting should be synchronized with the Default Trx Queue Whistle Server/Orchestrator configuration variable. This value should be synchronized with the corresponding settings in Whistle Server/Whistle GX Studio and Production Reporting Station. |
Rollback transaction if insufficient Whistle backflush inventory | True/False | Whistle GT will rollback the report production transaction if there isn't enough inventory to fully backflush. |
Permit User Override of Whistle Backflush Rollback Policy | True/False | If Rollback transaction if insufficient Whistle backflush inventory is enabled and there isn't enough inventory to fully backflush, the user can decide whether or not to rollback the report production transaction. |
Production Reporting Station
These configuration variables are set by editing the .config file installed as part of Production Reporting Station. This setting is also documented in the Production Reporting Station wiki.
Setting | Type | Description |
Backflush Enabled | True/False | Set to true to enable backflushing logic and to cause Production Reporting Station to interface with Whistle Server. The default setting is false. |
Backflush SoftFail Enabled | True/False | If false, Whistle Server will fail the entire transaction when there is insufficient inventory in the backflush bins. If true, Whistle Server will take whatever is available in the case of a shortage and still mark the reported item as successfully backflushed. The default setting is true. |
Backflush Queue | String | This is the name of the queue from which the Whistle Server draws backflush transaction requests. The default value of “Global/Main” is appropriate in most situations. |
Setup
There are several steps to setting up the backflush process.
Step 1: Ensure your database schema is up to date. A Coolearth technical representative will perform this step or will provide you with a custom SQL script that you can run on your database.
Step 2: Designate one or more bins as “backflush bins” by marking the “Is Backflush Bin” attribute using the bin setup screen in Whistle Studio GX. Backflush bins are the source for inventory that is issued back to production whenever eligible production is reported.
Step 3: Designate one or more items as “Backflush if Input” and/or “Backflush if Output.” “Backflush if Input” means “backflush me if I am found to be a component of a reported product where that reported product is marked ‘Backflush if Output.’” “Backflush if Output” means “if I am reported as produced and I am made up of any components that are marked ‘Backflush if Input’ then backflush those components.”
If you configure an item as Whistle backflushable, it is important to refrain from also marking it as backflushable in ERP. The container cross reference maintenance screen does not enforce this. Failure to enforce this requirement may result in backflushable inventory being issued back to production twice, once by Whistle and once by ERP.
Step 4: Synchronize the Whistle Server main configuration variables and the production issue configuration variables with the corresponding system and production issue settings in Whistle GT. Whistle GT and Whistle Server store their configuration separately so you must manually synchronize them whenever you change them.
To refresh the configured environment of your Whistle Server after updating it in the Config Tool you must click the refresh button, located on the ribbon.
Step 5: Enable the Do Whistle Backflush system level setting in Whistle GT.
Process
Whistle Server
The Whistle Server is the main workhorse for the backflush transaction and is responsible for issuing backflushable materials back to production. Here is an approximate flow for the normative case.
Whistle GT
There are several screens in Whistle GT that have Whistle backflush components. These components only operate when the Do Whistle Backflush system setting is enabled. For more information on how these components function see the Whistle GT wiki for the appropriate screens:
Move Container
Whistle prevents stock transfers to backflush bins when any of the lots or items in the container being moved are expired.
Any time a pallet is moved out of a backflush bin, Whistle asks the user if they want to modify the quantity on the pallet.
Report Production
The report production screen performs some verification and preprocessing in advance of the backflush transaction. Here is the approximate flow for the normative case.
Production Issue
The issue screen will warn a user whenever they are attempting to issue a Whistle backflush item to a production order. If the user chooses to issue anyway, a lot history record will indicate that the user chose to manually issue a backflush item.
Production Reporting Station
In an effort to ensure minimal interference with production, Production Reporting Station performs no preprocessing. It simply submits the backflush transaction to the server without verification. Here is the approximate flow for the normative case.
Monitoring
There is one Dashboard report for summarizing and reconciling backflush transactions: Backflush by Order. To run the report, specify the order for which you want the details and click "fetch report."
Columns in the main resultset of the Backflush by Order report:
- Backflushable Component?
- "Yes" indicates that this component is marked backflush on input in the container cross reference. When this says "No" Wsl Issue Qty will normally be 0.0.
- Item
- Item number for this component of the reported output.
- Pack
- Pack for this component of the reported output.
- Description
- Description of this component.
- Standard Qty
- The quantity required to completely produce the order.
- Required Qty
- The nominal theoretical quantity that has been expended to date.
- UOM
- The UOM for the component.
- Adage Issued
- The amount that Adage believes has been issued.
- Wsl Iss Qty
- The amount that Whistle has issued.
- Required Minus Whistle
- If this is a backflushable component and this value is not close to zero when production is complete it means that either TEE is behind in processing issues, the formula for the order changed midway through production, or something else has gone awry. See the Reconciliation|Backflush_Setup_and_Operation#Reconciliation|Reconciliation section for more information.
- Historical Softfail Shortage
- When SoftFail is enabled and there is a quantity greater than zero but less than the quantity required to fully backflush one or more components of a reported output, the system issues whatever is available to production, and marks the output item as having been completely backflushed. Once marked as completely backflushed, the system will not attempt to backflush the components of that reported output again, even if the stock is later replenished. To reconcile this disparity, it is up to the user to manually issue any shortages. The amount that must be issued to reconcile the shortage is stored in this column. The shortage column is used only when soft fail is enabled and does not update to reflect any manually issuing that you might do. It's just there to give you a historical record of what occurred. It is for this reason that we recommend that reconciliation be deferred until after all production has been completed. Note: There may be a small cumulative rounding discrepancy between the Historical Softfail Shortage column and the Required Minus Whistle column.
- Backflush Bins Need
- If soft fail is off and the system detects that there is insufficient inventory in the backflush bins to backflush the components of a given set of reported outputs, the system will mark all of the associated reported outputs as "suspended" until the user moves sufficient inventory to cover the disparity into the backflush bins and submits another backflush transaction using the backflush screen in Whistle GX Studio. Positive numbers in this column denote quantities that you must move into the backflush bins before future production reports can be processed or suspended pallets can be resubmitted on this order.
Here is the relevant query underlying the Backflush by Order report.
SELECT CASE WHEN COALESCE(B.inputbackflush,0) = 0 THEN 'No' ELSE 'Yes' END AS 'Backflushable Component?', A.item AS 'Item', A.pack AS 'Pack', A.description AS 'Description', A.stdQty AS 'Standard Qty', -- how much is required to fill the entire order (= ReqQty if nothing has been reported yet) A.reqQty AS 'Required Qty', -- how much is required given what has been reported A.UOM AS 'UOM', A.AdgIssQty AS 'Adage Issued', -- how much Adage believes has been issued A.Wslissqty AS 'WslIssQty', -- how much Whistle has attempted to issue A.reqqty-wslissqty AS 'Required Minus Whistle', -- how far behind Whistle is in issuing COALESCE(S.Shortage,0.0) AS 'Historical Softfail Shortage', -- how much must be reconciled by manually issue because soft fail was enabled and there was at least some of the required inventory avail at the time COALESCE(C.backflushBinsNeed,0.0) AS 'Backflush Bins Need' FROM wmVwBackFlushByOrder A INNER JOIN wms_contxf_tbl B ON B.gl_cmp_key = A.gl_cmp_key AND B.in_whs_key = A.sf_plant_key AND B.in_item_key = A.item AND B.im_pack_key = A.pack LEFT JOIN ( SELECT V.gl_cmp_key, V.sf_plant_key, V.in_whs_key, V.pm_shop_key, V.in_pkitm_key, V.im_pack_key, COALESCE(V.needed,0.0)-COALESCE(A.avail,0.0) AS backflushBinsNeed FROM ( SELECT gl_cmp_key, sf_plant_key, in_whs_key, pm_shop_key, in_pkitm_key, im_pack_key, SUM(needed) AS needed FROM wmVwBackflushStatus WHERE backflushStatus IN (0,2) GROUP BY gl_cmp_key, sf_plant_key, in_whs_key, pm_shop_key, in_pkitm_key, im_pack_key ) V LEFT JOIN ( SELECT H.gl_cmp_key, H.in_whs_key, D.in_item_key, D.im_pack_key, SUM(D.wms_contdtl_qty) AS avail FROM wms_contdtl_tbl D INNER JOIN wms_conthdr_tbl H ON H.gl_cmp_key = D.gl_cmp_key AND H.in_whs_key = D.in_whs_key AND H.wms_conthdr_key = D.wms_conthdr_key INNER JOIN wms_bin_tbl B ON H.gl_cmp_key = B.gl_cmp_key AND H.in_whs_key = B.in_whs_key AND H.wms_bin_key = B.wms_bin_key WHERE B.isBackflush = 1 AND H.wms_contst_key IN ('ACTIVE','SHIP HOLD') GROUP BY H.gl_cmp_key, H.in_whs_key, D.in_item_key, D.im_pack_key ) A ON V.gl_cmp_key = A.gl_cmp_key AND V.in_whs_key = A.in_whs_key AND V.in_pkitm_key = A.in_item_key AND V.im_pack_key = A.im_pack_key ) C ON C.gl_cmp_key = B.gl_cmp_key AND C.sf_plant_key = B.in_whs_key AND C.pm_shop_key = A.pm_shop_key AND C.in_pkitm_key = A.item AND C.im_pack_key = A.pack LEFT JOIN ( SELECT A.gl_cmp_key, A.in_whs_key, A.in_item_key AS 'Item', A.im_pack_key AS 'Pack', c.description as 'Description', SUM(A.wms_piint_bqty) AS 'Issued', SUM(A.shortage) AS 'Shortage' FROM wms_piint_tbl A INNER JOIN wms_contxf_tbl B ON A.gl_cmp_key = B.gl_cmp_key AND A.in_whs_key = B.in_whs_key AND A.in_item_key = B.in_item_key AND A.im_pack_key = B.im_pack_key INNER JOIN wmItem c on a.gl_cmp_key = c.company AND a.in_whs_key = c.warehouse AND a.in_item_key = c.item and a.im_pack_key = c.Pack WHERE A.gl_cmp_key = @cmp AND A.in_whs_key = @whs AND A.pm_shop_key = @PM AND B.inputBackflush = 1 GROUP BY A.gl_cmp_key, A.in_whs_key, A.in_item_key, A.im_pack_key, c.description ) S ON A.gl_cmp_key = S.gl_cmp_key AND C.in_whs_key = S.in_whs_key AND A.item = S.item AND A.pack = S.pack WHERE A.gl_cmp_key = [your company] AND A.sf_plant_key = [your plant] AND A.pm_shop_key = [your order]
Reconciliation
Whistle GT, Whistle Server/Whistle GX, and Production Reporting Station all have a configuration setting|Backflush_Setup_and_Operation#Configuration|setting that indicates how to handle situations where there is insufficient inventory to fully backflush an order. In Whistle GT this setting is labeled "Mark Partially Backflushed Items Complete (SoftFail)". In Production Reporting Station it is labeled "Backflush SoftFail Enabled". In Whistle GX/Whistle Server it is labeled "SoftFail". It is highly recommended that these settings be synchronized across all products, otherwise reconciliation procedures are not well defined.
Soft Fail Disabled
In the event that the system cannot backflush the backflushable components of all outstanding reported items for an order because of insufficient inventory, it will not backflush any of them. That is, the backflush transaction will rollback and an appropriate entry will be made to the log.
If backflush inventory is replenished to sufficient quantity to permit the next backflush transaction to complete successfully before production is complete, the system will backflush the backflushable components of all previously reported items on the order after the next output is reported. (See Monitoring|Backflush_Setup_and_Operation#Monitoring|Monitoring.)
Suspended Pallets
If backflush inventory is not replenished before production is complete, it is likely that you will have reported pallets that are suspended. In this case, it will be necessary to first bring inventory in the backflush bins up to sufficient quantity to cover all outstanding production reports and second, to reconcile the shortage using the Whistle Backflush screen located under Whistle Office in Whistle GX Studio. This screen unsuspends the pallets and submits another backflush transaction. The quantity you must move into the backflush bins prior to reconciliation is stored in the "Backflush Bins Need" column of the Backflush by Order report.
Soft Fail Enabled
In the event that the system marks a reported output as completely backflushed when in fact there was insufficient backflush inventory to completely meet requirements, depending on the policies of your organization, it may be necessary to manually issue shortages (Historical Softfail Shortage column in Backflush by Order report) to production.
To reconcile, first wait until the order has been completely produced and confirm that all associated TEE files have been processed. Next, run the Backflush by Order Report and make note of any shortages. Following that, locate the inventory you wish to use to remedy the shortage. Finally, issue the amounts of the various items you noted on the Backflush by Order Report to production using Whistle.
NOTE: Manually issuing will not update the shortage column in the Backflush by Order Report as this essentially contains historical data that shows what the backflush transaction actually did. However, you should be able to see that the order has been completely backflushed by examining the Required Minus Whistle column of the Backflush by Order report. The Required Minus Whistle column may indicate a disparity if there are still pending backflush transactions. This is why it is crucial that the order be completely produced before commencing reconciliation.
This process flow describes the reconciliation procedure.
If you find that the shortage column contains values that are all close to 0.0 but Required Minus Whistle is still off, it is probable that you have suspended pallets|Backflush_Setup_and_Operation#Suspended Pallets|suspended pallets.