CE PLUS - Nota 010634

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Liquidação de Contrato

Data/Hora da Publicação: 27/03/2012 14:00:21

Data/Hora Última Alteração: 27/03/2012 14:00:21

Descrição da Nota: LIQUIDAÇÃO DE ACC COM PRÉ - VARIOS CONTRATOS A LIQUIDAR

Sintoma

O prograna de Liquidação de ACC c/ Pre não atualiza os saldos dos contratos liquidados e não conclui

as contabilizações corretamente das parcelas de priincipal, nos casos em que está sendo liquidado

mais de um contrato de Pré Pagamento por outro Pré Pagamento.

 

 

Solução

Ajustar o programa para fazer todas as contabilizações para todos os contratos que foram feitos

liquidação de Acc c/ pré e seu estorno com sucesso.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

LIQ.ACC C/ PRÉ - NÃO MODIFICAR QUANDO O CONTRATO ESTÁ CONTABILIZADO

CAPTAÇÃO - RELATÓRIO CONTABILIZAÇÃO.

MAPEAMENTO SOCIEDADE PARCEIRA NAS CONTABILIZAÇÕES

ROTINA DE PAGAMENTO, PROCESSAR BOLETO - STATUS FATURA

CAPTAÇÃO - DP COM ORDEM DE VENDA MAIS DE 1 ITEM

LIQUIDAÇÃO DE ACC COM PRÉ PAGTO

ASSOCIAÇÃO VALORES MANTIDOS NO EXTERIOR - ARBITRAGEM APENAS NO EMBARQUE

CAPTAÇÃO- PRÉ PGTO- CAMPOS RELEVANCIA ALTERADOS-BI ESTORNO COMO PROBLEMA

CAPTAÇÃO DP C/C ME - DUMP AO SALVAR

LIQUIDAÇÃO DE ACC COM PRÉ PAGAMENTO, DUMP AO VINCULAR CONTRATO DE ACC

LIQ. ACC C/ PRE - QUANDO FAZ UM CONTRATO DE ACC E UM NOVO DE DP PARCIAL

Informações Complementares

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

Nota Número 10634 Data: 29/09/2010 Hora: 15:44:42

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

 

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

Nota Número              : 10634

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 8.0

Pacote                   : 00005

Agrupamento              : 00041

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

Referência às notas relacionadas:

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

 

06286  - 00001 - 7.0    - 00005  - LIQUIDAÇÃO DE ACC COM PRÉ PAGTO

09326  - 00002 - 8.0    - 00001  - NOTA TRADUÇÃO CÂMBIO

09338  - 00003 - 8.0    - 00001  - CAPTAÇÃO - DP COM ORDEM DE VENDA MAIS DE 1 ITEM

09463  - 00004 - 8.0    - 00001  - TRADUÇÃO PW.CE CÂMBIO - PORTUGUÊS PARA INGLÊS

09629  - 00005 - 8.0    - 00002  - ROTINA DE PAGAMENTO, PROCESSAR BOLETO - STATUS FATURA

09894  - 00006 - 8.0    - 00002  - ASSOCIAÇÃO VALORES MANTIDOS NO EXTERIOR - ARBITRAGEM APENAS NO EM

10188  - 00007 - 8.0    - 00003  - MAPEAMENTO SOCIEDADE PARCEIRA NAS CONTABILIZAÇÕES

10458  - 00008 - 8.0    - 00004  - CAPTAÇÃO DP C/C ME - DUMP AO SALVAR

10506  - 00009 - 8.0    - 00004  - CAPTAÇÃO - RELATÓRIO CONTABILIZAÇÃO.

10508  - 00010 - 8.0    - 00004  - CAPTAÇÃO- PRÉ PGTO- CAMPOS RELEVANCIA ALTERADOS-BI ESTORNO COMO P

10519  - 00011 - 8.0    - 00004  - LIQ.ACC C/ PRÉ - NÃO MODIFICAR QUANDO O CONTRATO ESTÁ CONTABILIZA

10523  - 00012 - 8.0    - 00004  - LIQ. ACC C/ PRE - QUANDO FAZ UM CONTRATO DE ACC E UM NOVO DE DP P

10540  - 00013 - 8.0    - 00004  - LIQUIDAÇÃO DE ACC COM PRÉ PAGAMENTO, DUMP AO VINCULAR CONTRATO DE

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

LIQUIDAÇÃO DE ACC COM PRÉ - VARIOS CONTRATOS A LIQUIDAR

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

Palavras Chave:

LIQUIDAÇÃO DE ACC COM PRÉ - VARIOS CONTRATOS A LIQUIDAR

 

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

Objetos da nota:

CUAD /PWS/SAPMZYCB014

FUNC /PWS/ZYCB_TRANSACAO_F_30_P

FUNC /PWS/ZYCB_TRANSACAO_F_30_W

REPS /PWS/LZYCBGF2F01

REPS /PWS/LZYCBGF2TOP

REPS /PWS/MZYCB001F02

REPS /PWS/MZYCB001F04

REPS /PWS/MZYCB001I01

REPS /PWS/MZYCB001O01

REPS /PWS/MZYCB001TOP

REPS /PWS/MZYCB001X01

REPS /PWS/MZYCB014F01

REPS /PWS/MZYCB014O01

REPS /PWS/MZYCB014TOP

REPS /PWS/ZYGLR002

TABD /PWS/ZYCBE062

TABD /PWS/ZYCBT062

 

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

Modificações efetuadas em CUAD /PWS/SAPMZYCB014

BOTÃO ESTÁTICO

 

CÓDIGO DE FUNÇÃO: ERAS

CATEGORIA DE FUNÇÃO: ____

 

TEXTOS DE FUNÇÃO ESTÁTICOS

TEXTO DE FUNÇÃO: Excluir PréPagamento

NOME DE ÍCONE: ICON_DELETE

TEXTO DE ÍCONE: _____________________________________________________

TEXTO INFORMATIVO: __________________________________________________

SELEÇÃO DIRETA: _____

TECLA DE ATALHO: SHIFT + F6

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_P

 

 

Características

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

...

V_PANORMAIS

V_ZUONR1

* >> Início da inclusão:

V_LIQ         TYPE   C                ' '          'X'      ' '     ' '

* << Fim da inclusão

 

 

...

    endif.

    perform bdc_screen using 'SAPDF05X'   '3100'.

    perform bdc_field  using 'BDC_CURSOR' 'RF05A-ABPOS'.

    perform bdc_field  using 'BDC_OKCODE' '=Z+'.

    perform bdc_screen using 'SAPDF05X'   '3100'.

    if t_dados-flag_nc eq 'X'.

      perform bdc_field using: 'BDC_OKCODE' '=BU'.

    else.

      perform bdc_field using: 'BDC_OKCODE' '=BS'.

    endif.

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

if not v_liq is initial.

  perform bdc_screen using 'SAPDF05X' '3100'.

  perform bdc_field using: 'BDC_CURSOR' 'DF05B-PSDIF(01)',

                           'BDC_OKCODE' '=PI'.

    perform bdc_screen using 'SAPDF05X'   '3100'.

    if t_dados-flag_nc eq 'X'.

      perform bdc_field using: 'BDC_OKCODE' '=BU'.

    else.

      perform bdc_field using: 'BDC_OKCODE' '=BS'.

    endif.

endif.

  IF t_dados-agkon is initial.

     t_dados-agkon = t_dados-d_newko.

  endif.

* << Fim da inclusão

    perform verifica_empresas using t_dados-bukrs

                                    'UMBUCHNG'

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

                                    t_dados-d_newko

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

                                   t_dados-agkon

* << Fim da inclusão

                                    v_agkoa.

    if v_linhas eq 1

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_W

 

...

          tabela  like /pws/zycbe033-tabela,

          cpochv  like /pws/zycbe033-cpochv,

          tcode   like /pws/zycbe033-tcode,

          agkoa   like /pws/zycbe033-agkoa,

          agkon   like /pws/zycbe033-agkon,

          agums   like /pws/zycbe033-agums,

          shkzg   like /pws/zycbe033-shkzg,

          v_sinal type /pws/zycbe033-v_sinal,

          dtdocto type /pws/zycbe033-dtdocto,

        end of itab_parts.

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

data: itab_aux like itab_parts occurs 0 with header line.

* << Fim da inclusão

  data: itab_t041t like t041t occurs 0 with header line.

  data: wa_zycbt089 like /pws/zycbt089.

  data:  v_n_budat       type /pws/zycbt006-dtpagto.

  write:

    c_vl_min to v_vl_min,

    c_vl_max to v_vl_max.

  select single selps from t021r

    into  v_xpos1

    where event = 'SL-AG'

      and feldn = 'BELNR'.

...

 

...

                                             itab_oculto

                                      using  v_string_debito.

        endif.

        add 1 to v_linhas.

        if v_agkoa is initial.

          move: itab_parts-agkoa to v_agkoa,

                itab_parts-agkon to v_agkon_emp.

        endif.

        at first.

          if v_intercompany is initial.

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

           itab_aux[] = itab_parts[].

* << Fim da inclusão

            perform verifica_empresas using t_dados-bukrs

                                            'UMBUCHNG'

                                            v_agkon_emp

                                            v_agkoa.

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

            if v_lines is initial.

             loop at itab_aux where agkon ne v_agkon_emp.

              v_agkon_emp = itab_aux-agkon.

            perform verifica_empresas using t_dados-bukrs

                                            'UMBUCHNG'

                                            v_agkon_emp

                                            v_agkoa.

              if not v_lines is initial.

               exit.

              endif.

             endloop.

            endif.

* << Fim da inclusão

          endif.

          v_intercompany = 'X'.

        endat.

        perform bdc_screen using 'SAPMF05A' '0700'.

        perform bdc_field using:

                'BDC_CURSOR' 'RF05A-NEWBS',

                'BDC_OKCODE' '=PI'.

        if v_op = 'X'.

          perform bdc_field using 'BDC_OKCODE' '=BU'.

          exit.

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCBGF2F01

 

...

    p_t_zycet005-cpochv = p_t_dados-cpochv.

    p_t_zycet005-tpmsg  = 'E'.

    p_t_zycet005-msg    = text-033.

    append p_t_zycet005.

  endif.

endform.

form verifica_empresas using  p_emp

                              p_tplanc

                              p_conta

                              p_tpcont.

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

  data v_lines(3).

* << Fim da exclusão

  select * from t041b

         into table itab_t041b

         where bukrs eq p_emp

           and bbukr ne p_emp

           and auglv eq p_tplanc.

  if sy-subrc eq 0.

    loop at itab_t041b.

      if itab_t041b-bukrs = itab_t041b-bbukr.

        delete itab_t041b.

      endif.

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCBGF2TOP

 

...

      bukrs  like skb1-bukrs,

      conta  like skb1-saknr,

      end of itab_empresas.

data: v_input              like screen-input,

      v_output             like screen-output,

      v_required           like screen-required,

      v_invisible          like screen-invisible.

data wa_rpy_dyfatc type rpy_dyfatc occurs 0 with header line.

data: v_budat type bkpf-budat.

data: v_intercompany type c.

* >> Início da inclusão:

data:   v_lines(3).

* << Fim da inclusão

data: wa_t003       like t003,

      v_soc_parc(1) value 'N',

      v_aux_newko   like /pws/zycbe033-c_newko.

 

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

Modificações efetuadas em REPS /PWS/MZYCB001F02

 

...

    PERFORM save_zycbt221.

    PERFORM exibe_mensagens.

  ENDIF.

  PERFORM data_efetiva.

ENDFORM.

FORM estorno_pre_acc.

  DATA: v_belnr LIKE bkpf-belnr,

        v_budat LIKE bkpf-budat,

        v_count TYPE i,

        v_total TYPE i,

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

        v_x     type i,

* << Fim da inclusão

        v_tpcontr_c LIKE /pws/zycbt061-tpcontr_c,

        v_prim  TYPE c.

  CHECK /pws/zycbe001-f_pre EQ 'C'.

  IF /pws/zycbe001-tpcontr(1) CA 'PS'.

    PERFORM reagrupa_pre CHANGING v_belnr v_budat.

  ELSE.

    IF /pws/zycbe001-belnr2 IS INITIAL.

      v_belnr = /pws/zycbe001-belnr.

    ELSE.

      v_belnr = /pws/zycbe001-belnr2.

...

 

...

              INTO itab_zycbe033-c_zuonr

              SEPARATED BY space.

  IF v_dp1 = 'X'.

    IF wa_zycbt001_pre-tpcontr = 'A'.

      itab_zycbe033-c_zuonr = wa_zycbt001_pre-dtcontr.

    ENDIF.

  ENDIF.

  itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.

  itab_zycbe033-vbund   = /pws/zycbe001-vbund.

  APPEND itab_zycbe033.

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

  loop at itab_zycbt061.

* << Fim da inclusão

  IF itab_zycbt061-tpcontr_c(1) CA 'PS'.

    IF  /pws/zycbe001-tpcontr EQ 'A'.

      SELECT *

      FROM /pws/zycbt067 INTO TABLE itab_zycbt067

       WHERE nrseq_c = itab_zycbt061-nrseq_c.  "#EC CI_NOFIRST

      SELECT *

      FROM /pws/zycbt002 INTO TABLE itab_zycbt002p1

      FOR ALL ENTRIES IN itab_zycbt067

      WHERE nrseqc = itab_zycbt067-nrseq_c AND

            nrparc = itab_zycbt067-nrparc  AND

...

 

...

            tpparc = 'P'.

      LOOP AT itab_zycbt002p1.

        IF itab_zycbt002p1-slvinc = '0' OR

           itab_zycbt002p1-slvinc NE itab_zycbt061-vlalt.

          PERFORM pega_contas_pre_new CHANGING conta_acc texto_acc

                                               conta_pre texto_pre

                                               cod_rze.

          itab_partidas-tcode   = 'F-30'.

          itab_partidas-tabela  = 'ZYCBT001'.

          itab_partidas-cpochv  = itab_zycbe033-cpochv.

 

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

          itab_partidas-belnr   = itab_zycbt002p1-belnr.

          itab_partidas-agkon   = conta_acc.

* << Fim da ixclusão

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

          if itab_zycbt002p1-belnr2 is initial.

 

            itab_partidas-belnr   = itab_zycbt002p1-belnr.

          else.

            itab_partidas-belnr   = itab_zycbt002p1-belnr2.

          endif.

 

          if /pws/zycbe001-tpcontr = 'A'.

            itab_partidas-agkon   = conta_acc.

          else.

            itab_partidas-agkon   = conta_pre.

          endif.

* << Fim da inclusão

          itab_partidas-agkoa   = 'S'.

          itab_partidas-agums   = space.

          itab_partidas-bukrs   = itab_zycbt061-bukrs_c.

          itab_partidas-shkzg   = 'H'.

          IF itab_zycbt061-baixa EQ 'X'.

            itab_partidas-v_sinal = '-'.

            CONCATENATE text-488 itab_zycbt061-nrseq_c

                            INTO itab_partidas-d_zuonr

                            SEPARATED BY space.

          ELSE.

...

 

...

                      SEPARATED BY space.

        ENDIF.

      ELSE.

        itab_partidas-v_sinal = '+'.

        CLEAR itab_partidas-d_zuonr.

      ENDIF.

      itab_partidas-dtdocto = itab_zycbt061-budat_d.

      APPEND itab_partidas.

    ENDLOOP.

  ENDIF.

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

  endloop.

* << Fim da inclusão

  CLEAR v_div.

  IF /pws/zycbe001-tpcontr(1) EQ 'D'.

    v_div = 'X'.

    SELECT SINGLE * FROM /pws/zycbt089

      WHERE bukrs = /pws/zycbe001-bukrs.

    IF /pws/zycbe001-tpcontr+0(1) = 'D' AND v_opccme = ''.

      IF NOT wa_zycbt089-rateio_cl IS INITIAL.

        CLEAR: wa_zycbt221_aux.

        REFRESH: wa_zycbt221_aux.

        LOOP AT itab_zycbt221.

...

 

...

        p_belnr = itab_zycbt032-belnr.

        p_budat = itab_zycbe033-budat.

        IF /pws/zycbe001-tpcontr+0(1) = 'P'.

        /pws/zycbe001-belnr = /pws/zycbt001-belnr = itab_zycbt032-belnr.

        ENDIF.

        itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.

        itab_contabil-nrparpre = space.

        CLEAR itab_contabil-nrseqacc.

        itab_contabil-belnr    = itab_zycbt032-belnr.

        itab_contabil-msg      = text-247.

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

        itab_contabil-vlme   = /pws/zycbe001-vlme.

        itab_contabil-nrparc = '001'.

* << Fim da inclusão

        APPEND itab_contabil.

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

  loop at itab_zycbt061.

* << Fim da inclusão

        SELECT *

        FROM /pws/zycbt067 INTO TABLE itab_zycbt067

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

         WHERE nrseq_c = wa_zycbt001_pre-nrseqc.        "#EC CI_NOFIRST

* << Fim da exclusão

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

         where nrseq_c = itab_zycbt061-nrseq_c.        "#EC CI_NOFIRST

* << Fim da inclusão

        IF sy-subrc = 0.

          SELECT *

            FROM /pws/zycbt002 INTO TABLE itab_zycbt002p1

            FOR ALL ENTRIES IN itab_zycbt067

            WHERE nrseqc = itab_zycbt067-nrseq_c AND

                  tpparc = 'P'                   AND

                  nrparc = itab_zycbt067-nrparc.

        ENDIF.

        LOOP AT itab_zycbt067.

          READ TABLE itab_zycbt002p1 WITH KEY

...

 

...

          IF sy-subrc = 0.

            UPDATE /pws/zycbt002  SET belnr2 = itab_zycbt032-belnr

                             WHERE nrseqc  = itab_zycbt002p1-nrseqc AND

                                   nrparc  = itab_zycbt002p1-nrparc AND

                                     tpparc  = 'P'.

            COMMIT WORK.

            DELETE itab_zycbt002p1 INDEX 1.

            CLEAR itab_zycbt002p1.

          ENDIF.

        ENDLOOP.

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

     endloop.

* << Fim da inclusão

        CLEAR   itab_zycbt002p1.

        REFRESH itab_zycbt002p1.

        sy-subrc = 0.

        EXIT.

      ELSE.

        LOOP AT itab_zycbt032 WHERE tcode  = 'F-30'

                                AND tabela = 'ZYCBT001'

                                AND cpochv = /pws/zycbe001-nrseqc

                                AND tpmsg <> 'S'.

          CLEAR itab_erro-belnr.

...

 

...

  ENDIF.

  CONCATENATE '001' /pws/zycbe001-tpcontr INTO v_codeven.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                  INTO wa_zycbt011

                  WHERE codeven = v_codeven

                  AND codmod  = 'E'.

  texto_pre = wa_zycbt011-txtdesc.

  cod_rze   = wa_zycbt011-agums.

  IF /pws/zycbt001-tpcontr(1) CA 'PSE'.

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

    IF itab_zycbt002p-przcontr IS INITIAL.

      CONCATENATE /pws/zycbe001-tpcontr

                  /pws/zycbe001-przcontr

                  INTO v_codaux

                  SEPARATED BY space.

    ELSE.

      CONCATENATE /pws/zycbe001-tpcontr

* << Fim da exclusão

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

      concatenate itab_zycbt002p-tpcontr

* << Fim da inclusão

                  itab_zycbt002p-przcontr

                  INTO v_codaux

                  SEPARATED BY space.

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

    ENDIF.

* << Fim da exclusão

  ELSE.

    CONCATENATE /pws/zycbe001-tpcontr

                /pws/zycbe001-przcontr

                INTO v_codaux

...

 

...

  IF NOT itab_acerto[] IS INITIAL.

    EXPORT itab_acerto TO MEMORY ID '002'.

    SUBMIT /pws/zycbr128 AND RETURN.

    REFRESH itab_acerto.

  ENDIF.

ENDFORM.

FORM cria_principal CHANGING p_belnr

                             p_budat

                             p_first.

  DATA: v_subrc   LIKE sy-subrc,

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

        v_atrib   TYPE c,

* << Fim da exclusão

        v_cpochv  LIKE /pws/zycbe033-cpochv,

        conta_acc LIKE /pws/zycbt012-saknr1,

        conta_pre LIKE /pws/zycbt012-saknr1,

        cod_rze   LIKE /pws/zycbt011-agums,

        texto_acc LIKE /pws/zycbt011-txtdesc,

        texto_pre LIKE /pws/zycbt011-txtdesc.

  PERFORM clear_date_batch.

  CLEAR: itab_zycbt036.

  REFRESH itab_zycbt036.

  PERFORM pega_contas_acc_pre CHANGING conta_acc texto_acc

...

 

...

                                  'WAERS'

                                  text-019.

  itab_zycbe033-waers  = /pws/zycbe001-waers.

  PERFORM verify_null_field USING wa_zycbt011-blart

                                  'BLART'

                                  text-020.

  itab_zycbe033-blart  = wa_zycbt011-blart.

  itab_zycbe033-d_newko = conta_pre.

  itab_zycbe033-newbs   = '50'.

  itab_zycbe033-agkoa   = 'S'.

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

if /pws/zycbe001-tpcontr = 'PT'.

   v_prz = itab_zycbt002p-przcontr .

   itab_zycbe033-flag_nc = 'X'.

  perform busca_conta_pt using  v_dtinicio

                                /pws/zycbe001-dtliquid

                                ' '.

  if v_contac is initial.

    exit.

  else.

    itab_zycbe033-agkon    = v_contac.

    itab_zycbe033-d_newko1 = v_contac.

    itab_zycbt002p-przcontr = v_prz.

  endif.

endif.

* << Fim da inclusão

  itab_zycbe033-belnr   = p_belnr.

  itab_zycbe033-dtdocto = p_budat.

  IF /pws/zycbe001-ftxt IS INITIAL.

    itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

    itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

    itab_zycbe033-augtx   = wa_zycbt011-txtdesc.

  ELSE.

    itab_zycbe033-d_sgtxt = /pws/zycbe001-txtinf.

    itab_zycbe033-c_sgtxt = /pws/zycbe001-txtinf.

    itab_zycbe033-augtx   = /pws/zycbe001-txtinf.

...

 

...

      ELSE.

        v_zuonr = /pws/zycbe001-nrseqc.

      ENDIF.

      CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_P'

           EXPORTING

                v_modo          = v_modo_bi

                filtra          = 'X'

                v_filt_atrib    = v_atrib

                so_segundo      = p_first

                v_zuonr1        = v_zuonr

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

                v_liq           = 'X'

* << Fim da inclusão

           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 .

...

 

...

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        itab_zycbt002p-belnr    = itab_zycbt032-belnr.

        p_belnr                 = itab_zycbt032-belnr.

        p_budat                 = itab_zycbe033-budat.

        p_first                 = 'X'.

        itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.

        itab_contabil-nrparpre = itab_zycbt002p-nrparc.

        itab_contabil-belnr    = itab_zycbt032-belnr.

        itab_contabil-msg      = text-249.

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

        itab_contabil-vlme   = itab_zycbt002p-vlme.

        itab_contabil-nrparc = itab_zycbt002p-nrparc.

* << Fim da inclusão

        APPEND itab_contabil.

        sy-subrc = 0.

      ELSE.

        LOOP AT itab_zycbt032 WHERE tcode  = 'F-30'

                                AND tabela = 'ZYCBT002'

                                AND cpochv = v_cpochv

                                AND tpmsg <> 'S'.

          CLEAR itab_erro-belnr.

          itab_erro-msg   = itab_zycbt032-msg.

          APPEND itab_erro.

...

 

...

        itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.

        itab_contabil-nrparpre = space.

        CLEAR itab_contabil-nrseqacc.

        itab_contabil-belnr    = itab_zycbt032-belnr.

        itab_contabil-msg      = text-247.

        APPEND itab_contabil.

        v_subrc = 0.

      ELSE.

        LOOP AT itab_zycbt032 WHERE tcode  = 'F-30'

                                AND tabela = 'ZYCBT001'

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

                                AND cpochv = v_cpochv.

          CLEAR itab_erro-belnr.

          itab_erro-msg   = itab_zycbt032-msg.

          APPEND itab_erro.

* << Fim da exclusão

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

                                and cpochv = /pws/zycbe001-nrseqc

                                and tpmsg  = 'E'.

          message i015 with itab_zycbt032-msg+0(50)

                           itab_zycbt032-msg+50(50).

* << Fim da inclusão

        ENDLOOP.

        v_subrc = 4.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

      v_subrc = 4.

    ENDIF.

  ELSE.

...

 

...

                                  'WAERS'

                                  text-019.

  itab_zycbe033-waers  = wa_zycbt001_pre-waers.

  PERFORM verify_null_field USING wa_zycbt011-blart

                                  'BLART'

                                  text-020.

  itab_zycbe033-blart  = wa_zycbt011-blart.

  itab_zycbe033-d_newko  = conta_acc.

  itab_zycbe033-newbs    = '50'.

  itab_zycbe033-agkoa    = 'S'.

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

 if v_contconta is initial.

* << Fim da inclusão

  itab_zycbe033-d_newko1 = conta_pre.

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

  else.

  itab_zycbe033-d_newko1 = v_contacontab.

  endif.

       if v_contconta is initial .

         v_contacontab = conta_acc.

         v_contconta = 'X'.

       endif.

* << Fim da inclusão

  IF /pws/zycbe001-tpcontr(01) = 'D'.

    v_dp = 'X'.

    itab_zycbe033-agums = wa_zycbt011-agums.

  ENDIF.

  itab_zycbe033-belnr   = p_belnr.

  itab_zycbe033-dtdocto = p_budat.

  IF wa_zycbt001_pre-ftxt IS INITIAL.

    itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

    itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

    itab_zycbe033-augtx   = wa_zycbt011-txtdesc.

...

 

...

    itab_zycbe033-augtx   = wa_zycbt001_pre-txtinf.

  ENDIF.

  itab_zycbe033-c_gsber = wa_zycbt001_pre-gsber.

  itab_zycbe033-d_gsber = wa_zycbt001_pre-gsber.

  itab_zycbe033-wrbtr   = itab_zycbt061-vlalt.

  itab_zycbe033-kursf = wa_zycbt001_pre-txcneg.

  PERFORM verify_null_field USING wa_zycbt001_pre-txcneg

                                  'TXCAMB'

                                  text-027.

  IF p_first EQ 'L'.

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

    itab_zycbe033-flag_nc = 'X'.

  endif.

if /pws/zycbe001-tpcontr = 'PT'.

* << Fim da inclusão

    itab_zycbe033-flag_nc = 'X'.

  ENDIF.

  itab_zycbe033-vbund   = wa_zycbt001_pre-vbund.

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

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa)

              USING      okcode

              CHANGING   e_subrc.

      IF e_subrc NE 0.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

  APPEND itab_zycbe033.

  CLEAR p_first.

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

if not itab_zycbt061[] is initial.

  clear v_zuonr.

  concatenate itab_zycbt061-nrseq_c  itab_zycbt061-tpcontr_c

  into v_zuonr.

loop at itab_zycbt061  .

* << Fim da inclusão

  itab_zycbt036-tcode   = 'F-30'.

  itab_zycbt036-tabela  = 'ZYCBT001'.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

  itab_zycbt036-residuo = itab_zycbt061-vlalt.

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

  if not itab_zycbe033-d_zuonr is initial.

    if wa_zycbt001_pre-tpcontr(1) = 'P'.

      concatenate itab_zycbt061-nrseq_c  itab_zycbt061-tpcontr_c

      into itab_zycbt036-zuonr.

    endif.

  endif.

* << Fim da inclusão

  APPEND itab_zycbt036.

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

endloop.

  sort itab_zycbt036 by zuonr.

  delete adjacent duplicates from itab_zycbt036.

 if  not v_atrib is initial.

  loop at itab_zycbt036.

    if itab_zycbt036-zuonr = v_zuonr.

    else.

      delete itab_zycbt036 index sy-tabix.

    endif .

  endloop.

 endif.

endif.

* << Fim da inclusão

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_P'

         EXPORTING

              v_modo          = v_modo_bi

              filtra          = 'X'

              v_acc_pre_dp    = v_dp

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

              v_filt_atrib    = v_atrib

              v_zuonr1        = v_zuonr

              v_liq           = 'X'

* << Fim da inclusão

         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.

    IF sy-subrc = 0.

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

                                        tabela = 'ZYCBT001'

                                        cpochv = v_cpochv

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        p_belnr                = itab_zycbt032-belnr.

        p_budat                = itab_zycbe033-budat.

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

        v_atrib = 'X'.

       if v_contbelnr is initial .

         v_belnr_aberto = itab_zycbt032-belnr.

         v_contbelnr = 'X'.

       endif.

* << Fim da inclusão

        itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.

        itab_contabil-nrparpre = space.

        itab_contabil-nrseqacc = wa_zycbt001_pre-nrseqc.

        itab_contabil-belnr    = itab_zycbt032-belnr.

        itab_contabil-msg      = text-389.

        APPEND itab_contabil.

        PERFORM clearing USING conta_acc texto_acc p_belnr p_budat.

        itab_zycbt061-belnr2 = space.

        sy-subrc = 0.

      ELSE.

        LOOP AT itab_zycbt032 WHERE tcode  = 'F-30'

                                AND tabela = 'ZYCBT001'

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

                                AND cpochv = v_cpochv

                                AND tpmsg <> 'S'.

          CLEAR itab_erro-belnr.

          itab_erro-msg   = itab_zycbt032-msg.

          APPEND itab_erro.

* << Fim da exclusão

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

                                and cpochv = /pws/zycbe001-nrseqc.

          message i015 with itab_zycbt032-msg+0(50)

                           itab_zycbt032-msg+50(50).

* << Fim da inclusão

        ENDLOOP.

        sy-subrc = 4.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

      sy-subrc = 4.

    ENDIF.

  ELSE.

    sy-subrc = 4.

  ENDIF.

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

    p_belnr = v_belnr_aberto.

* << Fim da inclusão

ENDFORM.

FORM clearing USING p_conta

                    p_texto

                    p_belnr

                    p_budat.

  PERFORM clear_date_batch.

  DATA: v_cpochv LIKE /pws/zycbe033-cpochv,

        v_subrc  LIKE sy-subrc,

        valor    LIKE /pws/zycbt002-vlme,

        belnr    LIKE /pws/zycbt001-belnr,

...

 

...

        itab_contabil-belnr    = itab_zycbt032-belnr.

        IF itab_zycbt061-tpcontr_c(1) CA 'PS'.

          itab_contabil-msg      = text-501.

        ELSE.

          itab_contabil-msg      = text-251.

        ENDIF.

        APPEND itab_contabil.

        IF itab_zycbt061-tpcontr_c(1) CA 'PS' OR

           wa_zycbt001_pre-slvinc     NE 0 .

          CLEAR: belnr, budat.

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

          budat = itab_zycbe033-budat.

* << Fim da inclusão

          belnr = itab_zycbt032-belnr.

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

          PERFORM retorna_principal_origem USING belnr budat.

* << Fim da exclusão

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

          perform retorna_principal_origem using belnr budat

                                                 p_conta.

* << Fim da inclusão

        ENDIF.

        v_subrc = 0.

      ELSE.

        LOOP AT itab_zycbt032 WHERE tcode  = 'F-30'

                                AND tabela = 'ZYCBT001'

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

                                AND cpochv = v_cpochv.

          CLEAR itab_erro-belnr.

          itab_erro-msg   = itab_zycbt032-msg.

          APPEND itab_erro.

* << Fim da exclusão

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

                                and cpochv = /pws/zycbe001-nrseqc.

          message i015 with itab_zycbt032-msg+0(50)

                           itab_zycbt032-msg+50(50).

* << Fim da inclusão

        ENDLOOP.

        v_subrc = 4.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

      v_subrc = 4.

    ENDIF.

  ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001F04

 

...

        v_chamada(50)  type c,

        w_prog         like trdir-name.

  data: wa_001t   type /pws/zycbt001,

        wa_001e   type /pws/zycbe001,

        wa_002t   type /pws/zycbt002,

        wa_005t   type /pws/zycbt005,

        wa_006t   type /pws/zycbt006.

  clear:   t_prog, wa_log.

  refresh: t_prog.

  append   'report sy-repid.                             ' to t_prog.

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

  append   'form log using    p_dados                    ' to t_prog.

* << Fim da exclusão

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

  append   'form quebra_linha using    p_dados           ' to t_prog.

* << Fim da inclusão

  append   '                  p_tabela                   ' to t_prog.

  append   '         CHANGING P_WA_LOG.                  ' to t_prog.

  if sy-saprl(3) ge '620' or sy-saprl(2) eq '47'.         "#EC PORTABLE

    append 'tables: dd03l.                               ' to t_prog.

    append text-471 to t_prog.

    append text-472 to t_prog.

    append text-473 to t_prog.

    append 'data: v_tam       type dd03l-leng,           ' to t_prog.

    append '      v_valor(50) type c,                    ' to t_prog.

    append '      v_xstring   type xstring.              ' to t_prog.

...

 

...

    endif.

  endif.

  concatenate '001' itab_zycbt061-tpcontr_c into v_codeven.

  clear wa_zycbt011.

  select single * from /pws/zycbt011

                  into wa_zycbt011

                  where codeven = v_codeven

                  and codmod  = 'E'.

  texto_pre = wa_zycbt011-txtdesc.

  cod_rze   = wa_zycbt011-agums.

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

  if itab_zycbt061-tpcontr_c(1) = 'P' or

     itab_zycbt061-tpcontr_c(1) = 'S'.

    if not  itab_zycbt002p1 is initial.

      concatenate itab_zycbt002p1-tpcontr

                  itab_zycbt002p1-przcontr

                  into v_codaux

                  separated by space.

    endif.

  else.

    if itab_zycbt061-tpcontr_c(1) = 'A' and

       /pws/zycbe001-tpcontr      = 'PT'.

        concatenate itab_zycbt002p-tpcontr

                    itab_zycbt002p-przcontr

                    into v_codaux

                    separated by space.

    else.

* << Fim da inclusão

  concatenate /pws/zycbe001-tpcontr

              /pws/zycbe001-przcontr

              into v_codaux

              separated by space.

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

    endif.

  endif.

* << Fim da inclusão

  refresh itab_zyglt316.

  call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

...

 

...

       exceptions

            key_not_found   = 1

            rules_not_found = 2

            others          = 3.

  if sy-subrc eq 0.

    read table itab_zyglt316 index 1.

    conta_pre = itab_zyglt316-konth.

  endif.

endform.

form retorna_principal_origem using belnr

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

                                    budat.

* << Fim da exclusão

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

                                    budat

                                    p_conta.

* << Fim da inclusão

  data: valor    like /pws/zycbt002-vlme,

        subrc    like sy-subrc,

        v_prim   type c,

        v_lines  like sy-tabix.

  clear: itab_zycbt002p.

  select *

    from /pws/zycbt002

    into table itab_zycbt002p

    where nrseqc = wa_zycbt001_pre-nrseqc

    and   tpparc = 'P'.

  select *

    from /pws/zycbt067

    into table itab_zycbt067

    where nrseq_c = wa_zycbt001_pre-nrseqc.    "#EC CI_NOFIRST

  loop at itab_zycbt067.

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

    if itab_zycbt067-vlme = 0.

       continue.

    else.

* << Fim da inclusão

    read table itab_zycbt002p with key

                                nrseqc = itab_zycbt067-nrseq_c

                                nrparc = itab_zycbt067-nrparc.

    at last.

      v_prim = 'L'.

    endat.

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

    perform cria_principal_original changing belnr budat v_prim.

* << Fim da exclusão

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

    perform cria_principal_original using    p_conta

                                    changing belnr budat v_prim.

* << Fim da inclusão

    if itab_zycbt002p-slvinc ne 0.

      itab_zycbt002p-slvinc = itab_zycbt067-vlme_c.

    else.

      itab_zycbt002p-slvinc =

               itab_zycbt002p-slvinc + itab_zycbt067-vlme.

    endif.

    clear itab_zycbt002p-belnr2.

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

    update /pws/zycbt002 set belnr2 = itab_zycbt032-belnr

* << Fim da exclusão

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

    update /pws/zycbt002 set belnr2  = itab_zycbt032-belnr

                             dtvincul = budat

* << Fim da inclusão

                       where nrseqc  = itab_zycbt002p-nrseqc and

                             nrparc  = itab_zycbt002p-nrparc and

                             tpparc  = 'P'.

    commit work.

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

   endif.

* << Fim da inclusão

  endloop.

endform.

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

form cria_principal_original changing p_belnr

* << Fim da exclusão

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

form cria_principal_original using    p_conta

                             changing p_belnr

* << Fim da inclusão

                                      p_budat

                                      p_first.

  data:

        v_cpochv  like /pws/zycbe033-cpochv,

        conta_acc like /pws/zycbt012-saknr1,

        conta_pre like /pws/zycbt012-saknr1,

        cod_rze   like /pws/zycbt011-agums,

        texto_acc like /pws/zycbt011-txtdesc,

        v_atrib   type c,

        texto_pre like /pws/zycbt011-txtdesc.

...

 

...

  itab_zycbe033-cpochv = v_cpochv.

  itab_zycbe033-tabela = 'ZYCBT002'.

  case /pws/zycbe001-fdtlanc.

    when 'O'.

      itab_zycbe033-budat = /pws/zycbe001-dtcontr.

    when 'D'.

      itab_zycbe033-budat = /pws/zycbe001-dtdesem.

    when 'C'.

      itab_zycbe033-budat = /pws/zycbe001-dtcred.

  endcase.

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

  itab_zycbe033-budat = p_budat.

* << Fim da inclusão

  perform verify_null_field using itab_zycbe033-budat

                                  'DTDESEM'

                                  text-023.

  if wa_zycbt007-fdtdoc   = 'D'.

    itab_zycbe033-bldat   = sy-datum.

    itab_zycbe033-d_valut = sy-datum.

  else.

    itab_zycbe033-bldat   = itab_zycbe033-budat.

    itab_zycbe033-d_valut = itab_zycbt002p-dtfinal.

  endif.

...

 

...

            itab_zycbe033-xblnr = /pws/zycbe001-nrseqc.

          when 'TPCONTR'.

            itab_zycbe033-xblnr = /pws/zycbe001-tpcontr.

        endcase.

      when 'ZUONR'.

        case itab_zycbt013-cpocb.

          when 'NRCONTR'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-nrcontr.

            itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.

          when 'NRSEQC'.

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

            if not wa_zycbt001_pre is initial.

              itab_zycbe033-c_zuonr = wa_zycbt001_pre-nrseqc.

              itab_zycbe033-d_zuonr = wa_zycbt001_pre-nrseqc.

            else.

* << Fim da inclusão

            itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.

            itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.

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

            endif.

* << Fim da inclusão

          when 'TPCONTR'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-tpcontr.

            itab_zycbe033-d_zuonr = /pws/zycbe001-tpcontr.

        endcase.

    endcase.

...

 

...

  itab_zycbe033-blart  = wa_zycbt011-blart.

  if /pws/zycbe001-tpcontr ne 'A'.

    itab_zycbe033-d_newko = conta_pre.

  else.

    itab_zycbe033-d_newko = conta_acc.

  endif.

  itab_zycbe033-newbs   = '50'.

  itab_zycbe033-agkoa   = 'S'.

  itab_zycbe033-belnr   = p_belnr.

  itab_zycbe033-dtdocto = p_budat.

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

    itab_zycbe033-agkon       = p_conta .

    itab_zycbe033-d_newko1    = p_conta .

* << Fim da inclusão

  if /pws/zycbe001-ftxt is initial.

    itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

    itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

    itab_zycbe033-augtx   = wa_zycbt011-txtdesc.

  else.

    itab_zycbe033-d_sgtxt = /pws/zycbe001-txtinf.

    itab_zycbe033-c_sgtxt = /pws/zycbe001-txtinf.

    itab_zycbe033-augtx   = /pws/zycbe001-txtinf.

  endif.

  itab_zycbe033-c_gsber = /pws/zycbe001-gsber.

  itab_zycbe033-d_gsber = /pws/zycbe001-gsber.

  itab_zycbe033-wrbtr   = /pws/zycbe001-vlme.

  itab_zycbe033-kursf = /pws/zycbe001-txcneg.

  perform verify_null_field using /pws/zycbe001-txcneg

                                  'TXCAMB'

                                  text-027.

  if p_first eq 'L'.

    itab_zycbe033-flag_nc = 'X'.

    p_first = 'X'.

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

  endif.

if /pws/zycbe001-tpcontr = 'PT'.

   itab_zycbe033-flag_nc = 'X'.

* << Fim da inclusão

  endif.

  itab_zycbe033-vbund   = /pws/zycbe001-vbund.

  append itab_zycbe033.

  itab_zycbt036-tcode   = 'F-30'.

  itab_zycbt036-tabela  = 'ZYCBT002'.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

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

  itab_zycbt036-residuo = itab_zycbt002p-vlme.

* << Fim da exclusão

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

  itab_zycbt036-residuo = itab_zycbt067-vlme.

* << Fim da inclusão

  append itab_zycbt036.

  v_atrib = 'X'.

  if wa_zycbt001_pre-tpcontr = 'PT'.

    concatenate wa_zycbt001_pre-nrseqc wa_zycbt001_pre-tpcontr

    into v_zuonr.

  else.

    v_zuonr = wa_zycbt001_pre-nrseqc.

  endif.

  loop at itab_zycbt034.

    message i016 with itab_zycbt034-descricao.

  endloop.

  if itab_zycbt034 is initial.

    call function '/PWS/ZYCB_TRANSACAO_F_30_P'

         exporting

              v_modo          = v_modo_bi

              filtra          = 'X'

              so_segundo      = p_first

              v_filt_atrib    = v_atrib

              v_zuonr1        = v_zuonr

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

                v_liq           = 'X'

* << Fim da inclusão

         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.

    if sy-subrc = 0.

...

 

...

        itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.

        itab_contabil-nrparpre = itab_zycbt002p-nrparc.

        itab_contabil-belnr    = itab_zycbt032-belnr.

        itab_contabil-msg      = text-249.

        append itab_contabil.

        itab_zycbt002p-belnr = itab_zycbt032-belnr .

        sy-subrc = 0.

      else.

        loop at itab_zycbt032 where tcode  = 'F-30'

                                and tabela = 'ZYCBT002'

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

                                and cpochv = v_cpochv

                                and tpmsg <> 'S'.

          clear itab_erro-belnr.

          itab_erro-msg   = itab_zycbt032-msg.

          append itab_erro.

* << Fim da exclusão

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

                                and cpochv = /pws/zycbe001-nrseqc.

          message i015 with itab_zycbt032-msg+0(50)

                           itab_zycbt032-msg+50(50).

* << Fim da inclusão

        endloop.

        sy-subrc = 4.

      endif.

    else.

      loop at itab_zycbt034.

        message i016 with itab_zycbt034-descricao.

      endloop.

      sy-subrc = 4.

    endif.

  else.

...

 

...

                itab_zycbt226-sld_exterior - itab_zycbt226-vlr_ord .

          modify itab_zycbt226 index v_tabix.

      update /pws/zycbt226 set sld_exterior = itab_zycbt226-sld_exterior

                      where nrseq  = itab_zycbt226-nrseq.

      commit work.

        endif.

       endif.

     endloop.

  endif.

endform.

* >> Início da inclusão:

form retorna_saldo_contrato changing p_belnr

                                     p_budat

                                     p_first.

  data: v_cpochv  like /pws/zycbe033-cpochv,

        conta_acc like /pws/zycbt012-saknr1,

        conta_pre like /pws/zycbt012-saknr1,

        cod_rze   like /pws/zycbt011-agums,

        texto_acc like /pws/zycbt011-txtdesc,

        texto_pre like /pws/zycbt011-txtdesc,

        v_dp.

  perform clear_date_batch.

  clear: itab_zycbt036.

  refresh itab_zycbt036.

  if /pws/zycbe001-tpcontr(1) = 'D'.

    v_desm_acc_dp = 'X'.

  endif.

loop at itab_zycbt001_liq.

  select * from /pws/zycbt002

     into table itab_zycbt002p

     where nrseqc  = itab_zycbt001_liq-nrseqc

      and  tpcontr = itab_zycbt001_liq-tpcontr

      and  tpparc  = 'P'.

  perform pega_contas changing conta_acc texto_acc

                               conta_pre texto_pre

                               cod_rze.

  clear v_desm_acc_dp.

  itab_zycbe033-tcode  = 'F-30'.

  v_cpochv             = itab_zycbt001_liq-nrseqc.

  itab_zycbe033-cpochv = v_cpochv.

  itab_zycbe033-tabela = 'ZYCBT001'.

  if itab_zycbt001_liq-dtvincul is initial.

    case itab_zycbt001_liq-fdtlanc.

      when 'O'.

        itab_zycbe033-budat = itab_zycbt001_liq-dtcontr.

      when 'D'.

        itab_zycbe033-budat = itab_zycbt001_liq-dtdesem.

      when 'C'.

        itab_zycbe033-budat = itab_zycbt001_liq-dtcred.

    endcase.

  else.

    itab_zycbe033-budat = itab_zycbt001_liq-dtvincul.

  endif.

  perform verify_null_field using itab_zycbe033-budat

                                  'DTDESEM'

                                  text-023.

  if wa_zycbt007-fdtdoc   = 'D'.

    itab_zycbe033-bldat   = sy-datum.

    itab_zycbe033-d_valut = sy-datum.

  else.

    itab_zycbe033-bldat   = itab_zycbe033-budat.

    itab_zycbe033-d_valut = itab_zycbt001_liq-dtliquid.

  endif.

  itab_zycbe033-zfbdt = itab_zycbt001_liq-dtliquid.

  loop at itab_zycbt013.

    case itab_zycbt013-cpor3.

      when 'XBLNR'.

        case itab_zycbt013-cpocb.

          when 'NRCONTR'.

            itab_zycbe033-xblnr = itab_zycbt001_liq-nrcontr.

          when 'NRSEQC'.

            itab_zycbe033-xblnr = itab_zycbt001_liq-nrseqc.

          when 'TPCONTR'.

            itab_zycbe033-xblnr = itab_zycbt001_liq-tpcontr.

        endcase.

      when 'ZUONR'.

        case itab_zycbt013-cpocb.

          when 'NRCONTR'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-nrcontr.

            itab_zycbe033-d_zuonr = itab_zycbt001_liq-nrcontr.

          when 'NRSEQC'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.

            itab_zycbe033-d_zuonr = itab_zycbt001_liq-nrseqc.

          when 'TPCONTR'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-tpcontr.

            itab_zycbe033-d_zuonr = itab_zycbt001_liq-tpcontr.

        endcase.

    endcase.

  endloop.

  if not itab_zycbe033-d_zuonr is initial.

    if itab_zycbt001_liq-tpcontr(1) = 'P'.

      concatenate itab_zycbt001_liq-nrseqc  itab_zycbt001_liq-tpcontr

      into itab_zycbe033-d_zuonr.

    endif.

  endif.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  perform verify_null_field using itab_zycbt001_liq-bukrs

                                  'BUKRS'

                                  text-018.

  itab_zycbe033-bukrs  = itab_zycbt001_liq-bukrs.

  perform verify_null_field using itab_zycbt001_liq-waers

                                  'WAERS'

                                  text-019.

  itab_zycbe033-waers  = itab_zycbt001_liq-waers.

  perform verify_null_field using wa_zycbt011-blart

                                  'BLART'

                                  text-020.

  itab_zycbe033-blart  = wa_zycbt011-blart.

  itab_zycbe033-d_newko  = conta_acc.

  itab_zycbe033-newbs    = '50'.

  itab_zycbe033-agkoa    = 'S'.

  itab_zycbe033-d_newko1 = conta_pre.

  if /pws/zycbe001-tpcontr(01) = 'D'.

    v_dp = 'X'.

    itab_zycbe033-agums = wa_zycbt011-agums.

  endif.

  itab_zycbe033-belnr   = p_belnr.

  itab_zycbe033-dtdocto = p_budat.

  if itab_zycbt001_liq-ftxt is initial.

    itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

    itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

    itab_zycbe033-augtx   = wa_zycbt011-txtdesc.

  else.

    itab_zycbe033-d_sgtxt = itab_zycbt001_liq-txtinf.

    itab_zycbe033-c_sgtxt = itab_zycbt001_liq-txtinf.

    itab_zycbe033-augtx   = itab_zycbt001_liq-txtinf.

  endif.

  itab_zycbe033-c_gsber = itab_zycbt001_liq-gsber.

  itab_zycbe033-d_gsber = itab_zycbt001_liq-gsber.

  itab_zycbe033-wrbtr   = itab_zycbt061-vlalt.

  itab_zycbe033-kursf = itab_zycbt001_liq-txcneg.

  perform verify_null_field using itab_zycbt001_liq-txcneg

                                  'TXCAMB'

                                  text-027.

  if p_first eq 'L'.

    itab_zycbe033-flag_nc = 'X'.

  endif.

if /pws/zycbe001-tpcontr = 'PT'.

   itab_zycbe033-flag_nc = 'X'.

endif.

  itab_zycbe033-vbund   = itab_zycbt001_liq-vbund.

  read table itab_zyglt100 with key zexit = 'CPT006' binary search.

  if sy-subrc eq 0.

    if not itab_zyglt100-zexit_ativa is initial.

      perform (itab_zyglt100-formulario)

              in program (itab_zyglt100-programa)

              using      okcode

              changing   e_subrc.

      if e_subrc ne 0.

        exit.

      endif.

    endif.

  endif.

  append itab_zycbe033.

  clear p_first.

  itab_zycbt036-tcode   = 'F-30'.

  itab_zycbt036-tabela  = 'ZYCBT001'.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

  itab_zycbt036-residuo = itab_zycbt061-vlalt.

  append itab_zycbt036.

endloop.

  loop at itab_zycbt034.

    message i016 with itab_zycbt034-descricao.

  endloop.

  if itab_zycbt034[] is initial.

    call function '/PWS/ZYCB_TRANSACAO_F_30_P'

         exporting

              v_modo          = v_modo_bi

              filtra          = 'X'

              v_acc_pre_dp    = v_dp

         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.

    if sy-subrc = 0.

      read table itab_zycbt032 with key tcode  = 'F-30'

                                        tabela = 'ZYCBT001'

                                        cpochv = v_cpochv

                                        tpmsg  = 'S'.

      if sy-subrc eq 0.

        p_belnr                = itab_zycbt032-belnr.

        p_budat                = itab_zycbe033-budat.

        itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.

        itab_contabil-nrparpre = space.

        itab_contabil-nrseqacc = wa_zycbt001_pre-nrseqc.

        itab_contabil-belnr    = itab_zycbt032-belnr.

        itab_contabil-msg      = text-389.

        append itab_contabil.

        perform clearing using conta_acc texto_acc p_belnr p_budat.

        itab_zycbt061-belnr2 = space.

        sy-subrc = 0.

      else.

        loop at itab_zycbt032 where tcode  = 'F-30'

                                and tabela = 'ZYCBT001'

                                and cpochv = v_cpochv

                                and tpmsg <> 'S'.

          clear itab_erro-belnr.

          itab_erro-msg   = itab_zycbt032-msg.

          append itab_erro.

        endloop.

        sy-subrc = 4.

      endif.

    else.

      loop at itab_zycbt034.

        message i016 with itab_zycbt034-descricao.

      endloop.

      sy-subrc = 4.

    endif.

  else.

    sy-subrc = 4.

  endif.

endform.

form pega_contas changing conta_acc texto_acc

                                  conta_pre texto_pre

                                  cod_rze.

  data:v_codeven like /pws/zycbt011-codeven,

        v_codaux  like /pws/zyglt316-codaux1.

  clear: conta_acc, conta_pre, texto_acc, texto_pre.

  clear wa_zycbt007.

  select single * from /pws/zycbt007

                  into wa_zycbt007

                  where bukrs eq wa_zycbt001_pre-bukrs.

  refresh itab_zycbt013.

  select * from /pws/zycbt013

           into table itab_zycbt013

           where tabela = 'ZYCBT001'.

  if not itab_zycbt001_liq[] is initial.

    concatenate '001' itab_zycbt001_liq-tpcontr into v_codeven.

    clear wa_zycbt011.

    select single * from /pws/zycbt011

                    into wa_zycbt011

                    where codeven = v_codeven

                    and codmod  = 'E'.

    texto_acc = wa_zycbt011-txtdesc.

    cod_rze =   wa_zycbt011-agums.

    if /pws/zycbt001-tpcontr(1) = 'D' and v_desm_acc_dp is initial

       and itab_zycbt001_liq-slvinc > 0.

      conta_acc = /pws/zycbe001-kunnr.

    else.

      concatenate itab_zycbt001_liq-tpcontr

                  itab_zycbt001_liq-przcontr

                  into v_codaux

                  separated by space.

      call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           exporting

                bukrs           = itab_zycbt001_liq-bukrs

                ktosl           = 'CPT'

                codaux1         = v_codaux

           tables

                account         = itab_zyglt316

           exceptions

                key_not_found   = 1

                rules_not_found = 2

                others          = 3.

      if sy-subrc eq 0.

        read table itab_zyglt316 index 1.

        conta_acc = itab_zyglt316-konth.

      endif.

    endif.

  endif.

  concatenate '001' /pws/zycbe001-tpcontr into v_codeven.

  clear wa_zycbt011.

  select single * from /pws/zycbt011

                  into wa_zycbt011

                  where codeven = v_codeven

                  and codmod  = 'E'.

  texto_pre = wa_zycbt011-txtdesc.

  cod_rze   = wa_zycbt011-agums.

  if /pws/zycbt001-tpcontr(1) ca 'PSE'.

      concatenate itab_zycbt002p-tpcontr

                  itab_zycbt002p-przcontr

                  into v_codaux

                  separated by space.

  else.

    concatenate /pws/zycbe001-tpcontr

                /pws/zycbe001-przcontr

                into v_codaux

                separated by space.

  endif.

  if /pws/zycbt001-tpcontr(1) = 'D'.

    conta_pre = /pws/zycbe001-kunnr.

  else.

    refresh itab_zyglt316.

    call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

         exporting

              bukrs           = /pws/zycbe001-bukrs

              ktosl           = 'CPT'

              codaux1         = v_codaux

         tables

              account         = itab_zyglt316

         exceptions

              key_not_found   = 1

              rules_not_found = 2

              others          = 3.

    if sy-subrc eq 0.

      read table itab_zyglt316 index 1.

      conta_pre = itab_zyglt316-konth.

    endif.

  endif.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB001I01

 

...

      endif.

      clear v_pagto.

      perform clear_date_batch.

      clear /pws/zycbe004.

    when 'AEND'.

      if v_status_s200 = '0'.

        authority-check object 'S_TCODE'

                        id     'TCD'

                        field  c_transacao_a.

        if sy-subrc = 0.

* >> Início da inclusão: MODULE USER_COMMAND_0200

          select single * from /pws/zycbt031

                 where nrcorresp eq /pws/zycbe004-nrseqc

                   and tpdesp    eq /pws/zycbe004-tpdesp

                   and nrparc    eq /pws/zycbe004-nrparc

                   and dtincl    eq /pws/zycbe004-dtincl

                   and dtliquid  eq /pws/zycbe004-dtliquid

                   and tpjuros   eq /pws/zycbe004-tpjuros

                   and mdcorresp eq 'ED'.

          if sy-subrc ne 0.

            select single * from /pws/zycbt064

                   where nrchave   eq /pws/zycbe004-nrseqc

                     and tpdesp    eq /pws/zycbe004-tpdesp

                     and nrparc    eq /pws/zycbe004-nrparc

                     and dtincl    eq /pws/zycbe004-dtincl

                     and dtliquid  eq /pws/zycbe004-dtliquid

                     and tpjuros   eq /pws/zycbe004-tpjuros

                     and mdcorresp eq 'ED'.

            if sy-subrc = 0.

              message i061 with text-515.

              v_status_s200 = '0'.

            else.

* << Fim da inclusão

          v_status_s200 = '1'.

* >> Início da inclusão: MODULE USER_COMMAND_0200

            endif.

          else.

            v_status_s200 = '0'.

            message i061 with text-515.

          endif.

* << Fim da inclusão

        else.

          message i120 with text-185.

...

 

...

    if sy-subrc ne 0.

      select single * from /pws/zycbt064

             where nrchave   eq /pws/zycbe004-nrseqc

               and tpdesp    eq /pws/zycbe004-tpdesp

               and nrparc    eq /pws/zycbe004-nrparc

               and dtincl    eq /pws/zycbe004-dtincl

               and dtliquid  eq /pws/zycbe004-dtliquid

               and tpjuros   eq /pws/zycbe004-tpjuros

               and mdcorresp eq 'ED'.

      if sy-subrc = 0.

* >> Início da inclusão: MODULE SELECT_ZYCBE004

        message i061 with text-515.

* << Fim da inclusão

        v_status_s200 = '0'.

      else.

        v_status_s200 = '1'.

      endif.

    else.

      v_status_s200 = '0'.

* >> Início da inclusão: MODULE SELECT_ZYCBE004

      message i061 with text-515.

* << Fim da inclusão

    endif.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001O01

 

...

      move-corresponding itab_zycbt003 to /pws/zycbe003.

    when '0104'.

      check not itab_zycbt002p[] is initial.

      move-corresponding itab_zycbt002p to /pws/zycbe002p.

      write /pws/zycbe002p-slvinc currency /pws/zycbe002p-waers.

      write /pws/zycbe002p-vlme currency /pws/zycbe002p-waers.

      if not itab_zycbt002p_ant[] is initial.

        read table itab_zycbt002p_ant with key

              nrparc = itab_zycbt002p-nrparc.

        if sy-subrc eq '0'.

* >> Início da exclusão: MODULE INSERT_LINE

          if itab_zycbt002p_ant-vlme ne itab_zycbt002p_ant-slvinc.

* << Fim da exclusão

* >> Início da inclusão: MODULE INSERT_LINE

          if itab_zycbt002p_ant-vlme ne itab_zycbt002p_ant-slvinc

             and itab_zycbt002p_ant-slvinc is initial.

* << Fim da inclusão

            loop at screen.

              screen-input = '0'.

              modify screen.

            endloop.

          endif.

        endif.

      else.

      endif.

    when '0105'.

      move-corresponding itab_zycbt002 to /pws/zycbe002.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001TOP

 

...

  v_txtemp(50)       type c,

  v_tp_pagt_dp(1)    type c,

  mrof(1)            type c,

  v_bcocred(10)      type c,

  v_codaux           like /pws/zyglt316-codaux1,

  v_calcula(1)       type c,

  v_cpochv           like /pws/zycbe033-cpochv,

  v_date_est          like t009b-bdatj,

  v_novo,

  v_contac            like /pws/zycbt012-saknr1,

* >> Início da inclusão:

  v_prz               like /pws/zycbt002-przcontr,

  v_atrib             type c,

  v_contbelnr         type c,

  v_contconta         type c,

  v_belnr_aberto      like bkpf-belnr,

  v_contacontab       like /pws/zycbt012-saknr1,

* << Fim da inclusão

  v_belnr_pt          like /pws/zycbt001-belnr,

  estorno_ok(1),

  v_fcode             like sy-ucomm,

  v_mostra_ov         type i,

  v_pagador           type i,

  v_tipo              type i,

  v_moeda             type i,

  v_ordem             type vbpa-vbeln,

  v_reg_usado(1)      type c,

  v_erro_ov,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001X01

 

...

data: begin of itab_zycbt002p occurs 10.

        include structure /pws/zycbt002.

data mark(1).

data v_flag(1) type c.

data: escalonado(1).

data: icon_esc like icon-id.

data: end of itab_zycbt002p.

data: itab_zycbt002p_aux like itab_zycbt002p occurs 0 with header line.

data: itab_zycbt004  like /pws/zycbt004 occurs 10 with header line,

      itab_zycbt001  like /pws/zycbt001.

* >> Início da inclusão:

data: itab_zycbt001_liq  like /pws/zycbt001 occurs 0 with header line.

* << Fim da inclusão

data: begin of itab_zycbt136 occurs 0.

        include structure /pws/zycbe136.

data:   alterado(1).

data: end of itab_zycbt136.

data: begin of itab_zycbt204 occurs 10.

        include structure /pws/zycbt204.

data: end of itab_zycbt204.

data: begin of itab_zycbt091 occurs 2.

        include structure /pws/zycbt091.

data: marc(1).

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB014F01

 

...

                tpparc = 'P'.

        clear: v_vlalt,

               v_slvinc.

        v_vlalt = itab_zycbt061-vlalt .

        loop at itab_zycbt002 .

          if v_vlalt > itab_zycbt002-slvinc.

            v_slvinc = itab_zycbt002-slvinc.

            v_vlalt  = v_vlalt - itab_zycbt002-slvinc.

            itab_zycbt002-slvinc = itab_zycbt002-slvinc - v_slvinc.

             v_tot = v_slvinc .

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

         elseif v_vlalt = itab_zycbt002-slvinc.

            v_slvinc = itab_zycbt002-slvinc.

            v_vlalt  = v_vlalt - itab_zycbt002-slvinc.

            itab_zycbt002-slvinc = itab_zycbt002-slvinc - v_slvinc.

             v_tot = v_slvinc .

* << Fim da inclusão

          else.

            if v_tot ne itab_zycbt061-vlalt .

              v_slvinc1   = itab_zycbt002-slvinc - v_vlalt.

              itab_zycbt002-slvinc  = v_vlalt.

              v_slvinc = v_slvinc1.

              v_tot = v_tot + v_vlalt.

            else.

               v_tot = v_tot + 1.

            endif.

          endif.

...

 

...

          endif.

          if v_tot <= itab_zycbt061-vlalt .

          /pws/zycbt067-nrseq    = /pws/zycbe060-nrseq.

          /pws/zycbt067-nrseq_c  = itab_zycbt061-nrseq_c.

          /pws/zycbt067-nrparc   = itab_zycbt002-nrparc.

          /pws/zycbt067-tpcontr  = itab_zycbt002-tpcontr.

          /pws/zycbt067-vlme     = v_slvinc.

          /pws/zycbt067-vlme_c   = itab_zycbt002-vlme .

          /pws/zycbt067-belnr_c  = itab_zycbt002-belnr.

          modify /pws/zycbt067.

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

          update /pws/zycbt002 set slvinc = v_slvinc1

* << Fim da exclusão

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

          update /pws/zycbt002 set slvinc = itab_zycbt002-slvinc

* << Fim da inclusão

                           where nrseqc = itab_zycbt061-nrseq_c

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

                           and   nrparc = itab_zycbt002-nrparc.

* << Fim da exclusão

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

                           and   nrparc = itab_zycbt002-nrparc

                           and   tpparc = itab_zycbt002-tpparc.

* << Fim da inclusão

          commit work.

         endif.

...

 

...

    modify /pws/zycbt001.

    commit work.

    endif.

    endloop.

  endif.

  refresh itab_aux2_zycbt061.

  clear itab_aux2_zycbt061.

  move itab_zycbt061[] to itab_aux2_zycbt061[].

  if sy-tcode <> '/PWS/ZYCB014_E'.

    perform criar_juros.

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

  endif.

  if sy-tcode eq '/PWS/ZYCB014_A'.

     clear   itab_zycbt062_aux.

     refresh itab_zycbt062_aux.

     select single * from /pws/zycbt062

      where nrseq  = /pws/zycbe060-nrseq.

     if sy-subrc eq 0.

        select *

             from /pws/zycbt062

             into table itab_zycbt062_aux

             for all entries in itab_zycbt061

             where nrseq    = itab_zycbt061-nrseq

             and   nrseq_c  = itab_zycbt061-nrseq_c.

        v_altera = 'N'.

        loop at itab_zycbt062_aux.

           if itab_zycbt062_aux-dtvencto ne /pws/zycbe060-dtdesemb.

              v_altera = 'S'.

           endif.

        endloop.

        loop at itab_zycbt061.

           read table itab_zycbt062_aux with key

                             nrseq   = itab_zycbt061-nrseq

                             nrseq_c = itab_zycbt061-nrseq_c.

           if sy-subrc ne 0 or

              itab_zycbt062_aux-vlme <> itab_zycbt061-vlcalc.

              v_altera = 'S'.

           endif.

        endloop.

        if v_altera = 'S'.

           perform salva_juros.

* << Fim da inclusão

  endif.

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

     endif.

  endif.

* << Fim da inclusão

  if sy-tcode = '/PWS/ZYCB014_C' and v_troca = 'S'.

    message i271 with /pws/zycbe060-nrseq.                  "#EC *

  endif.

  if sy-tcode = '/PWS/ZYCB014_C'.

    message i205.                                           "#EC *

...

 

...

      itab_pf_status-fcode = 'JUROS'.

      append itab_pf_status.

      set pf-status '0100_A' excluding itab_pf_status.

    else.

      set pf-status '0100_A'.

    endif.

  elseif sy-tcode = '/PWS/ZYCB014_E'.

    read table itab_zycbt061 index sy-tabix.

    if itab_zycbt061-tpcontr_c(1) ca 'PS'.

      itab_pf_status-fcode = 'JUROS'.

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

      itab_pf_status-fcode = 'EXCL'.

      itab_pf_status-fcode = 'ERAS'.

* << Fim da inclusão

      append itab_pf_status.

      set pf-status '0100_A' excluding itab_pf_status.

    else.

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

      set pf-status '0100_A'.

* << Fim da exclusão

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

      itab_pf_status-fcode = 'EXCL'.

      itab_pf_status-fcode = 'ERAS'.

      append itab_pf_status.

      set pf-status '0100_A' excluding itab_pf_status.

* << Fim da inclusão

    endif.

  endif.

  loop at tc_itens-cols into wa_cols.

    wa_cols-screen-input = '0'.

    modify tc_itens-cols from wa_cols.

  endloop.

endform.

form alterar_excluir.

  read table itab_zycbt061 index sy-tabix.

  if itab_zycbt061-tpcontr_c(1) ca 'PS'.

...

 

...

                where nrseq = wa_zycbt001-nrseqc.

          perform monta_log_cfm using    wa_zycbt061_log

                                        '/PWS/ZYCBT061'

                                changing wa_log.

          perform grava_log using '/PWS/ZYCBT061'

                                  wa_log

                                  'E'.

        endselect.

      endif.

      delete from /pws/zycbt061

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

         where nrseq_c = itab_aux_zycbt061-nrseq_c.     "#EC CI_NOFIRST

* << Fim da exclusão

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

       where nrseq    =  itab_aux_zycbt061-nrseq

         and nrseq_c  =  itab_aux_zycbt061-nrseq_c.

      select single * from /pws/zycbt062

       where nrseq    =  itab_aux_zycbt061-nrseq

         and nrseq_c  =  itab_aux_zycbt061-nrseq_c.

      delete from /pws/zycbt004

       where nrseqc  =  itab_aux_zycbt061-nrseq_c

         and tpdesp  = 'JL'

         and nrparc  =  /pws/zycbt062-nrparc.

      delete from /pws/zycbt062

       where nrseq    =  itab_aux_zycbt061-nrseq

         and nrseq_c  =  itab_aux_zycbt061-nrseq_c.

* << Fim da inclusão

     if v_ok is initial.

      v_valor = /pws/zycbt001-slvinc + itab_aux_zycbt061-vlalt.

      update /pws/zycbt001 set slvinc  = v_valor

                    where nrseqc  = itab_aux_zycbt061-nrseq.

     endif.

    endif.

  endloop.

endform.

form calculos_itab_zycbt061.

  data: v_calc1     type f value 0,                         "#EC *

...

 

...

        else.

          v_nrdias = /pws/zycbe060-dtdesemb - <fs_zycbt002>-dtinicio.

        endif.

       <fs_zycbt062>-vlmej = <fs_zycbt062>-vlmej + <fs_zycbt062>-vlme *

                  <fs_zycbt002>-txjtotal / 100 / <fs_zycbt010>-nrdias *

                            v_nrdias.

        unassign <fs_zycbt010>.

        if v_nrdias_juros > v_nrdias_desemb.

          exit.

        endif.

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

      endloop.

      loop at itab_zycbt002 assigning <fs_zycbt002>

         where nrseqc = <fs_zycbt062>-nrseq_c.

* << Fim da inclusão

      endloop.

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

      describe table itab_zycbt002 lines v_lin.

      read table itab_zycbt002 assigning <fs_zycbt002> index v_lin.

* << Fim da exclusão

      if sy-subrc eq 0.

        <fs_zycbt062>-txjfixa  = <fs_zycbt002>-txjfixa.

        <fs_zycbt062>-txjvar   = <fs_zycbt002>-txjvar.

        <fs_zycbt062>-txjtotal = <fs_zycbt002>-txjtotal.

        <fs_zycbt062>-tptxjur  = <fs_zycbt002>-tptxjur.

...

 

...

          from /pws/zycbt002 into table itab_zycbt002

          where nrseqc = itab_zycbt061-nrseq_c and

                tpparc = 'P'.

        select *

          from /pws/zycbt067 into table itab_zycbt067

          for all entries in itab_zycbt002

           where nrseq_c = itab_zycbt002-nrseqc."#EC CI_NOFIRST

        loop at itab_zycbt002.

        check not itab_zycbt067[] is initial.

          read table itab_zycbt067 with key

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

                                 nrseq_c = itab_zycbt002-nrseqc.

         v_vlme = itab_zycbt002-vlme - itab_zycbt067-vlme.

* << Fim da exclusão

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

                                 nrseq_c = itab_zycbt002-nrseqc

                                 nrparc = itab_zycbt002-nrparc.

         v_vlme =  itab_zycbt067-vlme.

* << Fim da inclusão

         if v_vlme eq 0.

         itab_zycbt002-slvinc =

                       itab_zycbt002-slvinc + itab_zycbt067-vlme.

          else.

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

          if itab_zycbt067-vlme ne 0.

             itab_zycbt002-slvinc = itab_zycbt067-vlme.

          else.

* << Fim da inclusão

         itab_zycbt002-slvinc =

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

                       itab_zycbt002-slvinc + v_vlme.

* << Fim da exclusão

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

                                   v_vlme.

          endif.

* << Fim da inclusão

          endif.

          delete itab_zycbt067 index sy-tabix.

         delete from /pws/zycbt067 where

                          nrseq_c = itab_zycbt002-nrseqc

                     and  nrparc  = itab_zycbt002-nrparc."#EC CI_NOFIRST

          update /pws/zycbt002 set slvinc = itab_zycbt002-slvinc

                               where nrseqc = itab_zycbt002-nrseqc

                               and   nrparc = itab_zycbt002-nrparc.

          commit work.

        endloop.

...

 

...

form alterar_juros.

  clear   itab_zycbt062.

  refresh itab_zycbt062.

  clear   itab_zycbt061.

  select *

         from /pws/zycbt062

         into table itab_zycbt062

         for all entries in itab_zycbt061

         where nrseq    = itab_zycbt061-nrseq

         and   nrseq_c  = itab_zycbt061-nrseq_c.

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

  if itab_zycbt062[] is initial.

* << Fim da exclusão

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

  v_altera = 'N'.

  loop at itab_zycbt062.

      if itab_zycbt062-dtvencto ne /pws/zycbe060-dtdesemb.

         v_altera = 'S'.

      endif.

  endloop.

  loop at itab_zycbt061.

      read table itab_zycbt062 with key nrseq   = itab_zycbt061-nrseq

                                        nrseq_c = itab_zycbt061-nrseq_c.

      if sy-subrc ne 0 or itab_zycbt062-vlme <> itab_zycbt061-vlcalc.

         v_altera = 'S'.

      endif.

  endloop.

  if itab_zycbt062[] is initial or v_altera = 'S'.

* << Fim da inclusão

    perform criar_juros.

    call screen '0200'.

  else.

    call screen '0200'.

  endif.

endform.

form criar_juros.

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

  select single * from /pws/zycbt062

   where nrseq = /pws/zycbe060-nrseq.

  if sy-subrc eq 0.

     /pws/zycbe062-frpagto = /pws/zycbt062-frpagto.

  endif.

* << Fim da inclusão

  refresh itab_zycbt062.

  clear   itab_zycbt062.

  loop at itab_zycbt061.

    move:  itab_zycbt061-nrseq_c    to itab_zycbt062-nrseq_c,

           itab_zycbt061-nrseq      to itab_zycbt062-nrseq,

           /pws/zycbe060-nrcontr    to itab_zycbt062-nrcontr,

           itab_zycbt061-dtliquid_c to itab_zycbt062-dtfinal,

           /pws/zycbe060-dtdesemb   to itab_zycbt062-dtvencto,

           itab_zycbt061-vlalt      to itab_zycbt062-vlme,

           itab_zycbt061-waers_c    to itab_zycbt062-waers,

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

           /pws/zycbe060-dtdesemb        to itab_zycbt062-dtincl.

* << Fim da exclusão

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

           /pws/zycbe060-dtdesemb        to itab_zycbt062-dtincl,

           /pws/zycbe062-frpagto    to itab_zycbt062-frpagto.

* << Fim da inclusão

    select single * from /pws/zycbt001

        where nrseqc = itab_zycbt061-nrseq_c.

    case /pws/zycbt001-fdtjuros.

      when 'D'.

        move /pws/zycbt001-dtdesem to itab_zycbt062-dtinicio.

      when 'O'.

        move /pws/zycbt001-dtcontr to  itab_zycbt062-dtinicio.

      when others.

        move /pws/zycbt001-dtcred to itab_zycbt062-dtinicio.

    endcase.

    modify itab_zycbt062 index sy-tabix.

    if sy-subrc <> 0.

      append itab_zycbt062.

    endif.

  endloop.

  perform calculos_itab_zycbt062.

endform.

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

form grava_zycbt004 using value(data_ant).

* << Fim da exclusão

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

form grava_zycbt004 using value(data_ant)

                                parc_ant.

* << Fim da inclusão

  data: wa_zycbt001_aux like /pws/zycbt001.

  if not data_ant is initial.

    delete from /pws/zycbt004

      where nrseqc   eq  itab_zycbt062-nrseq_c and

            tpdesp   eq 'J'                    and

            dtincl   eq data_ant               and

          ( dtliquid eq 0                      or

            dtliquid eq '        '             or

            dtliquid eq '00000000'    )        and

          ( nrparc   eq 0                      or

            nrparc   eq '   '                  or

            nrparc   eq '000'         ).

  endif.

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

  delete from /pws/zycbt004

   where nrseqc   eq  itab_zycbt062-nrseq_c and

         tpdesp   eq  'JL'                  and

         nrparc   eq  parc_ant.

* << Fim da inclusão

  clear /pws/zycbt004.

  select single *

         from /pws/zycbt001

         into wa_zycbt001_aux

         where nrseqc = itab_zycbt062-nrseq_c.

  select *

    from /pws/zycbt004

    into /pws/zycbt004

   where nrseqc = itab_zycbt062-nrseq_c

     and tpdesp = 'JL'

...

 

...

  endselect.

  if sy-subrc = 0.

    if /pws/zycbt004-nrparc is initial.

      /pws/zycbt004-nrparc = '001'.

    else.

      /pws/zycbt004-nrparc = /pws/zycbt004-nrparc + 1 .

    endif .

  else.

    /pws/zycbt004-nrparc = '001'.

  endif.

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

  itab_zycbt062-nrparc = /pws/zycbt004-nrparc.

  modify itab_zycbt062.

* << Fim da inclusão

  move: itab_zycbt062-nrseq_c      to /pws/zycbt004-nrseqc,

        'JL'                       to /pws/zycbt004-tpdesp,

        itab_zycbt062-dtincl       to /pws/zycbt004-dtincl,

        wa_zycbt001_aux-nrcontr    to /pws/zycbt004-nrcontr,

        wa_zycbt001_aux-tpcontr    to /pws/zycbt004-tpcontr,

        wa_zycbt001_aux-bconegoc   to /pws/zycbt004-bconegoc,

        wa_zycbt001_aux-bcofinan   to /pws/zycbt004-bcofinan,

        wa_zycbt001_aux-bukrs      to /pws/zycbt004-bukrs,

        wa_zycbt001_aux-j_1bbranch to /pws/zycbt004-j_1bbranch,

        wa_zycbt001_aux-werks      to /pws/zycbt004-werks,

...

 

...

             ( not itab_period-txt_long  is initial ).

            v_sair_fadc = 'N'.

          endif.

        endloop.

      endif.

    endif.

  enddo.

endform.

form salva_juros.

  data: v_salvou(1),

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

        v_data_ant like sy-datum.

* << Fim da exclusão

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

        v_data_ant like sy-datum,

        v_parc_ant like /pws/zycbt062-nrparc.

* << Fim da inclusão

  clear v_salvou.

  loop at itab_zycbt062.

    select *

           from /pws/zycbt004

           up to 1 rows

           where nrseqc = itab_zycbt062-nrseq_c and

                 tpdesp = 'J'                   and

                 nrparc = 0                     and

                 dtincl = itab_zycbt062-dtincl.

    endselect.

    if sy-subrc eq 0.

      if not /pws/zycbt004-dtpagto is initial.

        continue.

      endif.

    endif.

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

    clear v_data_ant.

    select single dtincl

* << Fim da exclusão

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

    clear: v_data_ant,

           v_parc_ant.

    select single dtincl nrparc

* << Fim da inclusão

           from /pws/zycbt062

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

           into (v_data_ant)

           where nrseq   eq itab_zycbt062-nrseq and

                 nrseq_c eq itab_zycbt062-nrseq_c.

* << Fim da exclusão

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

           into (v_data_ant, v_parc_ant)

           where nrseq   = itab_zycbt062-nrseq and

                 nrseq_c = itab_zycbt062-nrseq_c.

    select single * from /pws/zycbt061

     where nrseq   = itab_zycbt062-nrseq and

           nrseq_c = itab_zycbt062-nrseq_c.

    if sy-subrc eq 0.

       perform grava_zycbt004 using v_data_ant v_parc_ant.

* << Fim da inclusão

    perform grava_zycbt062.

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

    perform grava_zycbt004 using v_data_ant.

* << Fim da exclusão

    v_salvou = 'X'.

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

    endif.

* << Fim da inclusão

  endloop.

  if sy-subrc eq 0.

...

 

...

                            changing wa_log.

      perform grava_log using '/PWS/ZYCBT004'

                              wa_log

                              'E'.

    endif.

    delete from /pws/zycbt004

           where nrseqc eq wa_zycbt062_juros-nrseq_c and

                 tpdesp eq 'J'                       and

                 nrparc eq 0                         and

                 dtincl eq wa_zycbt062_juros-dtincl.

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

    delete from /pws/zycbt004

           where nrseqc eq wa_zycbt062_juros-nrseq_c and

                 tpdesp eq 'JL'                      and

                 nrparc eq wa_zycbt062_juros-nrparc.

* << Fim da inclusão

  endif.

endform.

form verifica_alteracao changing v_alterou.

  data: wa_zycbt061_aux1 like /pws/zycbt061,

        wa_zycbt061_aux2 like /pws/zycbt061.

  loop at itab_zycbt061.

    itab_zycbt061-mark = ''.

    modify itab_zycbt061.

  endloop.

  clear itab_zycbt061.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB014O01

 

...

MODULE status_0200 OUTPUT.

  FREE itab_pf_status.

  IF v_mens = 'YES' AND  v_juros = 'NO'.

    SET PF-STATUS '0200_A' EXCLUDING itab_pf_status.

    PERFORM exibi_juros.

  ELSE.

    SET PF-STATUS '0200_A' EXCLUDING itab_pf_status.

    PERFORM alterar_incluir_juros.

  ENDIF.

  IF sy-tcode = '/PWS/ZYCB014_E' AND sy-dynnr = '0200' OR

* >> Início da exclusão: MODULE STATUS_0200

      v_existe = 'YES' AND v_juros = 'NO'.

* << Fim da exclusão

* >> Início da inclusão: MODULE STATUS_0200

      v_existe = 'YES' and v_juros = 'NO' or

      not v_belnr is initial.

* << Fim da inclusão

    SET PF-STATUS '0200_E' EXCLUDING itab_pf_status.

    PERFORM exibi_juros.

  ENDIF.

  SET TITLEBAR '200'.

ENDMODULE.

MODULE move_itab_zycbt062 OUTPUT.

  READ TABLE itab_zycbt061 WITH KEY nrseq_c =

 itab_zycbt062-nrseq_c.

  IF sy-subrc EQ 0.

    v_nrcontr_j = itab_zycbt061-nrcontr_c.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB014TOP

 

...

data: v_ok    type c,

      v_vlme  like /pws/zycbt002-vlme.

data: v_belnr        like /pws/zycbt001-belnr.

data: wa_log            type char4000,

      wa_zycbt001_log   like /pws/zycbt001,

      wa_zycbt002_log   like /pws/zycbt002,

      wa_zycbt004_log   like /pws/zycbt004,

      wa_zycbt060_log   like /pws/zycbt060,

      wa_zycbt061_log   like /pws/zycbt061,

      wa_zycbt062_log   like /pws/zycbt062.

* >> Início da inclusão:

data: begin of itab_zycbt062_aux occurs 0.

        include structure /pws/zycbt062.

data: end of itab_zycbt062_aux.

data: v_altera(1)    type c.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/ZYGLR002

 

...

    bconegoc  like /pws/zycbt004-bconegoc,

    bukrs     like /pws/zycbt004-bukrs,

    benefic   like /pws/zycbt004-benefic,

    frpagto   like /pws/zycbt004-frpagto,

    waers     like /pws/zycbt004-waers,

    percdesp  like /pws/zycbt004-percdesp,

    vlme      like /pws/zycbt004-vlme,

    dtvencto  like /pws/zycbt004-dtvencto,

    fcambio   like /pws/zycbt004-fcambio,

    txtinf    like /pws/zycbt004-txtinf,

* >> Início da inclusão:

    belnr     type /pws/zycbt004-belnr,

* << Fim da inclusão

    kostl     like /pws/zycbt004-kostl,

    prctr     like /pws/zycbt004-prctr,

    dtpagto   like /pws/zycbt004-dtpagto,

    nrinvoic  like /pws/zycbt004-nrinvoic,

    nrparcf   like /pws/zycbt004-nrparcf ,

    gsberf    like /pws/zycbt004-gsberf,

    vlir      like /pws/zycbt004-vlir,

    frgzu     like /pws/zycbt004-frgzu,

    estrat    like /pws/zycbt004-estrat,

    frgsx1    like /pws/zycbt004-frgsx1,

...

 

...

    contrat-high = v_zero8.

    v_zero8 = contrat-low.

    contrat-low = v_zero8.

  endif.

endform.

form seleciona_despesa.

  if data-high is initial.

    select nrseqc tpdesp nrparc dtincl dtliquid tpjuros

           nrcontr tpcontr bconegoc bukrs benefic

           frpagto waers percdesp vlme dtvencto fcambio txtinf

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

           belnr

* << Fim da inclusão

           kostl prctr dtpagto nrinvoic

           nrparcf gsberf vlir

           frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

           seq aprova bname dtbname hrbname frggr

      into table itab_zycbt004

      from /pws/zycbt004

      where dtpagto  eq '00000000'

        and dtvencto le v_data

        and bukrs    in empresa

        and benefic  in fornece

        and nrseqc   in contrat

        and nrinvoic in invoice

        and waers    in moeda

        and frgzu    ne '1'.

  else.

    select nrseqc tpdesp nrparc dtincl dtliquid tpjuros

           nrcontr tpcontr bconegoc bukrs benefic

           frpagto waers percdesp vlme dtvencto fcambio txtinf

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

           belnr

* << Fim da inclusão

           kostl prctr dtpagto nrinvoic

           nrparcf gsberf vlir

           frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

           seq aprova bname dtbname hrbname frggr

      into table itab_zycbt004

      from /pws/zycbt004

      where dtpagto  eq '00000000'

        and dtvencto in data

        and bukrs    in empresa

        and benefic  in fornece

...

 

...

         itab_zycbt004-vlme is initial        ) and

         itab_zycbt004-tpdesp   eq 'J'          and

         not itab_zycbt004-nrinvoic is initial.

      continue.

    endif.

    if itab_zycbt004-tpcontr eq 'TR' and

       ( itab_zycbt004-tpdesp = 'PR' or

         itab_zycbt004-tpdesp = 'P' ).

      continue.

    endif.

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

    if itab_zycbt004-frpagto = 'C' and

       itab_zycbt004-belnr is initial.

      continue.

    endif.

* << Fim da inclusão

    read table itab_zycbt015 with key tpdesp = itab_zycbt004-tpdesp

                                      ftipo  = 'E'.

    if sy-subrc = 0 and itab_zycbt004-tpdesp = 'J'.

      concatenate itab_zycbt004-nrparc itab_zycbt004-tpjuros text-042

                  itab_zycbt015-txtdesc into v_tipo.

    elseif sy-subrc = 0.

      concatenate text-025 itab_zycbt015-txtdesc into v_tipo

                  separated by space.

    endif.

    clear: v_me, v_usd.

...

 

...

        up to 1 rows

     where bukrs in empresa.

    endselect.

  endif.

endform.

form seleciona_trava.

  if data-high is initial.

    select nrseqc tpdesp nrparc dtincl dtliquid tpjuros

           nrcontr tpcontr bconegoc bukrs benefic

           frpagto waers percdesp vlme dtvencto fcambio txtinf

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

           belnr

* << Fim da inclusão

           kostl prctr dtpagto nrinvoic

           nrparcf

      gsberf

      into table itab_zycbt004

      from /pws/zycbt004

      where ( dtpagto  eq '00000000' or dtpagto eq '        ' )

        and dtvencto le v_data

        and bukrs    in empresa

        and benefic  in fornece

        and nrseqc   in contrat

        and waers    in moeda

        and ( tpdesp eq 'PR' or

              tpdesp eq 'P' ).

  else.

    select nrseqc tpdesp nrparc dtincl dtliquid tpjuros

           nrcontr tpcontr bconegoc bukrs benefic

           frpagto waers percdesp vlme dtvencto fcambio txtinf

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

           belnr

* << Fim da inclusão

           kostl prctr dtpagto nrinvoic

           nrparcf

      gsberf

      into table itab_zycbt004

      from /pws/zycbt004

      where ( dtpagto  eq '00000000' or dtpagto eq '        ' )

        and dtvencto in data

        and bukrs    in empresa

        and benefic  in fornece

        and nrseqc   in contrat

...

 

...

           for all entries in itab_zycbt004

           where tpdesp eq itab_zycbt004-tpdesp

             and ftipo  eq 'E'.

    select nrseqc nrparc vlir

           from /pws/zycbt136 into table itab_zycbt136

           for all entries in itab_zycbt004

           where nrseqc eq itab_zycbt004-nrseqc

             and nrparc eq itab_zycbt004-nrparc.

  endif.

  loop at itab_zycbt004.

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

    if itab_zycbt004-frpagto = 'C' and

       itab_zycbt004-belnr is initial.

      continue.

    endif.

* << Fim da inclusão

    read table itab_zycbt015 with key tpdesp = itab_zycbt004-tpdesp

                                      ftipo  = 'E'.

    if sy-subrc = 0.

      concatenate text-044 itab_zycbt015-txtdesc text-045 into v_tipo

                  separated by space.

    endif.

    clear: v_me, v_usd.

    v_me = itab_zycbt004-vlme.

    move:

      text-032                to itab_selreg-mod,

...

 

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

Modificações efetuadas em TABD /PWS/ZYCBE062

 

DESCRIÇÃO BREVE: CB - Juros do Pré Pagamento

 

COMPONENTES NOVOS

COMPONENTE:     TP. COMP:      TAB.REF.:       CPO.REF.:    AJUD. PESQU.

NRPARC          /PWS/ZYCBL047

 

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

Modificações efetuadas em TABD /PWS/ZYCBT062

 

DESCRIÇÃO BREVE: CB - Juros do Pré Pagamento

 

CARACTERÍSTICAS

 

CATEGORIA DA TABELA: Tabela transparente

CLASSE DE ENTREGA:

(A) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

CAMPOS:         TP. CAMPO   CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

NRPARC          /PWS/ZYCBL047

 

OPÇÕES TÉCNICAS

 

TIPO DE DADOS: APPL0

CATEGOR. TAMANHO: 2

 

(X) - AR. BUFFER NÃO PERMITIDO

(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO

(_) - AR. BUFFER ATIVADO

(_) - RGSTS. IND ARMAZENADOS

(_) - ÁREA GEN ARMAZENADA EM BUFFER   Nº DE CPOS CHAVE: ______

(_) - TOTALMENTE ARMAZENADO

(_) - REGISTRAR MODIFICS. DDS. EM LOG.