Módulo: DOC. IMPORTAÇÃO
Funcionalidade: LI
Data/Hora da Publicação: 13/06/2007 00:00:00
Data/Hora Última Alteração: 03/09/2012 17:03:40
Descrição da Nota: CÁLCULO INCORRETO DO VALOR FOB DA MERCADORIA NO LOCAL DE EMBARQUE
Sintoma
Os campos "valor total" e "val total local embarque" da LI estão com os valores trocados.
Solução
ajustar composição de valores
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03906 Data: 13/06/2007 Hora: 11:56:04
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03906
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00001
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
----------------------------------------------------------------------------------------------------
CÁLCULO INCORRETO DO VALOR FOB DA MERCADORIA NO LOCAL DE EMBARQUE
----------------------------------------------------------------------------------------------------
Palavras Chave:
LI - VALOR FOB - MERCADORIA NO LOCAL DE EMBARQUE
INCOTERM
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI020F01
REPS /PWS/MZYCI020I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F01
...
ENDLOOP.
ENDIF.
ENDIF.
SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie078-bukrs.
SELECT SINGLE * FROM /pws/zycit031
WHERE inco1 = /pws/zycie078-inco1
AND land1 EQ t001-land1.
wa_zycit078-inco1 = /pws/zycie078-inco1.
SELECT * FROM /pws/zycit030
INTO TABLE itab_zycit030
* >> Início da exclusão: FORM VERIFICA_ITENS
WHERE codigo = /pws/zycit031-inco1_ci
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ITENS
WHERE codigo = 'FOB'
* << Fim da inclusão
AND land1 = t001-land1
AND bukrs = /pws/zycie078-bukrs.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI020'
'PLI002'.
CLEAR: itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'PLI002'.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
...
...
ELSE.
it_zycit079-qtdest = it_zycit079-qtd_iten * it_zycit079-fator.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
CONCATENATE /pws/zycie079-steuc1(4) /pws/zycie079-steuc1+5(2)
/pws/zycie079-steuc1+8(2) INTO /pws/zycie079-ncm.
MODIFY it_zycit079.
ENDLOOP.
* >> Início da exclusão: FORM VERIFICA_ITENS
CLEAR /pws/zycie078-vlmerc.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ITENS
CLEAR /pws/zycie078-vltot.
* << Fim da inclusão
PERFORM verifica_vltotal_local_emb.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI020'
'PLI003'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY
zexit = 'PLI003' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
...
...
v_vlmerc = v_vlmerc + itab_zycit030_aux-valor .
ELSE.
v_vlmerc = v_vlmerc - itab_zycit030_aux-valor.
ENDIF.
AT END OF codigo.
it_zycit079_a-netpr = v_vlmerc.
ENDAT.
ENDLOOP.
FREE itab_zycit030_aux.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_VLTOTAL_LOCAL_EMB
/pws/zycie078-vlmerc = /pws/zycie078-vlmerc +
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_VLTOTAL_LOCAL_EMB
/pws/zycie078-vltot = /pws/zycie078-vltot +
* << Fim da inclusão
it_zycit079_a-netpr * it_zycit079_a-qtd_iten.
ENDLOOP.
ENDFORM.
...
...
LOOP AT it_zycit079.
v_tabix = sy-tabix.
IF /pws/zycie078-drawback EQ '1'.
READ TABLE itab_itens_aux WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
IF sy-subrc EQ 0.
READ TABLE it_zycit245 WITH KEY nrseqd = /pws/zycie078-nrseqd.
IF sy-subrc EQ 0.
IF /pws/zycie078-tipodb = 'G'.
it_zycit245-sdocomp_t = it_zycit245-netpr_t -
* >> Início da exclusão: FORM VERIFICA_SALDO_DRAWBACK
/pws/zycie078-vltot.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_SALDO_DRAWBACK
/pws/zycie078-vlmerc.
* << Fim da inclusão
IF v_salvo_drawback IS INITIAL.
it_zycit245-vinculado = it_zycit245-vinculado +
/pws/zycie078-qtdest.
it_zycit245-vlvinc = it_zycit245-vlvinc +
v_vlfobli.
ENDIF.
MODIFY it_zycit245 TRANSPORTING sdocomp_t vinculado vlvinc
WHERE nrseqd = /pws/zycie078-nrseqd.
MOVE it_zycit079[] TO it_zycit079_aux4[].
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020I01
...
MODULE calc_total INPUT.
DATA: v_netpr LIKE /pws/zycie001-netpr.
* >> Início da exclusão: MODULE CALC_TOTAL
CLEAR /pws/zycie078-vltot.
* << Fim da exclusão
* >> Início da inclusão: MODULE CALC_TOTAL
CLEAR /pws/zycie078-vlmerc.
* << Fim da inclusão
IF NOT it_zycit079[] IS INITIAL.
LOOP AT it_zycit079.
CLEAR v_netpr.
PERFORM trata_decimais USING it_zycit079-waers
CHANGING it_zycit079-netpr.
v_netpr = it_zycit079-qtd_iten * it_zycit079-netpr.
* >> Início da exclusão: MODULE CALC_TOTAL
/pws/zycie078-vltot = v_netpr + /pws/zycie078-vltot.
* << Fim da exclusão
* >> Início da inclusão: MODULE CALC_TOTAL
/pws/zycie078-vlmerc = v_netpr + /pws/zycie078-vlmerc.
* << Fim da inclusão
IF NOT it_zycit079-waers IS INITIAL.
/pws/zycie078-waers = it_zycit079-waers.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE.
...
...
WHERE nrseqd EQ /pws/zycie078-nrseqd.
READ TABLE it_zycit079 INDEX 1.
READ TABLE it_zycit003_aux2 WITH KEY
ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
READ TABLE it_zycit245 WITH KEY codcomp =
it_zycit003_aux2-matnr.
MOVE:
it_zycit245-nritem+2 TO it_zycit079-item_drawback,
it_zycit079-qtd_iten TO it_zycit079-qtd_drawback,
* >> Início da exclusão: MODULE USER_COMMAND_0810
/pws/zycie078-vlmerc TO it_zycit079-vl_prod_drawback.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0810
/pws/zycie078-vltot TO it_zycit079-vl_prod_drawback.
* << Fim da inclusão
MODIFY it_zycit079 INDEX 1.
ENDIF.
ENDLOOP.
IF NOT /pws/zycie078-tipodb IS INITIAL.
IF /pws/zycie078-modalidade EQ 'I'.
/pws/zycie078-drawback = '3'.
ELSE.
IF /pws/zycie078-tipodb = 'G'.
/pws/zycie078-drawback = '1'.
ELSE.
...