oracle sqr之基於oracle表分組列列印不同.LIS檔案
oracle測試表結構及資料
oracle sqr程式碼
示例程式碼輸出結果
小結
osibank.testzxysqr a b 1 1 2 3 2 3 3 4 4 6 6 9 |
oracle sqr程式碼
#define addtlsetup #include 'Rptstub.lib' #include '{libpath}tkit_batchstartup.inc' !#include '{libpath}tkit_rptheader.inc' #include '{libpath}tkit_queappl.inc' #include '{libpath}tkit_vars_opts.inc' #include '{libpath}tkit_Sqrfunc.inc' begin-setup Declare-layout batch-land rientation=landscape left-margin=0 top-margin=0 max-lines=60 max-columns=180 end-declare end-setup !20111220 newly added 無資料使用報表頭 begin-heading 5 name=nodataheading print 'a列' (1,11) print 'b列' (1,20) print '─' (+1,2,84) fill end-heading begin-procedure osi-main do group_a end-procedure begin-procedure query_table($a) begin-select position (+1) a &a1 move &a1 to $a1 print $a1 (,20,10) edit 9 b &b1 move &b1 to #b1 print #b1 (,40,10) edit 9 from osibank.zxytestsqr z where z.a=$a end-select end-procedure !以分組a列輸出不同的lis檔案 begin-procedure group_a begin-select distinct !to_char(a) &a () on-break print=never after=group($a) save=$a a &a () on-break print=never after=group($a) save=$a !after及before只能用於begin-select節中 from osibank.zxytestsqr order by a!p.branchorgnbr &a () ON-BREAK PRINT=NEVER AFTER=NP($a) save = $a end-select end-procedure begin-procedure group($a) !如下new-report與do語句的先後順序至關重要,開始do語句在前,產生的分組lis檔案會少1個,調換2語句順序後,產生分組LIS檔案正常 let $out=$a||'_'||'查詢.lis' new-report $out !此new-report語句 do query_table($a) !此do語句 end-procedure begin-procedure OSI-Startup End-procedure begin-footing 5 !name=endfooting !報表尾列印位置要注意,不然可能會出現當前頁沒列印輸出完,就會列印第二頁報錯,調整position即可 page-number (+1,20) '當前頁為第' '頁,' last-page () '共' '頁。' end-footing |
示例程式碼輸出結果
依次產生6個LIS檔案: 1_查詢.lis 2_查詢.lis 3_查詢.lis 4_查詢.lis 5_查詢.lis 6_查詢.lis 其上述lis檔案內容,摘1_查詢.lis,其它LIS類同 1 3 |
小結
1,sqr命令,一定要仔細理解,比如NEW-REPORT與do命令的順序 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-713645/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 表空間增加檔案Oracle
- Oracle 多行分多列Oracle
- Oracle案例11——Oracle表空間資料庫檔案收縮Oracle資料庫
- 基於.NET+ Oracle三層架構的醫院LIS系統原始碼Oracle架構原始碼
- 不同於Oracle:SEQUENCE的區別Oracle
- Oracle 控制檔案Oracle
- ORACLE基礎之oracle鎖(oracle lock mode)詳解Oracle
- Oracle分割槽表基礎運維-04列表分割槽Oracle運維
- Oracle分割槽表基礎運維-01分割槽表分類Oracle運維
- ORACLE 概要檔案管理Oracle
- Oracle 密碼檔案Oracle密碼
- oracle 普通表空間資料檔案壞塊Oracle
- Oracle 10g大檔案表空間(轉)Oracle 10g
- Oracle最佳化之單表分頁最佳化Oracle
- Oracle 資料檔案回收Oracle
- Oracle:ASM & 密碼檔案OracleASM密碼
- Oracle分割槽表基礎運維-06分割槽表索引Oracle運維索引
- Oracle分割槽表基礎運維-05組合分割槽Oracle運維
- 6、Oracle中的分組函式Oracle函式
- 基於Docker部署Oracle、MySQL等資料庫的資料檔案持久化DockerOracleMySql資料庫持久化
- oracle之 AWR固定基線Oracle
- .Oracle固定執行計劃之SQL PROFILE概要檔案OracleSQL
- 基於檔案的表合併及行轉列實現參考
- ORACLE 控制檔案(Control Files)概述Oracle
- [20190530]oracle Audit檔案管理.txtOracle
- Oracle OCP(55):SQLLDR—CTL檔案OracleSQL
- Oracle RAC引數檔案管理Oracle
- 咦?Oracle歸檔檔案存哪了?Oracle
- Linux基礎命令---lp列印檔案Linux
- Linux基礎命令---lpr列印檔案Linux
- oracle基於SCN增量恢復Oracle
- 【TUNE_ORACLE】Oracle健康檢查基礎專案(一)專案列表Oracle
- 基於Hadoop不同版本搭建hive叢集(附配置檔案)HadoopHive
- oracle之 手動建立 emp 表 與 dept 表Oracle
- [轉載 mos] Oracle RAC 不同版本不同平臺官檔收集記錄Oracle
- Oracle資料檔案和臨時檔案的管理Oracle
- Oracle Linux 7使用syslog來管理Oracle ASM的審計檔案OracleLinuxASM
- oracle資料庫的配置檔案Oracle資料庫
- [20230508]crack oracle執行檔案.txtOracle