CE PLUS - Nota 011793

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Parâmetros

Data/Hora da Publicação: 19/12/2011 15:06:05

Data/Hora Última Alteração: 19/12/2011 15:06:05

Descrição da Nota: PARÂMETROS DE REPORTS EXCEL: LOG DE MODIFICAÇÕES

Sintoma

O programa de parâmetros de reports Excel ainda não possuía a funcionalidade de registro de

modificações.

 

 

Solução

O log de modificações foi incluído para as todas tabelas dos parâmetros, exceto a /PWS/ZYCRT012 e

/PWS/ZYCRT009, que por razões de ordem técnica, não podem ser registradas.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

TRILHA DE AUDITORIA

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 11793 Data: 19/12/2011 Hora: 10:19:25

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 11793

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 8.0

Pacote                   : 00010

Agrupamento              : 00098

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

11506  - 00001 - 8.0    - 00009  - TRILHA DE AUDITORIA

----------------------------------------------------------------------------------------------------

PARÂMETROS DE REPORTS EXCEL: LOG DE MODIFICAÇÕES

----------------------------------------------------------------------------------------------------

Palavras Chave:

PARÂMETROS DE REPORTS EXCEL LOG DE MODIFICAÇÕES AUDITORIA

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

CUAD /PWS/SAPMZYCR003

REPS /PWS/MZYCR003F02

REPS /PWS/MZYCR003F03

REPS /PWS/MZYCR003I01

REPS /PWS/MZYCR003TOP

REPS /PWS/SAPMZYCR003

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em CUAD /PWS/SAPMZYCR003

 

Modificar STATUS GUI 0001

 

1º) Criar nova tecla de função

Atalho: Ctrl-F12

Código: LOG_TRILHA

Texto de função (PT): Log de Modificação

Texto de função (ES): Registro de Modificación

Texto de função (EN): Modification Log

Nome de ícone: ICON_PHIO_CLASS

Texto informativo (PT): Log de Modificação

Texto informativo (ES): Registro de Modificación

Texto informativo (EN): Modification Log

 

2º) Adicionar uma linha de separação na barra de botões, posição 4

 

3º) Adicionar a tecla de função LOG_TRILHA na posição 5

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCR003F02

 

...

FORM set_screen_0001

     USING

        p_op_mode    TYPE t_operation_mode

        p_active_tab TYPE cxtab_tabstrip-activetab

     CHANGING

        p_subscreen  TYPE sy-dynnr.

* >> Início da inclusão: FORM SET_SCREEN_0001

  DATA: _it_excluding TYPE STANDARD TABLE OF sy-ucomm INITIAL SIZE 1.

* << Fim da inclusão

  IF p_op_mode = c_edit_mode.

    SET TITLEBAR '0001' WITH 'Editar'(001).

* >> Início da exclusão: FORM SET_SCREEN_0001

    SET PF-STATUS '0001'.

* << Fim da exclusão

  ELSE.

    SET TITLEBAR '0001' WITH 'Exibir'(002).

* >> Início da exclusão: FORM SET_SCREEN_0001

    SET PF-STATUS '0001' EXCLUDING 'SAVE'.

* << Fim da exclusão

* >> Início da inclusão: FORM SET_SCREEN_0001

    APPEND 'SAVE' TO _it_excluding[].

* << Fim da inclusão

  ENDIF.

* >> Início da inclusão: FORM SET_SCREEN_0001

  IF v_log IS INITIAL.

    APPEND 'LOG_TRILHA' TO _it_excluding[].

  ENDIF.

  SET PF-STATUS '0001' EXCLUDING _it_excluding[].

* << Fim da inclusão

  CASE p_active_tab.

    WHEN 'TAB_GENERAL' OR space.

      p_subscreen = '0100'.

...

 

...

        PERFORM update_sections_info

                USING

                   p_spras

                   p_file_id

                   it_sect_height[]

                CHANGING

                   subrc.

        IF subrc = 0.

          MESSAGE s007.

          p_reload_itab = abap_true.

* >> Início da inclusão: FORM IMPORT_FILE

          IF NOT v_log IS INITIAL.

            CALL METHOD v_log->log_file

                 EXPORTING

                   db_op         = 'I'

                   sections_info = it_sect_height[].

          ENDIF.

* << Fim da inclusão

        ELSE.

          MESSAGE e009 WITH p_file_name.

        ENDIF.

      WHEN 1.

        MESSAGE e008 WITH p_file_name.

      WHEN 2.

        MESSAGE e009 WITH p_file_name.

    ENDCASE.

  ELSE.

    CALL FUNCTION 'MESSAGES_SHOW'

...

 

...

    IF sy-subrc <> 0.

      p_subrc = 3.

      EXIT.

    ENDIF.

    MODIFY /pws/zycrt011 FROM TABLE it_reports_update_t[].

    IF sy-subrc <> 0.

      p_subrc = 2.

      EXIT.

    ENDIF.

  ENDIF.

* >> Início da inclusão: FORM SAVE_REPORT

  IF NOT v_log IS INITIAL.

    CALL METHOD v_log->log_reports

         EXPORTING

           reports         = p_t_reports[]

           reports_texts_i = it_reports_insert_t[]

           reports_texts_u = it_reports_update_t[].

  ENDIF.

* << Fim da inclusão

  IF NOT it_reports_delete[] IS INITIAL.

    DELETE /pws/zycrt010 FROM TABLE it_reports_delete[].

    IF sy-subrc <> 0.

      p_subrc = 3.

      EXIT.

    ENDIF.

    LOOP AT it_reports_delete[] INTO wa_zycrt010.

      DELETE FROM /pws/zycrt011

          WHERE report_module = wa_zycrt010-report_module

            AND report_id     = wa_zycrt010-report_id.  "#EC CI_NOFIRST

...

 

...

    IF sy-subrc <> 0.

      p_subrc = 1.

      EXIT.

    ENDIF.

  ENDIF.

  IF NOT it_rep_param_update[] IS INITIAL.

    UPDATE /pws/zycrt013 FROM TABLE it_rep_param_update[].

    IF sy-subrc <> 0.

      p_subrc = 2.

      EXIT.

* >> Início da inclusão: FORM SAVE_GRID

    ENDIF.

* << Fim da inclusão

    ENDIF.

* >> Início da inclusão: FORM SAVE_GRID

  IF NOT v_log IS INITIAL.

    CALL METHOD v_log->log_grids

         EXPORTING

           grids = p_t_rep_param[].

* << Fim da inclusão

  ENDIF.

  IF NOT it_rep_param_delete[] IS INITIAL.

    DELETE /pws/zycrt013 FROM TABLE it_rep_param_delete[].

...

 

...

    IF sy-subrc <> 0.

      p_subrc = 1.

      EXIT.

    ENDIF.

  ENDIF.

  IF NOT it_matrix_update[] IS INITIAL.

    UPDATE /pws/zycrt014 FROM TABLE it_matrix_update[].

    IF sy-subrc <> 0.

      p_subrc = 2.

      EXIT.

* >> Início da inclusão: FORM SAVE_MATRIX

    ENDIF.

* << Fim da inclusão

    ENDIF.

* >> Início da inclusão: FORM SAVE_MATRIX

  IF NOT v_log IS INITIAL.

    CALL METHOD v_log->log_matrices

         EXPORTING

           matrices = p_t_matrix[].

* << Fim da inclusão

  ENDIF.

  IF NOT it_matrix_delete[] IS INITIAL.

    DELETE /pws/zycrt014 FROM TABLE it_matrix_delete[].

...

 

...

     USING

        p_spras   TYPE /pws/zycrt009-spras

        p_file_id TYPE /pws/zycrt009-file_id.

  CALL METHOD lcl_reports_repository=>delete_report

       EXPORTING

             spras      = p_spras

             file_id    = p_file_id

        EXCEPTIONS

             error = 1.

  IF sy-subrc = 0.

* >> Início da inclusão: FORM DELETE_FILE

    IF NOT v_log IS INITIAL.

      CALL METHOD v_log->log_file

           EXPORTING

             db_op   = 'D'

             spras   = p_spras

             file_id = p_file_id.

    ENDIF.

* << Fim da inclusão

    PERFORM delete_sections_info

            USING

               p_spras

               p_file_id.

  ENDIF.

ENDFORM.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCR003F03

 

* >> Início da inclusão:

INCLUDE /pws/zygllog.

CLASS lcl_log_writer DEFINITION.

  PUBLIC SECTION.

    TYPES:

      t_zycrt011 TYPE STANDARD TABLE OF /pws/zycrt011 WITH DEFAULT KEY.

    METHODS:

      constructor

        EXCEPTIONS

          not_active,

      log_reports

        IMPORTING

          reports         TYPE t_reports

          reports_texts_i TYPE t_zycrt011

          reports_texts_u TYPE t_zycrt011,

      log_grids

        IMPORTING

          grids TYPE t_rep_param,

      log_matrices

        IMPORTING

          matrices TYPE t_matrix,

      log_file

        IMPORTING

          db_op         TYPE db_op

          spras         TYPE /pws/zycrt009-spras OPTIONAL

          file_id       TYPE /pws/zycrt009-file_id OPTIONAL

          sections_info TYPE t_sect_height OPTIONAL.

ENDCLASS.

CLASS lcl_log_writer IMPLEMENTATION.

  METHOD log_reports.

    DATA: _zycrt010        TYPE /pws/zycrt010,

          _zycrt011        TYPE /pws/zycrt011,

          _report          LIKE LINE OF reports[],

          _reports_texts_d TYPE t_zycrt011.

    _zycrt010 = /pws/zycrt010.

    _zycrt011 = /pws/zycrt011.

    LOOP AT reports[] INTO _report WHERE NOT db_op IS initial.

      /pws/zycrt010 = _report-reports_l.

      IF _report-db_op = 'M'.

        _report-db_op = 'U'.

      ENDIF.

      PERFORM carrega_log

              USING

                '/PWS/ZYCRT010'

                _report-db_op

                space

                space

                space.

      IF _report-db_op = 'D'.

        SELECT *

            FROM /pws/zycrt011

            INTO TABLE _reports_texts_d[]

            WHERE report_module = _report-reports_l-report_module

              AND report_id     = _report-reports_l-report_id.

        LOOP AT _reports_texts_d[] INTO /pws/zycrt011.

          PERFORM carrega_log

                  USING

                    '/PWS/ZYCRT011'

                    'D'

                    space

                    space

                    space.

        ENDLOOP.

      ENDIF.

    ENDLOOP.

    LOOP AT reports_texts_i[] INTO /pws/zycrt011.

      PERFORM carrega_log

              USING

                '/PWS/ZYCRT011'

                'I'

                space

                space

                space.

    ENDLOOP.

    LOOP AT reports_texts_u[] INTO /pws/zycrt011.

      PERFORM carrega_log

              USING

                '/PWS/ZYCRT011'

                'U'

                space

                space

                space.

    ENDLOOP.

    /pws/zycrt010 = _zycrt010.

    /pws/zycrt011 = _zycrt011.

  ENDMETHOD.

  METHOD log_grids.

    DATA: _zycrt013 TYPE /pws/zycrt013,

          _grid     LIKE LINE OF grids[].

    _zycrt013 = /pws/zycrt013.

    LOOP AT grids[] INTO _grid WHERE NOT db_op IS initial.

      /pws/zycrt013 = _grid-rep_param.

      IF _grid-db_op = 'M'.

        _grid-db_op = 'U'.

      ENDIF.

      PERFORM carrega_log

              USING

                '/PWS/ZYCRT013'

                _grid-db_op

                space

                space

                space.

    ENDLOOP.

    /pws/zycrt013 = _zycrt013.

  ENDMETHOD.

  METHOD log_matrices.

    DATA: _zycrt014 TYPE /pws/zycrt014,

          _matrix   LIKE LINE OF matrices.

    _zycrt014 = /pws/zycrt014.

    LOOP AT matrices[] INTO _matrix WHERE NOT db_op IS initial.

      /pws/zycrt014 = _matrix-matrix_l.

      IF _matrix-db_op = 'M'.

        _matrix-db_op = 'U'.

      ENDIF.

      PERFORM carrega_log

              USING

                '/PWS/ZYCRT014'

                _matrix-db_op

                space

                space

                space.

    ENDLOOP.

    /pws/zycrt014 = _zycrt014.

  ENDMETHOD.

  METHOD log_file.

    DATA: _zycrt017    TYPE /pws/zycrt017,

          _it_zycrt017 TYPE STANDARD TABLE OF /pws/zycrt017

                            WITH DEFAULT KEY.

    _zycrt017 = /pws/zycrt017.

    IF db_op = 'I'.

      LOOP AT sections_info INTO /pws/zycrt017.

        PERFORM carrega_log

                USING

                  '/PWS/ZYCRT017'

                  'I'

                  space

                  space

                  space.

      ENDLOOP.

    ELSEIF db_op = 'D'.

      SELECT *

          FROM /pws/zycrt017

          INTO TABLE _it_zycrt017[]

          WHERE spras   = spras

            AND file_id = file_id.

      LOOP AT _it_zycrt017[] INTO /pws/zycrt017.

        PERFORM carrega_log

                USING

                  '/PWS/ZYCRT017'

                  'D'

                  space

                  space

                  space.

      ENDLOOP.

    ENDIF.

    /pws/zycrt017 = _zycrt017.

  ENDMETHOD.

  METHOD constructor.

    DATA: _log_trilha TYPE /pws/zyglt009-trilha_auditoria.

    SELECT SINGLE trilha_auditoria

        FROM /pws/zyglt009

        INTO _log_trilha

        WHERE bukrs = '    '.

    IF _log_trilha IS INITIAL.

      RAISE not_active.

    ENDIF.

  ENDMETHOD.

ENDCLASS.

LOAD-OF-PROGRAM.

  CREATE OBJECT v_log

         EXCEPTIONS

           not_active = 1.

  IF sy-subrc <> 0.

    CLEAR v_log.

  ENDIF.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCR003I01

 

...

                 it_matrix[]

                 v_saved.

    WHEN 'FIELD_VIEW'.

      PERFORM show_maintenance_view

              USING

                 v_op_mode

                 '/PWS/ZYCRV015'.

      PERFORM load_fields_per_report

              CHANGING

                it_rep_fields[].

* >> Início da inclusão: MODULE USER_COMMAND_0001

    WHEN 'LOG_TRILHA'.

      PERFORM log_trilha

            USING

              sy-cprog

              space

              'X'.

* << Fim da inclusão

  ENDCASE.

ENDMODULE.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCR003TOP

 

PROGRAM /pws/sapmzycr003 MESSAGE-ID /pws/zycrm.

* >> Início da inclusão:

CLASS lcl_log_writer DEFINITION DEFERRED.

* << Fim da inclusão

TABLES: /pws/zycrt009,

* >> Início da inclusão:

        /pws/zycrt010,

        /pws/zycrt011,

* << Fim da inclusão

        /pws/zycrt012,

* >> Início da inclusão:

        /pws/zycrt013,

        /pws/zycrt014,

        /pws/zycrt017,

* << Fim da inclusão

        /pws/zycre010,

* >> Início da exclusão:

        /pws/zycrt013,

* << Fim da exclusão

        /pws/zycre014.

TYPE-POOLS: abap,

            vrm.

TYPES: t_operation_mode(1) TYPE c.

TYPES: db_op(1) TYPE c.

TYPES: t_nodes TYPE STANDARD TABLE OF mtreesnode WITH DEFAULT KEY.

...

 

...

      it_matrix    TYPE t_matrix.

DATA: it_matrix_selected TYPE t_matrix,

      wa_matrix_selected LIKE LINE OF it_matrix_selected[].

DATA: it_matrix_copied TYPE t_matrix,

      wa_matrix_copied LIKE LINE OF it_matrix_selected[].

DATA: it_reports_nodes TYPE t_nodes.

DATA: it_rep_fields TYPE t_rep_fields.

DATA: it_key_priority TYPE t_key_priority,

      wa_key_priority LIKE LINE OF it_key_priority.

DATA: wa_bds_config TYPE s_bds_config.

* >> Início da inclusão: Final do include

DATA: v_log TYPE REF TO lcl_log_writer.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/SAPMZYCR003

 

INCLUDE /pws/mzycr003top.

INCLUDE /pws/zycri004.

* >> Início da inclusão:

INCLUDE /pws/mzycr003f03.

* << Fim da inclusão

INCLUDE /pws/mzycr003f01.

INCLUDE /pws/mzycr003f02.

INCLUDE /pws/mzycr003o01.

INCLUDE /pws/mzycr003i01.