Перейти к содержанию

ABAP/BC/Массовое изменение пакета разработки для группы объектов

Материал из Викиучебника — открытых книг для открытого мира
*&---------------------------------------------------------------------*
*& Report  ZBC_CHANGE_DEVCLASS
*&
*&---------------------------------------------------------------------*
*& Название разработки: Перемещение объектов разработок в другой пакет *
*& Разработчики: Югов А.                                               *
*&                                                                     *
*& Описание: Данная разработка полезна когда нет возможности           *
*& премеестить из одного пакета в другой - не отображается в SE80      *
*&---------------------------------------------------------------------*

REPORT  zbc_change_devclass.

DATA gs_tadir TYPE tadir.
DATA gt_tadir TYPE TABLE OF tadir.

SELECT-OPTIONS so_pgmid FOR gs_tadir-pgmid.
SELECT-OPTIONS so_objct FOR gs_tadir-object.
SELECT-OPTIONS so_objnm FOR gs_tadir-obj_name.
SELECT-OPTIONS so_devcl FOR gs_tadir-devclass.

PARAMETERS p_targcl LIKE gs_tadir-devclass.

SELECT * FROM tadir
  INTO TABLE gt_tadir
  WHERE pgmid     IN so_pgmid
    AND object    IN so_objct
    AND obj_name  IN so_objnm
    AND devclass  IN so_devcl.

LOOP AT gt_tadir INTO gs_tadir.
  UPDATE tadir
    SET devclass = p_targcl
    WHERE pgmid    EQ gs_tadir-pgmid
      AND object   EQ gs_tadir-object
      AND obj_name EQ gs_tadir-obj_name
      AND devclass EQ gs_tadir-devclass.
ENDLOOP.

IF sy-subrc EQ 0 AND gt_tadir IS NOT INITIAL.
  COMMIT WORK AND WAIT.
ELSE.
  ROLLBACK WORK.
ENDIF.