Batch Print Schedule (Batch Bundling)
    • 14 Oct 2024
    • 7 Minutes to read
    • Contributors
    • PDF

    Batch Print Schedule (Batch Bundling)

    • PDF

    Article summary

    Batch bundling performance testing can be broken down into these stages:

    1. A user opens the Batch print schedule (Batch bundling) form and sets all required settings. For example, the report name, the data used for the report(s), the maximum number of reports to generate, etc.

    2. Once the process has been triggered, the scheduling runs through the data according to the criteria specified and calculates how many records satisfy the criteria in the selected table. The data is then split into a number of portions (bundles) according to the settings. Multiple batch tasks are created, with parameters defining the bundles which are related to the batch tasks. A bundle is defined by RecIdFrom..RecIdTo, which gets applied on the Query based on the criteria which was set in the Scheduler.

    3. Each batch task runs (according to number of threads/tasks criteria) where each task gets a separate bundle parameter from the Scheduler and processes all records from that bundle.

    Lasernet reports and SSRS reports can be used for performance testing. However, note that not all reports can be used.

    The Batch print schedule (Batch bundling) form can be opened by navigating to:

    • Lasernet > Test and performance suite > Performance > Batch print schedule (Batch bundling)

    • Lasernet > Test and performance suite > Performance > Batch print review, then selecting a Batch bundling print run and clicking Batch print schedule (the form will default with the settings from the selected print run).

    The settings in the Batch print schedule (Batch bundling) form are split into five FastTabs (sections):

    • Settings

    • Parameters

    • Advanced

    • Records to include

    • Run in the background (Scheduler)

    Settings

    • Destination: This is the destination for the reports when they are generated.

    Lasernet Predefined can be used if the destination needs to be different for different documents. For example, if the email address related to the sales invoice needs to be used as the destination.

    Screen cannot be used as a print destination.

    Lasernet fax is commonly used as a dummy destination to test the performance of the report in the FO Connector.

    • Unprocessed only: This setting is used to trigger checking of the previous report execution. An unprocessed record will not have a linked Lasernet Archive record.

    Note

    In a Lasernet report, the Table for archive should be the same as the Table name in the Batch print schedule (Batch bundling) scheduler, so the link can be checked.

    Table for archive in the Lasernet report:

    Table name in the scheduler:

    Parameters

    • Report name: This is the report that will be used for the performance testing. Lasernet reports and SSRS reports can be used for the performance testing. However, note that not all reports can be used. Reports must have Allow forced rerun activated and Resend menu item specified. This is the case for Lasernet Replacement reports and Lasernet Query-based reports.

    • Table name: This table is used as the reference to call individual report execution. Records from this table are sent as identifiers for the bundles (RecIdFrom..RecIdTo) for the processing. Additional criteria can be specified in the Records to include FastTab. The table selected here is usually a journal that also has Form link setting to run the selected report. For example, the CustInvoiceJour table for the SalesInvoiceReplacement report.

    • Description: This is a description for this performance test run. The results can be viewed in the Batch print review form. Therefore, ensure a logical description is entered for easy future identification.

    • Bundle reports: Yes - Multiple records are combined into accumulated XML files. The files are then split into multiple reports in the Lasernet server. The advantage of bundles is that they use a low number of calls between FO and the Lasernet server. Batch bundling makes three Lasernet FO Connector report calls per thread, even though multiple records are included. The three FO report calls create three XML files which are then sent to the Lasernet server.

    Bundle reports can only be used if the Table name is the same as a top data source in the report Query. If the Table name is not a top table in the report Query, the following error message will be displayed:

    Error

    'Bundle reports' cannot be used if selected table is not the same as the top data source on the report query:

    For example, bundling can be used with the CustAccountStatement_Replacement because the Table name is CustTable, and one of the top data sources is CustTable in the report Query.

    However, bundling cannot be used with the SalesInvoiceReplacement because the Table name is CustInvoiceJour, but the CustInvoiceJour is not one of the top data sources in the report Query.

    • Maximum of records: This sets the limit for the number of records that will be processed.

    • Run in batch: Yes - Report processing will be executed as a batch job in the background. It is recommended that this is set to No to test a single report before performance testing with large data loads, as non-batch processing runs immediately and validates all settings.

    Note

    Non-batch processing has some hardcoded limitations, such as the number of records which can be processed.

    • Batch group: This setting can only be used when Run in batch is set to Yes. A batch group is standard Dynamics functionality and can be used to specify which AOS instance runs the task.

    • Number of tasks/threads: This setting can only be used when Run in batch is set to Yes. This is the number of tasks/threads that will be run in parallel.

    Note

    The Batch server has a parameter for the maximum number of threads that is allowed to run in parallel. However, the Number of threads/threads can exceed the number of all threads in all batch servers, if required. The number entered in this field is used to create the number of batch job tasks within the batch job.

    • Log per report: Creates a log for each of the executed reports. The logs per report can be viewed in the Batch print review form.

    • Log CPU usage: This setting can only be used when Log per report is set to Yes. It creates a log for the CPU utilisation as a percentage for each report. The logs per report can be viewed in the Batch print review form.

    • Log memory usage: This setting can only be used when Log per report is set to Yes. It creates a log for the memory utilization as a percentage for each report. The logs per report can be viewed in the Batch print review form.

    • Log performance on every ‘x’ report: This setting can only be used when Log per report is set to Yes. This can be used when a log does not need to be created for every one of the executed reports. This is especially useful when testing large data loads, as the logging of performance has a performance impact on the overall process itself. A value of 0 or 1 logs the performance on every report.

    • Log CPU limit: Stops CPU measurements if the specified value is reached. This is used to eliminate additional stress on the batch server and not call performance monitoring when it has already reached a defined limit.

    Note

    This parameter is more applicable for the ‘Top picking’ approach. The ‘Batch bundle’ approach measures the first thread in each server only.

    A value of 0.00 sets no limit.

    • Open review form: Yes – Opens the Batch print review form after scheduling is submitted so test results can be viewed. Refer to the Batch print review section of this guide for more information.

    Advanced

    • Wait/log report archive: This setting can be used when Log per report, within the Parameters FastTab, is set to Yes.

    Yes - Sets Lasernet report processing into sync call and waits for the response from Lasernet process.

    This feature might dramatically affect the performance and is used specifically for identifying issues.

    • Create checkpoints: Yes – Creates a Test checkpoint for each report. Refer to the Testing section of this guide for more information.

    Records to Include

    This section can be used to select the records which are used for the performance testing. This uses standard Dynamics filtering functionality.

    Click Filter to define the filters needed.

    In the following example, a range of customer accounts is used as a filter for the customer account statement:

    Run in the Background (Scheduler)

    The Run in the background section can be used to create a recurring batch job for background processing. This batch job uses standard Dynamics functionality, which can be used when Run in batch, within the Parameters FastTab, is set to Yes.

    Count Button

    The Count button displays a message that shows the number of records that satisfy the criteria defined in the Records to include section:

    Summary

    The Batch server runs multiple threads (according to the settings that have already been covered in this guide). Each thread has its own set of records (a bundle) to process. The following logic is used with the Batch print schedule (Batch bundling) functionality:

    Report bundling set to No: Each batch task processes an individual report for each record.

    Report bundling set to Yes: The total number of records are split into threads, then each thread contains one, two, or three bundles. Usually, the First and Last bundle sizes are significantly smaller than the bundle report (middle) size when testing with a large numbers of records.

    Note

    Not all reports support report bundling.


    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.