Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 08/09/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 13:34:34
Descrição da Nota: ERRO AO LEVAR FATURA DE FRETE PARA O CUSTO.
Sintoma
Embarque FOB, quando lanço a fatura de frete internacional (Tipo 02) e a fatura de seguro (Tipo 3)
o valor está indo para o custo efetivo apenas para a coluna "Realizado", mas não está preenchendo a
coluna "Movimentado". A despesa está parametrizada para ir para custo atráves da fatura.
Solução
Ajustado para tratar ano contábil antes da seleção do documento contábil.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02065 Data: 08/09/2006 Hora: 09:22:09
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02065
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00024
Agrupamento : 00129
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01137 - 00003 - 6.0 - 00023 - PERFORMANCE NA TRANSAÇÃO /PWS/ZYCIR006 (ATUALIZAÇÃO DO CUSTO EFET
01601 - 00001 - 6.0 - 00023 - AO ENTRAR NO CUSTO E CONVERTER PARA MOEDA INTERNA SÓ MUDA A MOEDA
01986 - 00002 - 6.0 - 00024 - ERRO NO CUSTO EFETIVO E FATURA DO TIPO P
----------------------------------------------------------------------------------------------------
ERRO AO LEVAR FATURA DE FRETE PARA O CUSTO.
----------------------------------------------------------------------------------------------------
Palavras Chave:
FATURA DE FRETE E SEGURO - CUSTO EFETIVO - COLUNA REALIZADO
COLUNA MOVIMENTADO - ANO FISCAL - BKPF - DOCUMENTO CONTÁBIL
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010F01
REPS /PWS/ZYCIR006
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F01
...
IF /pws/zycit085 IS INITIAL.
SELECT SINGLE nrseqda FROM /pws/zycit003 INTO v_nrseqda
WHERE nrseq = itab_zycit036-nrseq.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit442
WHERE nrseqda EQ v_nrseqda. "/pws/zycit003-nrseqda.
IF sy-subrc EQ 0.
MOVE /pws/zycit442 TO /pws/zycit085.
ENDIF.
ENDIF.
ENDIF.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit036
WHERE nrseq EQ itab_zycit036-nrseqori.
* >> Início da inclusão: FORM CHANGE_WAERS
IF NOT itab_zycit006[] IS INITIAL
AND it_bkpf_aux[] 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,
v_year LIKE t009b-bdatj.
MOVE itab_zycit006[] TO itab_zycit006_year[].
LOOP AT itab_zycit006_year.
v_tabix = sy-tabix.
* Para fatura Free Of Charge nao procurar o ano contabil.
IF itab_zycit006_year-frpagto NE 'A'.
IF NOT itab_zycit006_year-dt_belnrp IS INITIAL AND
NOT itab_zycit006_year-bukrs IS INITIAL.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = itab_zycit006_year-bukrs
v_date = itab_zycit006_year-dt_belnrp
IMPORTING
v_year = v_year.
itab_zycit006_year-dt_belnrp+0(4) = v_year.
MODIFY itab_zycit006_year INDEX v_tabix.
ENDIF.
ENDIF.
ENDLOOP.
itab_zycit006[] = itab_zycit006_year[].
* << Fim da inclusão
SELECT * FROM bkpf
INTO TABLE it_bkpf_aux
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).
ENDIF.
PERFORM altera_moeda.
ENDFORM. " CHANGE_WAERS
...
READ TABLE itab_zycit036_aux INDEX 1.
SELECT SINGLE * FROM /pws/zycit100
WHERE nrseq = itab_zycit036_aux-nrseq.
SELECT * FROM /pws/zycit085 INTO TABLE itab_zycit085
WHERE nrseqdi = /pws/zycit100-nrseqdi.
* if sy-subrc ne 0.
* message e120.
* endif.
PERFORM exit_movimentado TABLES itab_zycit036_aux2
CHANGING v_rub.
SELECT SINGLE * FROM /pws/zycbt007 INTO wa_zycbt007
WHERE bukrs EQ /pws/zycit001-bukrs.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE it_zycit006_aux2
FOR ALL ENTRIES IN itab_zycit036_aux2
WHERE nrseq = itab_zycit036_aux2-nrseqori
AND eliminado EQ space.
* >> Início da inclusão: FORM COD_DUPLICADOS
ENDIF.
IF NOT it_zycit006_aux2[] IS INITIAL
and it_bkpf_aux[] 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,
v_year like t009b-bdatj.
move it_zycit006_aux2[] to itab_zycit006_year[].
loop at itab_zycit006_year.
v_tabix = sy-tabix.
* Para fatura Free Of Charge nao procurar o ano contabil.
if itab_zycit006_year-frpagto ne 'A'.
if not itab_zycit006_year-dt_belnrp is initial and
not itab_zycit006_year-bukrs is initial.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = itab_zycit006_year-bukrs
v_date = itab_zycit006_year-dt_belnrp
importing
v_year = v_year.
itab_zycit006_year-dt_belnrp+0(4) = v_year.
modify itab_zycit006_year index v_tabix.
endif.
endif.
endloop.
it_zycit006_aux2[] = itab_zycit006_year[].
* << Fim da inclusão
SELECT *
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.
SORT itab_zycit036_aux2 BY nrseq ebeln ebelp codigo origem.
ENDFORM. " cod_duplicados
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR006
...
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.
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
AND ebelp = itab_zycit036-ebelp.
ENDIF.
IF itab_zycit263[] IS INITIAL.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit036
WHERE nrseq = itab_zycit036-nrseq
AND ebeln = itab_zycit036-ebeln
AND ebelp = itab_zycit036-ebelp
AND eliminado NE 'X'.
ENDIF.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
IF itab_zycit006[] IS INITIAL.
* << Fim da exclusão
SELECT *
FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit036
WHERE nrseq = itab_zycit036-nrseqori
AND eliminado EQ space.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
ENDIF.
* << Fim da exclusão
ENDIF.
IF NOT itab_zycit006[] IS INITIAL.
DATA: BEGIN OF itab_zycit006_year OCCURS 0.
INCLUDE STRUCTURE /pws/zycit006.
DATA: END OF itab_zycit006_year.
...
...
MODIFY itab_zycit006_year INDEX v_tabix.
ENDIF.
ENDIF.
ENDLOOP.
IF NOT itab_zycit006[] IS INITIAL.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
itab_zycit006[] = itab_zycit006_year[].
* << 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).
ENDIF.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
itab_zycit006[] = itab_zycit006_year[].
* << Fim da exclusão
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
...