CE PLUS - Nota 002763

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Liquidação de Fatura

Data/Hora da Publicação: 27/12/2006 00:00:00

Data/Hora Última Alteração: 22/02/2011 11:56:50

Descrição da Nota: LIQUIDAÇÃO - VALOR JUROS ACE ACC - CHAVES PVE E DSE.

Sintoma

1) Ao criar um contrato com data de 05.10.2006. Efetuar uma vinculação de ACC dia 05.10.2006 (ou

seja, o valor de juros de ACC será igual a 0,00, pois a data do contrato é igual a data de

vinculação), mas ao entrar em liquidação - criar e informar a data de 15.10.2006, o valor dos juros

está sendo calculado corretamente, porém ao invés de lançar o valor dos juros na coluna "Valor juros

ACE" - que seria o correto, está lançando o valor dos juros na coluna "Valor Juros ACC" e dessa

forma, o programa também está fazendo a provisão na conta errada de ACC, quando deveria jogar na

conta de ACE.

2) Foi criada uma vinculação dia 15.10.2006 e uma liquidação no dia 27.10.2006 e foram gerados

corretamente os dois documentos de provisão:7600013783 (ACC) e 7600013784 (ACE). Depois foi criada

uma outra vinculação no dia 20.10.2006, mas ao entrar para criar a liquidação, o programa está

estornando as provisões feitas na liquidação do dia 27.10.2006 e não deveria estornar. Deveria

somente gerar os novos documentos de provisão na liquidação do dia 30.10.2006.

 

 

Solução

Ajuste efetuado para lançar separado ACC e ACE na liquidação, quando estiver parametrizado desta

forma. Ida e estorno. Atentar para parametrização das contas difentes de ACC e ACE nas chaves PVE e

DSE.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = SIM

Informações Complementares

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

Nota Número 02763 Data: 27/12/2006 Hora: 13:32:09

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

 

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

Nota Número              : 02763

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00146

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

Referência às notas relacionadas:

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

 

01309  - 00001 - 6.0    - 00023  - ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = S

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

LIQUIDAÇÃO - VALOR JUROS ACE ACC - CHAVES PVE E DSE.

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

Palavras Chave:

LIQUIDAÇÃO - VALOR JUROS ACE ACC - CHAVES PVE E DSE.

 

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

Objetos da nota:

REPS /PWS/MZYCB004F02

REPS /PWS/MZYCB004TOP

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F02

 

...

ENDFORM.

FORM calcula_juros_diferenca.

  DATA: v_data_de LIKE sy-datum.

  DATA: v_dtde      LIKE sy-datum,

        v_dtate     LIKE sy-datum,

        v_dt_pror   LIKE /pws/zycbt005-dtpror,

        v_tipo_per  TYPE c,

        v_dtliquid  LIKE /pws/zycbt001-dtliquid,

        v_dtentreg  LIKE /pws/zycbt001-dtentr,

        v_pror_cmb  LIKE /pws/zycbt005-dtpror.

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

  DATA: BEGIN OF itab_periodos_j OCCURS 0.

  DATA: dtde    LIKE /pws/zycbt002-dtinicio,

        dtate   LIKE /pws/zycbt002-dtfinal,

        nrdiasj LIKE /pws/zycbt002-nrdiasj,

        txjur   LIKE /pws/zycbt002-txjtotal,

        tptxj   LIKE /pws/zycbt002-tptxjur,

        tpper   TYPE c.

  DATA: END OF itab_periodos_j.

* << Fim da exclusão

  DATA: BEGIN OF itab_zycbt216 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycbt216.

  DATA: END OF itab_zycbt216.

  DATA: wa_zycbt002_aux LIKE /pws/zycbt002.

  DATA: BEGIN OF itab_zycbt002_aux OCCURS 0.

          INCLUDE STRUCTURE /pws/zycbt002.

  DATA: END OF itab_zycbt002_aux.

  DATA: BEGIN OF itab_zycbt002 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycbt002.

  DATA: END OF itab_zycbt002.

...

 

...

    IF itab_zycbt005_t-dtvincul GT v_dtde  AND

       itab_zycbt005_t-dtvincul LE v_dtate.

      CLEAR itab_periodos_j.

      itab_periodos_j-dtde  = v_dtde.

      itab_periodos_j-dtate = itab_zycbt005_t-dtvincul.

      itab_periodos_j-txjur = itab_zycbt002-txjtotal.

      itab_periodos_j-tptxj = itab_zycbt002-tptxjur.

      itab_periodos_j-tpper = v_tipo_per.

      APPEND itab_periodos_j.

      v_dtde = itab_zycbt005_t-dtvincul.

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

      v_tipo_per = 'E'.

    ELSEIF itab_zycbt005_t-dtvincul EQ v_dtde

        OR itab_zycbt005_t-dtvincul LE v_dtate.

* << Fim da inclusão

      v_tipo_per = 'E'.

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

    ENDIF.

* << Fim da inclusão

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

    ENDIF.

* << Fim da exclusão

    CHECK v_dtate > v_dtde.

    IF v_dt_pror  IS INITIAL                   OR

       v_tipo_per EQ 'A'                       OR

...

 

...

  LOOP AT itab_periodos_j.

    IF v_escalonado EQ 'E' AND

       NOT v_txtot  IS INITIAL.

      PERFORM processa_calculo_juros USING v_calc_jur

                                           v_txtot

                                           itab_periodos_j-tptxj

                                           itab_periodos_j-dtde

                                           itab_periodos_j-dtate

                                           /pws/zycbt001-waers

                                           itab_periodos_j-tpper

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

                                  CHANGING itab_zycbt005_t-vljur.

* << Fim da exclusão

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

                                  CHANGING itab_zycbt005_t-vljur

                                           itab_periodos_j-vlme.

* << Fim da inclusão

    ELSE.

      PERFORM processa_calculo_juros USING v_calc_jur

                                           itab_periodos_j-txjur

                                           itab_periodos_j-tptxj

                                           itab_periodos_j-dtde

                                           itab_periodos_j-dtate

                                           /pws/zycbt001-waers

                                           itab_periodos_j-tpper

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

                                  CHANGING itab_zycbt005_t-vljur.

* << Fim da exclusão

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

                                  CHANGING itab_zycbt005_t-vljur

                                           itab_periodos_j-vlme.

* << Fim da inclusão

    ENDIF.

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

    MODIFY itab_periodos_j TRANSPORTING vlme

                           WHERE dtde     = itab_periodos_j-dtde

                             AND dtate    = itab_periodos_j-dtate

                             AND nrdiasj  = itab_periodos_j-nrdiasj

                             AND txjur    = itab_periodos_j-txjur

                             AND tptxj    = itab_periodos_j-tptxj

                             AND tpper    = itab_periodos_j-tpper

                             AND nrseqc   = itab_periodos_j-nrseqc

                             AND tpdesp   = itab_periodos_j-tpdesp

                             AND nrparc   = itab_periodos_j-nrparc

                             AND dtincl   = itab_periodos_j-dtincl

                             AND nrinvoic = itab_periodos_j-nrinvoic

                             AND nrparcf  = itab_periodos_j-nrparcf

                             AND gsberf   = itab_periodos_j-gsberf

                             AND dtvincul = itab_periodos_j-dtvincul

                             AND dtvencto = itab_periodos_j-dtvencto.

* << Fim da inclusão

  ENDLOOP.

  v_juros_dif = v_juros_dif + itab_zycbt005_t-vljur.

ENDFORM.

FORM processa_calculo_juros USING value(p_vlme)

                                  value(p_txj)

                                  value(p_tptxjur)

                                  value(p_dtde)

                                  value(p_dtate)

                                  value(p_moeda)

                                  value(p_tpper)

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

                         CHANGING p_vljur.

* << Fim da exclusão

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

                         CHANGING p_vljur

                                  p_vljur2.

* << Fim da inclusão

  DATA: v_vljur LIKE /pws/zycbt001-vlme,

        v_nrdias TYPE i,

        v_nrdiabase TYPE i,

        v_evento(5) TYPE c.

  DATA: itab_zycbt007 LIKE /pws/zycbt007 OCCURS 0 WITH HEADER LINE.

  MOVE-CORRESPONDING /pws/zycbt007 TO itab_zycbt007.

  APPEND itab_zycbt007.

  v_nrdias = p_dtate - p_dtde.

  READ TABLE itab_zycbt010 WITH KEY tptxjur = p_tptxjur.

  v_nrdiabase = itab_zycbt010-nrdias.

...

 

...

            tx_juros_nao_encontrada      = 7

            dias_base_nao_encontrado     = 8

            dias_periodo_nao_encontrado  = 9

            me_nao_encontrada            = 10

            ctg_cambio_nao_encontrada    = 11

            dtbase_nao_encontrada        = 12

            OTHERS                       = 13.

  IF sy-subrc <> 0.

  ELSE.

    ADD v_vljur TO p_vljur.

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

    p_vljur2 = v_vljur.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM f_02_provisao_juros_dif.

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

 LOOP AT itab_periodos_j.

* << Fim da inclusão

  CLEAR: itab_zycbe033,

         itab_zycbt032,

         itab_zycbt034.

  REFRESH: itab_zycbe033,

           itab_zycbt032,

           itab_zycbt034.

  itab_zycbe033-cpochv  = /pws/zycbt001-nrseqc.

  itab_zycbe033-tcode   = 'F-02'.

  itab_zycbe033-tabela  = '/PWS/ZYCBT006'.

  PERFORM busca_contas_provisao.

  itab_zycbe033-budat   = v_dtcalcjur.

  itab_zycbe033-bukrs   = /pws/zycbt001-bukrs.

  itab_zycbe033-waers   = /pws/zycbt001-waers.

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

  itab_zycbe033-wrbtr   = v_juros_dif.

* << Fim da exclusão

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

  itab_zycbe033-wrbtr   = itab_periodos_j-vlme.

* << Fim da inclusão

  IF wa_zycbt007-fdtdoc = 'L'.

    itab_zycbe033-bldat   = itab_zycbe033-budat.

  ELSE.

    itab_zycbe033-bldat   = sy-datum.

  ENDIF.

  itab_zycbe033-brnch = /pws/zycbt001-j_1bbranch.

  itab_zycbe033-bktxt   = wa_zycbt007-bktxt.

  PERFORM seleciona_taxa.

  itab_zycbe033-blart   = /pws/zycbt011-blart.

  itab_zycbe033-d_gsber = /pws/zycbt001-gsber.

...

 

...

        CLEAR /pws/zycbt154.

        /pws/zycbt154-tpcontr   = /pws/zycbt001-tpcontr.

        /pws/zycbt154-bukrs     = /pws/zycbt001-bukrs.

        /pws/zycbt154-gsber     = /pws/zycbt001-gsber.

        /pws/zycbt154-waers     = /pws/zycbt001-waers.

        /pws/zycbt154-d_newko   = itab_zycbe033-d_newko.

        /pws/zycbt154-c_newko   = itab_zycbe033-c_newko.

        /pws/zycbt154-nrcorresp = /pws/zycbt001-nrseqc.

        /pws/zycbt154-kursf     = itab_zycbe033-kursf.

        /pws/zycbt154-dtcont    = v_dtcalcjur.

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

        /pws/zycbt154-vlme      = v_juros_dif.

* << Fim da exclusão

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

        /pws/zycbt154-vlme      = itab_periodos_j-vlme.

* << Fim da inclusão

        /pws/zycbt154-codmodul  = 'JU'.

        /pws/zycbt154-codmod    = 'E'.

        /pws/zycbt154-bco       = /pws/zycbt001-bconegoc.

        /pws/zycbt154-belnr_pr  = itab_zycbt032-belnr.

        /pws/zycbt154-liquid    = 'X'.

        INSERT /pws/zycbt154.

      ENDIF.

      LOOP AT itab_zycbt006.

        itab_zycbt006-dtcont_jur = v_dtcalcjur.

        itab_zycbt006-belnr_jur  = itab_zycbt032-belnr.

...

 

...

      APPEND itab_contabil.

    ELSE.

      LOOP AT itab_zycbt032.

        CLEAR itab_zycbt032.

        CONCATENATE text-208 itab_zycbt032-msg INTO itab_erro-msg

                    SEPARATED BY space.

        APPEND itab_erro.

      ENDLOOP.

    ENDIF.

  ENDIF.

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

ENDLOOP.

* << Fim da inclusão

  CLEAR: itab_zycbe033,

         itab_zycbt032,

         itab_zycbt034.

  REFRESH: itab_zycbe033,

           itab_zycbt032,

           itab_zycbt034.

ENDFORM.

FORM busca_contas_provisao.

  DATA: v_nrdias   TYPE i,

        v_prazo,

...

 

...

  CLEAR v_codaux1.

  IF /pws/zyglt009-provjur_moeda = 'X' AND

     /pws/zycbt001-waers = wa_zycbt007-waersa.

    CONCATENATE 'JUROS' v_prazo wa_zycbt007-waersa

                INTO v_codaux1 SEPARATED BY space.

  ELSE.

    CONCATENATE 'JUROS' v_prazo INTO v_codaux1 SEPARATED BY space.

  ENDIF.

  v_codaux2 = /pws/zycbt001-tpcontr.

  IF /pws/zyglt009-cont_rot_sep = 'S'.

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

    IF itab_periodos_j-tpper = 'A'.

      v_codaux3 = 'ACC'.

    ELSEIF itab_periodos_j-tpper = 'E'.

      v_codaux3 = 'ACE'.

    ENDIF.

    ELSE.

* << Fim da inclusão

    v_codaux3 = 'ACE'.

  ENDIF.

  REFRESH itab_contas.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycbt001-bukrs

            ktosl           = 'PVE'

            codaux1         = v_codaux1

            codaux2         = v_codaux2

            codaux3         = v_codaux3

...

 

...

    WHERE kurst =  v_kurst

      AND fcurr =  /pws/zycbt001-waers

      AND tcurr =  wa_zycbt007-waersb

      AND gdatu GE v_dtbudat.

  READ TABLE itab_tcurr INDEX 1.

  itab_zycbe033-kursf = itab_tcurr-ukurs.

ENDFORM.

FORM estorna_diferenca_juros.

  DATA: v_monat LIKE t001b-frpe1,

        v_ano   LIKE  t009b-bdatj.

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

  CLEAR   itab_zycbt154.

  REFRESH itab_zycbt154.

  SELECT * FROM /pws/zycbt154 INTO TABLE itab_zycbt154

           WHERE nrcorresp = /pws/zycbe005-nrseqc

             AND tpcontr   = /pws/zycbe005-tpcontr

             AND dtcont    = v_dtpagto

             AND codmodul  = 'JU'

             AND codmod    = 'E'

             AND liquid    = 'X'.

  LOOP AT itab_zycbt154.

* << Fim da inclusão

  CLEAR: itab_zycbe033,

         itab_zycbt032,

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

         itab_zycbt034,

         itab_zycbt006_pj.

* << Fim da exclusão

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

           itab_zycbt034.

* << Fim da inclusão

  REFRESH: itab_zycbe033,

           itab_zycbt032,

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

           itab_zycbt034,

           itab_zycbt006_pj.

* << Fim da exclusão

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

             itab_zycbt034.

* << Fim da inclusão

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

  SELECT * FROM /pws/zycbt006

           INTO TABLE itab_zycbt006_pj

           WHERE nrseqc EQ /pws/zycbe005-nrseqc

             AND dtvincul EQ /pws/zycbe005-dtvincul

             AND dtpagto EQ v_dtpagto

             AND belnr_jur NE ' '.

  LOOP AT itab_zycbt006_pj WHERE belnr_jur NE ' '.

* << Fim da exclusão

    CLEAR v_year.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

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

              v_bukrs                = itab_zycbt006_pj-bukrs

              v_date                 = itab_zycbt006_pj-dtcont_jur

* << Fim da exclusão

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

              v_bukrs                = itab_zycbt154-bukrs

              v_date                 = itab_zycbt154-dtcont

* << Fim da inclusão

         IMPORTING

              v_year                 = v_year

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    itab_zycbe033-tcode = 'FB08'.

    itab_zycbe033-tabela = '/PWS/ZYCBT006'.

    itab_zycbe033-cpochv = /pws/zycbe005-nrseqc.

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

    itab_zycbe033-belnr  = itab_zycbt006_pj-belnr_jur.

* << Fim da exclusão

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

    itab_zycbe033-belnr  = itab_zycbt154-belnr_pr.

* << Fim da inclusão

    itab_zycbe033-bukrs  = /pws/zycbe005-bukrs.

    itab_zycbe033-gjahs  = v_year.

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

    itab_zycbe033-budat  = itab_zycbt006_pj-dtcont_jur.

    itab_zycbe033-bldat  = itab_zycbt006_pj-dtcont_jur.

* << Fim da exclusão

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

    itab_zycbe033-budat  = itab_zycbt154-dtcont.

    itab_zycbe033-bldat  = itab_zycbt154-dtcont.

* << Fim da inclusão

    PERFORM determina_periodo USING itab_zycbe033-budat

                                    itab_zycbe033-bukrs

                           CHANGING v_monat.

    PERFORM determina_ano USING itab_zycbe033-budat

                                itab_zycbe033-bukrs

                       CHANGING v_ano.

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = itab_zycbe033-bukrs

              i_gjahr          = v_ano

...

 

...

              OTHERS          = 2.

    IF sy-subrc = 0.

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'FB08'

                                        tabela = '/PWS/ZYCBT006'

                                        cpochv = /pws/zycbe005-nrseqc

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        UPDATE /pws/zycbt006 SET belnr_jur  = ' '

                                 dtcont_jur = ' '

                            WHERE nrseqc EQ /pws/zycbe005-nrseqc

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

                            AND belnr_jur EQ itab_zycbt006_pj-belnr_jur.

* << Fim da exclusão

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

                            AND belnr_jur EQ itab_zycbt154-belnr_pr.

* << Fim da inclusão

        DELETE FROM /pws/zycbt154

                    WHERE nrcorresp EQ /pws/zycbe005-nrseqc

                      AND codmodul  EQ 'JU'

                      AND codmod    EQ 'E'

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

                      AND belnr_pr  EQ itab_zycbt006_pj-belnr_jur.

* << Fim da exclusão

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

                      AND belnr_pr  EQ itab_zycbt154-belnr_pr.

* << Fim da inclusão

      ENDIF.

    ENDIF.

    DELETE itab_zycbt006_pj

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

           WHERE belnr_jur EQ itab_zycbt006_pj-belnr_jur.

* << Fim da exclusão

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

           WHERE belnr_jur EQ itab_zycbt154-belnr_pr.

* << Fim da inclusão

  ENDLOOP.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004TOP

 

...

        bukrs LIKE bsas-bukrs,

        hkont LIKE bsas-hkont,

        gjahr LIKE bsas-gjahr,

        belnr LIKE bsas-belnr,

        bschl LIKE bsas-bschl,

        gsber LIKE bsas-gsber,

        wrbtr LIKE bsas-wrbtr,

        sgtxt LIKE bsas-sgtxt,

        zuonr LIKE bsas-zuonr,

      END OF itab_bsas_aux.

* >> Início da inclusão:

DATA: BEGIN OF itab_periodos_j OCCURS 0.

DATA: nrseqc   LIKE /pws/zycbt005-nrseqc,

      tpdesp   LIKE /pws/zycbt005-tpdesp,

      nrparc   LIKE /pws/zycbt005-nrparc,

      dtincl   LIKE /pws/zycbt005-dtincl,

      nrinvoic LIKE /pws/zycbt005-nrinvoic,

      nrparcf  LIKE /pws/zycbt005-nrparcf,

      gsberf   LIKE /pws/zycbt005-gsberf,

      dtvincul LIKE /pws/zycbt005-dtvincul,

      dtvencto LIKE /pws/zycbt005-dtvencto,

      dtde     LIKE /pws/zycbt002-dtinicio,

      dtate    LIKE /pws/zycbt002-dtfinal,

      nrdiasj  LIKE /pws/zycbt002-nrdiasj,

      txjur    LIKE /pws/zycbt002-txjtotal,

      tptxj    LIKE /pws/zycbt002-tptxjur,

      tpper    TYPE c,

      vlme     TYPE /pws/zycbt002-vlme.

DATA: END OF itab_periodos_j.

DATA: BEGIN OF itab_zycbt154 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt154.

DATA: END OF itab_zycbt154.

* << Fim da inclusão

TYPE-POOLS: sydes.

DATA: t_sydes  TYPE sydes_desc,

      wa_types TYPE sydes_typeinfo,

      v_len    TYPE i.

DATA:

      wa_zycbt009   LIKE /pws/zycbt009,

      wa_zycbt011   LIKE /pws/zycbt011,

      wa_zycbt011_d LIKE /pws/zycbt011,

      wa_t001w      LIKE t001w.

CONTROLS:

...