CE PLUS - Nota 008121

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 03/03/2009 00:00:00

Data/Hora Última Alteração: 03/02/2010 17:09:58

Descrição da Nota: FATURA DE MERCADORIA ABERTURA DE EXIT

Sintoma

 

Ponto de exit no programa de Fatura de Importação. A exit deverá estar habilitada nas transações de

salvar, modificar e excluir a Fatura. A Exit deverá permitir que a tabela seja alimentada no mesmo

momento em que a tabela de Fatura no Câmbio é alimentada pela tabela de Fatura de Importação.

 

Solução

 

Implementar Exit na Fatura no momento de Salvar, Modificar, Excluir a Fatura

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 08121 Data: 03/03/2009 Hora: 14:27:35

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

 

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

Nota Número              : 08121

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00008

Agrupamento              : 00088

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

FATURA DE MERCADORIA ABERTURA DE EXIT

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

Palavras Chave:

FATURA - MERCADORIA - EXIT

 

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

Objetos da nota:

REPS /PWS/MZYCI003F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

                                motivo = itab_zycit130_ini-motivo.

    IF sy-subrc NE 0.

      DELETE FROM /pws/zycit130

         WHERE nrseq = itab_zycit130_ini-nrseq

           AND motivo = itab_zycit130_ini-motivo.

    ENDIF.

  ENDLOOP.

  MOVE: itab_zycit126[] TO itab_zycit126_ini[],

        itab_zycit129[] TO itab_zycit129_ini[],

        itab_zycit130[] TO itab_zycit130_ini[].

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

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI003'

                              'FAT014'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

                   zexit = 'FAT014' BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa) IF FOUND.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  IF sy-tcode EQ '/PWS/ZYCI003_C'.

    CLEAR /pws/zycie006.

    FREE MEMORY ID '010'.

    LEAVE PROGRAM.

  ENDIF.

  COMMIT WORK.

ENDFORM.

FORM contabilizacao_f-02_ou_f-43.

  IF /pws/zycie006-statusp IS INITIAL AND /pws/zycie006-frpagto NE 'A'.

    IF NOT itab_zycit132[] IS INITIAL

...

 

...

                  AND belnr_co = itab_zycit132-belnr_p.

          UPDATE /pws/zycbt119 SET status   = 'E'

             WHERE nrseq   = itab_zycit132-nrseq_pgfat.

          IF NOT /pws/zycie006-nrseqre IS INITIAL.

            DELETE FROM /pws/zycbt124

            WHERE nrseq = /pws/zycie006-nrseqre.

          ENDIF.

        ENDLOOP.

        CLEAR: v_dbanco, v_dforn, v_dmoeda, v_dmoeda_emb,

             v_dtpfatura, v_dfrpagto, v_livre.

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

        PERFORM verifica_exit USING 'D'

                                    '/PWS/SAPMZYCI003'

                                    'FAT014'.

        CLEAR itab_zyglt100 .

        READ TABLE itab_zyglt100 WITH KEY

                         zexit = 'FAT014' BINARY SEARCH.

        IF sy-subrc EQ 0.

          IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

            PERFORM (itab_zyglt100-formulario) IN PROGRAM

                (itab_zyglt100-programa) IF FOUND.

          ENDIF.

        ENDIF.

* << Fim da inclusão

        MESSAGE s015 WITH text-038.

        PERFORM atualiza_historico.

        SET SCREEN 0.

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

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

        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'.

...

 

...

      IF NOT /pws/zycie006-nrseqre IS INITIAL.

        IF NOT /pws/zycie006-tpfatura EQ '11'.

          DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycie006-nrseqre.

        ELSE.

          UPDATE /pws/zycbt124 SET status   = 'E'

                   WHERE nrseq   = /pws/zycie006-nrseqre.

        ENDIF.

      ENDIF.

      CLEAR: v_dbanco, v_dforn, v_dmoeda, v_dmoeda_emb,

             v_dtpfatura, v_dfrpagto, v_livre.

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

      PERFORM verifica_exit USING 'D'

                                  '/PWS/SAPMZYCI003'

                                  'FAT014'.

      CLEAR itab_zyglt100 .

      READ TABLE itab_zyglt100 WITH KEY

                       zexit = 'FAT014' BINARY SEARCH.

      IF sy-subrc EQ 0.

        IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

          PERFORM (itab_zyglt100-formulario) IN PROGRAM

              (itab_zyglt100-programa) IF FOUND.

        ENDIF.

      ENDIF.

* << Fim da inclusão

      MESSAGE s015 WITH text-038.

      PERFORM atualiza_historico.

      SET SCREEN 0.

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

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

      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.

...