CE PLUS - Nota 002864

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 11/01/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 16:05:25

Descrição da Nota: ESTORNO FATURA ELIMINADA POR FORA

Sintoma

A fatura foi eliminada por fora do CE e ao entrar no Ce não consegu eliminar.

 

 

Solução

atualizado o programa para ler a tabela bkpf e ver se o documento já foi estornado

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

ESTORNOS DA FATURA ATRAVÉS DE EXIT, PARA ATENDER ESPECÍFICO DO CLIENTE.

ESTORNAR A FATURA E DAR ERRO ESTÁ APARECENDO A MENSAGEM DESEJA ESTORNAR

Informações Complementares

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

Nota Número 02864 Data: 11/01/2007 Hora: 16:30:09

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

 

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

Nota Número              : 02864

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00148

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

Referência às notas relacionadas:

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

 

02294  - 00001 - 6.0    - 00025  - ESTORNAR A FATURA E DAR ERRO ESTÁ APARECENDO A MENSAGEM DESEJA ES

02349  - 00002 - 6.0    - 00025  - ESTORNOS DA FATURA ATRAVÉS DE EXIT, PARA ATENDER ESPECÍFICO DO CL

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

ESTORNO FATURA ELIMINADA POR FORA

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

Palavras Chave:

FATURA - ESTORNO - ELIMINADA

 

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

Objetos da nota:

REPS /PWS/MZYCI003F01

REPS /PWS/MZYCI003F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

          AND ( /pws/zycie006-tpfatura = '01' OR

          /pws/zycie006-tpfatura = '11' )

          AND /pws/zycie006-frpagto = 'N' )

          OR  ( NOT itab_zycit132[] IS INITIAL

          AND /pws/zycie006-waers NE /pws/zycbt007-waersb

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

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

          AND /pws/zycie006-frpagto = 'P' ).

      v_parcela = 'X'.

      LOOP AT itab_zycit132 WHERE belnr_p NE space.

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

        SELECT SINGLE *

          FROM bkpf

          WHERE belnr EQ /pws/zycie006-belnr_p

            AND gjahr EQ /pws/zycie006-dtincl+0(4)

            AND bukrs EQ /pws/zycie006-bukrs.

* << Fim da inclusão

        SELECT SINGLE * FROM bsak

          WHERE bukrs EQ /pws/zycie006-bukrs

            AND lifnr EQ /pws/zycie006-lifnr

            AND belnr EQ itab_zycit132-belnr_p

            AND gjahr EQ /pws/zycie006-dtincl+0(4).

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

        IF sy-subrc = 0 AND itab_zycit132-status NE 'X'.

* << Fim da exclusão

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

        IF ( sy-subrc = 0 AND itab_zycit132-status NE 'X' ) or

              not bkpf-STBLG is initial.

* << Fim da inclusão

          itab_zycit132-compensado = 'X'.

          MODIFY itab_zycit132.

        ELSE.

          CLEAR itab_zycit132-compensado.

          MODIFY itab_zycit132.

        ENDIF.

      ENDLOOP.

      LOOP AT itab_zycit132 WHERE compensado EQ 'X'.

      ENDLOOP.

      IF sy-subrc NE 0.

...

 

...

                       AND codmod   = 'D'

                       AND origem   = 'FAT'

                       AND nrseqori = /pws/zycie006-nrseq.

            ENDLOOP.

          ENDIF.

        ENDIF.

      ENDIF.

    ELSE.

      IF NOT /pws/zycie006-statusp IS INITIAL

         AND /pws/zycie006-frpagto NE 'A'.

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

      SELECT SINGLE *

        FROM bkpf

        WHERE belnr EQ /pws/zycie006-belnr_p

          AND gjahr EQ /pws/zycie006-dtincl+0(4)

          AND bukrs EQ /pws/zycie006-bukrs.

* << Fim da inclusão

        SELECT SINGLE * FROM bsak

          WHERE bukrs EQ /pws/zycie006-bukrs

            AND lifnr EQ /pws/zycie006-lifnr

            AND belnr EQ /pws/zycie006-belnr_p

            AND gjahr EQ /pws/zycie006-dtincl+0(4).

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

        IF sy-subrc NE 0.

* << Fim da exclusão

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

        IF sy-subrc NE 0 or not bkpf-STBLG is initial.

* << Fim da inclusão

          REFRESH it_zycit270.

          PERFORM hist_contabil.

          PERFORM reverse_document_fb08.

        ELSE.

          MESSAGE s015 WITH text-043.

          EXIT.

        ENDIF.

      ENDIF.

      IF v_erro = 'X'.

        EXIT.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

 

FORM atualiza_fb08_fat.

  IF v_parcela = 'X'.

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

    SELECT SINGLE *

      FROM bkpf

      WHERE belnr EQ /pws/zycie006-belnr_p

        AND gjahr EQ /pws/zycie006-dtincl+0(4)

        AND bukrs EQ /pws/zycie006-bukrs.

* << Fim da inclusão

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FB08'

                                      tabela = '/PWS/ZYCIT132'

                                      cpochv = /pws/zycie006-nrseq

                                      tpmsg  = 'S'.

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

    IF sy-subrc EQ 0.

* << Fim da exclusão

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

    IF sy-subrc EQ 0 or not bkpf-STBLG is initial.

* << Fim da inclusão

      MESSAGE i030 WITH v_belnr_ant.

      IF okcode NE 'DELE'.

        CLEAR: /pws/zycie006-statusp , /pws/zycie006-belnr_p.

        MODIFY /pws/zycit006 FROM /pws/zycie006.

        v_rev = 'X'.

        PERFORM clear_date_batch.

        IF v_estorno IS INITIAL.

          IF itab_zycit132-mark NE 'X' AND itab_zycit132-status NE 'X'.

            PERFORM dele_custo USING /pws/zycit031-inco1_ci space.

            PERFORM fill_date_f-43_f-02.

...

 

...

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt032.

        MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                          itab_zycbt032-msg+50(50).

      ENDLOOP.

      PERFORM clear_date_batch.

      v_erro = 'X'.

    ENDIF.

  ELSE.

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

      SELECT SINGLE *

        FROM bkpf

        WHERE belnr EQ /pws/zycie006-belnr_p

          AND gjahr EQ /pws/zycie006-dtincl+0(4)

          AND bukrs EQ /pws/zycie006-bukrs.

* << Fim da inclusão

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FB08'

                                      tabela = '/PWS/ZYCIT006'

                                      cpochv = /pws/zycie006-nrseq

                                      tpmsg  = 'S'.

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

    IF sy-subrc EQ 0 or not bkpf-STBLG is initial.

* << Fim da inclusão

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

    IF sy-subrc EQ 0.

* << Fim da exclusão

      MESSAGE i030 WITH v_belnr_ant.

      IF okcode NE 'DELE'.

        CLEAR: /pws/zycie006-statusp , /pws/zycie006-belnr_p.

        MODIFY /pws/zycit006 FROM /pws/zycie006.

        PERFORM clear_date_batch.

        IF v_estorno IS INITIAL.

          PERFORM dele_custo USING /pws/zycit031-inco1_ci space.

          PERFORM fill_date_f-43_f-02.

        ENDIF.

      ENDIF.

...