CE PLUS - Nota 010976

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 21/02/2011 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:40:35

Descrição da Nota: SUJEIRA NOS CAMPOS DOS DADOS DO FABRICANTE

Sintoma

Ao incluir uma fatura e colocar dados nos detalhes dos itens da fatura, em seguida estorná-la  e re-

incluí-la no mesmo embarque, o sistema considera os mesmos dados que haviam sido digitados no

detalhe dos itens da 1° fatura (mesmo que o usuário não entre na tela de detalhe na segunda

inclusão).

 

 

Solução

Atualizado programa para salvar os dados do Fabricante nos itens de fatura somente quando o usuário

selecionar o botão salvar.

 

Versões Tratadas

8.0

Informações Complementares

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

Nota Número 10976 Data: 21/02/2011 Hora: 09:10:30

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

 

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

Nota Número              : 10976

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00006

Agrupamento              : 00059

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

Referência às notas relacionadas:

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

 

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

SUJEIRA NOS CAMPOS DOS DADOS DO FABRICANTE

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

Palavras Chave:

FATURA DE MERCADORIA - SUJEIRA NOS CAMPOS FABRICANTE

 

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

Objetos da nota:

REPS /PWS/MZYCI003F01

REPS /PWS/MZYCI003F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

        DELETE FROM /pws/zyglt209

        WHERE nrseq = /pws/zycie006-nrseq_pgfat

        AND   mdcorresp = 'IP'.

        IF /pws/zycie006-tpfatura = '05'.

          PERFORM salva_zycit130.

        ENDIF.

        IF ( /pws/zycie006-tpfatura = '01'

          OR /pws/zycie006-tpfatura = '11' ).

          CLEAR: itab_zycit003-paisfab,

                 itab_zycit003-porigem,

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

                 itab_zycit003-mfrpn.

* << Fim da exclusão

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

                 itab_zycit003-mfrpn,

                 itab_zycit003-descfab,

                 itab_zycit003-fabric,

                 itab_zycit003-lifnrfabr,

                 itab_zycit003-flagfabr.

* << Fim da inclusão

          MODIFY itab_zycit003 TRANSPORTING paisfab porigem mfrpn

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

          descfab fabric lifnrfabr flagfabr

* << Fim da inclusão

          WHERE nrseq_pgfat IS initial.

          CLEAR: itab_zycit003-nrseq_pgfat, itab_zycit003-vlreal,

                 itab_zycit003-fabric.

          MODIFY itab_zycit003 TRANSPORTING vlreal nrseq_pgfat

                        WHERE nrseq_pgfat = /pws/zycie006-nrseq_pgfat.

          MODIFY /pws/zycit003 FROM TABLE itab_zycit003.

...

 

 

 

 

...

      DELETE FROM /pws/zycit129 WHERE nrseq = /pws/zycie006-nrseq.

      DELETE FROM /pws/zyglt209 WHERE

          nrseq = /pws/zycie006-nrseq_pgfat AND mdcorresp = 'IP'.

      IF /pws/zycie006-tpfatura = '05'.

        PERFORM salva_zycit130.

      ENDIF.

      IF ( /pws/zycie006-tpfatura = '01'

        OR /pws/zycie006-tpfatura = '11' ).

        CLEAR: itab_zycit003-paisfab,

               itab_zycit003-porigem,

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

               itab_zycit003-mfrpn.

* << Fim da exclusão

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

               itab_zycit003-mfrpn,

               itab_zycit003-descfab,

               itab_zycit003-fabric,

               itab_zycit003-lifnrfabr,

               itab_zycit003-flagfabr.

* << Fim da inclusão

        MODIFY itab_zycit003 TRANSPORTING paisfab porigem mfrpn

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

        descfab fabric lifnrfabr flagfabr

* << Fim da inclusão

        WHERE nrseq_pgfat IS initial.

        CLEAR: itab_zycit003-nrseq_pgfat, itab_zycit003-vlreal.

        MODIFY itab_zycit003 TRANSPORTING vlreal nrseq_pgfat

                           WHERE nrseq_pgfat =

  /pws/zycie006-nrseq_pgfat.

        MODIFY /pws/zycit003 FROM TABLE itab_zycit003.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

    v_fabr_ant = '1'.

    CLEAR lfa1.

    SELECT SINGLE * FROM lfa1

      WHERE lifnr EQ /pws/zycie006-lifnr.

    /pws/zycie006-lifnrfabr = /pws/zycie006-lifnr.

    /pws/zycie006-flagfabr = 'S'.

    /pws/zycie006-descfab = lfa1-name1.

    /pws/zycie006-paisfab = lfa1-land1.

    LOOP AT itab_zycit003.

      itab_zycit003-fabric  = '1'.

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

      MOVE: /pws/zycie006-descfab TO itab_zycit003-descfab,

* << Fim da exclusão

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

      MOVE: /pws/zycie006-descfab   TO itab_zycit003-descfab,

* << Fim da inclusão

            /pws/zycie006-lifnrfabr TO itab_zycit003-lifnrfabr,

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

            /pws/zycie006-flagfabr TO itab_zycit003-flagfabr.

      MOVE /pws/zycie006-paisfab TO itab_zycit003-paisfab.

* << Fim da exclusão

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

            /pws/zycie006-flagfabr  TO itab_zycit003-flagfabr.

      MOVE /pws/zycie006-paisfab    TO itab_zycit003-paisfab.

* << Fim da inclusão

      MODIFY: itab_zycit003.

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

      UPDATE /pws/zycit003

          SET descfab   = itab_zycit003-descfab

              lifnrfabr = itab_zycit003-lifnrfabr

              flagfabr  = itab_zycit003-flagfabr

              paisfab   = itab_zycit003-paisfab

      WHERE nrseq EQ itab_zycit003-nrseq

        AND ebeln EQ itab_zycit003-ebeln

        AND ebelp EQ itab_zycit003-ebelp.

* << Fim da exclusão

    ENDLOOP.

    v_flag = 'X'.

  ELSEIF /pws/zycie006-fabricante = '2'.

  ELSEIF /pws/zycie006-fabricante = '3'.

    v_flag = 'X'.

    CLEAR: /pws/zycie006-descfab,

    /pws/zycie006-paisfab ,

    /pws/zycie006-lifnrfabr,

    /pws/zycie006-flagfabr.

    LOOP AT itab_zycit003.

      itab_zycit003-fabric  = '3'.

      CLEAR:  itab_zycit003-descfab,

              itab_zycit003-lifnrfabr, itab_zycit003-flagfabr.

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

      MOVE: '3' TO itab_zycit003-fabric.

* << Fim da exclusão

      MODIFY: itab_zycit003.

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

      UPDATE /pws/zycit003

          SET descfab   = itab_zycit003-descfab

              lifnrfabr = itab_zycit003-lifnrfabr

              flagfabr  = itab_zycit003-flagfabr

              paisfab   = itab_zycit003-paisfab

      WHERE nrseq EQ itab_zycit003-nrseq

        AND ebeln EQ itab_zycit003-ebeln

        AND ebelp EQ itab_zycit003-ebelp.

* << Fim da exclusão

    ENDLOOP.

  ENDIF.

  SELECT SINGLE * FROM lfa1

    WHERE lifnr EQ /pws/zycie006-lifnr.

  LOOP AT itab_zycit003.

    itab_zycit003-paquis = lfa1-land1.

    IF NOT itab_zycit003-lifnrfabr IS INITIAL.

      SELECT SINGLE land1 FROM lfa1

        INTO itab_zycit003-porigem

        WHERE lifnr EQ itab_zycit003-lifnrfabr.

...