C#调用SAP BAPI(BAPI_NETWORK_GETDETAIL)

dqzhi 2021-07-01 15:20:49

 我现在用C#调用BAPI_NETWORK_GETDETAIL这个的时候,总是报错,说bapi中的一个字段不能转换“FIELD SCHED_FIN_TIME of STRUCTURE BAPI_ORDER_HEADER1 (SETTER): cannot convert String into TIME”
这个怎么办啊

 

 

parms.Add(RfcConfigParameters.SystemID, "00");
                // Set actual System ID          
                parms.Add(RfcConfigParameters.SystemNumber, "00");
                // Set actual System Number      
                parms.Add(RfcConfigParameters.User, "3MS");
                parms.Add(RfcConfigParameters.Password, "320");   
                parms.Add(RfcConfigParameters.Client, "800"); // Set actual client ID      
                parms.Add(RfcConfigParameters.Language, "ZH");       
                parms.Add(RfcConfigParameters.PoolSize, "5");      
                parms.Add(RfcConfigParameters.MaxPoolSize, "10");   
                parms.Add(RfcConfigParameters.IdleTimeout, "60");             
                parms.Add(RfcConfigParameters.AppServerHost, "192.168.10.116");            
                parms.Add(RfcConfigParameters.Name, "dev");
                parms.Add(RfcConfigParameters.LogonGroup, "BYDPRD");
              
                RfcDestination prd = RfcDestinationManager.GetDestination(parms);         
                //使用RfcDestination对象的repository属性创建一个IRfcFunction对象为fm提供调用        
                RfcRepository SapRfcRepository = prd.Repository;     
        


                    
                IRfcFunction function = SapRfcRepository.CreateFunction("BAPI_PRODORD_GET_DETAIL");    
                IRfcStructure stru = function.GetStructure("ORDER_OBJECTS");      
                IRfcTable pTable = null;         
                IRfcTable mTable = null;            
                //stru.SetValue("COMPONENTS", "1");       

                stru.SetValue("HEADER", "X");
               // stru.SetValue("POSITIONS", "X");
                //stru.SetValue("SEQUENCES", "X");
                //stru.SetValue("OPERATIONS", "X");
                //stru.SetValue("PROD_REL_TOOLS", "X");
               mTable = function.GetTable("HEADER");
               // mTable = function.GetTable("HEADER");
                string OrderNums = "4503994777";
                OrderNums = OrderNums.PadLeft(12, '0');
                function.SetValue("NUMBER", OrderNums);//ORDER_NUMBER   
                function.Invoke(prd);        

//报错,

 

    
               // IRfcStructure Return = function.GetStructure("RETURN");
                IRfcTable mTable222 = null; 
                if (mTable.RowCount > 0)
                {
                    for (int j = 0; j < mTable.RowCount; j++)
                    {

                    }

                }

...全文
545 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
老夏 2021-07-01
  • 打赏
  • 举报
回复

24点不就是0点吗,试试 240000 改成 000000

dqzhi 2021-07-01
  • 打赏
  • 举报
回复

SAP.Middleware.Connector.RfcTypeConversionException: FIELD SCHED_FIN_TIME of STRUCTURE BAPI_ORDER_HEADER1 (SETTER): cannot convert String into TIME ---> SAP.Middleware.Connector.RfcTypeConversionException: Cannot convert 240000 into TIME (HHmmss) ---> System.FormatException: 日历 System.Globalization.GregorianCalendar 中不支持该字符串所表示的 DateTime。

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧