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.
9.0
Produto:
Nota
Descrição
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).
...