Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

80312A-ENUS Error Log

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Error Log for Product 80312A,

Development III in Microsoft Dynamics AX 2012


Contents
Send Feedback to support@mscourseware.com ....................................................................................... 1
Provide Product and Contact Information ................................................................................................ 1
Describe Errors and Suggested Changes .................................................................................................. 1
How to Complete the Error Log ............................................................................................................... 1
For More Information ............................................................................................................................... 1
Instructor Notes ............................................................................................................................................. 2
PowerPoint Slide Decks ................................................................................................................................ 2
Classroom Setup Guide ................................................................................................................................. 2
Trainer Materials DVD ................................................................................................................................. 2
Student Materials .......................................................................................................................................... 2


Error Log for Product 80312A,
Development III in Microsoft Dynamics 2012
1

Send Feedback to support@mscourseware.com
Send all courseware feedback to support@mscourseware.com. You can send feedback in the
body of an e-mail message or by attaching this error log to an e-mail message. Use this
courseware support alias to report any of the following issues:
Error log submissions, including suggestions
Classroom setup issues
Presentation problems, such as broken build slides or animations
Missing files
Provide Product and Contact Information
When providing feedback, include the product number and product title in the subject line of your
e-mail message. So that we can contact you with questions about your feedback, include the
following information in your e-mail message:
Name
Company
MCP ID number
Describe Errors and Suggested Changes
When you report errors or send comments, include the following information either in your e-
mail message or in the error log, as described on the following page:
Part number of the document or compact disc, if available and relevant
Page number or location of error or suggested change
Complete description of the error or suggested change

Some feedback may require research or reproduction of specific conditions in a lab environment.
Please provide any details that are necessary to help quickly research or verify the error.
How to Complete the Error Log
To use this document to record your feedback:
Locate the section for the component that you want to comment on.
Enter reference information, describe the error or suggested change, and enter the appropriate
type code. Select from the following type codes:
1 = Technical error or technical change
2 = Clarification or simplification
3 = Typographical error
4 = Other
To add more rows, position your cursor in the last column of the last row, and then press the
tab key.
Send the completed form to the courseware support alias at support@mscourseware.com.
For More Information
For other issues, or for more information regarding the courseware support program, visit
Courseware Support Web site.
To view the current error log for this product, visit the MCT Download Center, and then navigate
to the appropriate product folder, and then product name.
Error Log for Product 80312A,
Development III in Microsoft Dynamics 2012
2

Instructor Notes
Date added Page # Topic Name Error or suggested change Type

PowerPoint Slide Decks
Date
added
Document
Name
Slide # Topic Name Error or suggested change Type

Classroom Setup Guide
Date added Page # Topic Name Error or suggested change Type

Trainer Materials DVD
Date added Page # Topic Name Error or suggested change Type

Student Materials
Date added Page # Topic Name Error or suggested change Type
06 Jun 2013 All All
1. Use AX2012 R2 Appendix.zip for updated
procedures and labs for AX 2012 R2. Use this as
a companion to the core training manual.
1
04-Jun-2012 1-11 Lab 1.1 Create a Test
Case
Section: Step by Step
2. Open the AOT.
3. Create a new class.
4. Rename the class to MyTestSuite.
5. Edit the ClassDeclaration so that it extends the
SysTestCase class, and add a variable
logisticsPostalAddress of type
LogisticsPostalAddress. Attribute the class with
SysTestTargetAttribute, specifying
MyTestSuite as the object name and
UtilElementType::Class as the type of the object.
6. Add a public method called testCity. Attribute it
with SysTestMethodAttribute to show that it is a
test method.
7. Add a line of code to the method:
this.assertEquals("New York",

Error Log for Product 80312A,
Development III in Microsoft Dynamics 2012
3

logisticsPostalAddress.City);
8. Override the setUp method on the class. It should
look like the following code.

Reason for the update: Steps 4 and 5 need to be updated
because the Attributes are missing. The attributes are
shown on earlier pages but omitted on step 4 and 5.
25-nov-2011 2-3 Chapter 2: Working with
Data
Lesson: While Select
Topic: General
Optimization
Sub-topic: Aggregation
select sum(qty) from inventTrans;
qty = inventTrans.qty;
select count(recID) from inventTrans;
countInventTrans = inventTrans.recId;


Reason for the update: missing information in the code
1
25-nov-2011 2-4 Chapter 2: Working with
Data
Lesson: While Select
Topic: General
Optimization
Sub-topic: Join
The following information needs to be removed:
This is the default behavior in all "join" statements involving
more than one table from the following table groups:
Miscellaneous
Main
Transaction
Worksheet Header
Worksheet Line


Reason for the update: this information was removed
because it is not the default behavior any longer.
2
25-nov-2011 2-8 Chapter 2: Working with
Data
Lesson: While Select
Topic: Access Plan
Repair
Sub-topic:
ForceNestedLoop
The keyword is ForceNestedLoop NOT ForceNestedLoops. 3
25-nov-2011 2-13 Chapter 2: Working with
Data
Lab 2.1 Fetching Data
Name of Figure 2.1 is QUERY IN AOT 2
25-nov-2011 2-32 Chapter 2: Working with
Data
Lesson: Parm tables
The following sentence has been updated:

In the SalesFormLetterParmData.CreateParmLine()
method the SalesParmLine record is set from SalesLine
table by use of the SalesParmLine.initFromSalesLine()
method

Reason for the update: the method
SalesFormLetter.CreateParmLine() no longer exists on
SalesFormLetter class.
2
25-nov-2011 2-34 Chapter 2: Working with select validTimeState(asAtDate) 1
Error Log for Product 80312A,
Development III in Microsoft Dynamics 2012
4

Data
Lesson: Date
Effectiveness
Topic: Selecting Date
Effective Data
exchangeRates;
select validTimeState(fromDate, toDate)
exchangeRates;


Reason for the update: the code in the first box does not
compile. The from keyword must be removed.
25-nov-2011 2-38 Chapter 2: Working with
Data
Lesson: Data Integration
Topic: FileIO

TextIO
The TextIO class provides support for file input and output
operations of non-ANSI code page.

The TextIO.new method has an optional argument that
specifies the code page of the file. The default value is
UTF-16LE (the Microsoft Windows native Unicode
representation). It is best to use this most of the time,
especially if end-users might modify the file in a text editor
outside Microsoft Dynamics AX.

When files are read, the TextIO class examines the first
few bytes of the file for a byte-order mark (BOM) and
automatically handles UTF-8, UTF-16LE, and UTF-16BE. If
no BOM is found, the file is assumed to be in the ANSI
Code Page (ACP) format.

There are three methods typically used to write data to a
TextIO object:

TextIO.write() - writes the specified value to the
file.
TextIO.writeExp(container) - writes the contents
of a container. Elements are separated by
character defined in TextIO.outFieldDelimiter().
TextIO.writeChar(int) - writes a unicode
character represented by an integer.

The following is sample code which writes a simple string
to a text file:

FileName fileName = 'c:\\test.txt';
FileIoPermission permission;
TextIO textIO;
str outputText;
#File
;

permission= new
FileIoPermission(filename,#io_write);
permission.assert();

textIO= new TextIO(filename, #io_write,
#utf8Format);

1
Error Log for Product 80312A,
Development III in Microsoft Dynamics 2012
5

if (textIO)
{
outputText = "text that will go
into the text file.";

textIO.write(outputText); //write
the text to the file.
textIO = null; //Close the file.
}
Reason for the update: FileIO class no longer exists in AX
2012.
25-nov-2011 2-39 Chapter 2: Working with
Data
Lesson: Data Integration
Topic: Creating XML

static void XMLWriteEmplAddr(Args
_args)
{
FileIoPermission permission;
XMLDocument xmlDoc =
XMLDocument::newBlank();
XMLNode rootNode;
XMLNode NodeEmpl, NodeName,
NodeAddr;
XMLElement xmlElement;
XMLText xmlText;
HCMWorker hcmWorker;
;

permission= new
FileIoPermission('c:\\Empl_Address_List
.xml','w');
permission.assert();

xmlDoc = XMLDocument::newBlank();

// Create first line containing version
info
rootNode =
xmlDoc.documentElement();
xmlElement =
xmlDoc.createElement(EmployeeList);
rootNode =
xmlDoc.appendChild(xmlElement);
while select hcmWorker
{
// Create a node for the
Employee record
xmlElement =
xmlDoc.createElement(Employee);
NodeEmpl =
rootNode.appendChild(xmlElement);

// Create a node for the name
xmlElement =
xmlDoc.createElement(EmplName);
NodeName =
NodeEmpl.appendChild(xmlElement);
xmlText =
xmlDoc.createTextNode(hcmWorker.Name())
;
1
Error Log for Product 80312A,
Development III in Microsoft Dynamics 2012
6

NodeName.appendChild(xmlText);

// Create a node for the
address
xmlElement =
xmlDoc.createElement(EmplAddr);
NodeAddr =
NodeEmpl.appendChild(xmlElement);
xmlText =
xmlDoc.createTextNode(hcmWorker.primary
Address());
NodeAddr.appendChild(xmlText);
}
// Save the file

xmldoc.save('c:\\Empl_Address_List.xml'
);
}

Reason for the update: the EmplTable no longer exists in
AX 2012. The code is updated with hcmWorker.
25-nov-2011 2-42 Chapter 2: Working with
Data
Lesson: Data Integration
Topic: ODBC
sql = "SELECT * FROM MYTABLE WHERE
FIELD =" + criteria + " ORDER BY
FIELD1,FIELD2 ASC";

Reason for the update: missing semicolon at end of SQL
ending in ASC.
1
25-nov-2011 2-43 Chapter 2: Working with
Data
Lesson: Data Integration
Topic: Microsoft Excel
// Creates the instance
ExcelApp.workbooks().open('c:\\test.xls
x');


Reason for the update: the code to extract a cell from
Excel must open the workbook with a double backslash (\\)
and the file extension for the image needs to be xlsx.
3
25-nov-2011 3-5 Chapter 3: Classes
Lesson: Collection
Classes
Topic: Map
while (enumerator.moveNext())
{
info(strfmt("%1 customers are
located in %2.",
enumerator.currentValue(),
enumerator.currentKey()));
}
Reason for the update: One right parenthesis is missing
at end of info statement near end of code.
3
25-nov-2011 3-30 Chapter 3: Classes
Lesson: RunBase
Framework
Topic: Run

where custTrans.AccountNum ==
custAccount

Reason for the update: The run method should instead
use custAccount rather than ledgerAccount.
1
25-nov-2011 4-19 Chapter 4: Forms This sentence was changed to: 1
Error Log for Product 80312A,
Development III in Microsoft Dynamics 2012
7

Lesson: Form Controls
Topic: Edit Methods
The following example is from the form CustOpenTrans
which is used to settle transactions against each other.
This method is used to mark which transactions are to be
settled.
The code was changed to:
// BP Deviation documented
public edit NoYes
editMarkTrans(boolean _set,
CustTransOpen _custTransOpen, NoYes
_markTrans)
{
NoYes returnMarkTrans;
if (_set)
{
if
(!custInterestWriteOffUnPostedJournal.
RecId || _markTrans == NoYes::Yes ||
Box::yesNo("@SYS328999",
DialogButton::No) ==
DialogButton::Yes)
{

manager.updateTransMarked(_custTransOp
en, _markTrans);
if
(SysCountryRegionCode::isLegalEntityIn
CountryRegion([#isoTH, #isoSA, #isoGB,
#isoIE])
&& _markTrans ==
NoYes::Yes
&& originator.TableId
== tableNum(LedgerJournalTrans)
&& taxWithhold !=
null)
{

taxWithhold.createTaxWithholdTrans_TH(
Error Log for Product 80312A,
Development III in Microsoft Dynamics 2012
8


manager.getSpecTrans(_custTransOpen),

manager.getSpecTrans(_custTransOpen).C
rossRate);
}

element.updateDesignDynamic();
if
(SysCountryRegionCode::isLegalEntityIn
CountryRegion([#isoTH, #isoSA, #isoGB,
#isoIE]))
{

taxWithholdTrans_ds.executeQuery();
}
// Enable/Disable 'Mark
transactions' button

element.updateMarkTransactionsButton()
;
if
(manager.getTransMarkedByOtherSpec(cus
tTransOpen))
{

markInvoiceLines.enabled(false);
}
else
{

markInvoiceLines.enabled(CustOpenTrans
LineManager::setMarkInvoiceButton(elem
ent.makeArgs()));
}

custInterestWriteOffUnPostedJournal.re
Error Log for Product 80312A,
Development III in Microsoft Dynamics 2012
9

read();

element.markWithBillingClassification(
_custTransOpen);
}
}

returnMarkTrans =
manager.getTransMarked(_custTransOpen)
;
return returnMarkTrans;
Reason for the update: The CustTransOpen form does
have the editMarkTrans method on dataSource
CustTransOpen.
25-nov-2011 6-6 Chapter 6: Workflow public static void main(Args args)
{
SalesCreditLimitApprSubmitManager
mClass = new
SalesCreditLimitApprSubmitManager();

mClass.submit(args);

Reason for the update: Code is missing.
2
25-nov-2011 At
several
instances
Short-cut key to compile

Press F7 to compile, not F8 as it is stated in several
sections in this course.
1

You might also like