CE PLUS - Nota 003326

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.

Versões Tratadas

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

...