点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 情况:需要扩展具有特定视...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 情况:需要扩展具有特定视...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
情况:需要扩展具有特定视图的物料,例如工厂,仓库,销售组织等。由于数据量非常大,因此决定在后台任务中开始扩展过程。
但是,在后台任务中运行fm之后,我看到SM50中有许多DIA进程。 他们占用了所有免费的流程,这对系统造成了很大的压力...
有人可以解释为什么会这样吗?
为什么要创建DIA进程而不是BTS?
是否可以将BAPI_MATERIAL_SAVEDATA的DIA进程包装到一个BTC进程中?
主程序如下:
lt_matnr处的循环分配字段符号()。 如果lines(lt_id)= c_counter。 做。 循环在lt_id处分配字段符号( )。 数据(lv_tabix)= sy-tabix。 调用函数" STATUS_OF_BACKGROUNDTASK" 出口 tid = -tid 桌子 errortab = lt_errtab 例外情况 通讯= 1 记录= 2 回滚= 3 其他= 4。 如果sy-subrc = 0。 数据(lv_exit)= abap_true。 删除lt_id索引lv_tabix。 出口。 其他。 lv_exit = abap_false。 万一。 结束循环。 如果lv_exit = abap_true。 出口。 万一。 恩多。 万一。 lv_taskname = 。 调用函数" Z_ASSIGN_PROC" 在后台任务 出口 iv_matnr = it_werks = s_werks [] it_lgnum = s_lgnum [] 例外情况 communication_failure = 1 resource_failure = 2 system_failure = 3 其他= 4。 调用函数" ID_OF_BACKGROUNDTASK" 输入 tid = ls_tid fnum = lv_fnum。 附加值#( tid = ls_tid fnum = lv_fnum )到lt_id。 "开始'Z_ASSIGN_PROC' 提交工作。 结束循环。
FM Z_ASSIGN_PROC喜欢:
lt_t001w处的循环分配字段符号()。 "填充bapi的结构 调用函数" BAPI_MATERIAL_SAVEDATA" ... 如果sy-subrc = 0。 调用函数" BAPI_TRANSACTION_COMMIT" 出口 等待= abap_true。 万一。 在lt_warehouse循环,分配field-symbol( ),其中werks eq -werks。 "填充bapi的结构 调用函数" BAPI_MATERIAL_SAVEDATA" ... 如果sy-subrc = 0。 调用函数" BAPI_TRANSACTION_COMMIT" 出口 等待= abap_true。 万一。 结束循环。 结束循环。
后台任务表示事务RFC(tRFC)。
所有RFC仅在DIA工作流程中运行。
不,它不能在BTC工作流程中运行。
p>
有一些配置文件参数可调整可分配给RFC任务的DIA工作流程的最大数量。 您应该向管理员询问一些建议,以减轻系统压力。
一周热门 更多>