Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DSI
Data/Hora da Publicação: 27/03/2007 00:00:00
Data/Hora Última Alteração: 08/03/2010 20:16:26
Descrição da Nota: ERRO NA VARIAÇÃO CAMBIAL DA DSI.
Sintoma
Quando o tipo de declaração é DSI, aparece mensagem ao fazer a variação cambial "documento não
contém itens válidos". Na verdade não deve tentar fazer a variação pois o processo é com fatura P.
Solução
verificar se houve variação antes de fazer compensação de documentos.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03326 Data: 27/03/2007 Hora: 16:26:27
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03326
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00027
Agrupamento : 00159
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
ERRO NA VARIAÇÃO CAMBIAL DA DSI.
----------------------------------------------------------------------------------------------------
Palavras Chave:
VARIAÇÃO CAMBIAL - DSI -
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI058F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F03
...
SELECT SINGLE awkey FROM bkpf INTO itab_zycbt036-awkey
WHERE belnr = wa_bsis-belnr
AND bukrs = wa_zycit006-bukrs
AND gjahr = wa_zycit006-dtlanc(4).
APPEND itab_zycbt036.
CLEAR itab_zycbt036.
ENDIF.
ENDLOOP.
v_belnr = v_belnrf05.
PERFORM lanctos_variacao.
* >> Início da inclusão: FORM FILL_DATE_F_51_VARIACAO
IF itab_contas[] IS INITIAL.
EXIT.
ENDIF.
* << Fim da inclusão
LOOP AT itab_contas.
CLEAR: v_zuonr, v_sgtxt, v_bktxt.
CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'
EXPORTING
v_nrseq = /pws/zycie006-nrseq
v_nrfat = /pws/zycie006-nrfat
v_ebelp = /pws/zycie003-ebelp
v_ebeln = /pws/zycie003-ebeln
v_codeven = v_evento
v_ktosl = itab_contas-ktosl
...
...
READ TABLE itab_zycit100 INDEX 1.
SELECT SINGLE * FROM /pws/zycit001 WHERE nrseq = itab_zycit100-nrseq.
LOOP AT itab_bsis_aux WHERE hkont = itab_matuse_aux2-hkont.
READ TABLE itab_di WITH KEY hkont = itab_matuse_aux2-hkont.
IF itab_bsis_aux-tpfatura = '01'.
PERFORM get_parameters_f_51_variacao USING '001VM'.
READ TABLE itab_zycbt012 WITH KEY
codaux = itab_matuse_aux2-j_1bmatuse.
IF /pws/zycit031-inco1_ci = 'FOB'.
vl_variacao = itab_di-vlfob - itab_bsis_aux-dmbtr.
* >> Início da inclusão: FORM LANCTOS_VARIACAO
CHECK vl_variacao NE 0.
* << Fim da inclusão
IF itab_zycbe033-tcode = 'F-51'
AND NOT v_belnr IS INITIAL.
PERFORM: move_lanctos USING itab_di-vlfob,
calcula_diferenca.
ELSEIF itab_zycbe033-tcode = 'F-51'.
PERFORM move_lanctos USING itab_di-vlfob.
ELSEIF itab_zycbe033-tcode = 'F-05'.
PERFORM move_lanctos_f05.
ENDIF.
ELSEIF /pws/zycit031-inco1_ci = 'C&F'.
vl_variacao = itab_di-vlfob + itab_di-vlfre + itab_di-vlfren -
itab_bsis_aux-dmbtr.
* >> Início da inclusão: FORM LANCTOS_VARIACAO
CHECK vl_variacao NE 0.
* << Fim da inclusão
v_soma = itab_di-vlfob + itab_di-vlfre + itab_di-vlfren.
IF itab_zycbe033-tcode = 'F-51'
AND NOT v_belnr IS INITIAL.
PERFORM: move_lanctos USING v_soma,
calcula_diferenca.
ELSEIF itab_zycbe033-tcode = 'F-51'.
PERFORM move_lanctos USING v_soma.
ELSEIF itab_zycbe033-tcode = 'F-05'.
PERFORM move_lanctos_f05.
ENDIF.
ELSEIF /pws/zycit031-inco1_ci = 'CIF'.
vl_variacao = itab_di-vlfob + itab_di-vlfre + itab_di-vlfren +
itab_di-vlseg - itab_bsis_aux-dmbtr.
* >> Início da inclusão: FORM LANCTOS_VARIACAO
CHECK vl_variacao NE 0.
* << Fim da inclusão
IF itab_zycbe033-tcode = 'F-51'
AND NOT v_belnr IS INITIAL.
PERFORM: move_lanctos USING itab_di-vldi,
calcula_diferenca.
ELSEIF itab_zycbe033-tcode = 'F-51'.
PERFORM move_lanctos USING itab_di-vldi.
ELSEIF itab_zycbe033-tcode = 'F-05'.
PERFORM move_lanctos_f05.
ENDIF.
ENDIF.
ELSEIF itab_bsis_aux-tpfatura = '02'.
IF NOT /pws/zycit000-provfre IS INITIAL.
CONTINUE.
ENDIF.
PERFORM get_parameters_f_51_variacao USING '001VF'.
READ TABLE itab_zycbt012 WITH KEY
codaux = itab_matuse_aux2-j_1bmatuse.
vl_variacao = itab_di-vlfre - itab_bsis_aux-dmbtr.
* >> Início da inclusão: FORM LANCTOS_VARIACAO
CHECK vl_variacao NE 0.
* << Fim da inclusão
IF itab_zycbe033-tcode = 'F-51'.
PERFORM move_lanctos USING itab_di-vlfre.
ELSEIF itab_zycbe033-tcode = 'F-05'.
PERFORM move_lanctos_f05.
ENDIF.
ELSEIF itab_bsis_aux-tpfatura = '03'.
IF NOT /pws/zycit000-provseg IS INITIAL.
CONTINUE.
ENDIF.
PERFORM get_parameters_f_51_variacao USING '001VS'.
READ TABLE itab_zycbt012 WITH KEY
codaux = itab_matuse_aux2-j_1bmatuse.
vl_variacao = itab_di-vlseg - itab_bsis_aux-dmbtr.
* >> Início da inclusão: FORM LANCTOS_VARIACAO
CHECK vl_variacao NE 0.
* << Fim da inclusão
IF itab_zycbe033-tcode = 'F-51'.
PERFORM move_lanctos USING itab_di-vlseg.
ELSEIF itab_zycbe033-tcode = 'F-05'.
PERFORM move_lanctos_f05.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
FORM move_lanctos USING p_valor.
DATA: v_conta LIKE itab_matuse_aux-hkont,
...
...
'BUKRS' text-157.
itab_zycbe033-bukrs = /pws/zycie085-bukrs.
PERFORM verify_null_field USING wa_zycbt007-waersb
'WAERS' text-158.
itab_zycbe033-waers = wa_zycbt007-waersb.
PERFORM verify_null_field USING wa_zycbt011-blart
'BLART' text-159.
itab_zycbe033-blart = wa_zycbt011-blart.
APPEND itab_zycbe033.
PERFORM lanctos_variacao.
* >> Início da inclusão: FORM FILL_DATE_F_05_VARIACAO
IF itab_contas[] IS INITIAL.
EXIT.
ENDIF.
* << Fim da inclusão
LOOP AT itab_contas.
CLEAR: v_xblnr, v_zuonr, v_sgtxt, v_bktxt.
CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'
EXPORTING
v_nrseq = itab_zycit100-nrseq
v_nrfat = /pws/zycie006-nrfat
v_codeven = v_evento
v_ktosl = 'VCI'
IMPORTING
v_xblnr = v_xblnr
...