oracle sqr之不同判斷寫入不同的.LIS檔案
!標頭檔案,公有模板的預定義
#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
!主過程呼叫其它子過程
begin-procedure osi-main
do query_a_1 !子過程
do query_a_2
end-procedure
!查詢a=1 子過程,用於主過程osi-main呼叫,此類思想同於java及oracle
begin-procedure query_a_1
let $out1='查詢1'||'.LIS'
new-report $out1
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=1
end-select
end-procedure
!查詢a=2
begin-procedure query_a_2
let $out2='查詢2'||'.LIS'
new-report $out2
begin-select
position (+1)
a &a2
move &a2 to #a2
print #a2 (,60,10) edit 9
b &b2
move &b2 to #b2
print #b2 (,80,10) edit 9
from osibank.zxytestsqr z where z.a=2
end-select
end-procedure
begin-procedure OSI-Startup
End-procedure
示例結果:
生成2個檔案分別為:
查詢1.lis
查詢2.lis
上述程式碼產生的結果,就會變成:
如果判斷有值,就產生對應的報表lis檔案,否則不會產生
#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
!主過程呼叫其它子過程
begin-procedure osi-main
do query_a_1 !子過程
do query_a_2
end-procedure
!查詢a=1 子過程,用於主過程osi-main呼叫,此類思想同於java及oracle
begin-procedure query_a_1
let $out1='查詢1'||'.LIS'
new-report $out1
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=1
end-select
end-procedure
!查詢a=2
begin-procedure query_a_2
let $out2='查詢2'||'.LIS'
new-report $out2
begin-select
position (+1)
a &a2
move &a2 to #a2
print #a2 (,60,10) edit 9
b &b2
move &b2 to #b2
print #b2 (,80,10) edit 9
from osibank.zxytestsqr z where z.a=2
end-select
end-procedure
begin-procedure OSI-Startup
End-procedure
示例結果:
生成2個檔案分別為:
查詢1.lis
查詢2.lis
--在上述程式碼基礎上,新增判斷分支,根據不同判斷決定是否列印不同的LIS檔案 程式碼如下: #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 !主過程呼叫其它子過程 begin-procedure osi-main begin-select count(*) &a_1_rowcount from osibank.zxytestsqr z where z.a=1 end-select begin-select count(*) &a_2_rowcount from osibank.zxytestsqr z where z.a=2 end-select if &a_1_rowcount>0 do query_a_1 end-if if &a_2_rowcount>0 do query_a_2 end-if end-procedure !查詢a=1 begin-procedure query_a_1 let $out1='查詢1'||'.LIS' new-report $out1 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=1 end-select end-procedure !查詢a=2 begin-procedure query_a_2 let $out2='查詢2'||'.LIS' new-report $out2 begin-select position (+1) a &a2 move &a2 to #a2 print #a2 (,60,10) edit 9 b &b2 move &b2 to #b2 print #b2 (,80,10) edit 9 from osibank.zxytestsqr z where z.a=2 end-select end-procedure begin-procedure OSI-Startup End-procedure |
上述程式碼產生的結果,就會變成:
如果判斷有值,就產生對應的報表lis檔案,否則不會產生
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-713575/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle sqr之基於oracle表分組列列印不同.LIS檔案Oracle
- nginx 判斷移動端或者 PC 端 進入不同專案Nginx
- Python–logging模組不同級別寫入到不同檔案Python
- Oracle Patchset 不同檔案的作用Oracle
- Laravel 不同生產環境伺服器的判斷Laravel伺服器
- C語言判斷檔案是否存在,判斷檔案可讀可寫可執行C語言
- 類的方法,函式,同一個package不同.py檔案,不同package不同.py檔案————呼叫問題函式Package
- oracle sqr編寫技巧Oracle
- Django 專案如何通過載入不同 env 檔案來區分不同環境Django
- java判斷IOS還是安卓,跳轉不同的連線JavaiOS安卓
- 不同的斷點,不同的效果!!! (9千字)斷點
- Java C++ 讀寫檔案大小端格式是不同的JavaC++
- 不同Oracle版本下物化檢視註釋的不同之處Oracle
- Oracle不同檔案丟失/損壞的恢復方法Oracle
- 在不同主機的ASM之間拷貝檔案ASM
- 將多個實體類集合寫入同一個 Excel 檔案的不同 Sheet 頁Excel
- 不同EXCEL檔案超連結Excel
- 如何判斷js檔案是否載入完畢JS
- 為不同專案指定不同的 PHP 版本PHP
- js判斷引入的js檔案是否載入完畢JS
- Oracle Data Guard口令檔案到底是"複製"還是"生成" - 版本不同做法不同Oracle
- 為什麼Oracle的外連線寫法不同導致查詢結果不同?Oracle
- 再談檔案讀寫:判斷檔案的幾種方法及其優劣對比
- jquery如何判斷js檔案是否載入完畢jQueryJS
- 根據不同的顯示器解析度使用不同樣式檔案
- oracle sqr編寫除錯手記Oracle除錯
- ORACLE入門之OLTP和DSS不同資料庫設計Oracle資料庫
- golang判斷檔案是否存在Golang
- vc判斷檔案是否存在
- Vim檔案型別判斷型別
- MYSQL 一個特殊需求在不同的MYSQL配置產生不同的結果 與 update 0 是否需要應用程式判斷MySql
- 根據不同的瀏覽器載入相應的CSS檔案本瀏覽器CSS
- aix不同版本安裝oracle的不同版本時的要求AIOracle
- [轉載 mos] Oracle RAC 不同版本不同平臺官檔收集記錄Oracle
- vscode高效管理不同專案檔案VSCode
- java判斷檔案是否存在並建立檔案Java
- 學習筆記:在windows和linux下寫檔案的些許不同筆記WindowsLinux
- react專案中不同寬度斷點處理React斷點