Ax2012 Enus Deviv 04 PDF
Ax2012 Enus Deviv 04 PDF
Ax2012 Enus Deviv 04 PDF
Introduction
The following section describes a series of tasks that show the functionality used in the General ledger, Budgeting, and Fixed assets modules. Participants will be given the opportunity to understand the purpose of these modules from a users viewpoint. Additionally, several of the key data and object models related to these modules will be reviewed.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-1
4-2
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
An example of this would be if you had a subsidiary company in Canada, and your primary company is in the United States. When running reports you want to see the results of the business operations in Canadian dollars (CAD). To accomplish this, you must convert your U.S. dollars (USD) to CAD; the system uses the exchange rate defined on the Exchange rates form to convert the amounts for reporting purposes. Revaluation of foreign currency balances is a periodic task in the General ledger module. If the account in question is controlled by another module, such as the Customers or Vendors, then exchange rate adjustments should be performed in the Accounts receivable or Accounts payable module instead of the General ledger module.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-3
When performing a calculation in the context of a given legal entity, the exchange rate type and one of the currencies can be derived from the ledger that is associated with that legal entity. For example, assume that an accounting currency of USD and an exchange rate type of SELL are set up for a given ledger. When that ledger is passed to the calculation engine and the calculateTransactionToAccounting method is called, the calculation engine is able to automatically determine that the accounting currency is USD and the exchange rate type is SELL. In most cases, calculations will be performed in the context of a given ledger. When performing a calculation outside of the context of a ledger, it is still possible to provide all of the necessary information by using the methods that are prefixed with parm on the calculation engine.
CurrencyExchangeHelper Class
The CurrencyExchangeHelper class is introduced in Microsoft Dynamics AX 2012. It is the recommended Application Programming Interface (API) to perform calculations between currencies. The following examples illustrate its usage for the most common scenarios. This example calculates the amount in the context of the current ledger. This is indicated by passing Ledger::current() to the constructor method of the CurrencyExchangeHelper class.
CurrencyExchangeHelper currencyExchangeHelper; TransDate transactionDate; CurrencyCode transactionCurrency = 'CAD'; AmountCur amountToConvert = 100.50; boolean shouldRoundResult = true; AmountMst result; currencyExchangeHelper = CurrencyExchangeHelper::newExchangeDate( Ledger::current(), transactionDate); result = currencyExchangeHelper.calculateTransactionToAccounting(
4-4
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
NOTE: Additional code samples for calculating the transaction currency from the accounting currency, and calculating the amounts by using an exchange rate that is entered are available in the Shared Currencies and Exchange Rates (http://go.microsoft.com/fwlink/?LinkId=238176)white paper.
ExchangeRateHelper Class
The same information used to perform currency calculations is used to work with exchange rates. From currency To currency Date Exchange rate type
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-5
4-6
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-7
Chart of Accounts
A chart of accounts is a set of main accounts tracked by Microsoft Dynamics AX. It captures financial information that is used to make sound financial decisions. Each account is assigned an account number as a unique identifier. Each chart of accounts contains the account structures used by the chart of accounts to define the segments and the valid combinations of main accounts and financial dimension values. The chart of accounts is shared and it is also a list of main accounts and structures, used to define a chart of accounts in use by one or more ledgers.
The following elements comprise the shared chart of accounts. Chart of accounts Main accounts Account structures Advanced rules Financial dimensions Financial dimension values
4-8
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
View the data file from different perspectives to improve the effectiveness in tracking figures across accounts. Can be used throughout the system, and add dimensions to base data such as: o o o Ledger accounts Customers Vendors
You can use the Financial dimensions form to create financial dimensions that you can use as account segments for shared charts of accounts. Open General ledger > Setup > Financial dimensions > Financial dimensions. There are two basic types of financial dimensions. System-defined: Select a system-defined entity to base the financial dimension on. Financial dimension values will be created from this selection. For example, to create dimension values for projects, select Projects. A dimension value will be created for each project name. User-defined: To create a user-defined financial dimension, select < Custom dimension >.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-9
Account Structures
You can use the Configure account structures form to create one or more account structures. Open General ledger > Setup > Chart of accounts > Configure account structures. Accounts structures provide the segments and order of entry for the account number. Main account is a required segment for an account structure, but it does not have to be the first segment. The account structures are used to define the valid combinations which, together with the main accounts, form a chart of accounts. Multiple account structures allow a legal entity to track information for specific accounts without affecting information in other accounts. To change an existing account structure, and to enable some of the controls in this form, you must click Edit, so that the account structure has a Draft status.
4-10
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Main Account
The main account pattern represents just one of the possible segments in a ledger account. A main account is required in a ledger account, but it does not have to be the first segment. When referencing a main account as a foreign key, the developer should set up a reference to the RecId field in the MainAccount table.
Ledger Account
A ledger account contains the main account, account structure, and the financial dimension values that are needed to populate the related account structure and account rule structures. A foreign key representing a ledger account is a 64-bit integer field that contains the data from the corresponding RecId field in the DimensionAttributeValueCombination (or LedgerDimension) table. Foreign key fields for ledger accounts are named LedgerDimension because that is the alias used for the DimensionAttributeValueCombination table.
Multi-type Account
The multi-type account pattern consists of an account type field and its related ledger account or default account. In this pattern, a ledger account or default account can store accounts other than ledger accounts. When the account type field for the related account is set to ledger, this pattern becomes the default account or ledger account pattern (depending on the extended data type used for the field). If the account type field is not set to ledger, the pattern stores a system-generated account structure (used to specify which account number should be stored in the field) and an account number for the related account type. For example, if the account type field is set to customer, the related account number field will contain a customer number with a related account structure that indicates that the account number field should contain a single customer value.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-11
4-12
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Default Dimensions
The default dimension pattern represents a set of financial dimensions and their related values. A customer will set the values for given financial dimensions on master data records for defaulting purposes or directly on some transactions. In Microsoft Dynamics AX 2012, this pattern is represented by a single field. The single field is a foreign key reference to the RecId field in the DimensionAttributeValueSet table. This value references the correct record in the
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-13
Dimension Set
The dimension attribute set pattern represents a set of financial dimensions and their related enumeration values. This pattern is used in advanced general ledger processing where different financial dimensions can be handled differently, based on these stored enumeration values. The dimension attribute set pattern is used to store a set of financial dimensions and related data, such as enumeration values. This pattern is used in places where it is necessary to store additional information about dimensions, such as whether they are optional or required. For an example of this implementation, refer to the VendPaymMode form under Forms in the Application Object Tree (AOT). A foreign key representing a dimension attribute set is a 64-bit integer field that contains the data from the corresponding RecId field of the DimensionAttributeSet table. The new model allows you to store an unlimited number of financial dimensions.
4-14
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-15
4. Overload the following methods on the Segmented Entry control instance in the form design.
public void jumpRef() { ledgerDimensionDefaultAccountController.jumpRef(); } public void loadAutoCompleteData(LoadAutoCompleteDataEventArgs _e) { ledgerDimensionDefaultAccountController.loadAutoCompleteDat a(_e); super(_e); }
4-16
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
5. Overload the following methods on the data source field that backs the Segmented Entry control.
public Common resolveReference(FormReferenceControl _formReferenceControl) { return ledgerDimensionDefaultAccountController.resolveReference(); }
Control Options
There are four parameter methods available for specifying items that the control can link to and validate. These parameter methods should be called in the loadSegments method. These methods are called every time that the control receives focus. Always declaring the parameters in one method ensures that developers can easily verify whether all parameters have been correctly set. parmCurrentLedgerCOA: Specifies a particular chart of accounts for a legal entity from which to derive the list of main accounts and structures. The default value is the chart of accounts in the current legal entity.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-17
NOTE: The parameter name (LedgerPostingType) differs from the one for the Ledger Account control because, in this case, it only restricts what is shown in the lookup when the filter is selected. For account entry, it prevents entry of values entirely. parmIncludeFinancial and parmIncludeTotal: Specific main accounts can be excluded from the lookup and prevented from being entered manually. The IncludeStatistical and IncludeTotal parameters are used for validation and lookup to restrict valid values. The default value for each parameter is false.
NOTE: There is no special control for the main account pattern. This pattern uses a foreign key that has a standard pattern in Microsoft Dynamics AX 2012.
Control Options
The LedgerDimensionAccountController has several additional parameters available for validating, looking up, and saving ledger accounts from the Segmented Entry control. The following methods are used to set these parameters. parmCurrency: Specifies the currency code associated with the control being managed. The Currency parameter is used for validation and lookup to restrict valid values. The default value is empty and no restriction or validation is done against the currency. parmLockMainAccountSegments: Specifies whether the main account segment can be modified. The default value is false. parmJournalName: Specifies the journal name associated with the control being managed. The JournalName parameter is used for validation and lookup to restrict valid values. The default value is empty and no restriction or validation is done against the journal name.
4-18
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
These parameters should be specified in the loadSegments method. They are called every time the control receives focus. Always declaring the parameters in one method ensures that developers can easily verify if all parameters have been correctly set.
System-Defined Dimensions
With system-defined dimensions, it is not necessary to maintain two separate lists of values for an entity you want to track details for in the general ledger. When you set up a system-defined dimension, the values for the entity are automatically copied from the entity table into the dimension values. Any time the data is modified or a new record is inserted into the backing entity table, the information is automatically updated in the dimension values. Scenario Ken, the Controller, wants to track the vehicle details in the general ledger. Simon, the Business System Developer, needs to create a new system-defined dimension for vehicles so that Ken will not need to maintain a custom list of the vehicles in the Financial dimensions form. After the new system-defined dimension is created, Ken must set up the new financial dimension to be linked to the vehicles backing entity. Then, he must add the new financial dimension to the account structure or advanced rules for the chart of accounts. Simon also needs to add defaulting logic to the Vehicles form so that when a new vehicle is created, the financial dimension for vehicles will default to the current vehicle ID and cannot be changed. Then he must add logic to the Rentals form to copy the financial dimensions from the vehicle to the rental record.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-19
4-20
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-21
Challenge Yourself!
Use the information provided to create a new system-defined dimension for rentals. The table that stores rentals is called FMRentals.
Step by Step
To add a new system-defined dimension, follow these steps. 1. 2. 3. 4. Open the Development Workspace. Expand the Data Dictionary node in the AOT window. Right-click the Views node and then click New View. In the Properties window for the new view, set the following properties. a. Name = DimAttributeFMRental b. Label = Rentals c. FormRef = FMRental d. SingularLabel = Rental
4-22
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-23
Journals Overview
A journal is a worksheet you can use before you manually enter postings into the system. Before you use financials in Microsoft Dynamics AX, you must complete the setup procedures for journals. The procedures include the basic setup of journals such as journal names, controls, and texts. You can use journals quickly and efficiently when you set them up correctly. Both manual and system generated journals exist in Microsoft Dynamics AX. Examples of system generated journals are allocation journals and elimination journals. These journals are created automatically and are never created manually. Manual journal entries are generated by postings entered into the system such as a general journal entry. When you use a manual journal entry the transactions are not posted immediately. Before you post a manual entry, the journal can be changed, reviewed, approved, or deleted. In Microsoft Dynamics AX, you can use journals to do the following. Control different kinds of entries. You can apply an approval system so that special journals are posted only after they are approved. Review data imported from external ledger systems. You can ensure that all valid fields contain a value and that all restrictions for the transaction are fulfilled. Make sure that the necessary voucher series is set up before you create journals. You can set up number sequences and attach them to the appropriate references.
Users can post transactions to the following accounts by using a general journal. General ledger Bank Customer Vendor Projects Fixed assets
4-24
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
The information users enter in a general journal is temporary and can be changed if it remains unposted within the journal.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-25
The LedgerJournalName table contains defined journal names. Each journal name has a set of parameters that are implemented as fields in this table. The table contains journal names that are used in the Ledger, Customer (accounts receivable), Vendor (accounts payable), and Project modules.
4-26
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-27
The check() method is used when validating the journal. The checkWhenPost() method is used when validating the journal during posting and the updateNow() method handles the update of the posting. The posting is handled over to the LedgerVoucher class.
Transactions Overview
The General ledger module records the value of all company assets. This includes cash, accounts receivable, bank accounts, stocks, bonds, inventory, buildings, and machinery. Any event that changes the value of these assets should be reflected in ledger transactions.
4-28
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
The Inventory and warehouse management module keeps track of items available for sale. Every time an item is bought or sold, the corresponding figure that represents the inventory value in the General ledger module will change. These transactions come from inventory journals, sales orders, purchase orders, transfer orders, or other inventory transactions. The sales and purchase orders facilitate trade with vendors and customers. Related stock changes are handled by the Inventory and warehouse management module. Invoice payments occur through the Accounts payable and Accounts receivable modules by using invoice journals and payment journals. Every sales order generates revenue and a corresponding cost of goods sold. Both are reflected in the General ledger module. The Cash and bank management module keeps track of company bank accounts, whose balance values are also reflected in the General ledger module. When payments are posted to customer or vendor accounts using the payment journals the customer and vendor balances are updated at the same time. The Project management and accounting module keeps track of projects. This includes registration of hours and customer invoicing. Revenues and related costs are posted in the General ledger module. The periodic revenue assessment on fixed price projects is also reflected in related transactions in the General ledger module.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-29
4-30
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
LedgerVoucher Class
The task of the LedgerVoucher class is to control ledger transaction postings. You can use this class when you post ledger journals and other updates that contribute to ledger transactions. It verifies the posting is correct and that the voucher balances. The LedgerVoucher class holds all the vouchers in temporary storage (a list array) until the End method is called. The End method creates ledger transaction records from the temporary postings. An instance of LedgerVoucher can handle several individual vouchers in one transaction. All vouchers handled will be updated in the sum tables in one consolidated step. Each voucher is represented by an instance of LedgerVoucherObject. LedgerVoucherTransObject contains individual transactions that will be created. A LedgerTrans variable is defined in the class declaration to contain the future transaction. The class structure resembles the following. Posting (LedgerVoucher) Voucher (LedgerVoucherObject) o o Trans (LedgerVoucherTransObject) Trans
If new fields are added to the ledger transactions, this object can also hold the new information. The remaining task is to initialize the new fields which involves the following two steps. 1. Creating parm-method(s) to assign values to the field(s). 2. Changing the static method new() to include the new parm-methods. LedgerVoucher can handle posting with aggregated transactions. LedgerVoucher uses a RecordSortedList to sum up aggregated transactions. The sort order is defined in initLedgerTransList(), whereas the aggregation is calculated in the postGroup() method which handles all numeric fields that will be aggregated.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-31
AXLedgerJournalTrans Class
The Ax-classes provided with Microsoft Dynamics AX are an encapsulation of records and are typically used when importing data to Microsoft Dynamics AX. It is a best practice to import transactions by importing the data to a journal and letting the standard application handle the posting and generation of transactions. An import to LedgerJournalTrans can be handled by the classes AxLedgerJournalTable and AxLedgerJournalTrans.
4-32
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Requirement
Create a solution that contains a function to import ledger transactions into the general journal. The file consists of records with the following information: Ledger account Transaction date Voucher number Transaction text Currency code Amount in currency
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-33
To create a class which can import from a file, you extend this class and override these three methods.
Vouchers
When transactions are manually entered in the ledger journal, the vouchers are typically allocated automatically by using a number sequence. To assign the voucher during the import, the journal used should be set up with a manual number sequence for vouchers.
4-34
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Step by Step
To import ledger transactions into general journal, follow these steps. TIP: The code samples for this lab can be found in the AX2012_ENUS_DEVIV_04_02_LAB_CODE.txt file. You can copy and paste these code samples into the correct methods. 1. Import the file AX2012_ENUS_DEVIV_04_02_LAB.xpo that contains the AXABaseImport and the AXALedgerImportTransactions classes. Do not be concerned about the dialog or reading of the file. This is already implemented so that you can stay focused on the General ledger module. 2. Change the AXALedgerImportTransactions class. a. Override the preImport() method to create a journal header in the LedgerJournalTable table by using the AxBC interface AxLedgerJournalTable. Use the following code sample to guide you.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-35
4-36
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
NOTE: The sample mentioned in the requirement section is available in the file that is named AX2012_ENUS_DEVIV_04_02_SAMPLEFILE.txt. TIP: You can import the AX2012_ENUS_DEVIV_04_02_LAB_SOL.xpo file to verify and compare your solution.
Test
As described earlier, you need a journal related to a manual number sequence to assign voucher numbers read from the file. This includes the following steps: 1. Create a number sequence by using the path Organization administration > Common > Number sequences > Number sequences. Mark the sequence as manual on the General FastTab. 2. Change the parameters in the ledger module by using the path General ledger > Setup > General ledger parameters. Clear the Check for continuous numbers check box. 3. Create a new journal name by using the path General ledger > Setup > Journals > Journal names. Use the journal type Daily and relate the journal name to the voucher series created in the first step.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-37
4-38
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Budgeting Overview
You can use the Budgeting module to set up, create, and view budgets. Budgeting can include budget control, used to monitor the budget funds that are available for planned and actual purchases and expenditures. You can create budget register entries for the original budget, budget transfers, and budget revisions. You can also create budget register entries to manually reserve budget funds for purchases and planned expenditures by using the encumbrance or preencumbrance budget types. Budget register entries can be created automatically when budgets are transferred to the general ledger from other modules such as Project management and accounting or Fixed assets. You can determine which financial dimensions from the chart of accounts will be available for basic budgeting and budget control. When you configure budget control, you define budget intervals, budget cycle time spans, budget thresholds, budget managers, budget groups, and the calculation that is used to check for available budget funds. The available budget funds can be verified when source documents and accounting journals are entered. You can view the status and history of budget register entries, budget control statistics, actual versus budget amounts, budget details, and budget funds available.
One of most important management tools a company can use to make plans is to compare planned performance to actual performance. Planning for the general ledger is performed by creating budgets in the Budgeting module. A budget is a set of expected ledger transactions. Although a budget can be as finely detailed as actual transactions, budgets are more typically prepared at an aggregate level.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-39
4-40
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
The following areas are integrated with budget control. General journals Allocation journals Project expense journals Fixed asset journals Accounts payable invoice journals Accounts payable invoice approval journals Accounts payable invoice registers Vendor invoices Purchase orders
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-41
NOTE: The Project management and accounting module also uses its own budget control. It is only integrated with the Budgeting modules budget control through the Project expense journal. For more information about Project management and accounting budgeting functionality, refer to the Advanced Projects in Microsoft Dynamics AX 2012 course.
Budget Amounts
After you have set up and configured basic budgeting you can begin to enter budget amounts. If you plan to use budgeting workflows, create the workflows, and then assign them to budget codes before you begin to make budget register entries. Also, if you plan to use budget control, configure budget control before you enter budget amounts. The budget data is entered through the Budget register entry form that consists of a header and lines. The header information is applied to the whole budget register entry and the lines (account entries) are where budget amounts for specific dimension combinations are entered.
4-42
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
When you have completed entering the budget register entries, you must update the budget balances. This step is similar to posting a general journal and updates the budget amounts based on the budget account entries. The BudgetTransactionPost class is used to update the budget amounts from a single budget register entry. The checkHeader(), checkLine(), and checkLines() methods are used to validate the data that is entered. The run() method invokes these checks and has additional logic to check for workflow status when workflow is enabled for budgeting. The call to the postToGeneralLedger() method is called after the validation is completed. This method checks whether budget appropriations are enabled and if they are then a new journal is created to post the amount directly into the general ledger. When the postToGeneralLedger() method completes, the status of the budget register entries are updated to completed. The BudgetTransactionMultiPost class is used to invoke several instances of the BudgetTransactionPost class based on the selection criteria that is entered by the user.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-43
Budget Checking
When budget control is enabled for a specific source document, budget checks are completed automatically when the record is saved. The check is based on options specified in the budget control configuration except for the budget register which always perform a check on line save. You can also manually perform a budget check on a transaction. Budget checks are processed by using the BudgetControlProcessor class. There are core integrations to the Budget control framework through the following classes as well: BudgetControlSourceDocumentProcessor BudgetControlBudgetTransactionProcessor BudgetControlAccountingJournalProcessor
These classes handle common patterns for formulating the budget control check request for the BudgetControlProcessor based on the type of integrator. The BudgetControlCheckRequest class is used to capture the information that is required to check for available budget that relates an integrator to budgetary control. When this class is constructed, the BudgetCheckDetail, BedgetReturnDetails, and BudgetReleivingDetails classes (which all extend the BudgetSourceDetail class) are used to capture the ledger dimension and the currency amount details for the budget funds available check. NOTE: A portion of the budget control checking logic occurs through stored procedures on the SQL Server. The code for the SQL logic is contained in the BudgetControlSQLObjects class and the T-SQL code is deployed to the SQL Server at activation of the budget control configuration or first budget check. When a budget check is completed and returns an error or warning, you can use the Budget check errors or warnings form to view the details.
4-44
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
NOTE: The transfer of fixed assets to a low-value pool is an Australian feature and is not a part of the core functionality. You must enter transactions to track the acquisition, depreciation, and disposal of fixed assets. Sometimes you must change the value of an asset. For example, the value of land that your organization owns might increase, or you might have to reflect the fair market price of a specific asset.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-45
Because most fixed assets represent a significant investment for companies, the ability to track and keep sound financial records on fixed assets is important.
4-46
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-47
The AssetTable is the primary table for storing fixed assets. Each asset has one record in this table. Each fixed asset is assigned to a fixed asset group. The fixed asset groups are used to help simplify the setup of assets, for reporting and inquiries, and to serve as a template with default information for setting up an asset. The fixed asset groups and default data are stored in the AssetGroup table. Each asset can have several value models that are stored in the AssetBook. The default information for value models is stored in the AssetBookTable. Additionally, each asset can have several depreciation books. Each depreciation book for an asset is stored in the AssetDepBook table. The default information for a depreciation book is stored in the AssetDepBookTable. Depreciation books do not post to the general ledger like value models, so there is no accounting related to them. The depreciation books are used to calculate various values of the assets based on the depreciation profile selected for reporting purposes.
4-48
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Summary
This chapter introduced currencies and exchange rates. Microsoft Dynamics AX 2012 supports multiple currencies and making conversions between currencies. The CurrencyExchangeHelper and ExchangeRateHelper classes can be used to make currency conversions. Additionally, the chapter introduced the chart of accounts. The chart of accounts consists of main accounts and financial dimensions. The main accounts and dimensions are then constrained by the account structures and advanced rules in use by the chart of accounts. You can define two types of financial dimensions system-defined and custom lists. Financial dimensions and main accounts can also be combined to create dimension sets that are used to group and report on specific combinations of dimensions. Journals and transactions comprise the details of the general ledger. Journals are used to make manual adjustments and are posted by using the journal framework and the LedgerJournalCheckPost class. Other transactions such as sales order invoices or expense reports are posted by using automatic journals with the LedgerVoucher class hierarchy. You can use the Budgeting module to create budget amounts for a specified combination of the main account and financial dimensions. However, the main account is not required for budgeting. You can use budget control checking to enable a budget check on certain source documents. With this check you can warn a user or prevent a user from posting a transaction that exceeds specified budget thresholds. The Fixed asset module is also used to create and track information related to your companies fixed assets. You can keep multiple sets of books for each asset, and use the fixed asset journal to acquire, depreciate, or adjust assets.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-49
4. Which class is used to post a general journal? ( ) LedgerJournalPost ( ) LedgerJournalCheckPost ( ) LedgerVoucher ( ) LedgerVoucherPost 5. Which table is the primary table used for storing fixed asset information? ( ) AssetBook ( ) AssetTable ( ) AssetTrans ( ) AssetGroup
4-50
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-51
2.
3.
4-52
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Solutions
Test Your Knowledge
1. Which of the following tables are used for a new budget register entry? (Select all that apply) () BudgetTransactionHeader () BudgetTransactionLine ( ) LedgerBudgetHeader ( ) LedgerBudgetLine 2. Which class holds a list of transactions that are going to be posted for a particular voucher? ( ) LedgerVoucher () LedgerVoucherObject ( ) LedgerVoucherObjectTrans ( ) LedgerVoucherTransObject 3. Name the two types of financial dimensions in Microsoft Dynamics AX 2012 and describe what each type is used for. MODEL ANSWER: System-defined: Select a system-defined entity to base the financial dimension on. Financial dimension values will be created from this selection. For example, to create dimension values for projects, select Projects. A dimension value will be created for each project name. User-defined: To create a user-defined financial dimension, select < Custom dimension > 4. Which class is used to post a general journal? ( ) LedgerJournalPost () LedgerJournalCheckPost ( ) LedgerVoucher ( ) LedgerVoucherPost 5. Which table is the primary table used for storing fixed asset information? ( ) AssetBook () AssetTable ( ) AssetTrans ( ) AssetGroup
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
4-53
4-54
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement