2020-08-16 10:31发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 有时可以为循环中的所... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
有时可以为循环中的所有记录触发BADI方法内部编写的select语句,这可能会影响性能。 您能否分享在这种情况下避免相同选择的最佳方法?
例如-使用类的静态属性以及在哪里使用它?
您好 Meera K
首先检查表本身是否未缓冲。 如果是这样,那么在BADI中进行缓冲就没有多大意义。
稍后,如果表不是缓冲,那么使用静态内部表进行简单缓冲将是一种方法。 首先检查内部表,看看是否有给定条件的记录,仅在没有条件的情况下才读取DB,将读取的记录保存到内部表中以备后用。
对于更复杂的解决方案,可以使用 Singleton模式。 您可以创建一个缓冲对象的Singleton实现,该对象可以存储读取的记录并允许从逻辑中的不同位置访问它们(这部分与上一段相同)。
最多设置5个标签!
您好 Meera K
首先检查表本身是否未缓冲。 如果是这样,那么在BADI中进行缓冲就没有多大意义。
稍后,如果表不是缓冲,那么使用静态内部表进行简单缓冲将是一种方法。 首先检查内部表,看看是否有给定条件的记录,仅在没有条件的情况下才读取DB,将读取的记录保存到内部表中以备后用。
对于更复杂的解决方案,可以使用 Singleton模式。 您可以创建一个缓冲对象的Singleton实现,该对象可以存储读取的记录并允许从逻辑中的不同位置访问它们(这部分与上一段相同)。
亲切的问候,Mateusz
一周热门 更多>