AS400中文培训Query6.docx
- 文档编号:12626249
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:17
- 大小:22.88KB
AS400中文培训Query6.docx
《AS400中文培训Query6.docx》由会员分享,可在线阅读,更多相关《AS400中文培训Query6.docx(17页珍藏版)》请在冰点文库上搜索。
AS400中文培训Query6
可在列格式里排除中断字段显示在报表里,而仍使用报表中断说明里的值。
也就是说,如果在‘规定报表列格式’显示的一个字段的Len列中规定一个零,该字段没有数据显示在报表里,但你仍可规定该字段用作中断字段,这样当报表中断发生时,它的值能被包含在报表中断级定义的中断说明中。
以下是附加的特殊考虑,不管是否发生报表中断:
对于SBCS、DBCS―open以及DBCS―either字符字段中的SBCS数据,即使字段中的字符不同也有可能不发生报表中断。
例如,如果整理顺序认为大小写字母有相同的值(Aa,Bb,Cc等等),则将一字段中的A改为a,也不会发生报表中断。
(整理顺序不能用在DBCS字段中的DBCS数据)。
对于数值字段,字段中的实际数据而不是数据的编辑形式用来决定报表中断。
对于日期、时间及时间标记字段,年代顺序的等值决定报表中断。
对于既是字符又是数值型的字段,每个字段原始定义的长度来决定报表中断而不是用在‘定义报表列格式’显示中修改的长度。
若有空值,它们被组在一起。
下面是表明空值的报表中断的例子:
Field1Field2
1AZ
1AZ
2XY
2nullvalue
3nullvalue
nullvalueAB
如果在字段1中规定了排序和报表中断,且在字段2中规定了MIN和MAX,则仅汇总报表如下所示:
FieldField2
1
1
MINAZ
MAXAZ
2
MINXY
MAXXY
3
MIN-
MAX-
MINAB
MAXAB
FINALTOTALS
MINAB
MAXXY
2.10.2定义报表中断格式
‘格式报表中断’显示用来格式化在‘定义报表中断’显示时定义的每一个中断级(从1至6)。
对于为查询定义的每一个中断级别显示一次,也能为中断级0特别定义一些格式特征,中断级0是查询提供的‘最后总计’中断,可以把中断级0看成包含所有被选记录的组。
在这个显示中的格式信息只对打印输出和显示输出有影响。
对于除中断级0以外的所有中断级,可以规定在一个中断报表后是否让报表跳到新的一页,对于每一中断级(1到6),也可规定放在汇总信息中断说明。
中断说明出现在数据列之后,任何汇总值之前。
**
*FormatReportBreak*
**
*Breaklevel.......:
1*
**
*Typechoices,pressEnter.*
*(Put&fieldintexttohavebreakvaluesinserted.)*
**
*Skiptonewpage.....NY=Yes,N=No*
**
*Suppresssummaries....NY=Yes,N=No*
**
*Breaktext........Company*
**
**
**
*LevelFieldLevelField*
*1COMPANY4DEPARTMENT*
*2DIVISION5EMPLOYEE*
*3REGION*
**
**
**
*F3=ExitF5=ReportF10=Process/previousF12=Cancel*
*F13=LayoutF18=FilesF23=Longcomment*
**
跳到新的一页:
对该中断级,输入Y或N决定是否在该级的中断报表发生后换到新的一页来打印,该中断级的汇总信息或中断说明将在跳到下一页之前打印。
该提示只适用于打印的报表,而在显示的报表中被忽略。
对于中断级0,不显示该提示。
Y=是,在对这个中断级发生的每个报表中断,在当前页打印出来的汇总值之后
跳到新的一页。
N=不,在该中断级发生报表中断时不跳到新的一页,它将跳过在‘定义打印输
出’显示中定义的行数。
(详细内容请看第十三章)。
取消汇总:
输入Y或N来决定是否取消汇总函数。
如果这些汇总值不需要,你可在0级排除它们。
N=不,任何摘要值都不取消,在每次报表中断发生时都包括在内。
Y=是,所有汇总值被忽略,它们不包括在该中断级内。
中断说明:
可输入任何想在每次报表中断中出现的内容,该说明最多40个字符,该内容显示在此报表中断的汇总行之前。
如果在说明中包含有&xxxxxx(其中xxxxxx是在查询中选择的字段),则该字段的当前值将代替&xxxxxx在报表的说明中显示出来。
例如,如果输入中断说明如下:
Totalsfor&CITY&STATE
可得到:
TotalsforGlendaleCA
如果输入:
&FINIT&MINIT&LNAME
可得到:
JYClarke
注:
字段名后可有一个空格,一个例外就是字段名后可跟一个字段名,就像在第二个例子中字段&MINIT跟着字段&FINIT,中间没有空格。
字符/、-或:
也可跟一个字段名,也可在字段名之前直接写字符。
字段名可大写可小写也可大小写混合,字段值后的空格被省掉,同样字段前面的空格也省掉了。
注:
使用在‘规定报表列格式’显示中任何修改过的长度(除0外),但若一个字段的Len列为0,则在报表中断说明中使用原定义长度和小数位。
插入值将出现在报表列中:
可使用数值字段的任何编辑或格式。
空值显示破折号(-)。
替换字符用来指示错误条件。
如果打印报表的宽度不够,查询将只打印说明的一部分。
然而,中断说明中的字
段值要么全包含要么全排除。
如果没有足够的空间打印值的全部,那么什么也不打印。
为取消中断级0的汇总和在报表中不出现FINALTOTALS,必须在汇总提示中回答Yes,还要清空中断级0的说明提示符中的内容。
第十三章选择输出类型和输出格式
这章介绍怎样选择查询输出的地方,及所想要的格式。
能将结果显示、打印或放到数据库文件中,也可规定输出为详细格式(其中包含你所选的所有记录)或汇总格式。
如果在定义查询时不用这一步,查询产生的输出以详细格式显示在显示器上。
如果规定打印输出或存到一个数据文件中,查询会提供另外的显示来让你决定打印机或数据库文件的特征。
2.11.1选择所用的输出类型和格式
可通过输入如下选项之一来选择查询所用的输出设备:
1=显示
查询输出出现在显示器上,它可用详细格式或汇总格式出现。
输出与在‘查询定义’中按F5键结果一样。
在显示查询输出时,可按Help键得到怎样使用‘显示报表’显示的信息。
注:
如果查询用批方式运行,即使规定了用显示,输出还是到打印机上去。
2=打印机
查询输出将被打印,它可用详细格式和汇总格式输出。
如果选择该选项,在enter
键之后出现‘定义打印机输出’显示,在这里可规定所用打印机和打印输出的一些其它特征。
其它与打印输出的显示也同时给出。
注:
如果查询用批方式运行,输出也许会送到与你定义不同的另一台打印机上,这取决于对批处理规定的缺省打印机。
3=数据库文件
查询输出放到数据库文件中。
如果选择该项,在enter键之后,出现‘定义数据
文件输出’显示。
在这里,可规定用来存放输出的文件名及成员名,以及输出是
加到文件或成员中还是代替已有的文件或成员中的数据。
数据文件输出的详细格式和汇总格式均不同于显示器输出或打印机输出:
对于详细输出到数据库,忽略报表中断和汇总函数输出(如果在查询中定义了)只有被选的记录放入数据库文件中。
相应地,如果规定输出到数据库文件,忽略行中的值,数据库输出记录不能提示折返,忽略报表列格式。
对于汇总输出到数据库,查询对每一个定义的报表中断产生一个记录,某些包含中断级0的记录,使用总计字段的编辑值。
注意,数据库输出不包括用于显示或打印报表某些特征:
例如列标题、列间隔、行折返、报表中断格式或打印输出定义信息。
如果没做字段选择,查询将为数据库文件产生所有的字段,结果字段排在最后,就如它们的显示输出或打印输出那样。
即使这些特征可在查询中定义,它们未必能用,除非输出类型选择了显示器或打印机输出。
(因为查询定义可同时包含所有三种类型输出,有很大的灵活性,对不同的方法来使用同种查询,你要做的只是修改选项并重新运行查询)。
**
*SelectOutputTypeandOutputForm*
**
*Typechoices,pressEnter.*
**
*Outputtype......11=Display*
*2=Printer*
*3=Databasefile*
**
*Formofoutput.....11=Detail*
*2=Summaryonly*
**
*Linewrapping.....NY=Yes,N=No*
*Wrappingwidth....___Blank,1-378*
*Recordononepage.._Y=Yes,N=No*
**
**
**
**
**
**
**
*F3=ExitF5=ReportF10=Process/previous*
*F12=CancelF13=LayoutF18=Files*
**
**
输出格式:
写出下列选项中的数字来选择所用的输出格式。
可以规定报表输出用详细格式或用汇总格式。
详细格式包含查询所选的所有记录和定义的汇总信息。
汇总信息包括报表中断、总计、平均、最大、最小或计数。
1=详细
对于显示输出或打印输出,报表将包含选择的数据记录和所有汇总信息。
对于
数据库文件输出,只有选择的记录放入文件中,汇总信息则没有。
2=汇总
报表只包含在报表中断和报表结尾提供的汇总信息。
行折返:
输入Y或N来指出输出记录中的字段在报表的一条行放不下时,是否折返报表行。
行折返值用于显示输出或打印输出;在输出到数据库文件时,或被合并到officeVision或Displaywrite4文本文件用来打印时,忽略这个值。
Y=是
每个输出记录的数据在记录长度超过报表宽度时将被折返(在下一行继续报表)。
若一个字段在一行放不下,整个字段将放到下一行跟着后面的另一个字段。
如果溢出字段的列超出折返宽度,该字段在报表中将被去掉,除非它是一个字符字段,且至少一个值的一个字符(SBCS的一个字节或DBCS的4个字节)在折返宽度截断后能显示出来。
当行折返发生时,查询也折返标题字段,报表的结果是一行标题字段后跟一行
字段数据。
N=否
每个输出记录的数据在输出记录的长度超过报表行宽度时将折返。
每个记录右边
末尾多出的字段被取消,如果选N,忽略下两个提示。
折返宽度:
仅对显示输出和打印输出有效,可规定一个值指出报表行的最大宽度。
可输入1-378之间的任何一个值,也可什么也不输入。
注:
对DBCS图形字段,查询在显示或打印一个字段前,要加DBCS的转出或转入字符,变长的DBCS值要扩充到全部字段长度。
如果输出记录的所有字符与规定的一行的宽度不符,超出规定宽度的字段从下一行开始,如果提示中为空白,当显示打印达到最大宽度时,就会发生折返。
如果定的宽度太小,一些列标题、字段或汇总函数值可能会从报表中截断或取消。
如果发生了这样的问题,可以就在这里修改或到‘规定报表列格式’显示中的列间隔或列标题提示中去修改。
要看字段可能出现什么问题,用F13键,如果字段有错会显示错误信息。
一页上的记录:
当发生行折返时,可规定是否允许记录分两页打印,输入Y或N来说明。
Y=是
每个记录将使其所有字段保持在同一页上,如果没有足够的空间来让当前页容纳
所有字段,则整个记录将在下一页显示或打印。
N=否
记录从接近末尾的地方开始继续在下一页上打印。
在最后一个完整字段占满了这页,记录中其余的字段继续到下一页。
2.11.1.1显示折返宽度
可用F13键来看不同折返宽度的效果。
如果这样做了,你会看到在到达折返宽度时,折返不是一件换成下一行这样简单的事情。
当折返宽度太小时,页、中断和最后说明行没有折返,而是没有警告就被截断了。
列标题作为一个标准行的标志,不能分开。
在‘规定报表列格式’显示中,对输出中的第一个字段规定的列间隔值做为每个折返行的缩进空格。
如下例所示,列间隔值可以传也可以不传到下一行。
如果一个字段超出一行的末尾,该字段将整个地换到下一行,后接它后面的字段。
折返字段的列间隔值可能表现为前一行字段后的空格、折返字段前的空格或它们的组合。
下面的例子给出了原报表和折返宽度为15时报表发生的换行。
原报表:
Positiontoline.....Shifttocolumn...
Line....+....1....+....2....+....3....+....4....+....5....+..
INTEGERCHARDECIMALNUMERIC
0000011,000,000,001aaaaaaaaaa11,111,111.0111,111,111.01
给出折返宽度为15的报表:
Positiontoline.....Shifttocolumn...
Line....+....1....+
INTEGER
CHAR
DECIMAL
NUMERIC
0000011,000,000,001
000002aaaaaaaaaa
00000311,111,111.01
00000411,111,111.01
该例中折返字段的排列是不均衡的。
因为虽然CHAR的列间隔值为2,在INTEGER和第一行的字段后有一个空格,CHAR和第二行的字段前也有一个空格,DECIMAL的列间隔值也是2,但第二行CHAR后有空格,第三行DECIMAL前无空格。
汇总函数标题用在每一个折返的汇总行。
这些标题没有缩进空间,标题的格式可能引起比行中列规定多的附加空间。
如果折返宽度太小,查询可能会截断或丢弃本应出现的列信息(例如列标题或计数汇总),甚至会从报表中丢掉一个完整的列。
数值、日期、时间或时间标记字段从不特别的显示,一列都从报表中取消而不是给出值的一部分。
注:
有关截断和省掉的信息出现在显示报表上可按F13键来显示布局,对打印报表,没有截掉或者省掉信息的警告。
2.11.1.2显示有UCS2图形数据的报表
UCS2数据不能显示或打印。
在这些数据的地方用替换字符(+)代替,下面是一个有UCS2数据的报表样本:
NAMESALESREGIONUCSFIELD
GOMEZ100,01534++++++++++
LUNDQUIST97,14352++++++++++
YAMAMUCHI89,94812++++++++++
在上例中有UCS2图形数据的列有10字节宽(8个UCS2图形字符加上SI和SO两个字节)。
2.11.1.3定义打印机输出
‘定义打印机输出’显示是几个打印输出定义显示的第一个,用来规定报表在哪儿,用什么方式来打印。
该显示用来确定打印机和打印机使用的格式特性,包括格式的长度和宽度、每页的起始和结束行以及每个打印记录之间的行距。
**
*DefinePrinterOutput*
**
*Typechoices,pressEnter.*
**
*Printerdevice....*PRINT*PRINT,name*
**
*Formsize*
*Length.......___Blank,1-255*
*Width.......132Blank,1-378*
**
*Startline......___Blank,1-255*
**
*Endline.......___Blank,1-255*
**
*Linespacing.....11,2,3*
**
*Printdefinition...NY=Yes,N=No*
**
**
**
**
*F3=ExitF5=ReportF10=Process/previous*
*F12=CancelF13=LayoutF18=Files*
**
**
也可规定打印报表时是否打印查询定义。
如果是,在此显示规定的值既用于打印查询报表也用于打印查询定义。
如果用‘处理查询’显示的选项6打印定义(它只打印定义)或规定数据库输出又规定打印定义(它将报表放入文件并打印定义),则不能用这些值。
打印机设备:
规定打印查询报表的打印机设备。
如你在该提示中输入*PRINT,则用当前分配给你作业的打印机来打印报表。
如果想用其它打印机,就输入另外打印机的名字。
注:
如果查询用批方式运行,输出也许会送到另一台不是你规定的打印机,这依赖于批方式的缺省打印机定义。
格式尺寸:
这组提示规定用来打印查询报表的打印机格式的长度和宽度。
如果这些提示为空格,则长度和宽度值将使用名为QPQUPRFIL的打印设备文件的规定,它是查询使用的打印设备文件,你不能用其它的设备文件来替换它。
格式长度:
输入1到255之间的一个数来规定在打印格式中使用的每页的行数,或者为空。
这个长度是格式本身的长度。
格式宽度:
可输入1到378之间的一个数来说明用在打印格式上的每行的有效字符,也为可空。
如果规定的宽度大于格式的宽度,查询产生报表但截掉超出此宽度的报表右边的字段。
如果规定的值大于132,查询迫使CPI(每英寸字符数)值变为15,使打印字体值为生成的假脱机文件的*CPI。
这个不影响‘显示报表’显示。
如果要增加报表左边的空格(左边的打印位置为1),走到‘规定报表列格式’显示中,在报表中第一个字段的列距离提示中输入一个较大的值。
注:
对于DBCS图形字段,查询在给出显示或打印报表中的字段之前加上DBCS转出或转入字符,变长的DBCS值可扩充到整个字段长度。
起始行:
输入1至255之间的一个数来规定报表的每页的起始行。
根据你在查询定义中给出的值,页标题、列标题或下一记录的第一行将打印在起始行上。
如果空着该提示,起始行为第6行。
如果定义了起始行,它必须不大于结束行值和格式长度值。
结束行:
输入1至255中的一个值来规定每页打印的最后行。
根据查询定义,页尾或一个记录(或记录的一部分,如果它折返)将打印到该结束行。
如果规定了结束行,它必须大于起始行值或小于等于格式长度值。
如果结束行大于于格式长度,查询将用等于格式长度的值代替结束行值打印报表。
如果空着该提示,名为QPQUPRFIL的打印设备文件中规定的值将被查询用来决定结束行。
行距:
输入一个数(1、2或3)来规定用在报表中的记录之间的行距类型。
该值控制除了总是行距的折返行之外所有行之间的空行的数量。
如果规定了行折返值为2或3,可使报表更易阅读,缺省值为1,打印的报表是单行距的。
1.单行距打印(之间无空行)
2.双行距打印(之间有一个空行)
3.三行距打印(之间有两个空行)
打印定义:
输入Y或N来说明在打印查询报表时是否打印查询定义。
缺省值为N。
Y=是
一份查询定义的复本将同查询报表一起打印出来,定义放在紧挨着报表前面。
N=否
只打印报表,不打印查询定义。
2.11.1.3.1规定假脱机输出替换
‘定义假脱机输出’显示是另外一个打印机输出定义显示,用来继续定义查询报表的打印特征。
可定义打印机使用的格式类型和报表要打印的份数,也能规定假脱机特性:
输出是否送往假脱机,是否保留在输出队列里后来打印。
如果规定查询报表和查询定义都打印,则该显示的值对两者都有效。
完成该显示后查询不会立刻运行打印出报表,必须还要退出查询显示(看第十五章)。
如果你有查询输出假脱机且如果必须使用假脱机输出,可用‘处理假脱机文件’显示,(可用WRKSPLF命令来达到该显示。
)详细内容请看CL参考手册中的CRTPRTF命令。
**
*DefineSpooledOutput*
**
*Typechoices,pressEnter.*
**
*Spooltheoutput..._Blank,Y=Yes,N=No*
**
*Formtype......__________Blank,name,*STD*
**
*Copies........1Blank,1-255*
**
*Hold........._Blank,Y=Yes,N=No*
**
**
**
**
**
**
**
**
**
**
*F3=ExitF5=ReportF10=Process/previous*
*F12=CancelF13=LayoutF18=Files*
**
**
输出假脱机:
如果规定报表是否用输出队列的假脱机,输入Y或N。
如果输出用假脱机,报表能更有效率地打印出来或延迟一段时间再打印。
如果空着该提示,查询使用名为QPQUPRFIL的打印设备文件里规定的值来决定输出是否用假脱机。
当查询运行时,它生成报表并将它作为一个假脱机打印文件送到输出队列,既可规定立即打印,也可让它放在输出队列中直到它被释放。
Y=是
报表输出用假脱机并送到一个输出队列中,什么时候打印报表取决于在打印设备文件QPQUPRFIL中规定的调度值,调度值在CRTPRTF命令中的SCHEDULE参数里规定。
N=否
报表的输出不用假脱机,在输出记录活动时,被直接送到打印机打印出来。
建议
不要使用该选项,如果打印机在运行时不可用,它将导致错误。
格式类型:
在打印查询时可能不必规定该值,若空着该提示,查询用打印设备文件QPQUPRFIL里规定的值来决定用哪个格式打印报表。
如果想用一种特别的格式来打印报表,输入这种格式的名称或特殊值*STD:
如果输入格式名,必须是系统定义过的格式名。
在查询运行后且输出准备好打印时,控制台上出现一条信息,告诉操作员把相应打印机上的格式改为由名字定义的格式。
如果输入*STD,系统认为打印机已设定了基本格式,将没有信息提供给系统操作员。
份数:
输入1到255之间的一个值来指出要打印的报表的份数。
如果空着该提示,查询将根据打印设备文件里规定的值来决定打印的份数。
保留:
输入Y或N来指出报表是立即打印或等待一段时间后再打印出来。
如果在假脱机输出提示的值为N,该提示的值被忽略。
若空着该提示,打印机将根据打印设备文件里规定的值决定打印是否要等待。
如果规定在查询运行时输出用假脱机,生成的报表做为一个假脱机打印文件送到一个输出队列,可规定假脱机文件一建立就被打印,也可把它保留在输出队列里直到释放才打印。
Y=是
报表输出将保
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AS400 中文 培训 Query6