点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的人们,这使我发疯,有人可以...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的人们,这使我发疯,有人可以...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
亲爱的人们,这使我发疯,有人可以启发我。
我有此代码
定义
类方法:validate_data导入t_data类型对数据的引用。
实施
METHOD验证。 类型:type_ztabname ztabname的类型表。 FIELD-SYMBOLS:TYPE type_ztabname。 ASSIGN t_data-> *至 。 *然后它使用 -fieldname,因为字段符号已完全键入 *验证 ENDMETHOD。
这是一类具有很多方法的类(就像他们要验证的每个表一样)
与从Asbtract类继承后,我想对其进行更改并使其更好地为每个表创建子类,在Asbtract类中,我将表名传递给构造函数,并且在每种方法中,我都可以处理数据而不必再次重复表
问题在于,如果不在同一范围内定义类型,则无法找到在方法中具有完全类型
FIELD-SYMBOLS:TYPE(我-> table_type)。 " me-> table_type ='ZTABNAME'
有没有办法做到这一点?
谢谢
我不同意此转换会使它变得更好。这取决于上下文。 实际上,第一个解决方案是规范的ABAP。
第二种解决方案在函数式语言(如javascript)中更容易,您可以将 first class function 传递给 validate 方法。 在ABAP OO中,我建议使用接口(策略模式)而不是建议的子类(模板模式)。 它将变得很冗长,因为您需要进行客观化(为创建一个类) 并至少使用工厂方法 注入对象)而不是使用动态数据引用。
我的2美分
JNN
一周热门 更多>