TIPTOP集成作业调整方法
李锋
概述
TIPTOP和外部系统之间采用Web Service机制,基于企业对象进行数据交换,企业对象大致上可以和TIPTOP中的作业建立对应关系。于程序员而言,系统通过提供两个API函数来实现和外部系统的数据交换。
API介绍
FUNCTION aws_exportData(p_sysid,p_objectid,p_fieldlist,p_operate,p_cond)
RETURNING l_errCode,l_errDesc
功能说明:把TIPTOP中的数据写入目标系统
参数说明:p_sysid : 目标系统别,如CRM或HR
p_objectid : 企业对象id,不同作业中的设定请参考下面表格说明
p_fieldlist : 要传递的字段列表,输入空字符串表示传递所有栏位
p_operate : 传递方式,INSERT表示新增,DELETE表示删除,ADJUST表示修改
当目标系统中存在相同主键的记录时,INSERT操作会失败。ADJUST操作在目标系统中不存则相同主键时执行新增操作,当存在相同主键时执行修改操作。一般来说推荐使用ADJUST方式
p_cond : 要更新数据的条件,为一个SQL条件子句
返 回 值:l_errCode : 错误码,如果操作成功则返回空值
l_errDesc : 错误提示信息
FUNCTION aws_importData(p_sysid,p_objectid,p_fieldlist,p_cond)
RETURNING l_errCode,l_errDesc
功能说明:从目标系统导入数据
参数说明:p_sysid : 目标系统别,如CRM或HR
p_objectid : 企业对象id,不同作业中的设定请参考下面表格说明
p_fieldlist : 要导入的字段列表,输入空字符串表示导入所有栏位
p_cond : 要导入数据的条件,其格式如下:
((栏位,操作符,值)AND/OR(栏位,操作符,值))
返 回 值:l_errCode : 错误码,如果操作成功则返回空值
l_errDesc : 错误提示信息
*本次主要使用到的是aws_exportData函数
以下是部分企业对象和维护作业之间的对应关系:
企业对象 | 说明 | 主数据表 | 作业代号 | 作业名称 |
MEMBER | 会员 | tc_mbi_file | ctmi350 | 会员基本资料维护 |
BUSINESS | 签约商户 | tc_ten_file | ctmi245 | 商户基本资料维护 |
DEPARTMENT | 部门 | gem_file | ||
EMPLOYEE | 员工 | gen_file | ||
BRAND | 品牌 | tqa_file | ||
BIGSORT | 经营大类 | tc_cat_file | ||
MIDDLESORT | 经营中类 | tc_cav_file | ||
SMALLSORT | 经营小类 | tc_cau_file | ||
SMALLRES | 商品小类 | tc_cxc_file | ||
COUNTRY | 国家 | tc_geb_file |
程序调整
对于资料维护作业,我们采用新增的ACTION按钮的方式来实现数据向目标系统的同步(包含了新增和修改两种操作),图示如下:
下面以会员基本资料维护作业(ctmi350)为例来说明对TIPTOP程序的调整:
修改位置1:主菜单函数i350_menu()
……
WHEN “invalid”
IF cl_chk_act_auth() THEN
CALL i350_x()
END IF
WHEN “exportdata”
# IF cl_chk_act_auth() THEN
CALL i350_exportdata()
# END IF
WHEN “reproduce”
IF cl_chk_act_auth() THEN
CALL i350_copy()
END IF
……
说明:增加一个MENU ACTION,调用自定义函数xxx_exportData(),权限的控管这里被取消了,可根据实际状况决定是否增加
修改位置2:增加导出函数i350_exportdata()
FUNCTION i350_exportdata()
DEFINE l_errCode STRING
DEFINE l_errDesc STRING
IF cl_null(g_tc_mbi.tc_mbi01) THEN
CALL cl_err(“”,-400,1)
RETURN
END IF
CALL aws_exportData(‘CRM’,’MEMBER‘,”,’ADJUST’,
“(tc_mbi01 ='”||g_tc_mbi.tc_mbi01||”‘)”)
RETURNING l_errCode,l_errDesc
IF cl_null(l_errCode) THEN
CALL cl_err(“”,’aws-111′,1)
ELSE
CALL cl_err(l_errDesc,’aws-112’,1)
END IF
END FUNCTION
说明:该函数是对系统集成API函数aws_exportData的封装,传入当前资料的主键信息并接收地层函数返回的操作结果,整个函数都需要新增,所以可以直接拷贝到其他维护作业中去,但其中蓝色部分是需要结合不同作业的具体情况进行修改的。
总结
上面仅针对典型情况进行了举例说明,对于比较复杂的处理作业,可以按实际情况灵活地调用API函数,相关应用中的问题请于易拓研发部 李锋(021-62383311-964)联系,谢谢
E-mail:Lifenga@digitalchina.com
转载请注明:赫非域 » TIPTOP集成作业调整方法(new)