Skip to main content

Pretty simple really. Warehouse has 
 

Allow Negative Qty = Y

We are trying to submit this message to take the stockroom into Negative Qty:

<root
xmlns="http://astea.com.schema.bc.man_adj">
<session email="" alias="">
<state bc_name="man_adj">
<action name="data">
<main>
<row>
<warehouse_id>NDC</warehouse_id>
<currency_id>NZD</currency_id>
</row>
</main>
<madjustl>
<row>
<bpart_id>AF031094</bpart_id>
<inv_type_id>good</inv_type_id>
<bin_code_id>Default_Good</bin_code_id>
<qty>-1</qty>
<unit_cost>4.38</unit_cost>
<reason>S21Adj</reason>
</row>
</madjustl>
</action>
</state>
</session>
</root>

It is failing:

succeeded:false

Error Message:: Execute Macro 'Save' failed.
reason: <root><BOName>bin_part_receive_out_side</BOName><MessageID>A2LOG047</MessageID><MessageAsteaCode>A2LOG047</MessageAsteaCode><ElementName></ElementName><Message>"Invalid data: Bin 'Default_Good' in warehouse 'NDC' does not contain product 'AF031094' of inventory type 'good'. 
Unable to continue..."</Message><Row></Row><Code>AsteaException</Code></root>


We are unable to guarantee the order that messages arrive. If positives and negatives happen out of order, and at 0 stock, we cannot be in a position where we are only processing the positives and ignoring the negatives.

How is “Allow Negative Qty” intended to be used?

 

Documentation says:


Allow Negative Qty Select this checkbox when warehouse stock levels are permitted to run into negative numbers for this warehouse. When this check box is not selected, negative stock levels are not permitted for this warehouse. Negative inventory means that a product can be deducted from a warehouse even though there is no current quantity of that product in that warehouse. This function allows the posting of parts to an order in order to complete the order and deal with how the physical part was obtained at a later time.

Hi Chris,

The message failed, I believe, because you do not have this product in the bin_part table.  You need to add the bin_part relationship first and then perhaps the API would work.  The system cannot do a manual adjustment for something it does not think it should even have in the bin you regardless of whether you zero quantity.  There still is a need to create the relationship.

At least that is what the error message you provide seems to be indicating.

Suggestion, go into the warehouse module - bin - and add the product to the default_bin and then try your API.

Normally the application will create a bin_part row for processing logistics transactions automatically during receiving, direct transfer, miscellaneous receiving, etc. but if the relationship is not there, the application will create that relationship first and then do the logistics transaction as a part of these processes. An API is bypassing some of the actions the application may be taking.

Hope this helps.


HI Chris,

Have you looked further into this to confirm there is a bin_part relationship first prior to trying the manual adjustment?


Reply