变态的报表——TIPTOP 报表

此报表是利用 4GL+HTML 打印出来的。效果如下:

用过TIPTOP的人都知道,特别的TIPTOP的低版本,报表很挫,

对于有格子的报表很难弄。高版本用的CR就不说了。

废话不多说,直接看下图:

(问题:小于零的数值型数据转换成字符型的时候前面的零自动没有了)

SQL没改之前的预览效果(预览效果一):

LET l_sql = "  SELECT qcgg02, tc_qcj031||tc_qcj03,tc_qcj04,tc_qcj032,TRIM(tc_qcj05) ,tc_qcj051,tc_qcj052,
          WM_CONCAT((DECODE(QCGG04,'1', TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))),   
          WM_CONCAT((DECODE(QCGG04,'2', TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL)))  ,
          WM_CONCAT((DECODE(QCGG04,'3', TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL)))  ,
          WM_CONCAT((DECODE(QCGG04,'4', TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL)))  ,
          WM_CONCAT((DECODE(QCGG04,'5', TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL)))  ,
          WM_CONCAT((DECODE(QCGG04,'6', TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL)))  ,
          WM_CONCAT((DECODE(QCGG04,'7', TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL)))  ,
          WM_CONCAT((DECODE(QCGG04,'8', TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL)))  ,
          WM_CONCAT((DECODE(QCGG04,'9', TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL)))  ,
          WM_CONCAT((DECODE(QCGG04,'10',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ,
          WM_CONCAT((DECODE(QCGG04,'11',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ,
          WM_CONCAT((DECODE(QCGG04,'12',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ,
          WM_CONCAT((DECODE(QCGG04,'13',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ,
          WM_CONCAT((DECODE(QCGG04,'14',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ,
          WM_CONCAT((DECODE(QCGG04,'15',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ,
          WM_CONCAT((DECODE(QCGG04,'16',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ,
          WM_CONCAT((DECODE(QCGG04,'17',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ,
          WM_CONCAT((DECODE(QCGG04,'18',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ,
          WM_CONCAT((DECODE(QCGG04,'19',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ,
          WM_CONCAT((DECODE(QCGG04,'20',TRIM(qcgg06||'/'||QCGG061||qcgg07),NULL))) ",
      "  FROM qci_file,qcgg_file,tc_qcj_file  ",
      "  WHERE qcgg01 = '", g_argv3,"'", 
      "    AND qci01 = qcgg01 AND qci00='1' ",
      "    AND qci02 = tc_qcj02 AND qci02=qcgg02 ", 
      "    AND qci03 = qcgg03   AND qci03 ='",g_argv6,"'",
      "    AND (qcgg06 IS NOT NULL OR qcgg061 IS NOT NULL OR qcgg07 IS NOT NULL) ",
      "    AND qci041 = tc_qcj01  " 
   CASE 
     WHEN g_argv5 ='1' LET l_sql = l_sql CLIPPED," AND qcgg02 LIKE 'B%' " 
     WHEN g_argv5 ='2' LET l_sql = l_sql CLIPPED," AND qcgg02 LIKE 'C%' " 
     OTHERWISE 
          LET l_sql = l_sql 
  END CASE  	 
    LET l_sql = l_sql CLIPPED," GROUP BY qcgg02,tc_qcj031,tc_qcj03,tc_qcj032,tc_qcj04,tc_qcj05,tc_qcj051,tc_qcj052 ORDER BY qcgg02 " 

 

SQL改后的预览效果(预览效果二):

#20121025 BY FMX 数字转换为字符前面加一个0
 LET l_sql = "  SELECT qcgg02, tc_qcj031||tc_qcj03,tc_qcj04,tc_qcj032,TRIM(tc_qcj05) ,tc_qcj051,tc_qcj052,
           WM_CONCAT((DECODE(QCGG04,'1', TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,   
           WM_CONCAT((DECODE(QCGG04,'2', TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'3', TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'4', TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'5', TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'6', TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'7', TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'8', TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'9', TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'10',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'11',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'12',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'13',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'14',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'15',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'16',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'17',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'18',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'19',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ,
           WM_CONCAT((DECODE(QCGG04,'20',TRIM((CASE INSTR(qcgg06,'.',1,1) WHEN 1 THEN '0'||qcgg06 ELSE to_char(qcgg06) END)||'/'||(CASE INSTR(qcgg061,'.',1,1) WHEN 1 THEN '0'||qcgg061 ELSE to_char(qcgg061) END)||qcgg07),NULL))) ",
       "  FROM qci_file,qcgg_file,tc_qcj_file  ",
       "  WHERE qcgg01 = '", g_argv3,"'", 
       "    AND qci01 = qcgg01 AND qci00='1' ",
       "    AND qci02 = tc_qcj02 AND qci02=qcgg02 ", 
       "    AND qci03 = qcgg03   AND qci03 ='",g_argv6,"'",
       "    AND (qcgg06 IS NOT NULL OR qcgg061 IS NOT NULL OR qcgg07 IS NOT NULL) ",
       "    AND qci041 = tc_qcj01  " 
   CASE 
     WHEN g_argv5 ='1' LET l_sql = l_sql CLIPPED," AND qcgg02 LIKE 'B%' " 
     WHEN g_argv5 ='2' LET l_sql = l_sql CLIPPED," AND qcgg02 LIKE 'C%' " 
     OTHERWISE 
          LET l_sql = l_sql 
  END CASE  	 
    LET l_sql = l_sql CLIPPED," GROUP BY qcgg02,tc_qcj031,tc_qcj03,tc_qcj032,tc_qcj04,tc_qcj05,tc_qcj051,tc_qcj052 ORDER BY qcgg02 "

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值