新接口工程实施指南新接口应用程序:接口中心(Intcenter.exe ):1. 接口属性设置:a) 常规设置:接口应用程序路径设置和启动类型设置(手动和自动) b) 设置:是否定时重启接口及时间设置接口刷新间隔设置数据保存方式(本地数据库和服务器数据库)数据处理方式(自动处理和手动处理)长时间未刷新处理(手动和自动)c) 外部设置:运行本接口的 IP 定义控件参数设置(根据不通控件变化)其他固定接口参数设置d) 接口设备设置:接口设备编辑2. 接口中心选项:a) 常规设置接口中心刷新间隔设置是否定时重启接口中心及时间设置本地接口长时间未自刷新的处理b) 日志处理:接口日志(或数据)处理方式(自动和手动)接口日志(或数据)保存方式(保存本地和不保存)接口日志(或数据)保留时间设置(天)3. 接口操作:a) 启动,停止,暂停,恢复,重新启动,结束进程重启4. 接口查询:a) 处理数据查询b) 日志查询5. 接口中心其他相关功能:a) 接口启动相关信息和相关操作b) 接口信息提示中心接口管理(Intmaint.exe):1. 新增接口:a) 接口描述信息和相关设置代码,描述,备注接口刷新方式(定时刷新和手动刷新)接口通讯方式选择(无,UDP,TCP 客户端,Tcp 服务器端,串口,文件共享)数据保存方式(服务器数据库和本地数据库)数据处理方式(自动处理和手动处理)是否采用报文自定义分解是否采用 XML 格式报文b) 用户参数设置:c) 控件参数设置:d) 数据分解定义:可通过测试按钮取得自动截取的数据,检验是否定义正确支持一个接口多个报文格式定义e) XML 报文编辑2. 删除接口:3. 新增组:4. 删除组:5. 接口上传服务器:a) 接口本地存放路径设置b) 接口服务器存放路径设置c) 上传接口在服务器上建立相关目录,把接口相关文件上传至改目录供其他人或部门下载6. 接口下载本地:a) 需下载接口选择b) 接口下载本地目录设置c) 批量下载接口7.FOXHIS.INI 简要说明[ftpserverinfo] --接口管理对应接口存放服务器相关信息Serverurl=192.168.2.241 --服务器地址Servername=192.168.2.241 --服务器名称loginname=sybase --服务器登陆用户password=sybase --服务器登陆密码[path] --接口管理对应接口默认存放路径localpath=d:\ --本地路径ftppath=/home/sybase/dump/接口管理 --上传路径接口实例化:1. 接口实例化程序包括:int_exp.pbl 和 intcomm.pbda) Int_exp.pbl:包含 4 个可供继承的接口应用窗口W_cq_new_interface:本窗口不包含可视化的控件,只包含相关控件和操作工具条,如需显示接口相关处理数据(处理结果)或接口运行情况,请自行在窗口上添加数据窗口或其他控件,本窗口只包含对接口的后台逻辑处理W_interface_dw1:本窗口包含一个数据窗口显示数据源(interface_source)W_interface_dw2:本窗口包含 2 个数据窗口显示数据源(interface_source)和日志W_interface_dw3:本窗口包含 3 个数据窗口显示数据源(interface_source) ,日志和其他用户想要显示的数据Nvo_interface_data:继承于 nvo_interface_base,数据处理基类b) intcomm.pbd:包含了接口运行的所有相关控件和接口处理基类2. 接口通讯控件:a) 串口:对象位置:\intcomm.pbl\uo_pbcomm函数介绍:打开串口 of_open(comm.,comset)Comm.串口编号Comset 串口设置如:9600,n,8,1,0读串口:of_read() 返回读取结果发数据:of_send(data)Data 要发送的数据关闭串口:of_close()b) Tcp 客户端:对象位置:\intcomm.pbl\uo_tcp_client函数介绍:初始化控件:of_unit(interface)Interface 接口代码,该函数是取得接口的控件参数控件设置:of_tcp_set(remotehost,remoteport)Remotehost 服务器端 IP 地址Remoteport 服务器端端口发送数据:of_send_data(data )Data 要发送的数据销毁对象:of_close()接收数据:custom04 事件,直接触发窗口 ue_tcp_recv 事件c) Tcp 服务器端:对象位置:\intcomm.pbl\uo_tcp_server函数介绍:初始化控件:of_unit(interface)Interface 接口代码,该函数是取得接口的控件参数控件设置:of_tcp_set(localhost,localport)Localhost 本地 IP 地址Localport 本地端端口发送数据:of_send_data(data )Data 要发送的数据销毁对象:of_close()接收数据:custom10 事件,直接触发窗口 ue_tcp_recv 事件d) Udp:对象位置:\intcomm.pbl\uo_udp_control函数介绍:初始化控件:of_unit(interface)Interface 接口代码,该函数是取得接口的控件参数控件设置:of_tcp_set(localhost,localport)Localhost 本地 IP 地址Localport 本地端口发送数据:of_send_data(data )Data 要发送的数据销毁对象:of_close()接收数据:custom02 事件,直接触发窗口 ue_udp_recv 事件e) 文件共享:文件共享只需设置 filepath,filename,filesize 三个参数就可以,没有做成单独的控件处理3. 接口处理窗口基类:a) W_cq_interface_base窗口对象:工具条 + 4 个通讯控件窗口事件介绍:Ue_check_arg:核对接口的相关参数是否齐全,返回 true or false如:f_interface_arg_check(is_interface,'0','timeout','30000','30000','超时设置30000=30s,不能超出 60s=60000')Ue_open_after:窗口打开之后处理事件。
使用者需要在 open 事件中处理的程序都应写在此事件中ue_close_custom:关闭窗口处理事件使用者需要在 closequery 事件中处理的程序都应写在此事件中ue_comm_recv:串口接收事件,保存接收的数据然后直接触发 ue_recv_afterue_file_check:检测文件有效性,用于文件共享ue_file_recv:文件共享方式接收事件,保存接收的数据直接触发 ue_recv_afterue_tcp_recv:tcp 接收事件,保存接收的数据直接触发 ue_recv_afterue_udp_recv:udp 接收事件,保存接收的数据直接触发 ue_recv_afterue_recv_custom:不用接口自带的控件作为通讯控件,那么用此函数处理接收数据,每个 timer 都将触发此事件ue_retrieve_custom: 数据源没有采用 interface_source 表的请用此函数进行集中处理用 interface_source 的请调用 nvo_interface_data 进行处理ue_send_custom:不用接口自带的控件作为通讯控件,那么用此函数处理发送数据,每个 timer 都将触发此事件wf_send_data:发送数据函数b) Nvo_interface_base函数介绍:保存数据:Of_save_data()c) Nvo_interface_data继承于 nvo_interface_base函数介绍:接收数据处理:of_recv_data()接口数据处理:of_data_user()包括自定义分解模式的数据输出模式新接口发布程序说明:1. 接口控制 intcenter.exe2. 接口库管理 intmaint.exe(试用阶段发布,可作参数设置用,后期将不跟随发布)3. 通用计费程序实例 int_phone.exe(接口代码=10 ,通讯方式=无,采用自定义分解模式) ,制作新接口可作参考4. 接口实例化应用 int_exp.exe(新增接口的主应用)5. pbl:int_phone.pbl ,int_exp.pbl6. 新接口工程实施指南:包含接口控件的相关函数说明,接口窗口基类的相关自定义事件的说明,发布程序说明,foxhis.ini 设置说明,如何制作新接口,个应用程序的相关操作说明7. pb5 环境,需加压到 c:\sybase 目录8. 新接口相关表结构定义新接口原型程序说明:Int_exp.exe --新接口主应用(不可修改)Int_exp.pbl --新接口实例化 (可修改)Intcomm.pbd --新接口基类(不可修改)制作新接口步骤:准备工作:1. 为新接口新建一个文件夹(如:d:\interface\ 北电计费)2. 将上面三个新接口原型程序拷到新建立的文件夹中3. 安装 PB5,用 pb5 打开 int_exp.pbl 中的 new_int 应用4. 设置 new_int 的 library list(如:d:\interface\ 北电计费\int_exp.pbl; d:\interface\北电计费\intcomm.pbd;)为新接口设置指定一个代码,并设置参数:5. 打开 intmaint.exe,输入用户名和密码,如果不能登陆首先检查 sysoption(select * from sysoption where catalog = ‘interface’ and item = ‘pms_version’)value=‘X’代表系统属于 X 系列登陆将查找 sys_empno,value= ‘V’代表系统属于 V 系列登陆将查找auth_login6. 登陆后在对应的接口组别下新增接口,注意,接口代码以组别代码开头并且长度大于 17. 定义新增接口的通讯方式,通讯控件参数及其他相关参数设置,请参照本文档的其他说明对照设置8. 设置完成后保存退出接口库管理实现接口业务功能:9. pb5 打开 new_int 后,在 int_exp.pbl 中选择继承 4 个基类窗口或直接使用w_interface_exp 作为新接口的业务处理窗口,并保存到 int_exp.pbl 中10. 在窗口的 ue_check_arg 事件中添加接口参数校验代码,如:f_interface_arg_check(is_interface,'0','com','com1',' com1','串口号')return truef_interface_arg_check 参数说明:1 接口代码,不用改2 接口参数类型,不用改3 接口参数,根据实际情况设置4 参数值5 默认参数值6 参数描述11. 在窗口的 ue_open_after 中添加窗口打开处理代码,如:设置控件参数等//超时设置ls_value = f_interface_get(is_interface,'0','timeout')ll_timeout = long(ls_value)ole_Http.object.Timeout = ll_timeout//刷新数据源is_sourcesta = 'T'dw_source.ret。