GX:Backflush Setup and Operation

From coolearthwiki
Jump to: navigation, search

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.