CE PLUS - Nota 004842

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: LI

Data/Hora da Publicação: 27/09/2007 00:00:00

Data/Hora Última Alteração: 09/03/2010 10:39:39

Descrição da Nota: LI - LICENÇA DE IMPORTAÇÃO - SALDO DO PEDIDO

Sintoma

 

O saldo do pedido na pasta mercadoria - 1 - não está se alterando conforme a quantidade  de

embarque.

 

Solução

 

Ajustar os cálculos do saldo do pedido na tela e nas Tabelas /PWS/ZYCIT079 e /PWS/ZYCIT092.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 04842 Data: 27/09/2007 Hora: 14:07:20

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

 

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

Nota Número              : 04842

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00014

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

LI - LICENÇA DE IMPORTAÇÃO - SALDO DO PEDIDO

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

Palavras Chave:

SALDO DO PEDIDO; /PWS/ZYCIT079; /PWS/ZYCIT092; SLQTDE

 

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

Objetos da nota:

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

 

...

  IF it_zycit079-qtd_iten IS INITIAL     AND

     it_zycit079_aux-qtd_iten IS INITIAL AND

     it_zycit079-noinitial NE 'X' AND it_zycit079-slqtde > 0.

    it_zycit079-qtd_iten = it_zycit079-slqtde.

  ELSEIF NOT it_zycit079_aux-qtd_iten IS INITIAL AND

         it_zycit079-qtd_iten IS INITIAL.

    it_zycit079-qtd_iten = 0.

    it_zycit079-noinitial = 'X'.

  ENDIF.

 

********SE ESSE AJUSTE HOUVER SIDO FEITO, RETIRAR ********

 

  IF it_zycit079_aux-qtd_iten NE it_zycit079-qtd_iten.

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

    it_zycit079-slqtde = it_zycit079-slqtde +

        ( it_zycit079_aux-qtd_iten - it_zycit079-qtd_iten ).

* << Fim da exclusão

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

    it_zycit079-slqtde =

        ( it_zycit079-menge - it_zycit079-qtd_iten ).

* << Fim da inclusão

  ENDIF.

********SE ESSE AJUSTE HOUVER SIDO FEITO, RETIRAR ********

 

******** DEVERÁ FICAR DA SEGUINTE FORMA  ********

  IF it_zycit079_aux-qtd_iten NE it_zycit079-qtd_iten.

    it_zycit079-slqtde =

        ( it_zycit079-menge - it_zycit079-qtd_iten ).

  ENDIF.

******** DEVERÁ FICAR DA SEGUINTE FORMA  ********

 

 

  v_valor_uebto = -1 * it_zycit079-uebto * it_zycit079-menge / 100

.

  IF it_zycit079-slqtde < 0 .

    IF ( NOT it_zycit079-uebto IS INITIAL AND

      it_zycit079-slqtde < v_valor_uebto )  OR

     ( it_zycit079-uebto IS INITIAL AND

       it_zycit079-uebtk NE 'X' ).

      it_zycit079-slqtde   = it_zycit079_aux-slqtde.

      it_zycit079-qtd_iten = it_zycit079_aux-qtd_iten.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

 

...

    DATA: END OF itab_zycit079_util.

    SELECT ebeln ebelp menge bstyp FROM ekpo

    INTO TABLE itab_ekpo

    FOR ALL ENTRIES IN it_zycit092

    WHERE ebeln EQ it_zycit092-ebeln

      AND ebelp EQ it_zycit092-ebelp.

    SELECT * FROM /pws/zycit079

    INTO TABLE itab_zycit079_util

      FOR ALL ENTRIES IN it_zycit092

      WHERE ebeln EQ it_zycit092-ebeln

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

        AND ebelp EQ it_zycit092-ebelp

      AND nrseqli NE /pws/zycie078-nrseqli.

* << Fim da exclusão

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

        AND ebelp EQ it_zycit092-ebelp.

* << Fim da inclusão

  ENDIF.

 

********SE ESSE AJUSTE HOUVER SIDO FEITO, RETIRAR ********

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

  IF NOT itab_zycit079_util[] IS INITIAL.

* << Fim da exclusão

********SE ESSE AJUSTE HOUVER SIDO FEITO, RETIRAR ********

 

******** DEVERÁ FICAR DA SEGUINTE FORMA  ********

*  IF NOT itab_zycit079_util[] IS INITIAL.

******** DEVERÁ FICAR DA SEGUINTE FORMA  ********

 

  LOOP AT it_zycit092.

    CLEAR: itab_ekpo, itab_zycit079_util.

    READ TABLE itab_ekpo WITH KEY ebeln = it_zycit092-ebeln

                                  ebelp = it_zycit092-ebelp.

    IF sy-subrc EQ 0.

      CLEAR v_qtdemb.

      LOOP AT itab_zycit079_util WHERE ebeln EQ it_zycit092-ebeln

                                 AND   ebelp EQ it_zycit092-ebelp.

        v_qtdemb = v_qtdemb + itab_zycit079_util-qtd_iten.

      ENDLOOP.

    ENDIF.

    v_slqtde = itab_ekpo-menge - v_qtdemb.

    it_zycit092-slqtde = v_slqtde.

    UPDATE /pws/zycit092 SET slqtde  = it_zycit092-slqtde

                             menge   = itab_ekpo-menge

                       WHERE ebeln   = it_zycit092-ebeln

                         AND ebelp   = it_zycit092-ebelp .

    MODIFY it_zycit092.

  ENDLOOP.

********SE ESSE AJUSTE HOUVER SIDO FEITO, RETIRAR ********

 

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

  ENDIF.

* << Fim da exclusão

********SE ESSE AJUSTE HOUVER SIDO FEITO, RETIRAR ********

******** DEVERÁ FICAR DA SEGUINTE FORMA  ********

*  ENDIF.

******** DEVERÁ FICAR DA SEGUINTE FORMA  ********

 

ENDFORM.

 

...