Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

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


View products that this article applies to.

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.

↑ Back to the top


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 and in Microsoft Business Solutions - Great Plains, 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.

↑ Back to the top


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.

↑ Back to the top


Resolution

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


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

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

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


↑ Back to the top


Keywords: kbexpertiseinter, kbprb, kbmbsmigrate, kbtshoot, kbnosurvey, kbmbspartner, kberrmsg, kbmbssqlserver, kb, kbexpertisebeginner

↑ Back to the top

Article Info
Article ID : 953438
Revision : 2
Created on : 2/9/2018
Published on : 2/9/2018
Exists online : False
Views : 254