CE PLUS - Nota 005166

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Rotina de Pagamento

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

Data/Hora Última Alteração: 04/03/2010 14:03:10

Descrição da Nota: PROCESSAR BOLETO - PONTO DE EXIT PBI003

Sintoma

 

Criar ponto de exit no processar boleto para permitir manipular dados da itab_selteg.

 

Solução

 

Inserir ponto de exit PBI003

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

COMPLEMENTO DO BOLETO PROCESSAR BOLETO-DESPESA-EXIT CBI006 CBF004 PBI004

Informações Complementares

 

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

Nota Número 05166 Data: 07/11/2007 Hora: 15:08:43

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

 

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

Nota Número              : 05166

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00020

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

PROCESSAR BOLETO - PONTO DE EXIT PBI003

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

Palavras Chave:

PROCESSAR BOLETO - PONTO DE EXIT PBI003

 

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

Objetos da nota:

REPS /PWS/ZYCBI102

REPS /PWS/ZYCBR102

 

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

Modificações efetuadas em REPS /PWS/ZYCBI102

 

* >> Início da inclusão:

DATA: BEGIN OF COMMON PART c.

* << Fim da inclusão

DATA:

 BEGIN OF itab_selreg OCCURS 100,

    flag        TYPE c,

    mod(15)     TYPE c,

    nrchave(10) TYPE c,

    docto(10)   TYPE c,

    tab(30)     TYPE c,

    tpparc      LIKE /pws/zycbt113-tpparc,

    nrparc      LIKE /pws/zycbt113-nrparc,

    tipo(30)    TYPE c,

...

 

...

    dtbname   LIKE /pws/zycbt118-dtbname,

    hrbname   LIKE /pws/zycbt118-hrbname,

    frggr     LIKE /pws/zycbt118-frggr,

    vliss     like /pws/zycat025-vlimpme,

    vlpis     like /pws/zycat025-vlimpme,

    vlcofins  like /pws/zycat025-vlimpme,

    vliof     like /pws/zycat025-vlimpme,

    dtpagtoir like /pws/zycbt002-dtpagtoir,

    dtemb     LIKE /pws/zycbt119-dtemb,

  END OF itab_selreg.

* >> Início da exclusão:

DATA: BEGIN OF COMMON part c.

* << Fim da exclusão

DATA: itab_selreg_aux  LIKE itab_selreg OCCURS 100 WITH HEADER LINE.

DATA: v_gera_boleto type c,

      v_codretorno  TYPE c.

DATA: END OF COMMON part.

DATA:

      itab_selreg_aux2 LIKE itab_selreg OCCURS 100 WITH HEADER LINE,

      itab_selreg_aux3 LIKE itab_selreg OCCURS 100 WITH HEADER LINE,

      wa_line          LIKE itab_selreg_aux,

      itab_boleto      LIKE /pws/zycbt031     OCCURS 100 WITH HEADER

LINE.

 

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

Modificações efetuadas em REPS /PWS/ZYCBR102

 

...

        WRITE: /01(123) sy-uline.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

AT LINE-SELECTION.

  GET CURSOR FIELD v_cursor.

  GET CURSOR VALUE v_valor.

  PERFORM carrega_tela.

FORM processa_dados.

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

  MOVE sy-repid TO v_rep.

  CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

       EXPORTING

            i_codmod                = 'I'

            i_func                  = v_rep

       TABLES

            itab_zyglt100           = itab_zyglt100

       EXCEPTIONS

            i_codmod_nao_encontrado = 1

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

  IF sy-subrc EQ 0.

    READ TABLE itab_zyglt100 WITH KEY zexit = 'PBI003'.

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

      PERFORM (itab_zyglt100-formulario)

            IN PROGRAM (itab_zyglt100-programa).

    ENDIF.

  ENDIF.

* << Fim da inclusão

  CASE sy-ucomm.

    WHEN 'MARC'.

      PERFORM marcar_desmarcar USING 'X'.

    WHEN 'DESM'.

      PERFORM marcar_desmarcar USING ' '.

    WHEN 'PROC'.

      PERFORM marcar_campo_check.

      PERFORM seleciona_selreg_aux.

      LOOP AT itab_selreg_aux.

        IF itab_selreg_aux-controle EQ 'X' AND

...

 

...

  ELSE.

    IF exit = space.

      p_varian = locl_variant-variant.

      p_vartxt = locl_variant-text.

      MOVE locl_variant TO g_variant.

    ENDIF.

  ENDIF.

ENDFORM.

FORM user_command USING ucomm LIKE sy-ucomm

                           selfield TYPE slis_selfield.

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

  MOVE sy-repid TO v_rep.

  CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

       EXPORTING

            i_codmod                = 'I'

            i_func                  = v_rep

       TABLES

            itab_zyglt100           = itab_zyglt100

       EXCEPTIONS

            i_codmod_nao_encontrado = 1

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

  IF sy-subrc EQ 0.

    READ TABLE itab_zyglt100 WITH KEY zexit = 'PBI003'.

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

      PERFORM (itab_zyglt100-formulario)

            IN PROGRAM (itab_zyglt100-programa).

    ENDIF.

  ENDIF.

* << Fim da inclusão

  sy-ucomm = ucomm.

  CASE ucomm.

    WHEN 'COMPLEMENT'.

      FREE: MEMORY ID '001',

            MEMORY ID '002'.

      IF NOT itab_boleto[] IS INITIAL.

        READ TABLE itab_boleto INDEX 1.

        v_pri_nrseq = itab_boleto-nrseq.

        SORT itab_boleto BY nrseq DESCENDING.

        READ TABLE itab_boleto INDEX 1.

...