如何使用C#更新现有值UDF的有效值

2020-09-28 02:25发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 在我的用户定义文件 ...

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

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


大家好,

在我的用户定义文件" U_WID_Test"中,我已经创建了3个有效值,例如示例

  • 值说明
  • 1 A
  • 2 B
  • 3 C

现在。 我正在尝试更新第4个有效值,因为value为4,Description为D。

  • 4 D

在这种情况下,我用最后一个值更新了我的有效值,这意味着用3-D代替了3-C,但是实际上,我正在像下面那样照顾更新有效值O/P

  • 值说明
  • 1 A
  • 2 B
  • 3 C
  • 4 D

以下提到UDF创建和更新代码

 public void AddUdf(字符串表名,字符串udfname,字符串描述,BoFieldTypes fieldType,BoFldSubTypes子类型,整数大小,字典字典,字符串defaultvalue)
         {
             GC.Collect();
             var SboCompany = ServiceLocator.SboCompany;
             var udfs = new List ();
             var rs =(Recordset)SboCompany.GetBusinessObject(BoObjectTypes.BoRecordset);
             rs.DoQuery(string.Format(" SELECT FieldID,来自CUFD的AliasID,TableID ='{0}'或TableID ='@ {0}'",表名)));
             同时(!rs.EoF)
             {
                 udfs.Add(new Udf((int)rs.Fields.Item(" FieldId")。Value,(string)rs.Fields.Item(" AliasID")。Value)));
                 rs.MoveNext();
             }
             元帅.ReleaseComObject(rs);
             var sboUdf =(UserFieldsMD)SboCompany.GetBusinessObject(BoObjectTypes.oUserFields);
             var ud = udfs.SingleOrDefault(x => x.Name.Equals(udfname));
             如果(ud!= null)
             {
                 如果(!sboUdf.GetByKey(表名,ud.Id))
                 {
                     sboUdf.GetByKey(" @" +表名,ud.Id);
                 }
             }
             其他
             {
                 sboUdf.TableName =表名;
                 sboUdf.Name = udfname;
             }
             var vv = sboUdf.ValidValues;
             sboUdf.Description =摘录;
             sboUdf.EditSize = size;
             sboUdf.Type = fieldType;
             sboUdf.SubType = subType;
             如果(字典!=空)
             {
                 var valids = new List ();

                 对于(int i = 0; i             
4条回答
渐行渐远_HoldOn
2020-09-28 02:55

您好Chenna,

如果您的方案要求您以编程方式添加值,那么我认为必须定期添加和/或更新新值。

在这种情况下,您应该创建一个用户定义的表,并将该表链接到UDF。 现在,您可以简单地在用户定义表中添加,删除和更新记录。 您甚至不一定需要使用DI API。 它将使您的代码更简单,生活也更轻松。

此致

Johan

一周热门 更多>