CE PLUS - Nota 002136

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Rotina de Pagamento

Data/Hora da Publicação: 22/09/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 09:44:00

Descrição da Nota: PROCESSAR BOLETO AGRUPADO PAGTO. FATURA - DUMP IMPRESSÃO

Sintoma

O Programa está apresentando DUMP no momento em que é feito um agrupamento de faturas de importação.

 

 

Solução

Alterar as seleções dentro do loop para for all entries, assim melhora a performance e evita dump

por time-out, quando o boleto é agrupado.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 02136 Data: 22/09/2006 Hora: 07:26:09

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

 

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

Nota Número              : 02136

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00132

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

PROCESSAR BOLETO AGRUPADO PAGTO. FATURA - DUMP IMPRESSÃO

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

Palavras Chave:

PROCESSAR BOLETO AGRUPADO PAGTO. FATURA PAGAMENTO DE FATURA IMPRESSÃO

DUMP TIME-OUT SELECT PERFORMANCE /PWS/ZYCBR107

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

Objetos da nota:

REPS /PWS/ZYCBR107

 

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

Modificações efetuadas em REPS /PWS/ZYCBR107

 

...

        INCLUDE STRUCTURE /pws/zycbt119.

DATA: END OF itab_zycbt119.

DATA:BEGIN OF itab_zycit006 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit006.

DATA: END OF itab_zycit006.

* >> Início da inclusão:

DATA:BEGIN OF itab_zycit132 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit132.

DATA: END OF itab_zycit132.

DATA:BEGIN OF itab_zycit094 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit094.

DATA: END OF itab_zycit094.

* << Fim da inclusão

DATA:BEGIN OF itab_zycit078 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit078.

DATA: END OF itab_zycit078.

DATA:BEGIN OF itab_zycit093 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit093.

...

 

...

  ELSE.

    SELECT * FROM /pws/zycbt119

      INTO TABLE itab_zycbt119

      FOR ALL ENTRIES IN itab_nrpgfat

      WHERE nrseq = itab_nrpgfat-nrpgfat.

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

    PERFORM seleciona_importacao_agrupado.

* << Fim da inclusão

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

    LOOP AT itab_nrpgfat.

      PERFORM seleciona_importacao USING itab_nrpgfat-nrpgfat.

    ENDLOOP.

* << Fim da exclusão

  ENDIF.

  IF NOT v_nrpgfat IS INITIAL AND NOT itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit001 INTO TABLE itab_zycit001

                  FOR ALL ENTRIES IN itab_zycit003

                  WHERE nrseq = itab_zycit003-nrseq.

...

 

...

    ENDIF.

  ENDIF.

  MOVE /pws/zycit003 TO itab_zycit003.

  APPEND itab_zycit003.

ENDFORM.

* >> Início da inclusão:

FORM seleciona_importacao_agrupado.

  SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006

           FOR ALL ENTRIES IN itab_nrpgfat

           WHERE nrseq_pgfat = itab_nrpgfat-nrpgfat.

  SELECT * FROM /pws/zycit132 INTO TABLE itab_zycit132

           FOR ALL ENTRIES IN itab_nrpgfat

           WHERE nrseq_pgfat = itab_nrpgfat-nrpgfat.

  IF NOT itab_zycit132[] IS INITIAL.

    SELECT * FROM /pws/zycit006 APPENDING TABLE itab_zycit006

             FOR ALL ENTRIES IN itab_zycit132

             WHERE nrseq = itab_zycit132-nrseq.

  ENDIF.

  SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

           FOR ALL ENTRIES IN itab_nrpgfat

           WHERE nrseq_pgfat = itab_nrpgfat-nrpgfat.

  IF NOT itab_zycit006[] IS INITIAL.

    SELECT * FROM /pws/zycit003 APPENDING TABLE itab_zycit003

             FOR ALL ENTRIES IN itab_zycit006

             WHERE nrseq_pgfat = itab_zycit006-nrseq_pgfat.

    SELECT * FROM /pws/zycit094 INTO TABLE itab_zycit094

         FOR ALL ENTRIES IN itab_zycit006

         WHERE nrseqce = itab_zycit006-nrseqce.

  ENDIF.

  IF NOT itab_zycit094[] IS INITIAL.

    SELECT * FROM /pws/zycit003 APPENDING TABLE itab_zycit003

         FOR ALL ENTRIES IN itab_zycit094

         WHERE nrseq = itab_zycit094-nrseq.

  ENDIF.

ENDFORM.

* << Fim da inclusão