You are on page 1of 17

SOP 使用手册

联想金融事业部
2003-5-19

地址:北京市海淀区上地创业中路 32 号(100085) 1
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
目录

1. 概述 ............................................................................................................................ 5

2. SOP 的参数配置 ....................................................................................................... 5


2.1 SOP 环境变量 ..................................................................................................... 5
2.1.1 SOP 环境变量文件 run.env ............................................................ 5

2.1.2 TUXEDO 通讯环境变量文件 tux_sop.env.................................... 5


2.2 运行参数 RUN.CONF ............................................................................................. 5
2.3 开关量配置 .......................................................................................................... 6
2.4 公共变量配置 ...................................................................................................... 6
2.5 TUXEDO 通讯配置 TUX_SOP.UBB ....................................................................... 6
3. SOP 平台的安装与配置 ........................................................................................... 8

3.1.1 SOP 平台的环境参数 .......................................................................... 8

3.1.2 SOP 平台的安装 .................................................................................. 8

3.1.3 SOP 平台的目录准备 .......................................................................... 8

4. SOP 的启动和停止 ................................................................................................... 8


4.1 SOP 平台和文件传输 ......................................................................................... 8
4.2 联机服务 .............................................................................................................. 9
4.2.1 开发模式............................................................................................... 9

4.2.2 正式生产模式....................................................................................... 9

5. SOP 的平台的运行目录结构 ................................................................................... 9


5.1 目录结构 .............................................................................................................. 9
5.2 文件清单 .............................................................................................................. 9
5.2.1 SOP 平台命令与工具................................................................................ 9

5.2.2 etc 配置文件 ..................................................................................... 9

6. 常见错误和问题解答 .............................................................................................. 10
6.1 错误分析 ............................................................................................................ 10
6.1.1 通信的日志的格式............................................................................. 10

6.1.2 常见错误............................................................................................. 11

6.1.3 平台级错误......................................................................................... 11

地址:北京市海淀区上地创业中路 32 号(100085) 2
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
6.2 常见问题解答 .................................................................................................... 12
6.2.1 SOP 是否只能 cbs 用户启动? ....................................................... 12

6.2.2 怎样使修改的接口生效?................................................................. 12

6.2.3 在开发方式下怎样生成交易的可执行程序?................................. 13

6.2.4 有的交易会出现前台输入的数据到了后台就不对了,为什么?. 13

6.2.5 怎样查看交易的 log? ...................................................................... 13

6.2.6 怎样关闭交易的 log ?.................................................................... 13

6.2.7 怎样得知交易 core dump?............................................................ 13

6.2.8 怎样在 HP_UX 中查看 core 文件?................................................. 13

6.2.9 有时候一个交易总是失败,为什么?............................................. 13

6.2.10 cbs 用户的组是否有要求?.......................................................... 13

6.2.11 交易的超时怎么控制的? ................................................................ 14

6.2.12 有时新加的交易会失败,不能进入交易逻辑? .......................... 14

6.2.13 程序中是否能出现绝对路径? ........................................................ 14

6.2.14 程序中是否可以出现自己书写的 sql 语句? ............................. 14

6.2.15 标准构件怎样生成? ........................................................................ 14

6.2.16 调用标准修改构件为什么有时报时间戳被修改? ........................ 14

6.2.17 怎样更换 tuxedo 的 lic 文件? .................................................. 15

6.2.18 怎样修改 tuxedo 配置文件?........................................................ 15

6.2.19 各种构件的存放目录是否要统一?调用关系怎样? .................. 15

6.2.20 交易或构件是否可以自己定义全局变量? .................................. 15

6.2.21 联机交易是否可以调用 PLog 函数?........................................... 15

7. 平台命令 .................................................................................................................. 15
7.1 SOPSVR ................................................................................................................ 15
7.2 TCPTEST .............................................................................................................. 16
7.3 TCPSVR ................................................................................................................ 16

地址:北京市海淀区上地创业中路 32 号(100085) 3
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
7.4 SOPMNG ................................................................................................................ 16
7.5 SOPLDPARA .......................................................................................................... 16
7.6 SOPWATCH ............................................................................................................ 16
7.7 SOPLOADCF .......................................................................................................... 17
7.8 BUILDT ................................................................................................................ 17
7.9 BUILDR ................................................................................................................ 17

地址:北京市海淀区上地创业中路 32 号(100085) 4
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
1. 概述

本书是联想集团 SOP 平台的使用手册,主要介绍 SOP 平台的配置管理、tuxedo 的配置以及


一些常见问题的解决方法。

2. SOP 的参数配置

2.1 SOP 环境变量

SOP 的环境变量都采用文本文件进行管理,sop 的平台环境变量存放在$RUNDIR/etc/run.env


中,tuxedo 的环境变量存放在$RUNDIR/etc/tux_sop.ubb 中.

2.1.1 SOP 环境变量文件 run.env

run.env 文件内容如下:
RUNDIR=$HOME/src/comm;export RUNDIR
PATH=$HOME/bin:$RUNDIR/bin:$RUNDIR/etc:$RUNDIR/tool:$RUNDIR/ecdt:$PATH;
export PATH
RUNLOG=$HOME/log;export RUNLOG
LIBPATH=$RUNDIR/lib:$LIBPATH;export LIBPATH
LD_LIBRARY_PATH=$RUNDIR/lib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH
RUNCONFIG=$RUNDIR/etc/run.bin;export RUNCONFIG #SOP 的配置二进制文件
下面的环境变量当采用 TCPSVR 通讯时使用:
MAXCHLDPROS=60;export MAXCHLDPROS 服务进程最大数目
CHLDPROS=20;export CHLDPROS 服务进程默认数目

主要的环境变量是下面几个:
RUNDIR 此环境变量设置 SOP 平台运行环境的目录,目前为$HOME/src/comm
RUNLOG 设置 SOP 日志目录,存放相关日志 ,目前为$HOME/log
RUNCONFIG SOP 配置文件全路径名,目前为$RUNDIR/etc/run.bin
LIBPATH 增加动态连接库的存放路径,本环境变量适用于 IBM AIX 环境.
LD_LIBRARY_PATH 增加动态连接库的存放路径,本环境变量适用于 HP-UX 环境.

2.1.2 TUXEDO 通讯环境变量文件 tux_sop.env

TUXDIR=/home/tuxedo; export TUXDIR #TUXEDO 的安装目录


PATH=$TUXDIR/bin:$PATH; export PATH
TUXCONFIG=$RUNDIR/bin/tux_sop.tux; export TUXCONFIG #TUXEDO 配置文件二进制
文件
SHLIB_PATH=$TUXDIR/lib:$SHLIB_PATH; export SHLIB_PATH #TUXEDO 动态库路径

2.2 运行参数 run.conf

SOP 平台的缺省配置文件在$SOPDIR/etc 下,文件名为 run.conf,通过平台管理工具


SOPLOADCF 进行设置。
只有正确设置参数,交易才能正常运行
DATABASE——运行参数数据库名,系统据此从指定的数据库中装入共享内存中。
BUSIDATA——业务数据库名(目前和运行参数数据库相同)

地址:北京市海淀区上地创业中路 32 号(100085) 5
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
FORMRECORD——FORM 的最大条数
USERS——设定交易换冲区的大小,此数目应等于服务进程的最大数目 MAXCHLDPROS.
MONITOR ——监控进程的轮询时间,以秒为单位
TIMEOUT——交易进程的最大超时时间
SysfldNUM——平台允许开关量的最大个数
CommfldNUM——COMMFLD 单元的个数,若定义的 Commfld 个数小于实际的数目,则系统
为 COMMFLD 分配的共享内存会小于实际需要,所以此数字要和实际相符。
PUBSPACE——公共资料空间,包括:进程表、开关量、各种数据单元的定义、索引区。
USERSPACE——每个服务进程的资料空间,指的是该进程的所有资料空间,而资料空间包括:
各种资料存储结构 Tranfld 单元的资料空间、Commfld 的空间、FORM 或者 OBJECT 的存储空间。
平台所占用的共享内存大小:
PUBSPACE+USERSPACE*USERS
在命令行方式下,在编辑完参数以后,执行装载程序
soploadcf run.conf
生成由环境参数 SOPCONFIG 指定的文件。

2.3 开关量配置

开关量的配置文件名:$RUNDIR/etc:sw.conf
开关量配置共三项:
■开关量名称
■开关量的中文说明
■开关量的初始取值(0:关,1:开)
每个开关量一行,开关量是 SOP 平台提供的一种机制,供交易系统使用,不是强制要求。

2.4 公共变量配置

公共变量的配置文件名:$RUNDIR/etc:commfld.conf

2.5 TUXEDO 通讯配置 tux_sop.ubb

在商行系统中,采用 Workstations 方式,主要配置是 WSL


*RESOURCES
IPCKEY 123456 # 控制 tuxedo 的 IPC 唯一性
MASTER cbs #和 LMID 相符
PERM 0600
MAXACCESSERS 260
DOMAINID sxg_00000000
MAXGROUPS 100
MAXMACHINES 256
MAXQUEUES 20
MAXSERVERS 100
MAXSERVICES 100
MODEL SHM #SHM 单机方式 MP 多机
LDBAL N #是否均衡负载
MAXBUFTYPE 16 #Default is 16

地址:北京市海淀区上地创业中路 32 号(100085) 6
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
MAXBUFSTYPE 32 #Default
SCANUNIT 10 #监控轮询一个时间单位是多少秒
SANITYSCAN 1 #间隔几个时间单位
BBLQUERY 30 #default 30
BLOCKTIME 240 #服务超时时间
SYSTEM_ACCESS FASTPATH #默认值 共享内存访问模式 PROTECTED—保护模式
*MACHINES
soptest LMID=cbs #uname -a
TUXCONFIG="/cbs/src/comm/bin/tux_sop.tux"
TUXDIR="/home/tuxedo"
APPDIR="/cbs/src/comm/bin"
MAXWSCLIENTS=80

*GROUPS
"GROUP1" LMID="cbs" GRPNO=4

*NETGROUPS
*SERVERS
"WSL" SRVGRP=GROUP1 SRVID=3
CLOPT="-A -- -I 600 -n //192.168.0.2:4500 -d /dev/tcp -m 10 -M 2 0-x 4"
tuxsvr SRVGRP=GROUP1 SRVID=10
CLOPT="-A -e /cbs/log/err.log -o /cbs/log/out.log"
RQADDR="sop_q0" #MSSQ 方式 multiple server single queue
RQPERM=0600 REPLYQ=Y RPPERM=0600 MIN=3 MAX=50 CONV=N
SYSTEM_ACCESS=FASTPATH
MAXGEN=5 GRACE=0 RESTART=Y
*SERVICES
RUNSERVER
LOAD=50 PRIO=50 #default
BUFTYPE="ALL" #default 接受所有类型
*ROUTING

WSL 的配置重点要注意其 CLOPT 中几个关键参数的指定:


-m, -M, -x, WSH 启动的个数,及每个 WSH 可同时处理的并发请求数, "-M" * "-x" =
MAXWSCLIENTS;
-I, 客户端与服务器端建立连接的超时时间;

在 UBB 文件中 MAX… 基本的设置方法如下:


MAXWSCLIENTS <= Tuxedo license
MAXSERVERS = SUM (MAX setting of servers)
MAXACCESSERS = (MAXSERVERS+MAXWSCLIENTS) * 117%

tuxedo 配置文件命令 tmloadcf tux_sop.ubb

地址:北京市海淀区上地创业中路 32 号(100085) 7
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
3. SOP 平台的安装与配置

3.1.1 SOP 平台的环境参数

首先要设置环境变量,在$HOME/src/etc/cbs.env 中增加一行:
. $HOME/src/comm/etc/run.env,执行 run.env 中的环境变量设置,这里的 cbs.env 是
整个业务系统的环境变量配置.

3.1.2 SOP 平台的安装

目前只有手工方式:
1.程序打包
sop 平台目录为$RUNDIR,把$RUNDIR/etc RUNDIR/bin RUNDIR/tool RUNDIR/lib 打
包,在生产机解开。
2.在生产机上安装 informix,建立数据库 cbs,装入参数表数据。
3. 建立环境变量:
在.profile 中执行$HOME/src/etc/cbs.env
4. 加载 SOP 的配置参数
在$RUNDIR/etc 目录执行:soploadcf run.conf
生成 SOP 的配置文件 run.bin.
5. 初始化 SOP 通讯系统的初始化密钥(采用 sop 通讯加密模块的情况下)
在系统正式上线时,要由银行专门负责人员来初始化通讯的初始化密钥,密钥要求输入 8 个数
字或字符,提示输入两遍。
执行 sopinitkey
同时在 COP 前置机上也要初始化密钥 init_encrypt.
6. 设置业务系统的后台加密帐户密码的密钥(采用密码加密模块的情况下)
在系统正式上线时,要由银行专门负责人员来设置业务系统的后台加密帐户密码的密钥,密钥
要求输入 8 个数字或字符,提示输入两遍。
执行 sopinitpwd
注意:设置的密码一定要牢记,系统用它来加密帐户的密码。以后如果密钥文件丢失或硬件问
题引起密钥文件丢失,要用原来的密码来重新设置业务系统的后台加密帐户密码的密钥。生成的秘
钥文件为$RUNDIR/etc/.deskey,可以备份此文件。
7. 在后台主机表中增加 COP 前置机的地址(TCPSVR 方式下)
注意:为了防止非法用户侵入业务系统,SOP 对在后台主机中没有登记的地址拒绝服务。

3.1.3 SOP 平台的目录准备

需要建立$RUNDIR/etc/run.conf 中环境变量对应的下列目录:
$HOME/log 日志目录,可写可读 $RUNLOG
$HOME/ftp 传文件目录,所有人可写可读 $WORKPATH

4. SOP 的启动和停止

4.1 SOP 平台和文件传输

启动 sop: sopsvr start [-d]


传文件服务 tftserver start

地址:北京市海淀区上地创业中路 32 号(100085) 8
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
停止:sopsvr stop
tftserver stop

4.2 联机服务

4.2.1 开发模式

启动服务:tcptest start 端口号(如 4000) [-d]


tcptest start 4000 –d
停止:tcptest stop

4.2.2 正式生产模式

4.2.2.1 tcpsvr 通讯

启动: tcpsvr start 端口号


如:tcpsvr start 4000
停止: tcpsvr stop

4.2.2.2 TUXEDO 通讯

启动: tmboot –y
停止:tmshutdown –cy
监控:tmadmin->psr

5. SOP 的平台的运行目录结构

5.1 目录结构

在$RUNDIR 目录:
bin 与 SOP 可执行程序
etc 配置文件(平台及通信)
tool 编译连接工具
lib 动态连接库

5.2 文件清单

5.2.1 SOP 平台命令与工具


sopmng--集成化的平台管理接口工具
soploadcf--编译平台参数文件
sopwatch--命令行方式下的共享内存监控
sopldpara--命令行方式下单独装入运行系统参数
sopsvr--装载参数并监控进程状况
tcpsvr – 交易服务端正式环境服务程序
tcptest --交易服务端开发环境服务程序

5.2.2 etc 配置文件

run.env——SOP 环境变量文件
run.conf——平台参数配置文本文件

地址:北京市海淀区上地创业中路 32 号(100085) 9
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
sw.conf——开关量配置文件
sopshm.cfg——系统保留,必须
sopsem.cfg——系统保留,必须
tcpshm.key ----系统保留,必须
tft.conf ----文件传输配置文件

6. 常见错误和问题解答

系统日志
系统的日志分为两级:平台和应用;
平台一级的日志主要包括:平台启动的日志、通信日志;
应用的日志主要包括:各种构件的出错与跟踪日志,主要是由应用编写人员产生的日志。日志是按
照交易码来区分的。
日志目录为:$RUNLOG
命名规则:
系统日志:
平台日志:sopyyyymmdd.log
交易调度日志:sopcomyyyymmdd.log
开发方式通讯日志: tcptest.log
正式生产方式通讯日志: tcpsvr.log
应用日志:同交易码。

6.1 错误分析

在正常情况下,平台是不产生日志的,为了便于跟踪,系统设置了开关,在管理工具中可以将其打
开。如下图:把日志级别改为开启。

6.1.1 通信的日志的格式

地址:北京市海淀区上地创业中路 32 号(100085) 10
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
交易调度日志是 SOP 平台最重要的日志,通信日志的涵盖内容包括系统的解包、打包记录,在调用
交易构件之前的信息都在通信日志中。
通信日志的基本格式为:
[时间] [进程号] 跟踪信息
跟踪的信息主要包括:
接收的通信缓冲区内容
创建输入输出数据结构的过程
解交易头的过程(域的名称、域的值、相对位置等)
调用交易的返回结果
调用外挂程序的返回结果
调用交易的返回结果
组织交易包的过程
组织输出交易头的过程(域的位置、域的值、相对位置等)
提交或者回滚事务
发送的通信缓冲区内容

6.1.2 常见错误

在 SOP 平台中,常见的错误是:
1) 交易通讯失败或交易处理失败:在 COP 中出现这种情况是多方面的:交易超时被中断;应用的原
因而出现的 core dump,在检查是否此类错误时,应首先检查$RUNLOG 是否有 core 文件产生;交易
前处理失败,如联机交易不允许;交易信息定义的不对,不允许交易执行.
2) SOP 参数数据库是非常重要的参数,主机端修改交易接口时,一定要同时更新程序,否则可能会
异常;
3) SOP 与 COP 作为一个整体,当后端已经修改了输入输出,而前端没有及时更新,会出现异常情况,
如传到后台的字段值和输入的不相符。

6.1.3 平台级错误

平台级错误是指交易调度及平台提供的 API 返回的错误,如平台以错误对象的模式向前端返回以下


错误:
ERRSYS:在对象中引用了未定义的数据单元
在出现以上错误时,请察看交易日志,在日志中均有记录。
对象未创建
在交易中,引用了一个未创建的对象,这类错误往往是因为在调用业务构件时引用了对象,
而没有创建改对象。
在对象中引用了未定义的数据单元
可能的原因是修改了对象的定义,而没有更新执行代码;或者更新了执行代码,而没有更
新对象的定义。
在对象中引用了未定义的表格单元
原因同上
引用了未定义的 COMMFLD 单元
参数数据库中的没有相对应的 COMMFLD 单元的定义
对象或交易中的表格不存在
可能的原因是修改了对象的定义,而没有更新执行代码;或者更新了执行代码,而没有更

地址:北京市海淀区上地创业中路 32 号(100085) 11
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
新对象的定义。
在表格中引用了未定义的单元
可能的原因是修改了表格的定义,而没有更新执行代码;或者更新了执行代码,而没有更
新表格的定义。
交易中无此表格
在交易的输入对象中包含了表格,但在交易调度中未找到,察看表格的定义是否存在。
引用了未定义的开关量
检查是否有该开关量的定义,可以察看共享内存中是否装入了该共享内存的定义。
交易动态链接库中无该交易的执行代码
交易没有提交或生成动态链接库时出现错误
该交易的描述信息未找到
在共享内存中没有找到该交易的定义,检查配置参数数据库中 pjyxx 表是否存在该交易的
定义,或者 sopwatch –t 交易码察看,重新装载。
对象定义未找到
在共享内存中没有找到对象的定义,检查配置参数数据库 pobms 表中是否存在对象的定
义,重新装载。
表格定义未找到
在共享内存中没有找到表格的定义,检查配置参数数据库 pfmms 表中是否存在对象的
定义,重新装载。
数据单元定义未找到
在共享内存中没有找到数据单元的定义,检查配置参数数据库 psjzd 表中是否存在数
据单元的定义,重新装载。
未找到 Comfld 定义
在共享内存中没有找到 Comfld 的定义,检查配置参数数据库 pggbl 表中是否存在
Comfld 数据单元的定义,重新装载。

6.2 常见问题解答

6.2.1 SOP 是否只能 cbs 用户启动?

是,因为 SOP 的 IPC 通讯不允许其他用户访问。


为了使其他用户能够查看交易在共享内存中的信息,对 sopwatch sopldpara 两个命令进行
下面操作: chown cbs sopwatch sopldpara
chmod +sx sopwatch sopldpara

6.2.2 怎样使修改的接口生效?

用 IDE 修改完交易的接口后,共享内存中的接口信息并没有更新,要用 sopldpara 命令生效。


Correct Format:sopldpara swictch
command swictch:-t trancode ---- load specify transaction infomation
-o objname ---- load specify object information
-f formname ---- load specify form information
-d ---- load tranfld and commfld information
-l ---- load flux control information
-s ---- load all switch information

地址:北京市海淀区上地创业中路 32 号(100085) 12
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
6.2.3 在开发方式下怎样生成交易的可执行程序?

要根据 buildt 是否读取交易静态库来采用下面两种方式:


如果把交易打成静态:buildt 交易码;
如果交易不生成静态库:buildt 交易码 1 [交易码 2 ...] 目前浦发项目采用;
如果交易中直接调用了其它交易,用把相关的交易码都列出来。
最后提示:reload transaction input/output parameter?(y/n)
如果第一次生成或接口修改就输入 y

6.2.4 有的交易会出现前台输入的数据到了后台就不对了,为什么?

这种情况一般是因为前台的接口和后台的接口不同(顺序不同或字段的个数不同)。一般前台在
/usr/cop/data/sock 下查看接口文件,在后台用 sopwatch 查看接口。
在后台首先要保证 IDE 中定义的接口要更新到共享内存中,对象和 FORM 定义中的顺序号一定
要填写。

6.2.5 怎样查看交易的 log?

1)$HOME/log 目录下查看每个交易的 log 文件,以交易码命名。


2)$HOME/log/sopcom?????.log 每天一个调度日志文件,存放交易调度对交易的调度信息。
注意:默认状态下调度日志只纪录失败信息,要查看详细信息就要执行 sopmng, 输入密码 SYSMGR,
在系统管理->动态参数->运行参数 中修改日志级别为开启。

6.2.6 怎样关闭交易的 log ?

把开关量 XJYRBZ(写交易 log 标志)修改为 0,重新装入共享内存。


开关量在$HOME/src/comm/etc/sw.conf 中定义。

6.2.7 怎样得知交易 core dump?

在$HOME/log 目录中,如果交易 core dump,会生成一个 core+交易码+日期的文件,正式环境


还会生成一个 tuxsvr+交易码+日期的文件。

6.2.8 怎样在 HP_UX 中查看 core 文件?

gdb -c core 文件 可执行程序


如:在开发方式下 9999 程序 core dump ,生成 core.99991231。
gdb -c core.99991231 $HOME/bin/tt9999
然后输入 bt(Backtrace: display the program stack.)查看即可。
如果在正式环境下 9999 程序 core dump ,生成 core.99991231 和 tuxsvr.99991231
gdb -c core.99991231 tuxsvr.99991231
在 AIX 中采用 dbx,不过要把 core.* tuxsvr.* 都改成 core 和 tuxsvr,执行 dbx tuxsvr
core

6.2.9 有时候一个交易总是失败,为什么?

一个原因可能是交易 core dump 了,或者在后台长时间运行。要查看$HOME/log 下是否有 core


文件,在开发方式下还可以查看交易进程是否长时间运行,ps -ef |grep 交易码

6.2.10 cbs 用户的组是否有要求?

地址:北京市海淀区上地创业中路 32 号(100085) 13
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
没有要求,但最好不要属于 informix 组,防止误操作。

6.2.11 交易的超时怎么控制的?

后台超时分两个级别:
1)系统级的超时在$RUNDIR/etc/run.conf 中配置,
一般为 TIMEOUT 10
可以修改,执行 soploadcf run.conf 生成二进制文件 run.bin,重新启动 SOP 才能
生效。
2) 交易级超时在交易描述信息中定义,可以用 IDE 修改”超时时间”。
超时判断:
首先判断交易在后台运行的时间是否超过系统级超时,如果超过,再判断是否超过交易级超时,
如果都满足,SOP 平台就会断掉数据库会话,交易如果进行数据库操作就会返回失败;如果交易还在
运行,那么可能不是阻塞在数据库操作上,SOP 平台会判断是否到达两倍的超时时间,如果达到,
就会断掉交易进程。
当交易超发生时,会纪录在 sopsvr+日期.log 中。

6.2.12 有时新加的交易会失败,不能进入交易逻辑?

这是因为交易描述信息定义的不对,几个主要的字段如下:
交易标志:0:不允许交易 1:允许交易 (要定义为 1)

6.2.13 程序中是否能出现绝对路径?

在程序中不能出现绝对路径,头文件和程序要存放在规定的目录下,特殊需求也要用相对路径,
因为我们的系统的起始目录不一定都为/cbs。
目前发现 usrdb 下有的程序出现/cbs/路径的头文引用,请大家修改!

6.2.14 程序中是否可以出现自己书写的 sql 语句?

系统提供统一的数据库标准构件的目的有下面几个:
减少程序的书写量,提高开发效率:不用自己去定义麻烦的数据变量,不用去写操作语句。
统一程序的风格,提高程序的可读性:
减少数据库操作语句出现错误的可能性,程序员不用去考虑复杂的数据并发、数据库锁等问题。
如果自己写操作语句就要考虑纪录的锁,防止出现数据的幻像。
降低系统对数据库的依赖,系统可以方便的移植到不同的数据库平台。
使数据库表结构的修改对系统的影响降低到最小。

所以只有当标准构件不能满足交易要求时,才能使用自己书写 sql 语句.

6.2.15 标准构件怎样生成?

在 pfzgj 中定义查询条件;
在 pkbgl 中定义表的中文名;
执行 crtstddb

6.2.16 调用标准修改构件为什么有时报时间戳被修改?

标准修改构件的前面必须调用查询构件,因为查询构件会纪录下查询时这条纪录的时间戳,当
调用修改构件时,修改构件首先会检查这个时刻这条纪录的时间戳是否和查询时的时间戳一致,如

地址:北京市海淀区上地创业中路 32 号(100085) 14
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
果不一致,就说明在修改的时候看到的是这条纪录的幻像,这天纪录在查询以后,又被别的进程修
改过了。

6.2.17 怎样更换 tuxedo 的 lic 文件?

用 tuxedo 用户登陆,
$cd bin
$lic.sh

6.2.18 怎样修改 tuxedo 配置文件?

执行命令 tmloadcf ;
如:
cd $RUNDIR/etc
tmloadcf tux_sop.ubb

6.2.19 各种构件的存放目录是否要统一?调用关系怎样?

我们系统的构件有 tech、busi、stddb、usrdb 四类,要按照标准目录存放,否则就不能达


到正确的库中。构件的调用要严格按照层次关系,沿着 usrdb busi stddb tech 的顺序调用。
即 usrdb 中的构件可以调用 busi 中的构件,但 busi 中的构件不能再调用 usrdb 库中的构件,
busi 可以调用 stddb 或 tech 中的构件。
Busi 中放的一般是各模块的业务构件,公用性强;tech 发的一般是与业务逻辑无关的公共构
件;usrdb 存放的一般是各个交易单独用的构件,一般函数名加上交易码。
大家要严格按照目录存放构件,这样层次清楚,查找和维护都很方便。另一个原因是 HP-UX 对
库间调用关系(link order)要求严格,要求调用到函数的库必须在当前库的后面。

6.2.20 交易或构件是否可以自己定义全局变量?

SOP 要求交易和构件的全局变量要统一定义,自己不能定义全局变量。

6.2.21 联机交易是否可以调用 PLog 函数?

联机交易不能调用 PLog 函数,PLog 函数为批处理使用,它向屏幕打印 log 信息,现在 PLog


已经不在联机交易的库里了。
批处理交易其实也应该使用 Tlog 来报错,因为批处理库中也有一个与联机交易同名的 Tlog
函数,但处理不同。

6.2.22 怎样察看 IPC


ipcs 察看
ipcrm 清理
-m 共享内存
-s 信号灯
-q 队列

7. 平台命令

7.1 sopsvr

命令行方式下,启动停止平台
调用格式:sopsvt start[stop] [-d ]

地址:北京市海淀区上地创业中路 32 号(100085) 15
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
7.2 tcptest

功能:开发方式下的通讯平台
调用格式:tcptest start/stop port [-d ] [-v]

7.3 tcpsvr

功能:正式生产环境(tcp/ip)的通讯平台
调用格式:tcpsvr start/stop port [-d] [-v]
注意:在同一主机上可以同时存在开发环境和生产环境,可以采用不同的端口。
如:tcptest start 4000
tcpsvr start 5000

7.4 sopmng

平台集成管理工具

7.5 sopldpara

功能:把后台资源定义重新装入 SOP 运行平台内存。当交易的接口发生变化时,调用此命令。


sopldpara 装入参数有以下命令行参数:
-t trancode 装入与某一交易相关的全部参数
如 sopldpara –t 0001 将装入 0001 交易的所有参数:该交易涉及的对象、表格都将被
装入
-o objname 装入与某一对象相关的所有参数,包含表格
如 sopldpara –o DSP001 将装入对象 DSP001 的所有参数:该对象涉及的表格都将被装

-f formname 装入某一表格的所有参数
如 sopldpara –f FRM001 将装入表格 FRM01 的所有参数:该对象涉及的表格都将被装

-d 更新内存中所有的资料字典及 COMMFLD 信息

7.6 sopwatch

sopwatch 包含以下几个参数:
-t all|trancode 查看全部或某一交易的参数
如 sopwatch –t 0001 查看 0001 交易输入输出参数
-o all|objname 查看全部或某一对象的所有参数
如 sopwatch –o DSP001 查看对象 DSP001 在内存中的定义
-f all|formname 查看全部或者某一表格的参数
如 sopwatch –f FRM001 查看表格 FRM01 的所有参数
-d all|ddname 查看全部或者某一资料字典项的信息
如 sopwatch –d ACNO 查看数据项 ACNO 的定义
-p all|ddname 查看全部或者某 COMMFLD 数据项的信息
如 sopwatch –p ERID 查看数据项 ERID 的定义
-i 查看共享内存区的控制信息

地址:北京市海淀区上地创业中路 32 号(100085) 16
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com
-r 间隔时间,仅在-i 参数下有用

7.7 soploadcf

功能:把 run.conf 配置文件装入 SOP 平台,生成 run.bin.


调用格式: soploadcf run.conf

7.8 buildt

功能:在开发环境下把已经编译完的交易生成可以单独测试的可执行程序。同时会让你选择是否重
新把交易信息装入平台内存区。如:
reload transaction input/output parameter?(y/n)"
如果你的接口变化了,请选择 y
调用格式:buildt trancode

7.9 buildr

功能:用来在正式生产环境下,把所有的应用程序连接生成可执行程序 tcpsvr,tuxsvr 和动态库


libtranr.so.
调用格式:buildr

地址:北京市海淀区上地创业中路 32 号(100085) 17
电话:(010)62988888 传真:(010)62987195/96 公司网址://www.lenovo.com

You might also like