申請免費試用、咨詢電話:400-8352-114
第八部分 泛普免費OA中的Sap自定義瀏覽按鈕
在
OA系統(tǒng)中配置一個sap類型的自定義瀏覽按鈕,可以直接瀏覽出sap里面的數(shù)據(jù),然后保存到oa中,并且可以用流程頁面上的數(shù)據(jù)作為sap自定義瀏覽按鈕的數(shù)據(jù)查詢條件。
該接口只支持新表單的html模式流程。
二. 實現(xiàn)方法&步驟
1)
泛普
OA管理系統(tǒng)在/WEB-INF/config/目錄下面,增加了一個SapBrowser.xml。該文件用來
配置sap自定義瀏覽按鈕的相關(guān)信息。
連接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 函數(shù)名 -->
<function>ZRFC_GET_CUSTDATA</function>
<!-- 配置調(diào)用function的輸入?yún)?shù) -->
<input_parameter>
<import>
<field>
<!-- I_KUNNR 參數(shù)名 -->
<name>I_KUNNR</name>
<!-- KHBM 代表主字段 KHBM OA中的字段名 -->
<from_oa_field>KHBM</from_oa_field>
</field>
</import>
<table name="">
<field>
</field>
</table>
</input_parameter>
<!-- 配置 function 的輸出參數(shù) -->
<output_parameter>
<export>
<field>
<!-- O_TEL 參數(shù)名 -->
<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>產(chǎn)品組</desc>
<display>Y</display>
</field>
<field>
<name>SPADE</name>
<desc>產(chǎn)品組描述</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>
<!-- 產(chǎn)品組-->
<name>CPZ</name>
<from>O_KNVV_SPART</from>
</field>
<field>
<!-- 產(chǎn)品組描述-->
<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>標(biāo)準(zhǔn)單位</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 根標(biāo)簽
<browser id=”唯一標(biāo)示”> Y 每個瀏覽框的開始標(biāo)識
瀏覽框的id,為瀏覽框的標(biāo)識,不能重復(fù)
<function/> String Y 調(diào)用sap中的函數(shù)
<input_parameter> N Sap函數(shù)的輸入?yún)?shù)
<Import> N Sap函數(shù)的輸入?yún)?shù)類型
輸入?yún)?shù)為import類型的是,寫到該結(jié)點下面。
<Field> String[] N 代表一個輸入?yún)?shù)的開始
<Name/> String Y Sap函數(shù)中的參數(shù)名
<from_oa_field/> String Y 代表該參數(shù)的值來至于oa表單中得哪個字段 (數(shù)據(jù)庫字段名)
</field> 一個輸入?yún)?shù)字段的結(jié)束
<table name=””> String[] Sap的輸入?yún)?shù),參數(shù)類型為table,一個函數(shù)可以有多個table類型的參數(shù)
<Field> String[] N 代表一個輸入?yún)?shù)的開始
<Name/> String Y Table中得字段列名
<from_oa_field/> String Y 代表該參數(shù)的值來至于oa表單中得哪個字段 (數(shù)據(jù)庫字段名)
</field> 一個輸入?yún)?shù)字段的結(jié)束
</table>
</input_parameter>
<output_parameter> Y 輸出參數(shù)
<export> N Export類型的輸出參數(shù)
<field> String[] N
<name/> String Y 字段參數(shù)名
<desc/> String Y 字段列顯示名
<display/> String N 是否顯示,默認(rèn)不顯示
<search/> String N 是否作為搜索條件,默認(rèn)不做為搜索條件
</field>
</export>
<table name="表名"> String N 目前只支持一個表數(shù)據(jù)輸出
<field> String[] N
<name/> String Y 字段參數(shù)名
<desc/> String Y 字段列顯示名
<display/> String N 是否顯示,默認(rèn)不顯示
<search/> String N 是否作為搜索條件,默認(rèn)不做為搜索條件
</field>
</table>
<assignment_parameter> Y 賦值,把瀏覽框中得值賦到流程表單中
<field> String[] Y
<name> String Y 流程表單中的字段名(數(shù)據(jù)庫字段名)
規(guī)則:
1、 給主字段賦值,只需要寫主字段的數(shù)據(jù)庫字段名就行。
2、 明細(xì)字段,需要填寫明細(xì)表的表名加下劃線,再加上字段名,比如FORMTABLE_MAIN_2_DT1_WLBH
FORMTABLE_MAIN_2_DT1為表名,
WLBH為字段名
3、如果獲取表名,見附錄
<from> String Y 來自于瀏覽框中的哪個字段(這個配置的為sap函數(shù)的輸出參數(shù)字段)
規(guī)則:
1、 如果字段輸出類型為export,那么配置export_字段名。
2、 如果字段輸出類型為table,那么配置為table名_字段名。
3、 如果字段的值來自于多個字段的組合,則需要按照下面的方式組合,$O_KNVV_VKORG$,|,$O_KNVV_VTEXT$,用字段名用兩個$符號引用起來,然后兩個,之間的內(nèi)容不會被解析,會當(dāng)做連接符。
</field> String
</assignment_parameter>
</browser>
泛普OA系統(tǒng)注意:
獲得oa流程頁面上的值,如果流程頁面上的字段不是文本字段,假設(shè)是選擇框,目前我們拿到的值不是選擇框里面的下來選項的值,而是數(shù)據(jù)庫里面對應(yīng)的值。
比如:新建的選擇框字段,有下面2個選項,
0 否
1 是
頁面上選擇了是,我們接口獲取的值為“1”,而不是獲得“是”這個值。
3) 新建sap自定義瀏覽按鈕字段
配置好上面的xml文件之后,我們就可以在系統(tǒng)里面新建sap字段了.