原始系统问题SE03 Original System

有部分程序的原始系统记录为DE1,这类程序修改会提示用repair的方式进行修改,可以先把对象目录里的原始系统改成DEV

 

SE03->更改对象目录条目

 

原始系统问题原始系统改为DEv

 

如何确认 现在系统是什么

 

批量更改的话可以更改表  tadir SET srcsystem = itab-srcsystem

 

 

 

REPORT  z_barry_change_srcsystem.
TYPE-POOLS: slis.
DATA: gd_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: sla TYPE slis_layout_alv ,
      ivariant LIKE disvariant,
      i_repid LIKE sy-repid .
DATA: BEGIN OF itab OCCURS 0 ,
        pgmid     LIKE tadir-pgmid ,
        object    LIKE tadir-object ,
        obj_name  LIKE tadir-obj_name ,
        srcsystem LIKE tadir-srcsystem ,
      END OF itab.
SELECT-OPTIONS: s_pgmid FOR itab-pgmid ,
                s_object FOR itab-object ,
                s_objnam FOR itab-obj_name OBLIGATORY .
START-OF-SELECTION.
  PERFORM getdata.
  PERFORM display.
*&---------------------------------------------------------------------*
*&      Form  getdata
*&---------------------------------------------------------------------*
FORM getdata.
  SELECT pgmid object obj_name srcsystem
    FROM tadir INTO CORRESPONDING FIELDS OF TABLE itab
    WHERE pgmid    IN s_pgmid  AND
          object   IN s_object AND
          obj_name IN s_objnam .
ENDFORM.                    "getdata
*&---------------------------------------------------------------------*
*&      Form  display
*&---------------------------------------------------------------------*
FORM display.
  sla-colwidth_optimize = 'X'.
  sla-zebra             = 'X'.
  i_repid = sy-repid.
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      i_program_name         = i_repid
      i_internal_tabname     = 'ITAB'
      i_inclname             = i_repid
    CHANGING
      ct_fieldcat            = gd_fieldcat[]
    EXCEPTIONS
      inconsistent_interface = 1
      program_error          = 2
      OTHERS                 = 3.
  LOOP AT gd_fieldcat .
    IF gd_fieldcat-fieldname = 'SRCSYSTEM'.
      gd_fieldcat-edit = 'X'.
    ENDIF.
    MODIFY gd_fieldcat.
  ENDLOOP.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program      = i_repid
      it_fieldcat             = gd_fieldcat[]
      i_save                  = 'A'
      is_variant              = ivariant
      is_layout               = sla
      i_callback_user_command = 'USER_COMMAND'
    TABLES
      t_outtab                = itab
    EXCEPTIONS
      program_error           = 1
      OTHERS                  = 2.
ENDFORM.                    "display
*&---------------------------------------------------------------------*
*&      Form  user_command
*&---------------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm
                    rs_selfield TYPE slis_selfield.
  DATA: lr_grid TYPE REF TO cl_gui_alv_grid.
  READ TABLE itab INDEX rs_selfield-tabindex.
  CASE r_ucomm.
    WHEN '&DATA_SAVE'.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          e_grid = lr_grid.
      CALL METHOD lr_grid->check_changed_data.
      rs_selfield-row_stable = 'X'.
      rs_selfield-col_stable = 'X'.
      rs_selfield-refresh    = 'X'.
      LOOP AT itab.
        UPDATE tadir SET srcsystem = itab-srcsystem
        WHERE pgmid   = itab-pgmid AND
              object  = itab-object AND
              obj_name = itab-obj_name .
      ENDLOOP.
  ENDCASE.
ENDFORM.                    "user_command
 

  

 

posted on 2019-02-20 17:40  TorranceZhao  阅读(483)  评论(0)    收藏  举报

导航