所以,我已经读过使用内部表增加了程序的性能,我们应该尽可能少地对DB表进行操作.但我已经开始研究一个根本不使用内部表的项目.一些细节:它是一种扫描仪,可以在商店中添加或删除商品.首先检查主键(以查看该类型的产品是否存在),然后添加或删除产品.我们使用'Insert Into'和'Delete From'直接从DB表中添加/删除产品.我没有问为什么他们不使用内部表,因为到目前为止我没有更好的解决方案.以下是我到目前为止:将所有产品插入内部表中,将已删除的产品放在另一个内部表中.
Form update.
Modify zop_db_table from table gt_table." – to add all new products
LOOP AT gt_deleted INTO gs_deleted.
DELETE FROM zop_db_table WHERE index_nr = gs_deleted-index_nr.
ENDLOOP. " – to delete products
Endform.
Run Code Online (Sandbox Code Playgroud)
但是我什么时候可以执行此更新?我可以设置一个"保存按钮"来执行更新,但之后会有用户忘记保存大量数据,或者丢弃扫描仪,关闭扫描仪或类似情况的风险.所以这显然不是一个好的解决方案.我的最后一个问题是:在这样的项目中是否有(好的)方法来实现内部表?
我只有一步后台工作.我想调试那个工作,所以我JDBG在SM37事务中使用了' '命令.
当我这样做时,作业再次运行,更新数据库表.
那么,在这种情况下,使用断点调试后台作业SM37和运行程序有什么区别?(SY-BATCH系统变量除外,在这种情况下不相关)
我想在生产系统中调试后台作业,但使用该JDBG方法似乎没有帮助.