CE PLUS - Nota 008738

Módulo: DRAWBACK

Funcionalidade: CE Reports Formulários

Data/Hora da Publicação: 27/07/2009 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:38:36

Descrição da Nota: IMPRESSÃO LADO A LADO DOS FORMULÁRIOS DO DRAWBACK (EXCEL)

Sintoma

Dependendo do número de registros, a geração dos formulários é muito demorada.

 

 

Solução

O programa foi ajustado para gerar apenas a primeira via do documento, as demais vias são copiadas

através de formulas no excel.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

RUD EXPORTAÇÃO (FABRICANTE EXPORTADOR) INTERMEDIARIO IMPORTAÇÃO

CODE INSPECTOR

Informações Complementares

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

Nota Número 08738 Data: 27/07/2009 Hora: 14:45:44

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

 

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

Nota Número              : 08738

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00010

Agrupamento              : 00107

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

Referência às notas relacionadas:

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

 

06782  - 00001 - 7.0    - 00006  - RUD EXPORTAÇÃO (FABRICANTE EXPORTADOR) INTERMEDIARIO IMPORTAÇÃO

08477  - 00002 - 7.0    - 00009  - CODE INSPECTOR

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

IMPRESSÃO LADO A LADO DOS FORMULÁRIOS DO DRAWBACK (EXCEL)

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

Palavras Chave:

FORMULÁRIOS DRAWBACK EXCEL IMPRESSÃO LADO A LADO

 

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

Objetos da nota:

REPS /PWS/ZYCRR002

REPS /PWS/ZYCRR004

REPS /PWS/ZYCRR005

REPS /PWS/ZYCRR006

REPS /PWS/ZYCRR007

REPS /PWS/ZYCRR008

REPS /PWS/ZYCRR034

REPS /PWS/ZYCRR035

REPS /PWS/ZYCRR036

 

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

*Após a aplicaçao desta nota aplicar a nota 8764.

*Depois da aplicação desta nota será necessario atualizar os parametros dos formularios através da

*transação /PWS/ZYCR003

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

Modificações efetuadas em REPS /PWS/ZYCRR002

 

...

    ADD v_linharod TO current_row.

    PERFORM add_page_break

            USING

               current_row

            CHANGING

               p_t_excel_content[].

  ENDWHILE.

  itab_exel_temp[] = p_t_excel_content[].

  SUBTRACT 1 FROM current_row.

  section_rows = current_row.

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

  DO 2 TIMES.

    LOOP AT itab_exel_temp INTO wa_exel_temp.

      ADD current_row TO wa_exel_temp-row.

      APPEND wa_exel_temp TO p_t_excel_content.

    ENDLOOP.

    ADD section_rows TO current_row.

  ENDDO.

* << Fim da exclusão

  APPEND itab_zycit476.

  DELETE FROM /pws/zycit476 WHERE nrseqd EQ p_nrseqd

                              AND tipo  EQ 'E'.

  INSERT /pws/zycit476 FROM TABLE itab_zycit476.

ENDFORM.

FORM trata_procurador CHANGING p_proc.

  FREE v_tab.

  CLEAR: v_tab, f_tab.

  REFRESH: v_tab, f_tab.

  SELECT * FROM /pws/zycrt003

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCRR004

 

...

             'ITENS'

             p_t_sect_height[]

          CHANGING

             v_linhaite.

  PERFORM get_section_rows

          USING

             'RODA1'

             p_t_sect_height[]

          CHANGING

             v_linhasub.

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

  PERFORM get_section_rows

          USING

             'RODA2'

             p_t_sect_height[]

          CHANGING

             v_linhasub2.

* << Fim da exclusão

  DESCRIBE TABLE p_t_items LINES v_lines.

  CLEAR: current_item, v_completo.

  WHILE v_completo NE 'X'.

    CLEAR: v_completo.

    ADD 1 TO p_header-anexo.

    PERFORM append_new_section

            USING

               'CAB'

               current_row

            CHANGING

...

 

...

    current_row = current_row + v_linhasub.

    PERFORM add_page_break

            USING

               current_row

            CHANGING

               p_t_excel_content[].

  ENDWHILE.

  itab_exel_temp[] = p_t_excel_content[].

  SUBTRACT 1 FROM current_row.

  section_rows = current_row.

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

  DO 4 TIMES.

    LOOP AT itab_exel_temp INTO wa_exel_temp.

      ADD current_row TO wa_exel_temp-row.

      IF wa_exel_temp-sheet EQ 'RODA1'.

        wa_exel_temp-sheet = 'RODA2'.

      ENDIF.

      APPEND wa_exel_temp TO p_t_excel_content.

    ENDLOOP.

    ADD section_rows TO current_row.

  ENDDO.

* << Fim da exclusão

  DELETE FROM /pws/zycit474 WHERE nrseqd EQ p_nrseqd

                              AND pasta  EQ 'I'.

  INSERT /pws/zycit474 FROM TABLE itab_zycit474.

ENDFORM.

FORM converter_moeda USING p_devlme

                           p_deme

                           p_parame

                           p_data

                  CHANGING p_paravlme.

  DATA: v_ctmoeda LIKE tcurr-kurst VALUE 'G',

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCRR005

 

...

             'ITENS'

             p_t_sect_height[]

          CHANGING

             v_linhaite.

  PERFORM get_section_rows

          USING

             'RODA1'

             p_t_sect_height[]

          CHANGING

             v_linhasub.

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

  PERFORM get_section_rows

          USING

             'RODA2'

             p_t_sect_height[]

          CHANGING

             v_linhasub2.

* << Fim da exclusão

  DESCRIBE TABLE p_t_items LINES v_lines.

  CLEAR: current_item, v_completo.

  WHILE v_completo NE 'X'.

    CLEAR: v_completo.

    ADD 1 TO p_header-anexo.

    PERFORM append_new_section

            USING

               'CAB'

               current_row

            CHANGING

...

 

...

    current_row = current_row + v_linhasub.

    PERFORM add_page_break

            USING

               current_row

            CHANGING

               p_t_excel_content[].

  ENDWHILE.

  itab_exel_temp[] = p_t_excel_content[].

  SUBTRACT 1 FROM current_row.

  section_rows = current_row.

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

  DO 4 TIMES.

    LOOP AT itab_exel_temp INTO wa_exel_temp.

      ADD current_row TO wa_exel_temp-row.

      IF wa_exel_temp-sheet EQ 'RODA1'.

        wa_exel_temp-sheet = 'RODA2'.

      ENDIF.

      APPEND wa_exel_temp TO p_t_excel_content.

    ENDLOOP.

    ADD section_rows TO current_row.

  ENDDO.

* << Fim da exclusão

  DELETE FROM /pws/zycit474 WHERE nrseqd EQ p_nrseqd

                              AND pasta  EQ 'E'.

  INSERT /pws/zycit474 FROM TABLE itab_zycit474.

ENDFORM.

FORM converter_moeda USING p_devlme

                           p_deme

                           p_parame

                           p_data

                  CHANGING p_paravlme.

  DATA: v_ctmoeda LIKE tcurr-kurst VALUE 'G',

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCRR006

 

...

    ADD v_linharod TO current_row.

    PERFORM add_page_break

            USING

               current_row

            CHANGING

               p_t_excel_content[].

  ENDWHILE.

  itab_exel_temp[] = p_t_excel_content[].

  SUBTRACT 1 FROM current_row.

  section_rows = current_row.

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

  DO 2 TIMES.

    LOOP AT itab_exel_temp INTO wa_exel_temp.

      ADD current_row TO wa_exel_temp-row.

      APPEND wa_exel_temp TO p_t_excel_content.

    ENDLOOP.

    ADD section_rows TO current_row.

  ENDDO.

* << Fim da exclusão

  APPEND itab_zycit476.

  DELETE FROM /pws/zycit476 WHERE nrseqd EQ p_nrseqd

                              AND tipo  EQ 'I'.

  INSERT /pws/zycit476 FROM TABLE itab_zycit476.

ENDFORM.

FORM trata_procurador CHANGING p_proc.

  FREE v_tab.

  CLEAR: v_tab, f_tab.

  REFRESH: v_tab, f_tab.

  SELECT * FROM /pws/zycrt003

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCRR007

 

...

  DELETE itab_itens WHERE c1 EQ space

                      AND c5 EQ space

                      AND vlimp EQ space

                      AND vlexp EQ space.

  PERFORM get_section_rows

          USING

             'VIA 1'

             p_t_sect_height[]

          CHANGING

             v_linhav1.

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

  PERFORM get_section_rows

          USING

             'VIA 2'

             p_t_sect_height[]

          CHANGING

             v_linhav2.

  PERFORM get_section_rows

          USING

             'VIA 5'

             p_t_sect_height[]

          CHANGING

             v_linhav5.

  PERFORM get_section_rows

          USING

             'PROTOCOLO'

             p_t_sect_height[]

          CHANGING

             v_linhapt.

* << Fim da exclusão

  CLEAR: current_item.

  PERFORM append_new_section

          USING

             'VIA 1'

             current_row

          CHANGING

             p_t_excel_content[].

  PERFORM fill_header_fields

          USING

             p_header

...

 

...

               p_t_sect_height[]

               current_item

            CHANGING

               filled_section_height

               p_t_excel_content[]

               subrc.

    ADD 1 TO current_row.

  ENDDO.

  current_row = v_linhav1 + 1.

  PERFORM add_page_break

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

          USING

             current_row

          CHANGING

             p_t_excel_content[].

  itab_exel_temp[] = p_t_excel_content[].

  v_linhav3 = v_linhav4 = v_linhav2.

  LOOP AT itab_exel_temp INTO wa_exel_temp.

    ADD v_linhav1 TO wa_exel_temp-row.

    IF wa_exel_temp-sheet EQ 'VIA 1'.

      wa_exel_temp-sheet = 'VIA 2'.

    ENDIF.

    IF wa_exel_temp-sheet IS INITIAL.

      ADD 1 TO wa_exel_temp-row.

    ENDIF.

    APPEND wa_exel_temp TO p_t_excel_content.

    ADD v_linhav2 TO wa_exel_temp-row.

    APPEND wa_exel_temp TO p_t_excel_content.

    ADD v_linhav3 TO wa_exel_temp-row.

    APPEND wa_exel_temp TO p_t_excel_content.

    ADD v_linhav4 TO wa_exel_temp-row.

    IF wa_exel_temp-sheet EQ 'VIA 2'.

      wa_exel_temp-sheet = 'VIA 5'.

    ENDIF.

    IF wa_exel_temp-sheet IS INITIAL.

      ADD 2 TO wa_exel_temp-row.

    ENDIF.

    APPEND wa_exel_temp TO p_t_excel_content.

  ENDLOOP.

  current_row = v_linhav1 + v_linhav2 + v_linhav3 +

                            v_linhav4 + v_linhav5 + 1.

  PERFORM append_new_section

          USING

             'PROTOCOLO'

             current_row

          CHANGING

             p_t_excel_content[].

  PERFORM fill_header_fields

* << Fim da exclusão

          USING

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

             p_header

             'PROTOCOLO'

* << Fim da exclusão

             current_row

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

             p_t_matrix[]

             p_t_report_fields[]

* << Fim da exclusão

          CHANGING

             p_t_excel_content[].

ENDFORM.

FORM converter_moeda USING p_devlme

                           p_deme

                           p_parame

                           p_data

                  CHANGING p_paravlme.

  DATA: v_ctmoeda LIKE tcurr-kurst VALUE 'G',

        v_devlme   LIKE bsak-wrbtr,

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCRR008

 

...

  p_rep_param-spras

  p_rep_param-file_id

  CHANGING

  p_t_sect_height[].

  PERFORM get_section_rows

          USING

             'CAPA (1)'

             p_t_sect_height[]

          CHANGING

             v_linhacab.

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

  PERFORM get_section_rows

          USING

             'CAPA (2)'

             p_t_sect_height[]

          CHANGING

             v_linhacab2.

  PERFORM get_section_rows

          USING

             'CAPA (3)'

             p_t_sect_height[]

          CHANGING

             v_linhacab3.

* << Fim da exclusão

  PERFORM append_new_section

          USING

             'CAPA (1)'

             current_row

          CHANGING

             p_t_excel_content[].

  PERFORM fill_header_fields

          USING

             wa_cabecalho

             'CAPA (1)'

             current_row

             p_t_matrix[]

             p_t_report_fields[]

          CHANGING

             p_t_excel_content[].

  ADD v_linhacab TO current_row.

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

  PERFORM append_new_section

          USING

             'CAPA (2)'

             current_row

          CHANGING

             p_t_excel_content[].

  PERFORM fill_header_fields

          USING

             wa_cabecalho

             'CAPA (2)'

             current_row

             p_t_matrix[]

             p_t_report_fields[]

          CHANGING

             p_t_excel_content[].

  ADD v_linhacab2 TO current_row.

  PERFORM append_new_section

          USING

             'CAPA (3)'

             current_row

          CHANGING

             p_t_excel_content[].

  PERFORM fill_header_fields

          USING

             wa_cabecalho

             'CAPA (3)'

             current_row

             p_t_matrix[]

             p_t_report_fields[]

          CHANGING

             p_t_excel_content[].

  ADD v_linhacab3 TO current_row.

* << Fim da exclusão

  PERFORM add_page_break

          USING

             current_row

          CHANGING

             p_t_excel_content[].

ENDFORM.

 

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

Modificações efetuadas em REPS /PWS/ZYCRR034

 

...

     USING

        p_header          TYPE any

        p_rep_param       TYPE /pws/zycrt013

        p_t_matrix        TYPE t_matrix

        p_t_report_fields TYPE t_rep_fields

     CHANGING

        p_t_excel_content TYPE t_excel_content

        p_t_sect_height   TYPE t_sect_height.

  DATA: current_row  TYPE i VALUE 1.

  DATA:

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

        v_linhacab  TYPE i,

        v_linhacab2 TYPE i,

        v_linhacab3 TYPE i.

* << Fim da exclusão

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

        v_linhacab  TYPE i.

* << Fim da inclusão

  PERFORM select_row_height_cache

  USING

  p_rep_param-spras

  p_rep_param-file_id

  CHANGING

  p_t_sect_height[].

  PERFORM get_section_rows

          USING

             'CAPA (01)'

             p_t_sect_height[]

          CHANGING

             v_linhacab.

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

  PERFORM get_section_rows

          USING

             'CAPA (01)'

             p_t_sect_height[]

          CHANGING

             v_linhacab2.

  PERFORM get_section_rows

          USING

             'CAPA (01)'

             p_t_sect_height[]

          CHANGING

             v_linhacab3.

* << Fim da exclusão

  PERFORM append_new_section

          USING

             'CAPA (01)'

             current_row

          CHANGING

             p_t_excel_content[].

  PERFORM fill_header_fields

          USING

             wa_cabecalho

             'CAPA (01)'

             current_row

             p_t_matrix[]

             p_t_report_fields[]

          CHANGING

             p_t_excel_content[].

  ADD v_linhacab TO current_row.

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

  PERFORM append_new_section

          USING

             'CAPA (01)'

             current_row

          CHANGING

             p_t_excel_content[].

  PERFORM fill_header_fields

          USING

             wa_cabecalho

             'CAPA (01)'

             current_row

             p_t_matrix[]

             p_t_report_fields[]

          CHANGING

             p_t_excel_content[].

  ADD v_linhacab2 TO current_row.

  PERFORM append_new_section

          USING

             'CAPA (01)'

             current_row

          CHANGING

             p_t_excel_content[].

  PERFORM fill_header_fields

          USING

             wa_cabecalho

             'CAPA (01)'

             current_row

             p_t_matrix[]

             p_t_report_fields[]

          CHANGING

             p_t_excel_content[].

  ADD v_linhacab3 TO current_row.

* << Fim da exclusão

  PERFORM add_page_break

          USING

             current_row

          CHANGING

             p_t_excel_content[].

ENDFORM.

FORM trata_procurador CHANGING p_proc.

  FREE v_tab.

  CLEAR: v_tab, f_tab.

  REFRESH: v_tab, f_tab.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCRR035

 

...

    ADD v_linharod TO current_row.

    PERFORM add_page_break

            USING

               current_row

            CHANGING

               p_t_excel_content[].

  ENDWHILE.

  itab_exel_temp[] = p_t_excel_content[].

  SUBTRACT 1 FROM current_row.

  section_rows = current_row.

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

  DO 2 TIMES.

    LOOP AT itab_exel_temp INTO wa_exel_temp.

      ADD current_row TO wa_exel_temp-row.

      APPEND wa_exel_temp TO p_t_excel_content.

    ENDLOOP.

    ADD section_rows TO current_row.

  ENDDO.

* << Fim da exclusão

ENDFORM.

FORM trata_procurador CHANGING p_proc.

  FREE v_tab.

  CLEAR: v_tab, f_tab.

  REFRESH: v_tab, f_tab.

  SELECT * FROM /pws/zycrt003

  INTO TABLE itab_zycrt003.

  LOOP AT itab_zycrt003.

    MOVE itab_zycrt003-name TO v_tab.

    APPEND v_tab.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCRR036

 

...

             'ITENS'

             p_t_sect_height[]

          CHANGING

             v_linhaite.

  PERFORM get_section_rows

          USING

             'RODA1'

             p_t_sect_height[]

          CHANGING

             v_linhasub.

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

  PERFORM get_section_rows

          USING

             'RODA2'

             p_t_sect_height[]

          CHANGING

             v_linhasub2.

* << Fim da exclusão

  DESCRIBE TABLE p_t_items LINES v_lines.

  CLEAR: current_item, v_completo.

  WHILE v_completo NE 'X'.

    CLEAR: v_completo.

    ADD 1 TO p_header-anexo.

    PERFORM append_new_section

            USING

               'CAB'

               current_row

            CHANGING

...

 

...

    current_row = current_row + v_linhasub.

    PERFORM add_page_break

            USING

               current_row

            CHANGING

               p_t_excel_content[].

  ENDWHILE.

  itab_exel_temp[] = p_t_excel_content[].

  SUBTRACT 1 FROM current_row.

  section_rows = current_row.

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

  DO 4 TIMES.

    LOOP AT itab_exel_temp INTO wa_exel_temp.

      ADD current_row TO wa_exel_temp-row.

      IF wa_exel_temp-sheet EQ 'RODA1'.

        wa_exel_temp-sheet = 'RODA2'.

      ENDIF.

      APPEND wa_exel_temp TO p_t_excel_content.

    ENDLOOP.

    ADD section_rows TO current_row.

  ENDDO.

* << Fim da exclusão

  DELETE FROM /pws/zycit474 WHERE nrseqd EQ p_nrseqd

                              AND pasta  EQ 'M'.

  INSERT /pws/zycit474 FROM TABLE itab_zycit474.

ENDFORM.

FORM converter_moeda USING p_devlme

                           p_deme

                           p_parame

                           p_data

                  CHANGING p_paravlme.

  DATA: v_ctmoeda LIKE tcurr-kurst VALUE 'G',

...