Commit d0aff787 by zhangliding

教案修改

parent 43b9515f
## TD开发环境搭建步骤
## TD开发环境搭建步骤
### 一、准备工作:
1、本地安装 oracle32 位客户端; **必须安装 32 位的客户端**,需要安装管理员版。**注意:64 位**
**或者:instantclient 不支持;**
![](../../assets/imagesTD/lesson1/1.png)
![](../../assets/imagesTD/lesson1/2.png)
![](../../assets/imagesTD/lesson1/3.png)
![](../../assets/imagesTD/lesson1/4.png)
![](../../assets/imagesTD/lesson1/5.png)
![](../../assets/imagesTD/lesson1/6.png)
![](../../assets/imagesTD/lesson1/7.png)
### **服务名统一为 sstfcebnew**
![](../../assets/imagesTD/lesson1/8.png)
![](../../assets/imagesTD/lesson1/9.png)
![](../../assets/imagesTD/lesson1/10.png)
![](../../assets/imagesTD/lesson1/11.png)
![](../../assets/imagesTD/lesson1/12.png)
![](../../assets/imagesTD/lesson1/13.png)
![](../../assets/imagesTD/lesson1/14.png)
#### 后续步骤默认下一步安装完成;
#### 在电脑的快速搜索中打开
![](../../assets/imagesTD/lesson1/15.png)
配置监听 默认下一步;
![](../../assets/imagesTD/lesson1/16.png)
![](../../assets/imagesTD/lesson1/17.png)
![](../../assets/imagesTD/lesson1/18.png)
![19](../../assets/imagesTD/lesson1/19.png)
![20](../../assets/imagesTD/lesson1/20.png)
![21](../../assets/imagesTD/lesson1/21.png)
![22](../../assets/imagesTD/lesson1/22.png)
在安装的 oracl 数据库的目录下找到该..\ OraClient10g\network\admin\tnsnames.ora 文件
![23](../../assets/imagesTD/lesson1/23.png)
用如下内容替换
```
SSTFCEBNEW =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.114)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
```
### 二、配置机器数据源
#### 1、数据源配置工具配置本地机器数据源
(1)运行:C:\Windows\System32\odbcad32.exe 或者:搜索 odbc,找到 32 位的
![24](../../assets/imagesTD/lesson1/24.png)
(2)系统 DSN -->添加 -->选择驱动程序(Oracle in OraDb10g_home1)
,输入数据源参数
![25](../../assets/imagesTD/lesson1/25.png)
对应填写
![26](../../assets/imagesTD/lesson1/26.png)
测试链接 password 同上 User Name
![27](../../assets/imagesTD/lesson1/27.png)
### 三、配置 TD 开发环境的数据库连接
#### 1、运行 TD 提供的数据源配置工具 :C:\app\doka\sstfceb\sstf505\BIN\ tddbtool.exe
#### 2、ODBC Tool --> Query --> 机器数据源--> 选择:sstfcebnew --> 确认,输入用户名和密码后,确认。并保存生成的数据库连接串。一定要确保改字符串的正确性
注意,如果出现:
![](../../assets/imagesTD/lesson1/1677144714885.png)可以尝试:使用管理员权限运行:tddbtool.exe 重试。 否则,请检查 oracle 数据库客户端
版本或数据源安装是否正确。
![](../../assets/imagesTD/lesson1/28.png)
#### 3、打开 TD 个人工作空间目录,编辑:tdodbc.ini 配置文件。
C:\app\doka\sstfceb\sstf505\work\mbf\ini\tdodbc.ini
[ConnectStrings]标签下增加一行:
```
sstfcebnew=
DSN=sstfcebnew;UID=sstfcebnew;PWD=sstfcebnew;DBQ=SSTFCEB ;DBA=W;APA=T;EXC=F;FEN=T;QTO
=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CS
R=F;FWC=F;FBS=64000;TLO=O;
```
说明:
sstfceb 为 td 识 别数 据库 datasource 的 名称 ,与 ini 目 录下 :tdpara.ini 配 置中 的
Datasource=sstfceb 保持一致;
等号后面的部分为:上一步生成的数据库连接串;
接着确定 C:\app\doka\sstfceb\sstf505\work\mbf\ini 下的 tdpara.ini 文件
![29](../../assets/imagesTD/lesson1/29.png)
4、打开TD个人工作空间目录
C:\app\doka\sstfceb\sstf505\work\mbf\ini\tdodbc.ini
### 四、运行
#### 1 运行:
C:\app\doka\sstfceb\sstf505\work\mbf\trade2.exe - 快捷方式 ,打开 TD 的开发工具。2、选择开
发空间为 mbf,然后输入用户名和密码登录系统。默认提供 zl 的用户具有开发权
限。
注意:如果登录用户不存在,请重新覆盖一下 ini 目录下面的:tdrights.ini
注意:
1,需要修改以上 ...\sstf505\work\mbf\ini\mbf.ini 文件内容里的路径(见 5.2)
2,需要修改以上 ...\sstf505\work\mbf\trade2.exe - 快捷方式的属性(见 5.3)
### 五,增加个人工作空间
#### 1、在 work 目录下新建立一个自己的目录(可将别人的目录直接拷贝)
![30](../../assets/imagesTD/lesson1/30.png)
#### 2、将自己目录下 ini 目录里的以个人名字命名的 ini 文件修改为自己的
Eg: mbf/ini/mbf.ini
![31](../../assets/imagesTD/lesson1/31.png)
将文件内容里的路径修改为自己的路径,即步骤 1 的路径
![32](../../assets/imagesTD/lesson1/32.png)
#### 3、拷贝 C:\app\doka\sstfceb\sstf505\work\mbf\trade2.exe 快捷方式,右键属性
![33](../../assets/imagesTD/lesson1/33.png)
将目标和起始位置修改为自己的配置
Eg:
C:\software\app\doka\sstfceb\sstf505\BIN\trade2.exe --> C:\software\app\doka\sstfceb\sstf505\work\Im\ini\Im.ini
\ No newline at end of file
##TD转BD操作
##TD转BD操作
### 说明:
**1、新接触模型转换项目的同事按照文档已完成01-项目环境搭建里内容,到这里不新增交易不用操作,直接进行下面的BD转新国结操作**
**2、第三轮新增交易由研发中心同事统一来转,大家可以不用去操作这一部分**
#### *视频教程参考*
http://114.115.138.98:9497/gjjs-book/assets/videos/td2bd.mp4
#### 前提准备
1、td源码frame文件夹
2、下载好td2bd工程,并用idea打开工程
#### 初次编译
td2bd工程,是将TD的module和Rule,转换至BD格式的模型和script。TD格式为fr、tr文件,BD格式为.module、.mt、.script文件。
用idea打开td2bd工程
```java
打开类:cn.com.brilliance.eibs.maker.EibsMakerTest
跳转至testEntireMake函数
//td模型目录
String srcPath = "D:\\TD2BDTest\\frame";
//目标目录
String destPath = "D:\\TD2BDTest/target/BD模型/";
执行testEntireMake,即可生成BD模型代码
```
validTransaction,表示要编译哪些交易,**如果要求全部编译,则去掉第127行的操作即可**
![](..\..\..\assets\imagesTD\lesson2\1.png)
#### 持续集成
在开发过程中,如果交易不断追加,需要迭代合并。
首先,执行前面步骤,注意要选择一个新的目标生成目录
打开类:cn.com.brilliance.eibs.maker.EibsMakerTest,
跳转至mergeWorkspace函数
```java
@Test
public void mergeWorkspace(){
//此次新的目标生成目录
String newWorkPath = "D:\\TD2BDTest/target/BD模型/";
//前面已存在的目录(一般在版本库中)
String srcWorkPath = "D:\\Git\\td2bdsproject";
//比较结果
String comparePath = "D:\\compares";
compareAndMergeWorkspace(new File(srcWorkPath),new File(newWorkPath),new File(comparePath));
}
```
将comparePath目录手工拷贝至srcWorkPath中。此处没有做自动拷贝,是希望操作者能做好确认,再操作。
#### 编译前后代码对照
![](..\..\..\assets\imagesTD\lesson2\2.png)
1号注释标识具体文件,可根据函数名、文件名在BD上查找
2号注释是TD原有的注释,可根据函数名、注释这些信息在TD上查找。
\ No newline at end of file
![panelTrans](../../../assets/imagesTD/lesson2/panelTrans.png)##BD转新国结操作
![panelTrans](../../../assets/imagesTD/lesson2/panelTrans.png)##BD转新国结操作
#### 前提准备
1、电脑装好Be-Designer工具
2、下载好gjjs-bdproject工程
3、下载好后端gjjs-common工程并用idea打开
4、下载好前端工程vue-gjjs并用vscode打开
#### *视频教程参考*
http://114.115.138.98:9497/gjjs-book/assets/videos/bdcompile.mp4
**说明:视频中的td2bdsproject还是之前版本的bd源码工程名称,新版本名称是gjjs-bdproject,大家注意一下**
#### 操作步骤
打开Be-Designer客户端软工具,双击`DesignerEx.bat`运行软件
配置工程目录信息
1. ![](../../../assets/imagesTD/lesson2/ChangeWorkspace.png)点击`Change Workspace`按钮,选择本地`gjjs-bdproject`项目,加载项目到转换工具里,首先切换到需要新增的交易,如果是新增交易panel没有勾选需要先勾选panel(注意!!!:首次运行可跳过勾选Panel步骤,继续执行第2步即可),步骤如下,现在交易名上右击,然后点击properties,然后选择pannel选项卡,按照td上pannel在这里搜索对应pannel名并往上勾选(**新接触模型转换项目的同事按照文档来到这里不用挨个看所有交易pannel是否勾选,之前编译的交易都已经勾选过pannel**
####查看交易包含的页面
######1)登录TD
![](../../../assets/imagesTD/lesson2/tdLogin.png)
######2)选择交易
![](../../../assets/imagesTD/lesson2\selectTransaction.png)
#####3)查看交易包含的面板
​ 所有面板在后续Be-Designer中勾选面板时使用,需要逐个查看勾选
![](../../../assets/imagesTD/lesson2\originalTrans.png)
![3](../../../assets/imagesTD/lesson2/3.png)
勾选面板:
![](../../../assets/imagesTD/lesson2/4.png)
![](../../../assets/imagesTD/lesson2/5.png)
如果在Panels中未找到指定面板,执行以下操作
![](../../../assets/imagesTD/lesson2/findPanels.png)
![](../../../assets/imagesTD/lesson2/cancelPopur.png)
点击`Compile`按钮,弹出如下页面
![](../../../assets/imagesTD/lesson2/Compile.png)
2. 勾选需要生成的交易实例
* [勾选列表](tickList.md) (注意!!!)
![](../../../assets/imagesTD/lesson2/选择交易实例.png)
3. 设置生成文件输出路径
这里路径是前面下载好的后端项目gjjs-common工程,点击左边红框按钮,选择后端项目路径至src下main目录
![](../../../assets/imagesTD/lesson2/配置输出路径.png)
4. 将红框内的四个下拉框选为图片中显示的选项
![](../../../assets/imagesTD/lesson2/生成文件时修改的四个配置项.png)
5. 点击绿色`Compile&Deploy`按钮,等待弹出如下提示框即已生成成功!
![](../../../assets/imagesTD/lesson2/success.png)
在gjjs-bdproject工程下会多出build文件夹,即是生成的转换代码,包括前端代码和后端代码
![](../../../assets/imagesTD/lesson2/bd2newgj2.png)
**后端代码部分**
![](../../../assets/imagesTD/lesson2/bd2newgj3.png)
![](../../../assets/imagesTD/lesson2/bd2newgj4.png)
后端代码也会直接生成在后端项目gjjs-common工程里边,大家不用拷贝
在后端项目gjjs-common里多了下面的文件夹
![](../../../assets/imagesTD/lesson2/bd2newgj1.png)
**前端代码部分**
![](../../../assets/imagesTD/lesson2/bd2newgj6.png)
![](../../../assets/imagesTD/lesson2/bd2newgj5.png)
对应前端工程目录(如果此次转换有新增交易,需要找到build文件夹下mode和views下相应交易手动拷贝到前端工程对应目录下)
![](../../../assets/imagesTD/lesson2/bd2newgj7.png)
**新接触模型转换项目的同事按照文档来到这里可以回到01-项目环境搭建下的2项目下载和运行下的后端项目下载和运行文档,进行后端项目的编译和启动**
####勾选时可在勾选列表栏单击一下,英文输入方式下通过键盘快速输入交易名快速定位
####勾选时可在勾选列表栏单击一下,英文输入方式下通过键盘快速输入交易名快速定位
bdtset
bdtudp
bopsel
cptadv
cptopn
diasel
ditame
ditdck
ditopn
ditsel
getcrq
getopn
getsel
getset
infbdd
infcpd
infdid
infpty
infusr
litopn
mgrtsk
sptrel
sptrou
sptsel
switsk
trncor
trnrel
litacp
litame
litcan
litdav
litdck
litdla
litrog
litsel
\ No newline at end of file
g#编译错误处理
g#编译错误处理
###注意:修改错误时需要修改script文件,而不是修改Java代码
####1、整形和小数类型匹配错误
![整形和小数类型匹配错误](../../assets/imagesTD/lesson2/compileError/整形和小数类型匹配错误.png)
![整形和小数类型匹配错误BD](../../assets/imagesTD/lesson2/compileError/整形和小数类型匹配错误BD.png)
####2、变量缺少声明、作用域太小或声明类型错误
![变量缺少声明、作用域太小或声明类型错误](../../assets/imagesTD/lesson2/compileError/变量缺少声明、作用域太小或声明类型错误.png)
####3、函数调用错误
![函数调用错误](../../assets/imagesTD/lesson2/compileError/函数调用错误.png)
![函数调用错误BD](../../assets/imagesTD/lesson2/compileError/函数调用错误BD.png)
####4、return语句缺少返回值
​ 一般由于goto未实现导致
####5、找不到函数定义
![找不到函数定义](../../assets/imagesTD/lesson2/compileError/找不到函数定义.png)
####6、基础类型作为引用参数传递修改
![基础类型作为引用参数传递修改](../../assets/imagesTD/lesson2/compileError/基础类型作为引用参数传递修改.png)
####7、找不到模型下某个属性
​ 一般由于面板勾选不足导致
####8、缺少常量定义
![缺少常量定义](../../assets/imagesTD/lesson2/compileError/缺少常量定义.png)
\ No newline at end of file
[TOC]
[TOC]
# 1. 概述
## 1.1. TD是什么
- TD -- __TradeDesign__
- TD是一套致力于复杂商业模型的集开发、调试、部署和版本控制于一体的IDE架构开发平台;
- 图形界面开发平台、快速建模、快速布局界面、专注于业务逻辑开发;
- Windows平台集成开发环境(IDE),各开放式平台部署;
## 1.2. TD的开发架构
![01](../../assets/imagesTD/lesson3/01.PNG)
- Modules(模型)
- TD dev platform(开发平台)
- TD Run Unit(运行单元)
- Data Access(数据存取)、Interface(接口)、Workflow(工作流)
- Business Transactions(业务交易)
## 1.3. TD的运行架构
![02](../../assets/imagesTD/lesson3/02.PNG)
## 1.4. TD对象构成
### 1.4.1 Transaction
![03](../../assets/imagesTD/lesson3/03.PNG)
完成一个特定功能的一组Module称为
Transaction(交易),系统定义交易名称长度为6位,
如进口信用证开证(LITOPN)是一个交易,信用证通
知L(ITDCK)也是一个交易。
Transaction之间可以相互调用,一个完整的业务系
统,是由一个处理系统界面的交易加上几个完成特定
功能的交易组成。
### 1.4.2 Module
![05](../../assets/imagesTD/lesson3/05.PNG)
Module(模块)是组成应用系统的元素。完成一个特
定功能的一组Module称为Transaction(交易):
1. 只定义了Data Field的Module,通常用作数据库
表结构的定义;
2. 只定义了Rules的Module,可以当作是函数库来调
用;
3. 可以在Module中定义一些常用的Panel,作为界面
库来调用;
4. Module可以定义List属性,用于以表格的形式展示
到界面上。
### 1.4.3 Data Fields
![04](../../assets/imagesTD/lesson3/04.PNG)
Module的数据成员,描述了Module的各种特性。用业务中常用的类型封装了基本数据类型,更容易保持类型一致性。提供了从简单到复杂的各种数据类型,完全可以满足业务系统的开发。可以定义数据成员在界面上的显示方式,使数据成员与用户的交互更为灵活。
、在模块中点击鼠标右键出现如下图所示:
- 数据类型:Text,Numeric,Date,Block,Control,Stream,DateTime
- 显示类型:不同的数据类型有不同种类的显示类型
- 特殊属性:3.数据项拖拽到界面中,可设置其特殊属性。
### 1.4.4 Panel
![06](../../assets/imagesTD/lesson3/06.PNG)
Panel 是Module 的界面属性,合理的设计和使用 Panel 可以减少开发的工作量。重用Panel 可以保持界面上的一致性 。
1.Frame:用于定义交易界面;
2.XML Document:用于定义交易中的面函和报文。
## 1.5. TD方法构成
### 1.5.1 Function
函数定义(有返回值):
FUNCTION <identifier> [(IN|OUT|INOUT <register> <datatype>[,IN|OUT|INOUT <register> <datatype>...]) : <datatype> [GLOBAL| METHOD| STATIC]
需有返回值
![07](../../assets/imagesTD/lesson3/07.PNG)
### 1.5.2 Sub
过程定义(无返回值):
SUB <identifier>[(IN|OUT|INOUT <register> <datatype> [,IN|OUT|INOUT <register> <datatype>...]) [ GLOBAL|METHOD| STATIC ]
![08](../../assets/imagesTD/lesson3/08.PNG)
### 1.5.3 Rules
- Init Rules
初始化Rules,只在初始阶段执行一次,以后不在执行。
![09](../../assets/imagesTD/lesson3/09.PNG)
- Default Rules
默认执行的Rules,满足下面任一条件即会执行:
1.交易程序启动;
2.用 Shift+F9 从开发模式切换到运行模式;
3.Rule中引用到的字段(包括其自身且需要直接引用,但不包含出现在赋值号左边的字段)的值发生变化。
![10](../../assets/imagesTD/lesson3/10.PNG)
- Check Rules
数据栏位检查Rules,,满足下面任一条件即会执行:
1.选中某栏位,执行回车键;
2.执行CheckAll函数(一般在Save和Check按钮的Event Rules中)。
![11](../../assets/imagesTD/lesson3/11.PNG)
- Event Rules
事件触发Rules,依托于不同的时间触发,TD 平台对于客户端的应用进行了事件封装。主要提供了如下事件: 满足下侧表格中 12 种Event Type(可参考TD View手册工具)之一,即会触发。
| Event Type | 常数 |
| ---- | ---- |
| TdEventButtionPress | 0 |
| TdEventMouseLeave | 1 |
| TdEventTabLeave | 2 |
| TdEventHotkey | 3 |
| TdEventSelChange | 4 |
| TdEventGridSel | 5 |
| TdEventDragDrop | 6 |
| TdEventDragPrepare | 7 |
| TdEventGridDelete | 8 |
| TdEventGridInsert | 9 |
| TdEventFieldUpdate | 10 |
| TdEventPost | 11 |
![12](../../assets/imagesTD/lesson3/12.PNG)
- Rules中的Order
系统提供了Rules执行顺序进行定义,可以对一个对象设计多个Rules,并根据所设定的 Order 顺序从小到大执行,在程序中,没有指定ORDER 的 Rules,其ORDER 默认为 1000。
![13](../../assets/imagesTD/lesson3/13.PNG)
![14](../../assets/imagesTD/lesson3/14.PNG)
![15](../../assets/imagesTD/lesson3/15.PNG)
- XML Rules(面函代码)
XML Document的命名规则:FRMNAM+ x + g
- FRMNAM:交易名称;
- x :输出文档的类型,L :Letter、S:S.W.I.F.T、T:TCO、X: TELEX;
- g:从1开始的整数。
新建 Letter需要增加 Document Rules 、Docunmentheader Rules和documentfooter Rules (通常在TR8 里,LEVEL8)
新建Swift报文需要增加 Text Function(通常在 TRN里,LEVEL-1)
- Document Rules
![16](../../assets/imagesTD/lesson3/16.PNG)
- Documentheader Rules
- Documentfooter Rules
- TD代码分级管理
安全级别(Security Lever ):
- 8 Administrator 已培训用户(用于修改面函等)
- 5 Supporter 代理公司的支持人员(用于多数本 地化工作)
- 4 Brilliance Code 新晨公司客户化代码
- 2 Developer 核心级别,慎重修改
相应地,交易文件分为 XXX.TRN、 XXX.TR2、 XXX.TR4、XXX.TR5、XXX.TR8;模块文件分为XXX.FRM、 XXX.FR2、 XXX.FR4、XXX.FR5、XXX.FR8。编译运行时会同时调入内存,不过 Rules的执行次序还是按照 Order和编写时间顺序来定。
## 1.6. TD Debug
### 1.6.1 Debug工具栏
![17](../../assets/imagesTD/lesson3/17.PNG)
### 1.6.2 观察窗口
![18](../../assets/imagesTD/lesson3/18.PNG)
- Watch:变量的赋值情况;
- Cross Ref:变量调用情况;
- Errors:交易中的错误;
- Problems:交易中的问题;
- Breakpoints:断点列表;
- Data Cache:
- Cache中的内容
### 1.6.3 调试代码的方法
- 调试操作方式
调试操作有五种,这五种方式都是在Debug工具栏中,下面分别介绍:
- Step into(F7):分步调试,每执行一段代码就会停顿一下;
- Step over(F8):跳过函数调试,在执行一般语句和底层函数时每执行一行代码就停顿一下,如果执行到一般的函数处不进入函数内部执行,相比之下Step into 操作是进入函数内部的;
- Step out(F4):跳过本页代码的执行直接进入下一页代码的执行;
- Continue Execution(F9):执行完所有待调试的代码;
- Stop Execution(Esc):停止调试或者停止代码的执行。
- 字段赋值调试模式
监控某一字段的赋值,当这个字段的值发生变化时会进入调试模式,然后再按照上述五种调试操作方式进行调试。在调试之前首先要在Watch and Debug Window中设置需要监控的字段字段。
在窗口中右键点击字段出现一个菜单,在菜单中选中Modification Trap,就会在字段前面出现绿色的圆圈,可设置多个字段。当这些字段的值发生变化时, 便会进入调试模式。
![19](../../assets/imagesTD/lesson3/19.PNG)
[TOC]
[TOC]
# 1. 业务交易介绍
## 1.1. 业务交易构成
以LITOPN示例:
每一个业务交易都是由:根模块(`LITOPN.TR`)、主模块(`XXX.FR`),公共模块,报文及面函构成。
- 主模块:LIDGRP、LITP 和LITMOD等;
- 公共模块:SYSMOD、MTABUT、TRNMOD、CBSMOD、SETMOD、LIAALL;
- 面函和报文:此交易会产生MT700 报文和进口信用证开立确认书等面函。
![20](../../assets/imagesTD/lesson3/20.PNG)
## 1.2. 主模块
### 1.2.1 LIDGRP
LIDGRP 模块为信用证的主业务信息模块:`LI--信用证业务,D--Data,GRP--模块组Group`,在LITGRP下包函的模块有LID、LIT、LIACBS、PTSPTA;
- LID和LIT为信用证业务的主表(用于存放主要业务信息)和副表(用于存放大字段信息)。
- LIACBS模块用于记录与进口信用证相关的业务发生额和余额等信息(该模块下包含一组子模块)
- PTSPTA模块用于记录开立信用证所涉及的相关联系人信息(该模块下包含一组子模块)
![21](../../assets/imagesTD/lesson3/21.PNG)
### 1.2.2 LITP
LITP(`LIT--信用证交易 P--Panel`) 模块的作用主要用于显示层。
所有业务交易都应有一个这样功能的模块,用于定义业务的主界面。
![22](../../assets/imagesTD/lesson3/22.PNG)
### 1.2.3 LITMOD
LITMOD 模块下有 LIDGRP、LITDOC、SYSOBJ和 LIDLOD四个模块。
- LIDGRP 引用了LITOPN/LIDGRP
- LITDOC 集成了进口开证所涉及面函的处理函数和方法;
- SYSOBJ 保存了用于生成 OBJJECT 的完整路径;
- LIDLOD 集成了用于加载进口信用证相关信息的函和方法,所有业务交易都有一个XXDLOD 的模块,其功能都是用于加载业务数据。
![23](../../assets/imagesTD/lesson3/23.PNG)
## 1.3. 公共模块
### 1.3.1. SYSMOD
系统的技术功能模块,对于各种交易中经常使用的公共处理函数和全局变量均包含在此模块中,其意义类似于系统函数库(业务交易都包含此模块)。
![24](../../assets/imagesTD/lesson3/24.PNG)
### 1.3.2. MTABUT
存放全部交易公共按钮字段、按钮页面、按钮事件、按钮代码等。在此模块中存放的 Rules 都只是标准化的过程处理方法,客户化添加的不同Order的Rules是在其它相关模块中,比如 SETMOD,LIAALL,LITOPN等模块中。
![25](../../assets/imagesTD/lesson3/25.PNG)
### 1.3.3. TRNMOD
系统模块,负责交易处理过程中的所有控制和管理,面函处理功能也在此模块中。
典型子模块:
- TRN:功能:存放交易信息,用于 workflow 处理
- DIA:日志表。
- TRNDOC:面函处理模块
- PTSMOD:地址模块
- ACTMOD:客户账号模块
- TRNISM:功能:可供客户化的接口模块,用于 workflow 处理;
![26](../../assets/imagesTD/lesson3/26.PNG)
### 1.3.4. CBSMOD
存放合同交易变化情况,有关业务记帐信息。其中 CBE存放每个交易引起的发生额,CBB存放交易引起的余额
![27](../../assets/imagesTD/lesson3/27.PNG)
### 1.3.5. SETMOD
Settlement 处理结算时的公共部分,在大部分业务中会使用到此模块,包括费用,账务等。
![28](../../assets/imagesTD/lesson3/28.PNG)
### 1.3.6. LIAALL
有关Engagement(即业务相关资产、负债变化记录)和 Cash Cover 的处理方法等均放在此模块内,无实际的资金处理
![29](../../assets/imagesTD/lesson3/29.PNG)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment