CE PLUS - Nota 003457

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Rotina Mensal

Data/Hora da Publicação: 13/04/2007 00:00:00

Data/Hora Última Alteração: 10/03/2010 15:18:09

Descrição da Nota: ROTINA MENSAL EXPORTAÇÃO /PWS/ZYCBT062

Sintoma

 

 programa deverá fazer uma consistência nos contratos de ACC e Trava para verificar se os mesmos

foram utilizados no programa de Liquidação de ACC com Pré (Isso tanto para Rotina mensal de Estorno

Mensal como para Rotina de Clearing no pagamento). Deverá verificar se o contrato possui registro na

Tabela /PWS/ZYCBT062 (Campo NRSEQ_C = Número Seqüencial do contrato):

 

Solução

 

Ajuste efetuado, para que o programa efetue uma consistencia com a tabela /pws/zycbt062,

caso encontre registro mostrar na rotina mensal de exportação.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 03457 Data: 13/04/2007 Hora: 14:33:15

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

 

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

Nota Número              : 03457

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00027

Agrupamento              : 00161

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

ROTINA MENSAL EXPORTAÇÃO /PWS/ZYCBT062

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

Palavras Chave:

ROTINA MENSAL EXPORTAÇÃO /PWS/ZYCBT062-LIQ.DE ACC C/PRÉ

NRSEQ_C = NÚMERO SEQÜENCIAL DO CONTRATO

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

Objetos da nota:

REPS /PWS/ZYCBR003

 

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

Modificações efetuadas em REPS /PWS/ZYCBR003

 

...

  itab_zycbt006_ence LIKE /pws/zycbt006 OCCURS 20 WITH HEADER LINE,

  itab_pagos         LIKE /pws/zycbt006 OCCURS  0 WITH HEADER LINE,

  itab_zycbt017      LIKE /pws/zycbt017 OCCURS 20 WITH HEADER LINE,

  itab_zycbt136      LIKE /pws/zycbt136 OCCURS 20 WITH HEADER LINE,

  itab_lancados      LIKE /pws/zycbt154 OCCURS 20 WITH HEADER LINE,

  itab_zyglt321      LIKE /pws/zyglt321 OCCURS  0 WITH HEADER LINE,

  itab_period        LIKE casdayattr OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF itab_contas OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt316.

DATA: END OF itab_contas.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycbt062 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt062.

DATA: END OF itab_zycbt062.

* << Fim da inclusão

DATA: BEGIN OF itab_modo OCCURS 0.

        INCLUDE STRUCTURE spopli.

DATA: END OF itab_modo.

DATA: BEGIN OF itab_tcurr OCCURS 1.

        INCLUDE STRUCTURE tcurr.

DATA: END OF itab_tcurr.

DATA:

  wa_zycbt011 LIKE /pws/zycbt011.

DATA:

  v_dtoperac      LIKE sy-datum,

...

 

...

      PERFORM verifica_data_entrada.

    ENDIF.

  ELSE.

  ENDIF.

  v_flag_e = 'E'.

  v_f_encerrado = 'C'.

  IF s_dtentr IS INITIAL.

    s_dtentr = sy-datum.

  ENDIF.

  IF s_nrseqc IS INITIAL.

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

    SELECT * FROM /pws/zycbt062

             INTO TABLE itab_zycbt062

             WHERE dtvencto LE s_dtentr.

* << Fim da inclusão

    SELECT *

           FROM /pws/zycbt001

           INTO TABLE itab_zycbt001

           WHERE bukrs       EQ s_bukrs       AND

                 tpcontr     IN s_tpcont      AND

                 fdtjuros    EQ 'D'           AND

                 dtdesem     LE s_dtentr      AND

                 f_encerrado NE v_f_encerrado AND

                 f_encerrado NE v_flag_e.

    SELECT *

...

 

...

           FROM /pws/zycbt001

           APPENDING TABLE itab_zycbt001

           WHERE bukrs       EQ s_bukrs       AND

                 tpcontr     IN s_tpcont      AND

               ( fdtjuros    EQ 'C' OR

                 fdtjuros    EQ ' ' )         AND

                 dtcred      LE s_dtentr      AND

                 f_encerrado NE v_f_encerrado AND

                 f_encerrado NE v_flag_e.

  ELSE.

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

    SELECT * FROM /pws/zycbt062

             INTO TABLE itab_zycbt062

             WHERE nrseq_c  IN s_nrseqc

               AND dtvencto LE s_dtentr.

* << Fim da inclusão

    SELECT *

           FROM /pws/zycbt001

           INTO TABLE itab_zycbt001

           WHERE bukrs       EQ s_bukrs       AND

                 nrseqc      IN s_nrseqc      AND

                 tpcontr     IN s_tpcont      AND

                 f_encerrado <> v_f_encerrado AND

                 f_encerrado <> v_flag_e.

  ENDIF.

  IF itab_zycbt001[] IS INITIAL.

...

 

...

    CLEAR v_slvinc.

    v_slvinc = itab_zycbt001-slvinc.

    LOOP AT itab_zycbt005_pos WHERE nrseqc = itab_zycbt001-nrseqc.

      v_slvinc = v_slvinc + itab_zycbt005_pos-vlvinc.

    ENDLOOP.

    PERFORM processa_saldo_acc USING v_slvinc

                                     v_dtoperac

                                     s_dtentr

                                     'A'.

    PERFORM processa_vinculacoes.

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

    IF NOT itab_zycbt062[] IS INITIAL.

      LOOP AT itab_zycbt062 WHERE nrseq_c = itab_zycbt001-nrseqc.

        PERFORM preenche_liq_and.

      ENDLOOP.

    ENDIF.

* << Fim da inclusão

    LOOP AT itab_zycbt004 WHERE nrseqc = itab_zycbt001-nrseqc.

      PERFORM preenche_itab_relat_pago.

    ENDLOOP.

    IF itab_zycbt001-tpcontr EQ 'TR' AND

      ( /pws/zyglt009-prov_prem EQ 'S' OR

        /pws/zyglt009-prov_prem IS INITIAL ).

      LOOP AT itab_zycbt136 WHERE nrseqc = itab_zycbt001-nrseqc

                              AND datinc <= s_dtentr.

        PERFORM preenche_itab_premio.

      ENDLOOP.

...

 

...

                            AND codmodul  NE 'C'

                            AND codmodul  NE 'CD'

                            AND codmodul  NE 'CF'

                            AND codmodul  NE 'CI'.

    ENDLOOP.

    IF sy-subrc = 0.

      p_separa = 'X'.

    ENDIF.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM preenche_liq_and.

  CLEAR itab_relat.

  itab_relat-nrseqc   = itab_zycbt001-nrseqc.

  itab_relat-nrcontr  = itab_zycbt001-nrcontr.

  itab_relat-tpcontr  = itab_zycbt001-tpcontr.

  itab_relat-nrparcj  = itab_zycbt004-nrparc.

  itab_relat-dtde     = itab_zycbt062-dtinicio.

  itab_relat-dtate    = itab_zycbt062-dtvencto.

  itab_relat-txjtotal = itab_zycbt062-txjtotal.

  itab_relat-vlme     = itab_zycbt062-vlme.

  itab_relat-ftpj     = 'A'.

  itab_relat-waers    = itab_zycbt001-waers.

  PERFORM processa_calculo_juros USING itab_zycbt062-vlme

                                       itab_zycbt002j-txjtotal

                                       itab_zycbt002j-tptxjur

                                       itab_relat-dtde

                                       itab_relat-dtate

                                       itab_zycbt001-waers

                                       itab_zycbt011-ctmoed

                                       'A'.

ENDFORM.

* << Fim da inclusão