针对三大部分(4gl、ora、rpt),Designer可能发生的错误,进行以下条列说明。
- 4gl部分
- 定义Temp-table时,字段名称打错,或者漏了
- Ex:小写的L与数字1
- 定义Temp-table的程序段放错位置
- 一般会放在MAIN FUNCTION的cl _used (1) 后面
- INSERT SQL里的”?”数量,与前面定义Temp-table的字段数不一致
- Temp-table定义了10个字段,”?”就该有10个
- EXECUTE写入的字段数量or字段顺序,与前面定义的Temp-table不一致
- Temp-table有10个字段,EXECUTE传入的就该有10个字段,顺序也需对应,常出错在中间加入字段,但EXECUTE这边传入的位置与Temp-table那边定义的字段顺序没有对好
- 原rep( ) 段的数据处理没有移出来
- 旧的报表写法,有些抓数据是写在rep( )里,改成新写法时,忘记把这部份抓数据的处理段也搬上来,造成某些字段值没有印出来
- 忘记先CALL cl _del _data( )去清除Temp-table资料
- 报表有定义Temp-table,在主程序段一开始忘记CALL cl _del _data()去清除Temp-table数据,导致报表越跑数据越多
- 画面有QBE,忘记印”打印条件”
- 不管之前旧报表有没有打印条件,新的CR报表只要有QBE条件的都要印。有的报表虽然记得有印打印条件,但实际印出来却没有把字段转成中文说明,注意
- 定义Temp-table时,字段名称打错,或者漏了
cl _wcchp里面放的字段有没有错
-
- 已转成CR的报表写法,程序里却还有用到g_x
- 未来报表都转成CR后,将废除使用p_zaa,所以已转CR的报表全面禁止用到g_x
- 已转成CR的报表写法,程序里却还有用到g_x
- ora部分
- 4gl是用定义Temptable的写法,ora忘记加上转换的语法
- g/LET g_sql = “INSERT INTO ds _report:”, l_table CLIPPED,/s//
LET g_sql = “INSERT INTO ds _report.”, l_table CLIPPED,/g
-
- 4gl是CALL cl_prt_cs1( )写法的,传过去的SQL有OUTER忘记转换
- rpt部分
- 字体没有照该语言别规定
- 繁体版:细明体、英文版:细明体、简体版:新宋体(NSimSun)
- CR可设定预设字体,可进入「档案」→「选项」→「字型」页签设定。
以繁体版为例,将每个项目的预设字型都设成细明体9,这样Designer设计出来的字段,就可预设好所在环境的字体,不用每次都要重选。- 冒号(:) 没有用全型
- 规范有特别提到,冒号(:)需用全型,但常有人忘记,或是直接从zaa那边Copy来,没有调整过。
- 页次显示格式为1/3
- 在页次对象里有设定公式做显示格式设定。
- 若要新增页次对象,又怕忘了做设定,最好的办法就是开启别的正常显示的rpt,将他的页次对象Copy过来。
- 报表的「页首」格式需固定
- 标准只有三行 (title1, title2, 制表日期),其它原本放在报表Header的字段 (非前面三行里的信息),须全部搬到页尾。除非有特殊需求(ex重要字段:期别),于确认规格后,才可移至制表日期行的中间空白处。
- 一般新增程序都会复制既有的rpt再去修改,「页首」的标准格式应与aoou702同。
为求打印出的样式统一,格式需统一标准,如下(请设定大小位置):-
- title1(公司名称) —- Y轴:0.5 、高度:0.52
- title2(报表名称) —- Y轴:1.34、高度:0.37
- 制表日期行 —- Y轴:2.00、高度:0.42
- 细目字段间的间格不一致,有宽有窄
-
- 目前并没有很强制的规定字段间的间距,仅要求同一支rpt里的字段间距差不多即可,目测觉得差不多一样宽即接受,不可忽大忽小。
- 字段抬头全部要设定置中
- 字段抬头下的线,是用字段的下框线去设计,不要自己拉一条分隔线
- 细目里的字段类型分为三种,字符串设定靠左,数字设定靠右,日期设定置中
- (日期格式2007/01/01,记得月日要补0)
- 金额字段忘记做取位
- 「自动调大」功能要记得使用。
- 因为版面放置不下,有些字段设计的宽度会比数据库定义的宽度还小,要记得设定「自动调大」功能
- 规范里有讲到,料号、品名、规格、备注….等字段,因为版面放不下的关系,所以栏宽拉的比较小,为了不让这些字段太长压到后面的字段,一定要记得设自动调大,这样就会折行后再印。
- 小计类的字段显示格式,没照规范设定
- 格式固定为:上方需一条黑色分隔线,字段设定下框线双线、灰色下落式阴影。
- 打印条件只需要出现在最后一页
- 参数数量有少
- 正常要有26个,且顺序有一定的限制,型态一定要是「字符串」,切勿自行定义成其它型态,会导致错误
- 出报表时出现要求输入DATASET,账号….等信息
导致的原因很多,以下列出已经有碰过的情况:
- 出报表时出现要求输入DATASET,账号….等信息
1). 4gl里面的字段名称与xml里的字段名称对不起来
可能原因:在4gl里是aaa01,xml里却看到aaa01_1,这样就会导致rpt抓不到对的字段,而出现错误的讯息。
2). 4gl已经加了字段,但忘记修改xml
3).程序名称与xml里的Dataset名称不一致
可能原因:有些程序是共享同一个4gl,但在p_zz里再设定成不同的程序代号,这种的都要另外再做处理。
-
- 签核字段请勿使用下底线,使用IE进行预览时,会变成虚线。请用分隔线设计。
(此为CR Viewer的限制)
Ex: 原rpt签核使用底线设计方式:
复审: _____________________ 初审: _____________________ 制表: _____________________
- 签核字段请勿使用下底线,使用IE进行预览时,会变成虚线。请用分隔线设计。
IE结果如下:
- 其它
- 新增了rpt,却忘掉到p_zaw做注册的动作
- CR Viewer汇出段功能与限制说明
2.1 | 文字折行问题 | 「制表日期:07/04/04 12:00:00 」 –> 「制表日期 07/04/04 12:00:00 」 : |
2.2 | 汇出至Excel 后,字段显示不完整问题 | ![]() |
2.3 | 转Excel后,OLE对象的表格与数据,会分开显示 | ![]() |
2.4 | CR汇出问题–数据显示错误 (anmr302) | rpt显示结果
|
2.5 | 汇出至excel,分隔线消失,.rpt显示正常。(ex: axcr430) | rpt显示结果
|
2.6 | 新CR Viewer显示左区块的树状列,是否可定义预设宽度? | ![]() |
2.7 | 数据暂不可使用全型符号(ex:”∕”),显示会有问题。 | 数据若为全型符号(ex:”∕”)显示会有问题。
Ex: agli102科目名称 (零用金∕周转金)、axrr510打印科目名称显示有问题。 |
2.8 | 若使用文字对象下框线画线,会跟 IE的字号有牵连(目前IE字型设定”适中”以上的等级, 网格线会变大变形, 左右不对齐) | ![]() ![]() |
2.9 | aglr931群组的日期 与 实际数据问题不一致。为群组排序的问题。若排序字段为日期格式,预设会以”周”为单位进行group。 | ![]() |