Módulo: DOC. IMPORTAÇÃO
Funcionalidade: PLI
Data/Hora da Publicação: 13/08/2010 00:00:00
Data/Hora Última Alteração: 11/02/2011 09:16:00
Descrição da Nota: AJUSTES NA PLI PARA TRANSMISSÃO E GERAÇÃO DO ARQUIVO TEXTO
Sintoma
Ao gerar arquivo texto da PLI 5.0 estava desposicionando o campo complemento da especificação
técnica, referência do fabricante, part number e matéria prima básica. Não esta carregando Unidade
de Medida e o Valor total dos itens agrupados não estava somarizando corretamente
Solução
Compor corretamente o campo complemento da Especificação, carrregar a unidade de medida conforme
função de conversão e somarizar os itens da PLI agrupados
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10494 Data: 13/08/2010 Hora: 15:17:00
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10494
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00004
Agrupamento : 00034
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
10468 - 00001 - 8.0 - 00004 - AJUSTE PREENCHIMENTO ESPECIFICAÇÃO TÉCNICA E VALOR NO LOCAL EMBAR
----------------------------------------------------------------------------------------------------
AJUSTES NA PLI PARA TRANSMISSÃO E GERAÇÃO DO ARQUIVO TEXTO
----------------------------------------------------------------------------------------------------
Palavras Chave:
PLI - TRANSMISSÃO - GERAÇÃO - ARQUIVO - TEXTO - UNIDDADE - MEDIDA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI020F01
REPS /PWS/MZYCI020F02
REPS /PWS/MZYCI020O01
REPS /PWS/ZYCIR041
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F01
...
LOOP AT it_zycit079.
v_tabix = sy-tabix.
IF NOT it_zycit079-destaque IS INITIAL.
READ TABLE it_ekpo_temp WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
READ TABLE it_zycit338 WITH KEY matnr = it_ekpo_temp-matnr
destaque = it_zycit079-destaque.
IF sy-subrc NE 0.
ENDIF.
IF it_zycit079-espec_tecnica IS INITIAL.
* >> Início da exclusão: FORM COMM_SAVEPLI
it_zycit079-espec_tecnica = it_zycit338-text_compl.
* << Fim da exclusão
* >> Início da inclusão: FORM COMM_SAVEPLI
SELECT SINGLE * FROM /pws/zycit219
WHERE codigo EQ it_zycit079-codsufra
AND ncm EQ it_zycit079-ncm
AND destaque EQ it_zycit079-destaque.
IF SY-SUBRC = 0.
it_zycit079-espec_tecnica = /pws/zycit219-descricao.
ELSE.
CLEAR it_zycit079-espec_tecnica.
ENDIF.
* << Fim da inclusão
ENDIF.
IF it_zycit079-ref_fabricante IS INITIAL.
it_zycit079-ref_fabricante = it_ekpo_temp-mfrpn.
ENDIF.
IF it_zycit079-part_number IS INITIAL.
it_zycit079-part_number = it_ekpo_temp-matnr.
ENDIF.
ENDIF.
CLEAR: v_esp,
v_txtki,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F02
...
MODIFY rtexti INDEX 1.
PERFORM save_txt_2.
ENDIF.
IF v_esp IS INITIAL.
READ TABLE rtexti INDEX 1.
v_esp = rtexti-tdline.
ENDIF.
SELECT SINGLE matnr FROM ekpo INTO v_matnr
WHERE ebeln = /pws/zycie079a-ebeln
AND ebelp = /pws/zycie079a-ebelp.
* >> Início da inclusão: FORM FILL_DESC
CLEAR: itab_zycit338.
REFRESH: itab_zycit338.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit338 INTO itab_zycit338
WHERE matnr = v_matnr
AND codsufra = /pws/zycie079a-codsufra.
READ TABLE itab_zycit338 INDEX 1.
CLEAR v_txtki.
itab_zycit338-mandt = sy-mandt.
itab_zycit338-matnr = v_matnr.
v_txtki = itab_zycit338(25).
CLEAR: rtexti.
REFRESH: rtexti.
...
...
/pws/zycie079a-ebelp INTO v_txtki.
IF NOT /pws/zycie078-aplicpli EQ '2'.
IF NOT /pws/zycie079a-codsufra IS INITIAL AND
NOT /pws/zycie079a-steuc1 IS INITIAL AND
NOT /pws/zycie079a-destaque IS INITIAL.
SELECT SINGLE descricao FROM /pws/zycit219
INTO v_ppb
WHERE codigo EQ /pws/zycie079a-codsufra
AND ncm EQ /pws/zycie079a-steuc1
AND destaque EQ /pws/zycie079a-destaque.
* >> Início da inclusão: FORM LOAD_DESCRI_SUFRAMA
IF SY-SUBRC = 0.
MOVE v_ppb(127) TO texto_t.
MOVE v_ppb+127 TO texto_t2.
ELSE.
IF texto_t IS INITIAL.
CLEAR texto_t.
ENDIF.
IF texto_t2 IS INITIAL.
CLEAR texto_t2.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSE.
CLEAR v_esp.
* >> Início da inclusão: FORM LOAD_DESCRI_SUFRAMA
CLEAR texto_t.
CLEAR texto_t2.
* << Fim da inclusão
ENDIF.
ELSE.
CONCATENATE /pws/zycie079a-ebeln /pws/zycie079a-ebelp INTO v_name.
IF NOT v_name IS INITIAL AND v_name NE '00000'.
...
...
IF it_zycit080-lifnr EQ /pws/zycie080-lifnr AND
NOT it_zycit080-nrforn IS INITIAL. "#EC CI_NOFIRST
CLEAR v_nrforn.
MOVE: it_zycit080-nrforn TO v_nrforn.
ENDIF.
ENDLOOP.
MOVE: v_nrforn TO /pws/zycie080-nrforn.
ENDFORM.
FORM load_v_esp.
PERFORM fill_desc.
* >> Início da exclusão: FORM LOAD_V_ESP
IF v_esp IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_V_ESP
IF TEXTO_T IS INITIAL.
* << Fim da inclusão
PERFORM load_descri_suframa.
ENDIF.
ENDFORM.
FORM carrega_embarque.
IF NOT /pws/zycie001-nrseq IS INITIAL.
SELECT SINGLE * FROM /pws/zycit001 INTO /pws/zycie001
WHERE nrseq EQ /pws/zycie001-nrseq.
IF sy-subrc EQ 0.
MOVE /pws/zycie001-nrseq TO /pws/zycie078-nrseq.
IF NOT /pws/zycie078-nrseq IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020O01
...
load_especificacao,
load_moeda_det .
IF NOT /pws/zycie079a-destaque IS INITIAL.
SELECT SINGLE * FROM ekpo
WHERE ebeln EQ /pws/zycie079a-ebeln
AND ebelp EQ /pws/zycie079a-ebelp.
SELECT SINGLE * FROM /pws/zycit338
WHERE matnr EQ ekpo-matnr
AND codsufra EQ /pws/zycie079a-codsufra.
IF /pws/zycie079a-espec_tecnica IS INITIAL.
* >> Início da exclusão: MODULE LOAD_ITEM
/pws/zycie079a-espec_tecnica = /pws/zycit338-text_compl.
* << Fim da exclusão
ENDIF.
IF /pws/zycie079a-ref_fabricante IS INITIAL.
/pws/zycie079a-ref_fabricante = ekpo-mfrpn.
ENDIF.
IF /pws/zycie079a-part_number IS INITIAL.
/pws/zycie079a-part_number = ekpo-matnr.
ENDIF.
ENDIF.
IF /pws/zycie079a-fabric EQ 2 AND /pws/zycie079a-lifnr IS INITIAL.
SELECT SINGLE * FROM ekpo
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR041
...
nrseqli LIKE /pws/zycit078-nrseqli,
numli LIKE /pws/zycit079-numli,
qtde_merc LIKE /pws/zycit079-qtd_iten,
vl_merc LIKE /pws/zycit079-netpr,
ntgew LIKE /pws/zycit079-ntgew,
qtdest LIKE /pws/zycit079-qtdest,
END OF it_collect.
DATA: BEGIN OF it_output_30 OCCURS 0,
filler01(4193),
END OF it_output_30.
* >> Início da inclusão:
DATA: BEGIN OF it_output_final OCCURS 0,
filler01(343),
filler03(4193),
filler04(70),
filler05(43),
filler07(4088),
filler08(401),
filler09(137),
filler10(57),
END OF it_output_final.
* << Fim da inclusão
DATA: w_conta_item(05) TYPE n,
w_seq(10),
w_ncm(08),
w_codsufra(04) TYPE n,
w_branco(254),
w_ano(04),
* >> Início da exclusão:
w_fileo LIKE rlgrap-filename,
* << Fim da exclusão
* >> Início da inclusão:
w_fileo TYPE string,
* << Fim da inclusão
v_txtkey1 LIKE thead-tdname,
v_txtkey2 LIKE thead-tdname,
v_desc LIKE t005u-bezei.
DATA: w_nome_arq(07) TYPE n,
w_nome_arq_2(10),
w_valor(15),
w_valor2(15),
w_aliqii(6),
w_qtde(14),
w_peso(15),
...
...
ELSE.
CLEAR: it_reg08-fabricante, it_reg08-end_fabric, it_reg08-nr_fabric,
it_reg08-compl_fabric, it_reg08-mun_fabric, it_reg08-uf_fabric,
it_reg08-pais_orig_merc.
ENDIF.
APPEND it_reg08.
ENDFORM.
FORM baixa_arquivo.
IF NOT it_output_30[] IS INITIAL.
CONCATENATE 'C:\SUFRAMA\PLI50\' w_nome_arq_2 '.PL5' INTO w_fileo.
* >> Início da exclusão: FORM BAIXA_ARQUIVO
CALL FUNCTION 'WS_DOWNLOAD'
* << Fim da exclusão
* >> Início da inclusão: FORM BAIXA_ARQUIVO
CALL FUNCTION 'GUI_DOWNLOAD'
* << Fim da inclusão
EXPORTING
filename = w_fileo
filetype = 'ASC'
* >> Início da inclusão: FORM BAIXA_ARQUIVO
trunc_trailing_blanks = 'X'
* << Fim da inclusão
TABLES
* >> Início da exclusão: FORM BAIXA_ARQUIVO
data_tab = it_output_30
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
* << Fim da exclusão
* >> Início da inclusão: FORM BAIXA_ARQUIVO
data_tab = it_output_final.
* << 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.
FORM monta_txt.
SORT it_reg03 BY numli.
LOOP AT it_reg03.
ON CHANGE OF it_reg03-numli.
...
...
CLEAR: ww_aliqii.
CLEAR: w_li_refer.
CLEAR: w_ac_aladi.
CLEAR: w_naladi.
CLEAR: w_mat_usado.
CLEAR: w_cond_merc.
CLEAR: w_tipo_ac_tar.
SELECT SINGLE *
FROM /pws/zycit078
WHERE nrseqli EQ it_reg03-nrseqli.
* >> Início da inclusão: FORM MONTA_TXT
SELECT SUM( vlmerc ) INTO w_vl_merc_iten
FROM /pws/zycit079
WHERE nrseqli EQ it_reg03-nrseqli
AND numli EQ it_reg03-numli.
* << Fim da inclusão
w_ind_exig = 'N'.
SELECT SINGLE *
FROM /pws/zycit079
WHERE nrseqli EQ it_reg03-nrseqli
AND numli EQ it_reg03-numli.
IF NOT /pws/zycit079-subs_exigencia IS INITIAL.
w_ind_exig = 'S'.
ENDIF.
* >> Início da exclusão: FORM MONTA_TXT
w_vl_merc_iten = /pws/zycit079-vlmerc.
* << Fim da exclusão
ww_aliqii = /pws/zycit079-aliqii.
w_li_refer = /pws/zycit079-nrli.
w_ac_aladi = /pws/zycit079-aladi.
w_naladi = /pws/zycit079-naladi.
w_tipo_ac_tar = /pws/zycit079-codtarif.
w_mat_usado = 'N'.
w_cond_merc = 'N'.
IF NOT /pws/zycit079-matusado IS INITIAL.
w_mat_usado = /pws/zycit079-matusado.
ENDIF.
...
...
it_reg01-tipo_doc TO it_output_30-filler01+256(01),
it_reg01-doc_refer TO it_output_30-filler01+257(08),
'0' TO it_output_30-filler01+265(01),
it_reg01-tipo_aplic TO it_output_30-filler01+266(01),
w_li_refer+0(10) TO it_output_30-filler01+267(10),
it_reg01-nr_proex TO it_output_30-filler01+277(08),
it_reg01-ano_proex TO it_output_30-filler01+285(04),
it_reg01-e_mail TO it_output_30-filler01+289(50),
it_reg01-versao TO it_output_30-filler01+339(03),
w_ind_exig TO it_output_30-filler01+342(01).
* >> Início da inclusão: FORM MONTA_01
MOVE it_output_30-filler01+0(343) TO it_output_final-filler01.
APPEND it_output_final.
CLEAR it_output_final.
* << Fim da inclusão
APPEND it_output_30.
CLEAR it_output_30.
ENDFORM.
FORM monta_09.
READ TABLE it_reg09 WITH KEY nrseqli = it_reg03-nrseqli.
MOVE: w_seq TO it_reg09-trat_prev,
w_ncm TO it_reg09-ncm_merc,
w_codsufra TO it_reg09-produto_zfm.
it_reg09-naladi = w_naladi.
IF it_reg09-naladi EQ '00000000'.
...
...
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_valor2 TO it_output_30-filler01+99(15),
w_mat_usado TO it_output_30-filler01+114(01),
w_cond_merc TO it_output_30-filler01+115(01),
it_reg09-urf_entr TO it_output_30-filler01+116(07),
it_reg09-pais_proc TO it_output_30-filler01+123(03),
it_reg09-urf_despacho TO it_output_30-filler01+126(07),
w_aliqii+2(04) TO it_output_30-filler01+133(04).
* >> Início da inclusão: FORM MONTA_09
MOVE it_output_30-filler01+0(137) TO it_output_final-filler09.
APPEND it_output_final.
CLEAR it_output_final.
* << Fim da inclusão
APPEND it_output_30.
CLEAR it_output_30.
ENDFORM.
FORM monta_08.
it_reg08-tipo_reg = '08'.
it_reg08-nrseqli = it_reg03-nrseqli.
it_reg08-cd_inscsuf = it_reg03-cd_inscsuf.
PERFORM busca_tabela_080.
READ TABLE it_reg08 WITH KEY nrseqli = it_reg03-nrseqli
ebeln = it_reg03-ebeln
...
...
it_reg08-pais_aquis_merc TO it_output_30-filler01+217(03),
it_reg08-ausencia_fabric TO it_output_30-filler01+220(01),
it_reg08-fabricante TO it_output_30-filler01+221(60),
it_reg08-end_fabric TO it_output_30-filler01+281(40),
it_reg08-nr_fabric TO it_output_30-filler01+321(06),
it_reg08-compl_fabric TO it_output_30-filler01+327(21),
it_reg08-uf_fabric TO it_output_30-filler01+348(20),
w_branco+0(05) TO it_output_30-filler01+368(05),
it_reg08-mun_fabric TO it_output_30-filler01+373(25),
it_reg08-pais_orig_merc TO it_output_30-filler01+398(03).
* >> Início da inclusão: FORM MONTA_08
MOVE it_output_30-filler01+0(401) TO it_output_final-filler08.
APPEND it_output_final.
CLEAR it_output_final.
* << Fim da inclusão
APPEND it_output_30.
CLEAR it_output_30.
ENDFORM.
FORM monta_10.
DATA: w_agencia(05).
READ TABLE it_reg10 WITH KEY nrseqli = it_reg03-nrseqli.
MOVE: w_seq TO it_reg10-trat_prev,
w_ncm TO it_reg10-ncm_merc,
w_codsufra TO it_reg10-produto_zfm,
it_reg10-ag_secex TO w_agencia.
...
...
w_zeros TO it_output_30-filler01+33(07),
w_tipo_ac_tar TO it_output_30-filler01+40(01),
w_ac_aladi TO it_output_30-filler01+41(03),
it_reg10-reg_tribut TO it_output_30-filler01+44(01),
it_reg10-fund_leg TO it_output_30-filler01+45(02),
it_reg10-cob_cambial TO it_output_30-filler01+47(01),
it_reg10-modal_pgto TO it_output_30-filler01+48(02),
it_reg10-dia_lim_pgto TO it_output_30-filler01+50(03),
it_reg10-orgao_fin TO it_output_30-filler01+53(02),
it_reg10-mot_sem_cob+0(02) TO it_output_30-filler01+55(02).
* >> Início da inclusão: FORM MONTA_10
MOVE it_output_30-filler01+0(57) TO it_output_final-filler10.
APPEND it_output_final.
CLEAR it_output_final.
* << Fim da inclusão
APPEND it_output_30.
CLEAR it_output_30.
ENDFORM.
FORM monta_03.
LOOP AT it_reg03 WHERE numli = w_numli.
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),
it_reg03-produto_zfm TO it_output_30-filler01+33(04),
w_zeros TO it_output_30-filler01+37(07),
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),
* >> Início da exclusão: FORM MONTA_03
it_reg03-desc_det(254) TO it_output_30-filler01+96(254),
it_reg03-ref_fabric TO it_output_30-filler01+350(20),
it_reg03-part_number TO it_output_30-filler01+370(20),
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_03
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).
REPLACE ' ' WITH '¤' INTO it_reg03-part_number .
WHILE sy-subrc EQ 0.
REPLACE ' ' WITH '¤' INTO it_reg03-part_number .
ENDWHILE.
MOVE:
it_reg03-part_number TO it_output_30-filler01+370(20).
REPLACE ' ' WITH '¤' INTO it_reg03-mat_prima .
WHILE sy-subrc EQ 0.
REPLACE ' ' WITH '¤' INTO it_reg03-mat_prima .
ENDWHILE.
MOVE:
* << Fim da inclusão
it_reg03-mat_prima TO it_output_30-filler01+390(20).
IF it_reg01-tipo_aplic EQ '1'.
* >> Início da inclusão: FORM MONTA_03
DATA: v_matnr LIKE /pws/zycit338-matnr.
DATA: v_codfufra LIKE /pws/zycit338-codsufra.
* << Fim da inclusão
DATA v_txtki LIKE thead-tdname.
DATA: itab_tline LIKE tline OCCURS 10 WITH HEADER LINE.
* >> Início da exclusão: FORM MONTA_03
DATA: v_matnr LIKE /pws/zycit338-matnr.
DATA: v_codfufra LIKE /pws/zycit338-codsufra.
* << Fim da exclusão
DATA: v_texto TYPE string.
* >> Início da inclusão: FORM MONTA_03
DATA: v_texto3 TYPE string.
* << Fim da inclusão
DATA: v_texto2 TYPE string.
DATA: v_cont TYPE i.
DATA: v_cont_line TYPE i.
DATA: v_cont_aux TYPE i.
* >> Início da inclusão: FORM MONTA_03
DATA: v_cont_texto TYPE i.
DATA: v_cont_do TYPE i.
DATA: v_spaco.
* << Fim da inclusão
CONSTANTS: v_max TYPE i VALUE '3723'.
CLEAR v_txtki.
CLEAR v_matnr.
CLEAR v_codfufra.
v_matnr = it_reg03-part_number.
v_codfufra = it_reg03-produto_zfm.
* >> Início da inclusão: FORM MONTA_03
REPLACE '¤' WITH ' ' INTO v_matnr.
WHILE sy-subrc EQ 0.
REPLACE '¤' WITH ' ' INTO v_matnr.
ENDWHILE.
* << Fim da inclusão
CONCATENATE sy-mandt
v_matnr
INTO v_txtki.
v_txtki+21 = v_codfufra.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = '0338'
language = sy-langu
name = v_txtki
...
...
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
v_cont = 0.
* >> Início da inclusão: FORM MONTA_03
CLEAR v_texto.
* << Fim da inclusão
LOOP AT itab_tline.
v_cont_line = strlen( itab_tline ).
v_cont_aux = v_cont + v_cont_line.
IF v_cont_aux < v_max.
* >> Início da inclusão: FORM MONTA_03
IF sy-tabix = 1.
* << Fim da inclusão
CONCATENATE
* >> Início da inclusão: FORM MONTA_03
v_texto itab_tline-tdline INTO v_texto.
ELSE.
CONCATENATE
* << Fim da inclusão
v_texto itab_tline-tdline INTO v_texto SEPARATED BY space.
* >> Início da inclusão: FORM MONTA_03
ENDIF.
* << Fim da inclusão
v_cont = v_cont + v_cont_line + 1.
ELSE.
v_cont_line = v_cont_line - ( v_cont_aux - v_max ) - 1.
CONCATENATE
v_texto itab_tline-tdline(v_cont_line) INTO v_texto
SEPARATED BY space.
EXIT.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM MONTA_03
v_spaco = ' '.
v_cont_texto = strlen( v_texto ).
v_cont_do = v_cont_texto.
DO.
IF v_cont_do <= 3723 .
CONCATENATE v_texto v_spaco INTO v_texto SEPARATED BY space.
v_cont_do = v_cont_do + 1.
ELSE.
EXIT.
ENDIF.
ENDDO.
* << Fim da inclusão
CONCATENATE v_texto
it_reg03-ref_fabric
it_reg03-part_number
it_reg03-mat_prima
* >> Início da exclusão: FORM MONTA_03
INTO v_texto2
SEPARATED BY space.
MOVE: v_texto2 TO it_output_30-filler01+410(3783).
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_03
INTO v_texto2 SEPARATED BY space
.
CONCATENATE it_output_30-filler01 v_texto2
INTO it_output_30-filler01.
REPLACE '¤' WITH ' ' INTO it_output_30-filler01.
WHILE sy-subrc EQ 0.
REPLACE '¤' WITH ' ' INTO it_output_30-filler01.
ENDWHILE.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM MONTA_03
MOVE: w_branco TO it_output_30-filler01+410(254).
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_03
DATA w_brancoss(3783).
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM MONTA_03
MOVE it_output_30-filler01+0(4193) TO it_output_final-filler03.
APPEND it_output_final.
CLEAR it_output_final.
* << Fim da inclusão
APPEND it_output_30.
CLEAR it_output_30.
ENDLOOP.
ENDFORM.
FORM monta_04.
READ TABLE it_reg04 WITH KEY nrseqli = it_reg03-nrseqli.
IF NOT it_reg04-proc_anuente IS INITIAL.
MOVE: w_seq TO it_reg04-trat_prev,
w_ncm TO it_reg04-ncm_merc,
w_codsufra TO it_reg04-produto_zfm.
MOVE: it_reg04-tipo_reg TO it_output_30-filler01+0(02),
it_reg04-trat_prev TO it_output_30-filler01+02(10),
it_reg04-cd_inscsuf TO it_output_30-filler01+12(09),
it_reg04-ncm_merc TO it_output_30-filler01+21(08),
it_reg04-proc_anuente TO it_output_30-filler01+29(20),
it_reg04-sig_anuente+0(10) TO it_output_30-filler01+49(10),
it_reg04-produto_zfm TO it_output_30-filler01+59(04),
w_zeros TO it_output_30-filler01+63(07).
* >> Início da inclusão: FORM MONTA_04
MOVE it_output_30-filler01+0(70) TO it_output_final-filler04.
APPEND it_output_final.
CLEAR it_output_final.
* << Fim da inclusão
APPEND it_output_30.
CLEAR it_output_30.
ENDIF.
ENDFORM.
FORM monta_05.
READ TABLE it_reg05 WITH KEY nrseqli = it_reg03-nrseqli.
MOVE: w_seq TO it_reg05-trat_prev,
w_ncm TO it_reg05-ncm_merc,
w_codsufra TO it_reg05-produto_zfm.
PERFORM destaque_ncm.
MOVE: it_reg05-tipo_reg TO it_output_30-filler01+0(02),
it_reg05-trat_prev TO it_output_30-filler01+02(10),
it_reg05-cd_inscsuf TO it_output_30-filler01+12(09),
it_reg05-ncm_merc TO it_output_30-filler01+21(08),
it_reg05-destaque_ncm TO it_output_30-filler01+29(03),
it_reg05-produto_zfm TO it_output_30-filler01+32(04),
w_zeros TO it_output_30-filler01+36(07).
* >> Início da inclusão: FORM MONTA_05
MOVE it_output_30-filler01+0(43) TO it_output_final-filler05.
APPEND it_output_final.
CLEAR it_output_final.
* << Fim da inclusão
APPEND it_output_30.
CLEAR it_output_30.
ENDFORM.
FORM monta_07.
DATA v_txtki LIKE thead-tdname.
DATA: itab_tline LIKE tline OCCURS 10 WITH HEADER LINE.
DATA: v_matnr LIKE /pws/zycit338-matnr.
DATA: v_codfufra LIKE /pws/zycit338-codsufra.
DATA: v_texto TYPE string.
DATA: v_texto2 TYPE string.
...
...
MOVE: w_seq TO it_reg07-trat_prev,
w_ncm TO it_reg07-ncm_merc,
w_codsufra TO it_reg07-produto_zfm.
MOVE: it_reg07-tipo_reg TO it_output_30-filler01+0(02),
it_reg07-trat_prev TO it_output_30-filler01+02(10),
it_reg07-cd_inscsuf TO it_output_30-filler01+12(09),
it_reg07-ncm_merc TO it_output_30-filler01+21(08),
it_reg07-produto_zfm TO it_output_30-filler01+29(04),
w_zeros TO it_output_30-filler01+33(07),
v_texto TO it_output_30-filler01+40(4048).
* >> Início da inclusão: FORM MONTA_07
MOVE it_output_30-filler01+0(4088) TO it_output_final-filler07.
APPEND it_output_final.
CLEAR it_output_final.
* << Fim da inclusão
APPEND it_output_30.
CLEAR it_output_30.
ENDFORM.
FORM busca_texto_pli.
v_txtkey1 = it_reg01-nrseqli.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = 'ZTLI'
language = sy-langu
...
...
FORM busca_descricao.
SELECT SINGLE descricao
INTO it_reg03-desc_det
FROM /pws/zycit219
WHERE codigo = it_reg03-produto_zfm
AND ncm = it_reg03-ncm_merc
AND destaque = it_reg03-nr_seq_prod.
ENDFORM.
FORM busca_unidade_medida.
DATA: w_unidade LIKE /pws/zycit079-meins.
* >> Início da exclusão: FORM BUSCA_UNIDADE_MEDIDA
WRITE /pws/zycit079-meins TO w_unidade.
* << Fim da exclusão
SELECT SINGLE descr INTO it_reg03-un_medid
FROM /pws/zyglt204
* >> Início da exclusão: FORM BUSCA_UNIDADE_MEDIDA
WHERE msehi = w_unidade.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_UNIDADE_MEDIDA
WHERE msehi = /pws/zycit079-meins.
* << Fim da inclusão
ENDFORM.
FORM checa_desc_compl.
...