Number Sequence in Dynamic Ax

Number Sequences:

Number Sequences in Microsoft Dynamics are used to generate user-friendly, unique identifiers for transactions such as sales orders, purchase orders, invoices, and journals or for master data records such as customers, vendors, and employees. These transactions and master data records are called a reference. Number Sequence Framework is responsible for maintaining a continuous or non-continuous number sequence. Number sequence formats consist of segments. A segment is data entity that can be used to define a number sequence. A number sequence can have more than one segments.
Number sequences with a scope other than shared can contain segments that correspond to the scope.

Examples:


Expense report Number for a legal entity “CS”
-------------------------------------------------------------------------------------------------------
Sales order numbers for company CEU


---------------------------------------------------------------------------------------------------
Purchase requisition numbers are organization-wide.


Continuous and Non-continuous Number Sequence:


Number Sequences can be continuous or non-continuous. Continuous Number sequence reuses the cancelled transaction and fills all the unused Number sequences before current number sequence. On the other hand, Non-continuous does not care for unused number sequences slots.


The non-continuous Number sequence is the best performance wise because of it
does not have to search for free slots and continuous Number sequence is a more organized
way of using number sequence.


Unless there is a regulatory requirement that you can use a continuous number sequence
we recommend that you use non-continuous number sequence for better
performance.


How to set up Number Sequence?

Number sequence can be set up using the “Setup number sequences wizard”,
and we can be created or Modify individual number sequences by using the
Number Sequences form.


  1. Number Sequence using Wizard:



STEPS:



1.  Create an Extended Data Type: Voucher Num.


AOT >> Extended Data Types >> New  >> Properties >> Name >> VoucherNum


2. Write a code on load module() on NumberSeqModuleRetailParameters \\Module can
be different depending on Number Sequence


// Gift card number
   dataType.parmDatatypeId(extendedTypeNum(VoucherNum));//EDT Name
   dataType.parmReferenceHelp(literalStr("@RET4455"));
   dataType.parmWizardIsContinuous(false);
   dataType.parmWizardIsManual(NoYes::No);
   dataType.parmWizardIsChangeDownAllowed(NoYes::No);
   dataType.parmWizardIsChangeUpAllowed(NoYes::No);
  dataType.parmSortField(3);  //This number is should be 1 number bigger
//than previously number used


   dataType.addParameterType(NumberSeqParameterType::DataArea, true, false);
   this.create(dataType);


3. Write a method on RetailParameters Table //This Table will be based on
Number Sequence you are creating. As I am creating Gift Card Voucher Number
which lies in Retail.


/// <summary>
/// Finds a number sequence reference for Gift card number.
/// </summary>
/// <returns>
/// An instance of the <c>NumberSequenceReference</c> class.
/// </returns>
client server static NumberSequenceReference numRefGiftCardId()
{
   return NumberSeqReference::findReference(extendedTypeNum(VoucherNum));
}


4. Write a job and run that


static void VoucherNum(Args _args)
{
   NumberSeqModuleRetailParameters numberSeqModuleRetailParameters
= new numberSeqModuleRetailParameters();
   ;
   numberSeqModuleRetailParameters.load();
}


5. Then run the wizard


  Organization Administration >> CommonForms >> Numbersequences>>
Numbersequences>> Generate >> run the wizard.
During wizard, you can include/Remove Scope


6. Now we have to check the number sequence  is correctly working for
that write a job:



static void number(Args _args)
{
   NumberSeq  numberSeq;
   CarId num;
   ;
   numberSeq = NumberSeq::newGetNum(ProjParameters::numRefcarId());
   num = numberSeq.num();
   info(num);
}




Yaay! Our Number Sequence is now ready to use.


2. Using Number Sequence Form:

The link will be available Soon

How to Use Number Sequence?
The Link will be available soon

Comments