智遥工作流调用SAP基础数据,解决方案
在制造业公司,实施工作流的过程中,很多流程都需要调用ERP中基础数据。尤其是那些使用了SAP的大企业,可以说大部分流程都需要调用SAP的基础数据。比如取:plant,company,profilecenter,costcenter等信息。
事实上这类数据很少发生变动,但是使用却非常频繁;如果每次发起流程都连接到SAP取数据,必然导致效率不高。
通常我都是建议企业将这些基础数据,导入到“智遥工作流软件”的数据库中。
同时我们再做一个更新基础数据流程,当有基础数据变动时,管理员在进行点击一下更新按钮,将数据同步到“工作流”的数据库中。
如图所示:![]()

代码很简单:
//更新SAP基础数据 protected void BUpdateData_Click(object sender, DirectEventArgs e) { SapRFCHelper saph = new SapRFCHelper(); string tableName=Tdatatype.SelectedItem.Value.ToString(); string[] param = { "TABLE_NAME|" + tableName }; DataTable dt = saph.GetRfcOutTable("SAPDevConn",param,"ZGET_KEY_TEXT_LIST","ZLIST"); if (dt.Rows.Count > 0) { string sql = "Delete F_SAPDATA where datatype='" + tableName + "'"; SqlHelper sh = new SqlHelper(); sh.Execute(sql); sql = "Insert into F_SAPDATA(datatype,key1,key2,key3,text,creator,ctime) Values ("; StringBuilder sqlStr = new StringBuilder(); for (int i = 0; i < dt.Rows.Count; i++) { sqlStr.Clear(); sqlStr.Append(sql); sqlStr.Append("'" + tableName + "'"); sqlStr.Append(",'"+ dt.Rows[i]["KEY1"].ToString()+"'"); sqlStr.Append(",'" + dt.Rows[i]["KEY2"].ToString() + "'"); sqlStr.Append(",'" + dt.Rows[i]["KEY3"].ToString() + "'"); sqlStr.Append(",'" + dt.Rows[i]["TEXT"].ToString() + "'"); sqlStr.Append(",'" + u.GetLoginID() + "'"); sqlStr.Append(",'" + DateTime.Now.ToString() + "'"); sqlStr.Append(")"); sh.Execute(sqlStr.ToString()); } X.Msg.Alert("提示:", "数据更新成功!").Show(); } }
注:所有的SAP基础数据都是放在同一个表的,取数据的时候,根据类别来取就好了
智遥工作流,自主研发的.net工作流引擎,扩展能力强,集成方便!

浙公网安备 33010602011771号