将值传递给UDF字段

2020-08-13 19:03发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我是SAP SDK的初学...

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

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


你好

我是SAP SDK的初学者,我似乎找不到在Goods Issue中将值传递给UDF的方法。

UDF字段:U_CardCode'OIGE'

任何帮助将不胜感激。

如果(pVal.EventType == SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST)
                 {
                     IChooseFromListEvent oCFLEvento = null;
                     oCFLEvento =(((IChooseFromListEvent)(pVal));
                     字符串sCFL_ID = null;
                     sCFL_ID = oCFLEvento.ChooseFromListUID;
                     形式oForm = null;
                     oForm = SAPbouiCOM.Framework.Application.SBO_Application.Forms.Item(FormUID);
                     SAPbouiCOM.ChooseFromList oCFL = null;
                     oCFL = oForm.ChooseFromLists.Item(sCFL_ID);
                     如果(oCFLEvento.BeforeAction == false)
                     {
                         SAPbouiCOM.DataTable oDataTable = null;
                         oDataTable = oCFLEvento.SelectedObjects;
                         字符串val = null;
                         字符串val1 = null;
                         尝试
                         {
                             val = Convert.ToString(oDataTable.GetValue(0,0));
                             val1 = Convert.ToString(oDataTable.GetValue(1,0));
                         }
                         抓住(例外)
                         {


                         }
                         如果((pVal.ItemUID ==" BPCode"))
                         {
                             oForm.DataSources.UserDataSources.Item(" UD_BPCode")。Value = val;
                             oForm.DataSources.UserDataSources.Item(" UD_BPName")。Value = val1; 在这里,我希望使用VAL设置字段。
                         }
                     }
                 }

 

(14.1 kB)
4条回答
callcenter油条
2020-08-13 19:45

你好 Ankit Chauhan

我按照您的指南对代码做了一些更改。

现在,当触发BP代码中的CFL事件时,我面临一般故障错误。

这是错误:

 Customer.exe在ZigZag发货中发生类型'System.Runtime.InteropServices.COMException'的异常,但未在用户代码中处理


 附加信息:常规故障

 

这是我的代码,添加几行之后:

 private void SBO_Application_ItemEvent(字符串FormUID,ref ItemEvent pVal,输出bool BubbleEvent)
         {
             BubbleEvent = true;
             Debug.WriteLine(" FormUID:" + pVal.FormTypeEx);
             如果(pVal.FormTypeEx ==" 720")
             {
                 如果(pVal.EventType == SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST)
                 {
                    
                     IChooseFromListEvent oCFLEvento = null;
                     oCFLEvento =(((IChooseFromListEvent)(pVal));
                     字符串sCFL_ID = null;
                     sCFL_ID = oCFLEvento.ChooseFromListUID;
                     形式oForm = null;
                     oForm = SAPbouiCOM.Framework.Application.SBO_Application.Forms.Item(FormUID);
                     形式oForm1 = null;
                     oForm1 = SAPbouiCOM.Framework.Application.SBO_Application.Forms.GetForm("-720",1);
                     this.oEdit =(SAPbouiCOM.EditText)oForm1.Items.Item(" U_CardCode")。Specific;
                     SAPbouiCOM.ChooseFromList oCFL = null;
                     oCFL = oForm.ChooseFromLists.Item(sCFL_ID);
                     如果(oCFLEvento.BeforeAction == false)
                     {
                         SAPbouiCOM.DataTable oDataTable = null;
                         oDataTable = oCFLEvento.SelectedObjects;
                         字符串val = null;
                         字符串val1 = null;
                         尝试
                         {
                             val = Convert.ToString(oDataTable.GetValue(0,0));
                             val1 = Convert.ToString(oDataTable.GetValue(1,0));
                         }
                         抓住(例外)
                         {


                         }
                         如果((pVal.ItemUID ==" BPCode"))
                         {
                             oForm.DataSources.UserDataSources.Item(" UD_BPCode")。Value = val;
                             oForm.DataSources.UserDataSources.Item(" UD_BPName")。Value = val1;
                             oEdit.Value =" TEST";
                         }
                     }
                 }
             }
         }
 

感谢您的关注。

解决此问题后,我将花点时间保持UDF表单打开。

更新:

还尝试添加catch异常,例如仍然没有将任何值传递给UDF。

尝试
                             {
                                 oEdit.Value = val;
                                 Debug.WriteLine(" TEXT:" + oEdit.Value);
                             }
                             抓住(例外)
                             {


                             }
 

一周热门 更多>