REPORT ZDELUSER.
TABLES: USR01, USR02, *USR02, USR04, *USR04.
TABLES: USR03, USR05, USGRP, USR08, USR09, USR30.
TABLES: USR10, USR11, USR12, *USR10, *USR12, USR13, *USR13, USR16.
TABLES: USH04, USH10, USH12, USH02.
TABLES: UST04, UST10C, UST10S, UST12.
TABLES: USRBF.
PARAMETER UGRP LIKE USR03-CLASS.
DATA: BEGIN OF INTUSR02 OCCURS 200,
BNAME LIKE USR02-BNAME,
END OF INTUSR02.
DATA: CNTR TYPE P VALUE 0.
SELECT * FROM USR02 WHERE CLASS = UGRP.
INTUSR02-BNAME = USR02-BNAME.
APPEND INTUSR02.
ENDSELECT.
LOOP AT INTUSR02.
CALL FUNCTION 'DELETE_USER_ON_DB'
EXPORTING USER = INTUSR02-BNAME
EXCEPTIONS OTHERS = 1.
CNTR = CNTR + 1.
ENDLOOP.
WRITE : / 'Users deleted ', CNTR.
TABLES: USR01, USR02, *USR02, USR04, *USR04.
TABLES: USR03, USR05, USGRP, USR08, USR09, USR30.
TABLES: USR10, USR11, USR12, *USR10, *USR12, USR13, *USR13, USR16.
TABLES: USH04, USH10, USH12, USH02.
TABLES: UST04, UST10C, UST10S, UST12.
TABLES: USRBF.
PARAMETER UGRP LIKE USR03-CLASS.
DATA: BEGIN OF INTUSR02 OCCURS 200,
BNAME LIKE USR02-BNAME,
END OF INTUSR02.
DATA: CNTR TYPE P VALUE 0.
SELECT * FROM USR02 WHERE CLASS = UGRP.
INTUSR02-BNAME = USR02-BNAME.
APPEND INTUSR02.
ENDSELECT.
LOOP AT INTUSR02.
CALL FUNCTION 'DELETE_USER_ON_DB'
EXPORTING USER = INTUSR02-BNAME
EXCEPTIONS OTHERS = 1.
CNTR = CNTR + 1.
ENDLOOP.
WRITE : / 'Users deleted ', CNTR.
本文介绍了一种批量删除数据库中用户的脚本实现方法。通过定义一系列用户和参数,该脚本能够选择符合特定条件的用户记录,并逐一进行删除操作。在处理过程中,脚本会收集所有待删除用户的名称,调用专门的函数来执行删除操作,并记录被成功删除的用户数量。
3473

被折叠的 条评论
为什么被折叠?



