CE PLUS - Nota 008977

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 08/09/2009 00:00:00

Data/Hora Última Alteração: 03/02/2010 17:14:08

Descrição da Nota: HÁ ERRO NO CONTROLE DE SALDO DA FATURA.

Sintoma

 

Há erro no controle de saldo da fatura.Fatura deixar criar sem saldo suficiente.

 

Solução

 

Ajustar controle de saldo.

Versões Tratadas

7.0

Informações Complementares

 

----------------------------------------------------------------------------------------------------

Nota Número 08977 Data: 08/09/2009 Hora: 16:40:39

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 08977

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00010

Agrupamento              : 00112

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

----------------------------------------------------------------------------------------------------

HÁ ERRO NO CONTROLE DE SALDO DA FATURA.

----------------------------------------------------------------------------------------------------

Palavras Chave:

ERRO - SALDO - FATURA - CONTROLE - CRIAÇÃO

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

DYNP /PWS/SAPMZYCI003                        0106

REPS /PWS/MZYCI003F01

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003I01

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DYNP /PWS/SAPMZYCI003                        0106

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0106

...

 

PROCESS AFTER INPUT.

  CHAIN.

    FIELD v_ratval MODULE trata_ratval.

  ENDCHAIN.

  MODULE calcula_total_planejado.

  LOOP AT itab_zycit003.

* >> Início da inclusão:

    chain.

      field itab_zycit003-toinv module verifica_saldo on chain-request.

    endchain.

* << Fim da inclusão

    FIELD /pws/zycie003-vlreal MODULE trata_obrigatorio.

    MODULE altera_itab_zycit003.

  ENDLOOP.

  MODULE: calcula_peso,

          user_command_0102.

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

      LOOP AT itab_zycit003_aux.

        CLEAR vsaldo.

        LOOP AT itab_zycit263_aux WHERE

             nrseq = itab_zycit003_aux-nrseq AND

             ebeln = itab_zycit003_aux-ebeln AND

             ebelp = itab_zycit003_aux-ebelp AND

             eliminado = space.

          vsaldo = vsaldo + itab_zycit263_aux-qtd_iten.

        ENDLOOP.

        IF vsaldo >= itab_zycit003_aux-qtd_iten.

* >> Início da exclusão: FORM SELECIONAR_ITENS

          MESSAGE i015 WITH text-120.

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONAR_ITENS

          DELETE itab_zycit003_aux.

* << Fim da inclusão

          v_itens_inconsistentes = 'X'.

          v_flag_saldo = 'X'.

* >> Início da exclusão: FORM SELECIONAR_ITENS

          EXIT.

* << Fim da exclusão

        ENDIF.

      ENDLOOP.

      IF NOT itab_zycit003_aux[] IS INITIAL.

        IF v_itens_inconsistentes = 'X'.

          IF v_flag_saldo NE 'X'.

            MESSAGE s015  WITH text-049 text-054.

* >> Início da inclusão: FORM SELECIONAR_ITENS

            FREE itab_zycit003_aux.

* << Fim da inclusão

          ENDIF.

* >> Início da exclusão: FORM SELECIONAR_ITENS

          FREE itab_zycit003_aux.

* << Fim da exclusão

          CLEAR v_itens_inconsistentes.

* >> Início da inclusão: FORM SELECIONAR_ITENS

        ENDIF.

      ELSE.

        IF v_flag_saldo EQ 'X'.

          MESSAGE i015 WITH text-121.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    ENDIF.

    IF itab_zycit003[] IS INITIAL.

      /pws/zycie006-ratval = 1.

    ENDIF.

    LOOP AT itab_zycit003_aux.

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit003_aux-nrseq

                                        ebeln = itab_zycit003_aux-ebeln

                                        ebelp = itab_zycit003_aux-ebelp.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

 

* >> Início da inclusão:

form verifica_saldo.

  clear vsaldo.

  vsaldo = itab_zycit003-qtd_iten - itab_zycit003-invoiced.

  if itab_zycit003-toinv > vsaldo.

    message e015 with text-121.

    clear itab_zycit003-toinv.

  endif.

endform.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI003I01

 

...

 

* >> Início da inclusão:

module verifica_saldo input.

  perform verifica_saldo.

endmodule.

* << Fim da inclusão