以下“受影响的联系人报表”模板显示如何创建报表模板。 它产生一个报表,该报表列出具有相同受影响的联系人的打开变更单:
PAGE HEADER {
As Of: [CD>
[CT>
}
PAGE FOOTER {
Page: [PG>
}
BLOCK chg (“SELECT \
chg_ref_num, description, priority, \
status, category, assignee \
FROM Change_Request”,
“WHERE #Change_Request.status = 'OP' \
AND #Change_Request.requestor = #ca_contact.id \
AND #ca_contact.last_name = ? \
AND #ca_contact.first_name = ? \
AND #ca_contact.middle_name = ? “ , $1, $2, $3)
{
BLOCK st (“SELECT sym FROM Change_Status”,
“WHERE code = ? “, chg::status) {}
BLOCK (strlen(category)) cat (“SELECT sym FROM Change_Category”,
“WHERE code = ? “, chg::category) {}
HEADER {
OPEN CHANGE ORDERS WITH SAME REQUESTOR/FROM CONTACT
CHANGE ORDER Summary Pri Status Category Assignee
}
HEADER2 {
CHANGE ORDER Summary Pri Status Category Assignee
--------------------------------------------------------------------------
}
num = chg_ref_num;
desc = description MULTILINE;
pr = deref (priority);
stat = st::sym;
catgry = cat::sym;
asgn = deref (assignee);
PRINT {
[num ] [desc ][pr ] [stat ] [catgry ] [asgn ]
}
}
指定要在报表每一页的顶部打印的内容。 CD 和 CT 是显示当前日期和时间的预定义变量。 它们将显示在每页顶部的页眉中。 每个字段都以尖括号结尾,允许字段向右边空白扩展。 由于“As Of:”在字段之外,并且在左大括号后面的行中,它将在报表输出中以文字文本显示。
PAGE HEADER { As Of: [CD>
[CT>
}
以“Page: ”作为文字文本包含页码。
PAGE FOOTER {
Page: [PG>
}
注意:由于 PAGE HEADER 和 PAGE FOOTER 语句生成全局页眉和页脚,因此它们不会包含在 BLOCK 语句中。
为主 BLOCK 语句及其嵌套语句创建报告部分。 报告部分通常只是报表中数据的一部分,但是此报表只有一个报告部分。 此块的唯一名称是 chg。
SELECT 子句从三个表中选择要包括在报表数据中的列,但是只选择符合 WHERE 子句指定的条件的列。
WHERE 子句中的最后三个 AND 表达式包含问号。这些问号用作参数占位符,依次获取 $1、$2 和 $3 参数的值。 因此 $1 表示 ca_contact.last_name,$2 表示 ca_contact.first_name,$3 表示 ca_contact.middle_name。 $1、$2 和 $3 参数获取命令行参数的值。
BLOCK chg (“SELECT \ ...”, “WHERE \ ...\ AND #ca_contact.last_name = ? \ AND #ca_contact.first_name = ? \ AND #ca_contact.middle_name = ? “, $1, $2, $3)
指定左括号开始 BLOCK 语句的输出程序部分:其语句告知如何处理由 SELECT 和 WHERE 子句提取的数据。 此示例嵌套仅应用于此报告部分的 HEADER 和 HEADER2 语句。 仅当报表输出在多页上时,HEADER2 才打印。
{
...
HEADER {
OPEN CHANGE ORDERS WITH SAME REQUESTOR/FROM CONTACT
CHANGE ORDER Summary Pri Status Category Assignee
}
HEADER2 {
CHANGE ORDER Summary Pri Status Category Assignee
--------------------------------------------------------------------
}
指定处理 SELECT 子句指定的数据的变量表达式。 它们将变量分配给列值和表达式结果。 这些变量与下面的 PRINT 语句中的字段匹配。
desc 变量的 MULTILINE 标志使它们打印或显示在多行而不会被截断。 deref 函数用于返回引用列中包含的字符串表达式。
num = chg_ref_num; desc = description MULTILINE; pr = deref (priority); stat = st::sym; catgry = cat::sym; asgn = deref (assignee);
包含要打印的字段。 此语句可能还包括可增强报表外观效果的文字文本行。 最后的右大括号与 BLOCK 语句的输出程序部分的左大括号匹配。
PRINT {
[num ] [desc ] [pr] [stat] [catgry] [asgn ]
}
}
| 版权所有 © 2012 CA。 保留所有权利。 | 就该主题发送电子邮件至 CA Technologies |