Home

Tuesday, February 25, 2014

Copy one field value in to another field in same table in Ax

1-Create Table --->TableA

2-Add Two fields Num and SerialNumberFormat

3-Run following job after inserting data in Num Field

static void OneFieldToAnotherField(Args _args)
{
    TableA  t1;
    ;
    ttsbegin;
    while select forupdate t1 where t1.Num == t1.num
    {
         t1.SerialNumberFormat = t1.num;
         t1.Num = "";
         t1.update();
    }
    ttscommit;
}

==============================================
code for update data for all company in ax:

static void JobTest(Args _args)
{
    DataArea  DataArea;
    TableA  t1;

   while select DataArea where !DataArea.isVirtual
    {
        t1.clear();
        t1 = null;
        changecompany (DataArea.Id)
        {
         ttsbegin;
   
    while select forupdate    t1 where t1.Num == t1.num
                                       && t1.dataAreaId == t1.dataAreaId
    {
         t1.SerialNumberFormat = t1.num;
         //t1.Num = "";
         t1.doUpdate();
    }
    ttscommit;
        t1= null;
    }
     
        }
    }


Thursday, February 20, 2014

Ax 2012 Exception handling Example

static void Customer(Args _args)
{
    Dialog dialog;
    DialogField dialogCust;
    DialogField dialogGrp;
    DialogField dialogCur;
    CustTable   custTable;
    ;
    dialog = new dialog("Create new Customer");
    dialogCust = dialog.addField(extendedTypeStr(AccountNum),"Customer Account");
    dialogGrp = dialog.addField(extendedTypeStr(CustGroupId));
    dialogCur = dialog.addField(extendedTypeStr(CurrencyCode));

    if(dialog.run())
    {
        try
        {
            CustTable.AccountNum = dialogCust.value();
            CustTable.CustGroup  = dialogGrp.value();
            CustTable.Currency   = dialogcur.value();
            if (!CustTable.validateWrite())
            {
                 throw error("Please Enter all required field");
            }
            else if(custTable.AccountNum == dialogCust.value())
            {
                    custTable.insert();
                    info("Record inserted Successfully");
               //  throw error("Record already exist ");
            }
            if(custTable.AccountNum != dialogCust.value())
                {
                    //custTable.insert();
                    //info("Record inserted Successfully");
                    throw error("Record already exist aaaa ");
                }
        }
        catch
        {
             info ("An error occered please Try again");
        }
    }


}

Sunday, February 9, 2014

Finding the Day[BussinessDay or WeekendDay] from the given Date


static void day_Type(Args _args)
{
    TransDate   d = mkdate(24,06,2011);
    str         day;
    str         type;

    void typeOfDay(str _day)
    {
        switch(_day)
        {
            case 'Monday' :
                type = 'Bussiness Day';
            break;

            case 'Tuesday' :
                type = 'Bussiness Day';
            break;

            case 'Wednesday' :
                type = 'Bussiness Day';
            break;

            case 'Thursday' :
                type = 'Bussiness Day';
            break;

            case 'Friday' :
                type = 'Bussiness Day';
            break;

            case 'Saturday' :
                type = 'Weekend Day';
            break;

            case 'Sunday' :
                type = 'Weekend  Day';
            break;
        }
    }

    day = dayname(dayofwk(d));
    typeOfDay(day);

    info(type);
}

Thursday, February 6, 2014

Create Product Master by Code Ax 2012

static void ProductMastersAnd Imports(Args _args)
{
    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;

    try
    {
        //ProductMaster
        ecoResProductMaster.clear();
        ecoResProductMaster.initValue();

        ecoResProductMaster.ProductType = EcoResProductType::Item;
        ecoResProductMaster.DisplayProductNumber = "S3Testing";
        ecoResProductMaster.SearchName = "S3Testing";
        ecoResProductMaster.VariantConfigurationTechnology = EcoResVariantConfigurationTechnologyType::PredefinedVariants;

        if (ecoResProductMaster.validateWrite())
        {
            ecoResProductMaster.insert();

            ecoResProductIdentifier.clear();
            ecoResProductIdentifier.initValue();

            ecoResProductIdentifier.ProductNumber = "S3Testing";
            ecoResProductIdentifier.Product = ecoResProductMaster.RecId;

            ecoResProductIdentifier.insert();

            //Product dimension group
            ecoResProductDimensionGroupProduct.clear();
            ecoResProductDimensionGroupProduct.initValue();
            ecoResProductDimensionGroupProduct.initFromProduct(ecoResProductMaster);

            ecoResProductDimensionGroupProduct.ProductDimensionGroup = EcoResProductDimensionGroup::findByDimensionGroupName("Con-Dim").RecId;

            if (ecoResProductDimensionGroupProduct.validateWrite())
            {
                ecoResProductDimensionGroupProduct.insert();
            }

            //Storage dimension group
            ecoResStorageDimensionGroupProduct.clear();
            ecoResStorageDimensionGroupProduct.initValue();
            ecoResStorageDimensionGroupProduct.Product = ecoResProductMaster.RecId;

            ecoResStorageDimensionGroupProduct.StorageDimensionGroup = EcoResStorageDimensionGroup::findByDimensionGroupName("Con-Dim").RecId;

            if (ecoResStorageDimensionGroupProduct.validateWrite())
            {
                ecoResStorageDimensionGroupProduct.insert();
            }

            //Tracking dimension group
            ecoResTrackingDimensionGroupProduct.clear();
            ecoResTrackingDimensionGroupProduct.initValue();
            ecoResTrackingDimensionGroupProduct.Product = ecoResProductMaster.RecId;

            ecoResTrackingDimensionGroupProduct.TrackingDimensionGroup = EcoResTrackingDimensionGroup::findByDimensionGroupName("Con-Dim").RecId;

            if (ecoResTrackingDimensionGroupProduct.validateWrite())
            {
                ecoResTrackingDimensionGroupProduct.insert();
            }

            //Product modeling policy
            ecoResProductMasterModelingPolicy.clear();
            ecoResProductMasterModelingPolicy.initValue();

            ecoResProductMasterModelingPolicy.ProductMaster = ecoResProductMaster.RecId;

            if (ecoResProductMasterModelingPolicy.validateWrite())
            {
                ecoResProductMasterModelingPolicy.insert();
            }

            //Product translation
            EcoResProductTranslation::createOrUpdateTranslation(ecoResProductMaster.RecId, "STesting", "STesting");

            //Configuration
            ecoResConfiguration = EcoResConfiguration::findByName("STest-1");

            if (!ecoResConfiguration)
            {
                ecoResConfiguration.clear();
                ecoResConfiguration.initValue();
                ecoResConfiguration.Name = "STest-1";
                ecoResConfiguration.insert();
            }

            //Configuration assigned to product master
            ecoResProductMasterConfiguration.clear();
            ecoResProductMasterConfiguration.initValue();
            ecoResProductMasterConfiguration.Configuration = ecoResConfiguration.RecId;
            ecoResProductMasterConfiguration.Description = "STest-1";
            ecoResProductMasterConfiguration.ConfigProductDimensionAttribute = EcoResProductDimensionAttribute::inventDimFieldId2DimensionAttributeRecId(fieldNum(InventDim, ConfigId));
            ecoResProductMasterConfiguration.ConfigProductMaster = ecoResProductMaster.RecId;
            ecoResProductMasterConfiguration.insert();

            //Product variant
            ecoResDistinctProductVariant.clear();
            ecoResDistinctProductVariant.initValue();
            ecoResDistinctProductVariant.DisplayProductNumber = EcoResProductNumberBuilderVariant::buildFromProductNumberAndDimensions(
                ecoResProductMaster.productNumber(),
                EcoResProductVariantDimValue::getDimensionValuesContainer("STest-1", "", ""));
            ecoResDistinctProductVariant.SearchName = ecoResProductMaster.SearchName + "STest-1"/*ConfigId*/;
            ecoResDistinctProductVariant.ProductType = ecoResProductMaster.ProductType;
            ecoResDistinctProductVariant.ProductMaster = ecoResProductMaster.RecId;
            ecoResDistinctProductVariant.insert();

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

            //Product variant translation
            EcoResProductTranslation::createOrUpdateTranslation(ecoResDistinctProductVariant.RecId, "STesting", "STesting");

            //Released product
            inventTable.clear();
            inventTable.initValue();

            inventTable.initFromEcoResProduct(ecoResProductMaster);

            inventTable.ItemId = "STesting";
            inventTable.NameAlias = "STesting";

            if (inventTable.validateWrite())
            {
                inventTable.insert();

                //Inventory model group
                inventModelGroupItem.clear();
                inventModelGroupItem.initValue();
                inventModelGroupItem.ItemDataAreaId = inventTable.dataAreaId;
                inventModelGroupItem.ItemId = inventTable.ItemId;
                inventModelGroupItem.ModelGroupId = "FIFO";
                inventModelGroupItem.ModelGroupDataAreaId = curext();
                inventModelGroupItem.insert();

                //Item group
                inventItemGroupItem.clear();
                inventItemGroupItem.initValue();
                inventItemGroupItem.ItemDataAreaId = inventTable.dataAreaId;
                inventItemGroupItem.ItemId = inventTable.ItemId;
                inventItemGroupItem.ItemGroupId = "Parts";
                inventItemGroupItem.ItemGroupDataAreaId = curext();
                inventItemGroupItem.insert();

                //Extended product details - Inventory
                inventTableModule.clear();
                inventTableModule.initValue();
                inventTableModule.ItemId = inventTable.ItemId;
                inventTableModule.ModuleType = ModuleInventPurchSales::Invent;
                inventTableModule.insert();

                //Extended product details - Purchase
                inventTableModule.clear();
                inventTableModule.initValue();
                inventTableModule.ItemId = inventTable.ItemId;
                inventTableModule.ModuleType = ModuleInventPurchSales::Purch;
                inventTableModule.insert();

                //Extended product details - Sales
                inventTableModule.clear();
                inventTableModule.initValue();
                inventTableModule.ItemId = inventTable.ItemId;
                inventTableModule.ModuleType = ModuleInventPurchSales::Sales;
                inventTableModule.insert();

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

                //Supply type setup
                inventItemSetupSupplyType.clear();
                inventItemSetupSupplyType.initValue();
                inventItemSetupSupplyType.ItemId = inventTable.ItemId;
                inventItemSetupSupplyType.ItemDataAreaId = inventTable.DataAreaId;
                inventItemSetupSupplyType.insert();

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

                if (ecoResStorageDimensionGroupProduct.RecId)
                {
                    ecoResStorageDimensionGroupItem.clear();
                    ecoResStorageDimensionGroupItem.initValue();
                    ecoResStorageDimensionGroupItem.ItemDataAreaId = inventTable.DataAreaId;
                    ecoResStorageDimensionGroupItem.ItemId = inventTable.ItemId;
                    ecoResStorageDimensionGroupItem.StorageDimensionGroup   = ecoResStorageDimensionGroupProduct.StorageDimensionGroup;
                    ecoResStorageDimensionGroupItem.insert();
                }

                //Product tracking dimension group
                ecoResTrackingDimensionGroupProduct = EcoResTrackingDimensionGroupProduct::findByProduct(ecoResProductMaster.RecId);

                if (ecoResTrackingDimensionGroupProduct.RecId)
                {
                    ecoResTrackingDimensionGroupItem.clear();
                    ecoResTrackingDimensionGroupItem.initValue();
                    ecoResTrackingDimensionGroupItem.ItemDataAreaId = inventTable.DataAreaId;
                    ecoResTrackingDimensionGroupItem.ItemId = inventTable.ItemId;
                    ecoResTrackingDimensionGroupItem.TrackingDimensionGroup = ecoResTrackingDimensionGroupProduct.TrackingDimensionGroup;
                    ecoResTrackingDimensionGroupItem.insert();
                }
            }

            inventDim.clear();
            inventDim.ConfigId = "STest-1";/*ConfigId*/
            inventDim = InventDim::findOrCreate(inventDim);

            //Released product variant
            inventDimCombination.clear();
            inventDimCombination.initValue();
            inventDimCombination.DistinctProductVariant = ecoResDistinctProductVariant.RecId;
            inventDimCombination.ItemId = inventTable.ItemId;
            inventDimCombination.InventDimId = inventDim.InventDimId;
            inventDimCombination.insert();
        }
    }
    catch
    {
        error("Error!");
        return;
    }

    info("Done!");
}

Wednesday, February 5, 2014

How to Use Find Method in Table & Form Level

1)How to use Find Method in Table Level.
public void modifiedField(fieldId _fieldId)
{
;
super(_fieldId);
switch(_fieldId)
{
case fieldNum(Cust_new,AccountNum) :
{
this.Name = CustTable::find(this.AccountNum).Name;
}
break;
}
}
2.How to use find Method in form Level
Form->DS->Field->modified()
public void modified()
{
CustTable ct;
;
super();

Cust_new.Name = CustTable::find(Cust_new.AccountNum).Name;
// Or we can use following code
//ct = CustTable::find(Cust_new.AccountNum);
//Cust_new.Name = ct.Name;

}