To debug the X++ code that is running in
AIF, follow these steps:
1. Enable the X++ debugging feature in Microsoft Dynamics
AX 4.0. To do this, follow these steps:
a) On the Tools menu, click Options.
b) In the Options dialog box, click the Development tab.
c) In the Debug
mode list, click When Breakpoint.
d) Click Apply,
and then close the Options dialog box.
2. Start the Microsoft Dynamics AX Configuration utility.
3. In the Configuration
target list, click Business Connector.
4. On the Developer tab, click to select the Enable user breakpoints to debug
code running in the Business Connector check
box.
5. Click OK,
and then close the Microsoft Dynamics AX Configuration utility.
6. Manually start the debugging feature. To do this,
point to Development tools on the Tools menu, and then click Debugger.
Note The .Net Business Connector component cannot automatically start the debugging feature. Therefore, you must manually start the debugging feature.
Note The .Net Business Connector component cannot automatically start the debugging feature. Therefore, you must manually start the debugging feature.
7. Click Application
Object Tree.
8. Expand Classes,
expand AifOutboundProcessingService,
and then double-click processAsUser.
9. In the \Classes\AifOutboundProcessingService
- Editor dialog box, set the
character of theprocessAsUser method
to public.
10. Double-click run.
11. In the \Classes\AifOutboundProcessingService
- Editor dialog box, change
the code as follows.
Existing code
Existing code
12. ...
13. //Switches to the context of the user who submitted
this request
14. //Also switches to the company under which the request
was
15. //submitted.
16. // BP deviation documented
17. runas(outboundProcessingQueue.SubmittingUserId,
18. classnum(AifOutboundProcessingService),
19. staticmethodstr(AifOutboundProcessingService,
processAsUser),
20. [outboundProcessingQueue],
outboundProcessingQueue.Company);
...
Replacement code
...
//Switches to the context of the user who submitted this request
//Also switches to the company under which the request was
//submitted.
// BP deviation documented
// runas(outboundProcessingQueue.SubmittingUserId,
// classnum(AifOutboundProcessingService),
// staticmethodstr(AifOutboundProcessingService, processAsUser),
// [outboundProcessingQueue], outboundProcessingQueue.Company);
AifOutboundProcessingService::processAsUser([outboundProcessingQueue]);
...
21. Set a breakpoint in the AxdBase.validateEntityKey method.
Note You can set breakpoints in other methods that you want to debug.
Note You can set breakpoints in other methods that you want to debug.
22. Run the AifOutboundProcessingService service as a
service or as a batch.
Note After you complete this step, the validateEntityKey method can be broken to debug.
Note After you complete this step, the validateEntityKey method can be broken to debug.
No comments:
Post a Comment