Friday, December 23, 2016

MICROSOFT ERP'S ACRONYMS LIST .

MICROSOFT ERP'S ACRONYMS LIST .

Are you confused by all of the acronyms used by Microsoft and VARs? Oops, I just did it; VAR – Value Added Reseller. I do my very best to eliminate the three-letter acronyms when speaking with those evaluating ERP solutions, however I know a couple may slip through; so, to be safe, below is a quick reference guide. Going thru the selection process for a new application is hard enough so keep this list handy or better yet just say, “What does that stand for?”
AA: Analytical Accounting
AM: Advanced Management (an edition of Microsoft Dynamics GP)
AS: Authentication Service
BE: Business Essentials (an edition of Microsoft Dynamics GP)
BI: Business Intelligence
BP: Business Portal
BRAP: Business Ready Advantage Plan
BPOS: Business Productivity Online Standard Suite:  Microsoft’s cloud services, including versions of Exchange, SharePoint, Live Meeting , Office Communicator and Dynamics software.
BRL: Business Ready Licensing
CALS    Client Access Licenses: Associated with a server product e.g. SQL Server.
CfMD: Certified for Microsoft Dynamics
CRM: Customer Relationship Management
DCO: Dynamics Client for Office
DDV: Drill Down Viewer
EFT: Electronic Fund Transfer
EDI   Electronic Data Interchange: The direct transfer of data from one computer to another without the use of paper.
ERP: Enterprise Resource Planning
GL: General Ledger
GP: Microsoft Dynamics GP (formerly Great Plains)
HR: Human Resources
IIS: Internet Information Services
IM: Integration Manager
ISV: Integrated Software Vendor
KPI: Key Performance Indicator
LMT: License Model Transition
MBL: Module Based Pricing
MR: Management Reporter (formerly FRx)
MRP: Manufacturing Resource Planning
PDK: Personal Data Keeper
PM: Payables Management
PO: Purchase Order
PTO: Paid Time Off
RM: Receivables Management
SAAS: Software as a Service. Delivering software over the Internet or “Cloud Computing”.  Often associated with a “Pay as you go service”.
SIS: Single Instance Storage
SLP: System List Price
SOP: Sales Order Processing
SP: SharePoint
SPLA: Services Provider License Agreement
SRS: SQL Reporting Services
UI: User Interface
VAR: Value Added Reseller
VPC: Virtual Personal Computer
WSF: Windows SharePoint Foundation
XBRL: Extensible Business Reporting Language

AX 2012 R3 : How to Import Contoso Demo Data

AX 2012 R3 : How to Import Contoso Demo Data


Pre-requisites:

1-      Download the test data transfer tool from the below mentioned link.

Test Data transfer Tool is available on partner resource.

Go on following link

https://informationsource.dynamics.com//RFPServicesOnline/Rfpservicesonline.aspx?ToolDocName=Microsoft+Dynamics+AX+2012+Test+Data+Transfer+Tool+(Beta)%7cQJ4JEM76642V-8-1465

 

2-      Download demo data for AX2012 R3 from partner source site.Below is the link

 https://ax.help.dynamics.com/en/wiki/walkthrough-import-demo-data-for-ax-2012-r3-by-using-the-test-data-transfer-tool/

·         Extract the demo data files from DynamicsAX2012R3DemoData.exe .

·         The output folder will contain the files of following extension types:

·          Run the Test Data Transfer Tool.Exe file to install the utility.

·         Open AX client and import the .XPO named (MetaDataXMLGenerator.Xpo)

Run the job <MetadataXMLGenerator(usr)>, a  meta data file will be generated and the path will be displayed in the infolog as shown in the snapshot below:

         Copy the metadata file from the above path and paste it in [lists] folder (where Test Data Transfer Tool has been extracted). If the file already exists, then overwrite the file.

·         Stop MS Dynamics AX service.

·         Open command prompt using administrator and navigate to the path where the Test Data Transfer Tool is extracted).

·         Run the following command:

Dp.exe Import “C:\R3DemoData\DynamicsAXR3DemoData” DynamicsAXR3

C:\R3DemoData\DynamicsAXR3DemoData—— update the path accordingly

DynamicsAXR3—— provide the database name.

If we enter ‘Y’, then following screen will open up describing the count for importing the table data and Error (if they come up)

·         The process may prolong depending upon machine configuration.

·         On successful import, Open AX client and data will show up. There might be some errors which can be ignored.

 

Thursday, December 22, 2016

AX 2012 PARALLEL COMPILATION COMMAND SCRIPT IN CMD(COMMAND PROMPT)

AX 2012 PARALLEL COMPILATION COMMAND SCRIPT IN CMD(COMMAND PROMPT)
AxBuild.exe for Parallel Compile on AOS of X++ to p-code [AX 2012]

OPEN COMMAND PROMPT AND GO TO THE  FOLLOWING PATH:
C:\Program Files\Microsoft Dynamics AX\60\Server\MicrosoftDynamicsAXR3\bin

NOW RUN THE BELOW COMMAND

>.\AXBUILD.EXE XPPCOMPILEALL /S=01 /ALTBIN="C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin" /WORKERS=10

S=01 IS THE OS INSTANCE NAME
WORKERS = 10 ARE THE PARALLEL COMPILES(for faster X++ compiles )



EXPORT MODEL AND IMPORT MODEL FILES IN AX 2012 POWERSHELL AND CMD COMMAND PROMPT

EXPORT MODEL AND IMPORT MODEL FILES IN AX 2012 POWERSHELL AND CMD COMMAND PROMPT

Export an .axmodel file (Windows PowerShell)

  1. On the Start menu, point to All Programs, point to Administrative Tools, and then click Microsoft Dynamics AX Management Shell.
  2. At the Windows PowerShell command prompt, PS C:\>, type the following command, and then press ENTER.
    Export Command Syntax :
    Export-AXModel –Model <name> -File <Filename.axmodel>
    Example : 
    Export-AXModel –Model SecurityModel -File C:\SecurityModel.axmodel


Import an .axmodel file (Windows PowerShell)
    1. On the Start menu, point to All Programs, point to Administrative Tools, and then click Microsoft Dynamics AX Management Shell.
    2. At the Windows PowerShell command prompt, PS C:\>, type the following command, and then press ENTER.
    Import Command Syntax :
    Install-AXModel -File <Filename.axmodel> -Details
    Exmaple :
    Install-AXModel -File C:\SecurityModel.axmodel -Details

AX2012 AXUTIL commands to Import and Export Models

// Export
AxUtil export /model:"TestModel" /file:TestModel.axmodel

// Import
AxUtil import /file:TestModel.axmodel

C:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities>AxUtil 

Saturday, December 17, 2016

Dynamics AX 2012 Create Purchase Order Through Code in X++ Vikas Mehta

How to Create Purchase Order Through Code in X++

static void PurchOrderCreate(Args _args)
{
    NumberSeq numberSeq;
    PurchTable purchTable;
    PurchLine purchLine;
    ttsBegin;
    numberSeq = NumberSeq::newGetNum(PurchParameters::numRefPurchId());
    numberSeq.used();
    purchTable.PurchId = numberSeq.num();
    purchTable.initValue();
    purchTable.initFromVendTable(VendTable::find('8009'));
    if (!purchTable.validateWrite())
    {
        throw Exception::Error;
    }
    purchTable.insert();
    purchLine.PurchId = purchTable.PurchId;
    purchLine.ItemId = 'A0001';
    purchLine.createLine(true, true, true, true, true, true);
    ttsCommit;
    info(strFmt("Purchase order '%1' has been created",purchTable.PurchId));
}

Collection Classes in Ax 2012 : Set , Map , List , Array

Collection Classes in Ax 2012
Collection Classes

We cannot store objects in arrays (x++ class) or containers. The Microsoft Dynamics AX collection classes have been designed for storing objects. 

Below are collection classes: Set , Map , List , Array 

A Set is used for the storage and retrieval of data from a collection in which the members are unique. The values of the members serve as the key according to which the data is automatically ordered. Thus, it differs from a List collection class where the members are placed into a specific position, and not ordered automatically by their value.

The functionality of Sets is similar with list.  A Set is just an unordered list of items, while a list of items held by a Map
are indexed via via a key.

static void Set(Args _args)
{
    Set setOne;
    Set setTwo;
    SetEnumerator enumerator;
    Int value;
    setOne = new Set(types::Integer);
    setOne.add(4);
    setOne.add(6);
    setOne.add(3);
   
    enumerator = setOne.getEnumerator();
    while (enumerator.moveNext())
    {
        value = enumerator.current();
        info(strFmt("%1",value));      
    }
}

Output :- 3
                 4
                 6

A List object contains members that are accessed sequentially. Lists are structures that can contain members of any X++ type. All the members in the same list must be of the same type.
List:
Lists are structures that may contain any number of elements that are
accessed sequentially. Lists may contain values of any X++ type. All the
values in the list must be of __the same__(this is the main difference
between lists and containers) type, given in the creation of the list. The
implementation of lists is such that traversal of the list elements is __very
fast.

static void List(Args _args)
{
    List integerList = new List(Types::Integer);
    ListEnumerator enumerator;
    // Add some elements to the list
    integerList.addEnd(1);
    integerList.addEnd(4);
    integerList.addEnd(3);
    // Set the enumerator
    enumerator = integerList.getEnumerator();
    // Go to beginning of enumerator
    enumerator.reset();
    //Go to the first element in the List
    while(enumerator.moveNext())
    {
        info(strfmt("%1", enumerator.current()));
    }
}

Output :- 1
                 4
                 3

A Map object associates one value (the key) with another value. Both the key and value can be of any valid X++ type, including objects. The types of the key and value are specified in the declaration of the map. The way in which maps are implemented means that access to the values is very fast.

A map is a data type that associates one (key) value with another value [An
analog - a small table in memory with two fields: Keys, Values]. Both the key
and value values may be of any valid X++ type, including objects. The types
of the key and the value are given in the declaration of the map. The
implementation of maps is such that access to the values is _very fast_.
Don’t confuse map X++ types with Map objects in AOT, wich are used for
mapping tables with similar structures of fields

static void Map(Args _args)
{
    Map mapTest;
    MapEnumerator enumerator;
  
    mapTest = new Map(Types::String, Types::Integer);
   
    mapTest.insert("One", 1);
    mapTest.insert("Two", 2);
   
    enumerator = mapTest.getEnumerator();
    while (enumerator.moveNext())
    {
        info(strfmt("Key - %1 , Value  - %2.",enumerator.currentKey(),enumerator.currentValue()));
    }
}

Output:- Key - One , Value  - 1.
                Key - Two , Value  - 2.

Containers:
Containers are dynamic and have no limits. They can contain elements of
almost all data types: Boolean, integer, real, date, string, container,
arrays, tables, and extended data types. However, objects may not be stored
in containers.
Containers in AX are used very often. It’s easy to work with them. But…
data in containers are stored sequentially, and thus retrieved sequentially.
This means that containers provide slower data access if you are working with
_large numbers_ of records. In case of large numbers of records use temporary

tables.

AX 2012 X++ code to import from EXCEL files COMVARIANT Vikas Mehta

static void readExcelFile(Args _args)
{
    SysExcelApplication         application;
    SysExcelWorkbooks           workbooks;
    SysExcelWorkbook            workbook;
    SysExcelWorksheets          worksheets;
    SysExcelWorksheet           worksheet;
    SysExcelCells               cells;
    Filename                    filename;
    COMVariantType              type;
   
int                         rowNo;
    SampleTable       SampleTable;
    str COMVariant2Str(COMVariant _cv,
int _decimals = 0, int _characters = 0, int _separator1 = 0, int _separator2 = 0)
    {
       
switch (_cv.variantType())
        {
           
case (COMVariantType::VT_BSTR):
           
return _cv.bStr();
           
case (COMVariantType::VT_R4):
           
return num2str(_cv.float(),_characters,_decimals,_separator1,_separator2);
           
case (COMVariantType::VT_R8):
           
return num2str(_cv.double(),_characters,_decimals,_separator1,_separator2);
           
case (COMVariantType::VT_DECIMAL):
           
return num2str(_cv.decimal(),_characters,_decimals,_separator1,_separator2);
           
case (COMVariantType::VT_DATE):
           
return date2str(_cv.date(),123,2,1,2,1,4);
           
case (COMVariantType::VT_EMPTY):
           
return "";
           
default: throw error(strfmt("@SYS26908", _cv.variantType())); } return "";
    }
rowNo   = 2;//If the excel file having header.
application = SysExcelApplication::construct();
workbooks = application.workbooks();
filename = @"C:\temp";//Excel file path.
try
    {
        workbooks.open(filename);
    }
   
catch (Exception::Error)
    {
       
throw error("File cannot be opened.");
    }
    workbook = workbooks.item(1);
    worksheets = workbook.worksheets();
    worksheet = worksheets.itemFromNum(1);
    cells = worksheet.cells();
type = cells.item(rowNo, 1).value().variantType();
while (type != COMVariantType::VT_EMPTY)
    {
        type = cells.item(rowNo+1, 1).
value().variantType();
SampleTable.clear();
SampleTable.MainAccountId = COMVariant2Str(cells.item(rowNo, 1).value());

SampleTable.insert();
rowNo++;//To get next column number in the loop.
    }
info('fim');
application.quit();
}



Related Posts Plugin for WordPress, Blogger...