UDF失败

2020-08-22 10:17发布

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

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


专家们,

我有一个运行良好的UDF,为此我添加了一个新参数(Var3),但某种程度上它不起作用。 您能帮我解决问题吗?

我刚刚添加了一个新的Argument(var3),这是UDF的第三个输入,我需要检查其是否等于50以及现有条件。

现有代码:

int标志= 0;

for(int i = 0; i {
if(var1 [i] .equals(" XRA "))
{flag = 1;
break;}
}
if(flag == 1)
for(int j = 0; j {
var2 [j] = var2 [j] .substring(0,9)+" 0" + var2 [j] .substring(10,var2 [j] .length());
结果 .addValue(var2 [j]);
//result.addValue( ResultList.CC ) ;
}
else
for(int k = 0; k {result.addValue(var2 [k]);
//result.addValue( ResultList.CC );
}

新代码:

int标志= 0;

for(int i = 0; i {
if(var1 [i] .equals(" ZRE1 ") &&!var3 [i] .equals(" 50")
{flag = 1;
break;}
}
if(flag == 1 )
for(int j = 0; j {
var2 [j] = var2 [j] .substring(0,9)+" 0" + var2 [j ] .substring(10,var2 [j] .length());
result.addValue(var2 [j]);
//result.addValue( ResultList.CC );
}
else
for(int k = 0; k {result.addValue(var2 [k]);
//result.addValue( ResultList.CC );
}

/*我什至尝试过

if(var1 [i] .equals(" ZRE1") && var3 [i]!=(" 50")),它没有用。 是因为for循环是对Var1完成的吗?

请帮助。

致谢

史密斯。

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

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


专家们,

我有一个运行良好的UDF,为此我添加了一个新参数(Var3),但某种程度上它不起作用。 您能帮我解决问题吗?

我刚刚添加了一个新的Argument(var3),这是UDF的第三个输入,我需要检查其是否等于50以及现有条件。

现有代码:

int标志= 0;

for(int i = 0; i {
if(var1 [i] .equals(" XRA "))
{flag = 1;
break;}
}
if(flag == 1)
for(int j = 0; j {
var2 [j] = var2 [j] .substring(0,9)+" 0" + var2 [j] .substring(10,var2 [j] .length());
结果 .addValue(var2 [j]);
//result.addValue( ResultList.CC ) ;
}
else
for(int k = 0; k {result.addValue(var2 [k]);
//result.addValue( ResultList.CC );
}

新代码:

int标志= 0;

for(int i = 0; i {
if(var1 [i] .equals(" ZRE1 ") &&!var3 [i] .equals(" 50")
{flag = 1;
break;}
}
if(flag == 1 )
for(int j = 0; j {
var2 [j] = var2 [j] .substring(0,9)+" 0" + var2 [j ] .substring(10,var2 [j] .length());
result.addValue(var2 [j]);
//result.addValue( ResultList.CC );
}
else
for(int k = 0; k {result.addValue(var2 [k]);
//result.addValue( ResultList.CC );
}

/*我什至尝试过

if(var1 [i] .equals(" ZRE1") && var3 [i]!=(" 50")),它没有用。 是因为for循环是对Var1完成的吗?

请帮助。

致谢

史密斯。

付费偷看设置
发送
10条回答
愤怒的猪头君
1楼 · 2020-08-22 10:34.采纳回答

嗨,史密斯,

只有当您保证数组var3与var1的条目数相同时,您的代码才能按预期工作。 在for循环中,您已根据var1中存在的内容通过i对其进行了绑定,但是var1和var3是独立的数组。 您需要确保数组长度始终匹配。

此致

Ryan Crosby

绿领巾童鞋
2楼-- · 2020-08-22 10:31

嗨,

错误为" om.sap.aii.utilxi.misc.api.BaseRuntimeException:异常:[java.lang.ArrayIndexOutOfBoundsException:尝试从长度为1的对象数组的索引3加载时,从第四参数加载 com.sap类中的方法"。

我已附加在入站队列中。PFA。

谢谢

Smith capture1.png

吹牛啤
3楼-- · 2020-08-22 10:50

嗨!

第三队列中的值是在不同的上下文中? 将队列的值发送到UDF之前,请使用RemoveContext。

关于此,Evgeniy。

吹牛啤
4楼-- · 2020-08-22 10:33

,另一个观察结果是

如果加上";" 直到最后,它才适用于该条件,而不适用于其他条件。

if(var1 [i] .equals(" ZRE1")&&!var3 [i] .trim()。equals(" 1015"));

,如果我删除";" 然后使用

if(var1 [i] .equals(" ZRE1")&&!var3 [i] .trim()。equals(" 1015"))

然后只有" Else"条件起作用,并且主条件再次失败并出现错误

om.sap.aii.utilxi.misc.api.BaseRuntimeException:异常:[java.lang.ArrayIndexOutOfBoundsException:尝试从长度为1的对象数组的索引3加载时,从方法的第四参数加载] 在com.sap类中。

在我的新病情中出了点问题,您能在这里帮我吗?

致谢

史密斯

一周热门 更多>