点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我想知道在创建报告并将C...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我想知道在创建报告并将C...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我想知道在创建报告并将CL_SALV用于输出和各种用户命令时使用MVC/封装的最正确方法是什么?
我刚刚创建了一个包含两个本地类的报告;
模型返回一个包含大量数据的表,然后将其传递到报表中的
希望这不是很清楚-我将尝试通过简化的代码示例进行说明
报告测试。 包括lcl_model。 包括lcl_view。 数据:gt_data类型lcl_model => mty_t_data。 实例化 data(go_model)=新的lcl_model()。 data(go_view)=新的lcl_view()。 "获取数据 gt_data = go_model-> get_data() "查看数据 go_view-> output(更改ct_data = gt_data)。 ============================================ 别的地方... ============================================ 方法on_user_command。 *不要在这里知道GT_DATA 将gt_data [行]分配给field-sybol()。 "行来自u-comm *此处不知道GO_MODEL-重构或实例化新的本地对象吗? go_model-> change_something(更改is_data = )。 终结法。
在MVC中,控制器具有视图的实例和模型的实例。 该模型处理与应用程序有关的所有事情,而与向最终用户的演示无关。 它具有所有业务逻辑。 该视图是您的SALV实例。 剩下的就是控制器,它负责处理模型和视图之间的交互。 那就是您的事件处理程序去的地方。
在报告中,我有一个主班。 我可能还有另一个用于处理选择屏幕交互的类,或者它可能是main的一部分。 我通常允许主类直接访问报表全局变量(例如参数),但是永远不能访问模型。 有时,对于简单的报表,主类充当控制器的角色。 控制器实例化CL_SALV_TABLE,并且是发生事件的正确位置。
在我看来,您的问题是您正在尝试直接在报表中创建报表程序。 那实际上是行不通的,因为您不能直接在其中添加方法。 您需要控制器类。
一周热门 更多>