private void getBudget() { try { //SAPLogonCtrl.SAPLogonControlClass login = new SAPLogonCtrl.SAPLogonControlClass(); //login.ApplicationServer = "10.0.0.79"; //login.Client = "800"; //login.Language = "ZF"; //login.User = "******"; //login.Password = "******"; //login.SystemNumber = 00; SapConnection _SapConn = SapConnection.GetInstance; // if (!_SapConn.SapLogin) throw new Exception("登入SAP失敗"); // SAPFunctionsOCX.SAPFunctionsClass func = SapConnection.GetInstance_SAPFunctionsClass; // SAPLogonCtrl.Connection conn = (SAPLogonCtrl.Connection)login.NewConnection(); if (_SapConn.SapLogin) { SAPFunctionsOCX.SAPFunctionsClass func = SapConnection.GetInstance_SAPFunctionsClass; // SAPFunctionsOCX.SAPFunctionsClass func = new SAPFunctionsOCX.SAPFunctionsClass(); // func.Connection = conn; //功能模組名稱 SAPFunctionsOCX.IFunction ifunc = (SAPFunctionsOCX.IFunction)func.Add("Z_GET_IO_BUDGET"); //查詢參數:成本控制範圍 SAPFunctionsOCX.IParameter parameter1 = (SAPFunctionsOCX.IParameter)ifunc.get_Exports("I_KOKRS"); parameter1.Value = Id; // BBB; //查詢參數:內部訂單 SAPFunctionsOCX.IParameter parameter2 = (SAPFunctionsOCX.IParameter)ifunc.get_Exports("I_AUFNR"); parameter2.Value = Kokrs; // AAA;// "P180001CLB"; ifunc.Call(); SAPTableFactoryCtrl.Tables tables = (SAPTableFactoryCtrl.Tables)ifunc.Tables; SAPTableFactoryCtrl.Table ENQEZKNAS = (SAPTableFactoryCtrl.Table)tables.get_Item("T_BUDGET"); int n = ENQEZKNAS.RowCount; for (int i = 1; i <= n; i++) { _Budget.MANDT = ENQEZKNAS.get_Cell(i, "MANDT").ToString(); _Budget.KOKRS = ENQEZKNAS.get_Cell(i, "KOKRS").ToString(); _Budget.AUFNR = ENQEZKNAS.get_Cell(i, "AUFNR").ToString(); _Budget.WAERS = ENQEZKNAS.get_Cell(i, "WAERS").ToString(); _Budget.START_AMT = ENQEZKNAS.get_Cell(i, "START_AMT").ToString(); _Budget.USED_AMT = ENQEZKNAS.get_Cell(i, "USED_AMT").ToString(); _Budget.END_AMT = ENQEZKNAS.get_Cell(i, "END_AMT").ToString(); _Budget.COMMIT_AMT = ENQEZKNAS.get_Cell(i, "COMMIT_AMT").ToString(); _Budget.START_AMT_TOL = ENQEZKNAS.get_Cell(i, "START_AMT_TOL").ToString(); _Budget.USED_AMT_TOL = ENQEZKNAS.get_Cell(i, "USED_AMT_TOL").ToString(); _Budget.END_AMT_TOL = ENQEZKNAS.get_Cell(i, "END_AMT_TOL").ToString(); _Budget.COMMIT_AMT_TOL = ENQEZKNAS.get_Cell(i, "COMMIT_AMT_TOL").ToString(); } } else { throw new Exception("登入SAP失敗"); } //conn.Logoff(); _SapConn.ConnLogoff(); } catch (Exception ex) { logger.Error(ex); } }
/// <summary> /// test not success /// </summary> private void createOrder() { try { SapConnection _SapConn = SapConnection.GetInstance; if (_SapConn.SapLogin) { SAPFunctionsOCX.SAPFunctionsClass func = SapConnection.GetInstance_SAPFunctionsClass; //功能模組名稱 SAPFunctionsOCX.IFunction ifunc = (SAPFunctionsOCX.IFunction)func.Add("ZSD_CREATE_ORDER"); SAPTableFactoryCtrl.Tables _I_CREATE_ORDER = (SAPTableFactoryCtrl.Tables)ifunc.Tables; SAPTableFactoryCtrl.Table _I_ORDER_HEADER_IN = (SAPTableFactoryCtrl.Table)_I_CREATE_ORDER.get_Item("I_ORDER_HEADER_IN"); _I_ORDER_HEADER_IN.AppendGridData(1, 1, 1, "doc_type = 'ZOR1'"); _I_ORDER_HEADER_IN.AppendGridData(2, 1, 1, "sales_org = '2000'"); _I_ORDER_HEADER_IN.AppendGridData(3, 1, 1, "distr_chan = '30'"); _I_ORDER_HEADER_IN.AppendGridData(4, 1, 1, "division = '30'"); _I_ORDER_HEADER_IN.AppendGridData(5, 1, 1, "purch_date = '20190916'"); _I_ORDER_HEADER_IN.AppendGridData(6, 1, 1, "purch_no_c = 'C#'"); SAPTableFactoryCtrl.Table _I_ORDER_PARTNERS = (SAPTableFactoryCtrl.Table)_I_CREATE_ORDER.get_Item("I_ORDER_PARTNERS"); _I_ORDER_PARTNERS.AppendGridData(1, 1, 1, "partn_role = 'AG'"); _I_ORDER_PARTNERS.AppendGridData(2, 1, 1, "partn_numb = '0010000242'"); SAPTableFactoryCtrl.Table _I_ORDER_ITEMS_IN = (SAPTableFactoryCtrl.Table)_I_CREATE_ORDER.get_Item("I_ORDER_ITEMS_IN"); _I_ORDER_ITEMS_IN.AppendGridData(1, 1, 1, "MATERIAL = '12D-04PFFP-SF8001'"); _I_ORDER_ITEMS_IN.AppendGridData(2, 1, 1, "itm_number = '000010'"); _I_ORDER_ITEMS_IN.AppendGridData(3, 1, 1, "target_qty = '20.000'"); _I_ORDER_ITEMS_IN.AppendGridData(4, 1, 1, "arget_qu = 'ST'"); _I_ORDER_ITEMS_IN.AppendGridData(5, 1, 1, "sales_unit = 'ST'"); SAPTableFactoryCtrl.Table _I_ORDER_SCHEDULES_IN = (SAPTableFactoryCtrl.Table)_I_CREATE_ORDER.get_Item("I_ORDER_SCHEDULES_IN"); _I_ORDER_SCHEDULES_IN.AppendGridData(1, 1, 1, "req_qty = '20.000'"); _I_ORDER_SCHEDULES_IN.AppendGridData(2, 1, 1, "ITM_NUMBER = '000010'"); _I_ORDER_SCHEDULES_IN.AppendGridData(3, 1, 1, "SCHED_LINE = '1'"); _I_ORDER_SCHEDULES_IN.AppendGridData(4, 1, 1, "REQ_DATE = '20190917'"); ifunc.Call(); SAPTableFactoryCtrl.Table _Return = (SAPTableFactoryCtrl.Table)_I_CREATE_ORDER.get_Item("E_RETURN"); int n = _Return.RowCount; for (int i = 1; i <= n; i++) { _Budget.MANDT = _Return.get_Cell(i, "TYPE").ToString(); _Budget.KOKRS = _Return.get_Cell(i, "ID").ToString(); _Budget.AUFNR = _Return.get_Cell(i, "NUMBER").ToString(); _Budget.WAERS = _Return.get_Cell(i, "MESSAGE").ToString(); _Budget.START_AMT = _Return.get_Cell(i, "LOG_NO").ToString(); _Budget.USED_AMT = _Return.get_Cell(i, "MESSAGE_V1").ToString(); _Budget.END_AMT = _Return.get_Cell(i, "PARAMETER").ToString(); _Budget.COMMIT_AMT = _Return.get_Cell(i, "ROW").ToString(); } } else { throw new Exception("登入SAP失敗"); } //conn.Logoff(); _SapConn.ConnLogoff(); } catch (Exception ex) { logger.Error(ex); } }