申请免费试用、咨询电话:400-8352-114
第八部分 泛普免费OA中的Sap自定义浏览按钮
在
OA系统中配置一个sap类型的自定义浏览按钮,可以直接浏览出sap里面的数据,然后保存到oa中,并且可以用流程页面上的数据作为sap自定义浏览按钮的数据查询条件。
该接口只支持新表单的html模式流程。
二. 实现方法&步骤
1)
泛普
OA管理系统在/WEB-INF/config/目录下面,增加了一个SapBrowser.xml。该文件用来
配置sap自定义浏览按钮的相关信息。
连接sap的配置在/WEB-INF/prop/SAPConn.properties
每个配置项在SAPConn.properties都有描述
2)配置文件如下:
<?xml version="1.0" encoding="utf-8"?>
<module id="sapbrowser" version="1.0.0">
<!-- ZRFC_GET_CUSTDATA 销售范围 -->
<browser id="xiaoshoufanwei">
<!-- function 函数名 -->
<function>ZRFC_GET_CUSTDATA</function>
<!-- 配置调用function的输入参数 -->
<input_parameter>
<import>
<field>
<!-- I_KUNNR 参数名 -->
<name>I_KUNNR</name>
<!-- KHBM 代表主字段 KHBM OA中的字段名 -->
<from_oa_field>KHBM</from_oa_field>
</field>
</import>
<table name="">
<field>
</field>
</table>
</input_parameter>
<!-- 配置 function 的输出参数 -->
<output_parameter>
<export>
<field>
<!-- O_TEL 参数名 -->
<name>O_TEL</name>
<!-- 页面上显示的显示名 -->
<desc>客户电话</desc>
<!-- 是否显示在页面上 -->
<display>N</display>
</field>
<field>
<name>O_FAX</name>
<desc>客户传真</desc>
<display>N</display>
</field>
</export>
<table name="O_KNVV">
<field>
<name>VKORG</name>
<desc>销售组织</desc>
<display>Y</display>
<search>Y</search>
</field>
<field>
<name>VTEXT</name>
<desc>销售组织描述</desc>
<display>Y</display>
<search>Y</search>
</field>
<field>
<name>VTWEG</name>
<desc>分销渠道</desc>
<display>Y</display>
<search>Y</search>
</field>
<field>
<name>VTWDE</name>
<desc>分销渠道描述</desc>
<display>Y</display>
</field>
<field>
<name>SPART</name>
<desc>产品组</desc>
<display>Y</display>
</field>
<field>
<name>SPADE</name>
<desc>产品组描述</desc>
<display>Y</display>
</field>
</table>
</output_parameter>
<!-- 赋值配置 -->
<assignment_parameter>
<field>
<!-- 需要赋值的字段名 销售范围-->
<name>XSFW</name>
<from>$O_KNVV_VKORG$,|,$O_KNVV_VTEXT$,|,$O_KNVV_VTWEG$,|,$O_KNVV_VTWDE$,|,$O_KNVV_SPART$,|,$O_KNVV_SPADE$</from>
</field>
<field>
<!-- 客户电话-->
<name>KHDH</name>
<from>export_O_TEL</from>
</field>
<field>
<!-- 客户传真-->
<name>KHCZ</name>
<from>export_O_FAX</from>
</field>
<field>
<!-- 销售组织-->
<name>XSZZ</name>
<from>O_KNVV_VKORG</from>
</field>
<field>
<!-- 销售组织描述-->
<name>XSZZMS</name>
<from>O_KNVV_VTEXT</from>
</field>
<field>
<!-- 分销渠道-->
<name>FXQD</name>
<from>O_KNVV_VTWEG</from>
</field>
<field>
<!-- 分销渠道描述-->
<name>FXQDMS</name>
<from>O_KNVV_VTWDE</from>
</field>
<field>
<!-- 产品组-->
<name>CPZ</name>
<from>O_KNVV_SPART</from>
</field>
<field>
<!-- 产品组描述-->
<name>CPZMS</name>
<from>O_KNVV_SPADE</from>
</field>
</assignment_parameter>
</browser>
<browser id="dingdandanwei">
<function>ZRFC_GET_ITEMDATA</function>
<input_parameter>
<import>
<field>
<name>I_KUNNR</name>
<from_oa_field>KHBM</from_oa_field>
</field>
<field>
<name>I_MATNR</name>
<from_oa_field>FORMTABLE_MAIN_2_DT1_WLBH</from_oa_field>
</field>
<field>
<name>I_VKORG</name>
<from_oa_field>XSZZ</from_oa_field>
</field>
<field>
<name>I_VTWEG</name>
<from_oa_field>FXQD</from_oa_field>
</field>
</import>
</input_parameter>
<output_parameter>
<export>
<field>
<name>O_ARKTX</name>
<desc>物料描述</desc>
<display>Y</display>
</field>
<field>
<name>O_MEINS</name>
<desc>标准单位</desc>
<display>Y</display>
</field>
<field>
<name>O_KBETR</name>
<desc>单价</desc>
<display>Y</display>
</field>
</export>
<table name="O_UMCON">
<field>
<name>MEINS</name>
<desc>订单单位</desc>
<display>Y</display>
<search>Y</search>
</field>
<field>
<name>CONV</name>
<desc>换算率</desc>
<display>Y</display>
<search>N</search>
</field>
</table>
</output_parameter>
<assignment_parameter>
<field>
<name>FORMTABLE_MAIN_2_DT1_BZDW</name>
<from>export_O_MEINS</from>
</field>
<field>
<name>FORMTABLE_MAIN_2_DT1_DJ</name>
<from>export_O_KBETR</from>
</field>
<field>
<name>FORMTABLE_MAIN_2_DT1_DDDW</name>
<from>O_UMCON_MEINS</from>
</field>
<field>
<name>FORMTABLE_MAIN_2_DT1_ZHL</name>
<from>O_UMCON_CONV</from>
</field>
</assignment_parameter>
</browser>
<browser id="daifangkemu">
<function>ZSL_FIRF004</function>
<output_parameter>
<table name="I_SAKNR">
<field>
<name>SAKNR</name>
<desc>总帐科目编号</desc>
<display>Y</display>
<search>Y</search>
</field>
<field>
<name>TXT20</name>
<desc>总帐科目描述</desc>
<display>Y</display>
<search>Y</search>
</field>
</table>
</output_parameter>
<assignment_parameter>
<field>
<name>FORMTABLE_MAIN_4_DT1_DFKM</name>
<from>I_SAKNR_SAKNR</from>
</field>
<field>
<name>FORMTABLE_MAIN_4_DT1_DFKMMS</name>
<from>I_SAKNR_TXT20</from>
</field>
</assignment_parameter>
</browser>
</module>
Xml元素说明:
元素 类型 是否必须 说明
<module> Y 根标签
<browser id=”唯一标示”> Y 每个浏览框的开始标识
浏览框的id,为浏览框的标识,不能重复
<function/> String Y 调用sap中的函数
<input_parameter> N Sap函数的输入参数
<Import> N Sap函数的输入参数类型
输入参数为import类型的是,写到该结点下面。
<Field> String[] N 代表一个输入参数的开始
<Name/> String Y Sap函数中的参数名
<from_oa_field/> String Y 代表该参数的值来至于oa表单中得哪个字段 (数据库字段名)
</field> 一个输入参数字段的结束
<table name=””> String[] Sap的输入参数,参数类型为table,一个函数可以有多个table类型的参数
<Field> String[] N 代表一个输入参数的开始
<Name/> String Y Table中得字段列名
<from_oa_field/> String Y 代表该参数的值来至于oa表单中得哪个字段 (数据库字段名)
</field> 一个输入参数字段的结束
</table>
</input_parameter>
<output_parameter> Y 输出参数
<export> N Export类型的输出参数
<field> String[] N
<name/> String Y 字段参数名
<desc/> String Y 字段列显示名
<display/> String N 是否显示,默认不显示
<search/> String N 是否作为搜索条件,默认不做为搜索条件
</field>
</export>
<table name="表名"> String N 目前只支持一个表数据输出
<field> String[] N
<name/> String Y 字段参数名
<desc/> String Y 字段列显示名
<display/> String N 是否显示,默认不显示
<search/> String N 是否作为搜索条件,默认不做为搜索条件
</field>
</table>
<assignment_parameter> Y 赋值,把浏览框中得值赋到流程表单中
<field> String[] Y
<name> String Y 流程表单中的字段名(数据库字段名)
规则:
1、 给主字段赋值,只需要写主字段的数据库字段名就行。
2、 明细字段,需要填写明细表的表名加下划线,再加上字段名,比如FORMTABLE_MAIN_2_DT1_WLBH
FORMTABLE_MAIN_2_DT1为表名,
WLBH为字段名
3、如果获取表名,见附录
<from> String Y 来自于浏览框中的哪个字段(这个配置的为sap函数的输出参数字段)
规则:
1、 如果字段输出类型为export,那么配置export_字段名。
2、 如果字段输出类型为table,那么配置为table名_字段名。
3、 如果字段的值来自于多个字段的组合,则需要按照下面的方式组合,$O_KNVV_VKORG$,|,$O_KNVV_VTEXT$,用字段名用两个$符号引用起来,然后两个,之间的内容不会被解析,会当做连接符。
</field> String
</assignment_parameter>
</browser>
泛普OA系统注意:
获得oa流程页面上的值,如果流程页面上的字段不是文本字段,假设是选择框,目前我们拿到的值不是选择框里面的下来选项的值,而是数据库里面对应的值。
比如:新建的选择框字段,有下面2个选项,
0 否
1 是
页面上选择了是,我们接口获取的值为“1”,而不是获得“是”这个值。
3) 新建sap自定义浏览按钮字段
配置好上面的xml文件之后,我们就可以在系统里面新建sap字段了.