public IHttpActionResult UpdateItem(Authorizations authorizations) { //Inicializo mi conexión a SAP SAPConnection conncetion = new SAPConnection(); SAPbobsCOM.Company company = conncetion.OpenConnection(); SAPbobsCOM.CompanyService oCompanyService = company.GetCompanyService(); SAPbobsCOM.ApprovalRequestsService approvalSrv = oCompanyService.GetBusinessService(SAPbobsCOM.ServiceTypes.ApprovalRequestsService); ApprovalRequestParams oParams = approvalSrv.GetDataInterface(ApprovalRequestsServiceDataInterfaces.arsApprovalRequestParams) as ApprovalRequestParams; oParams.Code = authorizations.WddCode; ApprovalRequest oData = approvalSrv.GetApprovalRequest(oParams); //Agregar una autorización oData.ApprovalRequestDecisions.Add(); oData.ApprovalRequestDecisions.Item(0).ApproverUserName = "******"; oData.ApprovalRequestDecisions.Item(0).ApproverPassword = "******"; oData.ApprovalRequestDecisions.Item(0).Status = BoApprovalRequestDecisionEnum.ardApproved; oData.ApprovalRequestDecisions.Item(0).Remarks = authorizations.Remarks; //Actualizar la autorización approvalSrv.UpdateRequest(oData); return(Ok(responseCall)); }
public IHttpActionResult UpdateItems([FromBody] Authorizations authorizations) { //Inicializo mi conexión a SAP SAPConnection conncetion = new SAPConnection(); SAPbobsCOM.Company company = conncetion.OpenConnection(authorizations.dbname, authorizations.userSap, authorizations.userSapPass); SAPbobsCOM.CompanyService oCompanyService = company.GetCompanyService(); SAPbobsCOM.ApprovalRequestsService approvalSrv = oCompanyService.GetBusinessService(SAPbobsCOM.ServiceTypes.ApprovalRequestsService); ApprovalRequestParams oParams = approvalSrv.GetDataInterface(ApprovalRequestsServiceDataInterfaces.arsApprovalRequestParams) as ApprovalRequestParams; oParams.Code = authorizations.WddCode; ApprovalRequest oData = approvalSrv.GetApprovalRequest(oParams); //Agregar una autorización oData.ApprovalRequestDecisions.Add(); oData.ApprovalRequestDecisions.Item(0).ApproverUserName = authorizations.userSap; oData.ApprovalRequestDecisions.Item(0).ApproverPassword = authorizations.userSapPass; //Autorizar if (authorizations.Status == "Y") { oData.ApprovalRequestDecisions.Item(0).Status = BoApprovalRequestDecisionEnum.ardApproved; } else if (authorizations.Status == "N") { oData.ApprovalRequestDecisions.Item(0).Status = BoApprovalRequestDecisionEnum.ardNotApproved; } oData.ApprovalRequestDecisions.Item(0).Remarks = authorizations.Remarks; //Actualizar la autorización approvalSrv.UpdateRequest(oData); return(Ok(authorizations)); }
public IHttpActionResult CreateItem(ItemDetails itemDetails) { //Inicializo mi conexión a SAP SAPConnection conncetion = new SAPConnection(); SAPbobsCOM.Company company = conncetion.OpenConnection(); SAPbobsCOM.Items oItems; oItems = company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oItems); oItems.ItemCode = itemDetails.ItemCode; oItems.ItemName = itemDetails.ItemName; int status = oItems.Add(); //Compruebo si el guardado se ha realizado correctamente if (status == 0) { responseCall.RespCode = "00"; responseCall.Description = "Guardado correctamente"; } else { responseCall.RespCode = "99"; responseCall.Description = company.GetLastErrorDescription().ToString(); } return(Ok(responseCall)); }
/// <summary> /// Create a new business partner /// </summary> /// <param name="sap">SAP connection</param> /// <param name="docDate">Document date</param> /// <param name="cardCode">Card name</param> /// <param name="items">Sales order items</param> /// <returns>Retrieve new object key</returns> public int Create( SAPConnection sap, DateTime docDate, string cardCode, List <Dictionary <string, string> > items ) { IDocuments document = sap.Company.GetBusinessObject(BoObjectTypes.oOrders); document.DocDate = docDate; document.DocDueDate = DateTime.Now; document.CardCode = cardCode; for (int i = 0; i < items.Count; i++) { Dictionary <string, string> current = items[i]; document.Lines.ItemCode = current["ItemCode"]; document.Lines.Quantity = double.Parse(current["Quantity"]); document.Lines.UnitPrice = double.Parse(current["Price"]); if (i < items.Count - 1) { document.Lines.Add(); } } sap.CheckResponse(document.Add()); return(int.Parse(sap.Company.GetNewObjectKey())); }
private List <HandHeldCounterHold> SAPHandHeldCounterHoldGetLocation(string productCode, string sapProductCode, string warehouseCode, string branchCode) { List <HandHeldCounterHold> products = new List <HandHeldCounterHold>(); //Zdd_Get_Material_Master using (var sapConnection = new SAPConnection(GlobalContext.SapDestination)) { using (var proxy = new SAPProxy.UWProxy()) { proxy.Connection = sapConnection; SAPProxy.ZSTRC_MATERIAL_MASTER e_mat_strc = new SAPProxy.ZSTRC_MATERIAL_MASTER(); SAPProxy.MEANTable tb_barcode = new SAPProxy.MEANTable(); SAPProxy.ZMM_ASSIGNLOCTable assign_loc = new SAPProxy.ZMM_ASSIGNLOCTable(); SAPProxy.MARDTable mard = new SAPProxy.MARDTable(); SAPProxy.MARATable mara = new SAPProxy.MARATable(); SAPProxy.MARMTable marm = new SAPProxy.MARMTable(); SAPProxy.MLGTTable mlgt = new SAPProxy.MLGTTable(); proxy.Zdd_Get_Material_Master(sapProductCode , out e_mat_strc , ref tb_barcode , ref assign_loc , ref mard , ref mara , ref marm , ref mlgt); assign_loc.SortBy("BIN_CODE", "ASC"); //string lastLocation = string.Empty; foreach (SAPProxy.ZMM_ASSIGNLOC item in assign_loc) { if (item.Storage_Loc == warehouseCode) //&& lastLocation != item.Bin_Code) { //item.Unitofmeasure //lastLocation = item.Bin_Code; //var product = ProductLocationGetByProductCode(productCode, warehouseCode, branchCode); var product = ProductInfoGet(branchCode, productCode, item.Unitofmeasure); if (product != null) { products.Add(new HandHeldCounterHold { Productcode = product.ProductCode, Productname = product.ProductName, Location = item.Bin_Code, Unitcode = product.Uom, Unitname = product.UomName, Quantity = 0 }); } } } } } return(products); }
/// <summary> /// Transação 05 - Aumenta do valor de um item /// </summary> private void Trans05() { var transacoes = TransGenericDAO.GetDadosSL(transType); foreach (var transacao in transacoes) { var Inventory = SAPConnection.GetDocument(SAPConnection.DocsEnum.OIGN); // HEADER Inventory.DocDate = transacao.DocDate; Inventory.TaxDate = transacao.TaxDate; Inventory.BPL_IDAssignedToInvoice = transacao.BplId; // LINES foreach (var line in transacao.Lines) { Inventory.Lines.ItemCode = line.ItemCode; Inventory.Lines.Quantity = line.Quantity; Inventory.Lines.WarehouseCode = line.WhsCode; Inventory.Lines.UserFields.Fields.Item("U_Lot").Value = line.UserFields["U_Lot"]; Inventory.Lines.UserFields.Fields.Item("U_Quality").Value = line.UserFields["U_Quality"]; using (var rs = new MyRecordSet()) { rs.DoQuery(Properties.Querys.CustoItem_2, line.ItemCode, line.WhsCode); if (rs.HasNext()) { Inventory.Lines.Price = rs.GetFieldValue(0).ToDouble(); } else { Inventory.Lines.Price = 0; } } Inventory.Lines.Add(); } //FOOTER Inventory.Comments = String.Format("ID {0} - Transação {1}. {2}", transacao.MyValues["Id"].ToInt(), (int)transType, transacao.Comments); int res = Inventory.Add(); if (res != 0) { principal.GravaAudit(this.GetType().Name.ToString() + SAPConnection.DI.GetLastErrorDescription().ToString()); TransGenericDAO.UpdateStatus(transacao, 'E', SAPConnection.DI.GetLastErrorDescription()); } else { transacao.DocNum = int.Parse(MyLibs.v2.sbo.SAPConnection.DI.GetNewObjectKey()); TransGenericDAO.UpdateStatus(transacao); } } transacoes.Clear(); transacoes = null; }
/// <summary> /// Create a new item /// </summary> /// <param name="sap">SAP connection</param> /// <param name="code">Item code</param> /// <param name="name">Item name</param> /// <returns>Retrieve new object key</returns> public string Create(SAPConnection sap, string code, string name) { IItems partner = sap.Company.GetBusinessObject(BoObjectTypes.oItems); partner.ItemCode = code; partner.ItemName = name; sap.CheckResponse(partner.Add()); return(sap.Company.GetNewObjectKey()); }
/// <summary> /// Cria saída de Produtos acabados. /// </summary> /// <param name="t08"></param> private void NewOIGE(T08Entity t08) { try { var Inventory = SAPConnection.GetDocument(SAPConnection.DocsEnum.OIGE); // HEADER Inventory.DocDate = t08.OWOR_PostDate; //Inventory.TaxDate = tn08.OWOR_PostDate; Inventory.BPL_IDAssignedToInvoice = 1; //Inventory.Lines.Price = 10; Inventory.Lines.ItemCode = "";// tn08.OITM_ItemCode; Inventory.Lines.Quantity = t08.IGN1_Quantity; Inventory.Lines.WarehouseCode = t08.OWOR_WareHouse; //Inventory.Lines.UserFields.Fields.Item("U_Lot").Value = t08.IGN1_U_Lot; Inventory.Lines.BaseEntry = t08.OWOR_DocNum; Inventory.Lines.BaseType = (int)SAPConnection.DocsEnum.OWOR; Inventory.Lines.Add(); //FOOTER Inventory.Comments = t08.OWOR_Remarks; int res = Inventory.Add(); if (res != 0) { t08.MSG_SAP = SAPConnection.DI.GetLastErrorDescription(); t08.ReadBySAP = 'E'; T08DAO.UpdateStatus(t08); principal.GravaAudit(SAPConnection.DI.GetLastErrorDescription().ToString()); } else { var docnum = SAPConnection.DI.GetNewObjectKey(); if (int.Parse(docnum) == 0) // Estava dando erro ao recuperar o DocEntry { t08.OIGE_DocNum = int.Parse(docnum); } else { t08.OIGE_DocNum = 999999; // Somente para verificar se houver falha. } t08.ReadBySAP = 'Y'; t08.MSG_SAP = "SUCESSO - Saída do produto efetuada."; T08NegDAO.UpdateStatus(t08); } } catch (Exception ex) { principal.GravaAudit("Transação " + t08.TransType.ToString() + " " + ex.Message.ToString()); } }
/// <summary> /// Delete SAP record if exist /// </summary> /// <param name="sap">SAP connection</param> /// <param name="key">Key to delete</param> /// <returns></returns> public bool Delete(SAPConnection sap, string key) { IBusinessPartners partner = sap.Company.GetBusinessObject(BoObjectTypes.oBusinessPartners); if (partner.GetByKey(key)) { sap.CheckResponse(partner.Remove()); return(true); } return(false); }
/// <summary> /// Delete SAP record if exist /// </summary> /// <param name="sap">SAP connection</param> /// <param name="docEntry">Doc entry to delete</param> /// <returns></returns> public bool Delete(SAPConnection sap, int docEntry) { IDocuments document = sap.Company.GetBusinessObject(BoObjectTypes.oOrders); if (document.GetByKey(docEntry)) { sap.CheckResponse(document.Cancel()); return(true); } return(false); }
/// <summary> /// Delete SAP record if exist /// </summary> /// <param name="sap">SAP connection</param> /// <param name="key">Key to delete</param> /// <returns></returns> public bool Delete(SAPConnection sap, int key) { IEmployeesInfo partner = sap.Company.GetBusinessObject(BoObjectTypes.oEmployeesInfo); if (partner.GetByKey(key)) { sap.CheckResponse(partner.Remove()); return(true); } return(false); }
private static void ConectarComSAP() { try { SAPConnection.GetDICompany(); } catch (Exception e) { System.Windows.Forms.MessageBox.Show(e.Message); System.Windows.Forms.Application.Exit(); } }
/// <summary> /// Cria saída dos insumos. /// </summary> /// <param name="t38"></param> private void newOIGE(T38Entity t38) { try { var Inventory = SAPConnection.GetDocument(SAPConnection.DocsEnum.OIGE); // HEADER // TODO - Saída do insumo, a data é a do dia. Inventory.DocDate = t38.AddDate; //Inventory.TaxDate = t08.OWOR_PostDate; Inventory.BPL_IDAssignedToInvoice = 1; //Inventory.Lines.Price = 10; Inventory.Lines.ItemCode = "";// t08.OITM_ItemCode; Inventory.Lines.Quantity = t38.IGE1_Quantity; //Inventory.Lines.WarehouseCode = t38.OWOR_WareHouse; //Inventory.Lines.UserFields.Fields.Item("U_Lot").Value = t38.IGN1_U_Lot; Inventory.Lines.BaseEntry = t38.OWOR_DocNum; Inventory.Lines.BaseType = (int)SAPConnection.DocsEnum.OWOR; Inventory.Lines.BaseLine = linenum; //t38.JOMAR_LineNum; principal.GravaAudit("Docnum " + t38.OWOR_DocNum.ToString()); principal.GravaAudit("Linha" + linenum.ToString()); Inventory.Lines.Add(); //FOOTER Inventory.Comments = String.Format("ID {0} - Transação {1}.", t38.Id, t38.TransactionType); int res = Inventory.Add(); if (res != 0) { t38.MSG_SAP = SAPConnection.DI.GetLastErrorDescription(); t38.ReadBySAP = 'E'; T38DAO.UpdateStatus(t38); principal.GravaAudit("Docnum: " + t38.OWOR_DocNum.ToString() + " Transtype: " + SAPConnection.DocsEnum.OWOR.ToString() + " Linha: " + t38.JOMAR_LineNum.ToString() + SAPConnection.DI.GetLastErrorDescription().ToString()); } else { t38.ReadBySAP = 'Y'; var docnum = SAPConnection.DI.GetNewObjectKey(); t38.OIGE_DocNum = int.Parse(docnum); t38.MSG_SAP = "SUCESSO - Entrada de produto acabado inserido."; T38DAO.UpdateStatus(t38); } } catch (Exception ex) { principal.GravaAudit("Transação " + t38.TransactionType.ToString() + " " + ex.Message.ToString()); } }
/// <summary> /// Cria Pedido de Vendo com item genérico. /// </summary> /// <param name="t32"></param> private void NewORDR(T32Entity t32) { if (!MyQuery.Exist("OITM", Properties.Settings.Default.ItemCodeDefault, "ItemCode")) { return; } var oORDR = SAPConnection.GetDocument(SAPConnection.DocsEnum.ORDR); oORDR.CardCode = t32.JOMAR_CardCode; oORDR.NumAtCard = t32.ORDR_NumAtCard; oORDR.BPL_IDAssignedToInvoice = t32.ORDR_BplId; oORDR.Series = -1; oORDR.HandWritten = BoYesNoEnum.tYES; oORDR.DocNum = t32.JOMAR_OrderNum; oORDR.Reference1 = t32.JOMAR_OrderNum.ToString(); oORDR.DocDate = t32.ORDR_DocDate < (new DateTime(2016, 1, 1)) ? (new DateTime(2016, 1, 1)) : t32.ORDR_DocDate; oORDR.DocDueDate = DateTime.Now; oORDR.TaxDate = t32.ORDR_TaxDate < (new DateTime(2016, 1, 1)) ? (new DateTime(2016, 1, 1)) : t32.ORDR_TaxDate; oORDR.Lines.ItemCode = Properties.Settings.Default.ItemCodeDefault; oORDR.Lines.Quantity = 1; oORDR.Lines.Price = 0; oORDR.Lines.WarehouseCode = "EM"; oORDR.Lines.Add(); oORDR.SalesPersonCode = t32.JOMAR_OIM; if (oORDR.Add() != 0) { t32.MSG_SAP = SAPConnection.DI.GetLastErrorDescription(); t32.ReadBySAP = 'E'; t32.ORDR_DocEntry = MyQuery.GetValue("ORDR", t32.JOMAR_OrderNum, "DocNum", "DocEntry").ToInt(); t32.ReadBySAP = t32.ORDR_DocEntry > 0 ? 'Y' : 'E'; T32DAO.UpdateStatus(t32); if (SAPConnection.DI.InTransaction) { SAPConnection.DI.EndTransaction(BoWfTransOpt.wf_RollBack); } } else { t32.ORDR_DocEntry = SAPConnection.GetNewKey(); t32.ReadBySAP = 'Y'; t32.MSG_SAP = "SUCESSO - Pedido de Venda criado."; T32DAO.UpdateStatus(t32); } }
/// <summary> /// Cria nova Entrada de Produtos acabados. /// </summary> /// <param name="t08"></param> private void NewOIGN(T08Entity t08) { try { var Inventory = SAPConnection.GetDocument(SAPConnection.DocsEnum.OIGN); // HEADER Inventory.DocDate = t08.OWOR_PostDate; //Inventory.TaxDate = tn08.OWOR_PostDate; Inventory.BPL_IDAssignedToInvoice = 1; //Inventory.Lines.Price = 10; //Inventory.Lines.ItemCode = tn08.OITM_ItemCode; Inventory.Lines.Quantity = t08.IGN1_Quantity; principal.GravaAudit(t08.IGN1_WhsCode); principal.GravaAudit(t08.OWOR_DocNum.ToString()); Inventory.Lines.WarehouseCode = t08.IGN1_WhsCode; Inventory.Lines.UserFields.Fields.Item("U_Lot").Value = t08.IGN1_U_Lot; Inventory.Lines.BaseEntry = t08.OWOR_DocNum; Inventory.Lines.BaseType = (int)SAPConnection.DocsEnum.OWOR; Inventory.Lines.Add(); //FOOTER Inventory.Comments = t08.OIGN_Comments; int res = Inventory.Add(); if (res != 0) { t08.MSG_SAP = SAPConnection.DI.GetLastErrorDescription(); t08.ReadBySAP = 'E'; principal.GravaAudit(t08.MSG_SAP); T08DAO.UpdateStatus(t08); principal.GravaAudit(SAPConnection.DI.GetLastErrorDescription().ToString()); } else { var docnum = SAPConnection.DI.GetNewObjectKey(); t08.OIGN_DocNum = int.Parse(docnum); t08.ReadBySAP = 'Y'; t08.MSG_SAP = "SUCESSO - Entrada de produto acabado inserido."; principal.GravaAudit(t08.MSG_SAP); T08DAO.UpdateStatus(t08); } } catch (Exception ex) { principal.GravaAudit("Transação " + t08.TransType.ToString() + " " + ex.Message); } }
/// <summary> /// Synchornize all connectors /// </summary> /// <param name="lastDownload">Last downloads times</param> /// <param name="lastUpload">Last upload times</param> /// <param name="commitTime">Commit times</param> public virtual void Sync(Dictionary <string, long> lastDownload, Dictionary <string, long> lastUpload, long commitTime) { if (Connectors.Count > 0 && lastDownload != null && lastUpload != null) { // Creating database connection using (DBConnection db = new DBConnection()) { bool fetched = false; foreach (KeyValuePair <string, IRestConnector> connector in Connectors) { // Upload to API if (connector.Value is IUpload upload) { long last = 0; if (lastUpload.ContainsKey(connector.Key)) { last = lastUpload[connector.Key]; } upload.Upload(db, last, commitTime); } // Download from API if (connector.Value is IDownload download) { long last = 0; if (lastDownload.ContainsKey(connector.Key)) { last = lastDownload[connector.Key]; } download.Download(last); } fetched |= connector.Value.Fetched; } // Store in SAP (Openning SAP is highly cost, so open just when required) if (fetched) { using (SAPConnection sap = new SAPConnection()) { foreach (KeyValuePair <string, IRestConnector> connector in Connectors) { if (connector.Value.Fetched) { connector.Value.SapStore(sap, db, commitTime); } } } } } } }
/// <summary> /// Create a new business partner /// </summary> /// <param name="sap">SAP connection</param> /// <param name="firstName">First name</param> /// <param name="lastName">Last name</param> /// <param name="active">Employee activation</param> /// <returns>Retrieve new object key</returns> public int Create( SAPConnection sap, string firstName, string lastName, bool active) { IEmployeesInfo partner = sap.Company.GetBusinessObject(BoObjectTypes.oEmployeesInfo); partner.FirstName = firstName; partner.LastName = lastName; partner.Active = active ? BoYesNoEnum.tYES : BoYesNoEnum.tNO; sap.CheckResponse(partner.Add()); return(int.Parse(sap.Company.GetNewObjectKey())); }
public void ShouldCreateBusinessPartner() { using (SAPConnection sap = new SAPConnection()) using (DBConnection db = new DBConnection()) { Handler.Delete(sap, "SF01"); string key = Handler.Create(sap, "SF01", "Awesome product"); Assert.AreEqual("SF01", key); Dictionary <string, string> record = Handler.LoadByKey(db, "SF01"); AssertItem(record, "SF01", "Awesome product"); Assert.IsTrue(Handler.Delete(sap, "SF01")); } }
/// <summary> /// Registra o documento no SBO. /// </summary> /// <param name="oPedido">Entidade</param> /// <exception cref="SAPException">Retorno o erro do SAP em log</exception> public void Add(MyLibs.v2.sbo.DI.Documents.Entity.DocumentsEntity oPedido) { var oDocument = SAPConnection.GetDocument(Table); // Header oDocument.CardCode = oPedido.CardCode; oDocument.CardName = oPedido.CardName; oDocument.NumAtCard = oPedido.NumAtCard; oDocument.DocDate = oPedido.DocDate; oDocument.DocDueDate = oPedido.DocDueDate; oDocument.TaxDate = oPedido.TaxDate; oDocument.Series = oPedido.Series; if (SAPConnection.IsMultiBranchs()) { oDocument.BPL_IDAssignedToInvoice = oPedido.BplId; } // Lines foreach (var line in oPedido.Lines) { oDocument.Lines.ItemCode = line.ItemCode; oDocument.Lines.Quantity = line.Quantity; oDocument.Lines.DiscountPercent = line.DiscPrcnt; if (line.LineNum >= 0) { oDocument.Lines.BaseLine = line.LineNum; oDocument.Lines.BaseType = (int)oPedido.ObjType; oDocument.Lines.BaseEntry = oPedido.DocNum; } oDocument.Lines.Add(); } // Footer oDocument.DiscountPercent = oPedido.DiscPrcnt; oDocument.Comments = oPedido.Comments; if (oDocument.Add() != 0) { throw new MyLibs.v2.sbo.Register.SAPException(this.GetType(), "0 - Erro ao adicionar um PV"); } else { oPedido.DocNum = SAPConnection.GetNewKey(); } }
/// <summary> /// Desmontagem - Entrada dos insumos. /// </summary> /// <param name="t38"></param> private void NewOIGN(T38Entity t38) { try { var Inventory = SAPConnection.GetDocument(SAPConnection.DocsEnum.OIGN); // HEADER // TODO - Entrada do insumo, a data é a do dia. Inventory.DocDate = t38.AddDate; //Inventory.TaxDate = t08.OWOR_PostDate; Inventory.BPL_IDAssignedToInvoice = 1; //Inventory.Lines.Price = 10; Inventory.Lines.ItemCode = "";// t08.OITM_ItemCode; Inventory.Lines.Quantity = t38.IGE1_Quantity; //Inventory.Lines.WarehouseCode = t38.OWOR_WareHouse; //Inventory.Lines.UserFields.Fields.Item("U_Lot").Value = t38.IGN1_U_Lot; Inventory.Lines.BaseEntry = t38.OWOR_DocNum; Inventory.Lines.BaseType = (int)SAPConnection.DocsEnum.OWOR; Inventory.Lines.BaseLine = t38.WOR1_LineNum; Inventory.Lines.Add(); //FOOTER Inventory.Comments = String.Format("ID {0} - Transação {1}.", t38.Id, t38.TransactionType); int res = Inventory.Add(); if (res != 0) { t38.MSG_SAP = SAPConnection.DI.GetLastErrorDescription(); t38.ReadBySAP = 'E'; T38DAO.UpdateStatus(t38); principal.GravaAudit(this.GetType().ToString() + " " + ROBO.Properties.LogMessage.ERRO_003_4.ToString() + " " + t38.TransactionType.ToString() + " " + t38.Id.ToString() + " " + SAPConnection.DI.GetLastErrorDescription().ToString()); } else { var docnum = SAPConnection.DI.GetNewObjectKey(); t38.OIGE_DocNum = int.Parse(docnum); t38.MSG_SAP = "SUCESSO - Desmontagem e extorno do insumo."; T38DAO.UpdateStatus(t38); } } catch (Exception ex) { principal.GravaAudit("Transação " + t38.TransactionType.ToString() + " " + ex.Message.ToString()); } }
/// <summary> /// Create a new business partner /// </summary> /// <param name="sap">SAP connection</param> /// <param name="cardCode">Card code</param> /// <param name="cardName">Card name</param> /// <param name="cardType">Card type</param> /// <param name="licTradeNumber">Lic trade number</param> /// <returns>Retrieve new object key</returns> public string Create( SAPConnection sap, string cardCode, string cardName, string licTradeNumber, BoCardTypes cardType) { IBusinessPartners partner = sap.Company.GetBusinessObject(BoObjectTypes.oBusinessPartners); partner.CardCode = cardCode; partner.CardName = cardName; partner.CardType = cardType; partner.FederalTaxID = licTradeNumber; sap.CheckResponse(partner.Add()); return(sap.Company.GetNewObjectKey()); }
public IHttpActionResult CreateDocument(createDocs createdocs) { //Inicializo mi conexión a SAP SAPConnection conncetion = new SAPConnection(); SAPbobsCOM.Company company = conncetion.OpenConnection(); SAPbobsCOM.Documents draft; draft = company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts); draft.GetByKey(createdocs.DocEntry); draft.Comments = createdocs.Comments; draft.EDocStatus = (EDocStatusEnum)BoBoeStatus.boes_Created; //draft.DocumentStatus = BoStatus.bost_Close; draft.Update(); return(Ok(responseCall)); }
public void ShouldCreateBusinessPartner() { using (SAPConnection sap = new SAPConnection()) using (DBConnection db = new DBConnection()) { Handler.Delete(sap, "SF01"); string key = Handler.Create(sap, "SF01", "Silifalcon", "SILF160106PP", SAPbobsCOM.BoCardTypes.cCustomer); Assert.AreEqual("SF01", key); Dictionary <string, string> record = Handler.LoadByCode(db, "SF01"); AssertBusinessPartner(record, "SF01", "Silifalcon", "SILF160106PP", "C"); Assert.IsTrue(Handler.Delete(sap, "SF01")); } }
/// <summary> /// Atualiza com novas linhas o pedido de venda /// </summary> /// <param name="t32"></param> private void NewLineORDR(T32Entity t32) { foreach (var line in t32.Lines) { var oORDR = SAPConnection.GetDocument(SAPConnection.DocsEnum.ORDR); if (oORDR.GetByKey(t32.ORDR_DocEntry)) { oORDR.Lines.Add(); line.RDR1_LineNum = oORDR.Lines.Count - 1; oORDR.Lines.SetCurrentLine(line.RDR1_LineNum); //////////////////////////////////// oORDR.Lines.ItemCode = line.OITM_ItemCode; oORDR.Lines.Quantity = line.RDR1_Quantity; //oODRF.Lines.Price = ; oORDR.Lines.WarehouseCode = line.RDR1_WhsCode; oORDR.Lines.UserFields.Fields.Item("U_PesoPeca").Value = line.JOMAR_Peso; oORDR.Lines.Add(); if (oORDR.Update() != 0) { line.ReadBySAP = 'E'; line.MSG_SAP = SAPConnection.DI.GetLastErrorDescription(); T32DAO.UpdateStatus(t32); principal.GravaAudit("Transação 32 " + line.MSG_SAP.ToString()); } else { line.ReadBySAP = 'Y'; line.ORDR_DocEntry = t32.ORDR_DocEntry; line.MSG_SAP = "SUCESSO - Linha cadastrada"; T32DAO.UpdateStatus(t32); } } else { line.ReadBySAP = 'E'; line.MSG_SAP = "Não foi localizado nenhum pedido de venda."; T32DAO.UpdateStatus(t32); } } }
/// <summary> /// Atualiza o pedido de venda. /// </summary> /// <param name="oPedido">DocEntry</param> /// <exception cref="SAPException">Retorno o erro do SAP em log</exception> public void Update(MyLibs.v2.sbo.DI.Documents.Entity.DocumentsEntity oDocEntity) { var oDocument = SAPConnection.GetDocument(Table); if (!oDocument.GetByKey(oDocEntity.DocNum)) { throw new LogException(this.GetType(), System.Diagnostics.EventLogEntryType.Error, Properties.LogMessage.Erro_0033_2, oDocEntity.DocNum, oDocEntity.MyValues["Id"].ToString()); } oDocument.DocDate = oDocEntity.DocDate; oDocument.TaxDate = oDocEntity.TaxDate; oDocument.SalesPersonCode = oDocEntity.Slpcode; oDocument.NumAtCard = oDocEntity.NumAtCard; oDocument.Comments = oDocEntity.Comments; //oDocument.ObjType = "" foreach (var line in oDocEntity.Lines) { oDocument.Lines.Add(); // @BFGUNDES - Atualiza somente linha aberta. if (oDocument.Lines.LineStatus == SAPbobsCOM.BoStatus.bost_Open) { oDocument.Lines.SetCurrentLine(line.LineNum); oDocument.Lines.ItemCode = line.ItemCode; oDocument.Lines.Quantity = line.Quantity; oDocument.Lines.Price = line.Price; } } if (oDocument.Update() != 0) { oDocEntity.MyValues["MSG_SAP"] = new ConvertTo(SAPConnection.DI.GetLastErrorDescription()); oDocEntity.MyValues["ReadBySAP"] = new ConvertTo("E"); foreach (var line in oDocEntity.Lines) { line.MyValues["ReadBySAP"] = new ConvertTo("E"); } principal.GravaAudit(this.GetType().Name.ToString() + " 0 - Não foi possivel atualizar pedido de venda nº " + oDocEntity.DocNum.ToString()); } }
private static void ConectarComSAP() { SAPConnection.SBOApplicationHandler applicationHandler = null; applicationHandler += Dialogs.RecebeSBOApplication; applicationHandler += Menu.RecebeSBOApplication; applicationHandler += applicationParam => _sBOApplication = applicationParam; SAPConnection.CompanyHandler companyHandler = null; companyHandler += companyParam => _company = companyParam; companyHandler += Database.RecebeCompany; try { SAPConnection.Connect(applicationHandler, companyHandler); } catch (Exception e) { System.Windows.Forms.MessageBox.Show(e.Message); System.Windows.Forms.Application.Exit(); } }
private void GetQueryDefinition() { try { WorkSpace area = checkStandard.Checked == true ? WorkSpace.StandardArea : WorkSpace.GlobalArea; SAPConnection con = new SAPConnection(systemName); q = con.CreateQuery(area, userGroup, queryName, variant); // parameterCollection = new QuerySelectionParameterCollection(); parameterCollection = q.SelectionParameters; dgvParameters.Rows.Clear(); DataGridViewComboBoxColumn col = (DataGridViewComboBoxColumn)dgvParameters.Columns["CSELNAME"]; col.DataSource = null; col.DataSource = parameterCollection; col.DisplayMember = "DescriptionText"; q = null; } catch (Exception e) { MessageBox.Show(e.Message); } }
public IHttpActionResult AutorizacionesMasivas([FromBody] AuthorizationsM authorizationsm) { //return Ok (authorizationsm.WddCode[1]); //Inicializo mi conexión a SAP SAPConnection conncetion = new SAPConnection(); SAPbobsCOM.Company company = conncetion.OpenConnection(authorizationsm.dbname, authorizationsm.userSap, authorizationsm.userSapPass); SAPbobsCOM.CompanyService oCompanyService = company.GetCompanyService(); SAPbobsCOM.ApprovalRequestsService approvalSrv = oCompanyService.GetBusinessService(SAPbobsCOM.ServiceTypes.ApprovalRequestsService); ApprovalRequestParams oParams = approvalSrv.GetDataInterface(ApprovalRequestsServiceDataInterfaces.arsApprovalRequestParams) as ApprovalRequestParams; for (int i = 0; i < authorizationsm.WddCode.Length; i++) { oParams.Code = authorizationsm.WddCode[i]; ApprovalRequest oData = approvalSrv.GetApprovalRequest(oParams); //Agregar una autorización oData.ApprovalRequestDecisions.Add(); oData.ApprovalRequestDecisions.Item(0).ApproverUserName = authorizationsm.userSap; oData.ApprovalRequestDecisions.Item(0).ApproverPassword = authorizationsm.userSapPass; //Autorizar if (authorizationsm.Status == "Y") { oData.ApprovalRequestDecisions.Item(0).Status = BoApprovalRequestDecisionEnum.ardApproved; } else if (authorizationsm.Status == "N") { oData.ApprovalRequestDecisions.Item(0).Status = BoApprovalRequestDecisionEnum.ardNotApproved; } oData.ApprovalRequestDecisions.Item(0).Remarks = authorizationsm.Remarks; //Actualizar la autorización approvalSrv.UpdateRequest(oData); } return(Ok(responseCall)); //return Json(new { status = "error", message = "error creating customer" }); }
/// <summary> /// Store SAP data based on fetched data /// </summary> /// <param name="sap">SAP connection</param> /// <param name="db">Database connection</param> /// <param name="commitTime">Commit time (Unix time)</param> public void SapStore(SAPConnection sap, DBConnection db, long commitTime) { if (!DataFetched.Empty && this is ISyncDownload <TRest> downloader) { logger.Debug("Storing data"); List <TRest> changed = new List <TRest>(); if (DataFetched.NewRecords.Count > 0) { foreach (TRest i in DataFetched.NewRecords) { TRest model = downloader.Create(db, sap, i); if (model != null) { changed.Add(model); } } } if (DataFetched.ExistingRecords.Count > 0) { foreach (TRest i in DataFetched.ExistingRecords) { TRest model = downloader.Update(db, sap, i); if (model != null) { changed.Add(model); } } } if (changed.Count > 0) { downloader.CommitFetch(commitTime); if (this is ISyncUpload <TRest> uploader) { logger.Info("Updating changes"); uploader.Push(changed); } } } }
public GetSapData() { #region 获取SAP连接 try { Dest = SAPConnection.GetSAPConnection(); RFC = Dest.Repository; Client = System.Configuration.ConfigurationManager.AppSettings["Client"]; } catch (Exception ex) { if (ex.Message != "Destination configuration already initialized") { } else { Dest = RfcDestinationManager.GetDestination("SAP"); RFC = Dest.Repository; } } #endregion }