Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 03/04/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:17:50
Descrição da Nota: PERFORMANCE NA TRANSAÇÃO /PWS/ZYCIR006 (ATUALIZAÇÃO DO CUSTO EFETIVO).
Sintoma
Má performance na transação /PWS/ZYCIR006 (atualização do custo efetivo). Ao clicar no icone custo
efetivo demora muito para abrir.
embarque tem muitos itens.
Solução
Foi Ajustado alguns selects.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01137 Data: 03/04/2006 Hora: 14:56:05
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01137
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00107
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
PERFORMANCE NA TRANSAÇÃO /PWS/ZYCIR006 (ATUALIZAÇÃO DO CUSTO EFETIVO).
----------------------------------------------------------------------------------------------------
Palavras Chave:
PERFORMACE - CUSTO - EFETIVO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010F02
REPS /PWS/MZYCI010F03
REPS /PWS/MZYCI010X01
REPS /PWS/ZYCIR006
REPS /PWS/ZYCIR035
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F02
...
* Campos para batch input
REFRESH itab_zycbt013.
SELECT * FROM /pws/zycbt013 INTO TABLE itab_zycbt013
WHERE tabela = '/PWS/ZYCIT001'.
* Selecionar materiais
REFRESH itab_material.
* >> Início da Exclusão: FORM GET_PARAMETERS_MR22
IF NOT itab_zycit003[] IS INITIAL.
* >> FIM da Exclusão: FORM GET_PARAMETERS_MR22
* >> Início da Inclusão: FORM GET_PARAMETERS_MR22
if not itab_zycit003_custo[] is initial.
* >> FIM da Inclusão: FORM GET_PARAMETERS_MR22
SELECT ebeln ebelp matnr bwtar knttp werks INTO TABLE itab_material
FROM ekpo
FOR ALL ENTRIES IN itab_zycit003_custo
WHERE ebeln = itab_zycit003_custo-ebeln
AND ebelp = itab_zycit003_custo-ebelp.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseq
AND ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
ENDIF.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
CLEAR itab_zycit398.
REFRESH itab_zycit398 .
SELECT * FROM /pws/zycit398
INTO TABLE itab_zycit398.
* << Fim da inclusão
LOOP AT itab_zycit042.
CLEAR itab_zycit033.
READ TABLE itab_zycit033 WITH KEY clnf = v_clnf
tpnf = itab_zycit042-tpnf
regio = t001w-regio.
...
...
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
ELSEIF itab_zycit036_aux-codigo EQ 'PIS'
and itab_zycit036_aux-origem eq 'NF'.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ itab_zycit042-tpnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ v_bukrs
AND clnf EQ v_clnf.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = v_bukrs
clnf = v_clnf.
* << Fim da inclusão
IF sy-subrc NE 0.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ itab_zycit042-tpnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ space.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = space.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
IF itab_zycit398-creditar EQ 'S'.
* << Fim da inclusão
* >> Início da exclusão: FORM RETIRA_IMPOSTO
IF sy-subrc EQ 0.
IF /pws/zycit398-creditar EQ 'S'.
* << Fim da exclusão
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
ENDIF.
* << Fim da exclusão
ENDIF.
ELSEIF itab_zycit036_aux-codigo EQ 'COFINS'
and itab_zycit036_aux-origem eq 'NF'.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ itab_zycit042-tpnf
AND clnf EQ v_clnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ v_bukrs.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = v_bukrs
clnf = v_clnf.
* << Fim da inclusão
IF sy-subrc NE 0.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ itab_zycit042-tpnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ space.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = space.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
IF itab_zycit398-creditar EQ 'S'.
* << Fim da inclusão
* >> Início da exclusão: FORM RETIRA_IMPOSTO
IF sy-subrc EQ 0.
IF /pws/zycit398-creditar EQ 'S'.
* << Fim da exclusão
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
ENDIF.
* << Fim da exclusão
ENDLOOP.
ENDLOOP.
DATA: it_zycit265 TYPE /pws/zycit265 OCCURS 0 WITH HEADER LINE.
IF it_zycit265[] IS INITIAL AND NOT
itab_zycit003[] IS INITIAL.
...
...
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
ELSEIF itab_zycit036_aux-codigo EQ 'PIS'
and itab_zycit036_aux-origem eq 'NFC'.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ it_zycit265-tpnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ v_bukrs.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = v_bukrs.
* << Fim da inclusão
IF sy-subrc NE 0.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ it_zycit265-tpnf
AND clnf EQ v_clnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ space.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = space.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
IF itab_zycit398-creditar EQ 'S'.
* << Fim da inclusão
* >> Início da exclusão: FORM RETIRA_IMPOSTO
IF sy-subrc EQ 0.
IF /pws/zycit398-creditar EQ 'S'.
* << Fim da exclusão
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
ENDIF.
* << Fim da exclusão
ELSEIF itab_zycit036_aux-codigo EQ 'COFINS'
and itab_zycit036_aux-origem eq 'NFC'.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ it_zycit265-tpnf
AND clnf EQ v_clnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ v_bukrs.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
clnf = v_clnf
tributos = itab_zycit036_aux-codigo
bukrs = v_bukrs.
* << Fim da inclusão
IF sy-subrc NE 0.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ it_zycit265-tpnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ space.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
READ TABLE itab_zycit398 WITH KEY
tpnf = itab_zycit042-tpnf
tributos = itab_zycit036_aux-codigo
bukrs = space.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
IF itab_zycit398-creditar EQ 'S'.
* << Fim da inclusão
* >> Início da exclusão: FORM RETIRA_IMPOSTO
IF sy-subrc EQ 0.
IF /pws/zycit398-creditar EQ 'S'.
* << Fim da exclusão
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
ENDIF.
* << Fim da exclusão
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010X01
...
* >> Início da Inclusão:
data: begin of itab_zycit398 occurs 0.
include structure /pws/zycit398.
data: end of itab_zycit398.
* >> Início da Inclusão:
DATA: END OF COMMON PART b.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR006
...
INCLUDE STRUCTURE /pws/zycit006.
DATA: END OF itab_zycit006.
DATA: BEGIN OF itab_zycit007 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit007.
DATA: END OF itab_zycit007.
* >> Início da inclusão:
DATA: BEGIN OF itab_tcurc OCCURS 0.
INCLUDE STRUCTURE tcurc.
DATA: END OF itab_tcurc.
* << Fim da inclusão
DATA: wa_t001w LIKE t001w,
wa_bseg LIKE bseg OCCURS 0.
DATA:
v_netpr LIKE ekpo-netpr,
v_porcent LIKE konv-kbetr,
...
...
IF sy-subrc = 0.
CLEAR itab_zycit036_auxl-vlmov.
MODIFY itab_zycit036_auxl INDEX sy-tabix.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
IF NOT itab_zycit036[] IS INITIAL.
SELECT * FROM tcurc INTO TABLE itab_tcurc
FOR ALL ENTRIES IN itab_zycit036
WHERE waers EQ itab_zycit036-waers_real.
SELECT * FROM tcurc APPENDING TABLE itab_tcurc
WHERE waers = /pws/zycit085-waersfob.
SELECT * FROM /pws/zycit174 INTO TABLE itab_zycit174
WHERE vigen_inicio <= /pws/zycit085-dttax AND
vigen_fim >= /pws/zycit085-dttax AND
land1 = t001-land1.
* << Fim da inclusão
IF itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit036
WHERE nrseq = itab_zycit036-nrseq
AND ebeln = itab_zycit036-ebeln
...
...
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit036
WHERE nrseq = itab_zycit036-nrseqori
AND eliminado EQ space.
ENDIF.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
ENDIF.
* << Fim da inclusão
IF NOT itab_zycit006[] IS INITIAL.
DATA: BEGIN OF itab_zycit006_year OCCURS 0.
INCLUDE STRUCTURE /pws/zycit006.
DATA: END OF itab_zycit006_year.
DATA: v_tabix LIKE sy-tabix,
...
...
itab_zycit006_year-dt_belnrp+0(4) = v_year.
MODIFY itab_zycit006_year INDEX v_tabix.
ENDIF.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
IF NOT itab_zycit006[] IS INITIAL.
* << Fim da inclusão
SELECT *
FROM bkpf
INTO TABLE itab_bkpf
FOR ALL ENTRIES IN itab_zycit006
WHERE bukrs EQ itab_zycit006-bukrs
AND belnr EQ itab_zycit006-belnr_p
AND gjahr EQ itab_zycit006-dt_belnrp(04).
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
ENDIF.
* << Fim da inclusão
itab_zycit006[] = itab_zycit006_year[].
ENDIF.
IF /pws/zycit085-mdadicao EQ 'N'.
LOOP AT itab_zycit036 WHERE origem EQ 'NF'.
v_index = sy-tabix.
IF itab_zycit036-codigo EQ 'FOB' OR
itab_zycit036-codigo EQ 'C&F' OR
itab_zycit036-codigo EQ 'CIF' .
IF itab_zycit036-waers_real NE /pws/zycit085-waersfob.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
READ TABLE itab_tcurc WITH KEY
* << Fim da inclusão
waers = itab_zycit036-waers_real.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
SELECT SINGLE * FROM /pws/zycit174
WHERE codconver = v_moeda AND
vigen_inicio <= /pws/zycit085-dttax AND
vigen_fim >= /pws/zycit085-dttax AND
land1 = t001-land1.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
IF sy-subrc EQ 0.
MOVE itab_tcurc-/pws/codmo TO v_moeda.
READ TABLE itab_zycit174 WITH KEY
codconver = v_moeda.
IF sy-subrc EQ 0.
MOVE itab_zycit174 TO /pws/zycit174.
ENDIF.
ENDIF.
* << Fim da inclusão
IF NOT /pws/zycit174-txconver IS INITIAL.
itab_zycit036-vlreal =
itab_zycit036-vlreal * /pws/zycit174-txconver.
ENDIF.
CLEAR : /pws/zycit174, v_moeda.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
READ TABLE itab_tcurc WITH KEY
* << Fim da inclusão
waers = /pws/zycit085-waersfob.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
IF sy-subrc EQ 0.
MOVE itab_tcurc-/pws/codmo TO v_moeda.
READ TABLE itab_zycit174 WITH KEY
codconver = v_moeda.
IF sy-subrc EQ 0.
MOVE itab_zycit174 TO /pws/zycit174.
ENDIF.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
SELECT SINGLE * FROM /pws/zycit174
WHERE codconver = v_moeda AND
vigen_inicio <= /pws/zycit085-dttax AND
vigen_fim >= /pws/zycit085-dttax AND
land1 = t001-land1.
* << Fim da exclusão
IF NOT /pws/zycit174-txconver IS INITIAL.
itab_zycit036-vlreal =
itab_zycit036-vlreal / /pws/zycit174-txconver.
ENDIF.
itab_zycit036-waers_real = /pws/zycit085-waersfob.
ENDIF.
ENDIF.
MODIFY itab_zycit036 INDEX v_index.
ENDLOOP.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
CLEAR : /pws/zycit174, v_moeda.
* << Fim da inclusão
LOOP AT itab_zycit036 WHERE origem EQ 'FAT'.
v_index = sy-tabix.
IF itab_zycit036-codigo EQ 'FOB' OR
itab_zycit036-codigo EQ 'C&F' OR
itab_zycit036-codigo EQ 'CIF' .
IF itab_zycit036-waers_real NE /pws/zycit085-waersfob.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
READ TABLE itab_tcurc WITH KEY
* << Fim da inclusão
waers = itab_zycit036-waers_real.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
SELECT SINGLE * FROM /pws/zycit174
WHERE codconver = v_moeda AND
vigen_inicio <= /pws/zycit085-dttax AND
vigen_fim >= /pws/zycit085-dttax AND
land1 = t001-land1.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
IF sy-subrc EQ 0.
MOVE itab_tcurc-/pws/codmo TO v_moeda.
READ TABLE itab_zycit174 WITH KEY
codconver = v_moeda.
IF sy-subrc EQ 0.
MOVE itab_zycit174 TO /pws/zycit174.
ENDIF.
ENDIF.
* << Fim da inclusão
IF NOT /pws/zycit174-txconver IS INITIAL.
itab_zycit036-vlreal =
itab_zycit036-vlreal * /pws/zycit174-txconver.
ENDIF.
CLEAR : /pws/zycit174, v_moeda.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
READ TABLE itab_tcurc WITH KEY
* << Fim da inclusão
waers = /pws/zycit085-waersfob.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
IF sy-subrc EQ 0.
MOVE itab_tcurc-/pws/codmo TO v_moeda.
READ TABLE itab_zycit174 WITH KEY
codconver = v_moeda.
IF sy-subrc EQ 0.
MOVE itab_zycit174 TO /pws/zycit174.
ENDIF.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
SELECT SINGLE * FROM /pws/zycit174
WHERE codconver = v_moeda AND
vigen_inicio <= /pws/zycit085-dttax AND
vigen_fim >= /pws/zycit085-dttax AND
land1 = t001-land1.
* << Fim da exclusão
IF NOT /pws/zycit174-txconver IS INITIAL.
itab_zycit036-vlreal =
itab_zycit036-vlreal / /pws/zycit174-txconver.
ENDIF.
itab_zycit036-waers_real = /pws/zycit085-waersfob.
...
...
v_tot_linf = v_tot_linf + 1.
ENDLOOP.
LOOP AT itab_zycit036 WHERE codigo EQ 'SEGURO'.
v_tot_lins = v_tot_lins + 1.
ENDLOOP.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
data : begin of itab_zycit006_fat occurs 0.
include structure /pws/zycit006.
data : end of itab_zycit006_fat.
if not itab_zycit263[] is initial.
SELECT * FROM /pws/zycit006 into table itab_zycit006_fat
for all entries in itab_zycit263
WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat
AND frpagto = 'A'
AND tpfatura NE '99'
AND eliminado NE 'X'.
endif.
* << Fim da inclusão
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
LOOP AT itab_zycit036.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
loop at itab_zycit036 where origem ne 'PED'.
* << Fim da inclusão
IF itab_zycit036-netpr <= v_vl.
CLEAR itab_zycit036-netpr.
ENDIF.
CLEAR v_valor.
v_index = sy-tabix.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
IF itab_zycit036-origem NE 'PED'.
* << Fim da exclusão
CLEAR v_itemcongela.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
READ TABLE itab_zycit036_auxl WITH KEY
* << Fim da inclusão
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
READ TABLE itab_zycit036_auxl WITH KEY nrseq = itab_zycit036-nrseq
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
nrseq = itab_zycit036-nrseq
* << Fim da inclusão
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp
congelamov = 'X'.
IF sy-subrc EQ 0.
v_itemcongela = 'X'.
...
...
READ TABLE itab_zycit263 WITH KEY
nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc = 0.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
SELECT SINGLE * FROM /pws/zycit006
WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat
AND frpagto = 'A'
AND tpfatura NE '99'
AND eliminado NE 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
read table itab_zycit006_fat with key
nrseq_pgfat = itab_zycit263-nrseq_pgfat.
* << Fim da inclusão
IF sy-subrc = 0.
CLEAR: itab_zycit036-vlmov, itab_zycit036-waers_mov,
itab_zycit036-vldif, itab_zycit036-waers_dif.
ENDIF.
ENDIF.
...
...
ELSEIF itab_zycit036-vldif IS INITIAL.
CLEAR itab_zycit036-waers_dif.
ENDIF.
MODIFY itab_zycit036 INDEX v_index.
ENDCASE.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
READ TABLE itab_zycit036_auxl WITH KEY nrseq = itab_zycit036-nrseq
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
READ TABLE itab_zycit036_auxl WITH KEY
nrseq = itab_zycit036-nrseq
* << Fim da inclusão
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp
codigo = itab_zycit036-codigo
origem = 'PED'.
IF sy-subrc = 0.
...
...
itab_zycit036-waers_dif = itab_zycit036-waers_mov.
CLEAR itab_zycit036_auxl-vlmov.
CLEAR itab_zycit036_auxl-waers_mov.
MODIFY itab_zycit036_auxl INDEX sy-tabix.
MODIFY itab_zycit036 INDEX v_index.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
ENDIF.
* << Fim da exclusão
ENDIF.
ENDIF.
MODIFY itab_zycit036 INDEX v_index.
ENDLOOP.
DATA nrbl LIKE /pws/zycit085-nrbl.
...
...
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM.
FORM verifica_moeda.
* >> Início da inclusão: FORM VERIFICA_MOEDA
CLEAR: itab_tcurc, itab_zycit174.
REFRESH: itab_tcurc, itab_zycit174.
IF NOT itab_zycit100[] IS INITIAL and
/pws/zycit085-mdadicao = 'N'.
SELECT * FROM tcurc INTO TABLE itab_tcurc
FOR ALL ENTRIES IN itab_zycit100
WHERE waers = itab_zycit100-waersbem.
SELECT * FROM /pws/zycit174 INTO TABLE itab_zycit174
WHERE vigen_inicio <= /pws/zycit085-dttax AND
vigen_fim >= /pws/zycit085-dttax AND
land1 = t001-land1.
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycit100.
IF /pws/zycit085-mdadicao = 'N'.
IF itab_zycit100-waersbem NE /pws/zycit085-waersfob.
CLEAR : /pws/zycit174, v_moeda.
* >> Início da exclusão: FORM VERIFICA_MOEDA
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_MOEDA
READ TABLE itab_tcurc WITH KEY
* << Fim da inclusão
waers = itab_zycit100-waersbem.
* >> Início da inclusão: FORM VERIFICA_MOEDA
IF sy-subrc EQ 0.
MOVE itab_tcurc-/pws/codmo TO v_moeda.
READ TABLE itab_zycit174 WITH KEY
codconver = v_moeda.
IF sy-subrc EQ 0.
MOVE itab_zycit174 TO /pws/zycit174.
ENDIF.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_MOEDA
SELECT SINGLE * FROM /pws/zycit174
WHERE codconver = v_moeda AND
vigen_inicio <= /pws/zycit085-dttax AND
vigen_fim >= /pws/zycit085-dttax AND
land1 = t001-land1.
* << Fim da exclusão
IF NOT /pws/zycit174-txconver IS INITIAL.
itab_zycit100-vlfob =
itab_zycit100-vlfob * /pws/zycit174-txconver.
ENDIF.
CLEAR : /pws/zycit174, v_moeda.
* >> Início da inclusão: FORM VERIFICA_MOEDA
READ TABLE itab_tcurc WITH KEY
waers = itab_zycit100-waersbem.
IF sy-subrc EQ 0.
MOVE itab_tcurc-/pws/codmo TO v_moeda.
READ TABLE itab_zycit174 WITH KEY
codconver = v_moeda.
IF sy-subrc EQ 0.
MOVE itab_zycit174 TO /pws/zycit174.
ENDIF.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_MOEDA
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
waers = /pws/zycit085-waersfob.
SELECT SINGLE * FROM /pws/zycit174
WHERE codconver = v_moeda AND
vigen_inicio <= /pws/zycit085-dttax AND
vigen_fim >= /pws/zycit085-dttax AND
land1 = t001-land1.
* << Fim da exclusão
IF NOT /pws/zycit174-txconver IS INITIAL.
itab_zycit100-vlfob =
itab_zycit100-vlfob / /pws/zycit174-txconver.
ENDIF.
itab_zycit100-dttaxbem = /pws/zycit174-txconver.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR035
...
itab_zycit036-hruserc = sy-uzeit.
append itab_zycit036.
endif.
if /pws/zycit100-codregtri ne '3' and
/pws/zycit100-codregtri ne '5'.
* >> Início da exclusão: FORM CRIA_DESPESAS
perform entra_despesa using it_desp 'II' it_desp-vlii 'BRL'
* << Fim da exclusão
* >> Início da inclusão: FORM CRIA_DESPESAS
perform entra_despesa using it_desp 'II' it_desp-vlii
/pws/zycbt007-waersb
* << Fim da inclusão
it_desp-advalii changing wa_036.
move wa_036 to itab_zycit036.
itab_zycit036-usernamec = sy-uname.
itab_zycit036-dtuserc = sy-datum.
itab_zycit036-hruserc = sy-uzeit.
append itab_zycit036.
endif.
if /pws/zycit100-codregtriipi ne '1' and
/pws/zycit100-codregtriipi ne '5'.
* >> Início da exclusão: FORM CRIA_DESPESAS
perform entra_despesa using it_desp 'IPI' it_desp-vlipi 'BRL'
* << Fim da exclusão
* >> Início da inclusão: FORM CRIA_DESPESAS
perform entra_despesa using it_desp 'IPI' it_desp-vlipi
/pws/zycbt007-waersb
* << Fim da inclusão
it_desp-advalipi changing wa_036.
move wa_036 to itab_zycit036.
itab_zycit036-usernamec = sy-uname.
itab_zycit036-dtuserc = sy-datum.
itab_zycit036-hruserc = sy-uzeit.
append itab_zycit036.
endif.
* >> Início da exclusão: FORM CRIA_DESPESAS
perform entra_despesa using it_desp 'ICMS' it_desp-vlicms 'BRL'
* << Fim da exclusão
* >> Início da inclusão: FORM CRIA_DESPESAS
perform entra_despesa using it_desp 'ICMS' it_desp-vlicms
/pws/zycbt007-waersb
* << Fim da inclusão
it_desp-aliqicms changing wa_036.
move wa_036 to itab_zycit036.
itab_zycit036-usernamec = sy-uname.
itab_zycit036-dtuserc = sy-datum.
itab_zycit036-hruserc = sy-uzeit.
...