PeopleSoft Cobol Stored Statements

在我刚刚开始支持PeopleSoft的时候,特别是在安装bundles或者Tax Updates的时候,不是特别理解Stored Statements。下面主要讲讲我对Stored StatementsPeopleSoft中应用的理解吧。

 

什么是Stored Statements in PeopleSoft

 

Stored Statements 储存在 PS_SQLSTMT_TBL中事先定义好的SQL语句(如Select, Insert, Update, 等等)。这些SQL语句也叫做"static SQL"。当我们运行COBOL program的时候, COBOL program 就会从PS_SQLSTMT_TBL中提取相应的SQL语句。PeopleSoft把这些SQL语句以Data Mover Scripts形式发放给客户。当我们下载bundles或者Tax Updates的时候,常常看见这些有和COBOL programs同名的DMS 文件。这些DMS Scripts就是相应COBOL programs Stored SQL Statement Scripts。比如,pspcnfrm.dms 就是COBOL program - PSPCNFRMStored SQL Statements Script 我们需要在Data Mover 中运行这些Scripts, 好把这些SQL语句储存在 PS_SQLSTMT_TBL中。

 

Stored SQL Statement Scripts文件

 

一般情况下,第一条语句是delete现存在PS_SQLSTMT_TBL中的与COBOL program 相联系SQL Statements

 

下面接着是一组STORE命令。每个STORE命令后接着一个12 18个字符的SQL Statement名字:

  第1到第8个字符是COBOL program的名字

   9 个字符是下划线

  10个字符是SQL Statement的类型

        S Select

        D Delete

        I   Insert

        U Update

  11字符是下划线

  12到第18个字符是SQL StatementSQL Statement在这个CCOBOL program中独一的名字,一般带有所涉及的table的名字. 下面是一些例子:

 

  STORE PSPCNFRM_D_RUNCTL

  STORE PSPCKUNC_U_SSPGUID

  STORE PSPCBUPD_U_BAL_CC

 

每个STORE命令下面几行是要储存SQL Statement

 

什么是STORE*.DMS

 

每一个PeopleSoft 功能模块,都有一个PeopleSoft发送的STORE*.DMS 文件。这个Script是用来load所有和这个功能模块有关的(COBOL programs所有事先定义好的) SQL语句。在这个STORE*.DMS 文件中,是一组run命令。每个run命令后接着一个Stored SQL Statement Script文件的名字。如:

...

run pspcnfrm.dms;

run pspcbupd.dms;

...

 

当你需要运行某个功能模块所有的Stored SQL Statement Scripts的时候, 这些STORE*.DMS就非常方便。你不需要去一个一个地运行Stored SQL Statement Script。而是只需要运行这一个STORE*.DMS

 

PeopleSoft建议, 在安装bundles或者Tax Updates的时候, 运行所有的STORE*.DMS.

posted @ 2011-07-22 04:31  廖大维  阅读(665)  评论(1编辑  收藏  举报