CE PLUS - Nota 009408

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

LISTA DE PLANILHAS DISPONÍVEIS DUPLICADA

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