This article provides solutions for problems that pertain to reports. This chapter contains the following topics of Formatting Free-form Report Headers, Specifying Order of Items in a Report, Printing a Report When No Data Was Extracted, Printing a Qualifier Level Report, Emailing a Free-form Report from z/OS.
I. Formatting Free-form Report Headers
The Free-form Report is a completely customizable report. The user decides the content as well as the formatting. In ACR/Detail, content is typically printed in its entirety for each key, with one key per page. multiple keys can be printed on a single page by removing the header break character. The Free-form Report repeats every line of data for each key. When printing multiple keys on the same page, a user can choose to have data appear as a report or page heading.
Here is a problem scenario:
The heading repeats for each line item in a Free-form Report generated within ACR/Detail. You want the report to print with the title printed only once, at the top of the report. You want to print multiple keys on a single page but you want the page number and date to appear at the top of the page only, and not repeat with each key throughout the page.
Your solution is as follows:
Follow the steps that are appropriate for your version of ACR/Detail.
Graphical User Interface
For Windows, UNIX, or the ACR/Detail Workbench, complete these steps to insert report and page headers.
1. Use the Report Header Marker to insert a break after the report title and after each report header. Lines not marked as headers, including blank lines, will repeat for each key.
A. Click the report header icon (\R).
B. Immediately click below the text, for example, the key, at the location where you want to place a break. The report displays a solid line to indicate the break for the Report Header.
2. Use the Page Header Marker to insert a break after each page header. Lines not marked as headers, including blank lines, will repeat for each key.
A. Click the page header icon (\P).
B. Immediately click below the text, for example, the page number or date, at the location where you want to place a break. The report displays a dotted line to indicate the break for the Page Header.
z/OS
Define the number of report and page headers on the Report Width panel when you set up the report. Plan ahead, because you cannot change the header numbers after you exit this panel. Otherwise, to specify headers on an existing report, edit the report codes manually to include the headers. See the “Editing Report Codes” section in the “Creating a Free-Form Report” chapter of the ACR/Detail User Guide for z/OS.
II. Specifying Order of Items in a Report
In ACR/Detail, you can choose the key sort order for reports: ascending, descending, or unsorted, that is, shown in the order in which items appear in the input source.
Here is a problem scenario:
You want the order of items in a report listed in a certain order, but not necessarily one of the choices described above.
Your solution is as follows:
Review the input source to determine the order of the items and then determine the order in which you want the items to appear in your report.
- If the input file lists the items in the desired order, choose unsorted for the key sort order.
- If the input file does not list the items in the desired order, choose ascending order and use a number as a literal in the first part of the key to manually order the items.
III. Printing a Report When No Data Was Extracted
In releases prior to Infogix ACR 4.2, the system did not print a report unless an extraction occurred.
Here is a problem scenario:
In ACR/Detail 4.0 or earlier, you want to generate a report even though the rules did not result in a data extraction.
Your solution is as follows:
Complete the steps below to print a report even if no valid data is extracted by creating a key for every run.
1. Create a dummy key and move +0 to an extraction variable.
Move +0 to MyEmptyFileExtractionVariable
2. Create a SELECT statement that checks to see if valid data exists. If data is selected, pick up the keys and items and add +1 to the extraction variable.
Select Pos 1 for 8 = “myData”
Move +1 to MyEmptyFileExtractionVariable
3. If nothing is selected, the empty file extraction variable remains at zero. Then move a literal of DUMMY to the key.
Select if MyEmptyFileExtractionVariable = +0
Move literal “DUMMY” to Key1
Move +1 to Internal Item 001
4. Add a rule that sets the override to avoid writing the DUMMY key to the history file.
III. Printing a Qualifier Level Report
At the reconciliation level, you can create a data filter that stores out-ofbalance keys for use in a subsequent qualifier report. In a multi-level job, it is important to make sure that the keys passed to the qualifier include only the keys you want on the report by setting return codes. This ensures that reports from subsequent levels are correct.
Here is a problem scenario:
In ACR/Detail, you want to create a data filter and print a qualifier level report whether or not keys exist at the qualifier level.
Your solution is as follows:
Code the extraction definitions to extract a dummy key with dummy internal items that will meet the criteria to be put into the data filter, even if no other keys meet that criteria. Complete the steps below to print a qualifier report even if no valid key is extracted.
1. Set up a base job and set the filter for a qualifier to ON, so that only the items that you note as out-of-balance are passed to a qualifier. See the “Setting Up Multi-Level Reconciliation” section in the ACR/
Detail User Guide.
2. On the base level job, create a dummy key and move a literal of DUMMY to the key.
Move literal “DUMMY” to Key1
Move +1 to Internal Item 001
3. Add a rule that sets the dummy key value out of balance. Specify a return code that will pass the filter.
If Internal Item 001 = +1
Set return code to 222
4. Add your regular business rules to determine if your key values are accurate. Specify a return code to pass any desired key to the qualifier reporting at that level.
5. Set up a qualifier job. This job has the same job/step name as the base job but has a value other than spaces in the qualifier field.
6. For the qualifier job, go into the reconciliation level and specify that the job uses the data filter from the base job, which you set up in step 1, with the return code range appropriate for the rules that you set up in steps 3 and 4. At this point, you have the keys, if any, that you want to include in the qualifier report as well as the dummy key.
7. On the qualifier job, set up an active rule that sets the dummy key out of balance.
If Internal Item 001 = +1
Set return code to 222
8. Set the qualifier report to print only the keys that are in balance. This step eliminates the dummy key from printing on the qualifier report. Be sure to set the report to always print with headings, so that the
report will print even if there are no keys. In the instructions above, step 2 creates a key that will always pass a value to the qualifier, which ensures that the qualifier job will run.
Because the qualifier job always runs, a qualifier report is always printed. These instructions avoid printing the dummy key by setting the dummy key out of balance and setting the report to print only keys that are in balance. If you have other balancing rules and want to print only the out-of-balance keys, reverse the logic: mark the dummy key as in balance and choose to print only out-of-balance keys on the report.
IV. Emailing a Free-form Report from z/OS
Email is not a typical output of the z/OS platform. Typically, ACR uses XML files to pass report information. Other typical ACR outputs include a history extract, which can be sent as a CSV file. For ACR/Detail, output types also include UNIDATA and UNIDATA2 files; for ACR/Summary, output types include balancing extracts. Both ACR/Detail and ACR/Summary can send Free-form Report information. Although technically not an output file, this report offers a wide variety of formatting options and is easily customizable. If the data that you want to send requires more than one line for each key, or if you need specific positional formatting, the Free-form Report is your best option.
Here is a problem scenario:
You want to send Free-form Report information to a recipient who does not have access to z/OS. Typically, you might send this information through Infogix Insight®; however, the recipient does not have access to Infogix Insight either. Email is the preferred method for sending the information.
Your solution is as follows:
This topic provides information to deliver the Free-form report as an email from ACR, installed on z/OS. This output option is available for release 4.4 and later. Communications Server Simple Transfer Protocol (CSSMTP) is a mailforwarding application that comes with the z/OS platform. You can use this protocol to send the Free-form Report. You can send data to multiple email addresses; reply messages are not supported. To use CSSMTP to send the Free-form Report, follow the instructions below.
1. On the Report Information window, turn off ASA characters for the Free-from Report. This is necessary to allow characters in the first position of column 1.
2. Edit the rules for your Free-form Report to use the following formatting for CSSMTP. You will specify literals for the address information. See example below.
Summary Report Window
Lines 0001 0011 Col 0001 0072
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
HELO INFOGIX.COM
MAIL FROM: <JOHN.DOE@YAHOO.COM>
RCPT TO: <BILL.SMITH@YAHOO.COM>
DATA
SUBJECT: THIS IS MY FREEFORM REPORT
SIMPLE /SUMMARY 13/04/29 12.30.45
Value 1 from Input Source: XXXXXXXX Value 2: 999-
.
QUIT
- HELO—Enter the JES node name, which you can get from your system administrator. This parameter identifies the domain name of the sender.
- MAIL FROM—Enter the sender’s email address.
- RCPT TO—Enter the recipient’s email address. Multiple recipients are allowed. Add a line with this parameter and email address for each.
- DATA—Enter this parameter; no additional information is needed.
- SUBJECT—Optionally, enter a subject line to describe the data that
you are sending. - Insert the report information here, between the subject and the period. You can enter the job and step name, the run date and time for the report, internal items, literals, and any valid Free-form Report data.
- . (period)—Enter a period to indicate the end of the report.
- QUIT—Enter this parameter to indicate the end of the batch.
3. When you run the report, specify a sysout class and the JES name associated with the CSSMTP server. For example, //UNIUFR DD SYSOUT=(Y, CSSMTP) where Y is the sysout class and CSSMTP is the server name.
Comments
0 comments
Please sign in to leave a comment.