Módulo: DOC. EXPORTAÇÃO
Funcionalidade: CE Reports
Data/Hora da Publicação: 18/11/2009 00:00:00
Data/Hora Última Alteração: 21/02/2011 17:51:30
Descrição da Nota: CORREÇÃO DE ERROS APONTADOS PELO CODE INSPECTOR NO REPORTS EXCEL
Sintoma
O Code Inspector apontava erros nos programas de parametrização do Reports Excel (/PWS/SAPMZYCR003 e
/PWS/SAPMZYCR004).
Solução
Os pontos foram corrigidos conforme indicações do próprio Code Inspector.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09408 Data: 18/11/2009 Hora: 11:29:02
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09408
Categoria : Erro de Programa
Prioridade : Baixa
Versão PW.CE : 8.0
Pacote : 00001
Agrupamento : 00001
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07859 - 00001 - 7.0 - 00008 - LISTA DE PLANILHAS DISPONÍVEIS DUPLICADA
----------------------------------------------------------------------------------------------------
CORREÇÃO DE ERROS APONTADOS PELO CODE INSPECTOR NO REPORTS EXCEL
----------------------------------------------------------------------------------------------------
Palavras Chave:
REPORTS EXCEL PARÂMETROS CODE INSPECTOR /PWS/SAPMZYCR003
/PWS/SAPMZYCR004
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCR003F02
REPS /PWS/MZYCR004F01
REPT /PWS/MZYCR003F02
TABD /PWS/ZYCRT009
TABD /PWS/ZYCRT017
TABT /PWS/ZYCRT010
TABT /PWS/ZYCRT011
TABT /PWS/ZYCRT012
TABT /PWS/ZYCRT013
TABT /PWS/ZYCRT014
TABT /PWS/ZYCRT015
TABT /PWS/ZYCRT016
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCR003F02
...
/pws/zycrt010~report_id
/pws/zycrt010~abap_program
/pws/zycrt010~key_priority
/pws/zycrt011~description
INTO TABLE p_t_reports[]
FROM /pws/zycrt010
LEFT JOIN /pws/zycrt011
ON /pws/zycrt011~spras = sy-langu
AND /pws/zycrt011~report_module = /pws/zycrt010~report_module
AND /pws/zycrt011~report_id = /pws/zycrt010~report_id.
* >> Início da inclusão: FORM LOAD_DATA
"#EC CI_BUFFJOIN
* << Fim da inclusão
SORT p_t_reports[] BY reports_l-report_module
reports_l-report_id.
IF NOT wa_selected_report IS INITIAL.
wa_selected_report-mark = 'X'.
MODIFY TABLE p_t_reports[] FROM wa_selected_report
TRANSPORTING mark.
ENDIF.
SELECT *
INTO TABLE p_t_rep_param[]
* >> Início da exclusão: FORM LOAD_DATA
FROM /pws/zycrt013. "#EC CI_NOWHERE
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_DATA
FROM /pws/zycrt013. "#EC CI_GENBUFF
* << Fim da inclusão
SORT p_t_rep_param[] BY rep_param-report_module
rep_param-report_id
rep_param-spras
rep_param-bukrs
rep_param-werks
rep_param-j_1bbranch
rep_param-inco1
rep_param-zterm
rep_param-lifnr_exp
rep_param-land1_exp
...
...
rep_param-land1_imp
rep_param-kunnr_cli
rep_param-land1_cli.
IF NOT wa_selected_grid IS INITIAL.
wa_selected_grid-mark = 'X'.
MODIFY TABLE p_t_rep_param[] FROM wa_selected_grid
TRANSPORTING mark.
ENDIF.
SELECT *
INTO TABLE p_t_matrix
* >> Início da exclusão: FORM LOAD_DATA
FROM /pws/zycrt014. "#EC CI_NOWHERE
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_DATA
FROM /pws/zycrt014. "#EC CI_GENBUFF
* << Fim da inclusão
SORT p_t_matrix[] BY matrix_l-report_module
matrix_l-report_id
matrix_l-matrix
matrix_l-sheet
matrix_l-row_position
matrix_l-column_position.
PERFORM load_fields_per_report
CHANGING
p_t_rep_fields[].
ENDFORM.
...
...
p_t_rep_fields TYPE t_rep_fields.
SELECT /pws/zycrt015~abap_program
/pws/zycrt015~field
/pws/zycrt016~description
INTO TABLE p_t_rep_fields[]
FROM /pws/zycrt015
LEFT JOIN /pws/zycrt016
ON /pws/zycrt016~spras = sy-langu
AND /pws/zycrt016~abap_program = /pws/zycrt015~abap_program
AND /pws/zycrt016~field = /pws/zycrt015~field.
* >> Início da inclusão: FORM LOAD_FIELDS_PER_REPORT
"#EC CI_BUFFJOIN
* << Fim da inclusão
ENDFORM.
...
...
p_t_rep_param TYPE t_rep_param
p_t_matrix TYPE t_matrix
p_saved TYPE abap_bool.
DATA: v_subrc TYPE sy-subrc.
PERFORM save_general_parameters
USING
p_gen_param
CHANGING
v_subrc.
IF v_subrc <> 0.
* >> Início da exclusão: FORM SAVE
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
p_saved = abap_false.
EXIT.
ENDIF.
PERFORM save_report
USING
p_t_reports[]
CHANGING
v_subrc.
IF v_subrc <> 0.
* >> Início da exclusão: FORM SAVE
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
p_saved = abap_false.
EXIT.
ENDIF.
PERFORM save_grid
USING
p_t_rep_param[]
CHANGING
v_subrc.
IF v_subrc <> 0.
* >> Início da exclusão: FORM SAVE
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
p_saved = abap_false.
EXIT.
ENDIF.
PERFORM save_matrix
USING
p_t_matrix[]
CHANGING
v_subrc.
IF v_subrc <> 0.
* >> Início da exclusão: FORM SAVE
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
p_saved = abap_false.
EXIT.
ENDIF.
COMMIT WORK.
p_saved = abap_true.
PERFORM remove_db_op_flags
CHANGING
p_t_reports[]
p_t_rep_param[]
p_t_matrix[].
...
...
wa_rep_param-rep_param-report_module
wa_rep_param-rep_param-report_id
CHANGING
wa_rep_param-rep_param-matrix.
wa_rep_param-db_op = c_db_insert.
wa_rep_param-mark = 'X'.
INSERT wa_rep_param INTO p_t_rep_param INDEX v_tabix.
p_rebuild_tree = abap_true.
SET SCREEN 0.
ENDIF.
* >> Início da exclusão: FORM CREATE_EMPTY_GRID
ENDFORM.
* << Fim da exclusão
* >> Início da inclusão: FORM CREATE_EMPTY_GRID
ENDFORM. "#EC CI_VALPAR
* << Fim da inclusão
...
...
SET SCREEN 0.
WHEN 1.
MESSAGE i013.
SET SCREEN sy-dynnr.
WHEN 2.
MESSAGE a014.
ENDCASE.
ELSE.
MESSAGE a014.
ENDIF.
* >> Início da exclusão: FORM CREATE_GRID_WITH_TEMPLATE
ENDFORM.
* << Fim da exclusão
* >> Início da inclusão: FORM CREATE_GRID_WITH_TEMPLATE
ENDFORM. "#EC CI_VALPAR
* << Fim da inclusão
...
...
p_reload_data TYPE abap_bool.
STATICS: it_sections TYPE t_report_sheets.
DATA: it_vrm_values TYPE vrm_values,
wa_vrm_values LIKE LINE OF it_vrm_values,
wa_rep_param LIKE LINE OF p_t_rep_param,
wa_sections LIKE LINE OF it_sections.
IF it_sections[] IS INITIAL OR p_reload_data = abap_true.
SELECT spras file_id sheet
INTO TABLE it_sections[]
FROM /pws/zycrt017
* >> Início da exclusão: FORM LOAD_MATRIX_SHEET_LIST_BOX
WHERE row_index = 0. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_MATRIX_SHEET_LIST_BOX
WHERE row_index = 0
AND sheet <> c_report_sheet_name. "#EC CI_NOFIRST
* << Fim da inclusão
IF sy-subrc = 0.
* >> Início da exclusão: FORM LOAD_MATRIX_SHEET_LIST_BOX
DELETE it_sections[] WHERE sheet = c_report_sheet_name.
* << Fim da exclusão
p_reload_data = abap_false.
ENDIF.
ENDIF.
READ TABLE p_t_rep_param[]
INTO wa_rep_param
WITH KEY mark = 'X'
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCR004F01
...
CASE p_previous_screen.
WHEN '0100'.
SELECT /pws/zycrt010~report_module
/pws/zycrt010~report_id
/pws/zycrt011~description
FROM /pws/zycrt010
LEFT JOIN /pws/zycrt011
ON /pws/zycrt011~spras = sy-langu
AND /pws/zycrt011~report_module = /pws/zycrt010~report_module
AND /pws/zycrt011~report_id = /pws/zycrt010~report_id
* >> Início da exclusão: FORM LOAD_DATA_0110
INTO TABLE p_t_reports[].
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_DATA_0110
INTO TABLE p_t_reports[]. "#EC CI_BUFFJOIN
* << Fim da inclusão
SORT p_t_reports[] BY report_module report_id.
WHEN '0111'.
SORT p_t_reports[] BY report_module report_id.
ENDCASE.
ENDFORM.
...
...
READ TABLE p_parameters-zycrt010[]
INTO wa_zycrt010
WITH KEY report_module = wa_reports-report_module
report_id = wa_reports-report_id.
IF sy-subrc = 0.
APPEND wa_zycrt010 TO it_zycrt010[].
ENDIF.
ENDLOOP.
MODIFY /pws/zycrt010 FROM TABLE it_zycrt010[].
IF sy-subrc <> 0.
* >> Início da exclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
sy-subrc = 4.
sy-msgv1 = '/PWS/ZYCRT010'.
EXIT.
ENDIF.
LOOP AT it_zycrt010[] INTO wa_zycrt010.
IF p_delete_first = 'X'.
DELETE FROM /pws/zycrt011
WHERE report_module = wa_zycrt010-report_module
AND report_id = wa_zycrt010-report_id. "#EC CI_NOFIRST
DELETE FROM /pws/zycrt013
...
...
ENDLOOP.
LOOP AT p_parameters-zycrt014[] INTO wa_zycrt014
WHERE report_module = wa_zycrt010-report_module
AND report_id = wa_zycrt010-report_id.
APPEND wa_zycrt014 TO it_zycrt014[].
ENDLOOP.
COLLECT wa_zycrt010-abap_program INTO it_abap_program[].
ENDLOOP.
MODIFY /pws/zycrt011 FROM TABLE it_zycrt011[].
IF sy-subrc <> 0.
* >> Início da exclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
sy-subrc = 4.
sy-msgv1 = '/PWS/ZYCRT011'.
EXIT.
ENDIF.
MODIFY /pws/zycrt013 FROM TABLE it_zycrt013[].
IF sy-subrc <> 0.
* >> Início da exclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
sy-subrc = 4.
sy-msgv1 = '/PWS/ZYCRT013'.
EXIT.
ENDIF.
MODIFY /pws/zycrt014 FROM TABLE it_zycrt014[].
IF sy-subrc <> 0.
* >> Início da exclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
sy-subrc = 4.
sy-msgv1 = '/PWS/ZYCRT014'.
EXIT.
ENDIF.
LOOP AT it_abap_program[] INTO wa_abap_program.
IF p_delete_first = 'X'.
DELETE FROM /pws/zycrt015 WHERE abap_program = wa_abap_program.
DELETE FROM /pws/zycrt016
WHERE abap_program = wa_abap_program. "#EC CI_NOFIRST
ENDIF.
...
...
WHERE abap_program = wa_abap_program.
APPEND wa_zycrt015 TO it_zycrt015[].
ENDLOOP.
LOOP AT p_parameters-zycrt016[] INTO wa_zycrt016
WHERE abap_program = wa_abap_program.
APPEND wa_zycrt016 TO it_zycrt016[].
ENDLOOP.
ENDLOOP.
MODIFY /pws/zycrt015 FROM TABLE it_zycrt015[].
IF sy-subrc <> 0.
* >> Início da exclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
sy-subrc = 4.
sy-msgv1 = '/PWS/ZYCRT015'.
EXIT.
ENDIF.
MODIFY /pws/zycrt016 FROM TABLE it_zycrt016[].
IF sy-subrc <> 0.
* >> Início da exclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
sy-subrc = 4.
sy-msgv1 = '/PWS/ZYCRT016'.
EXIT.
ENDIF.
LOOP AT it_zycrt013[] INTO wa_zycrt013.
wa_files-spras = wa_zycrt013-spras.
wa_files-file_id = wa_zycrt013-file_id.
COLLECT wa_files INTO it_files[].
ENDLOOP.
LOOP AT it_files[] INTO wa_files.
...
...
EXPORT file FROM wa_zycrt009-t_file
TO DATABASE /pws/zycrt009(fl)
FROM wa_zycrt009-zycrt009
ID wa_files.
IF sy-subrc <> 0.
sy-subrc = 5.
EXIT.
ENDIF.
ENDLOOP.
IF sy-subrc = 5.
* >> Início da exclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
sy-subrc = 4.
sy-msgv1 = '/PWS/ZYCRT009'.
EXIT.
ENDIF.
MODIFY /pws/zycrt017 FROM TABLE it_zycrt017[].
IF sy-subrc <> 0.
* >> Início da exclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK.
* << Fim da exclusão
* >> Início da inclusão: FORM UPLOAD_PARAMETERS
ROLLBACK WORK. "#EC CI_ROLLBACK
* << Fim da inclusão
sy-subrc = 4.
sy-msgv1 = '/PWS/ZYCRT017'.
EXIT.
ENDIF.
ENDFORM.
...
...
FREE it_zycrt010_key[].
CHECK sy-subrc = 0.
p_parameters-version = '1.0'.
p_parameters-date = sy-datum.
IF NOT p_parameters-zycrt010[] IS INITIAL.
SELECT *
FROM /pws/zycrt011
INTO TABLE p_parameters-zycrt011
FOR ALL ENTRIES IN p_parameters-zycrt010[]
WHERE report_module = p_parameters-zycrt010-report_module
* >> Início da exclusão: FORM DOWNLOAD_PARAMETERS
AND report_id = p_parameters-zycrt010-report_id."#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM DOWNLOAD_PARAMETERS
AND report_id = p_parameters-zycrt010-report_id."#EC CI_GENBUFF
* << Fim da inclusão
ENDIF.
IF NOT p_parameters-zycrt010[] IS INITIAL.
SELECT *
FROM /pws/zycrt013
INTO TABLE p_parameters-zycrt013
FOR ALL ENTRIES IN p_parameters-zycrt010[]
WHERE report_module = p_parameters-zycrt010-report_module
AND report_id = p_parameters-zycrt010-report_id. "#EC CI_NOFIRST
ENDIF.
IF NOT p_parameters-zycrt013[] IS INITIAL.
...
...
FOR ALL ENTRIES IN it_zycrt010_program[]
WHERE abap_program = it_zycrt010_program-table_line.
FREE it_zycrt010_program[].
ENDIF.
IF NOT p_parameters-zycrt015[] IS INITIAL.
SELECT *
FROM /pws/zycrt016
INTO TABLE p_parameters-zycrt016
FOR ALL ENTRIES IN p_parameters-zycrt015[]
WHERE abap_program = p_parameters-zycrt015-abap_program
* >> Início da exclusão: FORM DOWNLOAD_PARAMETERS
AND field = p_parameters-zycrt015-field. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM DOWNLOAD_PARAMETERS
AND field = p_parameters-zycrt015-field. "#EC CI_GENBUFF
* << Fim da inclusão
ENDIF.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCRT009
-Nova classe de entrega: "A".
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCRT017
-Nova classe de entrega: "A".
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABT /PWS/ZYCRT010
Novas opções técnicas:
-Tipo de dados: APPL2
-Armazenamento em buffer?: Ativado
-Tipo de armazenamento em buffer: Totalmente armazenado
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABT /PWS/ZYCRT011
Novas opções técnicas:
-Tipo de dados: APPL2
-Armazenamento em buffer?: Ativado
-Tipo de armazenamento em buffer: Chave genérica, com 2 campos.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABT /PWS/ZYCRT012
Novas opções técnicas:
-Armazenamento em buffer?: Ativado
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABT /PWS/ZYCRT013
Novas opções técnicas:
-Tipo de dados: APPL2
-Armazenamento em buffer?: Ativado
-Tipo de armazenamento em buffer: Chave genérica, com 3 campos
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABT /PWS/ZYCRT014
Novas opções técnicas:
-Tipo de dados: APPL2
-Categoria de tamanho: 1
-Armazenamento em buffer?: Ativado
-Tipo de armazenamento em buffer: Chave genárica, com 4 campos
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABT /PWS/ZYCRT015
Novas opções técnicas:
-Tipo de dados: APPL2
-Armazenamento em buffer?: Ativado
-Tipo de armazenamento em buffer: Chave genérica, com 2 campos.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABT /PWS/ZYCRT016
Novas opções técnicas:
-Tipo de dados: APPL2
-Armazenamento em buffer?: Ativado
-Tipo de armazenamento em buffer: Chave genérica, com 3 campos