最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

CR报表常见问题

水晶报表 bron1984 8219浏览

针对三大部分(4gl、ora、rpt),Designer可能发生的错误,进行以下条列说明。

  • 4gl部分
    1. 定义Temp-table时,字段名称打错,或者漏了
      • Ex:小写的L与数字1
    2. 定义Temp-table的程序段放错位置
      • 一般会放在MAIN FUNCTION的cl _used (1) 后面
    3. INSERT SQL里的”?”数量,与前面定义Temp-table的字段数不一致
      • Temp-table定义了10个字段,”?”就该有10个
    4. EXECUTE写入的字段数量or字段顺序,与前面定义的Temp-table不一致
      • Temp-table有10个字段,EXECUTE传入的就该有10个字段,顺序也需对应,常出错在中间加入字段,但EXECUTE这边传入的位置与Temp-table那边定义的字段顺序没有对好
    5. 原rep( ) 段的数据处理没有移出来
      • 旧的报表写法,有些抓数据是写在rep( )里,改成新写法时,忘记把这部份抓数据的处理段也搬上来,造成某些字段值没有印出来
    6. 忘记先CALL cl _del _data( )去清除Temp-table资料
      • 报表有定义Temp-table,在主程序段一开始忘记CALL cl _del _data()去清除Temp-table数据,导致报表越跑数据越多
    7. 画面有QBE,忘记印”打印条件”
      • 不管之前旧报表有没有打印条件,新的CR报表只要有QBE条件的都要印。有的报表虽然记得有印打印条件,但实际印出来却没有把字段转成中文说明,注意

cl _wcchp里面放的字段有没有错

    1. 已转成CR的报表写法,程序里却还有用到g_x
      • 未来报表都转成CR后,将废除使用p_zaa,所以已转CR的报表全面禁止用到g_x
  • ora部分
    1. 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

    1. 4gl是CALL cl_prt_cs1( )写法的,传过去的SQL有OUTER忘记转换
  • rpt部分
    1. 字体没有照该语言别规定
  • 繁体版:细明体、英文版:细明体、简体版:新宋体(NSimSun)
  • CR可设定预设字体,可进入「档案」→「选项」→「字型」页签设定。
    以繁体版为例,将每个项目的预设字型都设成细明体9,这样Designer设计出来的字段,就可预设好所在环境的字体,不用每次都要重选。

    1. 冒号(:) 没有用全型
  • 规范有特别提到,冒号(:)需用全型,但常有人忘记,或是直接从zaa那边Copy来,没有调整过。
    1. 页次显示格式为1/3
  • 在页次对象里有设定公式做显示格式设定。
  • 若要新增页次对象,又怕忘了做设定,最好的办法就是开启别的正常显示的rpt,将他的页次对象Copy过来。
    1. 报表的「页首」格式需固定
  • 标准只有三行 (title1, title2, 制表日期),其它原本放在报表Header的字段 (非前面三行里的信息),须全部搬到页尾。除非有特殊需求(ex重要字段:期别),于确认规格后,才可移至制表日期行的中间空白处。
  • 一般新增程序都会复制既有的rpt再去修改,「页首」的标准格式应与aoou702同。
    为求打印出的样式统一,格式需统一标准,如下(请设定大小位置):

      • title1(公司名称) —- Y轴:0.5 、高度:0.52
      • title2(报表名称) —- Y轴:1.34、高度:0.37
      • 制表日期行 —- Y轴:2.00、高度:0.42
    1. 细目字段间的间格不一致,有宽有窄
  • 目前并没有很强制的规定字段间的间距,仅要求同一支rpt里的字段间距差不多即可,目测觉得差不多一样宽即接受,不可忽大忽小。
    1. 字段抬头全部要设定置中
    2. 字段抬头下的线,是用字段的下框线去设计,不要自己拉一条分隔线
    3. 细目里的字段类型分为三种,字符串设定靠左,数字设定靠右,日期设定置中
  • (日期格式2007/01/01,记得月日要补0)
    1. 金额字段忘记做取位
    2. 「自动调大」功能要记得使用。
  • 因为版面放置不下,有些字段设计的宽度会比数据库定义的宽度还小,要记得设定「自动调大」功能
  • 规范里有讲到,料号、品名、规格、备注….等字段,因为版面放不下的关系,所以栏宽拉的比较小,为了不让这些字段太长压到后面的字段,一定要记得设自动调大,这样就会折行后再印。
    1. 小计类的字段显示格式,没照规范设定
  • 格式固定为:上方需一条黑色分隔线,字段设定下框线双线、灰色下落式阴影。
    1. 打印条件只需要出现在最后一页
    2. 参数数量有少
  • 正常要有26个,且顺序有一定的限制,型态一定要是「字符串」,切勿自行定义成其它型态,会导致错误
    1. 出报表时出现要求输入DATASET,账号….等信息
      导致的原因很多,以下列出已经有碰过的情况:

1). 4gl里面的字段名称与xml里的字段名称对不起来
可能原因:在4gl里是aaa01,xml里却看到aaa01_1,这样就会导致rpt抓不到对的字段,而出现错误的讯息。

2). 4gl已经加了字段,但忘记修改xml

3).程序名称与xml里的Dataset名称不一致
可能原因:有些程序是共享同一个4gl,但在p_zz里再设定成不同的程序代号,这种的都要另外再做处理。

    1. 签核字段请勿使用下底线,使用IE进行预览时,会变成虚线。请用分隔线设计。
      (此为CR Viewer的限制)
      Ex: 原rpt签核使用底线设计方式:
      复审: _____________________ 初审: _____________________ 制表: _____________________

IE结果如下:

  • 其它
    1. 新增了rpt,却忘掉到p_zaw做注册的动作
    2. 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显示结果

xls显示结果

2.5 汇出至excel,分隔线消失,.rpt显示正常。(ex: axcr430) rpt显示结果

xls显示结果

2.6 新CR Viewer显示左区块的树状列,是否可定义预设宽度?
2.7 数据暂不可使用全型符号(ex:”∕”),显示会有问题。 数据若为全型符号(ex:”∕”)显示会有问题。

Ex: agli102科目名称 (零用金∕周转金)、axrr510打印科目名称显示有问题。

2.8 若使用文字对象下框线画线,会跟 IE的字号有牵连(目前IE字型设定”适中”以上的等级, 网格线会变大变形, 左右不对齐)
2.9 aglr931群组的日期 与 实际数据问题不一致。为群组排序的问题。若排序字段为日期格式,预设会以”周”为单位进行group。

转载请注明:赫非域 » CR报表常见问题