CN104239048B - 一种Oracle Forms信息系统业务逻辑的复用方法 - Google Patents

一种Oracle Forms信息系统业务逻辑的复用方法 Download PDF

Info

Publication number
CN104239048B
CN104239048B CN201410455974.9A CN201410455974A CN104239048B CN 104239048 B CN104239048 B CN 104239048B CN 201410455974 A CN201410455974 A CN 201410455974A CN 104239048 B CN104239048 B CN 104239048B
Authority
CN
China
Prior art keywords
base table
field
data
user
verified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410455974.9A
Other languages
English (en)
Other versions
CN104239048A (zh
Inventor
何文
毛磊
夏明珠
张睿
熊水玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Three Gorges Technology Co ltd
China Three Gorges Corp
Original Assignee
China Three Gorges Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Three Gorges Corp filed Critical China Three Gorges Corp
Priority to CN201410455974.9A priority Critical patent/CN104239048B/zh
Publication of CN104239048A publication Critical patent/CN104239048A/zh
Application granted granted Critical
Publication of CN104239048B publication Critical patent/CN104239048B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及计算机技术领域,提供一种Oracle Forms信息系统业务逻辑的复用方法,用于解决Oracle Forms信息系统的业务逻辑被其他UI复用的问题,所述方法包括以下步骤:在Oracle Forms信息系统数据库中创建基表;用户权限验证;从用户提供的数据文件中获取待校验数据并对待校验数据进行封装;查询校验函数;构造校验函数对封装的待校验数据进行校验;更新数据库。本发明能够把Oracle Forms信息系统的业务逻辑调整为UI可以复用的目标,而且不影响Oracle Forms信息系统的开发,并且具有较强的适应性。

Description

一种Oracle Forms信息系统业务逻辑的复用方法
技术领域
本发明涉及计算机技术领域,特别涉及一种Oracle Forms信息系统业务逻辑的复用方法。
背景技术
Oracle Forms Developer是Oracle公司提供的用于开发Web数据库应用程序的工具集,其主要UI界面称为Form。Oracle Forms Developer工具集具有开发模式简单、可实现逻辑功能强大等优点,目前,Oracle Forms Developer工具集得到了广泛的应用。
随着开发技术的不断发展,出现了基于网页或移动终端的UI界面技术,为了避免重复开发,需要把以前使用Oracle Forms Developer工具开发的Oracle Form形式的系统(本发明中简称为“Oracle Forms信息系统”),调整为网页或者移动终端支持的UI界面,但是由于使用Oracle Forms Developer工具开发过程中,许多业务逻辑都集成在Form中,因此基于网页或者移动终端的UI界面很难将集成在Form中的业务逻辑复用,这就导致开发者只能投入大量资源和冒着系统稳定性风险来完成所有业务逻辑的重新开发。
发明内容
本发明提供一种Oracle Forms信息系统业务逻辑的复用方法,用于解决OracleForms信息系统的业务逻辑被其他UI复用的问题。
为了解决以上的技术问题,本发明提供一种Oracle Forms信息系统业务逻辑的复用方法,所述方法包括以下步骤:
步骤A:在Oracle Forms信息系统数据库中创建基表,所述基表至少包括第一基表至第八基表,所述第一基表用于记录权限代码与Form代码的对应关系以及权限代码对Form中数据的増删改属性;所述第二基表用于记录用户与权限代码的对应关系;所述第三基表用于记录基表与基表字段的对应关系以及基表字段的増删改属性;所述第四基表用于记录基表字段的值列表及代码输入的规则;所述第五基表用于记录对基表字段或整条数据库记录进行校验时使用的数据库函数及数据库函数执行校验的顺序;所述第六基表用于记录Form的基表信息;所述第七基表用于记录执行校验的所有数据库函数;所述第八基表用于定义Oracle Forms信息系统的报错信息;
步骤B:从用户提供的参数中获取用户信息并判断用户及其请求的Form操作是否合法,如果用户及其请求的Form操作合法,则转入步骤C;反之则退出流程;
步骤C:从用户提供的数据文件中获取待校验数据并对待校验数据进行封装;
步骤D:在所述Oracle Forms信息系统中查询校验函数;
步骤E:构造校验函数对步骤C中封装的待校验数据进行校验;
步骤F:根据所述第三基表中的数据判断用户提供的数据文件中的必填字段是否为空,如果必填字段不为空,则执行步骤G;反之则向用户反馈错误信息并退出流程;
步骤G:更新Oracle Forms信息系统的数据库中的数据。
根据本发明的一种优选实施方式,所述步骤B具体包括:
步骤B1:验证用户提供的用户名和密码是否能够通过用户登陆验证,如果验证通过则执行步骤B2,反之则退出流程;
步骤B2:根据第一基表和第二基表信息验证用户是否有Form操作权限,如果有操作权限则转入步骤C,反之则退出流程。
根据本发明的另一种优选实施方式,所述步骤C具体包括:
步骤C1:创建DataService对象实例;
步骤C2:通过DataService读取并封装所述待校验数据;
步骤C3:从用户提供的数据文件中获取程序编号、基表字段、基表描述字段及待校验数据;
步骤C4:将所述待校验数据与所述基表字段保存在一个Map对象里。
根据本发明的另一种优选实施方式,所述步骤D具体包括:
步骤D1:从第六基表中获取基表名和元基表;
步骤D2:根据所述Map对象获取基表字段名,然后根据所述基表字段名和步骤D1中得到的基表名,从第五基表中获取当前字段校验所必需的函数名、函数参数、函数返回参数、函数执行顺序号以及报错类型;
步骤D3:从第四基表中获取字段简码;
步骤D4:从第七基表中获取执行校验的数据库函数的函数名和函数参数个数;
步骤D5:从第三基表中获取所述基表名对应字段是否为必填字段以及字段的増删改属性。
根据本发明的另一种优选实施方式,所述步骤E具体包括:根据步骤D中得到的函数的名称和函数参数拼接得到可执行的函数语句;执行所述函数语句并返回执行结果;根据所述执行结果判断函数是否出现错误,如果出现错误,则从第八基表中获取报错信息,并提示用户。
根据本发明的另一种优选实施方式,所述步骤G具体包括:根据基表名称、基表字段以及步骤E中校验后的数据拼接得到可执行的DML语句;执行所述DML语句并返回执行结果。
下面将更详细的描述本发明。
本发明首先包括基础数据的准备,即需要在Oracle Forms信息系统数据库中创建基表,所述基表至少包括第一基表至第八基表,下面对本发明中使用的第一基表至第八基表进行详细说明。
第一基表用于记录权限代码与Form代码的对应关系以及权限代码对Form中数据的増删改属性。如表1所示,表1为第一基表的字段设置以及字段说明。
表1
字段设置 字段说明
Security_code 权限代码
Security_item Form代码
Insert_access 是否有插入数据的权限
Update_access 是否有更新数据的权限
Delete_access 是否有删除数据的权限
第二基表用于记录用户与权限代码的对应关系。如表2所示,表2为第二基表的字段设置以及字段说明。
表2
字段设置 字段说明
Security_code 权限代码
User_name 用户名
第三基表用于记录基表与基表字段的对应关系以及基表字段的増删改属性。如表3所示,表3为第三基表的字段设置以及字段说明。
表3
字段设置 字段说明
item_table 基表名
item_name 字段名
item_request 是否为必填字段
item_insert 字段是否可插入
item_updateable 字段是否可修改
item_update_null 当字段为空时是否可修改
第四基表用于记录基表字段的值列表及代码输入的规则。如表4所示,表4为第四基表的字段设置以及字段说明。
表4
字段设置 字段说明
item_table 基表名
item_name 字段名
item_code 字段简码,即字段值列表的取值来源
第五基表用于记录对基表字段或整条数据库记录进行校验时使用的数据库函数及执行校验的顺序。如表5所示,表5为第五基表的字段设置以及字段说明。
表5
第六基表用于记录Form的基表信息。如表6所示,表6为第六基表的字段设置以及字段说明。
表6
字段设置 字段说明
Meta_data_table 元基表
prog_code Form编号
Base_table 基表名
第七基表用于记录执行校验的所有数据库函数。如表7所示,表7为第七基表的字段设置以及字段说明。
表7
字段设置 字段说明
item_preodedure 函数名
Passed_count 参数个数
第八基表用于定义Oracle Forms信息系统的报错信息。如表8所示,表8为第八基表的字段设置以及字段说明。
表8
字段设置 字段说明
Message_code 报错信息代码
Message_type 报错类型
Message_text 报错信息描述
从以上技术方案可以看出,本发明具有以下优点:
(1)本发明提供了一种对Oracle Forms信息系统的业务逻辑进行复用的软件接口,通过该软件接口,可以方便的将Oracle Forms信息系统的业务逻辑复用到其他UI;(2)用于复用的Oracle Forms信息系统的业务逻辑的开发流程、规范等不受影响,可保证Oracle Forms信息系统的业务逻辑的开发的持续性和稳定性;(3)可实现对Excel、XML等多种数据文件进行校验,因此本发明具有较强的适应性。
附图说明
图1为本发明的实施例提供的Oracle Forms信息系统业务逻辑的复用方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图,对本发明的具体实施方式进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例,也不是对本发明的限制。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
图1为本发明实施例提供的Oracle Forms信息系统业务逻辑的复用方法的流程图,如图1所示,该方法包括步骤101至步骤107,下面将分别对每个步骤进行详细说明。
步骤101:在Oracle Forms信息系统数据库中创建基表。
步骤101是为了准备数据库基础数据,主要通过创建第一基表至第八基表来完成数据准备,其中第一基表至第八基表的详细内容已经在发明内容中描述,这里不再赘述。完成基础数据准备之后,开始本发明实施例的具体业务逻辑复用方法的执行。
步骤102:判断权限验证是否通过,验证通过则执行步骤104;反之则退出流程。
步骤102根据用户提供的参数信息进行权限验证,需要说明,用户提供的参数信息包括用户名、密码和Form编号。具体地,步骤102首先验证用户提供的用户名和密码是否能够通过用户登陆验证,如果验证不通过则退出流程;反之则根据第一基表和第二基表信息验证用户是否有Form操作权限,如果有操作权限则转入步骤103,反之则退出流程。可以看出,通过步骤102增加了整个实施例流程的安全性。
步骤103:获取待校验数据并进行封装。
步骤103从用户提供的数据文件获取待校验数据,需要说明,用户提供的数据文件包括程序编号、基表字段、基表描述字段及待校验数据,待校验数据的格式可以为Excel格式数据、XML格式数据等等。具体地,步骤103包括如下步骤:创建DataService对象实例;通过DataService读取并封装待校验数据;从用户提供的数据文件中获取程序编号、基表字段、基表描述字段及待校验数据;将待校验数据与基表字段保存在一个Map对象里。另外需要说明,这里的DataService是一个数据服务平台,它具有ETL的功能,能够按照统一的规则集成并提高数据的质量,通过图形化工具快速灵活地设计与部署实现数据的抽取、转换、加载等功能。
步骤104:查询校验函数。
具体地,步骤104包括如下步骤:从第六基表中获取基表名(Base_table)和元基表(Meta_data_table);根据从第六基表中得到的基表名(Base_table),从第五基表中获取该基表中的各个字段以及对字段进行校验的函数名(item_preodedure)、函数参数(passed_items)、函数返回参数(into_item)、函数执行顺序号(val_seq)以及报错类型(message_level);根据从第六基表中得到的基表名(Base_table),从第四基表中获取该基表下各字段(item_name)对应的字段简码(item_code);根据第五基表中的函数名(item_preodedure),从第七基表中获取该函数的参数个数(passed_count);根据从第六基表中得到的基表名(Base_table),从第三基表中获取该基表名(item_name)对应字段是否必填(item_request)以及是否可插入(item_insert)。
步骤105:构造校验函数对步骤103中封装的待校验数据进行校验。
具体地,步骤105包括以下步骤:根据步骤104中查询到的函数的名称和函数参数拼接得到可执行的函数语句;执行该可执行函数语句并返回执行结果;根据所述执行结果判断函数是否出现错误,如果出现错误,则从第八基表中获取报错信息,并提示用户。
步骤106:根据第三基表中的数据判断用户提供的数据文件中的必填字段是否为空,如果必填字段不为空,则执行步骤107;反之则向用户反馈错误信息并退出流程。
具体地,步骤106通过第三基表中关于必填字段的信息(item_request)来判断用户提供的数据文件中的必填字段是否为空,如果用户提供的数据文件中的所有必填字段都不为空,则执行步骤107;如果用户提供的数据文件中存在必填字段为空的情况,则向用户反馈错误信息并退出流程。
步骤107:更新Oracle Forms信息系统的数据库中的数据。
具体地,步骤107包括以下步骤:根据步骤104中查询到基表名称、基表字段与步骤105中校验后的数据拼接得到可执行的DML语句;执行DML语句并返回执行结果。
以上实施例提供了一种对Oracle Forms信息系统的业务逻辑进行复用的软件接口,通过该实施例提供的软件接口,可以方便的将Oracle Forms信息系统的业务逻辑复用到其他UI,而且通过对不同格式的数据(例如Excel格式数据、XML格式数据等等)的支持,本实施例也具有较好的适应性,同时,本实施例的执行不影响用于复用的Oracle Forms信息系统的业务逻辑的开发流程、规范等,因此可保证Oracle Forms信息系统的业务逻辑开发的持续性和稳定性。

Claims (6)

1.一种Oracle Forms信息系统业务逻辑的复用方法,其特征在于包括以下步骤:
步骤A:在Oracle Forms信息系统数据库中创建基表,所述基表至少包括第一基表至第八基表,所述第一基表用于记录权限代码与Form代码的对应关系以及权限代码对Form中数据的増删改属性;所述第二基表用于记录用户与权限代码的对应关系;所述第三基表用于记录基表与基表字段的对应关系以及基表字段的増删改属性;所述第四基表用于记录基表字段的值列表及代码输入的规则;所述第五基表用于记录对基表字段或整条数据库记录进行校验时使用的数据库函数及数据库函数执行校验的顺序;所述第六基表用于记录Form的基表信息;所述第七基表用于记录执行校验的所有数据库函数;所述第八基表用于定义Oracle Forms信息系统的报错信息;
步骤B:从用户提供的参数中获取用户信息并判断用户及其请求的Form操作是否合法,如果用户及其请求的Form操作合法,则转入步骤C;反之则退出流程;
步骤C:从用户提供的数据文件中获取待校验数据并对待校验数据进行封装;
步骤D:在所述Oracle Forms信息系统中查询校验函数;
步骤E:构造校验函数对步骤C中封装的待校验数据进行校验;
步骤F:根据所述第三基表中的数据判断用户提供的数据文件中的必填字段是否为空,如果必填字段不为空,则执行步骤G;反之则向用户反馈错误信息并退出流程;
步骤G:更新Oracle Forms信息系统的数据库中的数据。
2.根据权利要求1所述的方法,其特征在于所述步骤B具体包括:
步骤B1:验证用户提供的用户名和密码是否能够通过用户登陆验证,如果验证通过则执行步骤B2,反之则退出流程;
步骤B2:根据第一基表和第二基表信息验证用户是否有Form操作权限,如果有操作权限则转入步骤C,反之则退出流程。
3.根据权利要求1所述的方法,其特征在于所述步骤C具体包括:
步骤C1:创建DataService对象实例;
步骤C2:通过DataService读取并封装所述待校验数据;
步骤C3:从用户提供的数据文件中获取程序编号、基表字段、基表描述字段及待校验数据;
步骤C4:将所述待校验数据与所述基表字段保存在一个Map对象里。
4.根据权利要求3所述的方法,其特征在于所述步骤D具体包括:
步骤D1:从第六基表中获取基表名和元基表;
步骤D2:根据所述Map对象获取基表字段名,然后根据所述基表字段名和步骤D1中得到的基表名,从第五基表中获取当前字段校验所必需的函数名、函数参数、函数返回参数、函数执行顺序号以及报错类型;
步骤D3:从第四基表中获取字段简码;
步骤D4:从第七基表中获取执行校验的数据库函数的函数名和函数参数个数;
步骤D5:从第三基表中获取所述基表名对应字段是否为必填字段以及字段的増删改属性。
5.根据权利要求4所述的方法,其特征在于所述步骤E具体包括:根据步骤D中得到的函数的名称和函数参数拼接得到可执行的函数语句;执行所述函数语句并返回执行结果;根据所述执行结果判断函数是否出现错误,如果出现错误,则从第八基表中获取报错信息,并提示用户。
6.根据权利要求1所述的方法,其特征在于所述步骤G具体包括:根据基表名称、基表字段以及步骤E中校验后的数据拼接得到可执行的DML语句;执行所述DML语句并返回执行结果。
CN201410455974.9A 2014-09-09 2014-09-09 一种Oracle Forms信息系统业务逻辑的复用方法 Active CN104239048B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410455974.9A CN104239048B (zh) 2014-09-09 2014-09-09 一种Oracle Forms信息系统业务逻辑的复用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410455974.9A CN104239048B (zh) 2014-09-09 2014-09-09 一种Oracle Forms信息系统业务逻辑的复用方法

Publications (2)

Publication Number Publication Date
CN104239048A CN104239048A (zh) 2014-12-24
CN104239048B true CN104239048B (zh) 2017-06-06

Family

ID=52227190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410455974.9A Active CN104239048B (zh) 2014-09-09 2014-09-09 一种Oracle Forms信息系统业务逻辑的复用方法

Country Status (1)

Country Link
CN (1) CN104239048B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109345081B (zh) * 2018-09-07 2021-10-29 创新先进技术有限公司 一种数据采集方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6502092B1 (en) * 2000-08-01 2002-12-31 Bmc Software, Inc. Referential integrity navigation in a database system
CN1664780A (zh) * 2005-03-24 2005-09-07 上海全富汉得软件技术有限公司 基于Oracle AQ技术实现Oracle Form9i的Web嵌入的方法
CN1664817A (zh) * 2005-03-24 2005-09-07 上海全富汉得软件技术有限公司 Oracle Form9i和Microsoft Excel透视表的自动转换的方法
CN101937463A (zh) * 2010-09-10 2011-01-05 西安交通大学 一种用于工作流模型的表单自动生成方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6502092B1 (en) * 2000-08-01 2002-12-31 Bmc Software, Inc. Referential integrity navigation in a database system
CN1664780A (zh) * 2005-03-24 2005-09-07 上海全富汉得软件技术有限公司 基于Oracle AQ技术实现Oracle Form9i的Web嵌入的方法
CN1664817A (zh) * 2005-03-24 2005-09-07 上海全富汉得软件技术有限公司 Oracle Form9i和Microsoft Excel透视表的自动转换的方法
CN101937463A (zh) * 2010-09-10 2011-01-05 西安交通大学 一种用于工作流模型的表单自动生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Forms Server实现B/S结构应用系统;王岩峰 等;《计算机应用研究》;20030531(第5期);第72-73、76页 *

Also Published As

Publication number Publication date
CN104239048A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
CN104133772B (zh) 一种自动生成测试数据的方法
ES2702611T3 (es) Crear datos en un almacenamiento de datos usando una ontología dinámica
CN104915262B (zh) 一种基于excel数据结构的校验系统及其方法
CN102364894B (zh) 一种配置数据文件的下发方法及网管设备
CN106293664A (zh) 代码生成方法及装置
CN102708213B (zh) 一种在pdm系统与erp系统之间实现bom信息传输的方法
CN104123227A (zh) 一种自动生成测试用例的方法
CN105488431A (zh) 区块链系统权限管理方法和装置
CN106933835A (zh) 一种兼容性解析Excel文件的数据导入方法及系统
CN105117431A (zh) 一种动态配置外部导入数据的方法及系统
CN109189379A (zh) 代码生成方法和装置
CN103440198B (zh) 表单校验方法
CN106776962A (zh) 一种通用的Excel数据导入多个数据库物理表方法
CN103970659A (zh) 基于插桩技术的安卓应用软件自动化测试方法
CN105607923A (zh) 一种跨平台的航空电子系统配置数据生成与恢复方法
CN103914290A (zh) 一种操作命令处理方法及装置
US10235270B2 (en) Method for assisting with debugging, and computer system
CN107171897A (zh) 一种接口测试方法及数据接口测试系统
US7761841B1 (en) Enhanced data loading for test management tool
CN103020318A (zh) 一种对数据库中数据库表维护的方法
CN104536998A (zh) 一种数据导入方法及装置
CN100504878C (zh) 预处理特殊字符的sql语句构造方法和装置
CN104021002B (zh) 一种pdm系统标准件存储方法
CN103107919B (zh) 一种网络资源建模方法和系统
CN104239048B (zh) 一种Oracle Forms信息系统业务逻辑的复用方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100036 No.1 Yuyuantan South Road, Haidian District, Beijing

Patentee after: CHINA THREE GORGES Corp.

Address before: 100000 No. 1, Yuyuantan South Road, Haidian District, Beijing

Patentee before: CHINA THREE GORGES Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211215

Address after: 100036 No.1 Yuyuantan South Road, Haidian District, Beijing

Patentee after: CHINA THREE GORGES Corp.

Patentee after: Three Gorges Technology Co.,Ltd.

Address before: 100036 No.1 Yuyuantan South Road, Haidian District, Beijing

Patentee before: CHINA THREE GORGES Corp.