• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

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++)
                    {

                    }

                }

...全文
331 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
老夏 07-01

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

回复
dqzhi 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。

回复
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2021-07-01 15:20
社区公告

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