CE PLUS - Nota 013497

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Relatórios

Data/Hora da Publicação: 06/12/2013 08:58:01

Data/Hora Última Alteração: 06/12/2013 08:58:01

Descrição da Nota: CORREÇÃO NA GERAÇÃO DO ARQUIVO TXT DA PLI.

Sintoma

O tamanho das linhas do arquiv TXT estão diferentes do layout definido.

 

 

Solução

Ajustada geração do arquivo TXT.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

DUMP AO TRANSMITIR PLI - SUFRAMA 5.0

A PLI NÃO PERMITE GERAR O TXT SEM POSSUIR LI VINCULADA

INCLUSÃO DE CAMPOS NO ENVIO DO TXT - PLI SUFRAMA

Informações Complementares

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

Nota Número 13497 Data: 05/12/2013 Hora: 14:33:10

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

 

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

Nota Número              : 13497

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 9.0

Pacote                   : 00006

Agrupamento              : 00166

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

Referência às notas relacionadas:

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

 

12925  - 00001 - 9.0    - 00004  - INCLUSÃO DE CAMPOS NO ENVIO DO TXT - PLI SUFRAMA

13385  - 00002 - 9.0    - 00006  - DUMP AO TRANSMITIR PLI - SUFRAMA 5.0

13400  - 00003 - 9.0    - 00006  - A PLI NÃO PERMITE GERAR O TXT SEM POSSUIR LI VINCULADA

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

CORREÇÃO NA GERAÇÃO DO ARQUIVO TXT DA PLI.

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

Palavras Chave:

ERRO - COMPRIMENTO - LINHA - LAYOUT - ARQUIVO - TXT

/PWS/ZYCIR041

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

Objetos da nota:

REPS /PWS/ZYCIR041

 

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

Modificações efetuadas em REPS /PWS/ZYCIR041

 

...

DATA: BEGIN OF it_output_final OCCURS 0,

        filler01(343),

        filler03(4193),

        filler04(70),

        filler05(43),

        filler07(4088),

        filler08(401),

* >> Início da exclusão:

        filler09(122),

* << Fim da exclusão

* >> Início da inclusão:

        filler09(135),

* << Fim da inclusão

        filler10(75),

      END OF it_output_final.

...

 

...

FORM baixa_arquivo.

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

  DATA: BEGIN OF it_txt OCCURS 0,

      linha TYPE string,

        END OF it_txt.

  DATA: v_leng(4194) TYPE c,

        v_lim(1) TYPE c.

  DATA: it_txt1 TYPE TABLE OF soli WITH HEADER LINE,

        it_txt2 TYPE TABLE OF soli WITH HEADER LINE.

  APPEND it_txt1.

  CALL FUNCTION 'SO_RAW_TO_RTF'

       TABLES

            objcont_old = it_txt1

            objcont_new = it_txt2.

  READ TABLE it_txt2 INDEX 1.

  v_lim = it_txt2-line+1(1).

  LOOP AT it_output_final.

    IF NOT it_output_final-filler01 IS INITIAL.

      CLEAR it_txt.

      v_leng = it_output_final-filler01.

      v_leng+343 = v_lim.

      it_txt-linha = v_leng.

      APPEND it_txt.

    ENDIF.

    IF NOT it_output_final-filler03 IS INITIAL.

      CLEAR it_txt.

      v_leng = it_output_final-filler03.

      v_leng+4193 = v_lim.

      it_txt-linha = v_leng.

      APPEND it_txt.

    ENDIF.

    IF NOT it_output_final-filler04 IS INITIAL.

      CLEAR it_txt.

      v_leng = it_output_final-filler04.

      v_leng+70 = v_lim.

      it_txt-linha = v_leng.

      APPEND it_txt.

    ENDIF.

    IF NOT it_output_final-filler05 IS INITIAL.

      CLEAR it_txt.

      v_leng = it_output_final-filler05.

      v_leng+43 = v_lim.

      it_txt-linha = v_leng.

      APPEND it_txt.

    ENDIF.

    IF NOT it_output_final-filler07 IS INITIAL.

      CLEAR it_txt.

      v_leng = it_output_final-filler07.

      v_leng+4088 = v_lim.

      it_txt-linha = v_leng.

      APPEND it_txt.

    ENDIF.

    IF NOT it_output_final-filler08 IS INITIAL.

      CLEAR it_txt.

      v_leng = it_output_final-filler08.

      v_leng+401 = v_lim.

      it_txt-linha = v_leng.

      APPEND it_txt.

    ENDIF.

    IF NOT it_output_final-filler09 IS INITIAL.

      CLEAR it_txt.

      CLEAR it_txt.

      v_leng = it_output_final-filler09.

      v_leng+135 = v_lim.

      it_txt-linha = v_leng.

      APPEND it_txt.

    ENDIF.

    IF NOT it_output_final-filler10 IS INITIAL.

      CLEAR it_txt.

      v_leng = it_output_final-filler10.

      v_leng+75 = v_lim.

      it_txt-linha = v_leng.

      APPEND it_txt.

    ENDIF.

  ENDLOOP.

* << Fim da inclusão

  IF NOT it_output_30[] IS INITIAL.

    CONCATENATE 'C:\SUFRAMA\PLI50\' w_nome_arq_2 '.PL5' INTO w_fileo.

    CALL FUNCTION 'GUI_DOWNLOAD'

             EXPORTING

                  filename                = w_fileo

                  filetype                = 'ASC'

                  trunc_trailing_blanks   = 'X'

      TABLES

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

        data_tab                      = it_output_final.

* << Fim da exclusão

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

        data_tab                      = it_txt.

* << Fim da inclusão

    IF sy-subrc <> 0.

      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

        w_zeros                 TO it_output_30-filler01+33(07),

        it_reg09-naladi         TO it_output_30-filler01+40(08),

        w_peso                  TO it_output_30-filler01+48(15),

        w_qtde                  TO it_output_30-filler01+63(14),

        it_reg09-aplic_merc     TO it_output_30-filler01+77(01),

        it_reg09-moeda+0(03)    TO it_output_30-filler01+78(03),

        it_reg09-incoterms      TO it_output_30-filler01+81(03),

        w_valor                 TO it_output_30-filler01+84(15),

        w_mat_usado             TO it_output_30-filler01+99(01),

        w_cond_merc      TO it_output_30-filler01+100(01),

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

        it_reg09-urf_entr       TO it_output_30-filler01+101(07),

        it_reg09-pais_proc      TO it_output_30-filler01+108(03),

        it_reg09-urf_despacho   TO it_output_30-filler01+111(07),

        w_aliqii+2(04)          TO it_output_30-filler01+118(04).

  MOVE it_output_30-filler01+0(122) TO it_output_final-filler09.

* << Fim da exclusão

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

        it_reg09-urf_entr       TO it_output_30-filler01+114(07),

        it_reg09-pais_proc      TO it_output_30-filler01+121(03),

        it_reg09-urf_despacho   TO it_output_30-filler01+124(07),

        w_aliqii+2(04)          TO it_output_30-filler01+131(04).

  MOVE it_output_30-filler01+0(135) TO it_output_final-filler09.

* << Fim da inclusão

  APPEND it_output_final.

  CLEAR it_output_final.

  APPEND it_output_30.

  CLEAR  it_output_30.

ENDFORM.

...

 

...

FORM monta_03.

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

  LOOP AT it_reg03 WHERE numli = w_numli.

* << Fim da exclusão

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

  LOOP AT it_reg03 WHERE nrseqli = w_numli.

* << Fim da inclusão

    MOVE:  w_seq TO it_reg03-trat_prev.

    PERFORM trata_decimais_01.

    TRANSLATE it_reg03-ncm_merc USING '. '.

    CONDENSE it_reg03-ncm_merc NO-GAPS.

    w_ncm   = it_reg03-ncm_merc.

    MOVE: it_reg03-tipo_reg         TO it_output_30-filler01+0(02),

         it_reg03-trat_prev         TO it_output_30-filler01+02(10),

         it_reg03-cd_inscsuf        TO it_output_30-filler01+12(09),

         w_ncm                      TO it_output_30-filler01+21(08),

         it_reg03-nr_seq_prod       TO it_output_30-filler01+29(04),

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

         it_reg03-produto_zfm       TO it_output_30-filler01+33(04),

         w_zeros                    TO it_output_30-filler01+37(07),

* << Fim da exclusão

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

         w_zeros                    TO it_output_30-filler01+33(07),

         it_reg03-produto_zfm       TO it_output_30-filler01+40(04),

* << Fim da inclusão

         w_qtde01                   TO it_output_30-filler01+44(14),

         it_reg03-un_medid+0(20)    TO it_output_30-filler01+58(20),

         w_valor01                  TO it_output_30-filler01+78(18),

         it_reg03-desc_det(254)     TO it_output_30-filler01+96(254).

    REPLACE ' ' WITH '¤' INTO it_reg03-ref_fabric .

    WHILE sy-subrc EQ 0.

      REPLACE ' ' WITH '¤' INTO it_reg03-ref_fabric .

    ENDWHILE.

    MOVE:

    it_reg03-ref_fabric        TO it_output_30-filler01+350(20).

...