oracle sqr 报表工具之procedure定义及调用示例

在public.lic文件中编写要调用的procedure代码
!获取TCBS系统日期
Begin-Procedure Get-The-PostDate(:$Value)
    Move 'IN Get-The-PostDate' To $_Global-ProcName
  Let $Value = ''
Begin-Select On-Error=Global-Got-Fatal-SQL-Error
TO_DATE(BankOptionValue, 'YYYY-MM-DD')    &Value
 Let $Value = &Value
  From BankOption
 Where BankOptionCd = 'PDAT'
End-Select
End-Procedure


而在sqr报表展现代码DEP_ATMPFTD.sqr中可以调用上述的public.lic文件中的过程procedure

#define addtlsetup
#include 'Rptstub.lib'
#include '{libpath}tkit_batchstartup.inc'
#include '{libpath}tkit_rptheader.inc'
#include '{libpath}tkit_queappl.inc'
#include '{libpath}public.lic'  !注意:就是通过此类代码在sqr中引用lic文件定义的procedure
#include '{libpath}tkit_Sqrfunc.inc'

此处略去非相关代码

BEGIN-procedure NP($a)
do Get-The-PostDate($dt) !注:通过do调用了lic文件的
move $dt to $dt 'YYYYMMDD'
do GET-APPL-NAME($appnam)
Do Get-Bank-Option('RPTT',$Len)
let $out=$Len||$dt||'\'||$a||'_'||$appnam|| '.LIS'
NEW-REPORT $out
use-procedure before-page = pheading
do selectRpt($a)
end-procedure

小结:

1,procedure定义的参数(procedure类似于java的方法,而此处参数就像方法的输入输出参数)
2,上述public.lic的Get-The-PostDate(:$Value)过程之参数为输出参数,在sqr中参数以:前缀,表示输出参数




请使用浏览器的分享功能分享到微信等