Java用户定义函数库(UFL)-如何在Eclipse中调试它

2020-09-11 04:06发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)这是我第一次与UFL合作,坦率地...

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

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


这是我第一次与UFL合作,坦率地说,我对此并不了解。 我选择了一个处理条形码的Java库,并尝试更改其内容。 在示例版本中,只有条形码,而我需要实现其他类型的条形码。 由于在导入Eclipse的反编译库中,没有Main方法可以调试内容并查看任何错误。 从操作上讲,我该如何在Eclipse中执行代码,而不是每次导出jar文件并将其替换到包含原始jar的文件夹中。

我正在尝试使用两个参数来解决Crystal Report函数,UFL示例仅显示具有一个参数的方法。 我试图以这种方式更改示例类:

import com.crystaldecisions.reports.common.CrystalResourcesFactory;
import com.crystaldecisions.reports.common.value.FormulaValue;
import com.crystaldecisions.reports.common.value.FormulaValueType;
import com.crystaldecisions.reports.common.value.StringValue;
导入com.crystaldecisions.reports.formulas.FormulaFunction;
导入com.crystaldecisions.reports.formulas.FormulaFunctionArgumentDefinition;
导入com.crystaldecisions.reports。 Formulas.FormulaFunctionCallException;
导入com.crystaldecisions.reports.formulas.FormulaValueReference;
导入com.crystaldecisions.reports.formulas.SimpleFormulaFunctionArgumentDefinition;

公共抽象类CodeEAN13Base
实现FormulaFunction
{
FormulaFunctionArgumentDefinition [] myArguments = {SimpleFormulaFunctionArgumentDefinition.string};
受保护的CrystalResourcesFactory resCrystal;

公共CodeEAN13Base()
{
this.resCrystal = new CrystalResourcesFactory(" 邮件"); }

受保护的最终字符串doTranslation(String inputData,String opz)
//受保护的最终字符串doTranslation(String inputData)
{
字符串returnVal ="";
< br> returnVal = returnVal + translateCharWrapper(inputData,opz);
//returnVal = returnVal + translationCharWrapper(inputData);



return returnVal;
}

public 最终的FormulaValue评估(FormulaValueReference []参数)
引发FormulaFunctionCallException
{
StringValue dataStringArg =(StringValue)arguments [0] .getFormulaValue();
StringValue opzArg =(StringValue)arguments [1]。 getFormulaValue();

字符串dataString = dataStringArg.getString();
字符串opz = opzArg.getString();
字符串returnVal = doTranslation(dataString,opz);
//字符串 returnVal = doTranslation(dataString);

return StringValue.fromString(returnVal);
}

public final FormulaFunctionArgumentDefinition [] getArguments()
{
返回this.myArguments ;
}

国际泳联 l FormulaValueType getReturnType()
{
return FormulaValueType.string;
}

受保护的抽象字符串translateChar(String inputData,String opz)
引发InvalidBarcodeDataException;

//受保护的抽象字符串translateChar(String inputData)
//抛出InvalidBarcodeDataException;

私有字符串translateCharWrapper(String inputData,String opz)
//私有字符串translateCharWrapper(String inputData)
{
字符串returnString;

尝试
{
returnString = translateChar(inputData,opz);
//returnString = translateChar(inputData);
}捕获(InvalidBarcodeDataException e) {
returnString ="";
}

return returnString;
}

public void validateArgumentValues(FormulaValueReference []参数)
引发FormulaFunctionCallException
{ }
}

在Eclipse的设计器中,我得到了Formulas函数的错误。 消息错误是关于:"

该功能与条形码13的重载类型不匹配。

有人可以帮助我吗? 因为我不知道如何解决。

我还将对这个论点有很多其他问题。 如果有人使用Crystal Report sdk for Eclipse开发并想分享一些建议,将不胜感激

预先感谢

1条回答
SAP浪
2020-09-11 04:52

有人可以帮助我吗? 我在公式中运行带有两个参数的条形码报告时收到错误消息,但我不知道其原因。 消息为:"函数调用与{0}的任何重载都不匹配。"

一周热门 更多>