Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 12/01/2009 00:00:00
Data/Hora Última Alteração: 09/03/2010 16:12:24
Descrição da Nota: VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DEVERIA
Sintoma
O Valor que foi levado para o Encerramento de Custos não esta igual ao custo efetivo. Problema de
Casas
decimais.
Solução
Ajuste Casas decimais e na conversão da moeda do custo efetivo e do encerramento de custo.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07896 Data: 12/01/2009 Hora: 13:58:51
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07896
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00115
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
Texto Rápido:
VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DEVERIA
----------------------------------------------------------------------------------------------------
Palavras Chave:
ENCER. DE CUSTOS, CUSTO EFETIVO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010F01
REPS /PWS/MZYCI010F02
REPS /PWS/MZYCI010F03
REPS /PWS/MZYCI010O01
REPS /PWS/MZYCI010O02
REPS /PWS/MZYCI010TOP
REPS /PWS/MZYCI010X01
REPS /PWS/ZYCIR007
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F01
...
e_txc = v_tax
e_defator = v_dfact
EXCEPTIONS
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
fator_nao_encontrado = 3
i_ctmoeda_nao_encontrado = 4
i_dtbase_nao_encontrada = 5
taxa_nao_encontrada = 6
i_montante_nao_encontrado = 7.
* >> Início da inclusão: FORM CONVERTER_MOEDA
.
* << Fim da inclusão
IF sy-subrc NE 0.
* >> Início da exclusão: FORM CONVERTER_MOEDA
v_demoeda = p_deme.
v_paramoeda = p_parame.
* << Fim da exclusão
* >> Início da inclusão: FORM CONVERTER_MOEDA
MESSAGE i061 WITH text-013 p_deme 'para' p_parame.
* << Fim da inclusão
v_medestino = v_meatual.
v_erro_conv = 'S'.
...
...
CLEAR: itab_zycit036a. FREE: itab_zycit036a.
SELECT SINGLE * FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycie001-bukrs.
IF sy-subrc NE 0.
MESSAGE w120.
ENDIF.
CLEAR: v_frete.
LOOP AT itab_zycit036_aux2 WHERE codigo = 'FRETEI'.
v_frete = v_frete + 1.
ENDLOOP.
* >> Início da inclusão: FORM CUSTEANDO_DESPESAS_EMBARQUE
PERFORM sel_docts.
* << Fim da inclusão
LOOP AT itab_zycit036_aux2.
ON CHANGE OF itab_zycit036_aux2-codigo.
CLEAR: itab_zycit036a.
ENDON.
itab_zycit036a-nrseq = itab_zycit036_aux2-nrseq.
itab_zycit036a-embarca = itab_zycit036_aux2-embarca.
itab_zycit036a-bukrs = itab_zycit036_aux2-bukrs.
itab_zycit036a-codigo = itab_zycit036_aux2-codigo.
IF NOT itab_zycit036_aux2-waers_real IS INITIAL
AND itab_zycit036_aux2-vlreal NE 0.
itab_zycit036a-waers_real = itab_zycit036_aux2-waers_real.
ENDIF.
IF itab_zycit036_aux2-codigo NE 'FRETEI'.
itab_zycit036a-vlreal = itab_zycit036_aux2-vlreal.
* >> Início da inclusão: FORM CUSTEANDO_DESPESAS_EMBARQUE
ENDIF.
* << Fim da inclusão
IF itab_zycit036_aux2-origem EQ 'PED'.
PERFORM retorna_decimais USING itab_zycit036a-waers_real
CHANGING itab_zycit036a-vlreal.
* >> Início da exclusão: FORM CUSTEANDO_DESPESAS_EMBARQUE
ENDIF.
* << Fim da exclusão
ENDIF.
IF itab_zycit036_aux2-codigo NE 'FRETEI'.
itab_zycit036a-vlmov = itab_zycit036_aux2-vlmov.
itab_zycit036a-waers_mov = /pws/zycbt007-waersb.
...
...
itab_zycit036-waers_mov = /pws/zycbt007-waersb.
itab_zycit036-waers_dif = /pws/zycbt007-waersb.
itab_zycit036-vldif = v_vlreal - itab_zycit036-vlmov.
MODIFY itab_zycit036.
ENDLOOP.
MODIFY /pws/zycit036 FROM TABLE itab_zycit036.
ENDFORM.
FORM custear_itens.
DATA: v_descon,
v_vlplan LIKE /pws/zycie036-vlreal,
* >> Início da inclusão: FORM CUSTEAR_ITENS
v_vlplant LIKE /pws/zycie036-vlreal,
* << Fim da inclusão
v_vlreal LIKE /pws/zycie036-vlreal,
v_vlmov LIKE /pws/zycie036-vlreal,
v_vldif LIKE /pws/zycie036-vlreal.
CLEAR : v_trea, v_tmov, v_tplan, v_sdif.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit042
INTO TABLE itab_zycit042
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq = itab_zycit003-nrseq
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
* >> Início da inclusão: FORM CUSTEAR_ITENS
TABLES : /pws/zycit442.
READ TABLE itab_zycit003 INDEX 1.
SELECT SINGLE * FROM /pws/zycit442
WHERE nrseqda EQ itab_zycit003-nrseqda.
* << Fim da inclusão
ENDIF.
SELECT SINGLE * FROM t001w
WHERE werks = /pws/zycie001-werks.
FREE itab_zycit033.
SELECT * FROM /pws/zycit033
INTO TABLE itab_zycit033
WHERE clnf EQ 'G'
AND bukrs EQ /pws/zycie001-bukrs.
* >> Início da inclusão: FORM CUSTEAR_ITENS
FREE it_fat.
SELECT * FROM /pws/zycit006 INTO TABLE it_fat
FOR ALL ENTRIES IN itab_zycit036_aux2
WHERE nrseq EQ itab_zycit036_aux2-nrseqori.
FREE it_dc.
SELECT * FROM /pws/zycit008 INTO TABLE it_dc
FOR ALL ENTRIES IN itab_zycit036_aux2
WHERE nradto EQ itab_zycit036_aux2-nrseqori.
FREE it_pc.
SELECT * FROM /pws/zycit026 INTO TABLE it_pc
FOR ALL ENTRIES IN itab_zycit036_aux2
WHERE nrpres EQ itab_zycit036_aux2-nrseqori.
FREE it_nf.
SELECT * FROM /pws/zycit042 INTO TABLE it_nf
FOR ALL ENTRIES IN itab_zycit036_aux2
WHERE nrseq EQ itab_zycit036_aux2-nrseq.
* << Fim da inclusão
SORT itab_zycit036_aux BY nrseq ebeln ebelp codigo .
FREE itab_zycit003_custo.
LOOP AT itab_zycit003.
CLEAR itab_zycit003_custo.
LOOP AT itab_zycit036_aux2
WHERE nrseq = itab_zycit003-nrseq
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
itab_zycit003_custo-nrseq = itab_zycit003-nrseq.
itab_zycit003_custo-ebeln = itab_zycit003-ebeln.
itab_zycit003_custo-ebelp = itab_zycit003-ebelp.
* >> Início da inclusão: FORM CUSTEAR_ITENS
LOOP AT itab_zycit036_plan
WHERE nrseq = itab_zycit003-nrseq
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND codigo = itab_zycit036_aux2-codigo.
* << Fim da inclusão
CLEAR v_vlplan.
IF v_erro_conv NE 'S'.
* >> Início da exclusão: FORM CUSTEAR_ITENS
IF itab_zycit036_aux2-waers NE /pws/zycie001-waers.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_ITENS
IF itab_zycit036_plan-waers NE /pws/zycie001-waers.
IF /pws/zycit000-flag_desp IS INITIAL.
* << Fim da inclusão
PERFORM converter_moeda
* >> Início da exclusão: FORM CUSTEAR_ITENS
USING itab_zycit036_aux2-netpr
itab_zycit036_aux2-waers
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_ITENS
USING itab_zycit036_plan-netpr
itab_zycit036_plan-waers
* << Fim da inclusão
/pws/zycbt007-waersb
CHANGING v_vlplan.
PERFORM converter_moeda
USING v_vlplan
/pws/zycbt007-waersb
/pws/zycie001-waers
CHANGING v_vlplan.
* >> Início da inclusão: FORM CUSTEAR_ITENS
ELSE.
IF /pws/zycie001-regime NE '14'.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_plan-waers
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_plan-waers
sy-datum
CHANGING v_taxa.
ENDIF.
itab_zycit036_plan-netpr = itab_zycit036_plan-netpr * v_taxa.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
IF NOT v_taxa IS INITIAL.
v_vlplan = itab_zycit036_plan-netpr / v_taxa.
ELSE.
MESSAGE e015 WITH text-074.
ENDIF.
ELSE.
IF NOT /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_plan-waers
/pws/zycit442-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_plan-waers
sy-datum
CHANGING v_taxa.
ENDIF.
itab_zycit036_plan-netpr = itab_zycit036_plan-netpr * v_taxa.
IF NOT /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit442-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
IF NOT v_taxa IS INITIAL.
v_vlplan = itab_zycit036_plan-netpr / v_taxa.
ELSE.
MESSAGE e015 WITH text-074.
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM CUSTEAR_ITENS
v_vlplan = itab_zycit036_aux2-netpr.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_ITENS
v_vlplan = itab_zycit036_plan-netpr.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM CUSTEAR_ITENS
itab_zycit003_custo-netpr = v_vlplan +
itab_zycit003_custo-netpr.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_ITENS
v_vlplant = v_vlplan + v_vlplant.
* << Fim da inclusão
IF NOT itab_zycit003_custo-netpr = 0.
itab_zycit003_custo-waers = /pws/zycie001-waers.
ENDIF.
* >> Início da inclusão: FORM CUSTEAR_ITENS
ELSE.
itab_zycit003_custo-waers = /pws/zycie001-waers.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM CUSTEAR_ITENS
itab_zycit003_custo-netpr = v_vlplant.
itab_zycit003_custo-waers = /pws/zycie001-waers.
ENDLOOP.
* << Fim da inclusão
CLEAR v_vlreal.
IF v_erro_conv NE 'S'.
IF itab_zycit036_aux2-waers_real NE /pws/zycie001-waers.
* >> Início da inclusão: FORM CUSTEAR_ITENS
IF itab_zycit036_aux2-origem EQ 'FAT'.
READ TABLE it_fat WITH KEY
nrseq = itab_zycit036_aux2-nrseqori.
IF it_fat-dtincl LT /pws/zycit085-dtuserc.
PERFORM converter_moeda
USING itab_zycit036_aux2-vlreal
itab_zycit036_aux2-waers_real
/pws/zycbt007-waersb
CHANGING v_vlreal.
PERFORM converter_moeda
USING v_vlreal
/pws/zycbt007-waersb
/pws/zycie001-waers
CHANGING v_vlreal.
ELSE.
IF itab_zycit036_aux2-waers_real NE
/pws/zycbt007-waersb AND
itab_zycit036_aux2-origem NE 'PED'.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
itab_zycit036_aux2-vlreal =
itab_zycit036_aux2-vlreal * v_taxa.
ENDIF.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
IF NOT v_taxa IS INITIAL.
v_vlreal = itab_zycit036_aux2-vlreal / v_taxa.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
ENDIF.
ENDIF.
READ TABLE it_nf WITH KEY
nrseq = itab_zycit036_aux2-nrseq
nrseqnf = itab_zycit036_aux2-nrseqori.
IF itab_zycit036_aux2-waers_real NE
/pws/zycbt007-waersb AND
itab_zycit036_aux2-origem NE 'PED'.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
itab_zycit036_aux2-vlreal =
itab_zycit036_aux2-vlreal * v_taxa.
ENDIF.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
IF NOT v_taxa IS INITIAL.
v_vlreal = itab_zycit036_aux2-vlreal / v_taxa.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
ENDIF.
ELSEIF itab_zycit036_aux2-origem EQ 'PC'.
READ TABLE it_pc WITH KEY
nrseq = itab_zycit036_aux2-nrseq
nrpres = itab_zycit036_aux2-nrseqori.
IF it_pc-dtaprov LT /pws/zycit085-dtuserc.
PERFORM converter_moeda
USING itab_zycit036_aux2-vlreal
itab_zycit036_aux2-waers_real
/pws/zycbt007-waersb
CHANGING v_vlreal.
PERFORM converter_moeda
USING v_vlreal
/pws/zycbt007-waersb
/pws/zycie001-waers
CHANGING v_vlreal.
ELSE.
IF itab_zycit036_aux2-waers_real NE
/pws/zycbt007-waersb AND
itab_zycit036_aux2-origem NE 'PED'.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
itab_zycit036_aux2-vlreal =
itab_zycit036_aux2-vlreal * v_taxa.
ENDIF.
PERFORM trata_decimais USING /pws/zycie001-waers
CHANGING itab_zycit036_aux2-vlreal.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
IF NOT v_taxa IS INITIAL.
v_vlreal = itab_zycit036_aux2-vlreal / v_taxa.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
ENDIF.
ENDIF.
ELSEIF itab_zycit036_aux2-origem EQ 'DC'.
READ TABLE it_dc WITH KEY
nrseq = itab_zycit036_aux2-nrseq
nradto = itab_zycit036_aux2-nrseqori.
IF it_pc-dtaprov LT /pws/zycit085-dtuserc.
PERFORM converter_moeda
USING itab_zycit036_aux2-vlreal
itab_zycit036_aux2-waers_real
/pws/zycbt007-waersb
CHANGING v_vlreal.
PERFORM converter_moeda
USING v_vlreal
/pws/zycbt007-waersb
/pws/zycie001-waers
CHANGING v_vlreal.
ELSE.
IF itab_zycit036_aux2-waers_real NE
/pws/zycbt007-waersb AND
itab_zycit036_aux2-origem NE 'PED'.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
itab_zycit036_aux2-vlreal =
itab_zycit036_aux2-vlreal * v_taxa.
ENDIF.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
IF NOT v_taxa IS INITIAL.
v_vlreal = itab_zycit036_aux2-vlreal / v_taxa.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
ENDIF.
ENDIF.
ELSEIF itab_zycit036_aux2-origem EQ 'DCD'.
IF itab_zycit036_aux2-waers_real NE /pws/zycbt007-waersb AND
itab_zycit036_aux2-origem NE 'PED'.
IF NOT /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
/pws/zycit442-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
itab_zycit036_aux2-vlreal = itab_zycit036_aux2-vlreal * v_taxa.
ENDIF.
IF NOT /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit442-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
IF NOT v_taxa IS INITIAL.
v_vlreal = itab_zycit036_aux2-vlreal / v_taxa.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
ENDIF.
ELSEIF itab_zycit036_aux2-origem EQ 'PCD'.
IF itab_zycit036_aux2-waers_real NE /pws/zycbt007-waersb AND
itab_zycit036_aux2-origem NE 'PED'.
IF NOT /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
/pws/zycit442-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
itab_zycit036_aux2-vlreal = itab_zycit036_aux2-vlreal * v_taxa.
ENDIF.
IF NOT /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit442-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
IF NOT v_taxa IS INITIAL.
v_vlreal = itab_zycit036_aux2-vlreal / v_taxa.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
ENDIF.
ELSE.
IF /pws/zycie001-regime NE '14'.
* << Fim da inclusão
IF itab_zycit036_aux2-waers_real NE /pws/zycbt007-waersb AND
itab_zycit036_aux2-origem NE 'PED'.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
itab_zycit036_aux2-vlreal = itab_zycit036_aux2-vlreal * v_taxa.
ENDIF.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
* >> Início da inclusão: FORM CUSTEAR_ITENS
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
PERFORM trata_decimais USING /pws/zycie001-waers
CHANGING itab_zycit036_aux2-vlreal.
IF NOT v_taxa IS INITIAL.
v_vlreal = itab_zycit036_aux2-vlreal / v_taxa.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
ENDIF.
ELSE.
IF itab_zycit036_aux2-waers_real NE /pws/zycbt007-waersb AND
itab_zycit036_aux2-origem NE 'PED'.
IF NOT /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
/pws/zycit442-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
itab_zycit036_aux2-vlreal = itab_zycit036_aux2-vlreal * v_taxa.
ENDIF.
IF NOT /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit442-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit442-dttax IS INITIAL.
* << Fim da inclusão
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
IF NOT v_taxa IS INITIAL.
v_vlreal = itab_zycit036_aux2-vlreal / v_taxa.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
* >> Início da inclusão: FORM CUSTEAR_ITENS
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF /pws/zycie001-regime NE '14'.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
* << Fim da inclusão
ENDIF.
ELSE.
* >> Início da inclusão: FORM CUSTEAR_ITENS
IF NOT /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit442-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
ENDIF.
* << Fim da inclusão
PERFORM retorna_decimais USING /pws/zycie001-waers
* >> Início da inclusão: FORM CUSTEAR_ITENS
CHANGING itab_zycit036_aux2-vlreal.
PERFORM trata_decimais USING /pws/zycie001-waers
* << Fim da inclusão
CHANGING itab_zycit036_aux2-vlreal.
v_vlreal = itab_zycit036_aux2-vlreal.
ENDIF.
itab_zycit003_custo-vlreal = v_vlreal +
itab_zycit003_custo-vlreal.
...
...
( itab_zycit033-tribicms EQ '3' AND
itab_zycit033-lei102 EQ 'X' ) ) AND
itab_zycit036_aux2-codigo EQ 'ICMS' ).
v_descon = 'S'.
ELSEIF itab_zycit033-tribipi EQ '1' AND
itab_zycit036_aux2-codigo EQ 'IPI'.
v_descon = 'S'.
ENDIF.
IF v_descon NE 'S'.
itab_zycit003_custo-vldif = itab_zycit003_custo-vldif +
* >> Início da exclusão: FORM CUSTEAR_ITENS
itab_zycit036_aux2-vldif
.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_ITENS
itab_zycit036_aux2-vldif.
* << Fim da inclusão
IF NOT itab_zycit036_aux-waers_dif IS INITIAL.
itab_zycit003_custo-waers_dif =
itab_zycit036_aux2-waers_dif.
ELSE.
itab_zycit003_custo-waers_dif = /pws/zycbt007-waersb.
ENDIF.
ENDIF.
READ TABLE itab_zycit036_rub
WITH KEY nrseq = itab_zycit036_aux2-nrseq
ebeln = itab_zycit036_aux2-ebeln
...
...
MODIFY itab_zycit036_rub INDEX sy-tabix.
ELSE.
MOVE itab_zycit036_aux2 TO itab_zycit036_rub.
APPEND itab_zycit036_rub.
ENDIF.
ENDLOOP.
APPEND itab_zycit003_custo.
ENDLOOP.
IF v_erro_conv EQ 'S'.
CLEAR v_erro_conv.
* >> Início da exclusão: FORM CUSTEAR_ITENS
MESSAGE I015 WITH text-019 text-020.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_ITENS
MESSAGE w015 WITH text-019 text-020.
* << Fim da inclusão
MOVE itab_zycit003[] TO itab_zycit003_custo[].
ENDIF.
ENDFORM.
FORM custear_embarque.
DATA: v_vlplan LIKE /pws/zycie036-vlreal,
v_vlreal LIKE /pws/zycie036-vlreal,
v_vlmov LIKE /pws/zycie036-vlreal,
v_vldif LIKE /pws/zycie036-vlreal.
CLEAR: /pws/zycie001-vlplan, /pws/zycie001-vlreal,
* >> Início da exclusão: FORM CUSTEAR_EMBARQUE
/pws/zycie001-vlmov , /pws/zycie001-vldif .
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_EMBARQUE
/pws/zycie001-vlmov , /pws/zycie001-vldif ,
v_dtreal.
* << Fim da inclusão
CLEAR: itab_zycit036_plan.
LOOP AT itab_zycit036_plan.
CLEAR: v_vlplan.
IF v_erro_conv NE 'S'.
IF itab_zycit036_plan-waers NE /pws/zycie001-waers AND
NOT itab_zycit036_plan-waers IS INITIAL.
PERFORM converter_moeda
USING itab_zycit036_plan-netpr
itab_zycit036_plan-waers
/pws/zycbt007-waersb
...
...
/pws/zycie001-waers
CHANGING v_vlplan.
ELSE.
v_vlplan = itab_zycit036_plan-netpr.
ENDIF.
/pws/zycie001-vlplan = v_vlplan + /pws/zycie001-vlplan.
/pws/zycie001-waers_plan = /pws/zycie001-waers.
ENDIF.
ENDLOOP.
CLEAR itab_zycit036a.
* >> Início da exclusão: FORM CUSTEAR_EMBARQUE
LOOP AT itab_zycit036a.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_EMBARQUE
FREE it_fat.
SELECT * FROM /pws/zycit006
INTO TABLE it_fat
FOR ALL ENTRIES IN itab_zycit036_aux2
WHERE nrseq EQ itab_zycit036_aux2-nrseqori.
LOOP AT itab_zycit036_aux2.
* << Fim da inclusão
CLEAR: v_vlreal.
* >> Início da inclusão: FORM CUSTEAR_EMBARQUE
v_vlreal_t = itab_zycit036_aux2-vlreal.
* << Fim da inclusão
IF v_erro_conv NE 'S'.
* >> Início da exclusão: FORM CUSTEAR_EMBARQUE
IF itab_zycit036a-waers_real NE /pws/zycie001-waers AND
NOT itab_zycit036a-waers_real IS INITIAL.
IF itab_zycit036a-waers_real NE /pws/zycbt007-waersb.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036a-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING itab_zycit036a-waers_real
sy-datum
CHANGING v_taxa.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_EMBARQUE
IF itab_zycit036_aux2-waers_real NE /pws/zycie001-waers AND
NOT itab_zycit036_aux2-waers_real IS INITIAL.
IF itab_zycit036_aux2-origem EQ 'FAT'.
READ TABLE it_fat WITH KEY
nrseq = itab_zycit036_aux2-nrseqori.
IF it_fat-dtincl LT /pws/zycit085-dtuserc.
PERFORM converter_moeda
USING v_vlreal_t
itab_zycit036_aux2-waers_real
/pws/zycbt007-waersb
CHANGING v_vlreal.
PERFORM converter_moeda
USING v_vlreal
/pws/zycbt007-waersb
/pws/zycie001-waers
CHANGING v_vlreal.
ELSE.
PERFORM conversao_aux.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM CUSTEAR_EMBARQUE
itab_zycit036a-vlreal = itab_zycit036a-vlreal * v_taxa.
ENDIF.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte USING /pws/zycie001-waers
sy-datum
CHANGING v_taxa.
ENDIF.
IF NOT v_taxa IS INITIAL.
v_vlreal = itab_zycit036a-vlreal / v_taxa.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_EMBARQUE
ELSE.
PERFORM read_docts USING itab_zycit036_aux2-origem
itab_zycit036_aux2-nrseqori
CHANGING v_dtreal.
IF v_dtreal LT /pws/zycit085-dtuserc OR
itab_zycit036_aux2-origem NE 'NF' OR
itab_zycit036_aux2-origem NE 'NFC'.
PERFORM conversao_vlreal
USING v_vlreal_t itab_zycit036_aux2-waers_real.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM CUSTEAR_EMBARQUE
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_EMBARQUE
PERFORM conversao_aux.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM CUSTEAR_EMBARQUE
LEAVE PROGRAM.
* << Fim da exclusão
ENDIF.
ELSE.
* >> Início da exclusão: FORM CUSTEAR_EMBARQUE
PERFORM retorna_decimais USING /pws/zycie001-waers
CHANGING itab_zycit036a-vlreal.
v_vlreal = itab_zycit036a-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEAR_EMBARQUE
PERFORM conversao_aux.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM CUSTEAR_EMBARQUE
/pws/zycie001-vlreal = v_vlreal + /pws/zycie001-vlreal.
/pws/zycie001-waers_real = /pws/zycie001-waers.
* << Fim da exclusão
ENDIF.
* >> Início da inclusão: FORM CUSTEAR_EMBARQUE
ENDLOOP.
LOOP AT itab_zycit036a.
* << Fim da inclusão
/pws/zycie001-vlmov = itab_zycit036a-vlmov +
/pws/zycie001-vlmov.
IF NOT itab_zycit036a-waers_mov IS INITIAL.
/pws/zycie001-waers_mov = itab_zycit036a-waers_mov.
ELSE.
IF itab_zycit036a-vlmov NE 0.
/pws/zycie001-waers_mov = /pws/zycbt007-waersb.
ENDIF.
ENDIF.
/pws/zycie001-vldif = itab_zycit036a-vldif +
...
...
LOOP AT itab_zycit036_aux2 WHERE
( origem = 'NF' OR
origem = 'DI' ) AND
codigo = 'FRETEI'.
IF itab_zycit036_aux2-vlreal IS INITIAL.
DELETE itab_zycit036_aux2.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM COD_DUPLICADOS
CLEAR: itab_zycit036_plan,
v_erro_m.
* << Fim da exclusão
* >> Início da inclusão: FORM COD_DUPLICADOS
CLEAR: itab_zycit036_plan.
* << Fim da inclusão
REFRESH itab_zycit036_plan.
LOOP AT itab_zycit036_aux.
IF itab_zycit036_aux-origem = 'PED'.
MOVE itab_zycit036_aux TO itab_zycit036_plan.
APPEND itab_zycit036_plan.
ENDIF.
ENDLOOP.
SORT itab_zycit036_plan BY codigo.
LOOP AT itab_zycit036_plan.
IF NOT itab_zycit036_plan-netpr = 0.
...
...
FROM bkpf
INTO TABLE it_bkpf
FOR ALL ENTRIES IN it_zycit006_aux2
WHERE bukrs EQ it_zycit006_aux2-bukrs
AND belnr EQ it_zycit006_aux2-belnr_p
AND gjahr EQ it_zycit006_aux2-dt_belnrp(04).
ENDIF.
LOOP AT itab_zycit036_aux2.
PERFORM move_plan_mov_aux.
ENDLOOP.
* >> Início da exclusão: FORM COD_DUPLICADOS
if v_erro_m NE 0.
MESSAGE i061 WITH text-013 v_demoeda 'para' v_paramoeda.
endif.
* << Fim da exclusão
SORT itab_zycit036_aux2 BY nrseq ebeln ebelp codigo origem.
ENDFORM.
* >> Início da inclusão:
FORM conversao_aux.
IF /pws/zycie001-regime NE '14'.
IF itab_zycit036_aux2-waers_real NE /pws/zycbt007-waersb.
IF NOT /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte
USING itab_zycit036_aux2-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit085-dttax IS INITIAL.
PERFORM taxa_converte
USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
v_vlreal_t = v_vlreal_t * v_taxa.
ENDIF.
v_vlreal = v_vlreal_t.
ELSE.
IF /pws/zycit442 IS INITIAL.
READ TABLE itab_zycit003 INDEX 1.
SELECT SINGLE * FROM /pws/zycit442
WHERE nrseqda EQ itab_zycit003-nrseqda.
ENDIF.
IF itab_zycit036_aux2-waers_real NE /pws/zycbt007-waersb.
IF NOT /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte
USING itab_zycit036_aux2-waers_real
/pws/zycit442-dttax
CHANGING v_taxa.
ELSEIF /pws/zycit442-dttax IS INITIAL.
PERFORM taxa_converte
USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
v_vlreal_t = v_vlreal_t * v_taxa.
ENDIF.
v_vlreal = v_vlreal_t.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F02
...
READ TABLE itab_zycit042 WITH KEY nrseq = /pws/zycie001-nrseq.
SELECT * FROM /pws/zycit041 INTO TABLE itab_zycit041
WHERE nrseq = itab_zycit042-nrseqnf AND
cancel = space.
IF sy-subrc NE 0.
v_nota = 'X'.
MESSAGE i015 WITH text-072.
ELSE.
LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial.
ENDLOOP.
* >> Início da exclusão: FORM ENCERRAMENTO
IF sy-subrc = 0.
* << Fim da exclusão
* >> Início da inclusão: FORM ENCERRAMENTO
IF sy-subrc = 0 and /pws/zycie001-regime ne '14'.
* << Fim da inclusão
SELECT * FROM /pws/zycit043 INTO TABLE itab_zycit043
WHERE nrseq = itab_zycit042-nrseqnf AND
cancel = space.
IF sy-subrc = 0.
LOOP AT itab_zycit043 WHERE belnr_mr1m IS initial.
ENDLOOP.
IF sy-subrc EQ 0.
v_nota = 'X'.
MESSAGE i015 WITH text-073.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
v_vlreal = itab_zycit036_aux2-vlreal.
IF itab_zycit036_aux2-origem NE 'FAT'.
PERFORM retorna_decimais USING itab_zycit036_aux2-waers
CHANGING v_vlreal.
v_valor = v_vlreal.
PERFORM converter_moeda USING
v_vlreal
itab_zycit036_aux2-waers
wa_zycbt007-waersb
CHANGING v_vlreal.
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
if wa_zycbt007-waersb ne itab_zycit036_aux2-waers
and v_valor eq v_vlreal.
v_erro_m = 1.
endif.
* << Fim da exclusão
ELSE.
READ TABLE it_zycit006_aux2 WITH KEY
nrseq = itab_zycit036_aux2-nrseqori.
IF sy-subrc EQ 0 AND it_zycit006_aux2-frpagto EQ 'P'.
v_vlreal = v_vlreal * /pws/zycit085-ukursfre .
ELSE.
READ TABLE it_bkpf WITH KEY
bukrs = it_zycit006_aux2-bukrs
belnr = it_zycit006_aux2-belnr_p
gjahr = it_zycit006_aux2-dt_belnrp(04).
...
...
itab_zycit036a-waers = v_medestino_a.
ELSE.
MOVE: itab_zycit036_conve-netpr TO itab_zycit036a-netpr,
itab_zycit036_conve-waers TO itab_zycit036a-waers.
ENDIF.
CLEAR: v_vlbrl_a, s_msg1, v_vlbrl.
IF itab_zycit036_conve-waers_real NE v_medestino_a
AND v_erro_conv NE 'S'
AND itab_zycit036_conve-vlreal GT 0 AND
NOT itab_zycit036_conve-waers_real IS INITIAL.
* >> Início da exclusão: FORM ALTERA_MOEDA
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE
currkey = itab_zycit036_conve-waers_real.
IF sy-subrc EQ 0.
PERFORM retorna_decimais USING itab_zycit036_conve-waers_real
CHANGING itab_zycit036_conve-vlreal.
ELSE.
PERFORM trata_decimais USING itab_zycit036_conve-waers_real
CHANGING itab_zycit036a-vlreal.
ENDIF.
IF NOT /pws/zycit085-dttax IS INITIAL.
IF /pws/zycit000-flag_desp IS INITIAL.
PERFORM converter_moeda USING
itab_zycit036_conve-vlreal
itab_zycit036_conve-waers_real
/pws/zycbt007-waersb
CHANGING v_vlbrl_a.
PERFORM converter_moeda USING v_vlbrl_a
/pws/zycbt007-waersb
v_medestino_a
CHANGING itab_zycit036a-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
READ TABLE itab_zycit036 WITH KEY
nrseq = itab_zycit036_conve-nrseq
codigo = itab_zycit036_conve-codigo.
PERFORM read_docts USING itab_zycit036-origem
itab_zycit036-nrseqori
CHANGING v_dtreal.
IF v_dtreal LT /pws/zycit085-dtuserc and (
itab_zycit036_aux2-origem NE 'NF' OR
itab_zycit036_aux2-origem NE 'NFC' ) .
PERFORM conversao_vlreal
USING itab_zycit036_conve-vlreal
itab_zycit036_conve-waers_real.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM ALTERA_MOEDA
IF itab_zycit036_conve-waers_real NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit036_conve-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
v_vlbrl_a = itab_zycit036_conve-vlreal * v_taxa.
IF v_medestino_a NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING v_medestino_a
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
IF NOT v_taxa IS INITIAL.
itab_zycit036a-vlreal = v_vlbrl_a / v_taxa.
ENDIF.
ENDIF.
ELSEIF NOT /pws/zycit085-dttax IS INITIAL AND
s_msg1 = 'X'.
PERFORM converter_moeda USING
itab_zycit036_conve-vlreal
itab_zycit036_conve-waers_real
/pws/zycbt007-waersb
CHANGING v_vlbrl_a.
PERFORM converter_moeda USING v_vlbrl_a
/pws/zycbt007-waersb
v_medestino_a
CHANGING itab_zycit036a-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_MOEDA
PERFORM altera_moeda_aux.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM ALTERA_MOEDA
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE
currkey = v_medestino_a.
itab_zycit036a-waers_real = v_medestino_a.
* << Fim da exclusão
ELSE.
MOVE: itab_zycit036_conve-vlreal TO itab_zycit036a-vlreal,
itab_zycit036_conve-waers_real TO itab_zycit036a-waers_real.
ENDIF.
...
...
IF v_linha EQ v_stepl.
IF NOT v_medestino_a IS INITIAL AND v_erro_conv NE 'S'.
v_meatual_a = v_medestino_a.
CLEAR v_medestino_a.
ENDIF.
CLEAR v_erro_conv.
ENDIF.
ENDLOOP.
ENDIF.
CLEAR : v_trea, v_tmov, v_tplan.
* >> Início da inclusão: FORM ALTERA_MOEDA
DATA: v_realaux LIKE itab_zycit036a-vlreal.
* << Fim da inclusão
LOOP AT itab_zycit036a.
* >> Início da inclusão: FORM ALTERA_MOEDA
READ TABLE itab_zycit036 WITH KEY
nrseq = itab_zycit036a-nrseq
codigo = itab_zycit036a-codigo.
PERFORM read_docts USING itab_zycit036-origem
itab_zycit036-nrseqori
CHANGING v_dtreal.
* << Fim da inclusão
IF itab_zycit036a-netpr IS INITIAL.
CLEAR itab_zycit036a-waers.
ELSE.
v_tplan = v_tplan + itab_zycit036a-netpr.
ENDIF.
IF itab_zycit036a-vlreal IS INITIAL.
CLEAR itab_zycit036a-waers_real.
* >> Início da inclusão: FORM ALTERA_MOEDA
ELSE.
IF itab_zycit036a-waers_real EQ v_medestino_a.
v_trea = v_trea + itab_zycit036a-vlreal.
ELSE.
IF itab_zycit036a-codigo = 'FOB' OR
itab_zycit036a-codigo = 'SEGURO' OR
itab_zycit036a-codigo = 'FRETEI'.
READ TABLE itab_zycit140 WITH KEY
codigo = itab_zycit036a-codigo
custo = 'X'.
IF sy-subrc = 0.
IF itab_zycit140-origem = 'NF'.
IF itab_zycit036a-waers_real = /pws/zycit085-waersseg.
itab_zycit036a-vlreal =
itab_zycit036a-vlreal * /pws/zycit085-ukursseg.
ELSE.
PERFORM taxa_converte USING v_medestino_a
/pws/zycit085-dttax
CHANGING v_taxa.
IF v_taxa IS INITIAL.
v_taxa = 1.
ENDIF.
itab_zycit036a-vlreal =
itab_zycit036a-vlreal * v_taxa.
ENDIF.
ELSE.
PERFORM conversao_vlreal
USING itab_zycit036a-vlreal
v_medestino_a.
v_trea = v_trea + itab_zycit036a-vlreal.
ENDIF.
ENDIF.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: FORM ALTERA_MOEDA
IF v_dtreal LT /pws/zycit085-dtuserc and (
itab_zycit036-origem NE 'NF' OR
itab_zycit036-origem NE 'NFC' ) .
PERFORM conversao_vlreal
USING itab_zycit036a-vlreal
v_medestino_a.
* << Fim da inclusão
v_trea = v_trea + itab_zycit036a-vlreal.
* >> Início da inclusão: FORM ALTERA_MOEDA
ELSE.
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE
currkey = itab_zycit036a-waers_real.
IF sy-subrc EQ 0.
PERFORM retorna_decimais USING itab_zycit036a-waers_real
CHANGING itab_zycit036a-vlreal.
ELSE.
PERFORM trata_decimais USING v_medestino_a
CHANGING itab_zycit036a-vlreal.
ENDIF.
IF itab_zycit036a-waers_real NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit036_conve-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM ALTERA_MOEDA
v_vlbrl_a = itab_zycit036a-vlreal * v_taxa.
IF v_medestino_a NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING v_medestino_a
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
IF NOT v_taxa IS INITIAL.
itab_zycit036a-vlreal = v_vlbrl_a / v_taxa.
ENDIF.
v_trea = v_trea + itab_zycit036a-vlreal.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
itab_zycit036a-waers_real = v_medestino_a.
* << Fim da inclusão
IF itab_zycit036a-vlmov IS INITIAL.
CLEAR itab_zycit036a-waers_mov.
ELSE.
v_tmov = v_tmov + itab_zycit036a-vlmov.
ENDIF.
IF itab_zycit036a-vldif IS INITIAL.
CLEAR itab_zycit036a-waers_dif.
ELSE.
v_sdif = v_sdif + itab_zycit036a-vldif.
ENDIF.
...
...
FROM marm INTO (v_um_rez, v_um_ren)
WHERE matnr = p_matnr
AND meinh = p_meins.
IF v_um_rez IS INITIAL
OR v_um_ren IS INITIAL.
EXIT.
ENDIF.
p_menge = ( p_menge / v_um_ren ) * v_um_rez.
CLEAR: v_um_rez, v_um_ren.
ENDFORM.
* >> Início da inclusão:
FORM sel_docts.
IF NOT itab_zycit036_aux2[] IS INITIAL.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit263
INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseq
AND ebelp EQ itab_zycit003-ebelp
AND ebeln EQ itab_zycit003-ebeln.
IF NOT itab_zycit263[] IS INITIAL AND NOT it_fat IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE it_fat
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq EQ itab_zycit263-nrseq_pgfat
AND eliminado NE 'X' .
ENDIF.
ENDIF.
IF itab_zycit008 IS INITIAL.
SELECT * FROM /pws/zycit008
INTO TABLE itab_zycit008
FOR ALL ENTRIES IN itab_zycit036_aux2
WHERE nrseq EQ itab_zycit036_aux2-nrseqori.
ENDIF.
IF itab_zycit042 IS INITIAL.
SELECT * FROM /pws/zycit042
INTO TABLE itab_zycit042
FOR ALL ENTRIES IN itab_zycit036_aux2
WHERE nrseq EQ itab_zycit036_aux2-nrseq
AND ebelp EQ itab_zycit036_aux2-ebelp
AND ebeln EQ itab_zycit036_aux2-ebeln.
IF NOT itab_zycit042[] IS INITIAL.
SELECT * FROM /pws/zycit041
INTO TABLE itab_zycit041
FOR ALL ENTRIES IN itab_zycit042
WHERE nrseq EQ itab_zycit042-nrseqnf.
ENDIF.
ENDIF.
IF itab_zycit265 IS INITIAL.
SELECT * FROM /pws/zycit265
INTO TABLE itab_zycit265
FOR ALL ENTRIES IN itab_zycit036_aux2
WHERE nrseq EQ itab_zycit036_aux2-nrseq
AND ebelp EQ itab_zycit036_aux2-ebelp
AND ebeln EQ itab_zycit036_aux2-ebeln.
ENDIF.
IF NOT itab_zycit265[] IS INITIAL AND itab_zycit264 IS INITIAL.
SELECT * FROM /pws/zycit264
INTO TABLE itab_zycit264
FOR ALL ENTRIES IN itab_zycit265
WHERE nrseqnf EQ itab_zycit265-nrseqnf.
ENDIF.
IF itab_zycit027 IS INITIAL.
SELECT * FROM /pws/zycit027
INTO TABLE itab_zycit027
FOR ALL ENTRIES IN itab_zycit036_aux2
WHERE nrseq EQ itab_zycit036_aux2-nrseq
AND nradto EQ itab_zycit036_aux2-nrseqori.
ENDIF.
IF NOT itab_zycit027[] IS INITIAL AND itab_zycit026 IS INITIAL.
SELECT * FROM /pws/zycit026
INTO TABLE itab_zycit026
FOR ALL ENTRIES IN itab_zycit027
WHERE nrseq EQ itab_zycit027-nrseq
AND nrpres EQ itab_zycit027-nradto.
ENDIF.
ENDIF.
ENDFORM.
FORM conversao_vlreal USING v_real v_waers.
PERFORM converter_moeda
USING v_real
v_waers
/pws/zycbt007-waersb
CHANGING v_vlreal.
PERFORM converter_moeda
USING v_vlreal
/pws/zycbt007-waersb
/pws/zycie001-waers
CHANGING v_real.
ENDFORM.
FORM read_docts USING p_origem
p_nrseqori
CHANGING p_data.
CASE p_origem.
WHEN 'AD'.
READ TABLE itab_zycit008 WITH KEY
nrseq = itab_zycit036-nrseqori
tpgto = 'A'.
MOVE itab_zycit008-dtaprov TO p_data.
WHEN 'DC'.
READ TABLE itab_zycit008 WITH KEY
nrseq = itab_zycit036-nrseqori
tpgto = 'D'.
MOVE itab_zycit008-dtaprov TO p_data.
WHEN 'PC'.
READ TABLE itab_zycit026 WITH KEY
nrseq = itab_zycit036-nrseq
nrpres = itab_zycit036-nrseqori.
MOVE itab_zycit026-dtaprov TO p_data.
ENDCASE.
ENDFORM.
FORM altera_moeda_aux.
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE
currkey = itab_zycit036_conve-waers_real.
IF sy-subrc EQ 0.
PERFORM retorna_decimais USING itab_zycit036_conve-waers_real
CHANGING itab_zycit036_conve-vlreal.
ELSE.
PERFORM trata_decimais USING itab_zycit036_conve-waers_real
CHANGING itab_zycit036a-vlreal.
ENDIF.
IF NOT /pws/zycit085-dttax IS INITIAL.
IF /pws/zycit000-flag_desp IS INITIAL.
PERFORM converter_moeda USING
itab_zycit036_conve-vlreal
itab_zycit036_conve-waers_real
/pws/zycbt007-waersb
CHANGING v_vlbrl_a.
PERFORM converter_moeda USING v_vlbrl_a
/pws/zycbt007-waersb
v_medestino_a
CHANGING itab_zycit036a-vlreal.
ELSE.
IF itab_zycit036_conve-waers_real NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit036_conve-waers_real
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
v_vlbrl_a = itab_zycit036_conve-vlreal * v_taxa.
IF v_medestino_a NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING v_medestino_a
/pws/zycit085-dttax
CHANGING v_taxa.
ELSE.
v_taxa = 1.
ENDIF.
IF NOT v_taxa IS INITIAL.
itab_zycit036a-vlreal = v_vlbrl_a / v_taxa.
ENDIF.
ENDIF.
ELSEIF NOT /pws/zycit085-dttax IS INITIAL AND
s_msg1 = 'X'.
PERFORM converter_moeda USING
itab_zycit036_conve-vlreal
itab_zycit036_conve-waers_real
/pws/zycbt007-waersb
CHANGING v_vlbrl_a.
PERFORM converter_moeda USING v_vlbrl_a
/pws/zycbt007-waersb
v_medestino_a
CHANGING itab_zycit036a-vlreal.
ENDIF.
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE
currkey = v_medestino_a.
itab_zycit036a-waers_real = v_medestino_a.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010O01
...
v_index = v_index + 1.
endmodule.
module status_0001 output.
set pf-status '0001'.
set titlebar '0001'.
clear: /pws/zycie001,
/pws/zycie001a.
endmodule.
module carrega_zycbe003 output.
move-corresponding itab_zycit003_custo to /pws/zycie003.
* >> Início da exclusão: MODULE CARREGA_ZYCBE003
move itab_zycit003_custo-netprt to v_netprt.
perform trata_decimais using /pws/zycie003-waers
changing v_netprt.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_ZYCBE003
move itab_zycit003_custo-netpr to v_netprt.
* << Fim da inclusão
move: /pws/zycie003-vlreal to v_vlreal_tl,
/pws/zycie003-vlmov to v_vlmov_tl,
/pws/zycie003-vldif to v_vldif_tl.
v_netprt = v_netprt / 100000.
v_vlreal_tl = v_vlreal_tl / 100000.
v_vlmov_tl = v_vlmov_tl / 100000.
v_vldif_tl = v_vldif_tl / 100000.
* >> Início da exclusão: MODULE CARREGA_ZYCBE003
IF /pws/zycie003-waers_real NE /pws/zycie001-waers_real.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_ZYCBE003
IF /pws/zycie003-waers NE /pws/zycie001-waers.
perform trata_decimais using /pws/zycie003-waers
changing v_netprt.
ENDIF.
IF /pws/zycie003-waers_real NE /pws/zycie001-waers.
* << Fim da inclusão
PERFORM trata_decimais USING /pws/zycie003-waers_real
CHANGING v_vlreal_tl.
ENDIF.
IF /pws/zycie003-waers_mov NE /pws/zycie001-waers_mov.
PERFORM trata_decimais USING /pws/zycie003-waers_mov
CHANGING v_vlmov_tl.
ENDIF.
IF /pws/zycie003-waers_dif NE /pws/zycie001-waers_dif.
PERFORM trata_decimais USING /pws/zycie003-waers_dif
CHANGING v_vldif_tl.
...
...
set pf-status '0002'.
set titlebar '0002'.
endmodule.
module status_0004 output.
set pf-status '0004'.
set titlebar '0004'.
endmodule.
module carrega_zycbe036 output.
check not itab_zycit036-nrseq is initial.
move itab_zycit036 to /pws/zycie036.
* >> Início da exclusão: MODULE CARREGA_ZYCBE036
if itab_zycit036-netpr ne 0 and
itab_zycit036-origem ne 'PED'.
perform trata_decimais using itab_zycit036-waers
changing /pws/zycie036-netpr.
endif.
* << Fim da exclusão
describe table itab_zycit036 lines v_lin.
tc_despesas-lines = v_lin.
endmodule.
module set_screen_tc_despesas output.
if /pws/zycie036-codigo eq 'IPI'.
loop at screen.
if screen-name ne '/PWS/ZYCIE036-CODIGO'.
screen-input = '1'.
modify screen.
endif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010O02
...
MOVE itab_zycit036_ori TO /pws/zycie036.
ENDMODULE.
MODULE set_screen_0100 OUTPUT.
PERFORM carrega_cgc.
CLEAR v_resp.
ENDMODULE.
MODULE monta_tela_custo OUTPUT.
ENDMODULE.
MODULE monta_tela_custo_item OUTPUT.
ENDMODULE.
* >> Início da exclusão: MODULE CARREGA_TOTAIS
MODULE carrega_totais OUTPUT.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_TOTAIS
MODULE
carrega_totais OUTPUT.
* << Fim da inclusão
CLEAR : v_tplan, v_sdif.
CLEAR: v_trea, v_tmov, v_tdif, v_sdif.
CLEAR: v_trea.
LOOP AT itab_zycit036a.
IF itab_zycit036a-waers NE /pws/zycie001-waers_plan
AND NOT itab_zycit036a-netpr IS INITIAL.
PERFORM converter_moeda USING
itab_zycit036a-netpr
itab_zycit036a-waers
/pws/zycie001-waers_plan
...
...
PERFORM retorna_decimais USING /pws/zycie001-waers_plan
CHANGING v_tplan_conv.
v_tplan = v_tplan + v_tplan_conv.
ELSE.
v_tplan = v_tplan + itab_zycit036a-netpr.
ENDIF.
IF itab_zycit036a-waers_real NE /pws/zycie001-waers_real
AND NOT itab_zycit036a-vlreal IS INITIAL.
IF itab_zycit036a-codigo = 'FOB' OR itab_zycit036a-codigo =
'SEGURO' OR itab_zycit036a-codigo = 'FRETEI'.
* >> Início da exclusão: MODULE CARREGA_TOTAIS
READ TABLE itab_zycit140 WITH KEY codigo = itab_zycit036a-codigo.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_TOTAIS
READ TABLE itab_zycit140 WITH KEY codigo = itab_zycit036a-codigo
custo = 'X'.
* << Fim da inclusão
IF sy-subrc = 0.
IF itab_zycit140-origem = 'NF'.
READ TABLE itab_zycit085 INDEX 1.
IF itab_zycit036a-waers_real EQ itab_zycit085-waersseg.
* >> Início da exclusão: MODULE CARREGA_TOTAIS
v_treal_aux = itab_zycit036a-vlreal * itab_zycit085-ukursseg
.
IF itab_zycit085-ukursfob > 0.
v_treal_aux = v_treal_aux / itab_zycit085-ukursfob.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_TOTAIS
v_treal_aux = itab_zycit036a-vlreal * itab_zycit085-ukursseg.
* << Fim da inclusão
v_treal_conv = v_treal_aux.
* >> Início da exclusão: MODULE CARREGA_TOTAIS
ENDIF.
* << Fim da exclusão
ELSE.
PERFORM taxa_converte USING itab_zycit036a-waers_real
itab_zycit085-dttax
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_treal_aux = itab_zycit036a-vlreal * v_taxa.
IF itab_zycit085-ukursfob > 0.
v_treal_aux = v_treal_aux / itab_zycit085-ukursfob.
v_treal_conv = v_treal_aux.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: MODULE CARREGA_TOTAIS
PERFORM retorna_decimais USING itab_zycit036a-waers_real
CHANGING v_treal_conv.
* << Fim da inclusão
ELSE.
PERFORM converter_moeda USING
itab_zycit036a-vlreal
itab_zycit036a-waers_real
/pws/zycie001-waers_real
CHANGING v_treal_aux.
v_treal_conv = v_treal_aux.
ENDIF.
ENDIF.
ELSE.
* >> Início da exclusão: MODULE CARREGA_TOTAIS
PERFORM converter_moeda USING
itab_zycit036a-vlreal
itab_zycit036a-waers_real
/pws/zycie001-waers_real
CHANGING v_treal_aux.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_TOTAIS
READ TABLE itab_zycit085 INDEX 1.
IF itab_zycit036a-waers_real ne itab_zycit085-waersseg.
v_treal_aux = itab_zycit036a-vlreal * itab_zycit085-ukursseg
.
* << Fim da inclusão
v_treal_conv = v_treal_aux.
* >> Início da inclusão: MODULE CARREGA_TOTAIS
PERFORM retorna_decimais USING itab_zycit036a-waers_real
CHANGING v_treal_conv.
ENDIF.
* << Fim da inclusão
ENDIF.
PERFORM retorna_decimais USING /pws/zycie001-waers_real
* >> Início da exclusão: MODULE CARREGA_TOTAIS
CHANGING v_treal_conv.
PERFORM trata_decimais USING /pws/zycie001-waers_real
* << Fim da exclusão
CHANGING v_treal_conv.
v_trea = v_trea + v_treal_conv.
ELSE.
v_treal_conv = itab_zycit036a-vlreal.
* >> Início da exclusão: MODULE CARREGA_TOTAIS
PERFORM retorna_decimais USING itab_zycit036a-waers_real
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_TOTAIS
PERFORM retorna_decimais USING /pws/zycie001-waers_real
CHANGING v_treal_conv.
PERFORM trata_decimais USING /pws/zycie001-waers_real
* << Fim da inclusão
CHANGING v_treal_conv.
v_trea = v_trea + v_treal_conv.
ENDIF.
IF v_resp EQ '1'.
/pws/zycie001-waers_mov = /pws/zycbt007-waersb.
ENDIF.
IF itab_zycit036a-waers_mov NE /pws/zycie001-waers_mov
AND NOT itab_zycit036a-vlmov IS INITIAL.
PERFORM converter_moeda USING
itab_zycit036a-vlreal
...
...
CHANGING v_tdif_conv.
PERFORM retorna_decimais USING /pws/zycie001-waers_dif
CHANGING v_tdif_conv.
v_sdif = v_sdif + v_tdif_conv .
ELSE.
v_sdif = v_sdif + itab_zycit036a-vldif.
ENDIF.
ENDLOOP.
IF v_alt_moeda IS INITIAL.
ENDIF.
* >> Início da exclusão: MODULE CARREGA_TOTAIS
PERFORM trata_decimais USING /pws/zycie001-waers_real
CHANGING v_trea.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_TOTAIS
PERFORM retorna_decimais USING /pws/zycie001-waers_mov
CHANGING v_tmov.
* << Fim da inclusão
WRITE v_sdif TO v_tdif CURRENCY /pws/zycie001-waers_dif
RIGHT-JUSTIFIED.
WRITE: v_trea TO v_srea CURRENCY /pws/zycie001-waers_real
RIGHT-JUSTIFIED,
v_tmov TO v_smov CURRENCY /pws/zycie001-waers_mov
RIGHT-JUSTIFIED,
v_tplan TO v_spla CURRENCY /pws/zycie001-waers_plan
RIGHT-JUSTIFIED.
SORT itab_zycit036.
IF itab_zycit036_conve[] IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010TOP
...
prctr like aufk-prctr,
end of itab_aufk.
data: begin of itab_zyglt100 occurs 10.
include structure /pws/zyglt100.
data: end of itab_zyglt100.
data: begin of itab_cta occurs 0.
include structure /pws/zygle316.
data: end of itab_cta.
data: it_bkpf like bkpf occurs 0 with header line,
it_zycit006_aux2 like /pws/zycit006 occurs 0 with header line.
* >> Início da inclusão:
data: it_fat like /pws/zycit006 occurs 0 with header line,
it_dc like /pws/zycit008 occurs 0 with header line,
it_pc like /pws/zycit026 occurs 0 with header line,
it_nf like /pws/zycit042 occurs 0 with header line.
* << Fim da inclusão
data:
wa_zycbt007 like /pws/zycbt007,
wa_zycbt011 like /pws/zycbt011,
wa_zycit036 like /pws/zycit036,
wa_tcurx like tcurx.
controls:
tc_itens type tableview using screen '0003',
tc_embarque type tableview using screen '0002',
tc_despesas type tableview using screen '0004',
tc_desp_emb type tableview using screen '0100',
...
...
v_treal like /pws/zycit036-vlreal,
v_tabix like sy-tabix.
data: v_tplan_conv like /pws/zycit085-vlfob,
v_treal_conv(16) type p decimals 2,
v_tmov_conv like /pws/zycit085-vlfob,
v_tdif_conv like /pws/zycit085-vlfob,
v_tplan_aux like /pws/zycit036-netpr,
v_treal_aux like /pws/zycit036-netpr,
v_tmov_aux like /pws/zycit036-netpr,
v_tdif_aux like /pws/zycit036-vldif.
* >> Início da exclusão:
Data: v_erro_m like sy-subrc,
v_erro_m1 like sy-subrc,
v_demoeda like /pws/zycit036-waers,
v_paramoeda like /pws/zycit036-waers.
* << Fim da exclusão
* >> Início da inclusão:
DATA: v_vlreal_t LIKE itab_zycit036a-vlreal,
v_dtreal LIKE sy-datum.
* << Fim da inclusão
selection-screen begin of screen 0006.
selection-screen begin of block b1 with frame title text-076.
select-options : s_emb for /pws/zycit001-nrseq.
selection-screen end of block b1.
selection-screen begin of block b2 with frame title text-077.
parameters: p_desp radiobutton group p,
p_item radiobutton group p.
selection-screen end of block b2.
selection-screen end of screen 0006.
at selection-screen output.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010X01
...
bklas type mbew-bklas.
data: end of itab_classe_aval.
data: begin of itab_param_classe occurs 0.
include structure /pws/zycit135.
data: end of itab_param_classe.
data: begin of itab_zycit003 occurs 0.
include structure /pws/zycit003.
data: netprt type /pws/zycil816 .
data: mark.
data: end of itab_zycit003.
* >> Início da inclusão:
data: itab_zycit263 like /pws/zycit263 occurs 0 with header line,
itab_zycit008 like /pws/zycit008 occurs 0 with header line,
itab_zycit027 like /pws/zycit027 occurs 0 with header line,
itab_zycit264 like /pws/zycit264 occurs 0 with header line,
itab_zycit265 like /pws/zycit265 occurs 0 with header line.
* << Fim da inclusão
data: begin of itab_anlz occurs 0 .
data: anln1 type anlz-anln1 ,
anln2 type anlz-anln2 ,
gsber type anlz-gsber .
data: end of itab_anlz .
data: v_vldif1 type /pws/zycit003-vldif,
v_mr22.
data: begin of itab_zycit398 occurs 0.
include structure /pws/zycit398.
data: end of itab_zycit398.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR007
...
DATA: END OF itab_zycbt035_aux.
DATA: BEGIN OF itab_zycie031 OCCURS 0.
INCLUDE STRUCTURE /pws/zycie031.
DATA: END OF itab_zycie031.
DATA: BEGIN OF itab_zycie031_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycie031.
DATA: END OF itab_zycie031_aux.
DATA: BEGIN OF itab_botoes OCCURS 0.
DATA: bname(20) TYPE c.
DATA: END OF itab_botoes.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit001 OCCURS 0.
DATA: nrseq LIKE /pws/zycie001-nrseq ,
waers_real LIKE /pws/zycie001-waers_real,
waers_mov LIKE /pws/zycie001-waers_mov ,
waers_dif LIKE /pws/zycie001-waers_dif.
DATA: END OF itab_zycit001.
DATA: BEGIN OF itab_zycit003 OCCURS 0.
DATA: nrseq LIKE /pws/zycie003-nrseq,
ebeln LIKE /pws/zycie003-ebeln,
ebelp LIKE /pws/zycie003-ebelp.
DATA: END OF itab_zycit003.
data: wa_tcurx like tcurx.
* << Fim da inclusão
DATA:
e_okcode LIKE sy-ucomm ,
v_unit LIKE ekpo-meins,
* >> Início da exclusão:
v_tcode LIKE sy-tcode .
* << Fim da exclusão
* >> Início da inclusão:
v_tcode LIKE sy-tcode,
v_wrbtr like /pws/zycie003-vlreal.
* << Fim da inclusão
START-OF-SELECTION.
IMPORT v_tcode FROM MEMORY ID 'V_TCODE'.
IF v_tcode eq '/PWS/ZYCI001_E'.
MOVE 'CONTAB' TO itab_botoes-bname.
APPEND itab_botoes.
ELSE.
CLEAR itab_botoes. REFRESH itab_botoes.
ENDIF.
SET PF-STATUS '0001' EXCLUDING itab_botoes.
PERFORM selecionar_dados.
...
...
97 '|', text-006,
110 '|', text-007,
123 '|', text-008,
136 '|', text-009,
154 '|', text-010,
172 '|', text-016,
183 '|'.
ULINE AT /(183).
IF NOT itab_zycie031_aux[] IS INITIAL.
LOOP AT itab_zycie031_aux.
* >> Início da inclusão: FORM LISTA_IMPRESSAO
CLEAR: itab_zycit001, itab_zycit003, v_wrbtr.
v_wrbtr = itab_zycie031_aux-wrbtr.
v_wrbtr = v_wrbtr / 1000.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycie031_aux-ebeln
ebelp = itab_zycie031_aux-ebelp.
IF sy-subrc EQ 0.
READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.
IF sy-subrc EQ 0.
IF itab_zycie031_aux-waers NE itab_zycit001-WAERS_dif.
PERFORM trata_decimais USING itab_zycie031_aux-waers
CHANGING v_wrbtr.
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
WRITE: /00 '|', itab_zycie031_aux-ebeln,
14 '|', itab_zycie031_aux-ebelp,
24 '|', itab_zycie031_aux-matnr,
36 '|', itab_zycie031_aux-menge UNIT v_unit,
* >> Início da exclusão: FORM LISTA_IMPRESSAO
53 '|', itab_zycie031_aux-wrbtr CURRENCY
/pws/zycbt007-waersb,
* << Fim da exclusão
* >> Início da inclusão: FORM LISTA_IMPRESSAO
53 '|', v_wrbtr CURRENCY /pws/zycbt007-waersb,
* << Fim da inclusão
72 '|',
91 '|',
97 '|',
110 '|',
123 '|',
136 '|',
154 '|',
172 '|',
183 '|'.
CLEAR itab_zycie031_aux.
ENDLOOP.
ULINE AT /(183).
ENDIF.
IF NOT itab_zycbt035_aux[] IS INITIAL.
SORT itab_zycbt035_aux BY ebeln ebelp matuse d_newko.
LOOP AT itab_zycbt035_aux.
* >> Início da inclusão: FORM LISTA_IMPRESSAO
CLEAR: itab_zycit001, itab_zycit003, v_wrbtr.
v_wrbtr = itab_zycbt035_aux-wrbtr.
v_wrbtr = v_wrbtr / 1000.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycbt035_aux-ebeln
ebelp = itab_zycbt035_aux-ebelp.
IF sy-subrc EQ 0.
READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.
IF sy-subrc EQ 0.
IF itab_zycbt035_aux-waers NE itab_zycit001-WAERS_dif.
PERFORM trata_decimais USING itab_zycbt035_aux-waers
CHANGING v_wrbtr.
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
IF itab_zycbt035_aux-bschl EQ '40'.
* >> Início da exclusão: FORM LISTA_IMPRESSAO
itab_zycbt035_aux-wrbtr = itab_zycbt035_aux-wrbtr * -1.
* << Fim da exclusão
* >> Início da inclusão: FORM LISTA_IMPRESSAO
v_wrbtr = v_wrbtr * -1.
* << Fim da inclusão
ENDIF.
WRITE: /00 '|', itab_zycbt035_aux-ebeln,
14 '|', itab_zycbt035_aux-ebelp,
24 '|', itab_zycbt035_aux-matnr,
36 '|', itab_zycbt035_aux-menge UNIT v_unit,
* >> Início da exclusão: FORM LISTA_IMPRESSAO
53 '|', itab_zycbt035_aux-wrbtr CURRENCY
/pws/zycbt007-waersb,
* << Fim da exclusão
* >> Início da inclusão: FORM LISTA_IMPRESSAO
53 '|', v_wrbtr CURRENCY /pws/zycbt007-waersb,
* << Fim da inclusão
72 '|', itab_zycbt035_aux-newko,
91 '|', itab_zycbt035_aux-matuse,
97 '|', itab_zycbt035_aux-d_gsber,
110 '|', itab_zycbt035_aux-d_kostl,
123 '|', itab_zycbt035_aux-d_prctr,
136 '|', itab_zycbt035_aux-d_fictr,
154 '|', itab_zycbt035_aux-d_fipos,
172 '|', itab_zycbt035_aux-ps_psp_pnr,
183 '|'.
ENDLOOP.
...
...
ULINE AT /(51).
WRITE: /00 '|', text-014,
51 '|'.
ULINE AT /(51).
WRITE: /00 '|', text-003,
14 '|', text-011,
33 '|', text-012,
51 '|'.
ULINE AT /(51).
LOOP AT itab_zycie031.
* >> Início da inclusão: FORM LISTA_IMPRESSAO
CLEAR: itab_zycit001, itab_zycit003, v_wrbtr.
v_wrbtr = itab_zycie031-wrbtr.
v_wrbtr = v_wrbtr / 1000.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycie031-ebeln
ebelp = itab_zycie031-ebelp.
IF sy-subrc EQ 0.
READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.
IF sy-subrc EQ 0.
IF itab_zycie031-waers NE itab_zycit001-WAERS_dif.
PERFORM trata_decimais USING itab_zycie031-waers
CHANGING v_wrbtr.
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
WRITE: /00 '|', itab_zycie031-matnr,
14 '|', itab_zycie031-menge UNIT v_unit,
33 '|', itab_zycie031-wrbtr CURRENCY /pws/zycbt007-waersb,
51 '|'.
ENDLOOP.
ULINE AT /(51).
SKIP.
ENDIF.
IF NOT itab_zycbt035[] IS INITIAL.
ULINE AT /(119).
...
...
36 '|', text-005,
41 '|', text-006,
53 '|', text-007,
66 '|', text-008,
79 '|', text-009,
98 '|', text-010,
115 '|', text-016,
126 '|'.
ULINE AT /(126).
LOOP AT itab_zycbt035.
* >> Início da inclusão: FORM LISTA_IMPRESSAO
CLEAR: itab_zycit001, itab_zycit003, v_wrbtr.
v_wrbtr = itab_zycbt035-wrbtr.
v_wrbtr = v_wrbtr / 1000.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycbt035-ebeln
ebelp = itab_zycbt035-ebelp.
IF sy-subrc EQ 0.
READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.
IF sy-subrc EQ 0.
IF itab_zycbt035-waers NE itab_zycit001-WAERS_dif.
PERFORM trata_decimais USING itab_zycbt035-waers
CHANGING v_wrbtr.
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
IF itab_zycbt035-bschl EQ '50'.
* >> Início da exclusão: FORM LISTA_IMPRESSAO
itab_zycbt035-wrbtr = itab_zycbt035-wrbtr * -1.
* << Fim da exclusão
* >> Início da inclusão: FORM LISTA_IMPRESSAO
v_wrbtr = v_wrbtr * -1.
* << Fim da inclusão
ENDIF.
WRITE: /00 '|', itab_zycbt035-d_newko,
* >> Início da exclusão: FORM LISTA_IMPRESSAO
17 '|', itab_zycbt035-wrbtr CURRENCY /pws/zycbt007-waersb,
* << Fim da exclusão
* >> Início da inclusão: FORM LISTA_IMPRESSAO
17 '|', v_wrbtr CURRENCY /pws/zycbt007-waersb,
* << Fim da inclusão
36 '|', itab_zycbt035-matuse,
41 '|', itab_zycbt035-d_gsber,
53 '|', itab_zycbt035-d_kostl,
66 '|', itab_zycbt035-d_prctr,
79 '|', itab_zycbt035-d_fictr,
98 '|', itab_zycbt035-d_fipos,
115 '|', itab_zycbt035-ps_psp_pnr,
126 '|'.
ENDLOOP.
ULINE AT /(126).
...
...
matuse = itab_zycbt035_aux-matuse
d_gsber = itab_zycbt035_aux-d_gsber
d_kostl = itab_zycbt035_aux-d_kostl
d_prctr = itab_zycbt035_aux-d_prctr
d_fictr = itab_zycbt035_aux-d_fictr
d_fipos = itab_zycbt035_aux-d_fipos.
itab_zycbt035_aux-d_newko = itab_zycbt035-d_newko.
itab_zycbt035_aux-newko = itab_zycbt035-newko.
MODIFY itab_zycbt035_aux INDEX v_index.
ENDLOOP.
* >> Início da inclusão: FORM SELECIONAR_DADOS
IF NOT itab_zycie031_aux[] IS INITIAL.
SELECT nrseq ebeln ebelp
FROM /pws/zycit003
INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycie031_aux
WHERE ebeln EQ itab_zycie031_aux-ebeln
AND ebelp EQ itab_zycie031_aux-ebelp.
IF sy-subrc EQ 0.
SELECT nrseq waers_real waers_mov waers_dif
FROM /pws/zycit001
INTO TABLE itab_zycit001
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseq.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDFORM.
* >> Início da inclusão:
FORM trata_decimais USING p_moeda
CHANGING p_valor.
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE currkey = p_moeda.
IF sy-subrc <> 0.
wa_tcurx-currdec = 2.
ENDIF.
p_valor = p_valor * ( 10 ** ( wa_tcurx-currdec - 2 ) ).
ENDFORM.
* << Fim da inclusão