Oracle Work in Process – Backflush Processing Table of Contents 1. OVERVIEW ............................................................................................................................................................................................................................... 1 2. WHAT IS BACKFLUSHING? ................................................................................................................................................................................................... 1 3. WHEN DO BACKFLUSH TRANSACTIONS OCCUR? ............................................................................................................................................................ 1 4. PROCESS 1 : COMPLETE ASSEMBLIES AT OPERATION - MOVE TXN FORM ............................................................................................................... 2 5. PROCESS 2 : MOVE & COMPLETE ASSEMBLIES INTO INV .............................................................................................................................................. 4 6. PROCESS 3 : COMPLETING ASSEMBLIES – COMPLETION TRANSACTION FORM ....................................................................................................... 6 7. PROCESS 4 : RECEIVE ASSEMBLIES FROM OSP OPETRATION : PURCHASING…......................................................................................................... 7 8. PROCESS 5 : WORK ORDER-LESS COMPLETIONS WINDOW........................................................................................................................................... 9 9. PROCESS 6 : OPEN MOVE TRANSACTION INTERFACE : OVERVIEW ...........................................................................................................................10 10. PROCESS 7 : INVENTORY TRANSACTION INTERFACE : OVERVIEW ........................................................................................................................11 11. PROCESSING MODES : ONLINE AND BACKGROUND PROCESSING (INCLUDING INTERFACE PROCESSING IN DETAIL) ................................11 12. BACKFLUSH PROCESSING (TYPES, RULES, GENERAL POINTS, LOT & SERIAL BACKFLUSH, RESOURCES, MISC POINTS) .............................20 13. HOW TO VIEW BACKFLUSH TRANSACTIONS ...............................................................................................................................................................24 14. HOW HAS BACKFLUSH FUNCTIONALITY CHANGED OVER DIFFERENT APPLICATION RELEASES? ..................................................................29 15. COMMON BACKFLUSH ISSUES AND HOW TO CORRECT THEM.................................................................................................................................31 1. OVERVIEW The objectives of this white paper are to consolidate and clarify information about backflushing and related issues. There is no existing document which collates all the relevant topics together. This white paper will aim to fulfill this need and discuss the following in detail : To explain what backflush transactions do To explain how backflushing works in Move and Completion transactions To explain the differences between Online processing and Background processing and relate these to backflush transactions To understand any differences in the behaviour of backflush transactions in different application releases. This will also discuss any key patches that are required. To explain what happens when backflush transactions fail and discuss how to correct them 2. WHAT IS BACKFLUSHING? In the Bills of Material module, when a bill is created for any assembly, subassembly or a finished good, the component supply type for each component in the bill has to be defined. These supply types are push, operation pull, assembly pull, Bulk, Supplier and phantom. This Bills of material is used in Work in Process module for manufacturing the assembly/subassembly/finished good. If the supply type of a component is Push, the components have to be manually issued to the shop floor for the manufacturing process. Assembly Pull and Operation Pull components are supplied in a different way. When a particular operation or an assembly is completed during manufacturing, ie during move transactions or completion transactions, the system automatically BACKFLUSHES components from the supply subinventory and locator. No manual issuing of components is required. The term ‘backflushes’ in this case refers to the process of automatically REDUCING the component quantity from the subinventory-locator on hand quantity when any assembly or an operation is completed in the WIP module manufacturing process. At the same time as reducing the inventory for the component, the system will issue the component to the work order . 3. WHEN DO BACKFLUSH TRANSACTIONS OCCUR? Backflush transactions 'pull' components with Operation Pull and Assembly Pull supply types from inventory onto jobs and repetitive schedules. Backflush transactions can be launched by the following six different processes : 1. Completing assemblies at operations using the Move Transactions window 2. Moving and completing assemblies into inventory using the Move Transactions window 3. Completing assemblies into inventory using the Completion Transactions window 4. Receiving assemblies from an outside processing operation using the Oracle Purchasing, Enter Receipts window. 5. Move transactions imported through the Open Move Transaction Interface can also create backflush transactions 6. Transactions imported through the Oracle Inventory, Transactions Interface can also create backflush transactions. Inventory Each of the above six processes will be discussed in detail. It is possible to reverse backflush transactions and automatically return backflushed components back to inventory. For example, pull components that are backflushed as you move assemblies to the next intraoperation step in a routing are automatically returned to inventory if you move assemblies to a previous step in the routing or if you return completed assemblies back from inventory to the job. We will now discuss the different processes that lead to backflush transactions. 4. PROCESS 1 : COMPLETE ASSEMBLIES AT OPERATION - MOVE TXN FORM Navigation : Work in Process>Move Transactions>Move Transactions Form Name : WIPTXSFM When move transactions are performed from the Move Transaction Form to COMPLETE assemblies at an operation, then operation pull backflush transactions automatically take place for all components with a supply type of ‘Operation Pull’ that are defined at that operation. This means that that the inventory for the components is pulled into that operation. 2 The assemblies are completed at the OPERATION stage in the Move Transaction Form when : The move transaction type is MOVE Moving assemblies from the Queue or Run intraoperation step of an operation to the To Move, Scrap or Reject intraoperation steps of the same operation Moving assemblies from the Queue or Run intraoperation steps of an operation to the To Move, Scrap or Reject intraoperation steps of a subsequent operation Assemblies are not completed at Operations by: Moving assemblies between the To Move, Scrap, and Reject intraoperation steps of the same operation Moving assemblies from the To Move, Scrap, or Reject intraoperation steps of the one operation to the Queue or Run intraoperation step of a subsequent operation 3 So – what happens when an assembly is completed at the operation stage as above? Backflush of components takes place (using operation pull backflush transactions) and resources are charged. See the following sections for a detailed explanation : Backflushing Process (section 11 : operation pull backflush transactions – see below) Charging of Resources (section 11: see below) 5. PROCESS 2 : MOVE & COMPLETE ASSEMBLIES INTO INV Navigation : Work in Process>Move Transactions>Move Transactions Form Name : WIPTXSFM Backflush transactions also take place when an ‘ASSEMBLY MOVE COMPLETION TRANSACTION’ takes place. This is a transaction performed from the Move Transaction Form. Assembly move completion transactions MOVE assemblies from the current operation to the To Move intraoperation step of the last operation then COMPLETE them into inventory. Assemblies are completed into the default completion subinventory and locator specified for the discrete job or repetitive line/assembly. 4 The transaction type used for this is ‘Complete’. When completing assemblies, information from the last operation of the job or schedule is automatically defaulted into the operation To fields - Sequence, Code, and Department - and the To Move intraoperation step is defaulted for the To Step. The other inputs required are : UOM, quantity, date , From Operation Sequence and From Intraoperation Step. So – what happens when an assembly is completed into inventory as above? Backflush of components takes place and resources are charged. See the following sections for a detailed explanation : Backflushing Process (section 11:see below) . It should be noted that in this case TWO different types of backflush transaction take place. Firstly, when the assembly is moved to the ‘To Move’ step of the last operation – this initiates the backflush of any components with the supply type of ‘Operation Pull’ . Then when the assembly is completed into inventory, the backflush of all ‘Assembly Pull’ components takes place. (see the backflush processing section below). 5 Charging of Resources (see below) 6. PROCESS 3 : COMPLETING ASSEMBLIES - COMPLETION TXN FORM Navigation : Work in Process>Material Transactions>Completion Transactions Form Name : WIPTXCMP The next place where Backflush Transactions originate from is the Completion Transaction Form. Backflushing takes place when you complete assemblies into inventory from the Completion Transaction Form. The transaction type required is ‘WIP Assembly Completion’ 6 This form allows the user to specify the subinventory and locator into which the completed assemblies will be placed in inventory. These fields are defaulted from the wip parameters but can be overwritten. So – what happens when an assembly is completed into inventory as above? Backflush of components takes place and resources are charged. See the following sections for a detailed explanation : Backflushing Process (section 11: see below) . If you are completing assemblies that have Assembly Pull components, the system pulls (backflushes) these components from the supply subinventory/locator assigned to the component requirement. (or uses system defaults for subiventory/locator) Charging of Resources (see below) 7. PROCESS 4 : RECEIVE ASSEMBLIES FROM OSP OPERATION : PURCHASING Backflush transactions are also initiated when assemblies are received from a supplier for an outside processing operation using the Enter Receipts window. Navigation : Purchasing Super User> Receiving> Receipts Form Name : RCVRCERC 7 The receipt of the assembly for the outside processing operation will only initiate a backflush transaction if the following conditions are met : The receipt transaction must be linked to an OSP resource. The OSP resource must have an autocharge type of PO Move. The outside processing operation has components of supply type ‘Operation Pull’. Note the following points about the activities that are initiated by the receipt of the assemblies : Since the autocharge type for the OSP resource is PO Move, the system will automatically perform a Move Transaction to complete the assemblies at the OSP Operation. (by placing a record in the Open Move Transaction table for processing). The move transaction completes the assemblies at the OSP operation by moving assemblies from the Queue or Run intraoperation step of an operation to the To Move, Scrap or Reject intraoperation steps of the same operation or a subsequent operation. 8 This will then trigger the backflush of the ‘Operation Pull’ components defined for the OSP Operation. If the OSP Operation is the last operation on the job, then a completion transaction will also be automatically performed. This means that the assemblies would be completed into inventory. This therefore means that any ‘Assembly Pull’ components defined for the assembly would be backflushed at this stage. For more details of the actual Backflush transactions, see the section below on Backflush Processing (section 11). 8. PROCESS 5 : WORK ORDER-LESS COMPLETIONS WINDOW Navigation : Work in Process> Material Transactions>Work Order-less completions Form Name : WIPTXCFM 9 The following actions can be performed from this form – all these actions initiate backflushing of components : Assemblies can be completed in this window without having the need for a job or a repetitive schedule. Used to complete assemblies for Flow Schedules from Flow Manufacturing. Used to complete assemblies for Flow Schedules which are created to replenish Production Kanbans. Used to complete scheduled and unscheduled assemblies When assemblies are completed into inventory using this form, components are backflushed. Note the following about backflushing when it originates from Work orderless completions : In this case, (and only in this case) - the following supply types are backflushed : Assembly Pull Operation Pull PUSH Phantom Components (the bills for phantoms are exploded and the phantoms then backflushed) The supply types of Bulk and Supplier are NOT backflushed. The backflush window displays for component information for supply type Push and for Pull components requiring additional information, such as lot or serial number. You can change the transaction quantity when the Work in Process parameter, ‘Allow Quantity Changes During Backflush’, is enabled. 9. PROCESS 6 : OPEN MOVE TRANSACTION INTERFACE - OVERVIEW Name of Interface : Open Move Transaction Interface Table used : WIP_MOVE_TXN_INTERFACE 10 The Open Move Transansaction interface can be used to process Move and Complete Transactions and therefore initiate Backflush Transactions. This topic will be discussed in detail in the ‘Background Processing’ Section later. 10. PROCESS 7 : INVENTORY TRANSACTION INTERFACE - OVERVIEW Name of Interface : Inventory Transaction Interface Table used : MTL_TRANSACTIONS_INTERFACE The Inventory Transaction Interface can be used to process Complete Transactions and therefore initiate Backflush Transactions. This topic will be discussed in detail in the ‘Background Processing’ Section later. 11. PROCESSING MODES – ONLINE AND BACKGROUND PROCESSING : Now that the different methods of initiating Backflush transactions have been discussed, we need to consider the different processing modes. There are two main processing modes : Online Processing Background Processing To enable Online or Background processing is dependent on setting certain profile options. The following profiles can be set to enable Online or Background Processing (please note : some of these profiles also enable concurrent processing - when you save a move transaction, a concurrent process to process the material part of the move transaction is spawned and control is returned to you immediately) a. TP:INV Transaction processing mode (can override the rest of the profile options) b. TP:WIP Completion Material Processing (Form : Completion Transactions Form. Controls processing mode for MATERIAL transactions related to completion transactions from this form) c. TP:WIP Completion Transactions Form (Form : Completion Transactions Form. Controls processing mode for completion transactions in this form) 11 d. TP:WIP Shop Floor Material Processing (Form :Move Transactions Form. Controls processing mode for MATERIAL transactions related to move transactions from this form) e.TP:WIP Move Transactions Form (Form : Move Transactions Form. Controls processing mode for Move transactions in this form) f. TP : WIP: Work Order-less Completion Form (Form : Work Order-less Completions Form. Controls processing mode for backflush transactions in this form) 11. 1 : ONLINE PROCESSING : The following points need to be noted about online processing : When you save a completion transaction or move transaction, it is processed while you wait and control is returned once transaction processing is completed. Serial controlled and lot + serial controlled components can ONLY be processed in ONLINE mode. If the lot selection method is manual, a lot controlled component cannot be backflushed unless the processing mode is online. Online processing does not utilise the interfaces. The transactions are processed as you wait. 11. 2 : BACKGROUND PROCESSING : The following points need to be noted about background processing : When you save a move or completion transaction, control is returned to you immediately. These transactions are then processed on a periodic basis in the ‘background’. Background processing of Move and Complete transactions utilizes the interfaces (open move transaction interface and inventory transaction interface). If Move and Completion Transactions are performed from the Move Transactions Window and the processing mode is ‘Background’ – the WIP_MOVE_TRANSACTION_INTERFACE (also called open move transaction interface) is used to periodically process the transactions. The records are inserted into this interface and then processed by a 12 program which picks up the records from the interface (see the section below) If Completion Transactions are performed from the Completion Transactions Window and the processing mode is ‘Background’ – the MTL_TRANSACTIONS_INTERFACE (also called inventory transaction interface) is used to periodically process the transactions. The records are inserted into this interface and then processed by a program which picks up the records from the interface (see the section below). If Completion Transactions are performed from the Work Order-less Completions Window and the processing mode is ‘Background’ – the MTL_TRANSACTIONS_INTERFACE is used to periodically process the transactions. The records are inserted into this interface and then processed by a program which picks up the records from the interface (see the section below) The MTL_TRANSACTIONS_INTERFACE and WIP_MOVE_TRANSACTION_INTERFACE are also populated directly (i.e – not just from the forms). In this case, scripts are used to populate the interfaces or the interfaces are populated automatically from other systems. Whenever an interface is used to process a transaction, the processing mode is automatically background irrespective of any of the settings of the profile options above. This means that the transaction will be processed periodically by the use of a program (transaction worker or manager). Therefore, it is important to ensure that all criteria required for background processing are met – see next two points). Serial controlled and lot + serial controlled components cannot be backflushed using background processing. An error will occur which will be discussed in the issues section below. If the lot selection method is manual, a lot controlled component cannot be backflushed in background mode. 11.3 : BACKGROUND PROCESSING : OPEN MOVE TRANSACTION INTERFACE Name of Interface : Open Move Transaction Interface Table used : WIP_MOVE_TXN_INTERFACE This interface is used in the following ways : 13 Populated directly to process move and complete transactions. It is populated using scripts or populated from other systems. Move transaction records are automatically inserted into the Open Move transaction Interface when receipts that involve PO Move resources are entered in Oracle Purchasing. Populated when Move and Complete transactions are initiated by the Move Transaction Form AND the transaction processing mode is Background (due to the settings of the profile options) The WIP_MOVE_TXN_INTERFACE is the Open Move Interface table (or Wip Move Transaction interface or WMTI). It contains information about the shop floor Move transactions that need to be processed. Each row contains the transaction date, the job or repetitive schedule in which you are moving assemblies, the primary unit of measure, the actual unit of measure, transaction quantities, the foreign keys necessary for WIP to process the Move transaction as well as information about the From and To operation sequence numbers, operation codes, and intraoperation steps. This table supports all shop floor Move transactions including transactions loaded from other systems, such as bar code readers, factory floor machines (e.g cell controllers) and other manufacturing execution and quality control systems. The following concurrent program processes the records in the WIP_MOVE_TXN_INTERFACE table : Also known as : Wip Move Transaction Manager Internal Name : WICTMS The Open Move Transaction Interface allows you to perform the following types of transaction : Move assemblies between operations and intraoperation steps (Transaction Type = 1 : Move. This is the value of the Transaction_type field in the WIP_MOVE_TXN_INTERFACE table to designate the type of transaction ) Move assemblies from an operation and complete them into inventory with a single transaction (Transaction Type = 2 : Move and Complete) Overcomplete a quantity greater then the job or schedule if overcompletions are available. 14 Scrap assemblies Return assemblies. (Transaction Type = 3 : Return) The following diagram explains the functionality of the Open Move Transaction Interface : 15 Some points to note from the above diagram : The wip move transaction manager, during the backflush setup stage, inserts records for backflush components into the MTTT (MTL_MATERIAL_TRANSACTIONS_TEMP ) table after validations have passed successfully. This is the Pending Transactions table for material transactions. The MMTT table is the gateway for all inventory transactions. Data for completion transactions is also stored in the MMTT table 16 Successfully processed material transactions for backflush components and for completed assemblies are held in the MMT (MTL_MATERIAL_TRANSACTIONS) table. This is the parent table for MMTT. Transactions are processed into the MMT table from the MMTT table by the transaction processor which updates all the other relevant tables also. Successfully processed Move Transactions are stored in the WIP_MOVE_TRANSACTIONS table. Costing data for the resource, move transaction and overheads is moved to the WIP_COST_TXN_INTERFACE table ready to be processed by the Cost Manager. Any processing errors for the Open Move Transaction Interface are held in WIP_TXN_INTERFACE_ERRORS. The column PROCESS_PHASE in WIP_MOVE_TXN_INTERFACE describes the current processing phase of the transaction. The Move Transaction Worker processes each transaction row through the following three phases. You should always load 1 (Move Validation). The options are: Move Validation (process phase 1) : The Move worker validates the records with a process phase of 1 and a process status of 1 or 2 (Pending/Running). Failed records will error and process phase will remain at 1. Validated records will be set to process phase of 2 (move processing). Move Processing : The Move worker picks up the records with a process phase of 2 and a process status of 1 or 2 (Pending/Running). Failed records will error and process phase will remain at 2. Successful records are set to process phase of 3 (backflush setup) and are moved to the WIP_MOVE_TRANSACTIONS table because the move transaction itself is processed. Operation Backflush Setup : The Move worker picks up the records with a process phase of 3 and a process status of 1 or 2 (Pending/Running). If processing is successful, the corresponding record is deleted from the WIP_MOVE_TXN_INTERFACE. If the record fails, the status will be set to error and the process phase will remain at 3. If there is a failure in the Backflush setup phase, there will be a 17 record in error in WIP_MOVE_TXN_INTERFACE and a corresponding record in WIP_MOVE_TRANSACTIONS. Reasons Backflush setup phase could error: 1. Backflush is trying to drive inventory negative, but negative balances are not allowed 2. There are lot-controlled components, but lot selection method is manual. 3. Lot selection method is not manual, but the lot couldn't be derived because of insufficient lot quantity. 4. There are serial controlled components to be backflushed and serial numbers cannot be assigned. The column PROCESS_STATUS contains the state of the transaction. You should always load 1 (Pending): Pending Running Error So when is backflushing initiated? When the Move Transaction Manager processes the following records from the WIP_MOVE_TXN_INTERFACE table, backflushing is initiated : The processed move transaction in WIP_MOVE_TXN_INTERFACE completes the assemblies at an operation by moving assemblies from the Queue or Run intraoperation step of an operation to the To Move, Scrap or Reject intraoperation steps of the same operation or a subsequent operation. This will then trigger the backflush of the ‘Operation Pull’ components defined for the Operation. When an assembly is completed into inventory for a completion transaction. This will trigger the backflush of the ‘Assembly Pull’ components for the assembly. 11.4 : BACKGROUND PROCESSING : INVENTORY TRANSACTION INTERFACE Name of Interface : Inventory Transaction Interface Table used : MTL_TRANSACTIONS_INTERFACE (MTI) 18 The Inventory Transaction Interface can be used to process Complete Transactions and therefore initiate Backflush Transactions. This interface is used in the following ways : Populated directly to process completion transactions. It is populated using scripts or populated from other systems. Populated when Completion transactions are initiated by the Completion Transactions Form AND the transaction processing mode is Background (due to the settings of the profile options) Populated when Completion transactions are initiated by the Work Order-less Completions Form AND the transaction processing mode is Background (due to the settings of the profile options) The appropriate transactions are loaded into the MTI table from various sources or by using loading scripts. These are then processed by a concurrent program. The program which processes the transactions from the interface table is called the Inventory Transaction Worker. The internal name of the program : INCTCW. The Inventory Transaction Interface processes several transaction types. The type which initiates the backflush of components is : WIP completion transactions : these update the job or repetitive schedule completed quantities, launch appropriate backflush transactions, and relieve costs of completed assembly from the job/schedule The above transaction completes assemblies into inventory. This therefore initiates the ‘Assembly Pull’ backflush. Components with a supply type of ‘Assembly Pull’ will be backflushed. The transaction type (transaction_type_id column in MTI table) for wip assembly completion is 44. 19 12. BACKFLUSHING PROCESSING Backflush transactions 'pull' components with Operation Pull and Assembly Pull supply types from inventory onto jobs and repetitive schedules. There are two types of Backflush Transaction : Operation Pull Backflush Transactions Assembly Pull Backflush Transactions 12.1 : OPERATION PULL BACKFLUSH TRANSACTIONS If there are Operation Pull components at the operation AND the operation is defined as a backflush operation, the components are automatically pulled (backflushed) from inventory. Any components for non-backflush operations between the current operation and the last completed backflush operation are also pulled. Components for non-backflush operations are only pulled at the appropriate backflush operation. The last operation in the routing should always be defined as a backflush operation to ensure that all Operation Pull components are backflushed by the end of the routing. If you have the TP:WIP:Move Transaction profile option set to Online processing, you cannot move more assemblies than exist in an operation step. If this option is set to Background processing, however, you can move any number of assemblies, but the quantity is validated in the background. The system automatically backflushes pull components NOT under lot or serial number control or lot+serial control. Pull components under lot control can also be automatically backflushed if the Work in Process parameter ‘Lot Selection Method’ is set to one of the automatic methods, and there is sufficient inventory. 12.2: ASSEMBLY PULL BACKFLUSH TRANSACTIONS : When you complete an assembly that has Assembly Pull components, these components are automatically pulled (backflushed) from their assigned supply subinventories/locators. If no supply subinventory/locator is assigned to the component, the system pulls components from the default supply subinventory/locator specified by the WIP Supply Subinventory and Supply Locator Parameters. 20 If the components being backflushed are under manual lot control, serial control, or lot and serial control, you must enter lot and/or serial numbers. If the job is tied to one or more sales orders, the system automatically completes the assembly for those orders. Note: Purchasing transactions initiate backflushes only if they are tied to outside processing resources with an autocharge type of PO Move and only if requirements with a supply type of Operation Pull exist at the outside processing operation. 12. 3 : BACKFLUSH TRANSACTION RULES The following rules are enforced when performing backflush transactions: An enabled default supply subinventory must be defined for the component. Also, a locator must be defined if required by the subinventory. These will be used to supply the backflush components. Supply subinventories and locators can be defined at the item or bill of material component level. If they are not defined, the system uses the supply subinventory and locator specified by the WIP Backflush Supply Subinventory and Locator Parameters when components are backflushed. Routing references must be specified for non-standard discrete jobs. On the Discrete Job>Routing tab, select the routing Reference when defining a non-standard job. Routing references can be used to create routings (operations and resource requirements) for non-standard discrete jobs, but are not required. You can optionally define non-standard jobs without routings, then customize them by adding only those operations that are required. However, the routing reference must exist for backflush transactions to occur. The component item must be defined as transactable. This refers to the inventory item parameter. The Subinventory you you are backflushing from must be an asset subinventory if the “Allow Expense to Asset Transfer” profile option is set to No. Backflush quantities in decimal values must be no more than five decimal places in order to create the backflush transaction. Yield calculations are based on exact requirements, rather than rounded values. 21 For component items under revision control, the system always defaults the revision based on the item’s current revision as of the date of the transaction. Backflushing will therefore always issue the current revision of the component. To issue older revisions of a component would require changing the supply type to ‘Push’. 12. 4 : GENERAL POINTS FOR ALL BACKFLUSH TRANSACTIONS : Backflushing of components does NOT take place if : 1. The operation that assemblies are being completed at is not a backflush operation 2. The components are under serial number control and the processing mode is set to background. 3. The components are under lot control and the lot cannot be derived whilst the processing mode is set to background. 4. The components are lot controlled and the Work in Process parameter Lot Selection Method is set to Manual whilst the processing mode is background. 5. There is insufficient inventory in the supply subinventory 12.5 : LOT AND SERIAL NUMBER BACKFLUSHING : Assembly and Operation Pull components under lot, serial, or lot and serial number control can be backflushed using the backflush window. The Backflush window provides efficient entry for large numbers of lot and serial controlled items when creating assembly move transactions—including scrap, reject, and assembly completion. Work in Process parameters determine how lot numbers are assigned and verified during backflush transactions. 22 The Backflush Window appears when you perform a move, scrap, reject, or assembly completion. The Backflush window automatically appears only if you are backflushing lot or serial controlled pull components. It is possible to reverse backflush transactions and automatically return backflushed components back to inventory. For example, pull components that are backflushed as you move assemblies to the next intraoperation step in a routing are automatically returned to inventory if you move assemblies to a previous step in the routing. These are simply the opposite of backflush transactions. 12.6 : COUNT POINT AND AUTOCHARGE OPERATIONS : When you define operations in Oracle Bills of Material, you can specify whether an operation is a count point and whether resources at that operation should be automatically charged during a move transaction. You can update this information in Work in Process using the Operations window. Operations that are non-count point/autocharge operations must be defined as backflush operations. If you issue components with a supply type of Operation pull to an assembly at a Count Point off / Autocharge off count point operation, Work in Process backflushes these components when you move out of the Count Point off / Autocharge off count point operation into a count point operation that allows backflushing. Work in Process never pulls components with a supply type of Assembly pull from Count Point off/ Autocharge off count point operations. However, you must turn Backflush on for Count Point off / Autocharge off count point operations. The Backflush field should always be turned on for the last operation in a routing. 23 12.7 : NEGATIVE REQUIREMENT BACKFLUSHING : When Operation Pull components that have negative requirement quantities are backflushed, they are returned to inventory (i.e they are NOT supplied from inventory as for a normal backflush). 12.8 : REPETITIVE PRODUCTION LINE BACKFLUSHING : For repetitive manufacturing, all backflush assemblies are automatically allocated to the correct repetitive schedule using a FIFO algorithm. The algorithm is based on a first unit start date, and on the assemblies moved or completed in the transaction that initiated the backflush. 12.9 : CHARGING OF RESOURCES If there are WIP Move resources at the operation that is being completed, the system automatically charges these resources at their standard rate. If there are Manual resources at the operation that is being completed, the system notifies you that Manual resources exist at the operation so that you can manually charge them. 13. HOW DO YOU VIEW BACKFLUSH TRANSACTIONS? The purpose of this section is to understand how to view backflush transactions using the applications and also to recognize which tables the transactions are stored in. Backflush transactions from all sources can be seen from the View Material Transactions form. The backflush transactions are held in the MMT table. Move transactions are held in the WIP_MOVE_TRANSACTIONS table. Completion transactions are held in the MMT table. The following sequence of screenshots clarifies how to view backflush transactions : a. Before we view the material transactions, let’s have a look at the BOM that we will use in the examples. The next screen shows a BOM and shows that the components have a supply type of ‘Operation Pull’. 24 b. The next 2 screens shows the screen shots of 2 move transactions for the assembly. They are taken from WIP>Move Transactions>View Move Transactions. The purpose of the second screen is to highlight the move transaction ids. It is important to note the following : There is one move transaction for : From Op 20 Queue> To Op 20 To Move. This completes the assemblies at this operation and will result in the backflush of components of operation pull at this operation (components pc and pb) There is one move transaction for : From Op 10 Queue> To Op 20 Queue. This assumes that operation 10 has been completed. Therefore any operation pull components at operation 10 will be backflushed. (component re) 25 c. The navigation for the form shown below is WIP>Material Transactions>View Material Transactions. The search criteria used were transaction type (wip component issue) and job name. It shows the backflush of the components initiated by the Move Transaction in b) above. The following screens will highlight this in more detail. They are 26 from the same form. d. The next screenshot is from the same form, showing the reason,reference tab. The key thing to note is that the source code of ‘WIP Backflush’ indicates that the transaction was a backflush transaction. The quantity backflushed is also shown. The last column is the TRANSACTION_ID which will be used later to query the MTL_MATERIAL_TRANSACTIONS table. 27 e. The tab below shows the originating Move Transaction Id for the move transaction which resulted in the backflush of the components. If the backflush was origininated by a completion transaction, that would be shown in Completion transaction Id. Note that the two move transactions in step b) are both shown – compare the move transaction id with that in step b. So how would we query the transactions above ? f. To query the move transactions : Select * from WIP_MOVE_TRANSACTIONS where transaction_id in (17701293, 17701294) g. To query the backflush transactions : We can use the following : Select * from MTL_MATERIAL_TRANSACTIONS where transaction_id in (14714658) 28 Select * from MTL_MATERIAL_TRANSACTIONS move_transaction_id in (17701293, 17701294) where Select * from MTL_MATERIAL_TRANSACTIONS where SOURCE_CODE = ‘WIP Backflush’ 14. HOW HAS BACKFLUSH FUNCTIONALITY CHANGED OVER DIFFERENT APPLICATION RELEASES? The important thing to note is that Backflush functionality has NOT changed in release 12. In fact, the Backflush functionality only changed in release 11.5.10. We will now look at the functionality prior to 11.5.10 and how it changed in 11.5.10. 11.5.9 Behaviour : The way in which backflush transactions are processed from the Open Move Transaction Interface (also known as Wip Move Transaction Interface or WMTI) and the Inventory Transaction Interface (also known as Material Transaction Interface or MTI) is where the behaviour was slightly different in 11.5.9. 1. Wip Move Transaction Interface (WMTI): move and complete through WMTI : a. Once the record is populated in WMTI for move and complete, the move worker would process this transaction. b. Completion transactions are processed first and then the backflush transactions (PULL components) c. If completion is successful, the job is completed. d. If backflush fails for any reason, the backflush components will remain in MMTT (pending material transaction form) with error. The completion transaction has already gone through successfully by this time. 2. MTI: completion through the Material Transaction Interface or MTI : a. Once the record is populated in MTI for completion, the inventory transaction worker will process this transaction. b. Completion transaction will be processed first and then backflush transactions (ASSEMBLY PULL components). c. If completion is successful, the job is completed. 29 d. If backflush fails for any reason, the backflush will remain in MMTT (pending material transaction form) with error. The completion transaction has already gone through successfully by this time. 11.5.10 Behaviour : The way in which backflush transactions are processed from the two open interfaces changed slightly in release 11.5.10 onwards. The functionality was changed in TWO steps : Step 1 : Base 11.5.10 Behaviour WMTI and MTI: For both the interfaces, if backflush failed for any reason, the completion was also prevented. Step 2: Current 11.5.10 Behaviour Customers complained about the initial 11.5.10 behaviour. Their concern was that the functionality stopped jobs from being completed and prevented goods leaving the factory. A patch was introduced to change this behaviour. The patch was 4504810. The behaviour now is : 1. WMTI: a. Once the record is populated in WMTI for move and complete, the move worker will process this transaction. b. The completion transaction will be processed first and then the backflush transactions (PULL components). c. If completion is successful, the job is completed. d. If backflush fails for any reason, WMTI record is updated to process phase "Backflush setup" and status="error". It will also populate the reason why the backflush failed. e. The user then needs to resubmit the WMTI record after correcting the error. Advantantages of this functionality : The 11.5.9 functionality caused a lot of data corruption errors in MMTT because the data was not validated before loading the data in MMTT. The current functionality validates the data and explains the errors in the WMTI table. The functionality forces you to correct the data 30 before the data hits the MMTT table. These errors can then be corrected and the transaction can be resubmitted. 2. MTI: The behaviour of MTI is exactly same as in base 11.5.10 i.e, the completion fails if the backflush fails. Important 11.5.10 patches : There were some issues around backflush functionality after patch 4504810 was introduced. These were resolved by applying patch 5038886. One of the key issues resolved by this patch was as follows : If backflush component fails inventory validation, only the move records corresponding to those backflush components will fail. The other move records will go through. 15. COMMON BACKFLUSH ISSUES AND HOW TO CORRECT THEM : This section examines some of the common errors around backflush transactions and how to correct them. It should be noted that this section ONLY looks at issues which are related to Backflush transactions. It does not look at all causes of Pending Move or complete transactions. There are documents which already cover these topics 1. Processing serial control or lot control backflush components in background mode : How is the issue seen? Go to the Pending Move Transactions form. There will be a Pending Move Transaction that will be in error The transaction in WIP_MOVE_TXN_INTERFACE will be in error in the ‘Backflush Setup’ Phase (process phase 3). There will be record in WIP_MOVE_TRANSACTIONS for this record because the move transaction will have been processed. The error will be as below. Error : An Assembly transaction cannot be processed in background mode if it has backflush components that are serial or lot controlled where the Lot cannot be derived. 31 Cause : If backflush components are under serial control or under lot but WIP cannot derive lot for some reason, the system will throw an error "An Assembly transaction cannot be processed in background mode if it has backflush components that are serial or lot controlled where the Lot cannot be derived." This is an unsupported feature, and customers should not try to backflush serial control component in the background mode. Solution : The solution is as follows : If the lot selection wip parameter was set to manual and the item is lot controlled – then this transaction cannot be processed in background mode. Change the lot selection wip parameter to an appropriate value other then manual (after confirming this is not a business need) and then resubmit the transaction from the Pending Transaction Form : WIP > Move Transactions > Pending Move Transactions Select the transaction and then choose the resubmit option. If you need to use serial numbers or manual lot derivation, then the following solution will need to be used : 1. Delete the transaction from the Pending Transaction table. This is done as follows : WIP > Move Transactions > Pending Move Transactions Through the Pending Move Transactions window you can view, update, delete, and resubmit Move transaction records that have failed validation and remain in the Open Move Transaction Interface table (WIP_MOVE_TXN_INTERFACE). If the transaction cannot be deleted from the forms, then use the script below with great caution and after careful validation : delete from WIP_MOVE_TXN_INTERFACE where TRANSACTION_ID = &erred_transaction; 2. Now you need to perform the transaction ONLINE. This kind of transaction must NOT be transacted in background mode (where you need to enter serial number or where lot numbers are manually entered). To perform the transaction online, do as follows : 32 1. Change the profile TP:WIP Move Transactions Form to ONLINE 2. Go to WIP>Move Transactions>Move Transactions. Process the transaction online. 2. XXXXX: Quantity must be less than or equal to Available to transact (where xxxx is item number). How is the issue seen? The error message is seen in the Completion Transaction Form if the processing mode is ONLINE. In this case, both the completion transaction and the backflush transaction fail. If the processing mode is BACKGROUND, the issue is seen via a pending transaction in the interface (WIP_MOVE_TXN_INTERFACE or MATERIAL_TRANSACTION_INTERFACE). In this case, the completion transaction completes and the backflush transaction fails. Error : XXXXX: Quantity must be less than or equal to Available to transact (where xxxx is item number). Cause : This is as a result of a valid inventory validation. There is not enough stock to allow the transaction to process. Solution : The solution is as follows : Ensure that there is enough stock to allow the transaction to proceed. If the processing mode is online, re-enter the transaction from forms. If the processing mode is background, then resubmit the transaction from the Pending Transactions window after the quantity issue has been resolved. 3. Backflush Transactions are performed even though the Profile: Inv: Override Negative for Backflush is set to NO : How is the issue seen? The inventory is driven negative for some backflush components. 33 Error : No error message – the issue is seen by noticing that the inventory for some backflush components is negative. Cause : The inventory organization is flagged to allow negative balances. This overrides the profile : Inv: Override Negative for Backflush . Solution : Set the inventory organization to not allow negative balances. 4. Lots are not being consumed based on FIFO (lot expiration) How is the issue seen? To see the consumed lots, go to Wip Subinventory Inventory> On Hand Qty> Error : Notice that the system does not consume lots based on lot expiration. Cause : The standard functionality does not support FIFO backflush based on expiration dates. Solution : None. The standard functionality does not support FIFO backflush based on expiration dates. 5. Transaction Quantity cannot be zero How is the issue seen? This issue is ONLY seen in releases BELOW 11.5.10 A backflush record with zero primary and transaction quantity is errored in MMTT. (MTL_MATERIAL_TRANSACTIONS_TEMP) Error : The record has the error : “Transaction Quantity cannot be zero”. Cause : Prior to release 11.5.10, backflush transactions were not validated. This often led to corruption in the MMTT table. Therefore, sometimes, transactions with zero quantities were not validated and then got stuck in MMTT. Solution : a. Ensure that enough quantity is available in a lot in the supply subinventory. 34 b. Log a bug with the Inventory Development team to provide a datafix. The datafix will likely do the following : Update the transaction quantity and primary quantity in the stuck MMTT record with the correct quantity to be backflushed. Insert records in MTL_TRANSACTION_LOTS_TEMPS to match the transaction quantity. Caution : Do not attempt to update the tables or delete records from tables without a detailed analysis by Development. 6. APP-25105 : Failed Backflush Transactions How is the issue seen? Go to Wip Move Transactions form. Perform a completion transaction. The transaction fails with an APP-25105 error. Error : APP-25105 : Failed TRANSACTION_HEADER_ID (xxxxx) backflush transaction exists for Cause : The item was inactivated and could not transacted. Solution : Change the item status to an active status. 7. APP-25105 : Quantity required to complete this transaction is no longer available. How is the issue seen? A completion transaction is stuck in the MMTT table. (MTL_MATERIAL_TRANSACTIONS_TEMP). The error could manifest in different ways – for this instance, the completion transaction and any associated backflush transactions will not be able to be completed. The error is as follows : Error : APP-25105 : Quantity required to complete this transaction is no longer available. Cause : One cause of the issue could be as follows : 35 The component backflush was already completed at an earlier date/time. When the pending transaction was re-processed, the material was no longer available. There are various other causes however. Each needs to be examined as a separate case. Solution : The solution is as follows: a. Check whether the record in MMTT is a backflush or a assembly related transaction (i.e completion transaction). b. If the stuck record in MMTT is a backflush, you need to check whether the parent transaction is in MMT or not. c. If the stuck records in MMTT is an assembly related transaction, then you need to make sure no backflush records are in MMT. d. Then you need to log a bug against the INV Product because the records are stuck in MMTT which is an INV table. You will need to provide all the above details (steps a to c). 8. Intermittent Wip Move Errors at Backflush Setup stage How is the issue seen? When this WIP Backflush error occurs, the discrete job remains in Released Status at the last operation step and no material is issued to it. There is also an Inventory Pending transaction for the WIP Completion that gets stuck in the interface with status Pending. Error : The WIP work order associated with this transaction is currently locked and being updated by another user. Please wait for a few seconds and try again. Transaction processor error Cause : Possible file corruption Solution : 1. Identify who locked the WIP or INV table using the query below : select ORACLE_USERNAME,OS_USER_NAME,OBJECT_NAME,locked_mode,session_i d,c.serial# from all_objects a ,sys.V_$LOCKED_OBJECT b,v$session c where a.OBJECT_ID=b.object_id and c.sid=session_id; 36 2. Inform the user who locked the tables to save their pending transaction or close the form if they don't plan to save. 3. The final solution to this may require the form to be regenerated after the above is done : Using Adadmin utility From Main Menu, select Maintain Application Files Enter 6. Generate form files Do you want to regenerate Oracle Forms PL/SQL library files [Yes] ? Yes Do you want to regenerate Oracle Forms menu files [Yes] ? Yes Do you want to regenerate Oracle Forms executable files [Yes] ? Yes Enter list of products ('all' for all products) [all] : all Generate specific forms objects for each selected product [No] ? No Make sure you enter the products in lowercase, in example above, enter 'all' not 'ALL'. 9. Records stuck in MMTT with BF_LOT_ERROR How is the issue seen? This issue is ONLY seen in release 11.5.9 and prior releases. It is not seen in later releases. Error : BF_LOT_ERROR Cause : Lot could not be derived during operation pull due to insufficient onhand. Solution : Log a bug against WIP and provide the output of the script wip_bf_lot_error.sql. This can be downloaded from the Knowledge base. 10. Move Transaction related issues. These are not covered in this paper. If there are Pending Move transactions which are stuck , these will obviously also prevent any associated backflush transactions. Please refer to the following note to assist with these issues : WIP_MOVE_TXN_INTERFACE Common Errors In Pending Move Transactions With Possible Causes And Action Plan To Process Them (Doc ID 457066.1) 37