Welcome to MSDN Blogs Sign in | Join | Help

Creating a report in X++ code and running

Here is a small job that demonstrates the main parts of build a report dynamically in X++ and launching it.

 

static void MakeReportJob(Args _args)

{

    #AOT

    str reportName = 'aaMakeReport';

    tableid custTableId = tablenum(CustTable);

    TreeNode reportNode = TreeNode::findNode(#ReportsPath);

    Report areport;

    ReportDesign design;

    ReportAutoDesignSpecs specs;

    ReportSection section;

    ReportRun run;

    ;

   

    // Delete the report if it already exists

    areport = reportNode.AOTfindChild(reportName);

    if (areport)

        areport.AOTdelete();

 

    // Build the report

    areport = reportNode.AOTadd(reportName);

    areport.query().addDataSource(custTableId);

    design = areport.addDesign('Design');

    specs = design.autoDesignSpecs();

    section = specs.addSection(ReportBlockType::Body, custTableId);

    section.addControl(custTableId, fieldnum(CustTable, AccountNum));

    section.addControl(custTableId, fieldnum(CustTable, Name));

   

    // Now the report will not prompt for user input

    areport.interactive(false);

    areport.query().interactive(false);

   

    areport.AOTcompile();

   

    run = ClassFactory.reportRunClass(new Args(reportName));

    run.init();

    run.run();

}

 

Published Friday, June 01, 2007 9:03 AM by DavidFerguson
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker