Wednesday, October 22, 2014

Method Modifiers

There are several modifiers that can be applied to method declarations.

Public: Methods that are declared as public are accessible anywhere the class is accessible and can be overridden by subclasses. Methods that have no access modifier are implicitly public.

Private: Methods that are declared as private can be called only from methods in the class where the private method is declared.

Protected: Methods that are declared as protected can only be called from methods in the class and in subclasses that extend the class where the method is declared.

final: Indicates that the method cannot be overridden in any class that derives from its class.

Server: Establishes the location where the method is to be executed (on the server).
Can only be used on static methods. If the method is not static, you need to specify the location using the class property RunOn.

Client: Establishes the location where the method is to be executed (on the client).
Can only be used on static methods. If the method is not static, specify the location by using the class property RunOn.

abstract : The method is declared but not implemented in a parent class. The method must be overridden in subclasses.
If you try to create an object from a subclass where one or more of the abstract methods belonging to the parent class have not been overridden, you will get a compiler error.
Ex: SalesFormLetter

static: Specifies that the method is a class method and does not operate on an object.
static methods cannot refer to instance variables and are invoked by using the class name rather than on an instance of the class (MyClass::aStaticProcedure()).

Display: Indicates that the method's return value is to be displayed on a form or a report. The value cannot be altered in the form or report. The return value is typically a calculated value,
for example, a sum.

edit: Indicates that the method's return type is to be used to provide information for a field that is used in a form. The value in the field can be edited.

Monday, October 20, 2014

How to enable debugger

I am trying to set debugger showing a warning
"X++ debugging is not enabled for code running on Application Object Server"

Solution: open Ax Server Configuration>In Application Object Server tab set to true enable breakpoints to debugg X++ code running on this server



 
 
 
 
 
 

Application Object RunOn property


Object
RunOn Property
Class
Client, server, Called from (Specify the tier by setting the class RunOn property.)
Class instance method
Client, server, Called from
Class static method
Client, server, Called from
Form
Client
Report
Called from
Table
Called from
Table instance method
Called from
Table kernel method(insert, update…)unless overridden
Called from (You can override the table Called from RunOn property value by using server or client modifiers in the method declaration.)
Job
Client

Objects set to Called from can run from either the client or server, depending on where the object is called from

http://msdn.microsoft.com/EN-US/library/aa634829.aspx
 

New Modules in ax 2012 R2


AX 2009 Modules
AX 2012R2 Modules
General Ledger
General Ledger
Fixed Assets (New)
Bank
Cash and bank management
Accounts Payable
Accounts Payable
Procurement and sourcing (New)
Accounts Receivables
Accounts Receivables
Sales and Marketing (New)
Inventory Management
Product information (New)
Inventory and warehouse management
Expense management
Travel and expense management
Production
Production control
Project
Project management and accounting
Compliance and internal control (New)
Payroll(New)
Retail(New)


Monday, October 6, 2014

Error 1740: The endpoint is a duplicate

I have installed second AOS.when i am trying to start second AOS the following error
              

Solution: Two AOS using the same port. change the port for one AOS it will work fine.


How to change AOS ports:

http://technet.microsoft.com/EN-US/library/aa569616.aspx

Enable/Disable form control based on multiple rows select

 class PurchTableFormEventHandler {      [FormDataSourceEventHandler(formDataSourceStr(PurchTable, PurchTable), FormDataSourceEventType::Act...