RPG中%THIS内置函数调用Java方法遇RNX0301错误求助
解决RPG中%THIS调用Java带自身参数方法的问题
问题根源
你遇到的RNX0301错误,本质是RPG调用vacationDays(employee)时,传入的参数和Java方法public int vacationDays(Employee);的期望不匹配——该方法需要接收当前绑定到native方法的Employee实例,而你传入的employee变量没有正确关联到当前native方法的上下文。
解决方案
直接用%THIS作为参数传入vacationDays方法,替换原来的employee变量:
RTNNR = vacationDays(%THIS);
原理说明
%THIS是RPG专门为native方法提供的内置函数,作用是获取当前native方法所绑定的Java对象实例。- 你的Java方法
vacationDays(Employee)需要的正是当前Employee实例作为参数,用%THIS传入后,方法签名完全匹配,就能解决NoSuchMethodError问题,且无需修改Java类。
内容的提问来源于stack exchange,提问作者baphomet
相关产品推荐
相关产品推荐

