sqloracleoracle11goracle-apps

Miscellaneous Issue transaction throws "Negative Balances Not Allowed"


I am inserting data into a transaction interface table and then running the concurrent program "Process Interface". It completes in error. In Transaction Open Interface the error Negative Balances Not Allowed shows up.

It is for lot control item so I am inserting data into mtl_transaction_lots_interface as well. I am inserting the transaction quantity as negative as it is a Miscellaneous Issue transaction. After the concurrent program even the primary quantity turns from positive to negative.

I've already checked all the item attributes. They are correct. Also, this item has on hand quantity as well. There are no unprocessed pending transactions that act like reservations reducing inventory.

Please help in identifying what is wrong.

Here's the insert script :-

INSERT INTO mtl_transactions_interface ( transaction_interface_id,
                                         source_code,
                                         source_line_id,
                                         source_header_id,
                                         process_flag,
                                         validation_required,
                                         lock_flag,
                                         transaction_mode,
                                         last_update_date,
                                         last_updated_by,
                                         creation_date,
                                         created_by,
                                         last_update_login,
                                         inventory_item_id,
                                         organization_id,
                                         transaction_quantity,
                                         primary_quantity,
                                         transaction_uom,,
                                         transaction_date,
                                         subinventory_code,
                                         transaction_type_id,,
                                         transaction_source_id,
                                         distribution_account_id,
                                         reason_id,
                                         transaction_reference
                                       )
VALUES ( 1234567,
         TRIM( 'On_Hand_Conversion' ),
         1,
         1,
         1,
         1,
         2,
         3,
         SYSDATE,
         -1,
         SYSDATE,
         4994,
         -1,
         2505,
         342,
         -5,
         5,
         'COL',
         SYSDATE,
         '9D00',
         32,
         NULL,
         2227526,
         364,
         'TEST1' );

INSERT INTO mtl_transaction_lots_interface ( transaction_interface_id,
                                             lot_number,
                                             lot_expiration_date,
                                             transaction_quantity,
                                             last_update_date,
                                             last_updated_by,
                                             creation_date,
                                             created_by
                                           )
VALUES ( 1234567,
         '27390BU-000003',
         SYSDATE + 100,
         -5,
         SYSDATE,
         0,
         SYSDATE,
         0 );

Solution

  • The issue is now resolved.

    The On hand quantity for the lot under the sub inventory was zero. Earlier I was just checking the item on hand quantity.

    The below mentioned Oracle metalink document were really helpful.

    1. Resolve Inventory Error: Negative Balances Not Allowed (Doc ID 1916111.1)
    2. Find Onhand Using Item and Lot Avail Functions (CHECK_AVAIL) (Doc ID 387568.1)