(ODBC-2028)添加采购订单时出现错误

2020-09-19 12:10发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试通过DI API添加采购订单。 我的代码可以在我的计算机上运行,​​但是我尝试将其作为另一家拥有不同数据的公司的插件。 并给出错误:"未找到匹配的记录(ODBC-2028)"。 这是我的代码的一部分:

 public void createPOrderFor(int id,
                                     字符串itemCode,
                                     字符串itemName,
                                     数量,
                                     int satisSip,
                                     字符串cardCode,
                                     字符串cardName,
                                     字符串releaseDate)
         {
             SAPbobsCOM.Documents BO_item;
             BO_item =(SAPbobsCOM.Documents)getCompany()。GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders);
             base.doConnectionInfo();
             服务器= base.server;
             数据库= base.database;
             用户= base.user;
             通过= base.pass;

             字符串年份= releaseDate.Substring(0,4);
             字符串月份= releaseDate.Substring(4,2);
             字符串日期= releaseDate.Substring(6,2);
             releaseDate =年+"-" +月+"-" +天;

             BO_item.Lines.ItemCode = itemCode;
             BO_item.Lines.ItemDescription = itemName;
             BO_item.Lines.Quantity =数量;
             BO_item.Lines.ShipDate = DateTime.Parse(releaseDate);
             BO_item.Lines.UserFields.Fields.Item(" U_SatisSip")。Value = satisSip;
             BO_item.Lines.Add();
             BO_item.Comments = satisSip +"numaralısatışsiparişineistinaden";
             BO_item.CardCode = cardCode;
             BO_item.CardName = cardName;
             BO_item.NumAtCard ="";
             BO_item.Series = 13;//birincil
            //BO_item.Segment-只读。
             BO_item.TaxDate = DateTime.Now;
             BO_item.DocDate = DateTime.Now;
             BO_item.DocDueDate = DateTime.Parse(releaseDate);
             BO_item.SalesPersonCode = 4;//默认为HakanYılmaz
             BO_item.DocumentsOwner = 4;
             BO_item.DiscountPercent = 0.0;
             BO_item.Address2 =" TURKEY";
             BO_item.Address ="";
             BO_item.TransportationCode = 1;
             BO_item.AgentCode = null;
             BO_item.JournalMemo ="Satınalmasiparişleri-" + cardCode;
             BO_item.GroupNumber = 1;//net30
             BO_item.PaymentMethod = null;
             BO_item.Project = null;
             BO_item.UserFields.Fields.Item(" U_SatSip")。Value = satisSip;
             var retVal = BO_item.Add();
             int errorCode = 0;
             字符串errMsg ="";
             如果(retVal!= 0)
             {
                 getCompany()。GetLastError(out errorCode,errMsg);
                 SAPbouiCOM.Framework.Application.SBO_Application.StatusBar.SetText(" Error:" + errMsg,SAPbouiCOM.BoMessageTime.bmt_Long,SAPbouiCOM.BoStatusBarMessageType.smt_Error);
             }
 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试通过DI API添加采购订单。 我的代码可以在我的计算机上运行,​​但是我尝试将其作为另一家拥有不同数据的公司的插件。 并给出错误:"未找到匹配的记录(ODBC-2028)"。 这是我的代码的一部分:

 public void createPOrderFor(int id,
                                     字符串itemCode,
                                     字符串itemName,
                                     数量,
                                     int satisSip,
                                     字符串cardCode,
                                     字符串cardName,
                                     字符串releaseDate)
         {
             SAPbobsCOM.Documents BO_item;
             BO_item =(SAPbobsCOM.Documents)getCompany()。GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders);
             base.doConnectionInfo();
             服务器= base.server;
             数据库= base.database;
             用户= base.user;
             通过= base.pass;

             字符串年份= releaseDate.Substring(0,4);
             字符串月份= releaseDate.Substring(4,2);
             字符串日期= releaseDate.Substring(6,2);
             releaseDate =年+"-" +月+"-" +天;

             BO_item.Lines.ItemCode = itemCode;
             BO_item.Lines.ItemDescription = itemName;
             BO_item.Lines.Quantity =数量;
             BO_item.Lines.ShipDate = DateTime.Parse(releaseDate);
             BO_item.Lines.UserFields.Fields.Item(" U_SatisSip")。Value = satisSip;
             BO_item.Lines.Add();
             BO_item.Comments = satisSip +"numaralısatışsiparişineistinaden";
             BO_item.CardCode = cardCode;
             BO_item.CardName = cardName;
             BO_item.NumAtCard ="";
             BO_item.Series = 13;//birincil
            //BO_item.Segment-只读。
             BO_item.TaxDate = DateTime.Now;
             BO_item.DocDate = DateTime.Now;
             BO_item.DocDueDate = DateTime.Parse(releaseDate);
             BO_item.SalesPersonCode = 4;//默认为HakanYılmaz
             BO_item.DocumentsOwner = 4;
             BO_item.DiscountPercent = 0.0;
             BO_item.Address2 =" TURKEY";
             BO_item.Address ="";
             BO_item.TransportationCode = 1;
             BO_item.AgentCode = null;
             BO_item.JournalMemo ="Satınalmasiparişleri-" + cardCode;
             BO_item.GroupNumber = 1;//net30
             BO_item.PaymentMethod = null;
             BO_item.Project = null;
             BO_item.UserFields.Fields.Item(" U_SatSip")。Value = satisSip;
             var retVal = BO_item.Add();
             int errorCode = 0;
             字符串errMsg ="";
             如果(retVal!= 0)
             {
                 getCompany()。GetLastError(out errorCode,errMsg);
                 SAPbouiCOM.Framework.Application.SBO_Application.StatusBar.SetText(" Error:" + errMsg,SAPbouiCOM.BoMessageTime.bmt_Long,SAPbouiCOM.BoStatusBarMessageType.smt_Error);
             }
 
付费偷看设置
发送
2条回答
暮风yp
1楼 · 2020-09-19 12:14.采纳回答

嗨,

该错误消息表明在一个数据库中确定了默认值,而在另一个数据库中则未确定。 请检查以下内容:

 ...
             BO_item.Lines.ItemCode = itemCode; //给定的ItemCode是否在两个数据库中都存在?
 ...
             BO_item.Lines.UserFields.Fields.Item(" U_SatisSip")。Value = satisSip; //给定的udf是否在两个数据库中都存在?
 ...
             BO_item.CardCode = cardCode; //给定的CardCode是否在两个数据库中都存在?
 ...
             BO_item.Series = 13;//birincil//给定的系列在两个数据库中都存在吗?
 ...
             BO_item.SalesPersonCode = 4;//默认HakanYılmaz//Hakan在两个数据库中是否具有相同的销售人员代码?
             BO_item.DocumentsOwner = 4; //Hakan在两个数据库中是否具有相同的文档所有者代码?
 ...
             BO_item.TransportationCode = 1; //给定的运输代码是否在两个数据库中都存在?
 ...
             BO_item.GroupNumber = 1;//net30//两个数据库中是否存在给定的组号?
             BO_item.UserFields.Fields.Item(" U_SatSip")。Value = satisSip; //给定的udf是否在两个数据库中都存在?

此致

Johan

骆驼绵羊
2楼-- · 2020-09-19 12:28

嗨,Johan,

感谢您的答复。

我对SalesPersonCode,TransportationCode和DocumentsOwner进行了更改,并且代码现在可以正常工作。

致谢

一周热门 更多>