İlk önce hangi modül için numara serisi oluşturacaksak onun tablosu ve class'ını öğreniyoruz.
Benimkinin tablosu SMAParameters (Modülün parametreler ekranında kurulumdan öğrenilebilir ). Aşağıdaki methodu tablonun methodlarına ekliyoruz:
public server static NumberSequenceReference numRefRMARequestNo()
{
    return NumberSeqReference::findReference(
            typeid2extendedtypeid(typeid(B_RMARequestNo)));
}
AX 2012 için güncelleme:
typeid2extendedtypeid(typeid(B_RMARequestNo))
yerine
extendedTypeNum(SNBmasterNum) 
yazmalısınız.
Buradaki "B_RMARequestNo" tablomuzdaki anahtar alanın extended data tipi oluyor.
Ardından classa gidiyoruz. İlgili sınıfının adı parametre tablosunun numberSeqModule metodundan öğrenilebilir. Benimki NumberSeqReference_SMA. loadModule methoduna aşağıdaki kodu ekliyoruz:
    
/* RMA Request No */
    numRef.DataTypeId              = typeId2ExtendedTypeId(typeid(B_RMARequestNo));
    numRef.ConfigurationKeyId      = configurationkeynum(SMAManagement);
    numRef.ReferenceHelp           = literalstr("Benim Numaram");
    numRef.WizardContinuous        = false;
    numRef.WizardFetchAheadQty     = 20;
    numRef.WizardManual            = NoYes::No;
    numRef.WizardAllowChangeDown   = NoYes::No;
    numRef.WizardAllowChangeUp     = NoYes::No;
    numRef.SortField               = 11;
    this.create(numRef);
Sortfield alanına bir üstteki tanımlanmış numberseqin bir fazlasını veriyoruz. Hiç yoksa 1.
AX 2012 için güncelleme:
Sihirbazı çalıştırmadan önce ya AOS restart ya da aşağıdaki komutu çalıştırın:
NumberSeqApplicationModule::loadAll();
Sonra Temel->Kurulum->Numara serileri->Numara serileri'ne (AX 2012 için Organizasyon yönetimi->Ortak->Numara serileri->Üret) giriyoruz. Burda da sihirbazı çalıştırıyoruz.
Kontrol etmek için ilgili modülünü servis parametrelerinden numara serileri tabına gidip bir göz atıyoruz.
Sıra bu numara serisini formda kullanmakta:
Form classDeclaration a bu satırı ekleyin:
NumberSeqFormHandler numberSeqFormHandler;
Forma bu methodu ekleyin:
NumberSeqFormHandler numberSeqFormHandler()
{
    ;
    if (!numberSeqFormHandler)
    {
        numberSeqFormHandler = NumberSeqFormHandler::newForm(SMAParameters::numRefRMARequestNo().NumberSequence,
                                                             element,
                                                             B_RMARequestTable_DS,
                                                             fieldnum(B_RMARequestTable,RequestNo));
    }
    return numberSeqFormHandler;
}
Güncelleme: Yukarıdaki satır AX 2012 için şöyle olacak:
numRefRMARequestNo().NumberSequence
yerine
numRefRMARequestNo().NumberSequenceId  
 B_RMARequestTable_DS sizin tablonuzun Datasourcesi. 
RequestNo da anahtar field.
Form close method:
public void close()
{
    if (numberSeqFormHandler)
    {
        numberSeqFormHandler.formMethodClose();
    }
    super();
}
Data source methodlarında yapılacaklar:
public void linkActive()
{
    ;
    element.numberSeqFormHandler().formMethodDataSourceLinkActive();
    super();
}
public boolean validateWrite()
{
    boolean ret;
    ret = super();
    ret = element.numberSeqFormHandler().formMethodDataSourceValidateWrite(ret) && ret;
    return ret;
}
public void write()
{
    super();
    element.numberSeqFormHandler().formMethodDataSourceWrite();
}
public void delete()
{
    ttsbegin;
    element.numberSeqFormHandler().formMethodDataSourceDelete();
    super();
    ttscommit;
}
public void create(boolean _append = false,boolean extern = false)
{
    element.numberSeqFormHandler().formMethodDataSourceCreatePre();
    super(_append);
    if (!extern)
    {
        element.numberSeqFormHandler().formMethodDataSourceCreate();
    }
}
Hepsi bu kadar...