Error message when you try to close a manufacturing order in Microsoft Dynamics GP: "This Manufacturing Order has a Pending Component Transaction"

SYMPTOMS

When you try to close a complete manufacturing order in the Manufacturing Order Close window or the Edit Manufacturing Order Status window in Microsoft Dynamics GP, you receive the following error message:
This Manufacturing Order has a Pending Component Transaction. See picking document XXXXX for more information. 

Note XXXXXX is a placeholder for the picking document number.

CAUSE

This problem can occur for one of the following reasons: 

• Saved, un-posted picking documents exist for the manufacturing order (MO). See Resolution 1 in the “Resolution” section. 

• The MOP1400 (MOP_Picklist_Site_QTY) table has pending quantities that are unsupported by data in other manufacturing tables. See Resolution 2 in the “Resolution” section.

RESOLUTION

Note Before you follow the instructions in this article, make sure that you have a complete backup copy of the database that you can restore if a problem occurs.

Resolution 1 

To resolve this problem, use an SQL query tool to find and post un-posted picking documents. To do this, follow these steps: 

1. Start the Support Administrator Console, Microsoft SQL Query Analyzer, or SQL Server Management Studio. To do this, use one of the following methods depending on the program that you are using. 

Method 1: For SQL Server Desktop Engine 
If you are using SQL Server Desktop Engine (also known as MSDE 2000), start the Support Administrator Console. To do this, click Start , point to All Programs , point to Microsoft Administrator Console , and then click Support Administrator Console

Method 2: For SQL Server 2000 
If you are using SQL Server 2000, start SQL Query Analyzer. To do this, click Start , point to All Programs , point to Microsoft SQL Server , and then click Query Analyzer

Method 3: For SQL Server 2005 
If you are using SQL Server 2005, start SQL Server Management Studio. To do this, click Start , point to All Programs , point to Microsoft SQL Server 2005 , and then click SQL Server Management Studio . 

Method 4: For SQL Server 2008 or higher.  
If you are using SQL Server 2008 or higher, start SQL Server Management Studio. To do this, click Start , point to All Programs , point to Microsoft SQL Server 2008 (or as needed) , and then click SQL Server Management Studio

 2. Run the following script against the company database: 

Select PICKNUMBER from MOP1210 where MANUFACTUREORDER_I = 'XXXX' and MANUFACTUREORDER_I in (select MANUFACTUREORDER_I from MOP1400 where MANUFACTUREORDER_I in (select MANUFACTUREORDER_I where PENDING_REV_ISS_QTY_I > 0 or PENDING_ISSUE_QTY_I > 0 or PENDING_SCRAP_QTY_I > 0 or PENDING_REV_SCRAP_QTY_I > 0)) and TRX_TYPE in (1,2,5,6) and PICKNUMBER in (select PICKNUMBER from MOP1200 where POSTED = 0)

Note In this script, you must replace the XXXX placeholder with the manufacturing order number. 

3. Results that the script in step 2 returns indicate that an un-posted picking document exists. To post the picking document or remove the items from the picking document, follow these steps: 

a. On the Transactions menu, point to Manufacturing , point to Manufacturing Orders , and then click Component Trx Entry

 b. In the Manufacture Pick Number list, click the pick document number from step 2. 

 c. Follow one of these steps: 

• If you want to post the items, click Mark All , and then click Post

• If you do not want to post the items, click to select the check box next to each item number, click Edit , and then click Delete Row

Note If all items are removed from the pick document, you do not have to post the pick document. 



Resolution 2 
The MOP1400 table may hold a pending quantity for a picking document even if there are no pending documents. To resolve this problem, use an SQL query tool to update the MOP1400 table. To do this, follow these steps: 

1. Start the Support Administrator Console, Microsoft SQL Query Analyzer, or SQL Server Management Studio. To do this, use one of the following methods depending on the program that you are using. 

Method 1: For SQL Server Desktop Engine 
If you are using SQL Server Desktop Engine (also known as MSDE 2000), start the Support Administrator Console. To do this, click Start , point to All Programs , point to Microsoft Administrator Console , and then click Support Administrator Console

Method 2: For SQL Server 2000 
If you are using SQL Server 2000, start SQL Query Analyzer. To do this, click Start , point to All Programs , point to Microsoft SQL Server , and then click Query Analyzer

Method 3: For SQL Server 2005 
If you are using SQL Server 2005, start SQL Server Management Studio. To do this, click Start , point to All Programs , point to Microsoft SQL Server 2005 , and then click SQL Server Management Studio

Method 4: For SQL Server 2008 or higher.  
If you are using SQL Server 2008 or higher, start SQL Server Management Studio. To do this, click Start , point to All Programs , point to Microsoft SQL Server 2008 (or as needed) , and then click SQL Server Management Studio


2. Run the following scripts against the company database: 

select PENDING_ISSUE_QTY_I, MANUFACTUREORDER_I from MOP1400 where PENDING_ISSUE_QTY_I > 0 and MANUFACTUREORDER_I = 'MOxxx' select PENDING_REV_ISS_QTY_I, MANUFACTUREORDER_I from MOP1400 where PENDING_REV_ISS_QTY_I > 0 and MANUFACTUREORDER_I = 'MOxxx' select PENDING_SCRAP_QTY_I, MANUFACTUREORDER_I from MOP1400 where PENDING_SCRAP_QTY_I > 0 and MANUFACTUREORDER_I = 'MOxxx' select PENDING_REV_SCRAP_QTY_I, MANUFACTUREORDER_I from MOP1400 where PENDING_REV_SCRAP_QTY_I > 0 and MANUFACTUREORDER_I = 'MOxxx' 
Note In this script, you must replace the MOxxx placeholder with the manufacturing order number. 

 3. Results that are returned from the script in step 2 indicate that the MOP1400 table must be updated. Run the following scripts against the company database: 

update MOP1400 set PENDING_ISSUE_QTY_I = 0 where PENDING_ISSUE_QTY_I > 0 and MANUFACTUREORDER_I = 'xxxx' update MOP1400 set PENDING_REV_ISS_QTY_I = 0 where PENDING_REV_ISS_QTY_I > 0 and MANUFACTUREORDER_I = 'xxxx' 
update MOP1400 set PENDING_SCRAP_QTY_I = 0 where PENDING_SCRAP_QTY_I > 0 and MANUFACTUREORDER_I = 'xxxx'
update MOP1400 set PENDING_REV_SCRAP_QTY_I = 0 where PENDING_REV_SCRAP_QTY_I > 0 and MANUFACTUREORDER_I = 'xxxx' 
Note In this script, you must replace the xxxx placeholder with the manufacturing order number.   
Eigenschappen

Artikel-id: 953438 - Laatst bijgewerkt: 6 feb. 2017 - Revisie: 2

Microsoft Dynamics GP 10.0, Microsoft Dynamics GP 2010, Microsoft Dynamics GP 2013, Microsoft Dynamics GP 2015, Microsoft Dynamics GP 2016, Manufacturing, Manufacturing Order Processing

Feedback