Scenarios: I’m trying to create product/master product in Dynamics AX using AIF inbound port, the AIF services consume by C#.NET.
From AX 2012 R2, Item is replaced with Product. Item master was in Inventory Management Module, now there is a separate module for item/product creation Product information Management.
Some definitions you should know There are two types of Products in 2012 they are:
Product: Product information management/Common/Products/Products Product Master: Product information management/Common/Products/Products master Variants: To create a product variant, you must define at least one product dimension for a product master.
Base on JournalId on LedgerJournalTable you can use code below to post the transactions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 //Contract class [ DataMemberAttribute('gJournalId'), SysOperationDisplayOrderAttribute('1') ] public LedgerJournalId parmJournalNum(LedgerJournalId _journalId = gJournalId) { gJournalId = _journalId; return gJournalId; } //Processing class [SysEntryPointAttribute] public void process(MAV_PostCustPaymentJourContract _contract) { LedgerJournalTable ledgerJournalTable; LedgerJournalCheckPost postCustPaymentJournal; ledgerJournalTable = LedgerJournalTable::find(_contract.
The Microsoft Dynamics AX runtime manages the storage of value type data on the call stack and reference type objects on the memory heap.
The call stack is the memory structure that holds data about the active methods called during program execution. The memory heap is the memory area that allocates storage for objects that are destroyed automatically by the Microsoft Dynamics AX run-time.
Value types Value types include the built-in primitive types, extended data types, enumeration types, and built-in collection types.
1. Document services Document services use documents to represent business objects such as purchase and sales orders, customers, vendors, and so on.
A document service is composed of the following components:
Document query : This is a query that is created in the Application Object Tree (AOT) and contains all the tables that are related to the business object that you want to expose. Based on this query, the Document Service Generation Wizard can be used to generate the other artifacts that make up the document service.
SUMMARY Tool can be used for two different purposes. One is to install demo data and other one is elaborated as below. Customers often need to have a production dataset to use when building and validating customizations in non-production environments.
The Microsoft Dynamics AX 2012 Test Data Transfer Tool (beta) is a tool that helps move data between from production to non-production environments or from non-production environments to production environments to make a new production environment.
We use modifiedField() method to perform any actions after the field is modifed for example creating new table with 2 fields ItemId and ItemNameDisplay from Extended Data Types node in AOT then Override modifiedField() in Table’s method node, something likes:
1 2 3 4 5 6 7 8 9 10 11 public void modifiedField(FieldId _fieldId) { InventTable inventTable; super(_fieldId); switch (_fieldId) { case fieldNum(IBD_Invent,itemid): this.ItemNameDisplay = inventTable::find(this.itemid).NameAlias; break; } } The modifiedField() method is located on tables and it is called by a form (or a dataset) when any field is changed.
Expressions are usually used for appearance of the data in a report, change properties of the fields, calculate some values and display them in a proper way, compares values between data of fields and then display them.
Types of Expressions We have 3 types:
Globals Operators - Arithmetic, Comparison,Concatenation, Logical Common Functions - Text, Date & Time, Math, Inspection, Program Flow, Aggregate, Financial, Conversion, Miscellaneous We can see each and every one very deataily
Sometime we need this RecId value in DimansionAttributeValueCombination Table for some reasons likes putting new dimension in LedgerDimension field in LedgerJournalTrans Table, or somewhere else.
Suppose my Account structure likes: MainAcct - Dept - Woker - SubAcct - Item, you can custom base on your struture.
This code is for creating a record into DimansionAttributeValueCombination in code and then get RecID of this.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 static void createDimensionAttributeValueCombination(Args _args) { DimensionAttributeValueContract ValueContract; DimensionAttributeValueCombination davc; MainAccount valueMainAccount; DimensionStorage dimStorage; DimensionServiceProvider DimensionServiceProvider = new DimensionServiceProvider(); LedgerAccountContract LedgerAccountContract = new LedgerAccountContract(); List ListValueContract = new List(Types::Class); // Get main account with structure : Mainacct - DE - woker - subacct - item valueMainAccount = MainAccount::findByMainAccountId('910001'); //Get main account ValueContract = new DimensionAttributeValueContract(); ValueContract.