|
|
Line 9: |
Line 9: |
| * [[GX:Studio User Setup|Studio User Setup]] | | * [[GX:Studio User Setup|Studio User Setup]] |
| | | |
− | ===Administering Whistle Server=== | + | ===Whistle Server=== |
− | | + | |
| | | |
| * [[GX:Whistle Server Setup|Whistle Server Setup]] | | * [[GX:Whistle Server Setup|Whistle Server Setup]] |
− | | + | * [[GX:Backflush Setup and Operation|Backflush Setup and Operation]] |
− | = 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 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 reason for this synchronization is because the backflush transaction in Whistle GX generates Production Issue TEE files to interface with Adage and it needs to know where to put them and what form they must take (eg: Adage 5.6 vs Adage 4.5, etc.)
| + | |
− | | + | |
− | | + | |
− | 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 [#_toc116 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.
| + | |
− | | + | |
− | | + | |
− | After completing the aforementioned synchronization, one must also configure the following components:
| + | |
− | | + | |
− | == Whistle GX Report Production ==
| + | |
− | This configuration variable is set in the “Whistle ReportProduction” block using Config Tool in Whistle GX Studio.
| + | |
− | | + | |
− | | + | |
− | {| style="border-spacing:0;"
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Setting'''
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Type'''
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
| + | |
− | | + | |
− | |-
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| BackflushLastMovedFirst
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| True/False
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| 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.
| + | |
− | | + | |
− | |-
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| BackflushIssueReasonCode
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| String
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| 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”.
| + | |
− | | + | |
− | |}
| + | |
− | == Whistle GT ==
| + | |
− | This setting is configured through the System Settings screen in Whistle GT. This setting is also documented in the Whistle GT wiki.
| + | |
− | | + | |
− | | + | |
− | {| style="border-spacing:0;"
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Setting'''
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Type'''
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
| + | |
− | | + | |
− | |-
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| Do Whistle Backflush
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| True/False
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| Set to true to enable backflushing logic and to cause Whistle GT to interface with Whistle GX Server. The default setting is false.
| + | |
− | | + | |
− | |} | + | |
− | :
| + | |
− | : This setting is configured through the Report Production Window Settings screen in Whistle GT. This setting is also documented in the Whistle GT wiki.
| + | |
− | | + | |
− | | + | |
− | {| style="border-spacing:0;"
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Setting'''
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Type'''
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
| + | |
− | | + | |
− | |-
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| Configuration value for TrxQueue (Whistle Backflush)
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| String
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| 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.
| + | |
− | | + | |
− | |}
| + | |
− | == 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.
| + | |
− | | + | |
− | | + | |
− | {| style="border-spacing:0;"
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| Setting
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| Type
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| Description
| + | |
− | | + | |
− | |-
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| Backflush Enabled
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| True/False
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| 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-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| Backflush SoftFail Enabled
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| True/False
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| 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-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| Backflush Queue
| + | |
− | | style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| String
| + | |
− | | style="border:0.002cm solid #000000;padding:0.097cm;"| 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.
| + | |
− | | + | |
− | |}
| + | |
− | = Setup =
| + | |
− | There are several steps to setting up the backflush process.
| + | |
− | | + | |
− | | + | |
− | 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.
| + | |
− | | + | |
− | | + | |
− | 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:|Image:]]
| + | |
− | | + | |
− | 2.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:|Image:]]
| + | |
− | | + | |
− | 3.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.
| + | |
− | | + | |
− | | + | |
− | 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:|Image:]]
| + | |
− | | + | |
− | | + | |
− | [[Image:|Image:]]
| + | |
− | | + | |
− | | + | |
− | [[Image:|Image:]]
| + | |
− | | + | |
− | | + | |
− | 4.Enable the Do Whistle Backflush system level setting in Whistle GT.
| + | |
− | | + | |
− | | + | |
− | [[Image:|Image:]]
| + | |
− | | + | |
− | = Process =
| + | |
− | == Whistle GX 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.
| + | |
− | | + | |
− | == [[Image:|Image:]] ==
| + | |
− | == 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. I essentially copied this section out of the specification and pushed it around a bit. You can alter or replace it if you want. In the final GX documentation, this will just be a hyperlink to the appropriate GT wiki page.
| + | |
− | | + | |
− | === 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. I made this section up and produced the flowchart. You can use what I have or do something different. In the final GX documentation this will just be a hyperlink to the appropriate GT wiki page.
| + | |
− | | + | |
− | [[Image:|Image:]]
| + | |
− | | + | |
− | === 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. I essentially copied this section out of the specification and pushed it around a bit. You can alter or replace it if you want. In the final GX documentation, this will just be a hyperlink to the appropriate GT wiki page.
| + | |
− | | + | |
− | == 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. I made this section up and produced the flowchart. You can use what I have or do something different. In the final GX documentation this will just be a hyperlink to the appropriate Production Reporting Station wiki page.
| + | |
− | | + | |
− | = [[Image:|Image:]]Reports =
| + | |
− | There are two Dashboard reports for summarizing and reconciling backflush transactions: Backflush by Order and Backflush Order Discrepancy. To run either report, specify the order for which you want the details and click fetch report.
| + | |
− | | + | |
− | == Backflush Order 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 Discrepancy Report.
| + | |
− | | + | |
− | [[Image:|Image:]]
| + | |
− | | + | |
− | | + | |
− | The queries that make up the Backflush Order Discrepancy report are as follows:
| + | |
− | | + | |
− | | + | |
− | /* 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
| + | |
− | | + | |
− | <nowiki>A.gl_cmp_key = [your company] AND </nowiki>
| + | |
− | | + | |
− | A.<nowiki>in_whs_key = [your warehouse] AND </nowiki>
| + | |
− | | + | |
− | A.<nowiki>pm_shop_key = [your order] AND </nowiki>
| + | |
− | | + | |
− | 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
| + | |
− | | + | |
− | <nowiki>A.gl_cmp_key = [your company] AND</nowiki>
| + | |
− | | + | |
− | A.<nowiki>in_whs_key = [your warehouse] AND</nowiki>
| + | |
− | | + | |
− | B.isBackflush = 1
| + | |
− | | + | |
− | == Backflush by Order ==
| + | |
− | : 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 Order 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.
| + | |
− | : At first glance, it may seem like the Backflush Order 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.
| + | |
− | | + | |
− | [[Image:|Image:]]
| + | |
− | | + | |
− | The query that makes up the Backflush by Order report is as follows:
| + | |
− | | + | |
− | | + | |
− | SELECT
| + | |
− | | + | |
− | pm_shop_key AS 'Order',
| + | |
− | | + | |
− | item AS 'Item',
| + | |
− | | + | |
− | pack AS 'Pack',
| + | |
− | | + | |
− | description AS 'Description',
| + | |
− | | + | |
− | stdQty AS 'Standard Qty',
| + | |
− | | + | |
− | reqQty AS 'Required Qty',
| + | |
− | | + | |
− | AdgIssQty AS 'Adage Issued',
| + | |
− | | + | |
− | Wslissqty AS 'WslIssQty',
| + | |
− | | + | |
− | reqqty-wslissqty AS 'Required Minus Whislte'
| + | |
− | | + | |
− | FROM
| + | |
− | | + | |
− | wmVwBackFlushByOrder
| + | |
− | | + | |
− | WHERE
| + | |
− | | + | |
− | <nowiki>gl_cmp_key = [your company] AND </nowiki>
| + | |
− | | + | |
− | sf_plant_key = <nowiki>[your plant] AND</nowiki>
| + | |
− | | + | |
− | pm_shop_key <nowiki>= [your order]</nowiki>
| + | |
− | | + | |
− | = Reconciliation =
| + | |
− | 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.
| + | |
− | | + | |
− | 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 Order 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.
| + | |
− | | + | |
− | NOTE: Manually issuing will not update the Backflush Order 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.
| + | |
− | | + | |
− | This process flow describes the reconciliation procedure.
| + | |
− | | + | |
− | [[Image:|Image:]]<nowiki>[</nowiki>
| + | |