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 sqr之不同判斷寫入不同的.LIS檔案Oracle
- Oracle Patchset 不同檔案的作用Oracle
- oracle sqr編寫技巧Oracle
- oracle group by與分組列為null空OracleNull
- oracle sqr介質下載Oracle
- 關於Oracle自定義分組函式Oracle函式
- 【ROLLUP】Oracle分組函式之ROLLUP魅力Oracle函式
- 【CUBE】Oracle分組函式之CUBE魅力Oracle函式
- oracle 關於--控制檔案Oracle
- Oracle控制檔案基礎Oracle
- oracle sqr工作學習小記Oracle
- oracle基礎管理——表空間和資料檔案Oracle
- oracle sqr 報表工具之procedure定義及呼叫示例Oracle
- 【學習日記】oracle之表空間、資料檔案、控制檔案Oracle
- Oracle 表空間增加檔案Oracle
- 基於.NET+ Oracle三層架構的醫院LIS系統原始碼Oracle架構原始碼
- oracle資料分組Oracle
- oracle 關於--密碼檔案Oracle密碼
- oracle 關於--引數檔案Oracle
- oracle 關於-日誌檔案Oracle
- oracle 關於-資料檔案Oracle
- 關於oracle的控制檔案Oracle
- 關於oracle 密碼檔案Oracle密碼
- Oracle引數檔案基礎Oracle
- oracle sqr編寫除錯手記Oracle除錯
- oracle 索引組織表Oracle索引
- oracle 線上重組表Oracle
- oracle檔案管理之 redo logOracle
- tcbs sqr之轉睡眠戶_sqr示例學習筆記_報表report筆記
- Oracle 多行分多列Oracle
- 使用rman在oracle ASM磁碟組之間移動資料檔案OracleASM
- oracle 將表空間下的資料檔案從檔案系統遷移到ASM磁碟組OracleASM
- ORACLE將不同表改為分割槽表Oracle
- 基於檔案的表合併及行轉列實現參考
- Oracle之表Oracle
- Oracle重做日誌檔案基礎Oracle
- Oracle基礎 09 概要檔案 profileOracle
- Oracle日誌組新增冗餘檔案和日誌組Oracle