CE PLUS - Nota 004063

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Liquidação em Andamento

Data/Hora da Publicação: 29/06/2007 00:00:00

Data/Hora Última Alteração: 18/02/2011 17:07:31

Descrição da Nota: LIQUIDAÇÃO EM ANDAMENTO - PONTOS DE EXIT LIQ001 E LIQ002

Sintoma

Ao executar uma função de contabilização dentro da exit LIQ001, após voltar ao programa standard não

esta salvando os dados na tabela /PWS/ZYCBT209.

 

 

Solução

Ajustar a verificação do sy-subrc para que atenda a execução da contabilização pelo programa

standard e pelo programa específico.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

EXIT LIQ001 E LIQ002.

Informações Complementares

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

Nota Número 04063 Data: 29/06/2007 Hora: 09:45:13

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

 

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

Nota Número              : 04063

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00004

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

Referência às notas relacionadas:

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

 

03487  - 00001 - 7.0    - 00001  - EXIT¿S LIQ001 E LIQ002.

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

LIQUIDAÇÃO EM ANDAMENTO - PONTOS DE EXIT LIQ001 E LIQ002

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

Palavras Chave:

LIQUIDAÇÃO EM ANDAMENTO PONTOS DE EXIT LIQ001 E LIQ002

ATUALIZAÇÃO TABELA /PWS/ZYCBT209 SALVAR DADOS

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

Objetos da nota:

REPS /PWS/MZYCB031F01

 

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

Modificações efetuadas em REPS /PWS/MZYCB031F01

 

...

  IF itab_zycbt034 IS INITIAL.

    IF itab_zyglt100-zexit_ativa IS INITIAL.

      CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_V'

           EXPORTING

                v_modo          = v_modo_bi

           TABLES

                t_dados         = itab_zycbe033

                t_campo         = itab_zycbt034

                t_zycbt032      = itab_zycbt032

                t_zycbt036      = itab_zycbt036

           EXCEPTIONS

                campo_em_branco = 1

                periodo_fechado = 2

                OTHERS          = 3.

    ENDIF.

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

    IF sy-subrc = 0.

* << Fim da exclusão

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

    IF sy-subrc = 0

       or ( not itab_zyglt100-zexit_ativa is initial and

               itab_zycbt034[] is initial ).

* << Fim da inclusão

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-30'

                                        tabela = '/PWS/ZYCBT209'

                                        cpochv = itab_zycbe033-cpochv

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        itab_zycbt209-belnr = itab_zycbt032-belnr.

        LOOP AT itab_zycbt030

                        WHERE nrinvoic = itab_zycbt209-nrinvoic AND

                              gsberf   = itab_zycbt209-gsberf   AND

                              nrparcf  = itab_zycbt209-nrparcf.

...

 

...

    v_syrepid = sy-repid.

    CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

         EXPORTING

              i_codmod                = 'E'

              i_func                  = v_syrepid

         TABLES

              itab_zyglt100           = itab_zyglt100

         EXCEPTIONS

              i_codmod_nao_encontrado = 1

              i_func_nao_encontrado   = 2

              i_zexit_nao_encontrado  = 3

              OTHERS                  = 4.

  clear itab_zyglt100.

    READ TABLE itab_zyglt100 WITH KEY zexit  = 'LIQ002' BINARY SEARCH.

    IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa).

    ELSE.

  ENDIF.

  LOOP AT itab_zycbt034.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCBM'

              msgty = 'I'

              msgv1 = itab_zycbt034-descricao

              txtnr = '061'

              zeile = v_zeile.

    v_zeile = v_zeile + 1.

  ENDLOOP.

  IF itab_zycbt034 IS INITIAL.

    IF itab_zyglt100-zexit_ativa IS INITIAL.

      CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_P'

           EXPORTING

                v_modo          = v_modo_bi

                v_vinc_tot      = v_vinc_tot

           TABLES

                t_dados         = itab_zycbe033

                t_campo         = itab_zycbt034

                t_zycbt032      = itab_zycbt032

                t_zycbt036      = itab_zycbt036

           EXCEPTIONS

                campo_em_branco = 1

                periodo_fechado = 2

                OTHERS          = 3.

    ENDIF.

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

    IF sy-subrc = 0.

* << Fim da exclusão

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

    IF sy-subrc = 0

       or ( not itab_zyglt100-zexit_ativa is initial and

               itab_zycbt034[] is initial ).

* << Fim da inclusão

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-30'

                                        tabela = '/PWS/ZYCBT209'

                                        cpochv = itab_zycbe033-cpochv

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        itab_zycbt030-belnr_d = itab_zycbt032-belnr.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = itab_zycbt032-msgid

                  msgty = itab_zycbt032-tpmsg

...