标准程序更新
SAPRSEUB 更新所用处清单
第一次运行需要很长时间(甚至以天计算),一般上线后在开发机定时运行,如果第一次运行,慎用。
WBCROSSGT为所用处清单记录表
Z程序更新
限定范围,减少资源消耗(将SAPRSEUB封装为Z程序使用)
* PLEASE RUN THIS PROGRAM IN BACKGROUND!
* The program will rebuild programs which belong to either:
* - the entered software component and program names
* - or the entered packages and program names
* - or the entered programs only
* If none of them are entered, nothing happens
REPORT z_saprseui.
DATA g_dummyso_devc TYPE devclass.
DATA g_dummyso_prog TYPE progname_2.
* software component
PARAMETERS pa_dlvun TYPE dlvunit.
* package
SELECT-OPTIONS so_devc FOR g_dummyso_devc.
* program
SELECT-OPTIONS so_prog FOR g_dummyso_prog.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_prog-low.
START-OF-SELECTION.
PERFORM main.
*
FORM main.
DATA lt_tdevc TYPE TABLE OF tdevc.
DATA ls_tdevc TYPE tdevc.
DATA lt_tadir TYPE TABLE OF tadir.
DATA ls_tadir TYPE tadir.
DATA l_repid TYPE rsnewleng-programm.
DATA lt_repid TYPE TABLE OF rsnewleng-programm.
IF NOT pa_dlvun IS INITIAL.
SELECT * FROM tdevc
INTO TABLE lt_tdevc
WHERE dlvunit = pa_dlvun
AND devclass IN so_devc.
ELSEIF so_devc[] IS NOT INITIAL.
SELECT * FROM tdevc
INTO TABLE lt_tdevc
WHERE devclass IN so_devc.
ELSEIF so_prog[] IS NOT INITIAL.
SELECT name FROM trdir INTO TABLE lt_repid WHERE name IN so_prog.
ENDIF.
* Pour chaque package, reconstruction des Object List de tous
* ses programmes
LOOP AT lt_tdevc INTO ls_tdevc.
SELECT * FROM tadir INTO TABLE lt_tadir
WHERE pgmid = 'R3TR'
AND object IN ('FUGR','FUGS','FUGX','PROG','TYPE','CLAS','INTF','LDBA','CNTX')
AND devclass = ls_tdevc-devclass.
LOOP AT lt_tadir INTO ls_tadir.
CALL FUNCTION 'RS_TADIR_TO_PROGNAME'
EXPORTING
object = ls_tadir-object
obj_name = ls_tadir-obj_name
IMPORTING
progname = l_repid.
IF l_repid IS NOT INITIAL AND l_repid IN so_prog.
APPEND l_repid TO lt_repid.
ENDIF.
ENDLOOP.
ENDLOOP.
LOOP AT lt_repid INTO l_repid.
SUBMIT saprseui
WITH repname = l_repid
AND RETURN.
COMMIT WORK.
ENDLOOP.
ENDFORM. "main
菜单路径更新
在代码对象页面选择菜单如下路径可以更新当前程序中使用对象的所用处清单
关联job
EU_INIT:
EU_INIT 用于完全重建索引,因此运行时间相应较长。它启动程序 SAPRSEUI。分析所有客户定义的程序(根据命名约定选择)并创建索引,这些索引在 ABAP 工作台中用于功能模块、错误消息、报告等的使用位置列表。这些索引在对话模式下自动更新。
该作业终止后,自动安排在第二天;然后它从终止点开始。(因此,如果 EU_INIT 干扰了系统中的其他活动,则可以终止它。另见注释 759407。)
EU_REORG:
如上所述,索引由 ABAP Workbench 工具自动在线更新。为了尽可能降低更新这些索引的工作量,只记录更改,这意味着需要不时重组每个程序的整个索引。为了使这次重组不会干扰在线系统,EU_REORG 作业每晚运行并执行此任务。如果 EU_REORG 作业没有运行一晚,这仅仅意味着重组更频繁地在线进行。
EU_PUT:
EU_PUT 作业也每晚运行。它启动程序 SAPRSEUT。该程序检查客户定义的开发对象是否已通过 SAP 传输系统传输到 SAP 系统中,并在需要时生成或更新上述索引。
https://mp.csdn.net/mp_blog/creation/editor/125590232