CE PLUS - Nota 004882

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 02/10/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 15:16:48

Descrição da Nota: AJUSTE PARA TRATAR A QUANTIDADE EXCEDIDA DE ACORDO COM A TOLERANCIA

Sintoma

O embarque não permite utilizar a tolerancia da quantidade informada no pedido.

 

 

 

Solução

Acrescentar a quantidade referente a tolerancia ao saldo no momento de verificar se estourou o saldo

do pedido. O sistema tem que deixar usar, e fica com o saldo negativo.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DECLARAÇÃO DE IMPORTAÇÃO - RECOF

PERMITIR NACIONALIZAÇÃO DE DI 01, DE ACORDO COM FUNDAMENTAÇÃO LEGAL

Informações Complementares

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

Nota Número 04882 Data: 02/10/2007 Hora: 14:47:53

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

 

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

Nota Número              : 04882

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00015

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

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

04363  - 00001 - 7.0    - 00002  - DECLARAÇÃO DE IMPORTAÇÃO - RECOF

04866  - 00002 - 7.0    - 00003  - PERMITIR NACIONALIZAÇÃO DE DI 01, DE ACORDO COM FUNDAMENTAÇÃO LEG

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

AJUSTE PARA TRATAR A QUANTIDADE EXCEDIDA DE ACORDO COM A TOLERANCIA

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

Palavras Chave:

QUANTIDADE - TOLERANCIA - PEDIDO - EMBARQUE

/PWS/SAPMZYCI001

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

Objetos da nota:

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI001F03

REPS /PWS/MZYCI001I01

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

              AND nrseq NE /pws/zycie001-nrseq

              AND nrseqda NE '          '.

      ELSE.

        SELECT nrseq ebeln ebelp qtd_iten FROM /pws/zycit003

            APPENDING TABLE itab_zycit003_util

            FOR ALL ENTRIES IN itab_pedido_temp

            WHERE ebeln EQ itab_pedido_temp-ebeln

              AND ebelp EQ itab_pedido_temp-ebelp

              AND nrseq NE /pws/zycie001-nrseq.

      ENDIF.

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

    ELSE.

      SELECT nrseq ebeln ebelp qtd_iten FROM /pws/zycit003

        APPENDING TABLE itab_zycit003_util

        FOR ALL ENTRIES IN itab_pedido_temp

        WHERE ebeln EQ itab_pedido_temp-ebeln

          AND ebelp EQ itab_pedido_temp-ebelp

          AND nrseq NE /pws/zycie001-nrseq.

* << Fim da exclusão

      IF NOT itab_zycit003_util[]  IS INITIAL.

        SELECT nrseq regime  FROM /pws/zycit001

          INTO TABLE itab_zycit001_saldo

          FOR ALL ENTRIES IN itab_zycit003_util

      WHERE nrseq EQ itab_zycit003_util-nrseq.

        LOOP AT itab_zycit001_saldo WHERE regime EQ '16' .

          DELETE itab_zycit003_util

            WHERE nrseq EQ itab_zycit001_saldo-nrseq.

        ENDLOOP .

      ENDIF .

    ENDIF.

  ENDIF.

  LOOP AT itab_zycit013.

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

    CLEAR: itab_pedido, itab_zycit003_util.

* << Fim da exclusão

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

    CLEAR: itab_pedido, itab_zycit003_util, v_qtdemb.

* << Fim da inclusão

    READ TABLE itab_pedido WITH KEY ebeln = itab_zycit013-ebeln

                                    ebelp = itab_zycit013-ebelp.

    IF sy-subrc EQ 0.

      CLEAR v_qtdemb.

      LOOP AT itab_zycit003_util WHERE ebeln EQ itab_zycit013-ebeln

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

                                 AND   ebelp EQ itab_zycit013-ebelp

                                 and   nrseq ne /pws/zycie001-nrseq.

* << Fim da exclusão

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

                                 AND   ebelp EQ itab_zycit013-ebelp.

* << Fim da inclusão

        v_qtdemb = v_qtdemb + itab_zycit003_util-qtd_iten.

      ENDLOOP.

    ENDIF.

    v_slqtde = itab_pedido-menge - v_qtdemb.

    IF v_slqtde NE itab_zycit013-slqtde.

      IF /pws/zycie001-regime NE '16'.

        itab_zycit013-slqtde = v_slqtde.

        UPDATE /pws/zycit013 SET slqtde  = itab_zycit013-slqtde

                                 menge   = itab_pedido-menge

                           WHERE ebeln   = itab_zycit013-ebeln

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001I01

 

...

          DELETE itab_zycit263 INDEX v_tabix.

        ENDIF.

      ENDLOOP.

    ENDIF.

  ENDIF.

  IF /pws/zycie001-regime NE '14' AND /pws/zycie001-regime NE '16'.

    PERFORM verifica_itens.

  ELSE.

    PERFORM verifica_itens_da.

  ENDIF.

* >> Início da exclusão: MODULE ATUALIZA_ITENS

  IF /pws/zycie003-qtd_iten > /pws/zycie003-menge .

    MESSAGE w061 WITH text-004 itab_zycit003-ebelp

                      text-005 itab_zycit003-ebeln.

    v_mexit = 'X'.

    EXIT.

  ELSE.

* << Fim da exclusão

    LOOP AT itab_zycit003.

      v_indice = sy-tabix.

      IF /pws/zycie001-regime NE '14' AND /pws/zycie001-regime NE '16'.

        PERFORM atualiza_itens.

        PERFORM qtd_est.

      ELSE.

      ENDIF.

      PERFORM atualiza_serv.

      MODIFY itab_zycit003 INDEX v_indice.

    ENDLOOP.

* >> Início da exclusão: MODULE ATUALIZA_ITENS

  ENDIF.

* << Fim da exclusão

ENDMODULE.

...

 

...

 

MODULE consiste_iten INPUT.

* >> Início da inclusão: MODULE CONSISTE_ITEN

  DATA: v_qtd_exc TYPE /pws/zycie003-menge.

* << Fim da inclusão

  READ TABLE itab_itens_aux WITH KEY ebeln = /pws/zycie003-ebeln

                                     ebelp = /pws/zycie003-ebelp.

* >> Início da exclusão: MODULE CONSISTE_ITEN

  IF /pws/zycie003-qtd_iten > /pws/zycie003-menge.

* << Fim da exclusão

* >> Início da inclusão: MODULE CONSISTE_ITEN

  v_qtd_exc = itab_zycit003-uebto *

          itab_zycit003-menge / 100.

  v_qtd_exc = v_qtd_exc + itab_zycit003-menge.

  IF /pws/zycie003-qtd_iten > v_qtd_exc.

* << Fim da inclusão

    MESSAGE w061 WITH text-004 itab_zycit003-ebelp

                      text-005 itab_zycit003-ebeln.

    /pws/zycie003-qtd_iten = itab_zycit003-qtd_iten.

  ENDIF.

ENDMODULE.

...