Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 26/05/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:25:08
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
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01422 Data: 26/05/2006 Hora: 10:11:37
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01422
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 - Versão - Pacote - Descrição Breve
00843 - 00001 - 6.0 - 00022 - ERRO NO CUSTO EFETIVO - APÓS O RECEBIMENTO FÍSICO.
01064 - 00002 - 6.0 - 00023 - PRECISAMOS ALTERAR A CONTABILIZAÇÃO DO ENCERRAMENTO CONTÁBIL E DE
01109 - 00003 - 6.0 - 00023 - EXIT - CUSTO EFETIVO
01150 - 00004 - 6.0 - 00023 - AS DESPESAS DE FRETE E SEGURO INTERNACIONAIS SENDO PARAMETRIZADAS
01174 - 00005 - 6.0 - 00023 - VALOR LEVADO PARA O ENCERRAMENTO DE CUSTOS ESTA MAIOR DO QUE DEVE
01438 - 00006 - 6.0 - 00023 - ERRO NA EXIBIÇÃO DO ENCERRAMENTO DE PROCESSO SEM EURO
07896 - 00007 - 6.0 - 00023 - VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DE
----------------------------------------------------------------------------------------------------
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
...
WHERE nrseq = itab_zycit036-nrseq.
SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100
WHERE nrseqdi = v_nrseq.
SELECT SINGLE * FROM /pws/zycit085
WHERE nrseqdi = v_nrseq.
* >> Início da INCLUSÃO: FORM CHANGE_WAERS
IF /pws/zycit085 IS INITIAL.
SELECT SINGLE nrseq FROM /pws/zycit003 INTO v_nrseq
WHERE nrseq = itab_zycit036-nrseq.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit442
WHERE nrseqda EQ /pws/zycit003-nrseqda.
IF sy-subrc EQ 0.
MOVE /pws/zycit442 TO /pws/zycit085.
ENDIF.
ENDIF.
ENDIF.
* << Fim da INCLUSÃO
PERFORM altera_moeda.
ENDFORM.
FORM carrega_itab_waers.
CLEAR itab_waers_aux. FREE itab_waers_aux.
itab_waers_aux-opcao = '1' .
...
...
IF /pws/zycit000-kurst IS INITIAL.
v_kurst = 'M'.
ELSE.
v_kurst = /pws/zycit000-kurst.
ENDIF.
* >> Início da EXCLUSÃO: FORM CONVERTER_MOEDA
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
* << Fim da EXCLUSÃO
* >> Início da INCLUSÃO: FORM CONVERTER_MOEDA
CALL FUNCTION '/PWS/ZYGL_MONTANTE_CONVERTE'
* << Fim da INCLUSÃO
EXPORTING
i_montante = p_devlme
i_demoeda = p_deme
i_paramoeda = p_parame
i_ctmoeda = v_kurst
i_dtbase = sy-datum
IMPORTING
* >> Início da INCLUSÃO: FORM CONVERTER_MOEDA
e_montante = p_paravlme
e_txc = v_tax
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM CONVERTER_MOEDA
e_montante = p_paravlme
e_txc = v_tax
* << Fim da EXCLUSÃO
e_defator = v_dfact
EXCEPTIONS
* >> Início da INCLUSÃO: FORM CONVERTER_MOEDA
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
fator_nao_encontrado = 6
i_montante_nao_encontrado = 7
tabela_categ_nao_configurada = 8
OTHERS = 9
.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM CONVERTER_MOEDA
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.
* << Fim da EXCLUSÃO
IF sy-subrc NE 0.
MESSAGE i061 WITH text-013 p_deme 'para' p_parame.
v_medestino = v_meatual.
v_erro_conv = 'S'.
ENDIF.
...
...
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 EXCLUSÃO: FORM CUSTEAR_ITENS
TABLES : /pws/zycit442.
* << Fim da EXCLUSÃO
READ TABLE itab_zycit003 INDEX 1.
SELECT SINGLE * FROM /pws/zycit442
WHERE nrseqda EQ itab_zycit003-nrseqda.
ENDIF.
SELECT SINGLE * FROM t001w
...
...
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.
* >> Início da INCLUSÃO: FORM CUSTEAR_ITENS
SORT itab_zycit036_aux BY nrseq ebeln ebelp.
DATA : v_ebelp LIKE itab_zycit003-ebelp,
v_ebeln LIKE itab_zycit003-ebeln.
CLEAR: v_ebeln, v_ebelp.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM CUSTEAR_ITENS
SORT itab_zycit036_aux BY nrseq ebeln ebelp codigo .
* << Fim da EXCLUSÃO
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
IF itab_zycit003-ebeln NE v_ebeln OR
itab_zycit003-ebelp NE v_ebelp.
CLEAR: v_vlplant.
ENDIF.
* << Fim da INCLUSÃO
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.
* >> Início da INCLUSÃO: FORM CUSTEAR_ITENS
v_ebeln = itab_zycit003-ebeln.
v_ebelp = itab_zycit003-ebelp.
* << Fim da INCLUSÃO
CLEAR v_vlplan.
IF v_erro_conv NE 'S'.
IF itab_zycit036_plan-waers NE /pws/zycie001-waers.
IF /pws/zycit000-flag_desp IS INITIAL.
PERFORM converter_moeda
...
...
ENDLOOP.
CLEAR v_vlreal.
IF v_erro_conv NE 'S'.
IF itab_zycit036_aux2-waers_real NE /pws/zycie001-waers.
IF itab_zycit036_aux2-origem EQ 'FAT'.
* >> Início da EXCLUSÃO: FORM CUSTEAR_ITENS
READ TABLE it_fat WITH KEY
nrseq = itab_zycit036_aux2-nrseqori.
IF it_fat-dtincl LT /pws/zycit085-dtuserc.
* << Fim da EXCLUSÃO
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.
* >> Início da EXCLUSÃO: FORM CUSTEAR_ITENS
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.
* << Fim da EXCLUSÃO
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.
...
...
v_vlmov LIKE /pws/zycie036-vlreal,
v_vldif LIKE /pws/zycie036-vlreal.
CLEAR: /pws/zycie001-vlplan, /pws/zycie001-vlreal,
/pws/zycie001-vlmov , /pws/zycie001-vldif ,
v_dtreal.
* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE
IF /pws/zycie001-regime eq '14'.
move /pws/zycit442 to /pws/zycit085.
endif.
* << 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
...
...
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.
* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE
CLEAR: v_vlreal, v_vlreal_t.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM CUSTEAR_EMBARQUE
CLEAR: v_vlreal.
v_vlreal_t = itab_zycit036_aux2-vlreal.
* << Fim da EXCLUSÃO
IF v_erro_conv NE 'S'.
IF itab_zycit036_aux2-waers_real NE /pws/zycie001-waers AND
NOT itab_zycit036_aux2-waers_real IS INITIAL.
* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE
v_vlreal_t = itab_zycit036_aux2-vlreal.
* << Fim da INCLUSÃO
IF itab_zycit036_aux2-origem EQ 'FAT'.
* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE
CLEAR it_fat.
* << Fim da INCLUSÃO
READ TABLE it_fat WITH KEY
...
...
ENDIF.
ELSE.
PERFORM conversao_aux.
ENDIF.
ELSE.
* >> Início da EXCLUSÃO: FORM CUSTEAR_EMBARQUE
PERFORM conversao_aux.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit036a.
CLEAR: v_vlreal.
IF v_erro_conv NE 'S'.
IF itab_zycit036a-waers_real NE /pws/zycie001-waers AND
NOT itab_zycit036a-waers_real IS INITIAL.
IF itab_zycit036_aux2-origem EQ 'FAT'.
* << Fim da EXCLUSÃO
* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE
PERFORM retorna_decimais USING /pws/zycie001-waers
CHANGING itab_zycit036_aux2-vlreal.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM CUSTEAR_EMBARQUE
CLEAR it_fat.
READ TABLE it_fat WITH KEY
nrseq = itab_zycit036_aux2-nrseqori.
IF it_fat-dtincl LT /pws/zycit085-dtuserc.
* << Fim da EXCLUSÃO
* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE
v_vlreal = itab_zycit036_aux2-vlreal.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM CUSTEAR_EMBARQUE
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.
ENDIF.
ELSEIF itab_zycit036_aux2-origem NE 'NF' AND
itab_zycit036_aux2-origem NE 'NFC' .
PERFORM read_docts USING itab_zycit036_aux2-origem
itab_zycit036_aux2-nrseqori
CHANGING v_dtreal.
IF v_dtreal LT /pws/zycit085-dtuserc.
PERFORM conversao_vlreal
USING v_vlreal_t itab_zycit036_aux2-waers_real
CHANGING v_vlreal.
ELSE.
PERFORM conversao_aux.
* << Fim da EXCLUSÃO
ENDIF.
* >> Início da EXCLUSÃO: FORM CUSTEAR_EMBARQUE
ELSE.
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.
ENDIF.
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.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
ENDIF.
ENDIF.
ELSE.
PERFORM retorna_decimais USING /pws/zycie001-waers
CHANGING itab_zycit036a-vlreal.
v_vlreal = itab_zycit036a-vlreal.
ENDIF.
* << Fim da EXCLUSÃO
/pws/zycie001-vlreal = v_vlreal + /pws/zycie001-vlreal.
/pws/zycie001-waers_real = /pws/zycie001-waers.
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.
...
...
PERFORM taxa_converte
USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
* >> Início da INCLUSÃO: FORM CONVERSAO_AUX
v_vlreal_t = itab_zycit036_aux2-vlreal * v_taxa.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM CONVERSAO_AUX
v_vlreal_t = v_vlreal_t * v_taxa.
* << Fim da EXCLUSÃO
ENDIF.
* >> Início da EXCLUSÃO: FORM CONVERSAO_AUX
v_vlreal = v_vlreal_t.
* << Fim da EXCLUSÃO
* >> Início da INCLUSÃO: FORM CONVERSAO_AUX
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 = v_vlreal_t / v_taxa.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
ENDIF.
* << Fim da INCLUSÃO
ELSE.
IF /pws/zycit442 IS INITIAL.
READ TABLE itab_zycit003 INDEX 1.
SELECT SINGLE * FROM /pws/zycit442
WHERE nrseqda EQ itab_zycit003-nrseqda.
...
...
PERFORM taxa_converte
USING itab_zycit036_aux2-waers_real
sy-datum
CHANGING v_taxa.
ENDIF.
* >> Início da INCLUSÃO: FORM CONVERSAO_AUX
v_vlreal_t = itab_zycit036_aux2-vlreal * v_taxa.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM CONVERSAO_AUX
v_vlreal_t = v_vlreal_t * v_taxa.
* << Fim da EXCLUSÃO
ENDIF.
* >> Início da INCLUSÃO: FORM CONVERSAO_AUX
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 = v_vlreal_t / v_taxa.
ELSE.
IF /pws/zycie001-modalidade = '02'.
MESSAGE w015 WITH text-074.
ENDIF.
LEAVE PROGRAM.
ENDIF.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM CONVERSAO_AUX
v_vlreal = v_vlreal_t.
* << Fim da EXCLUSÃO
ENDIF.
ENDFORM.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F02
...
v_nota = 'X'.
MESSAGE i015 WITH text-072.
ELSE.
LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial.
ENDLOOP.
* >> Início da INCLUSÃO: FORM ENCERRAMENTO
IF sy-subrc = 0 and /pws/zycie001-regime ne '14'.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ENCERRAMENTO
IF sy-subrc = 0.
* << Fim da EXCLUSÃ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.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
MESSAGE s018 WITH /pws/zycie001-embarca /pws/zycie001-nrseq.
ENDIF.
ENDFORM.
FORM altera_moeda.
CLEAR v_alt_moeda.
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
DATA: v_stepl LIKE sy-stepl,
v_vlreal_aux LIKE itab_zycit036_conve-vlreal.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA
DATA: v_stepl LIKE sy-stepl.
* << Fim da EXCLUSÃO
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycit085-bukrs.
SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.
SELECT SINGLE * FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycit085-bukrs.
IF sy-subrc NE 0.
...
...
itab_zycit036a-netpr = v_vlbrl_a / v_taxa.
ENDIF.
ENDIF.
ELSEIF NOT /pws/zycit085-dttax IS INITIAL AND
s_msg1 = 'X'.
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
PERFORM converter_moeda
USING itab_zycit036_conve-netpr
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA
PERFORM converter_moeda USING itab_zycit036_conve-netpr
* << Fim da EXCLUSÃO
itab_zycit036_conve-waers
/pws/zycbt007-waersb
CHANGING v_vlbrl_a.
PERFORM converter_moeda USING v_vlbrl_a
/pws/zycbt007-waersb
...
...
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.
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
CLEAR: v_vlbrl_a, s_msg1, v_vlbrl,
v_vlreal_aux .
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA
CLEAR: v_vlbrl_a, s_msg1, v_vlbrl.
* << Fim da EXCLUSÃO
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.
READ TABLE itab_zycit036 WITH KEY
nrseq = itab_zycit036_conve-nrseq
codigo = itab_zycit036_conve-codigo.
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
IF itab_zycit036_aux2-origem NE 'NF' OR
itab_zycit036_aux2-origem NE 'NFC'.
* << Fim da INCLUSÃO
PERFORM read_docts USING itab_zycit036-origem
itab_zycit036-nrseqori
CHANGING v_dtreal.
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
IF v_dtreal LT /pws/zycit085-dtuserc.
v_vlreal_aux = itab_zycit036_conve-vlreal.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA
IF v_dtreal LT /pws/zycit085-dtuserc and (
itab_zycit036_aux2-origem NE 'NF' OR
itab_zycit036_aux2-origem NE 'NFC' ) .
* << Fim da EXCLUSÃO
PERFORM conversao_vlreal
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
USING
v_vlreal_aux
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA
USING itab_zycit036_conve-vlreal
* << Fim da EXCLUSÃO
itab_zycit036_conve-waers_real
CHANGING itab_zycit036_conve-vlreal.
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
MOVE: itab_zycit036_conve-vlreal TO itab_zycit036a-vlreal,
v_medestino_a TO itab_zycit036a-waers_real.
ELSE.
PERFORM altera_moeda_aux.
ENDIF.
* << Fim da INCLUSÃO
ELSE.
PERFORM altera_moeda_aux.
ENDIF.
ELSE.
MOVE: itab_zycit036_conve-vlreal TO itab_zycit036a-vlreal,
...
...
NOT itab_zycit036_conve-waers_mov IS INITIAL.
SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE
currkey = itab_zycit036_conve-waers_mov.
IF sy-subrc EQ 0.
PERFORM retorna_decimais USING itab_zycit036_conve-waers_mov
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
CHANGING itab_zycit036_conve-vlmov
.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA
CHANGING itab_zycit036_conve-vlmov.
* << Fim da EXCLUSÃO
ELSE.
PERFORM trata_decimais USING itab_zycit036_conve-waers_mov
CHANGING itab_zycit036_conve-vlmov.
ENDIF.
IF NOT /pws/zycit085-dttax IS INITIAL.
...
...
CHANGING itab_zycit036a-vlmov.
ELSE.
IF itab_zycit036_conve-waers_mov NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit036_conve-waers_mov
/pws/zycit085-dttax
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
CHANGING v_taxa
.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA
CHANGING v_taxa.
* << Fim da EXCLUSÃO
ELSE.
v_taxa = 1.
ENDIF.
v_vlbrl_a = itab_zycit036_conve-vlmov * v_taxa.
IF v_medestino_a NE /pws/zycbt007-waersb.
...
...
CHANGING itab_zycit036a-vldif.
ELSE.
IF itab_zycit036_conve-waers_dif NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit036_conve-waers_dif
/pws/zycit085-dttax
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
CHANGING v_taxa
.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA
CHANGING v_taxa.
* << Fim da EXCLUSÃO
ELSE.
v_taxa = 1.
ENDIF.
v_vlbrl_a = itab_zycit036_conve-vldif * v_taxa.
IF v_medestino_a NE /pws/zycbt007-waersb.
...
...
ENDIF.
IF v_erro_conv NE 'S'.
MODIFY itab_zycit036a .
ENDIF.
ELSEIF v_resp EQ '1'.
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
READ TABLE itab_zycit036a_ini
WITH KEY nrseq = itab_zycit036a-nrseq
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA
READ TABLE itab_zycit036a_ini WITH KEY nrseq = itab_zycit036a-nrseq
* << Fim da EXCLUSÃO
codigo = itab_zycit036a-codigo.
IF sy-subrc EQ 0.
MOVE itab_zycit036a_ini TO itab_zycit036a.
MODIFY itab_zycit036a INDEX tc_desp_emb-current_line.
ENDIF.
...
...
itab_zycit036a-vlreal * v_taxa.
ENDIF.
ELSE.
PERFORM conversao_vlreal
USING itab_zycit036a-vlreal
* >> Início da INCLUSÃO: FORM ALTERA_MOEDA
itab_zycit036a-waers_real
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA
v_medestino_a
* << Fim da EXCLUSÃO
CHANGING itab_zycit036a-vlreal.
v_trea = v_trea + itab_zycit036a-vlreal.
ENDIF.
ENDIF.
ELSE.
...
...
PERFORM conversao_vlreal
USING itab_zycit036a-vlreal
v_medestino_a
CHANGING itab_zycit036a-vlreal.
v_trea = v_trea + itab_zycit036a-vlreal.
* >> Início da EXCLUSÃ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.
ENDIF.
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.
* << Fim da EXCLUSÃO
v_trea = v_trea + itab_zycit036a-vlreal.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010O01
...
clear: /pws/zycie001,
/pws/zycie001a.
endmodule.
module carrega_zycbe003 output.
move-corresponding itab_zycit003_custo to /pws/zycie003.
* >> Início da INCLUSÃO: MODULE CARREGA_ZYCBE003
move itab_zycit003_custo-netpr to v_netprt.
* << Fim da INCLUSÃO
* >> 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
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 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.
* >> Início da INCLUSÃO: MODULE CARREGA_ZYCBE003
ENDIF.
IF /pws/zycie003-waers_mov NE /pws/zycie001-waers_mov.
* << Fim da INCLUSÃO
PERFORM trata_decimais USING /pws/zycie003-waers_mov
CHANGING v_vlmov_tl.
* >> Início da INCLUSÃO: MODULE CARREGA_ZYCBE003
ENDIF.
IF /pws/zycie003-waers_dif NE /pws/zycie001-waers_dif.
* << Fim da INCLUSÃO
PERFORM trata_decimais USING /pws/zycie003-waers_dif
CHANGING v_vldif_tl.
* >> Início da INCLUSÃO: MODULE CARREGA_ZYCBE003
ENDIF.
* << Fim da INCLUSÃO
describe table itab_zycit003_custo lines v_lin.
tc_itens-lines = v_lin.
endmodule.
module status_0003 output.
clear: itab_botoes. refresh: itab_botoes.
...
...
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'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010O02
...
MODULE
carrega_totais OUTPUT.
CLEAR : v_tplan, v_sdif.
CLEAR: v_trea, v_tmov, v_tdif, v_sdif.
CLEAR: v_trea.
* >> Início da INCLUSÃO: MODULE CARREGA_TOTAIS
if /pws/zycie001-regime eq '14'.
move /pws/zycit442 to itab_zycit085.
append itab_zycit085.
endif.
* << Fim da INCLUSÃO
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
...
...
custo = 'X'.
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 INCLUSÃO: MODULE CARREGA_TOTAIS
IF itab_zycit085-ukursseg > 0.
v_treal_aux = itab_zycit036a-vlreal / itab_zycit085-ukursseg.
endif.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: MODULE CARREGA_TOTAIS
v_treal_aux = itab_zycit036a-vlreal * itab_zycit085-ukursseg.
* << Fim da EXCLUSÃO
v_treal_conv = v_treal_aux.
ELSE.
PERFORM taxa_converte USING itab_zycit036a-waers_real
itab_zycit085-dttax
CHANGING v_taxa.
...
...
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 trata_decimais USING itab_zycit036a-waers_real
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: MODULE CARREGA_TOTAIS
PERFORM retorna_decimais USING itab_zycit036a-waers_real
* << Fim da EXCLUSÃO
CHANGING v_treal_conv.
ELSE.
PERFORM converter_moeda USING
itab_zycit036a-vlreal
itab_zycit036a-waers_real
...
...
ENDIF.
ENDIF.
ELSE.
READ TABLE itab_zycit085 INDEX 1.
IF itab_zycit036a-waers_real ne itab_zycit085-waersseg.
* >> Início da INCLUSÃO: MODULE CARREGA_TOTAIS
IF itab_zycit085-ukursseg > 0.
v_treal_aux = itab_zycit036a-vlreal / itab_zycit085-ukursseg.
endif.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: MODULE CARREGA_TOTAIS
v_treal_aux = itab_zycit036a-vlreal * itab_zycit085-ukursseg
.
* << Fim da EXCLUSÃO
v_treal_conv = v_treal_aux.
* >> Início da INCLUSÃO: MODULE CARREGA_TOTAIS
PERFORM trata_decimais USING itab_zycit036a-waers_real
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: MODULE CARREGA_TOTAIS
PERFORM retorna_decimais USING itab_zycit036a-waers_real
* << Fim da EXCLUSÃO
CHANGING v_treal_conv.
ENDIF.
ENDIF.
* >> Início da INCLUSÃO: MODULE CARREGA_TOTAIS
PERFORM trata_decimais USING /pws/zycie001-waers_real
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: MODULE CARREGA_TOTAIS
PERFORM retorna_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.
PERFORM retorna_decimais USING /pws/zycie001-waers_real
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010TOP
...
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.
...
...
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 INCLUSÃO:
DATA: v_vlreal_t LIKE itab_zycit036a-vlreal,
v_dtreal LIKE sy-datum.
* << Fim da INCLUSÃO
* >> 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
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.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010X01
tables: /pws/zycie001,
t030,
/pws/zycit000,
* >> Início da INCLUSÃO:
/pws/zycbt007,
/pws/zycit442.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO:
/pws/zycbt007.
* << Fim da EXCLUSÃO
data: begin of common part b.
data : itab_zycbe033 like /pws/zycbe033 occurs 0 with header line.
data: itab_zycie033 like /pws/zycbe033 occurs 10 with header line,
itab_zycit032 like /pws/zycit032 occurs 10 with header line,
itab_zycit034 like /pws/zycit034 occurs 10 with header line,
...
...
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 .
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR007
...
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 INCLUSÃO:
v_tcode LIKE sy-tcode,
v_wrbtr like /pws/zycie003-vlreal.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO:
v_tcode LIKE sy-tcode .
* << Fim da EXCLUSÃ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.
...
...
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 INCLUSÃO: FORM LISTA_IMPRESSAO
53 '|', v_wrbtr CURRENCY /pws/zycbt007-waersb,
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM LISTA_IMPRESSAO
53 '|', itab_zycie031_aux-wrbtr CURRENCY
/pws/zycbt007-waersb,
* << Fim da EXCLUSÃO
72 '|',
91 '|',
97 '|',
110 '|',
123 '|',
...
...
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 INCLUSÃO: FORM LISTA_IMPRESSAO
v_wrbtr = v_wrbtr * -1.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM LISTA_IMPRESSAO
itab_zycbt035_aux-wrbtr = itab_zycbt035_aux-wrbtr * -1.
* << Fim da EXCLUSÃ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 INCLUSÃO: FORM LISTA_IMPRESSAO
53 '|', v_wrbtr CURRENCY /pws/zycbt007-waersb,
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM LISTA_IMPRESSAO
53 '|', itab_zycbt035_aux-wrbtr CURRENCY
/pws/zycbt007-waersb,
* << Fim da EXCLUSÃ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,
...
...
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.
...
...
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 INCLUSÃO: FORM LISTA_IMPRESSAO
v_wrbtr = v_wrbtr * -1.
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM LISTA_IMPRESSAO
itab_zycbt035-wrbtr = itab_zycbt035-wrbtr * -1.
* << Fim da EXCLUSÃO
ENDIF.
WRITE: /00 '|', itab_zycbt035-d_newko,
* >> Início da INCLUSÃO: FORM LISTA_IMPRESSAO
17 '|', v_wrbtr CURRENCY /pws/zycbt007-waersb,
* << Fim da INCLUSÃO
* >> Início da EXCLUSÃO: FORM LISTA_IMPRESSAO
17 '|', itab_zycbt035-wrbtr CURRENCY /pws/zycbt007-waersb,
* << Fim da EXCLUSÃ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,
...
...
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
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
* << Fim da INCLUSÃO
* << Fim da INCLUSÃO
* << Fim da INCLUSÃO
* << Fim da INCLUSÃO
* << Fim da INCLUSÃO
* << Fim da INCLUSÃO
* << Fim da INCLUSÃO
* << Fim da INCLUSÃO
* << Fim da INCLUSÃO
* << Fim da INCLUSÃO
* << Fim da INCLUSÃO