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.
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.