读取SAP数据, 从两方面来做
1) 做一个C# app 在服务器上"任务计划"每天读取. 必须在服务器上执行, 否则可能从SAP读的汉字是乱码. (设置Connection的codepage = "8400"可以解决乱码问题.)
2) 对于要实时读取的, 做成页面或web Service放OA上.
下面是页面实现的部分代码.
using System.Data.SqlClient; //连接SQL SERVER
using System.Data.OleDb; //把页面GridView的数据导出EXCEL中用到
using SAPFunctionsOCX; //以下三项安装SAP客户端后引用
using SAPLogonCtrl;
using SAPTableFactoryCtrl;
//页面上调用事件
protected void Button2_Click(object sender, EventArgs e)
{
stdate = System.DateTime.Now;
DataTable dt = this.GetGridData();
foreach (DataRow row in dt.Rows)
{
tOrder = row["生产订单"].ToString();
if (string.IsNullOrEmpty(tOrder) == true)
{
break;
}
else
{
ExecSQL("INSERT INTO 重读订单(生产订单) VALUES ('" + tOrder + "')");
}
}
dt.Dispose();
GridView2.DataSource = GetDataSet("select * from 重读订单 where 状态 is null", "重读订单");
GridView2.DataBind();
int dgv = GridView2.Rows.Count;
if (dgv >= 1)
{
System.Threading.Thread s = new System.Threading.Thread(new System.Threading.ThreadStart(GETTBL));
s.SetApartmentState(System.Threading.ApartmentState.STA);
s.Start();
s.Join();
GridView1.DataSource = GetDataSet("select * from 重读订单", "重读订单");
GridView1.DataBind();
endate = System.DateTime.Now;
int st_hours = stdate.Hour;
int st_minute = stdate.Minute;
int st_second = stdate.Second;
int en_hours = endate.Hour;
int en_minute = endate.Minute;
int en_second = endate.Second;
string timeConsume = Convert.ToString(en_hours - st_hours) + "时 " + Convert.ToString(en_minute - st_minute) + "分 " + Convert.ToString(en_second - st_second) + "秒";
ExecSQL("Delete from 重读订单 where 状态 is not null");
insertEvent(stdate.ToString(), endate.ToString(), timeConsume, "重读订单", recAufk);
}
else
{
Response.Write(MessageBox("请输入生产订单!"));
}
}
protected void Button4_Click(object sender, EventArgs e)
{
DataTable dt = this.GetGridData();
DataRow newRow = dt.NewRow();
newRow[0] = "";
newRow[1] = null;
dt.Rows.Add(newRow);
GridView1.DataSource = dt;
GridView1.DataBind();
dt.Dispose();
}
protected DataTable GetGridData()
{
DataTable dt1 = new DataTable("Table1");
dt1.Columns.Add("生产订单");
dt1.Columns.Add("状态");
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow gRow = GridView1.Rows[i];
DataRow newRow = dt1.NewRow();
newRow[0] = ((TextBox)gRow.FindControl("TextBox1")).Text;
newRow[1] = ((TextBox)gRow.FindControl("TextBox2")).Text;
dt1.Rows.Add(newRow);
}
dt1.AcceptChanges();
return dt1;
}
//连接SAP, 调用RFC
protected void GETTBL()
{
SAPLogonCtrl.SAPLogonControlClass sapLogin = new SAPLogonCtrl.SAPLogonControlClass();
sapLogin.ApplicationServer = "ip address";
sapLogin.Client = "300";
sapLogin.Language = "ZH";
sapLogin.User = "myName";
sapLogin.Password = "myPw";
sapLogin.SystemNumber = 00;
SAPLogonCtrl.Connection sapConn = (SAPLogonCtrl.Connection)sapLogin.NewConnection();
if (sapConn.Logon(0, true)) //login successful
{
SAPFunctionsOCX.SAPFunctionsClass func = new SAPFunctionsOCX.SAPFunctionsClass();
func.Connection = sapConn;
SAPFunctionsOCX.IFunction ifunc = (SAPFunctionsOCX.IFunction)func.Add("ZRFC_AUFK");
GridView2.DataSource = GetDataSet("select * from 重读订单 where 状态 is null", "重读订单");
GridView2.DataBind();
int dgv = GridView2.Rows.Count;
recAufk = dgv;
string T_aufnr;
string o_aufnr;
if (dgv >= 1)
{
for (int i = 0; i < dgv; i++)
{
T_aufnr = GridView2.Rows[i].Cells[0].Text.ToString();
o_aufnr = T_aufnr;
if (T_aufnr.Length < 12) //补零
{
string str_zero = "0";
for (int j = 2; j <= 12 - T_aufnr.Length; j++)
{
str_zero = str_zero + j.ToString();
str_zero = str_zero.Replace(j.ToString(), "0");
}
T_aufnr = str_zero + T_aufnr;
}
SAPFunctionsOCX.IParameter zaufnr = (SAPFunctionsOCX.IParameter)ifunc.get_Exports("ZAUFNR");
zaufnr.Value = T_aufnr;
SAPFunctionsOCX.IParameter zstyle = (SAPFunctionsOCX.IParameter)ifunc.get_Exports("ZSTYLE");
zstyle.Value = "2";
ifunc.Call();
// SAPFunctionsOCX.IParameter NUMBER =(SAPFunctionsOCX.IParameter)ifunc.get_Imports("SUBRC");
SAPTableFactoryCtrl.Tables ORDERs = (SAPTableFactoryCtrl.Tables)ifunc.Tables; //get all the tables
SAPTableFactoryCtrl.Table tbAufk = (SAPTableFactoryCtrl.Table)ORDERs.get_Item("ORDER_LIST");
SAPTableFactoryCtrl.Table tbAFVC = (SAPTableFactoryCtrl.Table)ORDERs.get_Item("AFVC_LIST");
SAPTableFactoryCtrl.Table tbVBAK = (SAPTableFactoryCtrl.Table)ORDERs.get_Item("VBAK_LIST");
SAPTableFactoryCtrl.Table tbVBAP = (SAPTableFactoryCtrl.Table)ORDERs.get_Item("VBAP_LIST");
SAPTableFactoryCtrl.Table tbAFFL = (SAPTableFactoryCtrl.Table)ORDERs.get_Item("AFFL_LIST");
if (tbAufk.RowCount >= 1)
{
for (int i1 = 1; i1 <= tbAufk.RowCount; i1++)
{
insertAUFK(
tbAufk.get_Cell(i1, "AUFNR").ToString(),
tbAufk.get_Cell(i1, "AUART").ToString(),
Convert.ToInt32(tbAufk.get_Cell(i1, "AUTYP")),
Convert.ToDateTime(tbAufk.get_Cell(i1, "ERDAT")),
tbAufk.get_Cell(i1, "BUKRS").ToString(),
tbAufk.get_Cell(i1, "WERKS").ToString(),
tbAufk.get_Cell(i1, "OBJNR").ToString(),
tbAufk.get_Cell(i1, "LOEKZ").ToString(),
Convert.ToDateTime(tbAufk.get_Cell(i1, "GLTRP")),
Convert.ToDateTime(tbAufk.get_Cell(i1, "GSTRP")),
Convert.ToInt32(tbAufk.get_Cell(i1, "RSNUM")),
tbAufk.get_Cell(i1, "DISPO").ToString(),
Convert.ToInt32(tbAufk.get_Cell(i1, "AUFPL")),
tbAufk.get_Cell(i1, "FEVOR").ToString(),
tbAufk.get_Cell(i1, "APRIO").ToString(),
tbAufk.get_Cell(i1, "CY_SEQNR").ToString(),
Convert.ToDecimal(tbAufk.get_Cell(i1, "IGMNG")),
tbAufk.get_Cell(i1, "POSNR").ToString(),
tbAufk.get_Cell(i1, "KDAUF").ToString(),
Convert.ToInt32(tbAufk.get_Cell(i1, "KDPOS")),
Convert.ToDecimal(tbAufk.get_Cell(i1, "PSMNG")),
Convert.ToDecimal(tbAufk.get_Cell(i1, "WEMNG")),
tbAufk.get_Cell(i1, "MEINS").ToString(),
tbAufk.get_Cell(i1, "MATNR").ToString(),
tbAufk.get_Cell(i1, "LTRMI").ToString(),
tbAufk.get_Cell(i1, "ELIKZ").ToString(),
tbAufk.get_Cell(i1, "DFREI").ToString(),
tbAufk.get_Cell(i1, "DNREL").ToString(),
tbAufk.get_Cell(i1, "BEZEI").ToString(),
tbAufk.get_Cell(i1, "TXT").ToString());
}
if (tbAFVC.RowCount >= 1)
{
for (int k = 1; k <= tbAFVC.RowCount; k++)
{
insertAFVC(
Convert.ToInt32(tbAFVC.get_Cell(k, "AUFPL")),
Convert.ToInt32(tbAFVC.get_Cell(k, "APLZL")),
tbAFVC.get_Cell(k, "OBJNR").ToString(),
tbAFVC.get_Cell(k, "PLNFL").ToString(),
Convert.ToInt32(tbAFVC.get_Cell(k, "PLNKN")),
tbAFVC.get_Cell(k, "PLNNR").ToString(),
Convert.ToInt32(tbAFVC.get_Cell(k, "ZAEHL")),
tbAFVC.get_Cell(k, "VORNR").ToString(),
tbAFVC.get_Cell(k, "STEUS").ToString(),
Convert.ToInt32(tbAFVC.get_Cell(k, "ARBID")),
tbAFVC.get_Cell(k, "WERKS").ToString(),
tbAFVC.get_Cell(k, "KTSCH").ToString(),
tbAFVC.get_Cell(k, "LTXA1").ToString(),
tbAFVC.get_Cell(k, "VGWTS").ToString(),
Convert.ToInt32(tbAFVC.get_Cell(k, "SUMNR")),
tbAFVC.get_Cell(k, "VGE01").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(k, "VGW01")),
tbAFVC.get_Cell(k, "VGE02").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(k, "VGW02")),
tbAFVC.get_Cell(k, "VGE03").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(k, "VGW03")),
tbAFVC.get_Cell(k, "VGE04").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(k, "VGW04")),
tbAFVC.get_Cell(k, "VGE05").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(k, "VGW05")),
tbAFVC.get_Cell(k, "VGE06").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(k, "VGW06")),
Convert.ToDecimal(tbAFVC.get_Cell(k, "MGVRG")),
Convert.ToDecimal(tbAFVC.get_Cell(k, "LMNGA")),
Convert.ToDecimal(tbAFVC.get_Cell(k, "ISM01")),
Convert.ToDecimal(tbAFVC.get_Cell(k, "ISM02")),
Convert.ToDecimal(tbAFVC.get_Cell(k, "ISM03")),
Convert.ToDecimal(tbAFVC.get_Cell(k, "ISM04")),
Convert.ToDecimal(tbAFVC.get_Cell(k, "ISM05")),
Convert.ToDecimal(tbAFVC.get_Cell(k, "ISM06")),
Convert.ToDecimal(tbAFVC.get_Cell(k, "RMNGA")));
}
}
if (tbVBAK.RowCount >= 1)
{
for (int L = 1; L <= tbVBAK.RowCount; L++)
{
insertVBAK(
tbVBAK.get_Cell(L, "VBELN").ToString(),
Convert.ToDateTime(tbVBAK.get_Cell(L, "ERDAT")),
tbVBAK.get_Cell(L, "VBTYP").ToString(),
tbVBAK.get_Cell(L, "VKORG").ToString(),
tbVBAK.get_Cell(L, "BSTNK").ToString(),
tbVBAK.get_Cell(L, "KUNNR").ToString(),
Convert.ToInt32(tbVBAK.get_Cell(L, "PERNR")),
tbVBAK.get_Cell(L, "SNAME").ToString(),
tbVBAK.get_Cell(L, "UNCONF").ToString());
}
}
if (tbVBAP.RowCount >= 1)
{
for (int M = 1; M <= tbVBAP.RowCount; M++)
{
insertVBAP(
tbVBAP.get_Cell(M, "VBELN").ToString(),
Convert.ToInt32(tbVBAP.get_Cell(M, "POSNR")),
tbVBAP.get_Cell(M, "KDMAT").ToString(),
Convert.ToDateTime(tbVBAP.get_Cell(M, "EDATU")),
tbVBAP.get_Cell(M, "UNCONF").ToString());
}
}
/*
if (tbAFFL.RowCount >= 1)
{
for (int P = 1; P <= tbAFFL.RowCount; P++)
{
if (IAUFPL == Convert.ToInt32(tbAFFL.get_Cell(P, "AUFPL")))
{ IAL = 0; }
else { IAL = 1; }
insertAFFL(
Convert.ToInt32(tbAFFL.get_Cell(P, "AUFPL")),
Convert.ToInt32(tbAFFL.get_Cell(P, "APLZL")),
tbAFFL.get_Cell(P, "PLNFL").ToString(),
Convert.ToInt32(tbAFFL.get_Cell(P, "ZAEHL")),
tbAFFL.get_Cell(P, "AENNR").ToString(),
tbAFFL.get_Cell(P, "FLGAT").ToString(),
tbAFFL.get_Cell(P, "BEZFL").ToString(),
Convert.ToInt32(tbAFFL.get_Cell(P, "BKNT1")),
Convert.ToInt32(tbAFFL.get_Cell(P, "BKNT2")),
tbAFFL.get_Cell(P, "LTXA1").ToString(),
tbAFFL.get_Cell(P, "BSCHL1").ToString(),
tbAFFL.get_Cell(P, "BSCHL2").ToString(),
tbAFFL.get_Cell(P, "OBJNR").ToString(),
tbAFFL.get_Cell(P, "OBJTYPE").ToString(),
IAL);
IAUFPL = Convert.ToInt32(tbAFFL.get_Cell(P, "AUFPL"));
}
}*/
ExecSQL("UPDATE 重读订单 SET 状态 = '已更新' where 生产订单 ='" + o_aufnr + "'");
}
else
{
ExecSQL("UPDATE 重读订单 SET 状态 = '订单号码错误' where 生产订单 ='" + o_aufnr + "'");
ExecSQL("Delete from 出货计划进度表 WHERE 生产订单 ='" + o_aufnr + "'");
ExecSQL("Delete from 出货计划表_明细 WHERE 生产订单 ='" + o_aufnr + "'");
//ExecSQL("Delete from AUFK WHERE AUFNR ='" + o_aufnr + "'");
}
}
}
else
{
ifunc.Call();
// SAPFunctionsOCX.IParameter NUMBER =(SAPFunctionsOCX.IParameter)ifunc.get_Imports("SUBRC");
SAPTableFactoryCtrl.Tables ORDERa = (SAPTableFactoryCtrl.Tables)ifunc.Tables; //get all the tables
SAPTableFactoryCtrl.Table tbAufk = (SAPTableFactoryCtrl.Table)ORDERa.get_Item("ORDER_LIST");
SAPTableFactoryCtrl.Table tbAFVC = (SAPTableFactoryCtrl.Table)ORDERa.get_Item("AFVC_LIST");
SAPTableFactoryCtrl.Table tbVBAK = (SAPTableFactoryCtrl.Table)ORDERa.get_Item("VBAK_LIST");
SAPTableFactoryCtrl.Table tbVBAP = (SAPTableFactoryCtrl.Table)ORDERa.get_Item("VBAP_LIST");
SAPTableFactoryCtrl.Table tbAFFL = (SAPTableFactoryCtrl.Table)ORDERa.get_Item("AFFL_LIST");
if (tbAufk.RowCount >= 1)
{
for (int i = 1; i <= tbAufk.RowCount; i++)
{
insertAUFK(tbAufk.get_Cell(i, "AUFNR").ToString(),
tbAufk.get_Cell(i, "AUART").ToString(),
Convert.ToInt32(tbAufk.get_Cell(i, "AUTYP")),
Convert.ToDateTime(tbAufk.get_Cell(i, "ERDAT")),
tbAufk.get_Cell(i, "BUKRS").ToString(),
tbAufk.get_Cell(i, "WERKS").ToString(),
tbAufk.get_Cell(i, "OBJNR").ToString(),
tbAufk.get_Cell(i, "LOEKZ").ToString(),
Convert.ToDateTime(tbAufk.get_Cell(i, "GLTRP")),
Convert.ToDateTime(tbAufk.get_Cell(i, "GSTRP")),
Convert.ToInt32(tbAufk.get_Cell(i, "RSNUM")),
tbAufk.get_Cell(i, "DISPO").ToString(),
Convert.ToInt32(tbAufk.get_Cell(i, "AUFPL")),
tbAufk.get_Cell(i, "FEVOR").ToString(),
tbAufk.get_Cell(i, "APRIO").ToString(),
tbAufk.get_Cell(i, "CY_SEQNR").ToString(),
Convert.ToDecimal(tbAufk.get_Cell(i, "IGMNG")),
tbAufk.get_Cell(i, "POSNR").ToString(),
tbAufk.get_Cell(i, "KDAUF").ToString(),
Convert.ToInt32(tbAufk.get_Cell(i, "KDPOS")),
Convert.ToDecimal(tbAufk.get_Cell(i, "PSMNG")),
Convert.ToDecimal(tbAufk.get_Cell(i, "WEMNG")),
tbAufk.get_Cell(i, "MEINS").ToString(),
tbAufk.get_Cell(i, "MATNR").ToString(),
tbAufk.get_Cell(i, "LTRMI").ToString(),
tbAufk.get_Cell(i, "ELIKZ").ToString(),
tbAufk.get_Cell(i, "DFREI").ToString(),
tbAufk.get_Cell(i, "DNREL").ToString(),
tbAufk.get_Cell(i, "BEZEI").ToString(),
tbAufk.get_Cell(i, "TXT").ToString());
}
if (tbAFVC.RowCount >= 1)
{
for (int i = 1; i <= tbAFVC.RowCount; i++)
{
insertAFVC(
Convert.ToInt32(tbAFVC.get_Cell(i, "AUFPL")),
Convert.ToInt32(tbAFVC.get_Cell(i, "APLZL")),
tbAFVC.get_Cell(i, "OBJNR").ToString(),
tbAFVC.get_Cell(i, "PLNFL").ToString(),
Convert.ToInt32(tbAFVC.get_Cell(i, "PLNKN")),
tbAFVC.get_Cell(i, "PLNNR").ToString(),
Convert.ToInt32(tbAFVC.get_Cell(i, "ZAEHL")),
tbAFVC.get_Cell(i, "VORNR").ToString(),
tbAFVC.get_Cell(i, "STEUS").ToString(),
Convert.ToInt32(tbAFVC.get_Cell(i, "ARBID")),
tbAFVC.get_Cell(i, "WERKS").ToString(),
tbAFVC.get_Cell(i, "KTSCH").ToString(),
tbAFVC.get_Cell(i, "LTXA1").ToString(),
tbAFVC.get_Cell(i, "VGWTS").ToString(),
Convert.ToInt32(tbAFVC.get_Cell(i, "SUMNR")),
tbAFVC.get_Cell(i, "VGE01").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(i, "VGW01")),
tbAFVC.get_Cell(i, "VGE02").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(i, "VGW02")),
tbAFVC.get_Cell(i, "VGE03").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(i, "VGW03")),
tbAFVC.get_Cell(i, "VGE04").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(i, "VGW04")),
tbAFVC.get_Cell(i, "VGE05").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(i, "VGW05")),
tbAFVC.get_Cell(i, "VGE06").ToString(),
Convert.ToDecimal(tbAFVC.get_Cell(i, "VGW06")),
Convert.ToDecimal(tbAFVC.get_Cell(i, "MGVRG")),
Convert.ToDecimal(tbAFVC.get_Cell(i, "LMNGA")),
Convert.ToDecimal(tbAFVC.get_Cell(i, "ISM01")),
Convert.ToDecimal(tbAFVC.get_Cell(i, "ISM02")),
Convert.ToDecimal(tbAFVC.get_Cell(i, "ISM03")),
Convert.ToDecimal(tbAFVC.get_Cell(i, "ISM04")),
Convert.ToDecimal(tbAFVC.get_Cell(i, "ISM05")),
Convert.ToDecimal(tbAFVC.get_Cell(i, "ISM06")),
Convert.ToDecimal(tbAFVC.get_Cell(i, "RMNGA")));
}
}
if (tbVBAK.RowCount >= 1)
{
for (int i = 1; i <= tbVBAK.RowCount; i++)
{
insertVBAK(
tbVBAK.get_Cell(i, "VBELN").ToString(),
Convert.ToDateTime(tbVBAK.get_Cell(i, "ERDAT")),
tbVBAK.get_Cell(i, "VBTYP").ToString(),
tbVBAK.get_Cell(i, "VKORG").ToString(),
tbVBAK.get_Cell(i, "BSTNK").ToString(),
tbVBAK.get_Cell(i, "KUNNR").ToString(),
Convert.ToInt32(tbVBAK.get_Cell(i, "PERNR")),
tbVBAK.get_Cell(i, "SNAME").ToString(),
tbVBAK.get_Cell(i, "UNCONF").ToString());
}
}
if (tbVBAP.RowCount >= 1)
{
for (int i = 1; i <= tbVBAP.RowCount; i++)
{
insertVBAP(
tbVBAP.get_Cell(i, "VBELN").ToString(),
Convert.ToInt32(tbVBAP.get_Cell(i, "POSNR")),
tbVBAP.get_Cell(i, "KDMAT").ToString(),
Convert.ToDateTime(tbVBAP.get_Cell(i, "EDATU")),
tbVBAP.get_Cell(i, "UNCONF").ToString());
}
}
/* Modified by Lin on 2009-10-28
if (tbAFFL.RowCount >= 1)
{
for (int P = 1; P <= tbAFFL.RowCount; P++)
{
if (IAUFPL == Convert.ToInt32(tbAFFL.get_Cell(P, "AUFPL")))
{ IAL = 0; }
else { IAL = 1; }
insertAFFL(
Convert.ToInt32(tbAFFL.get_Cell(P, "AUFPL")),
Convert.ToInt32(tbAFFL.get_Cell(P, "APLZL")),
tbAFFL.get_Cell(P, "PLNFL").ToString(),
Convert.ToInt32(tbAFFL.get_Cell(P, "ZAEHL")),
tbAFFL.get_Cell(P, "AENNR").ToString(),
tbAFFL.get_Cell(P, "FLGAT").ToString(),
tbAFFL.get_Cell(P, "BEZFL").ToString(),
Convert.ToInt32(tbAFFL.get_Cell(P, "BKNT1")),
Convert.ToInt32(tbAFFL.get_Cell(P, "BKNT2")),
tbAFFL.get_Cell(P, "LTXA1").ToString(),
tbAFFL.get_Cell(P, "BSCHL1").ToString(),
tbAFFL.get_Cell(P, "BSCHL2").ToString(),
tbAFFL.get_Cell(P, "OBJNR").ToString(),
tbAFFL.get_Cell(P, "OBJTYPE").ToString(),
IAL);
IAUFPL = Convert.ToInt32(tbAFFL.get_Cell(P, "AUFPL"));
}
} */
}
SAPFunctionsOCX.SAPFunctionsClass func1 = new SAPFunctionsOCX.SAPFunctionsClass();
func1.Connection = sapConn;
SAPFunctionsOCX.IFunction ifunc1 = (SAPFunctionsOCX.IFunction)func.Add("ZRFC_OTHER");
ifunc1.Call();
SAPTableFactoryCtrl.Tables otENQs = (SAPTableFactoryCtrl.Tables)ifunc1.Tables;
SAPTableFactoryCtrl.Table tbAUFK1 = (SAPTableFactoryCtrl.Table)otENQs.get_Item("ORDER_LIST");
SAPTableFactoryCtrl.Table tbVBAK1 = (SAPTableFactoryCtrl.Table)otENQs.get_Item("VBAK_LIST");
SAPTableFactoryCtrl.Table tbVBAP1 = (SAPTableFactoryCtrl.Table)otENQs.get_Item("VBAP_LIST");
if (tbAUFK1.RowCount >= 1)
{
for (int i7 = 1; i7 <= tbAUFK1.RowCount; i7++)
{
updAUFK(tbAUFK1.get_Cell(i7, "AUFNR").ToString(),
tbAUFK1.get_Cell(i7, "DNREL").ToString());
}
if (tbVBAK1.RowCount >= 1)
{
for (int i8 = 1; i8 <= tbVBAK1.RowCount; i8++)
{
updVBAK(
tbVBAK1.get_Cell(i8, "VBELN").ToString(),
tbVBAK1.get_Cell(i8, "UNCONF").ToString());
}
}
if (tbVBAP1.RowCount >= 1)
{
for (int i9 = 1; i9 <= tbVBAP1.RowCount; i9++)
{
updVBAP(
tbVBAP1.get_Cell(i9, "VBELN").ToString(),
Convert.ToInt32(tbVBAP1.get_Cell(i9, "POSNR")),
tbVBAP1.get_Cell(i9, "UNCONF").ToString());
}
}
}
}
runProcMain();
}
else
{
// NOTconn = "FAILTOCONNECTSAP";
}
}
//存储过程调用
public void insertAUFK(string AUFNR, string AUART, Int32 AUTYP, DateTime ERDAT, string BUKRS, string WERKS,
string OBJNR, string LOEKZ, DateTime GLTRP, DateTime GSTRP, Int32 RSNUM, string DISPO, Int32 AUFPL, string FEVOR,
string APRIO, string CY_SEQNR, decimal IGMNG, string POSNR, string KDAUF, Int32 KDPOS, decimal PSMNG,
decimal WEMNG, string MEINS, string MATNR, string LTRMI, string ELIKZ, string DFREI, string DNREL, string BEZEI, string txt)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["connectES"]);
SqlCommand cmd = conn.CreateCommand();
cmd.CommandTimeout = 600;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp_AUFK";
cmd.Parameters.Add(new SqlParameter("@AUFNR", AUFNR));
cmd.Parameters.Add(new SqlParameter("@AUART", AUART));
cmd.Parameters.Add(new SqlParameter("@AUTYP", AUTYP));
cmd.Parameters.Add(new SqlParameter("@ERDAT", ERDAT));
cmd.Parameters.Add(new SqlParameter("@BUKRS", BUKRS));
cmd.Parameters.Add(new SqlParameter("@WERKS", WERKS));
cmd.Parameters.Add(new SqlParameter("@OBJNR", OBJNR));
cmd.Parameters.Add(new SqlParameter("@LOEKZ", LOEKZ));
cmd.Parameters.Add(new SqlParameter("@GLTRP", GLTRP));
cmd.Parameters.Add(new SqlParameter("@GSTRP", GSTRP));
cmd.Parameters.Add(new SqlParameter("@RSNUM", RSNUM));
cmd.Parameters.Add(new SqlParameter("@DISPO", DISPO));
cmd.Parameters.Add(new SqlParameter("@AUFPL", AUFPL));
cmd.Parameters.Add(new SqlParameter("@FEVOR", FEVOR));
cmd.Parameters.Add(new SqlParameter("@APRIO", APRIO));
cmd.Parameters.Add(new SqlParameter("@CY_SEQNR", CY_SEQNR));
cmd.Parameters.Add(new SqlParameter("@IGMNG", IGMNG));
cmd.Parameters.Add(new SqlParameter("@POSNR", POSNR));
cmd.Parameters.Add(new SqlParameter("@KDAUF", KDAUF));
cmd.Parameters.Add(new SqlParameter("@KDPOS", KDPOS));
cmd.Parameters.Add(new SqlParameter("@PSMNG", PSMNG));
cmd.Parameters.Add(new SqlParameter("@WEMNG", WEMNG));
cmd.Parameters.Add(new SqlParameter("@MEINS", MEINS));
cmd.Parameters.Add(new SqlParameter("@MATNR", MATNR));
cmd.Parameters.Add(new SqlParameter("@LTRMI", LTRMI));
cmd.Parameters.Add(new SqlParameter("@ELIKZ", ELIKZ));
cmd.Parameters.Add(new SqlParameter("@DFREI", DFREI));
cmd.Parameters.Add(new SqlParameter("@DNREL", DNREL));
cmd.Parameters.Add(new SqlParameter("@BEZEI", BEZEI));
cmd.Parameters.Add(new SqlParameter("@TXT", txt));
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}