Friday, 21 February 2014

How to get SID of ax user system in ax 2012

static void GetUserSID(Args _args)
{
str windowsUser = 'anshuljain.in\\anshul.jain'; // DomainName\\userId
#Aif
#File
networkALias alias;
networkDomain domain;

int pos, len;
sid userSid;
Microsoft.Dynamics.IntegrationFramework.Util util;
;
//Split the windowsUser into domain and alias
len = strlen(windowsUser);
pos = strfind(windowsUser, #FilePathDelimiter, 1,len);
domain = substr(windowsUser, 1, pos-1);
alias = substr(windowsUser, pos+1, len - pos);

new InteropPermission(InteropKind::ClrInterop).assert();
// BP Deviation Documented
util = new Microsoft.Dynamics.IntegrationFramework.Util();

//Get the Windows SID for this user
// BP Deviation Documented
userSid = util.GetUserSid(domain, alias);
CodeAccessPermission::revertAssert();

info(userSid);
}

Thursday, 20 February 2014

How to perform a successful round in AX from real to integer?

static void Job(Args _args)
{
    int amount1, amount2;
    real amount1 = 785.78, amount2 = 450.35;
    ;
    amount1 = decround(amount1, 0);
    amount2 = decround(amount2, 0);
    // It shows 786, 450
    info(strfmt("%1, %2", amount1, amount2));
}

Export Data to Excel file in AX 2012

static void ExportImportData(Args _args)
{
SysExcelApplication xlsApplication;
SysExcelWorkBooks xlsWorkBookCollection;
SysExcelWorkBook xlsWorkBook;
SysExcelWorkSheets xlsWorkSheetCollection;
SysExcelWorkSheet xlsWorkSheet;
SysExcelRange xlsRange;
ExportImportRecords exportImportRecords; //Table used to export data
int row = 1;
str fileName;
;
fileName = “C:\\Libraries\Documents\exportImportRecords.xlsx”;
xlsApplication = SysExcelApplication::construct();
//Create Excel WorkBook and WorkSheet
xlsWorkBookCollection = xlsApplication.workbooks();
xlsWorkBook = xlsWorkBookCollection.add();
xlsWorkSheetCollection = xlsWorkBook.worksheets();
xlsWorkSheet = xlsWorkSheetCollection.itemFromNum(1);
xlsWorkSheet.cells().item(row,1).value(“Account Num”);
xlsWorkSheet.cells().item(row,2).value(“Name”);
xlsWorkSheet.cells().item(row,3).value(“Phone”);
row++;
while select exportImportRecords
{
if(row == 10)
break;
xlsWorkSheet.cells().item(row,1).value(exportImportRecords.ID);
xlsWorkSheet.cells().item(row,2).value(exportImportRecords.Name);
xlsWorkSheet.cells().item(row,3).value(exportImportRecords.Phone);
row++;
}
if(WinApi::fileExists(fileName))
WinApi::deleteFile(fileName);
xlsApplication.visible(true);
info(“Export Completed”);
}

Import Data from Excel File in AX 2012

static void importRecord(Args _args)
{
SysExcelApplication xlsApplication;
SysExcelWorkBooks xlsWorkBookCollection;
SysExcelWorkBook xlsWorkBook;
SysExcelWorksheets xlsWorkSheetCollection;
SysExcelWorksheet xlsWorkSheet;
SysExcelRange xlsRange;
SysExcelCells Cells;
SysExcelCell RCell;
CommaIO inFile;
int nRow,i;
DialogField dialogPath;
Dialog dialog;
Filename filename;
Name Name;
ID ID;
Phone Phone;
income income;
importrecord exportImportRecords; //Table used to store data
;
dialog = new Dialog(“Import”);
dialogPath = dialog.addField(extendedTypeStr(Filenameopen), “File Name”);
dialog.run();
if (dialog.run())
{
filename = (dialogPath.value());
}
inFile = new CommaIO (filename, ‘R’);
if (!inFile || infile.status() != IO_Status::Ok )
{
throw error (strfmt(“@SYS19312″,filename));
}
try
{
xlsApplication = SysExcelApplication::construct();
xlsWorkBookCollection = xlsApplication.workbooks();
xlsWorkBookCollection.open(filename);
xlsWorkSheetCollection = xlsApplication.worksheets();
xlsWorkSheet = xlsWorkSheetCollection.itemFromNum(1);
Cells = xlsWorkSheet.Cells();
nRow = 2;
RCell = Cells.Item(nRow, 1);
while (RCell.value().bstr() != “”)
{
ID = any2int(RCell.value().bStr());
RCell = Cells.item(nRow,2);
Name = RCell.value().bStr();
RCell = Cells.item(nRow,3);
Phone = RCell.value().bStr();
RCell = Cells.item(nRow,4);
income = any2real(RCell.value().bStr());
exportImportRecords.ID = ID;
exportImportRecords.Name = Name;
exportImportRecords.Phone = Phone;
exportImportRecords.income = income;
exportImportRecords.insert();
nRow++;
RCell = Cells.Item(nRow, 1);
}
xlsApplication.quit ();
xlsApplication.finalize ();
info(“Import completed”);
}
catch( Exception::Error)
{
xlsApplication.quit ();
xlsApplication.finalize ();
ttsabort;
info(“Unable to process the excel import “);
}
}

How to create XML file through code in Ax 2012

static void ExportXML(Args _args)
{
    XmlDocument     doc;
    XmlElement      nodeXml;
    XmlElement      nodeTable;
    XmlElement      nodeAccount;
    XmlElement      nodeName;
    XmlFile            xmlFile; // Table Name

    #define.filename(@' D:\XMLFile.xml')

    doc = XmlDocument::newBlank();
    nodeXml = doc.createElement('xml');
    doc.appendChild(nodeXml);
    while select RecId,Id, Name,Phone from xmlFile
    {
    nodeTable = doc.createElement(tableStr(XmlFile));
    nodeTable.setAttribute(fieldStr(XmlFile, RecId),
    int642str(xmlFile.RecId));
    nodeXml.appendChild(nodeTable);
    nodeAccount = doc.createElement(fieldStr(XmlFile, Id));
    nodeAccount.appendChild(doc.createTextNode(xmlFile.Id));
    nodeTable.appendChild(nodeAccount);
    nodeName = doc.createElement(fieldStr(XmlFile, Name));
    nodeName.appendChild(doc.createTextNode(xmlFile.Name));
    nodeTable.appendChild(nodeName);
    nodePhone = doc.createElement(fieldStr(XmlFile, Phone));
    nodePhone.appendChild(doc.createTextNode(xmlFile.Phone));
    nodeTable.appendChild(nodePhone);
    }
    doc.save(#filename);
    info(strFmt("File %1 created.", #filename));
    }

Update Records of an existing Item in ax 2012

static void UpdateImportItem(Args _args)
{
    SysExcelApplication                       xlsApplication;
    SysExcelWorkBooks                         xlsWorkBookCollection;
    SysExcelWorkBook                          xlsWorkBook;
    SysExcelWorksheets                        xlsWorkSheetCollection;
    SysExcelWorksheet                         xlsWorkSheet;
    SysExcelRange                             xlsRange;
    SysExcelCells                             Cells;
    SysExcelCell                              RCell;
    CommaIO                                   inFile;
    int                                       nRow,i;
    DialogField                               dialogPath;
    Dialog                                    dialog;
    Filename                                  filename;

    EcoResProductMaster                       ecoResProductMaster;
    EcoResProductIdentifier                   ecoResProductIdentifier;
    EcoResProductDimensionGroupProduct        ecoResProductDimensionGroupProduct;
    EcoResProductMasterModelingPolicy         ecoResProductMasterModelingPolicy;
    EcoResStorageDimensionGroupProduct        ecoResStorageDimensionGroupProduct;
    EcoResTrackingDimensionGroupProduct       ecoResTrackingDimensionGroupProduct;
    EcoResConfiguration                       ecoResConfiguration;
    EcoResProductMasterConfiguration          ecoResProductMasterConfiguration;
    EcoResDistinctProductVariant              ecoResDistinctProductVariant;
    EcoResProductVariantConfiguration         ecoResProductVariantConfiguration;

    InventTable                               inventTable;
    InventTableModule                         inventTableModule;
    InventItemSetupSupplyType                 inventItemSetupSupplyType;

    EcoResStorageDimensionGroupItem           ecoResStorageDimensionGroupItem;
    EcoResTrackingDimensionGroupItem          ecoResTrackingDimensionGroupItem;

    InventModelGroupItem                      inventModelGroupItem;
    InventItemGroupItem                       inventItemGroupItem;

    InventDim                                 inventDim;
    InventDimCombination                      inventDimCombination;

    //PdsCWProduct                              pdsCWProduct;
    EcoResProductDisplayProductNumber         ecoResProductDisplayProductNumber;
    EcoResProductSearchName                   ecoResProductSearchName;
    EcoResProductType                         ecoResProductType;
    EcoResDistinctProduct                     ecoResDistinctProduct;

    //Traslation
    EcoResProductTranslation                  ecoResProductTranslation;
    LanguageId                                LanguageId;
    EcoResProductName                         ecoResProductName;
    EcoResDescription                         ecoResDescription;
    //EcoResProductDimensionGroup
    EcoResProductDimensionGroup               ecoResProductDimensionGroup;
    EcoResProductDimensionGroupName           ecoResProductDimensionGroupName;
    Description                               description;
    //EcoResStorageDimensionGroup
    EcoResStorageDimensionGroup               ecoResStorageDimensionGroup;
    EcoResStorageDimensionGroupName           ecoResStorageDimensionGroupName;
    //Description                               description;
    //EcoResTrackingDimensionGroup
    EcoResTrackingDimensionGroup              ecoResTrackingDimensionGroup;
    EcoResTrackingDimensionGroupName          ecoResTrackingDimensionGroupName;
    //EcoResProductMaster
    //RetailColorGroupId                        retailColorGroupId;
    //RetailSizeGroupId                         retailSizeGroupId;
    //RetailStyleGroupId                        retailStyleGroupId;
    EcoResVariantConfigurationTechnologyType  ecoResVariantConfigurationTechnologyType;
    ;
    dialog = new Dialog("Import");
    dialogPath = dialog.addField(extendedTypeStr(Filenameopen), "File Name");
    dialog.run();
    if (dialog.run())
    {
        filename = (dialogPath.value());
    }
    inFile = new CommaIO (filename, 'R');
    if (!inFile || infile.status() != IO_Status::Ok )
    {
        throw error (strfmt("@SYS19312",filename));
    }
    try
    {
        xlsApplication          = SysExcelApplication::construct();
        xlsWorkBookCollection   = xlsApplication.workbooks();
        xlsWorkBookCollection.open(filename);
        xlsWorkSheetCollection  = xlsApplication.worksheets();
        xlsWorkSheet            = xlsWorkSheetCollection.itemFromNum(1);
        Cells                   = xlsWorkSheet.Cells();
        nRow = 2;
        RCell = Cells.Item(nRow, 1);
        while (RCell.value().bStr() != "")
        {
            ecoResProductDisplayProductNumber = RCell.value().bStr();
            RCell  = Cells.item(nRow,2);
            //pdsCWProduct = any2enum( RCell.value().bStr());
            RCell  = Cells.item(nRow,3);
            ecoResProductType =str2enum(ecoresproducttype, RCell.value().bStr());
            RCell  = Cells.item(nRow,4);
            ecoResProductSearchName   = RCell.value().bStr();
            RCell  = Cells.item(nRow,5);
            ecoResProductName   = RCell.value().bStr();
            RCell  = Cells.item(nRow,6);
            ecoResDescription   = RCell.value().bStr();
            RCell  = Cells.item(nRow,7);
            LanguageId   = RCell.value().bStr();
            RCell  = Cells.item(nRow,8);
            ecoResProductDimensionGroupName   = RCell.value().bStr();
            RCell  = Cells.item(nRow,9);
            description = RCell.value().bStr();
            RCell  = Cells.item(nRow,10);
            ecoResStorageDimensionGroupName = RCell.value().bStr();
            RCell  = Cells.item(nRow,11);
            description = RCell.value().bStr();
            RCell  = Cells.item(nRow,12);
            ecoResTrackingDimensionGroupName = RCell.value().bStr();
            RCell  = Cells.item(nRow,13);
            description = RCell.value().bStr();
            RCell  = Cells.item(nRow,14);
            //retailColorGroupId = RCell.value().bStr();
            RCell  = Cells.item(nRow,15);
            //retailSizeGroupId = RCell.value().bStr();
            RCell  = Cells.item(nRow,16);
            //retailStyleGroupId = RCell.value().bStr();
            RCell  = Cells.item(nRow,17);
            ecoResVariantConfigurationTechnologyType = str2enum(ecoResVariantConfigurationTechnologyType, RCell.value().bStr());
            nRow++;
            RCell = Cells.Item(nRow, 1);
        }
        xlsApplication.quit ();
        xlsApplication.finalize ();
       // info("Import completed");
    }
    catch( Exception::Error)
    {
        //Close Excel.
        xlsApplication.quit ();
        xlsApplication.finalize ();
        ttsabort;
        info("Unable to process the excel import ");
    }

    try
    {
        //ProductMaster
      //  ecoResProductMaster.clear();
      //  ecoResProductMaster.initValue();
        select forUpdate RecId from ecoResProductMaster where ecoResProductMaster.DisplayProductNumber== ecoResProductDisplayProductNumber;
        {
        ecoResProductMaster.ProductType = ecoResProductType;
        ecoResProductMaster.DisplayProductNumber = ecoResProduct::findByProductNumber(ecoResProductDisplayProductNumber).DisplayProductNumber;
        ecoResProductMaster.SearchName = ecoResProductSearchName;
        ecoResProductMaster.VariantConfigurationTechnology = ecoResVariantConfigurationTechnologyType;
        //ecoResProductMaster.RetailColorGroupId = retailColorGroupId;
        //ecoResProductMaster.RetailSizeGroupId = retailSizeGroupId;
       // ecoResProductMaster.RetailStyleGroupId = retailStyleGroupId;

     //   if (ecoResProductMaster.validateWrite())
      //  {
            ecoResProductMaster.update();
          //  ecoResProductIdentifier.clear();
       //     ecoResProductIdentifier.initValue();
           select forUpdate RecId from  ecoResProductIdentifier where ecoResProductIdentifier.Product == ecoResProductMaster.RecId;
          {
            ecoResProductIdentifier.ProductNumber = ecoResProductDisplayProductNumber;
           // ecoResProductIdentifier.update();
          }
            //Product dimension group
           // ecoResProductDimensionGroupProduct.clear();
           // ecoResProductDimensionGroupProduct.initValue();
           // ecoResProductDimensionGroupProduct.initFromProduct(ecoResProductMaster);
            ecoResProductDimensionGroupProduct.ProductDimensionGroup = EcoResProductDimensionGroup::findByDimensionGroupName(ecoResProductDimensionGroupName).RecId;
           // if (ecoResProductDimensionGroupProduct.validateWrite())
            //{
             //   ecoResProductDimensionGroupProduct.update();
            //}

            //Storage dimension group
         //   ecoResStorageDimensionGroupProduct.clear();
         //   ecoResStorageDimensionGroupProduct.initValue();
          select forUpdate RecId from ecoResStorageDimensionGroupProduct where  ecoResStorageDimensionGroupProduct.Product == ecoResProductMaster.RecId;
            ecoResStorageDimensionGroupProduct.StorageDimensionGroup = EcoResStorageDimensionGroup::findByDimensionGroupName(ecoResStorageDimensionGroupName).RecId;
           // if (ecoResStorageDimensionGroupProduct.validateWrite())
           // {
              //  ecoResStorageDimensionGroupProduct.update();
           // }

            //Tracking dimension group
          //  ecoResTrackingDimensionGroupProduct.clear();
          //  ecoResTrackingDimensionGroupProduct.initValue();
            select forUpdate RecId from ecoResTrackingDimensionGroupProduct where ecoResTrackingDimensionGroupProduct.Product == ecoResProductMaster.RecId;
            ecoResTrackingDimensionGroupProduct.TrackingDimensionGroup = EcoResTrackingDimensionGroup::findByDimensionGroupName(ecoResTrackingDimensionGroupName).RecId;
            //if (ecoResTrackingDimensionGroupProduct.validateWrite())
           // {
               // ecoResTrackingDimensionGroupProduct.update();
           // }

            //Product modeling policy
         //   ecoResProductMasterModelingPolicy.clear();
         //   ecoResProductMasterModelingPolicy.initValue();
           // ecoResProductMasterModelingPolicy.ProductMaster == ecoResProductMaster.RecId;
          //  if (ecoResProductMasterModelingPolicy.validateWrite())
          //  {
                //ecoResProductMasterModelingPolicy.update();
          //  }

            //Product translation
            EcoResProductTranslation::createOrUpdateTranslation(ecoResProductMaster.RecId, ecoResProductName, ecoResDescription);

            //Configuration
            ecoResConfiguration = EcoResConfiguration::findByName(description);
            if (!ecoResConfiguration)
            {
               // ecoResConfiguration.clear();
                //ecoResConfiguration.initValue();
                ecoResConfiguration.Name = description;
               // ecoResConfiguration.update();
            }

            //Configuration assigned to product master
            //ecoResProductMasterConfiguration.clear();
           // ecoResProductMasterConfiguration.initValue();
          select forupdate RecId    from ecoResProductMasterConfiguration where ecoResProductMasterConfiguration.Configuration == ecoResConfiguration.RecId;
          //  ecoResProductMasterConfiguration.Configuration = ecoResConfiguration.RecId;
          {
            ecoResProductMasterConfiguration.Description = description;
            ecoResProductMasterConfiguration.ConfigProductDimensionAttribute = EcoResProductDimensionAttribute::inventDimFieldId2DimensionAttributeRecId(fieldNum(InventDim, ConfigId));
            ecoResProductMasterConfiguration.ConfigProductMaster = ecoResProductMaster.RecId;
          //  ecoResProductMasterConfiguration.update();
          }
            //Product variant
          //  ecoResDistinctProductVariant.clear();
          //  ecoResDistinctProductVariant.initValue();
            ecoResDistinctProductVariant.DisplayProductNumber = EcoResProductNumberBuilderVariant::buildFromProductNumberAndDimensions(
            ecoResProductMaster.productNumber(),
            EcoResProductVariantDimValue::getDimensionValuesContainer(description, "", ""));
            ecoResDistinctProductVariant.SearchName = ecoResProductMaster.SearchName + ecoResProductSearchName/*ConfigId*/;
            ecoResDistinctProductVariant.ProductType = ecoResProductMaster.ProductType;
            ecoResDistinctProductVariant.ProductMaster = ecoResDistinctProductVariant::find(ecoResProductMaster.RecId).ProductMaster;
           // ecoResDistinctProductVariant.update();

            //Product variant configuration
          //  ecoResProductVariantConfiguration.clear();
          //  ecoResProductVariantConfiguration.initValue();
            ecoResProductVariantConfiguration.initFromDistinctProductVariant(ecoResDistinctProductVariant);
            ecoResProductVariantConfiguration.ProductDimensionAttribute = EcoResProductDimensionAttribute::inventDimFieldId2DimensionAttributeRecId(fieldNum(InventDim, ConfigId));
            ecoResProductVariantConfiguration.Configuration = ecoResConfiguration.RecId;
          //  ecoResProductVariantConfiguration.update();

            //Product variant translation
            EcoResProductTranslation::createOrUpdateTranslation(ecoResDistinctProductVariant.RecId, ecoResProductName, ecoResDescription);
            }
            //Released product
           // inventTable.clear();
           // inventTable.initValue();
            inventTable.initFromEcoResProduct(ecoResProductMaster);
            select forupdate RecId from inventTable where inventTable.ItemId == ecoResProductDisplayProductNumber;
          {
          inventTable.NameAlias = ecoResProductSearchName;
           // if (inventTable.validateWrite())
           // {
               // inventTable.update();
              }
                //Inventory model group
               // inventModelGroupItem.clear();
              //  inventModelGroupItem.initValue();
              select forUpdate RecId from inventModelGroupItem where inventModelGroupItem.ItemId == inventTable.ItemId;
               {
                inventModelGroupItem.ItemDataAreaId = inventTable.dataAreaId;
                //inventModelGroupItem.ItemId = inventTable.ItemId;
                inventModelGroupItem.ModelGroupId = "FIFO";
                inventModelGroupItem.ModelGroupDataAreaId = curext();
               // inventModelGroupItem.update();
              }

                //Item group
               // inventItemGroupItem.clear();
                //inventItemGroupItem.initValue();
            select forUpdate RecId from inventItemGroupItem where   inventItemGroupItem.ItemId == inventTable.ItemId;
              {
                inventItemGroupItem.ItemDataAreaId = inventTable.dataAreaId;
                //inventItemGroupItem.ItemId = inventTable.ItemId;
                inventItemGroupItem.ItemGroupId = "Parts";
                inventItemGroupItem.ItemGroupDataAreaId = curext();
               // inventItemGroupItem.update();
              }

                //Extended product details - Inventory
               // inventTableModule.clear();
               // inventTableModule.initValue();
               select forUpdate RecId from inventTableModule where inventTableModule.ItemId == inventTable.ItemId;
              {
                inventTableModule.ModuleType = ModuleInventPurchSales::Invent;
              //  inventTableModule.update();
              }

                //Extended product details - Purchase
               // inventTableModule.clear();
               // inventTableModule.initValue();
              select forUpdate RecId from inventTableModule where   inventTableModule.ItemId == inventTable.ItemId;
              {
                inventTableModule.ModuleType = ModuleInventPurchSales::Purch;
               // inventTableModule.update();
              }

                //Extended product details - Sales
               // inventTableModule.clear();
               // inventTableModule.initValue();
               select forUpdate RecId from inventTableModule where inventTableModule.ItemId == inventTable.ItemId;
              {
                inventTableModule.ModuleType = ModuleInventPurchSales::Sales;
              //  inventTableModule.update();
              }

                //Warehouse items
                InventItemLocation::findDefault(inventTable.ItemId);

                //Supply type setup
                //inventItemSetupSupplyType.clear();
                //inventItemSetupSupplyType.initValue();
                select forUpdate RecId from inventItemSetupSupplyType where inventItemSetupSupplyType.ItemId == inventTable.ItemId;
              {
                inventItemSetupSupplyType.ItemDataAreaId = inventTable.DataAreaId;
               // inventItemSetupSupplyType.update();
              }

                //Product storage dimension group
                ecoResStorageDimensionGroupProduct = EcoResStorageDimensionGroupProduct::findByProduct(ecoResProductMaster.RecId);

                if (ecoResStorageDimensionGroupProduct.RecId)
                {
                    //ecoResStorageDimensionGroupItem.clear();
                   // ecoResStorageDimensionGroupItem.initValue();
                    select forUpdate RecId from ecoResStorageDimensionGroupItem where ecoResStorageDimensionGroupItem.ItemId == inventTable.ItemId;
                    {
                    ecoResStorageDimensionGroupItem.ItemDataAreaId = inventTable.DataAreaId;
                   // ecoResStorageDimensionGroupItem.ItemId = inventTable.ItemId;
                    ecoResStorageDimensionGroupItem.StorageDimensionGroup   = ecoResStorageDimensionGroupProduct.StorageDimensionGroup;
                   // ecoResStorageDimensionGroupItem.update();
                    }
                }

                //Product tracking dimension group
                ecoResTrackingDimensionGroupProduct = EcoResTrackingDimensionGroupProduct::findByProduct(ecoResProductMaster.RecId);
                if (ecoResTrackingDimensionGroupProduct.RecId)
                {
                    //ecoResTrackingDimensionGroupItem.clear();
                   // ecoResTrackingDimensionGroupItem.initValue();
                   select forUpdate RecId from ecoResTrackingDimensionGroupItem where  ecoResTrackingDimensionGroupItem.ItemId == inventTable.ItemId;
                    ecoResTrackingDimensionGroupItem.ItemDataAreaId = inventTable.DataAreaId;
                   // ecoResTrackingDimensionGroupItem.ItemId = inventTable.ItemId;
                    ecoResTrackingDimensionGroupItem.TrackingDimensionGroup = ecoResTrackingDimensionGroupProduct.TrackingDimensionGroup;
                   // ecoResTrackingDimensionGroupItem.update();
                }
         // }
           // inventDim.clear();
            inventDim.ConfigId = description;/*ConfigId*/
            inventDim = InventDim::findOrCreate(inventDim);

            //Released product variant
           // inventDimCombination.clear();
           // inventDimCombination.initValue();
            inventDimCombination.DistinctProductVariant = inventDimCombination::findByDistinctProductVariant(ecoResDistinctProductVariant.RecId).DistinctProductVariant;
            select forupdate RecId from inventDimCombination where inventDimCombination.ItemId == inventTable.ItemId;
          {
            inventDimCombination.InventDimId = inventDim.InventDimId;
            //inventDimCombination.update();
          }
        }
    //}
    catch
    {
        error("Error!");
        return;
    }
    info("Import completed !");
}

Use of Memo field in full text index in ax 2012

static void FullTextIndex(Args _args)
{
    TableName tableName;
    Query query;
    QueryBuildDataSource queryBDSource;
    QueryBuildRange queryBRange;
    QueryRun queryRun;
    query = new Query();
    queryBDSource = query.addDataSource(tableNum(TableName ));
    queryBRange = queryBDSource.addRange(fieldnum(TableName ,MemoFieldName),1,QueryRangeType::FullText);
    queryBRange.value("Company");
    queryRun = new QueryRun(query);
    while (queryRun.next())
    {
        tableName = queryRun.get(tableNum(TableName ));
        info(tableName.MemoFieldName);
    }
}