Wednesday, February 22, 2012

How to access an Access MDB Database from Microsoft Dynamics AX 2009

You can use the following code :


static void ConnectToAccess(Args _args)
{
//Declare connection object

CCADOConnection cn = new CCADOConnection();
CCADOCommand command = new CCADOCommand();
CCADORecordset rs = new CCADORecordset();
str Name;
;

//open connection and execute SQL command
cn.open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sample.mdb;Persist Security Info=False");
command.activeConnection(cn);
command.commandText("SELECT * FROM DEPARTMENTS");
rs = command.execute();


while (!rs.EOF())
{
info(Strfmt("%1",rs.fields().itemIdx(1).value())); //will display query value
rs.recordSet().moveNext();
}
cn.close();

}

Monday, February 13, 2012

Authorization Checks Code

Authorization Checks
Microsoft Dynamics AX 2009 performs automatic authorization when a user
accesses data through data sources on forms or reports. X++ code can also call
these checks in cases where automatic authorization does not occur.


if (hasSecurityKeyAccess(securitykeyNum(mySecurityKey),
AccessType::View))
{
//code requiring authorization goes here...
}
if (hasMenuItemAccess(menuItemDisplayStr(myMenuItem),
MenuItemType::Display)))
{
//code requiring authorization goes here...
}
DictTable dictTable = new DictTable(tablenum(myTable));
if (dictTable.rights >= AccessType::Insert))
{
//code requiring authorization goes here...
}
if
(isConfigurationkeyEnabled(configurationkeyNum(myConfigKey)
)
{
//code requiring authorization goes here...
}

Wednesday, February 1, 2012

Troubleshooting in the Development Workspace

Insufficient rights to start a Development Workspace error
To use the -development switch to start in the Development Workspace, you must have a
valid developer license code installed (X++ Source Code or MorphX Development Suite).
The Command menu is not available
The Command menu is only available if an Application Object Tree (AOT) window is open.
Press CTRL+D to open the AOT.
The Workspace menu items are not available
You must have a developer license code (X++ Source Code or MorphX Development Suite) to
open a Development Workspace.
The Application Workspace icon is not available
You must have a developer license code (X++ Source Code or MorphX Development Suite) to
open a Development Workspace.
Pressing CTRL+W does not open an Application Workspace.
No more than a total of eight workspaces can be opened in the same client session.
The Workspace toolbar is not available
To enable or disable the workspace toolbar, on the Tools menu, click Customize, and then
select or clear Workspace.

Troubleshooting in the Application Workspace
The Development Workspace icon is not available
There is no toolbar for workspace icons in the Application Workspace. To open a
Development Workspace from the Application Workspace, press CTRL+SHIFT+W.
The Workspace menu items are not available
You must have a developer license code (X++ Source Code or MorphX Development Suite) to
open a Development Workspace. Pressing CTRL+SHIFT+W does not open a Development
Workspace.
No more than eight workspaces can be opened in the same client session.

To open a Development Workspace using X++

To open a Development Workspace using X++
You can also open a Development Workspace directly from X++ code. For example, you can
add a customized button in the client Application Workspace to open a Development
Workspace. The following X++ code can be used to open a Development Workspace.


static void OpenDevWorkspace(Args _args)
{
int hWorkspace;
;
hWorkspace = infolog.createDevelopmentWorkspaceWindow();
}