Difference between revisions of "GX:Backflush Setup and Operation"

From coolearthwiki
Jump to: navigation, search
(Backflush Historical Discrepancy)
(Suspended Pallets)
 
(47 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
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.
 
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.
  
 +
The primary components in the Whistle backflush architecture are depicted in the following diagram.
 +
 +
[[Image:architecture.png|800px|Image:architecture.png|800px]]
 
<br />
 
<br />
 +
 
= Configuration =
 
= Configuration =
The “Whistle ProdIssue” and “Whistle Main” configuration blocks in Whistle GX 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 GX store their configuration separately so you must manually synchronize them whenever you change one or both.  
+
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 for this synchronization is because the backflush transaction in Whistle GX 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.)
+
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 GX 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 [[GX:Backflush_Setup_and_Operation#Setup|Setup|Backflush_Setup_and_Operation#Setup|Setup]] section. Many settings are not identically named across Whistle GX 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 us at (206) 770-9061 or [mailto:support@coolearth.com email support] and we will gladly walk you through the process.
+
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 [[GX:Backflush_Setup_and_Operation#Setup|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 [http://www.coolearth.com/wordpress/contact/ call] or [mailto:support@coolearth.com email support] and we will gladly walk you through the process.
  
 
After completing the aforementioned synchronization, one must also configure the following components:
 
After completing the aforementioned synchronization, one must also configure the following components:
  
 
<br />
 
<br />
== Whistle GX Report Production ==
+
== Whistle Server/Whistle GX Studio ==
This configuration variable is set in the “Whistle ReportProduction” block using Config Tool in 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.
 +
<br/>
 +
 
 +
=== ERP Variables ===
 +
This configuration variable is set in the “ATF AppConfigReader” block using the Config Tool in Whistle GX Studio.
 +
 
 +
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" width="85%"
 +
| ! style="border-style: solid; border-width: 1px" width="20%" | '''Setting'''
 +
| ! style="border-style: solid; border-width: 1px" width="10%" | '''Type'''
 +
| ! style="border-style: solid; border-width: 1px"| '''Description'''
 +
|- ! style="border-style: solid; border-width: 1px"
 +
| ! style="border-style: solid; border-width: 1px"| ATF/TEE Path
 +
| ! style="border-style: solid; border-width: 1px"| String
 +
| ! style="border-style: solid; border-width: 1px"| 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.
 +
 
 +
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" width="85%"
 +
| ! style="border-style: solid; border-width: 1px" width="20%" | '''Setting'''
 +
| ! style="border-style: solid; border-width: 1px" width="10%" | '''Type'''
 +
| ! style="border-style: solid; border-width: 1px"| '''Description'''
 +
|- ! style="border-style: solid; border-width: 1px"
 +
| ! style="border-style: solid; border-width: 1px"| ERP Type
 +
| ! style="border-style: solid; border-width: 1px"| List
 +
| ! style="border-style: solid; border-width: 1px"| The only value currently supported for backflush functionality is "ErpInfor_5_6".
 +
|}
 +
<br/>
 +
 
 +
=== Orchestrator Variables ===
 +
These configuration variables are set in the “Orchestrator Vars” block using the Config Tool in Whistle GX Studio.
 +
 
 +
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" width="85%"
 +
| ! style="border-style: solid; border-width: 1px" width="20%" | '''Setting'''
 +
| ! style="border-style: solid; border-width: 1px" width="10%" | '''Type'''
 +
| ! style="border-style: solid; border-width: 1px"| '''Description'''
 +
|- ! style="border-style: solid; border-width: 1px"
 +
| ! style="border-style: solid; border-width: 1px"| Database Watch Queues
 +
| ! style="border-style: solid; border-width: 1px"| String
 +
| ! style="border-style: solid; border-width: 1px"| These are the queues that the Whistle Server database queue processes. The default of "{local}/Main,Global/Main" is appropriate for most environments.
 +
|- ! style="border-style: solid; border-width: 1px"
 +
| ! style="border-style: solid; border-width: 1px"| Default Trx Queue
 +
| ! style="border-style: solid; border-width: 1px"| String
 +
| ! style="border-style: solid; border-width: 1px"| 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.
 +
|- ! style="border-style: solid; border-width: 1px"
 +
| ! style="border-style: solid; border-width: 1px"| Default Error Queue
 +
| ! style="border-style: solid; border-width: 1px"| String
 +
| ! style="border-style: solid; border-width: 1px"| This is the queue to which the Whistle Server moves failed transactions. The default value of "{local}/Error" should be retained in most cases.
 +
|- ! style="border-style: solid; border-width: 1px"
 +
| ! style="border-style: solid; border-width: 1px"| Default Done Queue
 +
| ! style="border-style: solid; border-width: 1px"| String
 +
| ! style="border-style: solid; border-width: 1px"| This is the queue to which the Whistle Server moves successful transactions. The default value of "{local}/Done" should be retained in most cases.
 +
|}
 +
<br />
 +
 
 +
=== Report Production ===
 +
These configuration variables are set in the “Whistle ReportProduction” block using the Config Tool in Whistle GX Studio.
  
 
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" width="85%"
 
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" width="85%"
Line 28: Line 88:
 
| ! 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 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”.
 
| ! style="border-style: solid; border-width: 1px"| 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”.
 +
|- ! style="border-style: solid; border-width: 1px"
 +
| ! style="border-style: solid; border-width: 1px"| SoftFail
 +
| ! 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. 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.
 
|}
 
|}
 
<br />
 
<br />
  
 
== Whistle GT ==
 
== 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.
 
This setting is configured through the System Settings screen in Whistle GT. This setting is also documented in the Whistle GT wiki.
  
Line 41: Line 106:
 
| ! style="border-style: solid; border-width: 1px" | Do Whistle Backflush
 
| ! style="border-style: solid; border-width: 1px" | Do Whistle Backflush
 
| ! 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" | Set to true to enable backflushing logic and to cause Whistle GT to interface with Whistle GX Server. The default setting is false.
+
| ! style="border-style: solid; border-width: 1px" | Set to true to enable backflushing logic and to cause Whistle GT to interface with Whistle Server. The default setting is false.
 
|}
 
|}
  
 
<br />
 
<br />
This setting is configured through the Report Production Window Settings screen in Whistle GT. It is also documented in the Whistle GT wiki.
+
=== 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.
  
 
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" width="85%"
 
{| style="border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #000" width="85%"
Line 52: Line 118:
 
| ! style="border-style: solid; border-width: 1px" | '''Description'''
 
| ! style="border-style: solid; border-width: 1px" | '''Description'''
 
|- ! style="border-style: solid; border-width: 1px"
 
|- ! style="border-style: solid; border-width: 1px"
| ! style="border-style: solid; border-width: 1px" | Mark Partially 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 order, the system will backflush what it has, mark the output as completely backflushed, and make note of the total shortage on the Backflush Historical Discrepancy report. The default is 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. 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 from which the Whistle GX Server draws backflush transaction requests. The default value of “Global/Main” is appropriate in most situations.
+
| ! 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 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 if Insufficient Inventory to Fully Backflush
+
| ! style="border-style: solid; border-width: 1px" | Rollback transaction if insufficient Whistle backflush inventory
 
| ! 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" | Whistle GT will rollback the report production transaction if their is insufficient inventory to fully backflush. The default is false.
+
| ! style="border-style: solid; border-width: 1px" | Whistle GT will rollback the report production transaction if there isn't enough inventory to fully backflush.
 
|- ! style="border-style: solid; border-width: 1px"
 
|- ! style="border-style: solid; border-width: 1px"
| ! style="border-style: solid; border-width: 1px" | Permit User Override of Backflush Rollback Policy
+
| ! style="border-style: solid; border-width: 1px" | Permit User Override of Whistle Backflush Rollback Policy
 
| ! 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 Rollback if Insufficient Inventory to Fully Backflush is enabled and there is insufficient inventory to fully backflush, the user will be given the opportunity to choose whether or not to rollback the report production transaction. The default is false.
+
| ! style="border-style: solid; border-width: 1px" | 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.
 
|}
 
|}
 +
 +
NOTE: The "Check Backflush Before Reporting Production" setting is associated with ERP backflush functionality and is unrelated to Whistle backflush functionality. If you intend to use Whistle backflush, the "Check Backflush Before Reporting Production" should be OFF. Turning it on when it has not been properly configured within your organization will cause an error when reporting production.
  
 
<br />
 
<br />
Line 81: Line 149:
 
| ! style="border-style: solid; border-width: 1px" | Backflush Enabled
 
| ! style="border-style: solid; border-width: 1px" | Backflush Enabled
 
| ! 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" | Set to true to enable backflushing logic and to cause Production Reporting Station to interface with Whistle GX Server. The default setting is false.
+
| ! style="border-style: solid; border-width: 1px" | Set to true to enable backflushing logic and to cause Production Reporting Station to interface with Whistle Server. The default setting is false.
 
|- ! style="border-style: solid; border-width: 1px"
 
|- ! style="border-style: solid; border-width: 1px"
 
| ! style="border-style: solid; border-width: 1px" | Backflush SoftFail Enabled
 
| ! style="border-style: solid; border-width: 1px" | Backflush SoftFail Enabled
 
| ! 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 false, Whistle GX server will fail the entire transaction when there is insufficient inventory in the backflush bins. If true, Whistle GX 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.
+
| ! style="border-style: solid; border-width: 1px" | 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 false. This value should be synchronized with the corresponding settings in Whistle Server/Whistle GX Studio and Whistle GT.
 
|- ! style="border-style: solid; border-width: 1px"
 
|- ! style="border-style: solid; border-width: 1px"
 
| ! style="border-style: solid; border-width: 1px" | Backflush Queue
 
| ! style="border-style: solid; border-width: 1px" | Backflush Queue
 
| ! 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 from which the Whistle GX Server draws backflush transaction requests. The default value of “Global/Main” is appropriate in most situations.
+
| ! style="border-style: solid; border-width: 1px" | 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. This value should be synchronized with the corresponding settings in Whistle Server/Whistle GX Studio and Whistle GT.
 
|}
 
|}
 
<br />
 
<br />
Line 112: Line 180:
  
 
<br />
 
<br />
Step 4: Synchronize the Whistle GX main configuration variables and the production issue configuration variables with the corresponding system and production issue settings in Whistle GT. Whistle GT and Whistle GX store their configuration separately so you must manually synchronize them whenever you change them.
+
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.
 
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.
Line 131: Line 199:
 
<br />
 
<br />
  
== Whistle GX Server ==
+
== Whistle Server ==
The Whistle GX 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.
+
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.
  
  
  
[[Image:flows.png|800px|Image:flows.png|800px]]
+
[[Image:BackflushBackend.png|800px|Image:BackflushBackend.png|800px]]
  
 
== Whistle GT ==
 
== Whistle GT ==
Line 166: Line 234:
 
<br />
 
<br />
  
= Reports =
+
= Monitoring =
There are two Dashboard reports for summarizing and reconciling backflush transactions: Backflush by Order and Backflush Historical Discrepancy. To run either report, specify the order for which you want the details and click fetch report.
+
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."
  
<br />
 
== Backflush Historical Discrepancy ==
 
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. To view a list of shortages for an order, view the Backflush Historical Discrepancy Report.
 
 
<br />
 
<br />
  
[[Image:backflush discrepancy 2.png|800px|Image:backflush discrepancy 2.png|800px]]  
+
[[Image:backflush by order 4.png|800px|Image:backflush by order 4.png|800px]]  
  
The queries that make up the Backflush Historical Discrepancy report are as follows:
+
Columns in the main resultset of the Backflush by Order report:
 
+
/* current shortages */
+
SELECT
+
A.in_item_key AS 'Item',
+
A.im_pack_key AS 'Pack',
+
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 <nowiki>= B.in_item_key AND</nowiki>
+
A.im_pack_key = B.im_pack_key
+
WHERE
+
A.gl_cmp_key = [your company] AND
+
A.in_whs_key = [your warehouse] AND
+
A.pm_shop_key = [your order] AND
+
B.inputBackflush = 1
+
GROUP BY
+
A.in_item_key, A.im_pack_key
+
 
+
/* pallets in backflush bin */
+
SELECT
+
A.wms_bin_key as 'Bin',
+
A.wms_conthdr_key as 'Track',
+
A.wms_contdtl_key as 'dtl',
+
A.in_item_key as 'Item',
+
A.im_pack_key as 'Pack',
+
A.wms_contdtl_qty as 'Qty',
+
C.wms_contdtl_uom as 'UOM'
+
FROM wms_bindtlst_tbl A
+
INNER JOIN wms_contdtl_tbl C ON
+
A.gl_cmp_key = C.gl_cmp_key AND
+
A.in_whs_key = C.in_whs_key AND
+
A.wms_conthdr_key = C.wms_conthdr_key AND
+
A.wms_contdtl_key = C.wms_contdtl_key
+
INNER JOIN wms_bin_tbl B ON
+
A.gl_cmp_key = B.gl_cmp_key AND
+
A.in_whs_key = B.in_whs_key AND
+
A.wms_bin_key = B.wms_bin_key
+
WHERE 
+
A.gl_cmp_key = [your company] AND
+
A.in_whs_key = [your warehouse] AND
+
B.isBackflush = 1
+
 
+
<br />
+
  
== Backflush by Order ==
+
;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.
For a running total of quantities backflushed on any given order, run the Backflush by Order report. If there are no shortages (because there was always adequate backflush inventory or SoftFail is disabled) and there are no backflushes in progress, the figures in the Shortage column of the Backflush Historical Discrepancy report should be very close to the corresponding figures in the Required Minus Whistle column of the Backflush by Order report. There may be a small cumulative rounding discrepancy between the two reports.  
+
;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 [[GX:Backflush_Setup_and_Operation#Reconciliation|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 manual 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.
  
At first glance, it may seem like the Backflush Historical Discrepancy report is redundant. However, by comparing the values on that report with the values on the Backflush by Order report, one can get an idea what the total shortage is even before the order has been completely produced. Also, if the order is complete and the reports do not reconcile, it may be possible that there is an outstanding TEE transaction.
+
Here is the relevant query underlying the Backflush by Order report.
  
[[Image:backflush by order 2.png|800px|Image:backflush by order 2.png|800px]]
+
  SELECT
 
+
  CASE WHEN COALESCE(B.inputbackflush,0) = 0 THEN 'No' ELSE 'Yes' END AS 'Backflushable Component?',
The query that makes up the Backflush by Order report is as follows:
+
  A.item AS 'Item',
 
+
  A.pack AS 'Pack',
  SELECT  
+
  A.description AS 'Description',
  CASE WHEN B.inputbackflush IS NULL THEN 'No' ELSE 'Yes' END AS 'Backflushable Component?',
+
  A.stdQty AS 'Standard Qty', -- how much is required to fill the entire order (= ReqQty if nothing has been reported yet)
  pm_shop_key AS 'Order',
+
  A.reqQty AS 'Required Qty', -- how much is required given what has been reported
item AS 'Item',
+
  A.UOM AS 'UOM',
  pack AS 'Pack',
+
A.AdgIssQty AS 'Adage Issued', -- how much Adage believes has been issued
  description AS 'Description',
+
  A.Wslissqty AS 'WslIssQty', -- how much Whistle has attempted to issue
  stdQty AS 'Standard Qty',
+
  A.reqqty-wslissqty AS 'Required Minus Whistle', -- how far behind Whistle is in issuing
  reqQty AS 'Required Qty',
+
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
  AdgIssQty AS 'Adage Issued',
+
  COALESCE(C.backflushBinsNeed,0.0) AS 'Backflush Bins Need' -- the amount that must be moved to the backflush bins to clear new and suspended pallets
  Wslissqty AS 'WslIssQty',
+
FROM wmVwBackFlushByOrder A
  reqqty-wslissqty AS 'Required Minus Whislte'
+
  INNER JOIN wms_contxf_tbl B ON  
FROM
+
  wmVwBackFlushByOrder A
+
  INNER JOIN wms_contxf_tbl B ON
+
 
  B.gl_cmp_key = A.gl_cmp_key AND
 
  B.gl_cmp_key = A.gl_cmp_key AND
 
  B.in_whs_key = A.sf_plant_key AND
 
  B.in_whs_key = A.sf_plant_key AND
 
  B.in_item_key = A.item AND
 
  B.in_item_key = A.item AND
 
  B.im_pack_key = A.pack
 
  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  
 
  WHERE  
  A.gl_cmp_key = [your company] AND
+
  A.gl_cmp_key = [your company] AND  
  A.sf_plant_key = [your plant] AND
+
  A.sf_plant_key = [your plant] AND
  A.pm_shop_key = [your order]
+
  A.pm_shop_key = [your order]
  
 
<br />
 
<br />
  
 
= Reconciliation =
 
= Reconciliation =
Both Whistle GT and Production Reporting Station have configuration [[GX:Backflush_Setup_and_Operation#Configuration|settings|Backflush_Setup_and_Operation#Configuration|settings]] 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". It is highly recommended that these settings be synchronized across the two products, otherwise reconciliation procedures are not well defined.
+
Whistle GT, Whistle Server/Whistle GX, and Production Reporting Station all have a configuration [[GX:Backflush_Setup_and_Operation#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 ==
 
== 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.
 
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.
+
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 [[GX:Backflush_Setup_and_Operation#Monitoring|Monitoring|Backflush_Setup_and_Operation#Monitoring|Monitoring]].)
  
If backflush inventory is not replenished before production is complete, it will be necessary to reconcile the shortage by manually issuing the remaining quantity of each backflushable item back to production. Do this by running the Backflush by Order report and issuing the amount in the Required Minus Whistle column for each backflushable item listed.
+
=== 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. You will need SD BACKFLUSH privilege to access the screen. The Whistle Backflush screen allows the user to unsuspend the pallets and submit 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.
 +
 
 +
[[Image:backflushScreen2.png|960px|Image:backflushScreen2.png|960px]]
  
 
== Soft Fail Enabled ==
 
== 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 to production. This situation should only ever occur if SoftFail is enabled in Production Reporting Station or if the user chose to disregard a warning about insufficient inventory while reporting production in Whistle.
+
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 Historical Discrepancy Report and make note of any shortages. Following that, locate the inventory you wish to use to alleviate the shortage. Finally, issue the amounts of the various items you noted on the Backflush Order Discrepancy Report to production using Whistle.
+
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 Backflush Historical Discrepancy Report as this is essentially a historical report 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 numbers on the Backflush by Order report may indicate that there are still shortages if there are still pending backflush transactions. This is why it is crucial that the order be completely produced before commencing reconciliation.
+
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.
 
This process flow describes the reconciliation procedure.
  
[[Image:reconciliation.png|600px|Image:reconciliation.png|600px]]
+
[[Image:reconciliation2.png|600px|Image:reconciliation2.png|600px]]
 +
 
 +
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 [[GX:Backflush_Setup_and_Operation#Suspended Pallets|suspended pallets|Backflush_Setup_and_Operation#Suspended Pallets|suspended pallets]].
 +
 
 +
=Correcting Error Conditions=
 +
In the event that a backflush transaction fails for a correctable reason, the user may at his or her option correct the problem and resubmit transactions in the error queue using the [http://wiki.coolearth.com/gx/index.php?title=Studio:Whistle_Transaction_Manager Whistle Transaction Manager]. This tool also permits viewing the error log and summary information associated with the transaction.

Latest revision as of 15:43, 1 June 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.

The primary components in the Whistle backflush architecture are depicted in the following diagram.

Image:architecture.png

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 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.

NOTE: The "Check Backflush Before Reporting Production" setting is associated with ERP backflush functionality and is unrelated to Whistle backflush functionality. If you intend to use Whistle backflush, the "Check Backflush Before Reporting Production" should be OFF. Turning it on when it has not been properly configured within your organization will cause an error when reporting production.


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 false. This value should be synchronized with the corresponding settings in Whistle Server/Whistle GX Studio and Whistle GT.
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. This value should be synchronized with the corresponding settings in Whistle Server/Whistle GX Studio and Whistle GT.


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.

Image:bin setup.png


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.

Image:contxf setup.png


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.

Image:gt system settings page 1.png

Image:gt prod issue screen settings.png

Image:config tool marked.png


Step 5: Enable the Do Whistle Backflush system level setting in Whistle GT.

Image:gt system settings.png

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.


Image:BackflushBackend.png

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.

Image:report production.png


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.

Image:production reporting station.png


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."


Image:backflush by order 4.png

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 manual 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'	-- the amount that must be moved to the backflush bins to clear new and suspended pallets
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. You will need SD BACKFLUSH privilege to access the screen. The Whistle Backflush screen allows the user to unsuspend the pallets and submit 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.

Image:backflushScreen2.png

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.

Image:reconciliation2.png

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.

Correcting Error Conditions

In the event that a backflush transaction fails for a correctable reason, the user may at his or her option correct the problem and resubmit transactions in the error queue using the Whistle Transaction Manager. This tool also permits viewing the error log and summary information associated with the transaction.