Question Status

Suggested Answer
Equinox119 asked a question on 7 Sep 2013 9:56 AM

Hi,

Does anyone know that why the number sequence is not re-use even the "continuous" check box in the number sequence form is selected?

In my case, I have created PO or SO and then deleted it immediately. Then, when I create another new PO or SO the running number is not re-used.

Many thanks in advance.

Reply
Huzaifa Gain responded on 7 Sep 2013 5:54 PM

technet.microsoft.com/.../hh209457.aspx

Number sequences can be continuous or non-continuous. A continuous number sequence does not skip any numbers, but numbers may not be used sequentially. Numbers from a non-continuous number sequence are used sequentially, but the number sequence may skip numbers. For example, if a user cancels a transaction, a number is generated, but not used. In a continuous number sequence, that number is recycled later. In a non-continuous number sequence, the number is not used.

Reply
Equinox119 responded on 7 Sep 2013 7:11 PM

Yes, I've tried to use the continuous number sequence on my PO number. But my problem is the number of my PO is not continuous or re-used as definition said.

Ex.

1) I create PO (I get PO no. 001)

2) I delete PO no. 001

3) I create PO (I get PO no. 002)

So now my PO no. is skip and not continuous.

I'm tried it in 2012 R2 CU6 environment

Thank you

Reply
Dominic Lee responded on 7 Sep 2013 9:11 PM

Hi,

Please go to the PO number sequence setup. Then click "status list". You should see a record with PO no. 001 there. Look at the "status" column. If it's "Active", then you should run manual cleanup on the number sequence. After that, PO no. 001 will have a status of "Free".

Only records having "Free" status will be considered when the system generate a new number from the number sequence. Now if you create a new PO, you should see 001 assigned.

Note that there is a "Automatic cleanup" fast tab in the number sequence form for you to setup regular clean ups.

Reply
Rohit0Sharma responded on 25 Sep 2013 1:14 PM

Has someone seen the suggestion by Dolee work?

I did not see PO no. 001 in the Status List (right after it was deleted). Did not see any record in NumberSequenceList either.

PO Number seq is setup as Countinous.

Even if the manual cleanup of the number sequence worked, it is reasonable to expect users to perform this every time they delete a PO?

Thanks

Reply
Suggested Answer
Dominic Lee responded on 26 Sep 2013 4:10 AM

Hi,

I found time to play with it abit. Here's my finding...

Assuming a continuous number sequence is setup as PO Order number:

- If you create a new order and then delete it, no numbers added to the status list.

- If you create a new order using the "Create purchase order" form, and click "cancel" in the form. The number is now added to the status list. (Then the number can be freed by clean-up)

Continuous number sequence in AX is not very well executed. I was confused and created a thread on this. Andre gave some good advice. Please check it out here. (community.dynamics.com/.../106293.aspx)

As for how to make it work, you can try add the line below in PurchTableType.delete() method after "purchTable.doDelete();":

NumberSeq::releaseNumber(PurchParameters::numRefPurchId().NumberSequenceId, purchTable.PurchId);

I hope that standard code already handle cleaning up other tables which have references to this purchTable record (e.g. PurchLine), you will need to check if you want to be 100% sure.

Regards

Reply
Rohit0Sharma responded on 26 Sep 2013 7:57 PM

In the scenario mentioned "- If you create a new order and then delete it, no numbers added to the status list."

Is there any place in AX (AX2009) where this is recorded - that a PO # was created and deleted?

I want to be able to show auditors that the gaps in PO # are due to a delete action (and not being "hidden").

thx

Reply
Dominic Lee responded on 26 Sep 2013 8:04 PM

You can setup database log for PurchTable to record the addition/deletion of purchase orders.

Reply
HKS responded on 22 Feb 2015 7:51 AM

Hi Equinox,

It's frustrating. I am facing it too & I am sure everyone. This is a very basic and common process. Such as creating a New Purchase order & then deleting if it is not required, is common. The number sequence should strictly not skip, if it is set to continuous. This is a big issue as the end users need to have a track of sequence number of purchase orders and any missing number in the sequence for PO No. is an important issue & the end users are accountable.

1) Create New PO, No is: PO-0001

2) Delete it

3) Create New PO & now number is: PO-0002 (That's insane. Logically it should surely be PO-0001 & not PO-0002. Although the number sequence is set to continuous)

This is really annoying and doesn't make sense to end users and it is not logical at all.

Please share with us anything if you have any bit of information related to it. I am sure most of them must be facing this issue as it is a common practice and day to day simple business process. Microsoft can not make a blunder in such a basic process. They really need to fix this.

Thanks

HS

Reply
Nick Khor responded on 26 Mar 2015 1:41 AM

I am having similar problem on Dynamics SL's Invoice number too

Reply
Suggested Answer
Dominic Lee responded on 26 Sep 2013 4:10 AM

Hi,

I found time to play with it abit. Here's my finding...

Assuming a continuous number sequence is setup as PO Order number:

- If you create a new order and then delete it, no numbers added to the status list.

- If you create a new order using the "Create purchase order" form, and click "cancel" in the form. The number is now added to the status list. (Then the number can be freed by clean-up)

Continuous number sequence in AX is not very well executed. I was confused and created a thread on this. Andre gave some good advice. Please check it out here. (community.dynamics.com/.../106293.aspx)

As for how to make it work, you can try add the line below in PurchTableType.delete() method after "purchTable.doDelete();":

NumberSeq::releaseNumber(PurchParameters::numRefPurchId().NumberSequenceId, purchTable.PurchId);

I hope that standard code already handle cleaning up other tables which have references to this purchTable record (e.g. PurchLine), you will need to check if you want to be 100% sure.

Regards

Reply