CE PLUS - Nota 008930

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Captação

Data/Hora da Publicação: 01/09/2009 00:00:00

Data/Hora Última Alteração: 03/03/2011 15:09:35

Descrição da Nota: CAPTAÇÃO - LIQUIDAÇÃO DAS CAPTAÇÕES DE PRÉ-PAGAMENTO E SECURITIZAÇÃO.

Sintoma

Desenvolvimento adicional - Captação - liquidação das captações de pré-pagamento e securitização.

 

 

Solução

Desenvolvimento adicional - Captação - liquidação das captações de pré-pagamento e securitização.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

VALORES MANTIDOS NO EXTERIOR - ATUALIZAÇÃO SALDO APÓS F-02

EXPORTAÇÃO CAPTAÇÃO

CAPTAÇÃO - ZERO DIAS - DEIXAR COMO S CURTÍSSIMO PRAZO - ERRO ESTORNO

CAPTAÇÃO HISTÓRICO CONTÁBIL DATA PRORROGAÇÃO DE PRIN NA COL. DT.FINAL

FLEXIBILIZAR AS CONTAS DE BANCO NO PROGRAMA DE CAPTAÇÃO

DA-VINCULAÇÃO/LIQUIDAÇÃO-OTIMIZAÇÃO-BUSCA TAXAS/TIPO DOCTO. POR CONTRATO

VINCULAÇÃO - FILTRO POR DATA F-30

DESENVOLVIMENTO ADICIONAL COMPLETO - ORDEM DE PAGAMENTO

CAPTAÇÃO FB08 - ESTORNAR - CAMPO BUDAT

CAPTAÇÂO - ORDEM DE PAGAMENTO

TRATAMENTO DE PROCESSOS DE EXPORTAÇÃO EM BRL-CAPTAÇAO,VINCULAÇAO E LIQU.

LIQUIDAÇÃO DE ACC COM PRÉ PAGTO - PROBLEMA C/NUMERO DE PARCELA

DA - COTAÇÃO DE MOEDAS PARA CAPTAÇÃO/FINANCIAMENTO/EMPRÉSTIMO

CAPTAÇÃO - PASTA DE PERIODO DE JUROS - MENSAGEM VARIAS VEZES.

VALORES MANTIDOS NO EXTERIOR - DA COMPLETO

LIQUIDAÇÃO DE ACC COM PRÉ PAGTO

PROBLEMA NO PROGRAMA DE CAPTAÇÃO ( /PWS/ZYCB001 )

ESTORNO LIQUIDAÇÃO FB08 FBRA ANO FISCAL

CAPTAÇÃO - ELIMINAÇÃO DA OBRIGATORIEDADE DA FORMA DE CALCULO PARA ACC

LIQUIDAÇÃO - DATA EM BRANCO

PARÂMETRO /PWS/ZYGL007 CFM SIM - DUMP VERSÃO 4.7 OU SUPERIOR

Informações Complementares

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

Nota Número 08930 Data: 01/09/2009 Hora: 10:51:52

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

 

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

Nota Número              : 08930

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00010

Agrupamento              : 00112

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

Referência às notas relacionadas:

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

 

02150  - 00001 - 6.0    - 00025  - ESTORNO LIQUIDAÇÃO FB08 FBRA ANO FISCAL

02946  - 00002 - 6.0    - 00026  - PARÂMETRO /PWS/ZYGL007 CFM SIM - DUMP VERSÃO 4.7 OU SUPERIOR

03240  - 00003 - 6.0    - 00026  - CAPTAÇÃO FB08 - ESTORNAR - CAMPO BUDAT

03270  - 00004 - 6.0    - 00026  - DESENVOLVIMENTO ADICIONAL COMPLETO - ORDEM DE PAGAMENTO

04808  - 00005 - 7.0    - 00003  - CAPTAÇÃO - ELIMINAÇÃO DA OBRIGATORIEDADE DA FORMA DE CALCULO PARA

05479  - 00006 - 7.0    - 00003  - CAPTAÇÂO - ORDEM DE PAGAMENTO

05482  - 00007 - 7.0    - 00003  - VALORES MANTIDOS NO EXTERIOR - DA COMPLETO

06020  - 00008 - 7.0    - 00004  - LIQUIDAÇÃO - DATA EM BRANCO

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

06601  - 00010 - 7.0    - 00005  - VINCULAÇÃO - FILTRO POR DATA F-30

07116  - 00011 - 7.0    - 00006  - EXPORTAÇÃO CAPTAÇÃO

07549  - 00012 - 7.0    - 00007  - PROBLEMA NO PROGRAMA DE CAPTAÇÃO ( /PWS/ZYCB001 )

07691  - 00013 - 7.0    - 00007  - VALORES MANTIDOS NO EXTERIOR - ATUALIZAÇÃO SALDO APÓS F-02

07834  - 00014 - 7.0    - 00008  - FLEXIBILIZAR AS CONTAS DE BANCO NO PROGRAMA DE CAPTAÇÃO

07965  - 00015 - 7.0    - 00008  - DA - COTAÇÃO DE MOEDAS PARA CAPTAÇÃO/FINANCIAMENTO/EMPRÉSTIMO

08096  - 00016 - 7.0    - 00008  - LIQUIDAÇÃO DE ACC COM PRÉ PAGTO - PROBLEMA C/NUMERO DE PARCELA

08269  - 00017 - 7.0    - 00009  - TRATAMENTO DE PROCESSOS DE EXPORTAÇÃO EM BRL-CAPTAÇAO,VINCULAÇAO

08536  - 00018 - 7.0    - 00009  - DA-VINCULAÇÃO/LIQUIDAÇÃO-OTIMIZAÇÃO-BUSCA TAXAS/TIPO DOCTO. POR C

08572  - 00019 - 7.0    - 00010  - CAPTAÇÃO - PASTA DE PERIODO DE JUROS - MENSAGEM VARIAS VEZES.

08604  - 00020 - 7.0    - 00010  - CAPTAÇÃO - ZERO DIAS - DEIXAR COMO S CURTÍSSIMO PRAZO - ERRO ESTO

08708  - 00021 - 7.0    - 00010  - CAPTAÇÃO HISTÓRICO CONTÁBIL DATA PRORROGAÇÃO DE PRIN NA COL. DT.F

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

CAPTAÇÃO - LIQUIDAÇÃO DAS CAPTAÇÕES DE PRÉ-PAGAMENTO E SECURITIZAÇÃO.

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

Palavras Chave:

CAPTAÇÃO - LIQUIDAÇÃO DAS CAPTAÇÕES DE PRÉ-PAGAMENTO E SECURITIZAÇÃO.

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCB014                        0100

FUNC /PWS/ZYCBA287

FUNC /PWS/ZYCB_TRANSACAO_FB08

FUNC /PWS/ZYCB_TRANSACAO_F_30_P

FUNC /PWS/ZYCB_TRANSACAO_F_30_W

FUNC /PWS/ZYCB_TRANSACAO_F_30_X

REPS /PWS/LZYGLGF2UXX

REPS /PWS/MZYCB001F01

REPS /PWS/MZYCB001F02

REPS /PWS/MZYCB001F04

REPS /PWS/MZYCB001I01

REPS /PWS/MZYCB001O01

REPS /PWS/MZYCB001TOP

REPS /PWS/MZYCB001X01

REPS /PWS/MZYCB014F01

REPS /PWS/MZYCB014TOP

REPT /PWS/SAPMZYCB001

REPT /PWS/SAPMZYCB014

SHLD /PWS/ZYCBA287

TABL /PWS/ZYCBT067

VIED /PWS/ZYCBV223

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB014                        0100

 

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

FAVOR PEDIR O ARQUIVO DA TELA 0100 PARA UPLOAD NO PROGRAMA .

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

 

MODIFICAR TEXTO "/PWS/ZYCBE061-SLVINC_C" em tbl.contr./tabstr.

Comprimento Visível      14

Texto                    Saldo Contrato

 

MODIFICAR TEXTO "/PWS/ZYCBE061-VLME_C" em tbl.contr./tabstr.

Comprimento Visível      14

Texto                    Valor Contrato

 

MODIFICAR CAIXA DE VERIFICAÇÃO "ITAB_ZYCBT061-MARK" em tbl.contr./tabstr

Texto

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCBA287

 

FUNCTION /PWS/ZYCBA287.

  TYPE-POOLS:

    shlp.

  TYPES:

    BEGIN OF t_s_dados,

      lifnr        TYPE lfa1-lifnr,

      sortl        TYPE lfa1-sortl,

      name1        TYPE lfa1-name1,

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

      konth        TYPE /pws/zyglt316-konth,

* << Fim da exclusão

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

      konts        TYPE /pws/zyglt316-konts,

* << Fim da inclusão

      bukrs        TYPE lfb1-bukrs,

      ktosl        TYPE /pws/zyglt316-ktosl,

      codaux1      TYPE /pws/zyglt316-codaux1,

      codaux2      TYPE /pws/zyglt316-codaux2,

      codaux3      TYPE /pws/zyglt316-codaux3,

    END OF t_s_dados,

    t_t_dados TYPE STANDARD TABLE OF t_s_dados.

  DATA:

    itab_dados    TYPE t_t_dados WITH HEADER LINE,

    wa_dados      LIKE LINE OF itab_dados,

...

 

...

    <fs_fielddescr> LIKE LINE OF shlp_tab-fielddescr,

    <fs_dados>      LIKE LINE OF itab_dados.

  GET PARAMETER ID 'BUK'           FIELD v_bukrs.

  IF  callcontrol-step EQ 'DISP'.

    READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.

    CHECK <fs_shlp> IS ASSIGNED.

    LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.

      CHECK: <fs_fielddescr>-fieldname = 'LIFNR' OR

             <fs_fielddescr>-fieldname = 'SORTL' OR

             <fs_fielddescr>-fieldname = 'NAME1' OR

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

             <fs_fielddescr>-fieldname = 'KONTH' OR

* << Fim da exclusão

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

             <fs_fielddescr>-fieldname = 'KONTS' OR

* << Fim da inclusão

             <fs_fielddescr>-fieldname = 'BUKRS' OR

             <fs_fielddescr>-fieldname = 'KTOSL'   OR

             <fs_fielddescr>-fieldname = 'CODAUX1' OR

             <fs_fielddescr>-fieldname = 'CODAUX2' OR

             <fs_fielddescr>-fieldname = 'CODAUX3' .

      v_fieldname = <fs_fielddescr>-fieldname.

      CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'

           EXPORTING

                parameter         = <fs_fielddescr>-fieldname

                fieldname         = v_fieldname

...

 

...

      IF sy-subrc <> 0.

        EXIT.

      ENDIF.

    ENDLOOP.

    UNASSIGN: <fs_shlp>, <fs_fielddescr>.

    CLEAR: t_konth.

    LOOP AT itab_dados ASSIGNING <fs_dados>.

      READ TABLE t_konth WITH KEY lifnr   = <fs_dados>-lifnr

                                  sortl   = <fs_dados>-sortl

                                  name1   = <fs_dados>-name1

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

                                  konth   = <fs_dados>-konth

* << Fim da exclusão

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

                                  konth   = <fs_dados>-konts

* << Fim da inclusão

                                  bukrs   = <fs_dados>-bukrs

                                  ktosl   = <fs_dados>-ktosl

                                  codaux1 = <fs_dados>-codaux1

                                  codaux2 = <fs_dados>-codaux2

                                  codaux3 = <fs_dados>-codaux3 .

      IF sy-subrc = 0.

        DELETE itab_dados INDEX sy-tabix.

        DELETE record_tab INDEX sy-tabix.

      ELSE.

        t_konth-lifnr   = <fs_dados>-lifnr.

        t_konth-sortl   = <fs_dados>-sortl.

        t_konth-name1   = <fs_dados>-name1.

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

        t_konth-konth   = <fs_dados>-konth.

* << Fim da exclusão

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

        t_konth-konth   = <fs_dados>-konts.

* << Fim da inclusão

        t_konth-bukrs   = <fs_dados>-bukrs.

        t_konth-ktosl   = <fs_dados>-ktosl.

        t_konth-codaux1 = <fs_dados>-codaux1.

        t_konth-codaux2 = <fs_dados>-codaux2.

        t_konth-codaux3 = <fs_dados>-codaux3 .

        APPEND t_konth.

      ENDIF.

    ENDLOOP.

    LOOP AT record_tab.

      v_tabix = sy-tabix.

...

 

...

        DELETE record_tab INDEX v_tabix.

        DELETE itab_dados INDEX v_tabix.

        CONTINUE.

      ENDIF.

    ENDLOOP.

    CLEAR itab_dados_aux.

    LOOP AT itab_dados ASSIGNING <fs_dados>.

      SHIFT <fs_dados>-lifnr    LEFT DELETING LEADING '0'.

      SHIFT <fs_dados>-codaux1  LEFT DELETING LEADING '0'.

      READ TABLE itab_dados_aux WITH KEY lifnr   = <fs_dados>-lifnr

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

                                         konth   = <fs_dados>-konth

* << Fim da exclusão

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

                                         konth   = <fs_dados>-konts

* << Fim da inclusão

                                         codaux1 = <fs_dados>-codaux1

                                         codaux2 = <fs_dados>-codaux2

                                         codaux3 = <fs_dados>-codaux3.

      IF sy-subrc = 0.

        DELETE itab_dados INDEX sy-tabix.

        DELETE record_tab INDEX sy-tabix.

      ELSE.

        itab_dados_aux-lifnr   = <fs_dados>-lifnr.

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

        itab_dados_aux-konth   = <fs_dados>-konth.

* << Fim da exclusão

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

        itab_dados_aux-konth   = <fs_dados>-konts.

* << Fim da inclusão

        itab_dados_aux-codaux1 = <fs_dados>-codaux1.

        itab_dados_aux-codaux2 = <fs_dados>-codaux2.

        itab_dados_aux-codaux3 = <fs_dados>-codaux3.

        APPEND itab_dados_aux.

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF  callcontrol-step EQ 'RETURN'.

    EXPORT record_tab[] TO MEMORY ID 'contrazao'.

  ENDIF.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_FB08

 

FUNCTION /pws/zycb_transacao_fb08.

  DATA:

    v_data_lanc_char(10) TYPE c,

    v_nrmsg              TYPE i VALUE 0,

    v_transacao(4)       TYPE c,

    v_mode               TYPE c,

    v_update             TYPE c,

    v_msgid              LIKE t100-arbgb,

    v_date               LIKE t009b-bdatj,

    v_msgno              LIKE t100-msgnr.

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

  data:

    v_periv              type t001-periv,

    v_monat              type t001b-frpe1.

* << Fim da inclusão

  TABLES bseg.

  clear: itab_bdc.

  refresh: itab_bdc.

  LOOP AT t_dados.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

        EXPORTING

              v_bukrs                = t_dados-bukrs

             v_date                 = t_dados-budat

        IMPORTING

              v_year                 = v_date

...

 

...

      PERFORM bdc_field  USING:

             'RF05A-BELNS' t_dados-belnr,

             'RF05A-GJAHS' v_gjahs,

             'BKPF-BUKRS'  t_dados-bukrs,

             'UF05A-STGRD' t_dados-stgrd,

             'BDC_OKCODE'  '=BU'.

    ENDIF.

    IF t_dados-budat <> '00000000'.

      WRITE: t_dados-budat TO v_data_lanc_char.

      PERFORM bdc_field  USING:

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

            'BSIS-BUDAT'  v_data_lanc_char,

            'BSIS-MONAT'  t_dados-budat+4(2).

* << Fim da exclusão

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

            'BSIS-BUDAT'  v_data_lanc_char.

      select single periv from t001

                   into v_periv

                   where bukrs eq t_dados-bukrs.

      call function 'DETERMINE_PERIOD'

           exporting

                date                = t_dados-budat

                version             = v_periv

           importing

                period              = v_monat

           exceptions

                period_in_not_valid = 1

                period_not_assigned = 2

                version_undefined   = 3

                others              = 4.

      perform bdc_field  using:

            'BSIS-MONAT'  v_monat+1(2).

* << Fim da inclusão

    ENDIF.

    REFRESH itab_msg.

    CLEAR itab_msg.

    v_transacao = 'FB08'.

    v_update = 'S'.

    v_msgid = 'F5'.

    v_msgno = '312'.

    IF v_modo IS INITIAL.

      v_mode = 'N'.

    ELSE.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_P

 

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_P

 

MODIFICAR MÓDULO DE FUNÇÃO: /PWS/ZYCB_TRANSACAO_F_30_P

CARACTERÍSTICAS

 

 

IMPORTAÇÃO:

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

* >> Início da inclusão:

V_PANORMAIS   TYPE   C                ' '          'X'        ' '   Desflega PA Normais = X

V_ZUONR1      TYPE   BSEG-ZUONR       ' '          'X'        ' '   Nº atribuição

* << Fim da inclusão

 

 

...

        PERFORM bdc_screen USING 'SAPMF05A' '0710'.

        CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.

        IF t_dados-d_newko1 IS INITIAL.

          PERFORM bdc_field USING:

                  'RF05A-AGKON' t_dados-d_newko,

                  'RF05A-AGKOA' wa_tbsl-koart,

                  v_xpos        'X'.

          IF NOT t_dados-umskz IS INITIAL.

            PERFORM bdc_field USING:

                  'RF05A-AGUMS' t_dados-umskz.

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

            if v_panormais = 'X'.

              perform bdc_field using  'RF05A-XNOPS' ' '.

* << Fim da inclusão

          ENDIF.

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

          endif.

* << Fim da inclusão

          v_agkoa = wa_tbsl-koart.

        ELSE.

          IF v_acc_pre_dp IS INITIAL.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-d_newko1,

                    'RF05A-AGKOA' 'S',

                    v_xpos        'X'.

            v_agkoa = 'S'.

          ELSE.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-d_newko1,

                    'RF05A-AGKOA' 'D',

                    'RF05A-AGUMS' t_dados-agums,

                    v_xpos        'X'.

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

            v_agkoa = 'D'.

* << Fim da exclusão

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

            if not t_dados-agums is initial and v_panormais = 'X'.

              perform bdc_field using  'RF05A-XNOPS' ' '.

            endif.

* << Fim da inclusão

          ENDIF.

        ENDIF.

        PERFORM bdc_field USING: 'BDC_OKCODE'  '=PA'.

      ELSE.

        SUBTRACT 1 FROM v_xpos_belnr.

        SHIFT v_xpos_belnr LEFT DELETING LEADING  '0'.

        CONCATENATE 'RF05A-XPOS1(' v_selecao ')' INTO v_xpos.

        PERFORM bdc_screen USING: 'SAPMF05A'    '0710'.

        IF v_debcred = 'C'.

          v_xpos_belnr = v_xpos_belnr + 1.

...

 

...

                    v_xpos        'X'.

          ELSE.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-d_newko,

                    'RF05A-AGKOA' wa_tbsl-koart,

                    v_xpos        'X'.

          ENDIF.

          IF NOT t_dados-umskz IS INITIAL.

            PERFORM bdc_field USING:

                  'RF05A-AGUMS' t_dados-umskz.

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

            if v_panormais = 'X'.

              perform bdc_field using  'RF05A-XNOPS' ' '.

* << Fim da inclusão

          ENDIF.

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

          endif.

* << Fim da inclusão

          v_agkoa = wa_tbsl-koart.

        ELSE.

          IF v_acc_pre_dp IS INITIAL.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-d_newko1,

                    'RF05A-AGKOA' 'S',

                    v_xpos        'X'.

            v_agkoa = 'S'.

          ELSE.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-d_newko1,

                    'RF05A-AGKOA' 'D',

                    'RF05A-AGUMS' t_dados-agums,

                    v_xpos        'X'.

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

            if not t_dados-agums is initial and v_panormais = 'X'.

              perform bdc_field using  'RF05A-XNOPS' ' '.

            endif.

* << Fim da inclusão

            v_agkoa = 'D'.

          ENDIF.

        ENDIF.

        IF v_debcred <> 'C'.

          WHILE v_xpos_belnr > 10.

            v_xpos_belnr = v_xpos_belnr - 10.

            PERFORM bdc_screen USING 'SAPMF05A'   '0608'.

            PERFORM bdc_field USING 'BDC_OKCODE'  'P+'.

            SHIFT v_xpos_belnr LEFT DELETING LEADING  '0'.

          ENDWHILE.

...

        do v_pos_budat times.

          perform bdc_screen using 'SAPDF05X'   '2000'.

          perform bdc_field  using 'BDC_OKCODE'  'P+'.

        enddo.

 

 

        perform bdc_screen using 'SAPDF05X'    '2000'.

        perform bdc_field using 'BDC_CURSOR'   v_xpos_budat.

        perform bdc_field  using v_xpos_budat  'X'.

        perform bdc_field  using 'BDC_OKCODE'  '=GO'.

 

        clear v_cont.

 

*       Tela Entrar condições de seleção (Datas de Lançamento) - 0732

        perform bdc_screen using 'SAPDF05X'        '0732'.

        perform bdc_field using  'BDC_CURSOR'      'RF05A-VONDT(01)'.

 

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

        if not t_dados-dtdocto is initial.

* << Fim da inclusão

          write t_dados-dtdocto to v_dtdocto.

          add 1 to v_cont.

 

          concatenate 'RF05A-VONDT(' v_cont ')' into v_campo.

          concatenate 'RF05A-BISDT(' v_cont ')' into v_campo2.

          perform bdc_field using v_campo  v_dtdocto.

          perform bdc_field using v_campo2 v_dtdocto.

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

        endif.

* << Fim da inclusão

 

        loop at t_doctos where tcode  = t_dados-tcode

                           and tabela = t_dados-tabela

                           and cpochv = t_dados-cpochv.

          check not t_doctos-dtdocto is initial.

          add 1 to v_cont.

          concatenate 'RF05A-VONDT(' v_cont ')' into v_campo.

          concatenate 'RF05A-BISDT(' v_cont ')' into v_campo2.

          write t_doctos-dtdocto to v_dtdocto.

          perform bdc_field using v_campo  v_dtdocto.

          perform bdc_field using v_campo2 v_dtdocto.

 

          if v_cont = 5.

            perform bdc_field  using 'BDC_OKCODE' '=SU1'.

            perform bdc_screen using 'SAPDF05X'   '0732'.

            perform bdc_field using  'BDC_CURSOR' 'RF05A-VONDT(01)'.

            clear v_cont.

          endif.

        endloop.

 

      endif.

 

      perform bdc_field  using 'BDC_OKCODE' '=GO'.

...

...

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

 

**********S E L E C I O N A  POR  A T R I B U I C A O ******************

    if v_filt_atrib = 'X' .

 

*     Selecionar tudo

      perform bdc_screen using 'SAPDF05X'   '3100'.

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

      perform bdc_field  using 'BDC_OKCODE' '=OMX'.

 

*     Desativar para acertar o saldo não atribuído.

      perform bdc_screen using 'SAPDF05X'   '3100'.

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

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

 

*     Seleciona por Atribuição

      perform bdc_screen using 'SAPDF05X'    '3100'.

      perform bdc_field  using 'BDC_SUBSCR'  'SAPDF05X'.

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

      perform bdc_field  using 'BDC_OKCODE'  '=OSU'.

 

      clear v_xpos1.

      select single selps from t021r

        into  v_xpos1

        where event = 'SU-AG'

          and feldn = 'ZUONR'.

      shift v_xpos1 left deleting leading  '0'.

 

      while v_xpos1 > 10.

        v_xpos1 = v_xpos1 - 10.

        perform bdc_screen using 'SAPDF05X'   '2000'.

        perform bdc_field using 'BDC_OKCODE'  'P+'.

        shift v_xpos1 left deleting leading  '0'.

      endwhile.

 

      concatenate 'RF05A-XPOS1(' v_xpos1 ')' into v_xpos_zuonr.

      perform bdc_screen using 'SAPDF05X'    '2000'.

      perform bdc_field using 'BDC_CURSOR'   v_xpos_zuonr.

      perform bdc_field  using v_xpos_zuonr  'X'.

      perform bdc_field  using 'BDC_OKCODE'  '=GO'.

 

*     Tela Entrar condições de seleção (Chave de Referência) - 0731

      perform bdc_screen using 'SAPDF05X'        '0731'.

      perform bdc_field using  'RF05A-SEL01(01)' v_zuonr1.

 

      perform bdc_field  using 'BDC_OKCODE'      '=GO'.

 

    endif.

* << Fim da inclusão

    else.

 

*     Selecionar tudo

      perform bdc_screen using 'SAPDF05X'   '3100'.

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

      perform bdc_field  using 'BDC_OKCODE' '=OMX'.

 

*     Ativar

      perform bdc_screen using 'SAPDF05X'    '3100'.

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

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

 

    endif.

 

 

 

*   Tela padrão - 3100

    perform bdc_screen using 'SAPDF05X'   '3100'.

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

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

 

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

 

*     Selecionar tudo

    perform bdc_screen using 'SAPDF05X'   '3100'.

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

    perform bdc_field  using 'BDC_OKCODE' '=OMX'.

 

*   Ativa selecionadas

    perform bdc_screen using 'SAPDF05X'   '3100'.

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

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

* << Fim da inclusão

 

*   Tela de partida residual - 3100

    perform bdc_screen using 'SAPDF05X'   '3100'.

    if filtra     eq 'X' and

       so_segundo eq 'X'.

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

                               'BDC_OKCODE' '=PI'.

    else.

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

                               'BDC_OKCODE' '=PI'.

    endif.

 

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

*   Ativa selecionadas

    perform bdc_screen using 'SAPDF05X'   '3100'.

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

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

* << Fim da inclusão

 

*   Salvar - para gerar partidas automáticas

    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'.

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

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

* << Fim da inclusão

    ENDIF.

    PERFORM verifica_empresas USING t_dados-bukrs

    endif.

 

...

...

 

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_W

 

...

        IF v_op = 'X'.

          PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.

          EXIT.

        ENDIF.

        PERFORM bdc_screen USING 'SAPMF05A' '0610'.

        PERFORM bdc_field USING:

                'BDC_CURSOR'  '*BSEG-BUZEI',

                '*BSEG-BUZEI' v_linhas,

                'BDC_OKCODE'  '/00'.

        PERFORM bdc_screen USING 'SAPMF05A'   v_tela.

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

   if not v_zuonr is initial.

        PERFORM bdc_field USING: 'BSEG-ZUONR' v_zuonr,

                                 'BSEG-SGTXT' t_dados-d_sgtxt.

   else.

* << Fim da inclusão

        PERFORM bdc_field USING: 'BSEG-ZUONR' t_dados-d_zuonr,

                                 'BSEG-SGTXT' t_dados-d_sgtxt.

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

  endif.

* << Fim da inclusão

        IF v_last EQ 'X'.

          PERFORM bdc_field USING:

                                 'BDC_OKCODE' '=BU'.

        ELSE.

          PERFORM bdc_field USING:

...

 

 

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

CRIAÇÃO  MÓDULO DE FUNÇÃO: /PWS/ZYCB_TRANSACAO_F_30_X

CARACTERÍSTICAS

 

CLASSIFICAÇÃO:

GRUPO DE FUNÇÕES: /PWS/ZYGLGF2

TEXTO BREVE: Call Transaction F-30 - com seleção de atribuiçao

 

TIPO DE EXECUÇÃO:

(X) - MÓDULO DE FUNÇÃO NORMAL

(_) - MÓDULO DE ACESSO REMOTO

(_) - MÓDULO DE ATUALIZAÇÃO

     (X) - INÍCIO IMEDIATO

     (_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.

     (_) - INÍC. RETARDADO

     (_) - PROCES. CLOETIVO

 

DADOS GERAIS:

(_) - BLOQUEIO PROCESSO

(_) - GLOBAL

 

IMPORTAÇÃO:

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

V_MODO      LIKE  /PWS/ZYCBT039-MODO                               Campo de texto do comprimento 1

FILTRA                                    SPACE         X       X Dá clique duplo na primeira linha

SO_SEGUNDO                                SPACE         X       X Dá clique duplo somente na segunda

                                                                  linha (quando FILTRA = X)

TOTAL                                     SPACE         X       X Dá clique duplo na primeira e na

                                                                  segunda linha (apenas quando

                                                                  FILTRA = X)

V_VINC_TOT                                SPACE         X         Vinculação total não passa data

                                                                  efetiva

V_ACC_PRE_DP                                            X

V_DESC_REC                                SPACE         X

V_DP                                      SPACE         X         Seleciona a segunda partida na

                                                                  tela de síntese para preenchimento

                                                                  de campos

V_DEV                                     SPACE         X         Indica que funcão foi chamada da

                                                                  devolução

V_LIQOP       TYPE  C                                   X         Indica a Liquidação da Ordem de

                                                                  Pagto

V_OP                                      SPACE         X         Indica que vem do programa de

                                                                  valores mantidos no exterior

V_FILT_ATRIB  TYPE  C                     SPACE         X

V_LIQ_AND     TYPE  C                                   X         Indica desm. liquidação em

                                                                  andamento

V_ZUONR       TYPE  BSEG-ZUONR                          X         Nº atribuição

 

 

EXPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA   TRANSF.  TEXTO BREVE

 

MODIFIC.:

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

 

TABELAS:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  OPCIONAL TEXTO BREVE

T_DADOS       LIKE    /PWS/ZYCBE033

T_CAMPO       LIKE    /PWS/ZYCBT034     X      GL - Estrutura Auxiliar para Batch Input.

T_ZYCBT032    LIKE    /PWS/ZYCBT032     X      GL - Estrutura Auxiliar para Batch Input - Campos.

T_ZYCBT036    LIKE    /PWS/ZYCBT036     X      GL -  Log de Execução de Transações.

T_DOCTOS      LIKE   /PWS/ZYCBT036      X      GL - Documentos a Serem Compensados

 

 

EXCEÇÕES:

EXCEÇÃO                    TEXTO BREVE

CAMPO_EM_BRANCO            Um campo obrigatório está em branco em T_DADOS

PERIODO_FECHADO            O período contábil está fechado

 

 

 

Texto fonte:

FUNCTION /PWS/ZYCB_TRANSACAO_F_30_X.

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

  CONSTANTS:

    c_vl_min TYPE p DECIMALS 2 VALUE '0.01',

    c_vl_max TYPE p DECIMALS 2 VALUE '9999999999.99'.

  DATA:

    v_rept              TYPE i,

    v_debcred(1)        TYPE c,

    v_tela2(4),

    v_bldat(10),

    v_budat(10),

    v_valut(10),

    v_kursf(9),

    v_xpos(15),

    v_campo(15),

    v_campo2(15),

    v_xpos_budat(15),

    v_xpos_zuonr(15),

    v_xpos_comp(15),

    v_string_debito      LIKE tbsl-faus1,

    v_string_credito     LIKE tbsl-faus1,

    v_chave_debito       LIKE tbsl-bschl,

    v_chave_credito      LIKE tbsl-bschl,

    v_agkon              LIKE skb1-saknr,

    v_nrmsg              TYPE i VALUE 0,

    v_transacao(4)       TYPE c,

    v_mode               TYPE c,

    v_update             TYPE c,

    v_msgid              LIKE t100-arbgb,

    v_msgno              LIKE t100-msgnr,

    v_ok(1)              VALUE 'N',

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_date               LIKE t009b-bdatj,

    v_xpos_awkey(15),

    v_pos_awkey          TYPE i,

    v_pos_budat          TYPE i,

    v_awkey              LIKE bkpf-awkey,

    v_wrbtr(16),

    v_dmbtr(16),

    v_cconta             LIKE /pws/zycbe033-d_newko,

    v_periv(2),

    v_periodo(2),

    v_dtdocto(10),

    v_zfbdt(10),

    v_zfbdt2(10),

    v_xpos1(2)           TYPE n,

    wa_tbsl              LIKE tbsl,

    v_lanc1(1),

    v_lanc2(1),

    c_brnch              LIKE bseg-bupla,

    c_zfbdt              LIKE bseg-zfbdt,

    c_zbd1t              LIKE bseg-zbd1t,

    c_sgtxt              LIKE bseg-sgtxt,

    c_zuonr              LIKE bseg-zuonr,

    c_gsber              LIKE bseg-gsber,

    c_valut              LIKE bseg-valut,

    v_agkoa              LIKE /pws/zycbe033-agkoa,

    v_last(1),

    v_linhas(3)          TYPE n,

    v_cont(2)            TYPE n,

    v_subrc              LIKE sy-subrc,

    v_xpos_wrbtr(15),

    v_pos_wrbtr          TYPE i,

    v_vl_min(16)         VALUE '0,01',

    v_vl_max(16)         VALUE '9.999.999.999,99',

    v_xpos_belnr(2)      TYPE n,

    v_selecao(2)         TYPE n,

    v_fdtdoc             TYPE /pws/zycbt007-fdtdoc,

    v_year               LIKE bkpf-gjahr,

    v_char(10)           TYPE c,

    v_campo_tela         TYPE c,

    v_zbd1t(3),

    v_umskz              LIKE /pws/zycbe033-umskz,

    v_newbs              LIKE /pws/zycbe033-newbs,

    v_ulsk1              TYPE t042-ulsk1,

    v_umsks              TYPE t074u-umsks,

    v_tela               LIKE sy-dynnr,

    v_newum              LIKE rf05a-newum,

    v_programa(40)       TYPE c VALUE 'SAPMF05A',

    v_zfbdt_tela(1)      TYPE c.

  DATA:  v_n_budat       TYPE /pws/zycbt006-dtpagto.

  DATA: itab_t041t       LIKE t041t OCCURS 0 WITH HEADER LINE.

  DATA: t_telas TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE.

  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'.

  ADD 1 TO v_xpos1.

  SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

  CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos_belnr

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

  ADD 1 TO v_xpos_belnr.

  CLEAR v_xpos1.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos1

    WHERE event = 'SU-AG'

      AND feldn = 'BUDAT'.

  SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

  CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_budat.

  v_xpos_budat = ( ( v_xpos1 - 1 ) MOD 10 ) + 1.

  SHIFT v_xpos_budat LEFT DELETING LEADING  '0'.

  CONDENSE v_xpos_budat NO-GAPS.

  v_pos_budat = ( v_xpos1 - 1 ) DIV 10.

  CONCATENATE 'RF05A-XPOS1(' v_xpos_budat ')' INTO v_xpos_budat.

  CLEAR v_xpos1.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos1

    WHERE event = 'SU-AG'

      AND feldn = 'ZUONR'.

  SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

  CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_zuonr.

  CLEAR v_xpos1.

  SELECT * FROM t041t INTO TABLE itab_t041t

       WHERE spras = sy-langu.

  READ TABLE itab_t041t WITH KEY auglv = 'UMBUCHNG'.

  v_xpos1 = sy-tabix.

  SHIFT v_xpos1 LEFT DELETING LEADING '0'.

  CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_comp.

  CLEAR v_xpos1.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos1

    WHERE event = 'SU-AG'

      AND feldn = 'AWKEY'.

  IF sy-subrc EQ 0.

    SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

    v_pos_awkey = v_xpos1.

    v_xpos1 = ( ( v_pos_awkey - 1 ) MOD 10 ) + 1.

    SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

    v_pos_awkey = ( v_pos_awkey - 1 ) DIV 10.

    CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_awkey.

  ENDIF.

  CLEAR v_xpos1.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos1

    WHERE event = 'SU-AG'

      AND feldn = 'WRBTR'.

  IF sy-subrc = 0.

    SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

    v_pos_wrbtr = v_xpos1.

    v_xpos1 = ( ( v_pos_wrbtr - 1 ) MOD 10 ) + 1.

    SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

    v_pos_wrbtr = ( v_pos_wrbtr - 1 ) DIV 10.

    CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_wrbtr.

  ENDIF.

  LOOP AT t_dados.

    SELECT SINGLE * FROM /pws/zycbt089

           WHERE bukrs EQ t_dados-bukrs.

    SELECT SINGLE * FROM tcurx WHERE currkey = t_dados-waers.

    IF sy-subrc <> 0.

      tcurx-currdec = 2.

    ENDIF.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-budat

         IMPORTING

              v_year                 = v_date

         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.

    CHECK t_dados-tcode = 'F-30'.

    IF ( t_dados-bukrs = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'BKPF-BUKRS'.

      t_campo-descricao = text-021.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

    IF ( t_dados-d_newko = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'RF05A-NEWKO'.

      t_campo-descricao = text-026.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

    MOVE t_dados-d_newko TO v_agkon.

    SELECT SINGLE * FROM tbsl

           INTO wa_tbsl

           WHERE bschl = t_dados-newbs.

    IF wa_tbsl-shkzg EQ 'S'.

      v_lanc1 = 'D'.

      v_lanc2 = 'C'.

    ELSE.

      v_lanc1 = 'C'.

      v_lanc2 = 'D'.

    ENDIF.

    CLEAR itab_oculto.

    REFRESH itab_oculto.

    IF wa_tbsl-koart EQ 'S'.

      PERFORM determina_string USING t_dados-newbs

                                     t_dados-bukrs

                                     v_agkon

                            CHANGING v_string_credito.

    ELSEIF   wa_tbsl-koart EQ 'D'.

      SELECT SINGLE akont FROM knb1

        INTO knb1-akont

        WHERE kunnr = t_dados-d_newko

          AND bukrs = t_dados-bukrs.

      SELECT SINGLE plcontas FROM /pws/zycbt007

                             INTO /pws/zycbt007-plcontas

                             WHERE bukrs EQ t_dados-bukrs.

      IF NOT t_dados-umskz IS INITIAL.

        SELECT SINGLE skont FROM t074

          INTO v_cconta

          WHERE ktopl = /pws/zycbt007-plcontas

            AND koart = 'D'

            AND hkont = knb1-akont.

        IF sy-subrc NE 0.

          v_cconta = knb1-akont.

        ENDIF.

      ELSE.

        v_cconta = knb1-akont.

      ENDIF.

      PERFORM determina_string USING t_dados-newbs

                                     t_dados-bukrs

                                     v_cconta

                            CHANGING v_string_credito.

    ELSEIF wa_tbsl-koart EQ 'K'.

      SELECT SINGLE akont FROM lfb1

        INTO v_cconta

        WHERE lifnr EQ t_dados-d_newko AND

              bukrs EQ t_dados-bukrs.

      PERFORM determina_string USING t_dados-newbs

                                     t_dados-bukrs

                                     v_cconta

                            CHANGING v_string_credito.

    ENDIF.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

                                        itab_oculto

                                 USING  v_string_credito.

    PERFORM trata_string_debito TABLES t_dados

                                       t_campo

                                       itab_oculto

                                USING  v_string_credito.

    CLEAR v_fdtdoc.

    SELECT SINGLE fdtdoc

    INTO v_fdtdoc

    FROM /pws/zycbt007

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

    WRITE: t_dados-bukrs   TO v_bukrs,

           t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-zfbdt   TO v_zfbdt,

           t_dados-kursf   TO v_kursf,

           t_dados-zfbdt   TO v_zfbdt2,

           t_dados-zbd1t   TO v_zbd1t.

    IF NOT t_dados-d_valut = '00000000' AND

       NOT t_dados-d_valut = '        '.

      WRITE: t_dados-d_valut TO v_valut.

    ELSEIF NOT t_dados-c_valut IS INITIAL AND

           NOT v_op            IS INITIAL.

      WRITE: t_dados-c_valut TO v_valut.

    ENDIF.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ v_bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

              date                = t_dados-budat

              version             = v_periv

         IMPORTING

              period              = v_monat

         EXCEPTIONS

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

    v_gjahr = v_date.

    WHILE v_ok EQ 'N'.

      PERFORM check_periodo USING    '+'

                                     v_monat

                                     v_bukrs

                                     v_gjahr

                            CHANGING v_budat

                                     v_ok.

      MOVE v_budat+6(4) TO v_gjahr.

      MOVE v_budat+3(2) TO v_monat.

    ENDWHILE.

    MOVE v_monat+1(2) TO v_periodo.

    IMPORT v_n_budat FROM MEMORY ID 'N_BUDAT'.

    IF NOT v_n_budat IS INITIAL AND

       v_n_budat NE t_dados-budat.

      t_dados-budat = v_n_budat.

      MODIFY t_dados INDEX 1.

    ENDIF.

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field USING:

            'BKPF-BLDAT'     v_bldat,

            'BKPF-BLART'     t_dados-blart,

            'BKPF-BUKRS'     t_dados-bukrs,

            'BKPF-BUDAT'     v_budat,

            'BKPF-WAERS'     t_dados-waers,

            'BKPF-KURSF'     v_kursf,

            'BKPF-BKTXT'     t_dados-bktxt,

          'RF05A-AUGTX'    t_dados-augtx,

            'BKPF-MONAT'     v_periodo,

            v_xpos_comp      'X'.

    IF NOT t_dados-xblnr IS INITIAL.

      PERFORM bdc_field USING 'BKPF-XBLNR' t_dados-xblnr.

    ENDIF.

    IF NOT t_dados-brnch IS INITIAL.

      PERFORM bdc_field USING 'BKPF-BRNCH' t_dados-brnch.

    ENDIF.

    LOOP AT t_zycbt036 WHERE tcode  = t_dados-tcode  AND

                             tabela = t_dados-tabela AND

                             cpochv = t_dados-cpochv.

    ENDLOOP.

    IF sy-subrc NE 0.

      PERFORM bdc_field USING

            'BDC_OKCODE'     '=SL'.

    ELSE.

      PERFORM bdc_field USING:

       'RF05A-NEWBS'    t_dados-newbs,

         'RF05A-NEWKO'    t_dados-d_newko,

            'RF05A-NEWUM'    t_dados-umskz,

            'BDC_OKCODE'     '/00'.

    ENDIF.

    v_last = space.

    v_linhas = 1.

    IF t_dados-flag_nc EQ 'X'.

      v_linhas = 0.

    ENDIF.

    LOOP AT t_zycbt036 WHERE tcode  = t_dados-tcode  AND

                             tabela = t_dados-tabela AND

                             cpochv = t_dados-cpochv.

      v_linhas = v_linhas + 1.

      AT LAST.                                              "#EC *

        v_last = 'X'.

      ENDAT.                                                "#EC *

      WRITE t_zycbt036-residuo TO v_wrbtr CURRENCY t_dados-waers.

      MOVE: t_dados-umskz   TO v_umskz,

            t_dados-newbs   TO v_newbs,

            t_dados-d_newko TO v_agkon.

      PERFORM define_tela USING t_dados-tcode

                                t_dados-bukrs

                                v_agkon

                                v_newbs

                       CHANGING v_umskz

                                v_tela.

      IF NOT t_dados-umskz IS INITIAL.

        PERFORM bdc_screen USING 'SAPMF05A' v_tela.

        PERFORM bdc_field USING 'BSEG-WRBTR' v_wrbtr.

        IF NOT t_dados-d_sgtxt IS INITIAL.

          PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.

        ENDIF.

        IF NOT v_zuonr IS INITIAL.

          PERFORM bdc_field USING 'BSEG-ZUONR' v_zuonr.

        ENDIF.

        IF NOT t_dados-brnch IS INITIAL.

          PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.

        ENDIF.

        READ TABLE itab_oculto WITH KEY campo = 'BSEG-GSBER'

                                chave = 'C'.

        IF sy-subrc NE 0.

          IF NOT t_dados-d_gsber IS INITIAL.

            PERFORM bdc_field USING:

                    'BSEG-GSBER' t_dados-d_gsber.

          ENDIF.

        ENDIF.

        PERFORM define_campo TABLES t_telas

                             USING  v_programa

                                    v_tela

                                    'BSEG-ZFBDT'.

        IF v_invisible EQ 0.

          IF ( v_input EQ 1 OR v_required EQ 1 )

             AND NOT v_zfbdt IS INITIAL

             AND NOT v_zfbdt = '00.00.0000'

             AND NOT v_zfbdt = '00/00/0000'.

            IF NOT t_dados-zfbdt = '00000000' AND

               NOT t_dados-zfbdt = '        '.

              WRITE t_dados-zfbdt TO v_zfbdt.

              SELECT SINGLE * FROM t042

                WHERE bukrs = t_dados-bukrs.

              IF sy-subrc EQ 0.

                IF t042-ulsd1 CA t_dados-umskz.

                  IF NOT v_zfbdt IS INITIAL.

                    PERFORM bdc_field  USING: 'BSEG-ZFBDT' v_zfbdt.

                  ENDIF.

                ELSE.

                  IF t042-ulsd2 CA t_dados-umskz.

                    IF NOT v_zfbdt IS INITIAL.

                      PERFORM bdc_field

                              USING: 'BSEG-ZFBDT' v_zfbdt.

                    ENDIF.

                  ELSE.

                    IF NOT t_dados-umskz IS INITIAL.

                      SELECT SINGLE * FROM t074u

                        WHERE koart = wa_tbsl-koart AND

                            umskz = t_dados-umskz.

                      IF sy-subrc EQ 0.

                        IF t074u-umsks NE 'A'.

                          IF NOT v_zfbdt IS INITIAL.

                            PERFORM bdc_field

                                    USING: 'BSEG-ZFBDT' v_zfbdt.

                          ENDIF.

                        ENDIF.

                      ENDIF.

                    ENDIF.

                  ENDIF.

                ENDIF.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

        IF v_last EQ 'X'.

          PERFORM bdc_field USING: 'BDC_OKCODE'  '=PA'.

        ELSE.

          PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs,

                                   'RF05A-NEWKO' t_dados-d_newko,

                                   'RF05A-NEWUM' t_dados-umskz,

                                   'BDC_OKCODE'  '/00'.

        ENDIF.

      ELSE.

        IF wa_tbsl-koart EQ 'K'.

          PERFORM bdc_screen USING 'SAPMF05A' v_tela.

          PERFORM bdc_field USING 'BSEG-WRBTR' v_wrbtr.

          IF v_zbd1t > 0.                                 "#EC PORTABLE

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                            chave = v_lanc1.

            IF sy-subrc <> 0.

              PERFORM bdc_field USING 'BSEG-ZBD1T' v_zbd1t.

            ENDIF.

          ENDIF.

          IF NOT t_dados-d_sgtxt IS INITIAL.

            PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.

          ENDIF.

          IF NOT v_zuonr IS INITIAL.

            PERFORM bdc_field USING 'BSEG-ZUONR' v_zuonr.

          ENDIF.

          IF NOT t_dados-brnch IS INITIAL.

            PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.

          ENDIF.

          READ TABLE itab_oculto WITH KEY campo = 'BSEG-GSBER'

                                  chave = 'C'.

          IF sy-subrc NE 0.

            IF NOT t_dados-d_gsber IS INITIAL.

              PERFORM bdc_field USING:

                      'BSEG-GSBER' t_dados-d_gsber.

            ENDIF.

          ENDIF.

          READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'

                                          chave = v_lanc1.

          IF sy-subrc <> 0 AND NOT t_dados-brnch IS INITIAL.

            PERFORM bdc_field USING:

                  'BSEG-BUPLA'  t_dados-brnch.

          ENDIF.

          IF v_last EQ 'X'.

            PERFORM bdc_field USING: 'BDC_OKCODE'  '=PA'.

          ELSE.

            PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs,

                                     'RF05A-NEWKO' t_dados-d_newko,

                                     'BDC_OKCODE'  '/00'.

          ENDIF.

        ELSEIF wa_tbsl-koart EQ 'D'.

          PERFORM bdc_screen USING 'SAPMF05A' v_tela.

          PERFORM bdc_field USING'BSEG-WRBTR'  v_wrbtr.

          IF v_zbd1t > 0.                                 "#EC PORTABLE

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                            chave = v_lanc1.

            IF sy-subrc <> 0.

              PERFORM bdc_field USING 'BSEG-ZBD1T' v_zbd1t.

            ENDIF.

          ENDIF.

          IF NOT t_dados-zterm IS INITIAL.

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                            chave = v_lanc1.

            IF sy-subrc NE 0.

              PERFORM bdc_field USING 'BSEG-ZTERM' t_dados-zterm.

            ENDIF.

          ENDIF.

          IF NOT t_dados-d_sgtxt IS INITIAL.

            PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.

          ENDIF.

          IF NOT v_zuonr IS INITIAL.

            PERFORM bdc_field USING 'BSEG-ZUONR' v_zuonr.

          ENDIF.

          IF NOT t_dados-brnch IS INITIAL.

            PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.

          ENDIF.

          READ TABLE itab_oculto WITH KEY campo = 'BSEG-GSBER'

                        chave = v_lanc1.

          IF sy-subrc NE 0.

            IF NOT t_dados-d_gsber IS INITIAL.

              PERFORM bdc_field USING:

                      'BSEG-GSBER' t_dados-d_gsber.

            ENDIF.

          ENDIF.

          PERFORM define_campo TABLES t_telas

                               USING  v_programa

                                      v_tela

                                    'BSEG-ZFBDT'.

          IF v_invisible EQ 0.

            IF NOT v_zfbdt IS INITIAL

             AND NOT v_zfbdt = '00.00.0000'

             AND NOT v_zfbdt = '00/00/0000'.

              .

              PERFORM bdc_field  USING: 'BSEG-ZFBDT' v_zfbdt.

            ENDIF.

          ENDIF.

          IF v_last EQ 'X'.

            PERFORM bdc_field USING: 'BDC_OKCODE'  '=PA'.

          ELSE.

            PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs,

                                     'RF05A-NEWKO' t_dados-d_newko,

                                     'BDC_OKCODE'  '/00'.

          ENDIF.

        ELSEIF wa_tbsl-koart EQ 'S'.

          PERFORM bdc_screen USING 'SAPMF05A' v_tela.

          PERFORM bdc_field USING:

                  'BSEG-WRBTR' v_wrbtr.

          IF NOT t_dados-brnch IS INITIAL.

            PERFORM bdc_field USING:

                    'BSEG-BUPLA' t_dados-brnch.

          ENDIF.

          IF NOT v_zuonr IS INITIAL.

            PERFORM bdc_field USING 'BSEG-ZUONR' v_zuonr.

          ENDIF.

          IF NOT t_dados-d_sgtxt IS INITIAL.

            PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.

          ENDIF.

          IF NOT t_dados-d_valut IS INITIAL

             OR ( NOT t_dados-c_valut IS INITIAL AND

                  NOT v_op            IS INITIAL ).

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT'

                                            chave = v_lanc1.

            IF sy-subrc <> 0.

              PERFORM bdc_field USING 'BSEG-VALUT' v_valut.

            ENDIF.

          ENDIF.

          PERFORM define_campo TABLES t_telas

                               USING  v_programa

                                      v_tela

                                      'BSEG-ZFBDT'.

          IF v_invisible EQ 0.

            IF NOT v_zfbdt IS INITIAL

             AND NOT v_zfbdt = '00.00.0000'

             AND NOT v_zfbdt = '00/00/0000'.

              READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZFBDT'

                                              chave = v_lanc1.

              IF sy-subrc <> 0.

                PERFORM bdc_field  USING: 'BSEG-ZFBDT' v_zfbdt.

              ENDIF.

            ENDIF.

          ENDIF.

          IF v_last EQ 'X'.

            PERFORM bdc_field USING: 'BDC_OKCODE'  '=PA'.

          ELSE.

            PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs,

                                     'RF05A-NEWKO' t_dados-d_newko,

                                     'BDC_OKCODE'  '/00'.

          ENDIF.

          PERFORM bdc_screen USING 'SAPLKACB' '0002'.

          IF NOT t_dados-d_gsber IS INITIAL.

            READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'

                                            chave = v_lanc1.

            IF sy-subrc <> 0.

              PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.

            ENDIF.

          ENDIF.

          IF NOT t_dados-werks IS INITIAL.

            READ TABLE itab_oculto WITH KEY campo = 'COBL-WERKS'

                                            chave = v_lanc1.

            IF sy-subrc <> 0.

              PERFORM bdc_field USING 'COBL-WERKS' t_dados-werks.

            ENDIF.

          ENDIF.

          IF NOT t_dados-d_prctr IS INITIAL.

            READ TABLE itab_oculto WITH KEY campo = 'COBL-PRCTR'

                                            chave = v_lanc1.

            IF sy-subrc <> 0.

              PERFORM bdc_field USING 'COBL-PRCTR' t_dados-d_prctr.

            ENDIF.

          ENDIF.

          IF NOT t_dados-d_kostl IS INITIAL.

            READ TABLE itab_oculto WITH KEY campo = 'COBL-KOSTL'

                                            chave = v_lanc1.

            IF sy-subrc <> 0.

              PERFORM bdc_field USING 'COBL-KOSTL' t_dados-d_kostl.

            ENDIF.

          ENDIF.

          IF NOT t_dados-d_fipos IS INITIAL.

            READ TABLE itab_oculto WITH KEY campo = 'COBL-FIPOS'

                                            chave = v_lanc1.

            IF sy-subrc NE 0.

              PERFORM bdc_field USING 'COBL-FIPOS' t_dados-d_fipos.

            ENDIF.

          ENDIF.

          PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.

        ENDIF.

      ENDIF.

    ENDLOOP.

    CLEAR: v_rept, v_debcred.

    IF NOT t_dados-c_newko IS INITIAL.

      IF t_dados-d_newko = t_dados-c_newko.

        v_rept = 1.

      ELSE.

        v_rept = 2.

      ENDIF.

    ELSE.

      v_rept = 1.

    ENDIF.

    DO v_rept TIMES.

      WRITE /pws/zycbt089-num_selecao TO v_selecao.

      IF v_selecao GT v_xpos_belnr  .

        SHIFT v_xpos_belnr LEFT DELETING LEADING  '0'.

        PERFORM bdc_screen USING 'SAPMF05A' '0710'.

        CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.

        IF t_dados-d_newko1 IS INITIAL.

          PERFORM bdc_field USING:

                  'RF05A-AGKON' t_dados-d_newko,

                  'RF05A-AGKOA' wa_tbsl-koart,

                  v_xpos        'X'.

          IF NOT t_dados-umskz IS INITIAL.

            PERFORM bdc_field USING:

                  'RF05A-AGUMS' t_dados-umskz.

          ENDIF.

          v_agkoa = wa_tbsl-koart.

        ELSE.

          IF v_acc_pre_dp IS INITIAL.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-d_newko1,

                    'RF05A-AGKOA' 'S',

                    v_xpos        'X'.

            v_agkoa = 'S'.

          ELSE.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-d_newko1,

                    'RF05A-AGKOA' 'D',

                    'RF05A-AGUMS' t_dados-agums,

                    v_xpos        'X'.

            v_agkoa = 'D'.

          ENDIF.

        ENDIF.

        PERFORM bdc_field USING: 'BDC_OKCODE'  '=PA'.

      ELSE.

        SUBTRACT 1 FROM v_xpos_belnr.

        SHIFT v_xpos_belnr LEFT DELETING LEADING  '0'.

        CONCATENATE 'RF05A-XPOS1(' v_selecao ')' INTO v_xpos.

        PERFORM bdc_screen USING: 'SAPMF05A'    '0710'.

        IF v_debcred = 'C'.

          v_xpos_belnr = v_xpos_belnr + 1.

          CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.

          PERFORM bdc_field USING  v_xpos        'X'.

        ENDIF.

        PERFORM bdc_field USING 'BDC_OKCODE'  '/00'.

        IF t_dados-d_newko1 IS INITIAL.

          IF v_rept = 2 AND v_debcred = 'C'.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-c_newko,

                    'RF05A-AGKOA' wa_tbsl-koart,

                    v_xpos        'X'.

          ELSE.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-d_newko,

                    'RF05A-AGKOA' wa_tbsl-koart,

                    v_xpos        'X'.

          ENDIF.

          IF NOT t_dados-umskz IS INITIAL.

            PERFORM bdc_field USING:

                  'RF05A-AGUMS' t_dados-umskz.

          ENDIF.

          v_agkoa = wa_tbsl-koart.

        ELSE.

          IF v_acc_pre_dp IS INITIAL.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-d_newko1,

                    'RF05A-AGKOA' 'S',

                    v_xpos        'X'.

            v_agkoa = 'S'.

          ELSE.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-d_newko1,

                    'RF05A-AGKOA' 'D',

                    'RF05A-AGUMS' t_dados-agums,

                    v_xpos        'X'.

            v_agkoa = 'D'.

          ENDIF.

        ENDIF.

        IF v_debcred <> 'C'.

          WHILE v_xpos_belnr > 10.

            v_xpos_belnr = v_xpos_belnr - 10.

            PERFORM bdc_screen USING 'SAPMF05A'   '0608'.

            PERFORM bdc_field USING 'BDC_OKCODE'  'P+'.

            SHIFT v_xpos_belnr LEFT DELETING LEADING  '0'.

          ENDWHILE.

          CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.

          PERFORM bdc_screen USING 'SAPMF05A' '0608'.

          CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.

          PERFORM bdc_field USING:

                  v_xpos        'X',

                  'BDC_OKCODE'  '/00'.

        ENDIF.

      ENDIF.

      PERFORM bdc_screen USING  'SAPMF05A'      '0731'.

      PERFORM bdc_field  USING: 'BDC_OKCODE'    '/00',

                                'RF05A-SEL01(01)' t_dados-belnr.

      v_cont = '01'.

      LOOP AT t_doctos WHERE tcode  = t_dados-tcode

                         AND tabela = t_dados-tabela

                         AND cpochv = t_dados-cpochv.

        ADD 1 TO v_cont.

        CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.

        PERFORM bdc_field USING v_campo t_doctos-belnr.

        IF v_cont = 5.

          PERFORM bdc_screen USING 'SAPMF05A'   '0731'.

          PERFORM bdc_field  USING 'BDC_OKCODE' '/00'.

          CLEAR v_cont.

        ENDIF.

      ENDLOOP.

      IF v_rept = 2 AND v_debcred <> 'C'.

        PERFORM bdc_screen USING 'SAPMF05A'   '0731'.

        PERFORM bdc_field  USING 'BDC_OKCODE' '=SLK'.

      ELSE.

        PERFORM bdc_screen USING 'SAPMF05A'   '0731'.

        PERFORM bdc_field  USING 'BDC_CURSOR' 'RF05A-SEL01(01)'.

        PERFORM bdc_field  USING 'BDC_OKCODE' '=PA'.

      ENDIF.

      v_debcred = 'C'.

    ENDDO.

    MOVE: t_dados-umskz   TO v_umskz,

          t_dados-newbs   TO v_newbs,

          t_dados-d_newko TO v_agkon.

    PERFORM define_tela USING t_dados-tcode

                              t_dados-bukrs

                              v_agkon

                              v_newbs

                     CHANGING v_umskz

                              v_tela.

    v_tela2 = v_tela.

    IF v_acc_pre_dp = 'X'.

      v_tela2 = '0304'.

    ENDIF.

    LOOP AT t_doctos WHERE dtdocto NE '        ' AND

                           dtdocto NE '00000000'.

    ENDLOOP.

    IF sy-subrc            EQ 0       OR

       NOT t_dados-dtdocto IS INITIAL.

    IF v_filt_atrib = 'X' .

      PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

      PERFORM bdc_field  USING 'BDC_CURSOR' 'RF05A-ABPOS'.

      PERFORM bdc_field  USING 'BDC_OKCODE' '=OMX'.

      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'.

      PERFORM bdc_field  USING 'BDC_SUBSCR'  'SAPDF05X'.

      PERFORM bdc_field  USING 'RF05A-ABPOS' '1'.

      PERFORM bdc_field  USING 'BDC_OKCODE'  '=OSU'.

      CLEAR v_xpos1.

      SELECT SINGLE selps FROM t021r

        INTO  v_xpos1

        WHERE event = 'SU-AG'

          AND feldn = 'ZUONR'.

      SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

      WHILE v_xpos1 > 10.

        v_xpos1 = v_xpos1 - 10.

        PERFORM bdc_screen USING 'SAPDF05X'   '2000'.

        PERFORM bdc_field USING 'BDC_OKCODE'  'P+'.

        SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

      ENDWHILE.

      CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_zuonr.

      PERFORM bdc_screen USING 'SAPDF05X'    '2000'.

      PERFORM bdc_field USING 'BDC_CURSOR'   v_xpos_zuonr.

      PERFORM bdc_field  USING v_xpos_zuonr  'X'.

      PERFORM bdc_field  USING 'BDC_OKCODE'  '=GO'.

      PERFORM bdc_screen USING 'SAPDF05X'        '0731'.

      PERFORM bdc_field USING  'RF05A-SEL01(01)' v_zuonr.

      PERFORM bdc_field  USING 'BDC_OKCODE'      '=GO'.

    ENDIF.

      PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

      PERFORM bdc_field  USING 'BDC_CURSOR' 'RF05A-ABPOS'.

      PERFORM bdc_field  USING 'BDC_OKCODE' '=OMX'.

      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'.

      PERFORM bdc_field  USING 'BDC_SUBSCR'  'SAPDF05X'.

      PERFORM bdc_field  USING 'RF05A-ABPOS' '1'.

      PERFORM bdc_field  USING 'BDC_OKCODE'  '=OSU'.

      IF NOT v_xpos_awkey IS INITIAL.

        DO v_pos_awkey TIMES.

          PERFORM bdc_screen USING 'SAPDF05X'   '2000'.

          PERFORM bdc_field  USING 'BDC_OKCODE'  'P+'.

        ENDDO.

        PERFORM bdc_screen USING 'SAPDF05X'   '2000'.

        PERFORM bdc_field USING 'BDC_CURSOR'  v_xpos_awkey.

        PERFORM bdc_field  USING v_xpos_awkey 'X'.

        PERFORM bdc_field  USING 'BDC_OKCODE'  '=GO'.

        PERFORM bdc_screen USING 'SAPDF05X'   '0731'.

        PERFORM bdc_field USING 'BDC_CURSOR'  'RF05A-SEL01(01)'.

        CLEAR v_cont.

        CLEAR v_awkey.

        CLEAR v_year.

        CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

             EXPORTING

                  v_bukrs                = t_dados-bukrs

                  v_date                 = t_dados-dtdocto

             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.

        SELECT SINGLE awkey

               FROM bkpf

               INTO v_awkey

               WHERE belnr = t_dados-belnr AND

                     bukrs = t_dados-bukrs AND

                  gjahr = v_year.

        ADD 1 TO v_cont.

        CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.

        CONCATENATE 'RF05A-SEL02(' v_cont ')' INTO v_campo2.

        PERFORM bdc_field USING v_campo  v_awkey.

        PERFORM bdc_field USING v_campo2 v_awkey.

        LOOP AT t_doctos WHERE tcode  = t_dados-tcode

                           AND tabela = t_dados-tabela

                           AND cpochv = t_dados-cpochv.

          CLEAR v_awkey.

          CLEAR v_year.

          CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

               EXPORTING

                    v_bukrs                = t_dados-bukrs

                    v_date                 = t_doctos-dtdocto

               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.

          SELECT SINGLE awkey

                 FROM bkpf

                 INTO v_awkey

                 WHERE belnr = t_doctos-belnr AND

                       bukrs = t_dados-bukrs  AND

                       gjahr = v_year.

          ADD 1 TO v_cont.

          CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.

          CONCATENATE 'RF05A-SEL02(' v_cont ')' INTO v_campo2.

          PERFORM bdc_field USING v_campo  v_awkey.

          PERFORM bdc_field USING v_campo2 v_awkey.

          IF v_cont = 5.

            PERFORM bdc_field  USING 'BDC_OKCODE' '=SU1'.

            PERFORM bdc_screen USING 'SAPDF05X'   '0731'.

            PERFORM bdc_field USING 'BDC_CURSOR'  'RF05A-SEL01(01)'.

            CLEAR v_cont.

          ENDIF.

        ENDLOOP.

      ELSE.

        DO v_pos_budat TIMES.

          PERFORM bdc_screen USING 'SAPDF05X'   '2000'.

          PERFORM bdc_field  USING 'BDC_OKCODE'  'P+'.

        ENDDO.

        PERFORM bdc_screen USING 'SAPDF05X'    '2000'.

        PERFORM bdc_field USING 'BDC_CURSOR'   v_xpos_budat.

        PERFORM bdc_field  USING v_xpos_budat  'X'.

        PERFORM bdc_field  USING 'BDC_OKCODE'  '=GO'.

        CLEAR v_cont.

        PERFORM bdc_screen USING 'SAPDF05X'        '0732'.

        PERFORM bdc_field USING  'BDC_CURSOR'      'RF05A-VONDT(01)'.

        WRITE t_dados-dtdocto TO v_dtdocto.

        ADD 1 TO v_cont.

        CONCATENATE 'RF05A-VONDT(' v_cont ')' INTO v_campo.

        CONCATENATE 'RF05A-BISDT(' v_cont ')' INTO v_campo2.

        PERFORM bdc_field USING v_campo  v_dtdocto.

        PERFORM bdc_field USING v_campo2 v_dtdocto.

        LOOP AT t_doctos WHERE tcode  = t_dados-tcode

                           AND tabela = t_dados-tabela

                           AND cpochv = t_dados-cpochv.

          CHECK NOT t_doctos-dtdocto IS INITIAL.

          ADD 1 TO v_cont.

          CONCATENATE 'RF05A-VONDT(' v_cont ')' INTO v_campo.

          CONCATENATE 'RF05A-BISDT(' v_cont ')' INTO v_campo2.

          WRITE t_doctos-dtdocto TO v_dtdocto.

          PERFORM bdc_field USING v_campo  v_dtdocto.

          PERFORM bdc_field USING v_campo2 v_dtdocto.

          IF v_cont = 5.

            PERFORM bdc_field  USING 'BDC_OKCODE' '=SU1'.

            PERFORM bdc_screen USING 'SAPDF05X'   '0732'.

            PERFORM bdc_field USING  'BDC_CURSOR' 'RF05A-VONDT(01)'.

            CLEAR v_cont.

          ENDIF.

        ENDLOOP.

      ENDIF.

      PERFORM bdc_field  USING 'BDC_OKCODE' '=GO'.

    ENDIF.

    IF tcurx-currdec = 2.

      PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

      PERFORM bdc_field  USING 'BDC_CURSOR' 'RF05A-ABPOS'.

      PERFORM bdc_field  USING 'BDC_OKCODE' '=OMX'.

      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'.

      PERFORM bdc_field  USING 'BDC_SUBSCR'  'SAPDF05X'.

      PERFORM bdc_field  USING 'RF05A-ABPOS' '1'.

      PERFORM bdc_field  USING 'BDC_OKCODE'  '=OSU'.

      DO v_pos_wrbtr TIMES.

        PERFORM bdc_screen USING 'SAPDF05X'   '2000'.

        PERFORM bdc_field  USING 'BDC_OKCODE'  'P+'.

      ENDDO.

      PERFORM bdc_screen USING 'SAPDF05X'   '2000'.

      PERFORM bdc_field USING 'BDC_CURSOR'  v_xpos_wrbtr.

      PERFORM bdc_field  USING v_xpos_wrbtr 'X'.

      PERFORM bdc_field  USING 'BDC_OKCODE'  '=GO'.

      PERFORM bdc_screen USING 'SAPDF05X'        '0730'.

      PERFORM bdc_field USING  'BDC_CURSOR'      'RF05A-BISWT(01)'.

      PERFORM bdc_field USING  'RF05A-VONWT(01)' v_vl_min.

      PERFORM bdc_field USING  'RF05A-BISWT(01)' v_vl_max.

      PERFORM bdc_field  USING 'BDC_OKCODE' '=GO'.

    ENDIF.

    IF filtra EQ 'X'.

      IF so_segundo IS INITIAL.

        PERFORM bdc_screen USING 'SAPDF05X'    '3100'.

        PERFORM bdc_field  USING 'BDC_CURSOR'  'DF05B-PSBET(01)'.

        PERFORM bdc_field  USING 'BDC_OKCODE'  '=Z+'.

        IF total NE 'X'.

          PERFORM bdc_screen USING 'SAPDF05X'    '3100'.

          PERFORM bdc_field  USING 'BDC_CURSOR'  'DF05B-PSBET(02)'.

          PERFORM bdc_field  USING 'BDC_OKCODE'  '=Z+'.

        ENDIF.

      ELSE.

        PERFORM bdc_screen USING 'SAPDF05X'    '3100'.

        PERFORM bdc_field  USING 'BDC_CURSOR'  'DF05B-PSBET(02)'.

        PERFORM bdc_field  USING 'BDC_OKCODE'  '=Z+'.

      ENDIF.

    ELSE.

      PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

      PERFORM bdc_field  USING 'BDC_CURSOR' 'RF05A-ABPOS'.

      PERFORM bdc_field  USING 'BDC_OKCODE' '=OMX'.

      PERFORM bdc_screen USING 'SAPDF05X'    '3100'.

      PERFORM bdc_field  USING 'BDC_CURSOR'  'RF05A-ABPOS'.

      PERFORM bdc_field  USING 'BDC_OKCODE'  '=Z+'.

    ENDIF.

    PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

    PERFORM bdc_field  USING 'BDC_CURSOR' 'RF05A-ABPOS'.

    PERFORM bdc_field USING: 'BDC_OKCODE' '=REST'.

    PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

    PERFORM bdc_field  USING 'BDC_CURSOR' 'RF05A-ABPOS'.

    PERFORM bdc_field USING: 'BDC_OKCODE' '=DBR'.

    PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

    IF filtra     EQ 'X' AND

       so_segundo EQ 'X'.

      PERFORM bdc_field USING: 'BDC_CURSOR' 'DF05B-PSDIF(02)',

                               'BDC_OKCODE' '=PI'.

    ELSE.

      PERFORM bdc_field USING: 'BDC_CURSOR' 'DF05B-PSDIF(01)',

                               'BDC_OKCODE' '=PI'.

    ENDIF.

    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.

    PERFORM verifica_empresas USING t_dados-bukrs

                                    'UMBUCHNG'

                                    t_dados-d_newko

                                    v_agkoa.

    IF v_linhas EQ 1

       AND v_dp EQ 'X'.

      v_linhas = v_linhas + 1.

    ENDIF.

    MOVE t_dados-brnch TO c_brnch.

    PERFORM bdc_screen USING 'SAPMF05A' '0700'.

    PERFORM bdc_field USING:

            'BDC_CURSOR' 'RF05A-NEWBS',

            'BDC_OKCODE' '=PI'.

    PERFORM bdc_screen USING 'SAPMF05A' '0610'.

    PERFORM bdc_field USING:

            'BDC_CURSOR'  '*BSEG-BUZEI',

            '*BSEG-BUZEI' v_linhas,

            'BDC_OKCODE'  '/00'.

    CLEAR v_year.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-budat

         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.

    IF wa_tbsl-koart EQ 'S'.

      SELECT SINGLE sgtxt

                    zuonr

                    bupla

                    gsber

                    zfbdt

                    valut

             FROM bsis

             INTO (c_sgtxt,

                   c_zuonr,

                   c_brnch,

                   c_gsber,

                   c_zfbdt,

                   c_valut)

             WHERE bukrs = t_dados-bukrs      AND

                   hkont = t_dados-d_newko    AND

                  gjahr = v_year             AND

                   belnr = t_dados-belnr.

      IF sy-subrc NE 0.

        SELECT SINGLE sgtxt

                      zuonr

                      bupla

                      gsber

                      zfbdt

                      valut

               FROM bsas

               INTO (c_sgtxt,

                     c_zuonr,

                     c_brnch,

                     c_gsber,

                     c_zfbdt,

                     c_valut)

               WHERE bukrs = t_dados-bukrs      AND

                     hkont = t_dados-d_newko    AND

                  gjahr = v_year             AND

                     belnr = t_dados-belnr.

      ENDIF.

    ELSEIF wa_tbsl-koart EQ 'D'.

      SELECT SINGLE sgtxt

                    zuonr

                    bupla

                    gsber

                    zfbdt

                    zbd1t

             FROM bsid

             INTO (c_sgtxt,

                   c_zuonr,

                   c_brnch,

                   c_gsber,

                   c_zfbdt,

                   c_zbd1t)

             WHERE bukrs = t_dados-bukrs      AND

                   kunnr = t_dados-d_newko    AND

                  gjahr = v_year             AND

                   belnr = t_dados-belnr.

      IF sy-subrc NE 0.

        SELECT SINGLE sgtxt

                      zuonr

                      bupla

                      gsber

                      zfbdt

                      zbd1t

               FROM bsad

               INTO (c_sgtxt,

                     c_zuonr,

                     c_brnch,

                     c_gsber,

                     c_zfbdt,

                     c_zbd1t)

               WHERE bukrs = t_dados-bukrs      AND

                     kunnr = t_dados-d_newko    AND

                  gjahr = v_year             AND

                     belnr = t_dados-belnr.

      ENDIF.

    ELSEIF wa_tbsl-koart EQ 'K'.

      SELECT SINGLE sgtxt

                    zuonr

                    bupla

                    gsber

                    zfbdt

                    zbd1t

             FROM bsik

             INTO (c_sgtxt,

                   c_zuonr,

                   c_brnch,

                   c_gsber,

                   c_zfbdt,

                   c_zbd1t)

             WHERE bukrs = t_dados-bukrs      AND

                   lifnr = t_dados-d_newko    AND

                  gjahr = v_year             AND

                   belnr = t_dados-belnr.

      IF sy-subrc NE 0.

        SELECT SINGLE sgtxt

                      zuonr

                      bupla

                      gsber

                      zfbdt

                      zbd1t

               FROM bsak

               INTO (c_sgtxt,

                     c_zuonr,

                     c_brnch,

                     c_gsber,

                     c_zfbdt,

                     c_zbd1t)

               WHERE bukrs = t_dados-bukrs      AND

                     lifnr = t_dados-d_newko    AND

                  gjahr = v_year             AND

                     belnr = t_dados-belnr.

      ENDIF.

    ENDIF.

    c_zuonr = v_zuonr.

    IF v_op = 'X' AND v_vinc_tot IS INITIAL.

      v_lanc2 = 'D'.

    ENDIF.

    IF wa_tbsl-koart EQ 'D'.

      IF NOT v_vinc_tot IS INITIAL.

        CLEAR:   itab_oculto, v_string_credito.

        REFRESH: itab_oculto.

        t_dados-newbs = '17'.

        PERFORM determina_string USING t_dados-newbs

                                       t_dados-bukrs

                                       v_cconta

                              CHANGING v_string_credito.

        PERFORM trata_string_credito TABLES t_dados

                                            t_campo

                                            itab_oculto

                                     USING  v_string_credito.

        PERFORM trata_string_debito TABLES t_dados

                                           t_campo

                                           itab_oculto

                                    USING  v_string_credito.

        v_lanc1 = 'C'.

        v_lanc2 = 'C'.

      ELSE.

        CLEAR:   itab_oculto, v_string_credito.

        REFRESH: itab_oculto.

        t_dados-newbs = '04'.

        PERFORM determina_string USING t_dados-newbs

                                       t_dados-bukrs

                                       v_cconta

                              CHANGING v_string_credito.

        PERFORM trata_string_credito TABLES t_dados

                                            t_campo

                                            itab_oculto

                                     USING  v_string_credito.

        PERFORM trata_string_debito TABLES t_dados

                                           t_campo

                                           itab_oculto

                                    USING  v_string_credito.

        v_lanc1 = 'D'.

        v_lanc2 = 'D'.

      ENDIF.

    ENDIF.

    IF c_valut IS INITIAL.

      c_valut = t_dados-c_valut.

    ENDIF.

    IF c_zuonr IS INITIAL.

      c_zuonr = t_dados-c_zuonr.

      IF t_dados-c_zuonr IS INITIAL.

        IF t_zycbt036-zuonr IS INITIAL.

          c_zuonr = t_doctos-zuonr.

        ELSE.

          MOVE t_zycbt036-zuonr TO c_zuonr.

        ENDIF.

      ELSE.

        MOVE t_dados-c_zuonr TO c_zuonr.

      ENDIF.

    ENDIF.

    IF NOT v_liq_and IS INITIAL.

      c_zuonr+17(1) = 'S'.

    ENDIF.

    IF c_sgtxt IS INITIAL.

      c_sgtxt = t_dados-c_sgtxt.

    ENDIF.

    IF c_gsber IS INITIAL AND

       NOT t_dados-d_gsber IS INITIAL.

      c_gsber = t_dados-c_gsber.

    ENDIF.

    IF NOT c_valut = '00000000' AND

       NOT c_valut = '        '.

      WRITE: c_valut TO v_valut.

    ENDIF.

    IF NOT c_zfbdt = '00000000' AND

       NOT c_zfbdt = '        '.

      WRITE:  c_zfbdt TO v_zfbdt.

    ENDIF.

    PERFORM bdc_screen USING 'SAPMF05A' v_tela2.

    PERFORM bdc_field USING:

            'BDC_OKCODE' '=BU'.

    IF wa_tbsl-koart EQ 'K'.

      IF v_zbd1t > 0.                                     "#EC PORTABLE

        READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                        chave = v_lanc2.

        IF sy-subrc <> 0.

          PERFORM bdc_field USING 'BSEG-ZBD1T' c_zbd1t.

        ENDIF.

      ENDIF.

      IF NOT c_sgtxt IS INITIAL.

        PERFORM bdc_field USING 'BSEG-SGTXT' c_sgtxt.

      ENDIF.

      IF c_zuonr NE v_zuonr.

        IF NOT c_zuonr IS INITIAL.

          PERFORM bdc_field USING 'BSEG-ZUONR' c_zuonr.

        ENDIF.

      ENDIF.

      IF NOT c_gsber IS INITIAL AND

         NOT t_dados-d_gsber IS INITIAL.

        PERFORM bdc_field USING:

                'BSEG-GSBER' c_gsber.

      ENDIF.

      READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'

                                      chave = v_lanc2.

      IF sy-subrc <> 0.

        IF NOT c_brnch IS INITIAL.

          PERFORM bdc_field USING:

                'BSEG-BUPLA'  c_brnch.

        ELSEIF NOT t_dados-brnch IS INITIAL.

          PERFORM bdc_field USING:

                'BSEG-BUPLA'  t_dados-brnch.

        ENDIF.

      ENDIF.

    ELSEIF wa_tbsl-koart EQ 'D'.

      IF NOT c_brnch IS INITIAL

        AND v_vinc_tot IS INITIAL.

        READ TABLE itab_oculto

          WITH KEY campo = 'BSEG-BUPLA'

                   chave = v_lanc1.

        IF sy-subrc NE 0.

          PERFORM bdc_field USING:

                  'BSEG-BUPLA'     c_brnch.

        ENDIF.

      ENDIF.

      IF NOT c_sgtxt IS INITIAL.

        PERFORM bdc_field USING 'BSEG-SGTXT' c_sgtxt.

      ENDIF.

      IF c_zuonr NE v_zuonr.

        IF NOT c_zuonr IS INITIAL.

          PERFORM bdc_field USING 'BSEG-ZUONR' c_zuonr.

        ENDIF.

      ENDIF.

      IF v_tela2 = '0304'.

        IF NOT v_umskz IS INITIAL.

          CLEAR v_zfbdt_tela.

          SELECT SINGLE ulsk1

            INTO v_ulsk1

            FROM t042

            WHERE bukrs EQ t_dados-bukrs.

          IF v_ulsk1 NS v_umskz.

            SELECT SINGLE umsks

              INTO v_umsks

              FROM t074u

              WHERE koart EQ 'D' AND

                    umskz EQ v_umskz.

            IF v_umsks NE 'A'.

              v_zfbdt_tela = 'X'.

            ENDIF.

          ELSE.

            v_zfbdt_tela = 'X'.

          ENDIF.

        ENDIF.

      ELSE.

        v_zfbdt_tela = 'X'.

      ENDIF.

      READ TABLE itab_oculto

        WITH KEY campo = 'BSEG-ZFBDT' chave = v_lanc1

        TRANSPORTING NO FIELDS.

      IF v_zfbdt_tela EQ 'X' AND sy-subrc NE 0 AND

         ( v_linhas LT '002' OR

           ( v_linhas EQ '002' AND v_vinc_tot IS INITIAL ) ).

        PERFORM define_campo TABLES t_telas

                             USING  v_programa

                                    v_tela2

                                    'BSEG-ZFBDT'.

        IF v_invisible EQ 0.

          IF v_input EQ 1 OR v_required EQ 1

             AND NOT v_zfbdt IS INITIAL

             AND NOT v_zfbdt = '00.00.0000'

             AND NOT v_zfbdt = '00/00/0000'.

            IF NOT t_dados-zfbdt IS INITIAL

               AND NOT t_dados-zfbdt = '00.00.0000'

               AND NOT t_dados-zfbdt = '00/00/0000'

               AND NOT t_dados-zfbdt = '00000000'.

              PERFORM bdc_field  USING: 'BSEG-ZFBDT' v_zfbdt.

              v_zfbdt2 = '00.00.0000'.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

      IF NOT v_tela2 = '0304'.

        IF v_vinc_tot IS INITIAL AND

           v_dp IS INITIAL.

          IF NOT v_zfbdt2 EQ '00.00.0000'.

            IF v_op IS INITIAL.

              PERFORM define_campo TABLES t_telas

                                   USING  v_programa

                                          v_tela2

                                          'BSEG-ZFBDT'.

              IF v_invisible EQ 0.

                IF v_input EQ 1 OR v_required EQ 1

                   AND NOT v_zfbdt IS INITIAL

                   AND NOT v_zfbdt = '00.00.0000'

                   AND NOT v_zfbdt = '00/00/0000'.

                  PERFORM bdc_field  USING: 'BSEG-ZFBDT' v_zfbdt2.

                ENDIF.

              ENDIF.

            ENDIF.

          ENDIF.

          IF NOT t_dados-zterm IS INITIAL.

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                            chave = v_lanc2.

            IF sy-subrc NE 0.

              PERFORM bdc_field USING 'BSEG-ZTERM' t_dados-zterm.

            ENDIF.

          ENDIF.

          IF  v_zbd1t > 0 AND t_dados-umskz IS INITIAL.   "#EC PORTABLE

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                            chave = v_lanc2.

            IF sy-subrc NE 0.

              PERFORM bdc_field USING 'BSEG-ZBD1T' v_zbd1t.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

    ELSEIF wa_tbsl-koart EQ 'S'.

      IF NOT c_sgtxt IS INITIAL.

        PERFORM bdc_field USING 'BSEG-SGTXT' c_sgtxt.

      ENDIF.

      IF v_zuonr NE c_zuonr.

        IF NOT v_op IS INITIAL OR NOT v_liqop IS INITIAL.

          PERFORM bdc_field USING 'BSEG-ZUONR' ' '.

        ELSE.

          IF NOT c_zuonr IS INITIAL.

            PERFORM bdc_field USING 'BSEG-ZUONR' c_zuonr.

          ENDIF.

        ENDIF.

      ENDIF.

      IF v_liqop NE 'X'.

        IF NOT c_brnch IS INITIAL AND

           NOT t_dados-brnch IS INITIAL AND

               c_brnch NE space   AND

               v_vinc_tot IS INITIAL AND

               v_desc_rec IS INITIAL.

          READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'

                                                    chave = v_lanc2.

          IF sy-subrc <> 0.

            PERFORM bdc_field USING:

                    'BSEG-BUPLA' c_brnch.

          ENDIF.

        ENDIF.

      ENDIF.

      IF ( NOT t_dados-d_valut IS INITIAL AND

           NOT t_dados-d_valut EQ '00000000'

           AND v_vinc_tot IS INITIAL

           AND v_dev IS INITIAL

           AND v_linhas LT '002' )

         OR ( NOT v_op IS INITIAL AND v_vinc_tot IS INITIAL ).

        IF NOT c_valut IS INITIAL .

          READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT'

                                          chave = v_lanc2.

          IF sy-subrc <> 0.

            PERFORM define_campo TABLES t_telas

                                 USING  v_programa

                                        v_tela

                                        'BSEG-VALUT'.

            IF v_invisible EQ 0.

              IF v_input EQ 1 OR v_required EQ 1

                 AND NOT v_valut IS INITIAL

                 AND NOT v_valut = '00.00.0000'

                 AND NOT v_valut = '00/00/0000'.

                PERFORM bdc_field USING 'BSEG-VALUT' v_valut.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

      PERFORM bdc_screen USING 'SAPLKACB' '0002'.

      IF NOT c_gsber IS INITIAL AND

         NOT t_dados-d_gsber IS INITIAL.

        READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'

                                        chave = v_lanc2.

        IF sy-subrc <> 0.

          PERFORM bdc_field USING 'COBL-GSBER' c_gsber.

        ENDIF.

        IF NOT t_dados-d_gsber IS INITIAL.

          READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'

                                          chave = v_lanc1.

          IF sy-subrc <> 0.

            PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.

          ENDIF.

        ENDIF.

      ENDIF.

      IF NOT t_dados-d_fipos IS INITIAL.

        READ TABLE itab_oculto WITH KEY campo = 'COBL-FIPOS'

                                          chave = v_lanc1.

        IF sy-subrc NE 0.

          PERFORM bdc_field USING 'COBL-FIPOS' t_dados-d_fipos.

        ENDIF.

      ENDIF.

      IF NOT t_dados-d_prctr IS INITIAL.

        READ TABLE itab_oculto WITH KEY campo = 'COBL-PRCTR'

                                          chave = v_lanc1.

        IF sy-subrc NE 0.

          PERFORM bdc_field USING 'COBL-PRCTR' t_dados-d_prctr.

        ENDIF.

      ENDIF.

      IF NOT t_dados-d_kostl IS INITIAL.

        READ TABLE itab_oculto WITH KEY campo = 'COBL-KOSTL'

                                          chave = v_lanc1.

        IF sy-subrc NE 0.

          PERFORM bdc_field USING 'COBL-KOSTL' t_dados-d_kostl.

        ENDIF.

      ENDIF.

      PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.

    ENDIF.

    REFRESH itab_msg.

    CLEAR itab_msg.

    v_transacao = 'F-30'.

    v_update = 'S'.

    v_msgid = 'F5'.

    v_msgno = '312'.

    IF v_modo IS INITIAL.

      v_mode = 'N'.

    ELSE.

      v_mode = v_modo.

    ENDIF.

    PERFORM  call_transaction TABLES itab_msg

                                     itab_bdc

                                     t_zycbt032

                                     t_dados

                              USING  v_transacao

                                     v_mode

                                     v_update

                                     v_msgid

                                     v_msgno

                              CHANGING v_nrmsg.

  ENDLOOP.

  FREE:

  itab_bdc,

  itab_msg.

* << Fim da inclusão

ENDFUNCTION.

 

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

Modificações efetuadas em REPS /PWS/LZYGLGF2UXX

 

...

INCLUDE /PWS/LZYGLGF2U53.

INCLUDE /PWS/LZYGLGF2U52.

INCLUDE /PWS/LZYGLGF2U54.

INCLUDE /PWS/LZYGLGF2U55.

INCLUDE /PWS/LZYGLGF2U56.

INCLUDE /PWS/LZYGLGF2U58.

INCLUDE /PWS/LZYGLGF2U57.

INCLUDE /PWS/LZYGLGF2U59.

INCLUDE /PWS/LZYGLGF2U60.

INCLUDE /PWS/LZYGLGF2U61.

* >> Início da inclusão:

INCLUDE /PWS/LZYGLGF2U62.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB001F01

 

...

      clear itab_zyglt321.

      refresh itab_zyglt321.

      select *

        into table itab_zyglt321

        from /pws/zyglt321

        where ktosl   = 'CPT'

          and codeven = v_codeven.

      if sy-subrc = 0.

        read table itab_zyglt321

             with key cpor3 = 'ZFBDT'.

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

        if itab_zyglt321-cpocb = 'DTLIQUID'.

          perform fill_date_fb02.

* << Fim da exclusão

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

        if sy-subrc = 0 and itab_zyglt321-cpocb = 'DTLIQUID'.

          perform fill_date_fb02

                  using ' '.

* << Fim da inclusão

        endif.

      endif.

      exit.

    endif.

    if wa_zycbt007-cfm = 'X'.

      if /pws/zycbe001-tpcontr(1) ne 'C' and

         /pws/zycbe001-tpcontr(1) ne 'E'.

        select single *

               from /pws/zycbt001

               into wa_zycbt001_log

...

 

...

          elseif itab_zyglt321-cpocb = 'DTCONTR'.

            itab_zycbe033-zfbdt = /pws/zycbe001-dtcontr.

          elseif itab_zyglt321-cpocb = 'DTCRED'.

            itab_zycbe033-zfbdt = /pws/zycbe001-dtcred.

          elseif itab_zyglt321-cpocb = 'DTDESEM'.

            itab_zycbe033-zfbdt = /pws/zycbe001-dtdesem.

          elseif itab_zyglt321-cpocb = 'DTENTR'.

            itab_zycbe033-zfbdt = /pws/zycbe001-dtentr.

          elseif itab_zyglt321-cpocb = 'DTINIJUR'.

            itab_zycbe033-zfbdt = /pws/zycbe001-dtinijur.

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

          elseif itab_zyglt321-cpocb = 'DTFINAL'.

            if /pws/zycbe001-tpcontr(1) = 'P' or

               /pws/zycbe001-tpcontr(1) = 'S'.

              describe table itab_zycbt002p lines v_linha.

              read table itab_zycbt002p index v_linha.

              if sy-subrc = 0.

                if not itab_zycbt002p-dtpror is initial.

                  itab_zycbe033-zfbdt = itab_zycbt002p-dtpror.

                else.

                  itab_zycbe033-zfbdt = itab_zycbt002p-dtfinal.

                endif.

              endif.

* << Fim da inclusão

          endif.

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

          endif.

* << Fim da inclusão

      endcase.

    endloop.

  endif.

  if /pws/zycbe001-tpcontr(1) eq 'P' or

     /pws/zycbe001-tpcontr(1) eq 'S'.

    concatenate /pws/zycbe001-nrseqc /pws/zycbe001-tpcontr

...

 

...

                up to 1 rows

                where nrseqc = /pws/zycbe001-nrseqc.

      v_ok = 'N'.

    endselect.

    if sy-subrc eq 0.

      message i033 with text-336.

      exit.

    endif.

  endif.

  check v_ok ne 'N'.

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

  if /pws/zycbe001-belnr2 is initial.

* << Fim da exclusão

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

  if /pws/zycbe001-belnr2 is initial

     or /pws/zycbe001-belnr2 = /pws/zycbe001-belnr.

* << Fim da inclusão

    perform reverse_document_zycbt001_del.

  else.

    perform reverse_document_zycbt_belnr2 using wa_zycbt001-belnr2

                                                wa_zycbt001-dtvincul

                                                wa_zycbt001-vlme

                                                '/PWS/ZYCBT001'.

  endif.

  if sy-subrc eq 0.

    if wa_zycbt007-cfm = 'X'.

      if /pws/zycbe001-tpcontr(1) ne 'C' and

...

 

...

            error_period_acc = 2

            others           = 3.

  if sy-subrc = 0.

    itab_zycbe033-stgrd = '01'.

  else.

    itab_zycbe033-stgrd = '02'.

    itab_zycbe033-budat = sy-datum.

  endif.

  append itab_zycbe033.

  if /pws/zycbe001-fdtlanc = 'O'.

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

    move /pws/zycbe001-dtcontr(4) to v_gjahs.

* << Fim da exclusão

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

    perform determina_ano using /pws/zycbe001-dtcontr

                                itab_zycbe033-bukrs

                       changing v_gjahs.

* << Fim da inclusão

  elseif /pws/zycbe001-fdtlanc = 'C'.

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

    move /pws/zycbe001-dtcred(4) to v_gjahs.

* << Fim da exclusão

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

    perform determina_ano using /pws/zycbe001-dtcred

                                itab_zycbe033-bukrs

                       changing v_gjahs.

* << Fim da inclusão

  elseif /pws/zycbe001-fdtlanc = 'D'.

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

    move /pws/zycbe001-dtdesem(4) to v_gjahs.

* << Fim da exclusão

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

    perform determina_ano using /pws/zycbe001-dtdesem

                                itab_zycbe033-bukrs

                       changing v_gjahs.

* << Fim da inclusão

  endif.

  call function '/PWS/ZYCB_TRANSACAO_FB08'

       exporting

            v_modo          = v_modo_bi

            v_gjahs         = v_gjahs

       tables

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       exceptions

...

 

...

     /pws/zycbe074-spart_or   eq wa_zycbt074-spart_or and

     /pws/zycbe074-versi_or   eq wa_zycbt074-versi_or and

     /pws/zycbe074-vkorg_or   eq wa_zycbt074-vkorg_or and

     /pws/zycbe074-vrgar_or   eq wa_zycbt074-vrgar_or and

     /pws/zycbe074-werks_or   eq wa_zycbt074-werks_or and

     /pws/zycbe074-vtweg_or   eq wa_zycbt074-vtweg_or and

     /pws/zycbe001-status   eq 'C' and

     v_estorna <> 'S'.

    modify /pws/zycbt001.

    if /pws/zycbe001-dtliquid ne wa_zycbt001-dtliquid.

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

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

      clear itab_zyglt321.

      refresh itab_zyglt321.

      select *

        into table itab_zyglt321

        from /pws/zyglt321

        where ktosl   = 'CPT'

          and codeven = v_codeven.

      if sy-subrc = 0.

        read table itab_zyglt321

             with key cpor3 = 'ZFBDT'.

        if sy-subrc = 0 and itab_zyglt321-cpocb = 'DTLIQUID'.

          perform fill_date_fb02

                  using ' '.

          loop at itab_zycbt002p where not belnr is initial.

            perform fill_date_fb02 using 'X'.

          endloop.

        endif.

      endif.

    endif.

    loop at itab_zycbt002p where not belnr is initial.

      read table itab_zycbt002p_ant with key

                                         nrparc = itab_zycbt002p-nrparc.

      if sy-subrc = 0 and

         ( itab_zycbt002p-dtpror  ne itab_zycbt002p_ant-dtpror or

           itab_zycbt002p-dtfinal ne itab_zycbt002p_ant-dtfinal )

         and not itab_zycbt002p-vlme ne itab_zycbt002p_ant-vlme.

* << Fim da inclusão

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

      clear itab_zyglt321.

      refresh itab_zyglt321.

      select *

        into table itab_zyglt321

        from /pws/zyglt321

        where ktosl   = 'CPT'

          and codeven = v_codeven.

      if sy-subrc = 0.

        read table itab_zyglt321

             with key cpor3 = 'ZFBDT'.

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

        if itab_zyglt321-cpocb = 'DTLIQUID'.

          perform fill_date_fb02.

* << Fim da exclusão

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

          if sy-subrc = 0 and itab_zyglt321-cpocb = 'DTFINAL'.

            perform fill_date_fb02 using 'X'.

            at last.

              perform fill_date_fb02 using ' '.

            endat.

* << Fim da inclusão

        endif.

      endif.

    endif.

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

    endloop.

* << Fim da inclusão

    if wa_zycbt007-cfm = 'X'.

      if /pws/zycbe001-tpcontr(1) ne 'C' and

         /pws/zycbe001-tpcontr(1) ne 'E'.

        select single *

...

 

...

      perform fill_date1_f02.

    endif.

    perform save_zycbt002.

    perform save_zycbt003.

    move /pws/zycbe001 to wa_zycbt001.

    move /pws/zycbe074 to wa_zycbt074.

    commit work.

  else.

    perform refresh_dependent_tables using v_ok 'SAVE'.

    if /pws/zycbe001-dtliquid ne wa_zycbt001-dtliquid.

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

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

      clear itab_zyglt321.

      refresh itab_zyglt321.

      select *

        into table itab_zyglt321

        from /pws/zyglt321

        where ktosl   = 'CPT'

          and codeven = v_codeven.

      if sy-subrc = 0.

        read table itab_zyglt321

             with key cpor3 = 'ZFBDT'.

        if sy-subrc = 0 and itab_zyglt321-cpocb = 'DTLIQUID'.

          perform fill_date_fb02

                  using ' '.

          loop at itab_zycbt002p where not belnr is initial.

            perform fill_date_fb02 using 'X'.

          endloop.

        endif.

      endif.

    endif.

    loop at itab_zycbt002p where not dtpror is initial

                             and not belnr  is initial.

      read table itab_zycbt002p_ant with key

                                         nrparc = itab_zycbt002p-nrparc.

      if ( sy-subrc = 0 and

           itab_zycbt002p-dtpror ne itab_zycbt002p_ant-dtpror )

         or sy-subrc ne 0.

* << Fim da inclusão

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

      clear itab_zyglt321.

      refresh itab_zyglt321.

      select *

        into table itab_zyglt321

        from /pws/zyglt321

        where ktosl   = 'CPT'

          and codeven = v_codeven.

      if sy-subrc = 0.

        read table itab_zyglt321

             with key cpor3 = 'ZFBDT'.

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

        if itab_zyglt321-cpocb = 'DTLIQUID'.

          perform fill_date_fb02.

* << Fim da exclusão

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

          if itab_zyglt321-cpocb = 'DTFINAL'.

            perform fill_date_fb02 using 'X'.

* << Fim da inclusão

        endif.

      endif.

    endif.

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

    endloop.

* << Fim da inclusão

    if v_ok ne 'N'.

      perform altera_parc_pt.

    else.

      move wa_zycbt001 to /pws/zycbe001.

...

 

...

                into (/pws/zycbt004-nrseqc)

                up to 1 rows

                where nrseqc = /pws/zycbe001-nrseqc.

    v_ok = 'N'.

  endselect.

  if sy-subrc eq 0.

    message i033 with text-231.

    exit.

  endif.

  check v_ok ne 'N'.

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

  if /pws/zycbe001-belnr2   is initial and

           /pws/zycbe001-belnr_tr eq /pws/zycbe001-belnr.

* << Fim da exclusão

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

  if ( /pws/zycbe001-belnr2   is initial and

           /pws/zycbe001-belnr_tr eq /pws/zycbe001-belnr )

     or /pws/zycbe001-belnr2 = /pws/zycbe001-belnr.

* << Fim da inclusão

    perform reverse_document_zycbt001_del.

  else.

    if /pws/zycbe001-belnr2 is initial.

      perform reverse_document_zycbt_belnr2 using wa_zycbt001-belnr

                                                  wa_zycbt001-dtvincul

                                                  wa_zycbt001-vlme

                                                  '/PWS/ZYCBT001'.

    else.

      perform reverse_document_zycbt_belnr2 using wa_zycbt001-belnr2

                                                  wa_zycbt001-dtvincul

...

 

 

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

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_tpcontr_c like /pws/zycbt061-tpcontr_c,

* << Fim da inclusão

        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.

    endif.

...

 

...

    perform retorna_saldo_acc changing v_belnr

                                       v_budat

                                       v_prim.

    modify itab_zycbt061.

  endloop.

  clear sy-subrc.

endform.

form lancamento_pre_acc.

  data: valor    like /pws/zycbt002-vlme,

        belnr    like /pws/zycbt001-belnr,

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

        v_docto1 like /pws/zycbt001-belnr,

* << Fim da inclusão

        budat    like sy-datum,

        subrc    like sy-subrc,

        v_prim   type c,

        v_lines  like sy-tabix.

  clear: valor,

         sy-subrc,

         itab_zycbt061.

  refresh: itab_zycbt061.

  select *

         from /pws/zycbt061

...

 

...

        endcase.

      else.

        budat = wa_zycbt001_pre-dtvincul.

      endif.

    else.

      belnr = wa_zycbt001_pre-belnr2.

      budat = wa_zycbt001_pre-dtvincul.

    endif.

    itab_zycbt061-belnr_d = belnr.

    itab_zycbt061-budat_d = budat.

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

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

* << Fim da inclusão

    if wa_zycbt001_pre-slvinc ne 0.

      itab_zycbt061-baixa = 'X'.

      perform desmembra_acc.

      if sy-subrc ne 0.

        subrc = 4.

        exit.

      endif.

    endif.

    modify itab_zycbt061.

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

    endif.

* << Fim da inclusão

  endloop.

  check subrc eq 0.

  clear: belnr, budat.

  perform clearing_pre changing belnr

                                budat.

  check sy-subrc eq 0.

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

  v_docto1 = belnr.

* << Fim da inclusão

  if /pws/zycbe001-tpcontr(1) ca 'PS'.

...

 

...

              endif.

            endselect.

          endif.

        endif.

        v_prim = 'X'.

      endloop.

    endif.

  else.

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

    /pws/zycbe001-dtvincul = /pws/zycbt001-dtvincul = budat.

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

  endif.

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

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

    if wa_zycbt001_pre-slvinc ne 0.

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

        select *

        from /pws/zycbt002 into table itab_zycbt002p1

        where nrseqc = itab_zycbt061-nrseq_c and

              tpparc = 'P'                   and

              slvinc ne '0'.

        loop at itab_zycbt002p1 .

          if itab_zycbt002p1-slvinc ne itab_zycbt061-vlalt.

          read table itab_zycbt067 with key

                              nrparc = itab_zycbt002p1-nrparc.

           if sy-subrc = 0.

            perform clearing_residual  changing v_docto1 budat .

           endif.

          endif.

        endloop.

        clear   itab_zycbt002p1.

        refresh itab_zycbt002p1.

      else.

        select *

        from /pws/zycbt002 into table itab_zycbt002p1

        where nrseqc = itab_zycbt061-nrseq_c and

              tpparc = 'P'                   and

              slvinc ne '0'.

        loop at itab_zycbt002p1 .

          select *

          from /pws/zycbt067 into table itab_zycbt067

          where nrseq_c = itab_zycbt002p1-nrseqc and

                vlme   ne itab_zycbt002p1-vlme.

          if sy-subrc = 0.

            perform clearing_residual  changing v_docto1 budat.

          exit.

          endif.

        endloop.

        clear   itab_zycbt002p1.

        refresh itab_zycbt002p1.

      endif.

    endif.

   endif.

* << Fim da inclusão

  endif.

  if sy-subrc eq 0 and

        subrc eq 0.

    /pws/zycbt001-status = 'C'.

    /pws/zycbe001-status = 'C'.

    /pws/zycbe001-f_pre  = /pws/zycbt001-f_pre = 'C'.

  endif.

endform.

form desmembra_acc.

  data: conta_acc    like /pws/zycbt012-saknr1,

...

 

...

            others                 = 7.

  select single budat

         from bkpf

         into itab_zycbe033-dtdocto

         where bukrs = wa_zycbt001_pre-bukrs

           and belnr = itab_zycbt061-belnr_d

           and gjahr = v_year.

  perform verify_null_field using conta_acc

                                  'AGKON'

                                  text-015.

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

  itab_zycbe033-d_newko  = conta_acc.

  itab_zycbe033-newbs = '50'.

* << Fim da exclusão

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

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

  itab_zycbe033-d_newko = conta_pre.

else.

  itab_zycbe033-d_newko = conta_acc.

endif.

if wa_zycbt001_pre-tpcontr = 'A'.

  itab_zycbe033-d_newko1 = conta_acc.

elseif wa_zycbt001_pre-tpcontr ne 'A'.

  itab_zycbe033-d_newko1 = conta_pre.

endif.

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

    itab_zycbe033-newbs   = '19'.

    itab_zycbe033-agkoa   = 'D'.

    itab_zycbe033-umskz   =  cod_rze.

    v_dp = 'X'.

  else.

    itab_zycbe033-newbs   = '50'.

    itab_zycbe033-agkoa   = 'S'.

  endif.

* << Fim da inclusão

  concatenate text-467 /pws/zycbe001-nrseqc

             into itab_zycbe033-d_zuonr

             separated by space.

  itab_zycbt036-tcode   = itab_zycbe033-tcode.

  itab_zycbt036-tabela  = itab_zycbe033-tabela.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

  itab_zycbt036-residuo = itab_zycbe033-wrbtr.

  itab_zycbt036-zuonr   = itab_zycbe033-d_zuonr.

  append itab_zycbt036.

  itab_zycbe033-belnr = itab_zycbt061-belnr_d.

...

 

...

    if sy-subrc = 0.

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

                                        tabela = 'ZYCBT001'

                                        cpochv = wa_zycbt001_pre-nrseqc

                                        tpmsg  = 'S'.

      if sy-subrc = 0.

        itab_zycbt061-belnr_d = itab_zycbt032-belnr.

        itab_zycbt061-budat_d = itab_zycbe033-budat.

        wa_zycbt001_pre-belnr2   = itab_zycbt032-belnr.

        wa_zycbt001_pre-dtvincul = itab_zycbe033-budat.

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

      if /pws/zycbe001-tpcontr+0(1) = 'D' and

         wa_zycbt001_pre-tpcontr    = 'A'.

        update /pws/zycbt001 set belnr   = wa_zycbt001_pre-belnr2

                                 dtvincul = wa_zycbt001_pre-dtvincul

                           where nrseqc  = wa_zycbt001_pre-nrseqc.

        commit work.

      else.

* << Fim da inclusão

        update /pws/zycbt001 set belnr2   = wa_zycbt001_pre-belnr2

                                 dtvincul = wa_zycbt001_pre-dtvincul

                            where nrseqc  = wa_zycbt001_pre-nrseqc.

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

        commit work.

     endif.

* << Fim da inclusão

        itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.

        itab_contabil-nrparpre = space.

        itab_contabil-nrseqacc = wa_zycbt001_pre-nrseqc.

...

 

...

  else.

    sy-subrc = 4.

  endif.

endform.

form clearing_pre changing p_belnr

                           p_budat.

  data: conta_acc    like /pws/zycbt012-saknr1,

        conta_pre    like /pws/zycbt012-saknr1,

        cod_rze      like /pws/zycbt011-agums,

        texto_acc    like /pws/zycbt011-txtdesc,

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

        v_atrib      type c,

* << Fim da inclusão

        texto_pre    like /pws/zycbt011-txtdesc.

  data: begin of itab_partidas occurs 0.

          include structure /pws/zycbe033.

  data: end of itab_partidas.

  perform clear_date_batch.

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

  clear: itab_zycbt036,

         wa_zycbt001_pre.

* << Fim da exclusão

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

  clear: itab_zycbt036.

* << Fim da inclusão

  refresh itab_zycbt036.

  perform pega_contas_acc_pre changing conta_acc texto_acc

                                       conta_pre texto_pre

                                       cod_rze.

  itab_zycbe033-tcode  = 'F-30'.

  itab_zycbe033-cpochv = /pws/zycbe001-nrseqc.

  itab_zycbe033-tabela = 'ZYCBT001'.

  case /pws/zycbe001-fdtlanc.

    when 'O'.

      itab_zycbe033-budat = /pws/zycbe001-dtcontr.

...

 

...

                                  text-018.

  itab_zycbe033-bukrs  = /pws/zycbe001-bukrs.

  perform verify_null_field using /pws/zycbe001-waers

                                  '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.

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

if v_dp ne 'X'.

* << Fim da inclusão

  itab_zycbe033-d_newko = conta_pre.

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

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

* << Fim da exclusão

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

   else.

    itab_zycbe033-d_newko = conta_acc.

   endif.

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

     v_dp  is initial.

* << Fim da inclusão

    itab_zycbe033-newbs   = '19'.

    itab_zycbe033-agkoa   = 'D'.

    itab_zycbe033-umskz   =  cod_rze.

  else.

    itab_zycbe033-newbs   = '50'.

    itab_zycbe033-agkoa   = 'S'.

  endif.

  perform campos_liquida_pt_acc.

  itab_zycbe033-c_gsber = /pws/zycbe001-gsber.

  itab_zycbe033-d_gsber = /pws/zycbe001-gsber.

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

if v_dp ne 'X'.

* << Fim da inclusão

  itab_zycbe033-wrbtr   = /pws/zycbe001-vlme.

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

else.

  itab_zycbe033-wrbtr   = wa_zycbt001_pre-slvinc.

endif.

* << Fim da inclusão

  itab_zycbe033-werks   = /pws/zycbe001-werks.

  itab_zycbe033-kursf = /pws/zycbe001-txcneg.

  perform verify_null_field using /pws/zycbe001-txcneg

                                  'TXCAMB'

                                  text-027.

  concatenate text-488 /pws/zycbe001-nrseqc

              into itab_zycbe033-c_zuonr

              separated by space.

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

if v_dp = 'X'.

 if wa_zycbt001_pre-tpcontr = 'A'.

    itab_zycbe033-c_zuonr = wa_zycbt001_pre-dtcontr.

 endif.

endif.

* << Fim da inclusão

  append itab_zycbe033.

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

  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.

      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.

          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.

          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.

            itab_partidas-v_sinal = '+'.

            clear itab_partidas-d_zuonr.

          endif.

          itab_partidas-dtdocto = itab_zycbt061-budat_d.

          append itab_partidas.

        endif.

      endloop.

      clear   itab_zycbt002p1.

      refresh itab_zycbt002p1.

    else.

      select *

      from /pws/zycbt067 into table itab_zycbt067

       where nrseq_c = itab_zycbt061-nrseq_c.

      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.

          itab_partidas-belnr   = itab_zycbt002p1-belnr.

          itab_partidas-agkon   = conta_acc.

          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.

            itab_partidas-v_sinal = '+'.

            clear itab_partidas-d_zuonr.

          endif.

          itab_partidas-dtdocto = itab_zycbt061-budat_d.

          append itab_partidas.

        endif.

      endloop.

      clear   itab_zycbt002p1.

      refresh itab_zycbt002p1.

    endif.

  else.

* << Fim da inclusão

  loop at itab_zycbt061 where nrseq = /pws/zycbe001-nrseqc.

    select single *

           from /pws/zycbt001

           into wa_zycbt001_pre

           where nrseqc = itab_zycbt061-nrseq_c.

    perform pega_contas_acc_pre 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.

    itab_partidas-belnr   = itab_zycbt061-belnr_d.

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

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

            itab_partidas-agkon   = conta_pre.

          else.

* << Fim da inclusão

    itab_partidas-agkon   = conta_acc.

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

          endif.

* << Fim da inclusão

    itab_partidas-agkoa   = 'S'.

    itab_partidas-agums   = space.

    itab_partidas-bukrs   = wa_zycbt001_pre-bukrs.

    itab_partidas-shkzg   = 'H'.

    if itab_zycbt061-baixa eq 'X'.

      itab_partidas-v_sinal = '-'.

      concatenate text-488 /pws/zycbe001-nrseqc

                  into itab_partidas-d_zuonr

                  separated by space.

    else.

      itab_partidas-v_sinal = '+'.

      clear itab_partidas-d_zuonr.

    endif.

    itab_partidas-dtdocto = itab_zycbt061-budat_d.

    append itab_partidas.

  endloop.

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

  endif.

* << 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.

...

 

...

            with key ct_lucro = itab_zycbt221-ct_lucro.

          if sy-subrc eq 0.

            wa_zycbt221_aux-vlr_rateio = wa_zycbt221_aux-vlr_rateio +

                            itab_zycbt221-vlr_rateio.

            modify wa_zycbt221_aux index sy-tabix.

          else.

            move-corresponding itab_zycbt221 to wa_zycbt221_aux.

            append wa_zycbt221_aux.

          endif.

        endloop.

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

      endif.

* << Fim da inclusão

      endif.

    endif.

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

  if wa_zycbt001_pre-slvinc ne 0.

    v_atrib  = 'X'.

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

    concatenate  itab_zycbt061-nrseq_c  /pws/zycbe001-tpcontr

                           into v_zuonr.

   else.

    v_zuonr  = itab_zycbt061-nrseq_c.

   endif.

* << Fim da inclusão

  endif.

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

  sort itab_partidas by belnr.

  delete adjacent duplicates from itab_partidas.

* << Fim da inclusão

  loop at itab_zycbt034.

    message i016 with itab_zycbt034-descricao.

  endloop.

  if itab_zycbt034[] is initial.

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

      call function '/PWS/ZYCB_TRANSACAO_F_30_W'

           exporting

                v_modo          = v_modo_bi

                v_vinc_tot      = 'X'

                v_div           = v_div

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

                v_zuonr         = v_zuonr

* << Fim da inclusão

           tables

                t_dados         = itab_zycbe033

                t_campo         = itab_zycbt034

                t_zycbt032      = itab_zycbt032

                t_partidas      = itab_partidas

           exceptions

                campo_em_branco = 1

                periodo_fechado = 2

                others          = 3.

    else.

...

 

 

...

                others          = 3.

    endif.

    if sy-subrc = 0.

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

                                        tabela = 'ZYCBT001'

                                        cpochv = /pws/zycbe001-nrseqc

                                        tpmsg  = 'S'.

      if sy-subrc = 0.

        p_belnr = itab_zycbt032-belnr.

        p_budat = itab_zycbe033-budat.

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

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

* << Fim da inclusão

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

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

       endif.

* << Fim da inclusão

        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.

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

      if /pws/zycbe001-tpcontr+0(1) = 'D' and

         wa_zycbt001_pre-tpcontr    = 'A'.

        update /pws/zycbt001 set belnr2   = p_belnr

                            where nrseqc  = wa_zycbt001_pre-nrseqc.

      endif.

         select *

         from /pws/zycbt067 into table itab_zycbt067

          where nrseq_c = wa_zycbt001_pre-nrseqc .

        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

                                    nrseqc = itab_zycbt067-nrseq_c

                                    slvinc = '0.00'

                                    vlme   = itab_zycbt067-vlme_c.

         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.

        clear   itab_zycbt002p1.

        refresh itab_zycbt002p1.

* << Fim da inclusão

        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.

          itab_erro-msg   = itab_zycbt032-msg.

          append itab_erro.

...

 

...

    select single nrseqc

                  nrcontr

                  bukrs

                  tpcontr

                  vlme

                  waers

                  dtdesem

                  dtentr

                  dtliquid

                  nrca

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

                  tp_pagt_antc

* << Fim da inclusão

           from /pws/zycbt001

           into corresponding fields of /pws/zycbt001

           where nrseqc = v_nrseqc.

    /pws/zycbt001-f_pre  = 'X'.

    /pws/zycbt001-status = 'I'.

    if wa_zycbt007-cfm = 'X'.

      select single *

             from /pws/zycbt001

             into wa_zycbt001_log

             where nrseqc = v_nrseqc.

...

 

...

  perform monta_itab_acerto.

  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.

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

  data:

* << Fim da exclusão

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

  data: v_subrc   like sy-subrc,

        v_atrib   type c,

* << Fim da inclusã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.

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

  clear: itab_zycbt036,

         wa_zycbt001_pre.

* << Fim da exclusão

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

  clear: itab_zycbt036.

* << Fim da inclusão

  refresh itab_zycbt036.

  perform pega_contas_acc_pre changing conta_acc texto_acc

                                       conta_pre texto_pre

                                       cod_rze.

  itab_zycbe033-tcode  = 'F-30'.

  concatenate itab_zycbt002p-nrseqc

              itab_zycbt002p-nrparc

              into v_cpochv.

  itab_zycbe033-cpochv = v_cpochv.

  itab_zycbe033-tabela = 'ZYCBT002'.

...

 

...

  append itab_zycbe033.

  itab_zycbt036-tcode   = 'F-30'.

  itab_zycbt036-tabela  = 'ZYCBT002'.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

  itab_zycbt036-residuo = itab_zycbt002p-vlme.

  append itab_zycbt036.

  loop at itab_zycbt034.

    message i016 with itab_zycbt034-descricao.

  endloop.

  if itab_zycbt034 is initial.

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

    if wa_zycbt001_pre-slvinc ne 0.

      v_atrib = 'X'.

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

      concatenate /pws/zycbe001-nrseqc /pws/zycbe001-tpcontr

      into v_zuonr.

     else.

      v_zuonr = /pws/zycbe001-nrseqc.

     endif.

      call function '/PWS/ZYCB_TRANSACAO_F_30_X'

           exporting

                v_modo          = v_modo_bi

                filtra          = 'X'

                so_segundo      = p_first

                v_filt_atrib    = v_atrib

                v_zuonr         = v_zuonr

           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.

    else.

      v_atrib = 'X'.

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

      concatenate /pws/zycbe001-nrseqc /pws/zycbe001-tpcontr

      into v_zuonr.

     else.

      v_zuonr = /pws/zycbe001-nrseqc.

     endif.

* << Fim da inclusão

    call function '/PWS/ZYCB_TRANSACAO_F_30_P'

         exporting

              v_modo          = v_modo_bi

              filtra          = 'X'

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

                v_filt_atrib    = v_atrib

* << Fim da inclusão

              so_segundo      = p_first

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

                v_zuonr1        = v_zuonr

* << 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.

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

    endif .

* << Fim da inclusão

    if sy-subrc = 0.

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

                                        tabela = 'ZYCBT002'

                                        cpochv = v_cpochv

                                        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'.

...

 

...

    endloop.

  endif.

  if sy-subrc eq 0.

    sort itab_partidas by agkoa agkon agums belnr.

  endif.

  loop at itab_zycbt034.

    message i016 with itab_zycbt034-descricao.

  endloop.

  clear v_subrc.

  if itab_zycbt034 is initial.

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

    select *

      from /pws/zycbt061 into table itab_zycbt061

       where nrseq = wa_zycbt001-nrseqc.

    read table itab_zycbt061 with key nrseq = wa_zycbt001-nrseqc .

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

      delete itab_partidas where belnr = '       ' .

    endif.

* << Fim da inclusão

    call function '/PWS/ZYCB_TRANSACAO_F_30_W'

         exporting

              v_modo          = v_modo_bi

              v_vinc_tot      = 'X'

         tables

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

              t_partidas      = itab_partidas

         exceptions

...

 

...

            itab_zycbe033-d_zuonr = wa_zycbt001_pre-nrcontr.

          when 'NRSEQC'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.

            itab_zycbe033-d_zuonr = wa_zycbt001_pre-nrseqc.

          when 'TPCONTR'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-tpcontr.

            itab_zycbe033-d_zuonr = wa_zycbt001_pre-tpcontr.

        endcase.

    endcase.

  endloop.

* >> 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 wa_zycbt001_pre-nrseqc  wa_zycbt001_pre-tpcontr

            into itab_zycbe033-d_zuonr.

         endif.

       endif.

* << Fim da inclusão

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  perform verify_null_field using wa_zycbt001_pre-bukrs

                                  'BUKRS'

                                  text-018.

  itab_zycbe033-bukrs  = wa_zycbt001_pre-bukrs.

  perform verify_null_field using wa_zycbt001_pre-waers

                                  'WAERS'

                                  text-019.

  itab_zycbe033-waers  = wa_zycbt001_pre-waers.

  perform verify_null_field using wa_zycbt011-blart

...

 

...

  else.

    sy-subrc = 4.

  endif.

endform.

form clearing using p_conta

                    p_texto

                    p_belnr

                    p_budat.

  perform clear_date_batch.

  data: v_cpochv like /pws/zycbe033-cpochv,

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

        v_subrc  like sy-subrc.

* << Fim da exclusão

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

        v_subrc  like sy-subrc,

        valor    like /pws/zycbt002-vlme,

        belnr    like /pws/zycbt001-belnr,

        budat    like sy-datum,

        subrc    like sy-subrc,

        v_prim   type c,

        v_belnr2 type /pws/zycbt002-belnr2,

        v_lines  like sy-tabix.

* << Fim da inclusão

  itab_zycbe033-tcode  = 'F-30'.

  v_cpochv = wa_zycbt001_pre-nrseqc.

  itab_zycbe033-cpochv = v_cpochv.

  itab_zycbe033-tabela = 'ZYCBT001'.

  itab_zycbe033-budat  = p_budat.

  if /pws/zycbt007-fdtdoc = 'D'.

    itab_zycbe033-bldat   = sy-datum.

    itab_zycbe033-d_valut = sy-datum.

    itab_zycbe033-c_valut = sy-datum.

  else.

...

 

...

            itab_zycbe033-d_zuonr = wa_zycbt001_pre-nrcontr.

          when 'NRSEQC'.

            itab_zycbe033-c_zuonr = wa_zycbt001_pre-nrseqc.

            itab_zycbe033-d_zuonr = wa_zycbt001_pre-nrseqc.

          when 'TPCONTR'.

            itab_zycbe033-c_zuonr = wa_zycbt001_pre-tpcontr.

            itab_zycbe033-d_zuonr = wa_zycbt001_pre-tpcontr.

        endcase.

    endcase.

  endloop.

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

if wa_zycbt001_pre-tpcontr = 'A'.

   itab_zycbe033-d_zuonr = wa_zycbt001_pre-dtvincul.

endif.

* << Fim da inclusão

  itab_zycbe033-bktxt  = /pws/zycbt007-bktxt.

  perform verify_null_field using wa_zycbt001_pre-bukrs

                                  'BUKRS'

                                  text-018.

  itab_zycbe033-bukrs  = wa_zycbt001_pre-bukrs.

  perform verify_null_field using wa_zycbt001_pre-waers

                                  'WAERS'

                                  text-019.

  itab_zycbe033-waers  = wa_zycbt001_pre-waers.

  perform verify_null_field using wa_zycbt011-blart

...

 

...

  itab_partidas-bukrs   = wa_zycbt001_pre-bukrs.

  itab_partidas-shkzg   = 'H'.

  itab_partidas-v_sinal = '-'.

  itab_partidas-dtdocto = p_budat.

  append itab_partidas.

  if not wa_zycbt001_pre-belnr2 is initial and

    ( not wa_zycbt001_pre-dtvincul eq space or

      not wa_zycbt001_pre-dtvincul eq '00000000' ).

    itab_partidas-belnr   = wa_zycbt001_pre-belnr2.

    itab_partidas-dtdocto = wa_zycbt001_pre-dtvincul.

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

    append itab_partidas.

  endif.

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

    if wa_zycbt001_pre-slvinc ne 0.

     clear   itab_zycbt002p.

     refresh itab_zycbt002p.

      select *

        from /pws/zycbt067 into table itab_zycbt067

         where nrseq_c = wa_zycbt001_pre-nrseqc .

        select *

          from /pws/zycbt002 into table itab_zycbt002p

          for all entries in itab_zycbt067

          where nrseqc = itab_zycbt067-nrseq_c and

                tpparc = 'P'                   and

                nrparc = itab_zycbt067-nrparc  and

                slvinc = itab_zycbt067-vlme.

        read table itab_zycbt002p with key

                                     nrseqc = wa_zycbt001_pre-nrseqc.

      itab_partidas-tcode   = 'F-30'.

      itab_partidas-tabela  = 'ZYCBT001'.

      itab_partidas-cpochv  = itab_zycbe033-cpochv.

      itab_partidas-belnr   = itab_zycbt002p-belnr2.

      itab_partidas-agkon   = p_conta.

      itab_partidas-agkoa   = 'S'.

      itab_partidas-agums   = space.

      itab_partidas-bukrs   = wa_zycbt001_pre-bukrs.

      itab_partidas-shkzg   = 'H'.

      itab_partidas-v_sinal = '-'.

      itab_partidas-dtdocto = p_budat.

* << Fim da inclusão

    append itab_partidas.

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

    endif.

  endif.

   if wa_zycbt001_pre-tpcontr = 'PT'.

  concatenate wa_zycbt001_pre-nrseqc wa_zycbt001_pre-tpcontr

  into v_zuonr.

 else.

  if wa_zycbt001_pre-tpcontr = 'A'.

   v_zuonr = wa_zycbt001_pre-dtvincul.

  else.

   v_zuonr = wa_zycbt001_pre-nrseqc.

  endif.

* << Fim da inclusão

  endif.

  if itab_zycbt034 is initial.

    call function '/PWS/ZYCB_TRANSACAO_F_30_W'

         exporting

              v_modo          = v_modo_bi

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

              v_zuonr         = v_zuonr

* << Fim da inclusão

         tables

              t_dados         = itab_zycbe033

...

 

...

      if sy-subrc = 0.

        wa_zycbt001_pre-belnr2   = itab_zycbt032-belnr.

        wa_zycbt001_pre-dtvincul = itab_zycbe033-budat.

        update /pws/zycbt001 set belnr2   = wa_zycbt001_pre-belnr2

                                 dtvincul = wa_zycbt001_pre-dtvincul

                           where nrseqc = wa_zycbt001_pre-nrseqc.

        itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.

        itab_contabil-nrparpre = space.

        itab_contabil-nrseqacc = wa_zycbt001_pre-nrseqc.

        itab_contabil-belnr    = itab_zycbt032-belnr.

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

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

          itab_contabil-msg      = text-501.

        else.

* << Fim da inclusão

        itab_contabil-msg      = text-251.

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

        endif.

* << Fim da inclusão

        append itab_contabil.

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

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

           wa_zycbt001_pre-slvinc     ne 0 .

            clear: belnr, budat.

            belnr = itab_zycbt032-belnr.

            perform retorna_principal_origem using belnr budat.

        endif.

* << Fim da inclusão

        v_subrc = 0.

      else.

        loop at itab_zycbt032 where tcode  = 'F-30'

                                and tabela = 'ZYCBT001'

                                and cpochv = v_cpochv.

          clear itab_erro-belnr.

          itab_erro-msg   = itab_zycbt032-msg.

          append itab_erro.

        endloop.

        v_subrc = 4.

...

 

...

    where ktosl   eq 'LAP' and

          codeven eq v_codeven.

  loop at itab_zyglt321.

    case itab_zyglt321-cpor3.

      when 'XBLNR' or 'ZUONR'.

        case itab_zyglt321-cpocb.

          when 'NRCONTR'.

            move wa_zycbt060-nrseq to: itab_zycbe033-xblnr  ,

                                       itab_zycbe033-c_zuonr,

                                       itab_zycbe033-d_zuonr.

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

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

            concatenate wa_zycbt060-nrseq /pws/zycbe001-tpcontr

            into itab_zycbe033-d_zuonr.

         endif.

* << Fim da inclusão

          when 'NRCA'.

            move wa_zycbt060-nrca to: itab_zycbe033-xblnr  ,

                                      itab_zycbe033-c_zuonr,

                                      itab_zycbe033-d_zuonr.

          when space.

            move wa_zycbt011-txtdesc to: itab_zycbe033-c_sgtxt,

                                         itab_zycbe033-d_sgtxt.

          when 'TXTINF'.

            move /pws/zycbe001-txtinf to: itab_zycbe033-xblnr  ,

                                          itab_zycbe033-c_zuonr,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001F04

 

...

    MOVE /pws/zycbe001 TO wa_zycbt001.

    MOVE /pws/zycbe074 TO wa_zycbt074.

    /pws/zycbt001 = wa_zycbt001.

    MODIFY /pws/zycbt001.

  ELSE.

    MOVE wa_zycbt001 TO /pws/zycbe001.

    MOVE /pws/zycbe074 TO wa_zycbt074.

  ENDIF.

  PERFORM data_efetiva.

ENDFORM.

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

FORM fill_date_fb02.

* << Fim da exclusão

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

form fill_date_fb02 using p_pt_st.

* << Fim da inclusão

  PERFORM clear_date_batch.

  itab_zycbe033-mandt  = sy-mandt.

  itab_zycbe033-tcode  = 'FB02'.

  itab_zycbe033-tabela = '/PWS/ZYCBT001'.

  itab_zycbe033-cpochv = /pws/zycbe001-nrseqc.

  PERFORM verify_null_field

          USING /pws/zycbe001-bukrs 'BUKRS' text-018.

  itab_zycbe033-bukrs = /pws/zycbe001-bukrs.

  PERFORM verify_null_field

          USING /pws/zycbe001-belnr 'BELNR' text-181.

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

  if not p_pt_st is initial.

    if not itab_zycbt002p-belnr2 is initial.

      itab_zycbe033-belnr = itab_zycbt002p-belnr2.

    else.

      itab_zycbe033-belnr = itab_zycbt002p-belnr.

    endif.

  else.

* << Fim da inclusão

  itab_zycbe033-belnr = /pws/zycbe001-belnr.

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

  endif.

  if not p_pt_st is initial and not itab_zycbt002p-belnr2 is initial.

    itab_zycbe033-dtdocto = itab_zycbt002p-dtvincul(4).

  else.

* << Fim da inclusão

  IF /pws/zycbe001-fdtlanc = 'O'.

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

    itab_zycbe033-gjahs = /pws/zycbe001-dtcontr.

* << Fim da exclusão

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

      itab_zycbe033-dtdocto = /pws/zycbe001-dtcontr.

* << Fim da inclusão

  ELSEIF /pws/zycbe001-fdtlanc = 'D'.

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

    itab_zycbe033-gjahs = /pws/zycbe001-dtdesem.

* << Fim da exclusão

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

      itab_zycbe033-dtdocto = /pws/zycbe001-dtdesem.

* << Fim da inclusão

  ELSEIF /pws/zycbe001-fdtlanc = 'C'.

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

    itab_zycbe033-gjahs = /pws/zycbe001-dtcred.

* << Fim da exclusão

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

      itab_zycbe033-dtdocto = /pws/zycbe001-dtcred.

    endif.

* << Fim da inclusão

  ENDIF.

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

  call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       exporting

            v_bukrs                = itab_zycbe033-bukrs

            v_date                 = itab_zycbe033-dtdocto

       importing

            v_year                 = itab_zycbe033-gjahs

       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.

* << Fim da inclusão

  PERFORM verify_null_field

          USING /pws/zycbe001-dtliquid 'DTPROR' text-350.

  itab_zycbe033-zfbdt = /pws/zycbe001-dtliquid.

  PERFORM verify_null_field

          USING itab_zycbe033-gjahs 'GJAHS' text-351.

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'SGTXT'.

        CASE itab_zyglt321-cpocb.

          WHEN 'TXTINF'.

...

 

...

          WHEN 'DTCONTR'.

            itab_zycbe033-zfbdt = /pws/zycbe001-dtcontr.

          WHEN 'DTCRED'.

            itab_zycbe033-zfbdt = /pws/zycbe001-dtcred.

          WHEN 'DTDESEM'.

            itab_zycbe033-zfbdt = /pws/zycbe001-dtdesem.

          WHEN 'DTENTR'.

            itab_zycbe033-zfbdt = /pws/zycbe001-dtentr.

          WHEN 'DTINIJUR'.

            itab_zycbe033-zfbdt = /pws/zycbe001-dtinijur.

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

          when 'DTFINAL'.

            if not p_pt_st is initial.

              if not itab_zycbt002p-dtpror is initial.

                itab_zycbe033-zfbdt = itab_zycbt002p-dtpror.

              else.

                itab_zycbe033-zfbdt = itab_zycbt002p-dtfinal.

              endif.

            else.

              itab_zycbt002p_aux[] = itab_zycbt002p[].

              describe table itab_zycbt002p_aux lines v_linha.

              read table itab_zycbt002p_aux index v_linha.

              if not itab_zycbt002p_aux-dtpror is initial.

                itab_zycbe033-zfbdt = itab_zycbt002p_aux-dtpror.

              else.

                itab_zycbe033-zfbdt = itab_zycbt002p_aux-dtfinal.

              endif.

            endif.

* << Fim da inclusão

        ENDCASE.

      WHEN 'ZUONR'.

        CASE itab_zyglt321-cpocb.

          WHEN 'NRSEQC'.

            itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.

            itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.

          WHEN 'NRCONTR'.

            itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.

            itab_zycbe033-c_zuonr = /pws/zycbe001-nrcontr.

          WHEN 'TXTINF'.

...

 

...

        MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                          itab_zycbt032-msg+50(50).

      ENDLOOP.

    ENDIF.

  ELSE.

    LOOP AT itab_zycbt034.

      MESSAGE i127 WITH itab_zycbt034-descricao v_codeven.

    ENDLOOP.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

form contab_captacao_ps .

  data: 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.

  data: begin of itab_partidas occurs 0.

          include structure /pws/zycbe033.

  data: end of itab_partidas.

  perform clear_date_batch.

  clear: itab_zycbt036,

         wa_zycbt001_pre.

  refresh itab_zycbt036.

  perform pega_contas_acc_pre changing conta_acc texto_acc

                                       conta_pre texto_pre

                                       cod_rze.

  itab_zycbe033-tcode  = 'F-30'.

  itab_zycbe033-cpochv = /pws/zycbe001-nrseqc.

  itab_zycbe033-tabela = 'ZYCBT001'.

  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.

  perform verify_null_field using itab_zycbe033-budat

                                  'DTDESEM'

                                  text-023.

  if wa_zycbt007-fdtdoc   = 'D'.

    itab_zycbe033-bldat   = sy-datum.

  else.

    itab_zycbe033-bldat   = itab_zycbe033-budat.

  endif.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  perform verify_null_field using /pws/zycbe001-bukrs

                                  'BUKRS'

                                  text-018.

  itab_zycbe033-bukrs  = /pws/zycbe001-bukrs.

  perform verify_null_field using /pws/zycbe001-waers

                                  '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.

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

    itab_zycbe033-newbs   = '19'.

    itab_zycbe033-agkoa   = 'D'.

    itab_zycbe033-umskz   =  cod_rze.

  else.

    itab_zycbe033-newbs   = '50'.

    itab_zycbe033-agkoa   = 'S'.

  endif.

  perform campos_liquida_pt_acc.

  itab_zycbe033-c_gsber = /pws/zycbe001-gsber.

  itab_zycbe033-d_gsber = /pws/zycbe001-gsber.

  itab_zycbe033-wrbtr   = /pws/zycbe001-vlme.

  itab_zycbe033-werks   = /pws/zycbe001-werks.

  itab_zycbe033-kursf = /pws/zycbe001-txcneg.

  perform verify_null_field using /pws/zycbe001-txcneg

                                  'TXCAMB'

                                  text-027.

  concatenate text-488 /pws/zycbe001-nrseqc

              into itab_zycbe033-c_zuonr

              separated by space.

  append itab_zycbe033.

  select *

  from /pws/zycbt067 into table itab_zycbt067

   where nrseq_c = itab_zycbt061-nrseq_c.

  loop at itab_zycbt067 .

    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.

    itab_partidas-belnr   = itab_zycbt067-belnr_c.

    itab_partidas-agkon   = conta_acc.

    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.

      itab_partidas-v_sinal = '+'.

      clear itab_partidas-d_zuonr.

    endif.

    itab_partidas-dtdocto = itab_zycbt061-budat_d.

    append itab_partidas.

  endloop.

  loop at itab_zycbt034.

    message i016 with itab_zycbt034-descricao.

  endloop.

  if itab_zycbt034[] is initial.

    call function '/PWS/ZYCB_TRANSACAO_F_30_W'

         exporting

              v_modo          = v_modo_bi

              v_vinc_tot      = 'X'

              v_div           = v_div

         tables

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

              t_partidas      = itab_partidas

         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 = /pws/zycbe001-nrseqc

                                        tpmsg  = 'S'.

      if sy-subrc = 0.

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

        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.

        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.

          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_pre_new 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 itab_zycbt061-bukrs_c.

  refresh itab_zycbt013.

  select * from /pws/zycbt013

           into table itab_zycbt013

           where tabela = 'ZYCBT001'.

  if not wa_zycbt001_pre is initial.

    concatenate '001' wa_zycbt001_pre-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.

    concatenate wa_zycbt001_pre-tpcontr

                wa_zycbt001_pre-przcontr

                into v_codaux

                separated by space.

    call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

         exporting

              bukrs           = wa_zycbt001_pre-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.

  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.

  concatenate /pws/zycbe001-tpcontr

              /pws/zycbe001-przcontr

              into v_codaux

              separated by space.

  refresh itab_zyglt316.

  call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       exporting

            bukrs           = itab_zycbt061-bukrs_c

            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.

endform.

form retorna_principal_origem using belnr

                                    budat.

  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.

   loop at itab_zycbt067.

    read table itab_zycbt002p with key

                                nrseqc = itab_zycbt067-nrseq_c

                                nrparc = itab_zycbt067-nrparc.

    at last.

      v_prim = 'L'.

    endat.

    perform cria_principal_original changing belnr budat v_prim.

    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.

         update /pws/zycbt002 set belnr2 = itab_zycbt032-belnr

                            where nrseqc  = itab_zycbt002p-nrseqc and

                                  nrparc  = itab_zycbt002p-nrparc and

                                  tpparc  = 'P'.

   commit work.

  endloop.

endform.

form cria_principal_original 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,

        v_atrib   type c,

        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

                                       conta_pre texto_pre

                                       cod_rze.

  itab_zycbe033-tcode  = 'F-30'.

  concatenate itab_zycbt002p-nrseqc

              itab_zycbt002p-nrparc

              into v_cpochv.

  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.

  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-zfbdt = itab_zycbt002p-dtfinal.

  loop at itab_zycbt013.

    case itab_zycbt013-cpor3.

      when 'XBLNR'.

        case itab_zycbt013-cpocb.

          when 'NRCONTR'.

            itab_zycbe033-xblnr = /pws/zycbe001-nrcontr.

          when 'NRSEQC'.

            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'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.

            itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.

          when 'TPCONTR'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-tpcontr.

            itab_zycbe033-d_zuonr = /pws/zycbe001-tpcontr.

        endcase.

    endcase.

  endloop.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  perform verify_null_field using /pws/zycbe001-bukrs

                                  'BUKRS'

                                  text-018.

  itab_zycbe033-bukrs  = /pws/zycbe001-bukrs.

  perform verify_null_field using /pws/zycbe001-waers

                                  '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.

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.

  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'.

  endif.

  append itab_zycbe033.

  itab_zycbt036-tcode   = 'F-30'.

  itab_zycbt036-tabela  = 'ZYCBT002'.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

  itab_zycbt036-residuo = itab_zycbt002p-vlme.

  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

         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 = 'ZYCBT002'

                                        cpochv = v_cpochv

                                        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.

        append itab_contabil.

        itab_zycbt002p-belnr = itab_zycbt032-belnr .

        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.

        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 clearing_residual  changing p_belnr

                                p_budat.

  data: v_subrc   like sy-subrc,

        v_atrib   type c,

        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

                                       conta_pre texto_pre

                                       cod_rze.

  itab_zycbe033-tcode  = 'F-30'.

  concatenate itab_zycbt002p-nrseqc

              itab_zycbt002p-nrparc

              into v_cpochv.

  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.

  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-zfbdt = itab_zycbt002p-dtfinal.

  loop at itab_zycbt013.

    case itab_zycbt013-cpor3.

      when 'XBLNR'.

        case itab_zycbt013-cpocb.

          when 'NRCONTR'.

            itab_zycbe033-xblnr = /pws/zycbe001-nrcontr.

          when 'NRSEQC'.

            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'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.

            itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.

          when 'TPCONTR'.

            itab_zycbe033-c_zuonr = /pws/zycbe001-tpcontr.

            itab_zycbe033-d_zuonr = /pws/zycbe001-tpcontr.

        endcase.

    endcase.

  endloop.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  perform verify_null_field using /pws/zycbe001-bukrs

                                  'BUKRS'

                                  text-018.

  itab_zycbe033-bukrs  = /pws/zycbe001-bukrs.

  perform verify_null_field using /pws/zycbe001-waers

                                  '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'.

  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.

  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.

  append itab_zycbe033.

  itab_zycbt036-tcode   = 'F-30'.

  itab_zycbt036-tabela  = 'ZYCBT002'.

  itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

  if wa_zycbt001_pre-tpcontr ne 'PT'.

  itab_zycbt036-residuo = wa_zycbt001_pre-slvinc.

 else.

   read table itab_zycbt067 with key /pws/zycbe001-nrseqc.

   itab_zycbt036-residuo = itab_zycbt067-vlme.

 endif.

  append itab_zycbt036.

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

    itab_zycbe033-xblnr   = wa_zycbt001_pre-nrseqc.

    itab_zycbe033-wrbtr   = itab_zycbt067-vlme.

    itab_zycbe033-d_newko = conta_acc.

    modify itab_zycbe033 index 1.

  endif.

  loop at itab_zycbt034.

    message i016 with itab_zycbt034-descricao.

  endloop.

  if itab_zycbt034 is initial.

    v_atrib = 'X'.

    v_zuonr = wa_zycbt001_pre-nrseqc  .

    call function '/PWS/ZYCB_TRANSACAO_F_30_X'

       exporting

            v_modo          = v_modo_bi

            filtra          = 'X'

            v_filt_atrib    = v_atrib

            v_zuonr         = v_zuonr

       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.

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

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

                                        tabela = 'ZYCBT002'

                                    cpochv(08) = /pws/zycbe001-nrseqc

                                        tpmsg  = 'S'.

     else.

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

                                        tabela = 'ZYCBT002'

                                        tpmsg  = 'S'.

      endif.

      if sy-subrc = 0.

        p_belnr = itab_zycbt032-belnr.

        p_budat = itab_zycbe033-budat.

        itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.

        itab_contabil-nrparpre = space.

        clear itab_contabil-nrseqacc.

        itab_contabil-belnr    = itab_zycbt032-belnr.

        itab_contabil-msg      = text-502.

        append itab_contabil.

         select *

         from /pws/zycbt067 into table itab_zycbt067

          where nrseq_c = wa_zycbt001_pre-nrseqc .

        select *

          from /pws/zycbt002 into table itab_zycbt002_res

          for all entries in itab_zycbt067

          where nrseqc = itab_zycbt067-nrseq_c and

                tpparc = 'P'                   and

                nrparc = itab_zycbt067-nrparc.

        loop at itab_zycbt067.

        read table itab_zycbt002_res with key

                                    nrseqc = itab_zycbt067-nrseq_c

                                    slvinc = itab_zycbt067-vlme

                                    vlme   = itab_zycbt067-vlme_c.

         if sy-subrc = 0.

         update /pws/zycbt002  set belnr2 = itab_zycbt032-belnr

                            where nrseqc  = itab_zycbt002_res-nrseqc and

                                  nrparc  = itab_zycbt002_res-nrparc and

                                  tpparc  = 'P'.

         commit work.

         delete itab_zycbt002_res index 1.

         clear itab_zycbt002_res.

         endif.

         endloop.

        clear itab_zycbt002_res.

        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.

          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.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB001I01

 

...

    endif.

  endif.

  if /pws/zycbe001-bcocred is initial .

    clear : /pws/zycbe001-conta_contab.

  else.

    shift /pws/zycbe001-bcocred left deleting leading '0'.

    shift wa_zycbt001-bcocred left deleting leading '0'.

    check  /pws/zycbe001-conta_contab is initial or

          ( not /pws/zycbe001-conta_contab is initial and

            /pws/zycbe001-bcocred ne v_bco_cab ).

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

    check sy-tcode = c_transacao_c and

          /pws/zycbe001-belnr is initial.

* << Fim da exclusão

    v_codaux1 = /pws/zycbe001-bcocred.

    shift v_codaux1 left deleting leading '0'.

    perform busca_conta_contabil

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

        using 'C'

* << Fim da exclusão

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

        using 'D'

* << Fim da inclusão

              /pws/zycbe001-bukrs

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001O01

 

...

  if not vg_tcode is initial.

    move: 'X' to vg_origem.

    clear vg_tcode.

    set parameter id '/PWS/ZYCBP404' field vg_tcode.

  endif.

  if vg_origem eq 'X' or

     not /pws/zycbe001-nrseqcot is initial.

    loop at screen.

      if screen-name eq '/PWS/ZYCBE001-VLME'    or

         screen-name eq '/PWS/ZYCBE001-TXCNEG'  or

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

         screen-name eq '/PWS/ZYCBE001-BCOCRED' or

* << Fim da exclusão

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

         screen-name eq '/PWS/ZYCBE001-BCONEGOC' or

* << Fim da inclusão

         screen-name eq '/PWS/ZYCBE001-WAERS'.

        screen-input = '0'.

      endif.

      modify screen.

    endloop.

  endif.

endmodule.

module set_screen_200 output.

  if v_status_s200 = '0'.

    loop at screen.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001TOP

 

...

  /pws/zycbe115,

  /pws/zycbt115,

  /pws/zycbt216,

  /pws/zycbe216,

  /pws/zycbe226,

  /pws/zycbt226,

  /pws/zycbe227,

  /pws/zycbt227,

  /pws/zycbe241,

  /pws/zycbt241,

* >> Início da inclusão:

  /pws/zycbt067,

* << Fim da inclusão

  /pws/zyglt340,

  /pws/zyglt343,

  /pws/zyglt364,

  rm06b,

  t16fe,

  j_1bbranch,

  /pws/zycet001,

  /pws/zycet002,

  /pws/zycbt222,

  /pws/zycbe223,

...

 

...

      check(1).

DATA: END OF itab_zyglt209_aux.

DATA: BEGIN OF itab_excluido OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt209.

DATA: mark(1),

      check(1).

DATA: END OF itab_excluido.

DATA: BEGIN OF itab_zycbt002p_ant OCCURS 10.

        INCLUDE STRUCTURE /pws/zycbt002.

DATA: mark(1).

* >> Início da inclusão:

data v_flag(1) type c.

data: escalonado(1).

data: icon_esc like icon-id.

* << Fim da inclusão

DATA: END OF itab_zycbt002p_ant.

DATA: BEGIN OF itab_zycbt002p_exc OCCURS 10.

        INCLUDE STRUCTURE /pws/zycbt002.

DATA: mark(1).

DATA: END OF itab_zycbt002p_exc.

DATA: itab_tcurx LIKE tcurx OCCURS 10 WITH HEADER LINE.

DATA: itab_zyglt100

        TYPE STANDARD TABLE OF /pws/zyglt100 WITH HEADER LINE.

DATA:

      itab_zycbt002_aux LIKE /pws/zycbt002 OCCURS 10 WITH HEADER LINE,

      itab_zycbt013  LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE,

      itab_zycbt012  LIKE /pws/zycbt012 OCCURS 10 WITH HEADER LINE,

* >> Início da exclusão:

      itab_zycbt036      LIKE /pws/zycbt036 OCCURS 10 WITH HEADER LINE.

* << Fim da exclusão

* >> Início da inclusão:

      itab_zycbt036      like /pws/zycbt036 occurs 10 with header line,

       itab_zycbt036_aux like /pws/zycbt036 occurs 10 with header line.

* << Fim da inclusão

DATA: BEGIN OF itab_pf_status OCCURS 10,

        fcode LIKE rsmpe-func,

      END OF itab_pf_status.

DATA: itab_zycbt010 LIKE /pws/zycbt010 OCCURS 5 WITH HEADER LINE.

DATA: BEGIN OF itab_zycbt136_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe136.

DATA: END OF itab_zycbt136_aux.

DATA: BEGIN OF itab_zycbt004_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt004.

DATA: END OF itab_zycbt004_aux.

...

 

...

DATA: END OF itab_zycbt061.

DATA: BEGIN OF itab_thol OCCURS 0.

        INCLUDE STRUCTURE thol.

DATA: END OF itab_thol.

DATA: BEGIN OF itab_custo OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt350.

DATA: END OF itab_custo.

DATA: BEGIN OF itab_lucro OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt350.

DATA: END OF itab_lucro.

* >> Início da inclusão:

data: begin of itab_zycbt067 occurs 0.

        include structure /pws/zycbt067.

data: end of itab_zycbt067.

* << Fim da inclusão

DATA: BEGIN OF itab_contas OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt350.

DATA: END OF itab_contas.

DATA  BEGIN OF itab_zycbt005 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt005.

DATA  END   OF itab_zycbt005.

DATA  BEGIN OF itab_dados OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt034.

DATA  END   OF itab_dados.

DATA: BEGIN OF itab_zycbt088 OCCURS 0.

...

 

...

DATA: BEGIN OF itab_tbaer OCCURS 0,

      koart   LIKE tbaer-koart,

      umsks   LIKE tbaer-umsks,

      fname   LIKE tbaer-fname,

      bukrs   LIKE tbaer-bukrs,

      xaend   LIKE tbaer-xaend.

DATA: END OF itab_tbaer.

DATA: BEGIN OF itab_zycbt002_p_ant OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt002.

DATA: END OF itab_zycbt002_p_ant.

* >> Início da inclusão:

data: begin of itab_zycbt002_res occurs 0.

        include structure /pws/zycbt002.

data: end of itab_zycbt002_res.

data: begin of itab_zycbt002p1 occurs 0.

        include structure /pws/zycbt002.

data: end of itab_zycbt002p1.

* << Fim da inclusão

DATA: BEGIN OF itab_t320 OCCURS 0,

          campo(35) TYPE c,

          flag,

        END OF itab_t320.

DATA: BEGIN OF itab_nome_campo OCCURS 0,

         nome_campo_tela(35) TYPE c,

         modif,

       END OF itab_nome_campo.

DATA: BEGIN OF itab_textos_del OCCURS 0,

        relid    LIKE stxl-relid   ,

...

 

...

        v_bco_cab      TYPE /pws/zycbe134-bcocred,

        v_codaux1      TYPE /pws/zygle316-codaux1,

        v_codaux2      TYPE /pws/zygle316-codaux2,

        v_banco(10)    TYPE n,

        v_conta(10)    TYPE c,

         v_volta_part_conta(1) TYPE c,

        v_codaux3      TYPE /pws/zygle316-codaux3.

CONSTANTS: c_debito               TYPE c VALUE 'D',

           c_credito              TYPE c VALUE 'C'.

Data:    v_mess        type c.

* >> Início da inclusão:

data: v_dp(1)    type c.

data: v_cont_cambio(06) type c .

* << Fim da inclusão

DATA: vg_tcode(15) TYPE c,

      vg_origem    TYPE c.

DATA: v_year  LIKE  bkpf-gjahr,

v_repid       LIKE sy-repid,

v_codmod      TYPE c VALUE 'E',

v_exit        LIKE /pws/zyglt100-zexit VALUE 'CPT002'.

DATA: v_capital,

      v_primeiro,

      v_bco_cred       TYPE /pws/zycbe001-bcocred,

      v_bconegoc       TYPE /pws/zycbe001-bconegoc,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001X01

 

...

        INCLUDE STRUCTURE /pws/zycbt003.

DATA: mark(1).

DATA: END OF itab_zycbt003.

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.

* >> Início da inclusão:

DATA: itab_zycbt002p_aux LIKE itab_zycbt002p OCCURS 0 WITH HEADER LINE.

* << Fim da inclusão

DATA: itab_zycbt004  LIKE /pws/zycbt004 OCCURS 10 WITH HEADER LINE,

      itab_zycbt001  LIKE /pws/zycbt001.

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.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB014F01

 

...

    /pws/zycbe061-dtentr_c    TO itab_zycbt061-dtentr_c,

    /pws/zycbe061-dtentr      TO itab_zycbt061-dtentr,

    /pws/zycbe061-prent       TO itab_zycbt061-prent,

    /pws/zycbe061-dtliquid_c  TO itab_zycbt061-dtliquid_c,

    /pws/zycbe061-dtliquid    TO itab_zycbt061-dtliquid,

    /pws/zycbe061-prliq       TO itab_zycbt061-prliq,

    /pws/zycbe061-sldesen     TO itab_zycbt061-sldesen,

    /pws/zycbe061-paridade    TO itab_zycbt061-paridade.

ENDFORM.

FORM grava_tabelas.

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

  data: v_vlalt  like  /pws/zycbt061-vlalt,

        v_slvinc like  /pws/zycbt002-slvinc,

        v_slvinc1 like /pws/zycbt002-slvinc.

* << Fim da inclusão

  PERFORM tratamento_nrseq.

  PERFORM grava_zycbt001.

  PERFORM grava_zycbt060.

  PERFORM grava_zycbt061.

  PERFORM grava_zycbt002.

  v_saldo = 0.

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

    LOOP AT itab_zycbt061.

      SELECT SINGLE *

         FROM /pws/zycbt001

         WHERE nrseqc = itab_zycbt061-nrseq_c.

      /pws/zycbt001-slvinc  = /pws/zycbt001-slvinc -

                              itab_zycbt061-vlalt.

      /pws/zycbt001-slpagar = /pws/zycbt001-slpagar -

                              itab_zycbt061-vlalt.

      IF /pws/zycbt001-slvinc = 0.

        /pws/zycbt001-f_slvinc = 'X'.

      ENDIF.

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

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

        select *

          from /pws/zycbt002 into table itab_zycbt002

          where nrseqc = itab_zycbt061-nrseq_c and

                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 .

          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.

          if v_vlalt = itab_zycbt061-vlalt.

            clear v_vlalt.

          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.

          update /pws/zycbt002 set slvinc = v_slvinc1

                           where nrseqc = itab_zycbt061-nrseq_c

                           and   nrparc = itab_zycbt002-nrparc.

          commit work.

         endif.

        endloop.

      endif.

* << Fim da inclusão

      IF /pws/zycbt007-cfm = 'X'.

        IF /pws/zycbt001-tpcontr(1) NE 'C' AND

           /pws/zycbt001-tpcontr(1) NE 'E'.

          SELECT *

                  FROM /pws/zycbt001

                  INTO wa_zycbt001_log

                  WHERE nrseqc = itab_zycbt061-nrseq_c.

          ENDSELECT.

        ENDIF.

      ENDIF.

...

 

...

  ENDIF.

ENDFORM.

FORM exibir.

  SET PF-STATUS '0100_E' EXCLUDING 'SAVE'.

  LOOP AT SCREEN.

    screen-input = 0.

    MODIFY SCREEN.

  ENDLOOP.

  PERFORM ativa_tpa.

  IF sy-tcode = '/PWS/ZYCB014_A'.

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

    read table itab_zycbt061 index sy-tabix.

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

      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'.

      append itab_pf_status.

      set pf-status '0100_A' excluding itab_pf_status.

    else.

* << Fim da inclusão

    SET PF-STATUS '0100_A'.

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

    endif.

* << Fim da inclusão

  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.

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

  read table itab_zycbt061 index sy-tabix.

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

    itab_pf_status-fcode = 'JUROS'.

    append itab_pf_status.

    set pf-status '0100_A' excluding itab_pf_status.

  else.

* << Fim da inclusão

  SET PF-STATUS '0100_A'.

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

  endif.

* << Fim da inclusão

  LOOP AT SCREEN.

    IF screen-name  = '/PWS/ZYCBE060-NRCONTR' OR

       screen-name  = '/PWS/ZYCBE060-BUKRS'   OR

       screen-name  = '/PWS/ZYCBE060-TPCONTR' OR

       screen-name  = '/PWS/ZYCBE001-TP_PAGT_ANTC'.

      screen-input = 0.

...

 

...

                 belnr NE 0.

    ENDSELECT.

    IF sy-subrc = 0.

      v_exibe = 'YES'.

    ELSE.

      v_exibe = 'NO'.

    ENDIF.

  ENDIF.

  IF v_incluido = 'YES'.

    LOOP AT SCREEN.

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

      read table itab_zycbt061 index sy-tabix.

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

        itab_pf_status-fcode = 'JUROS'.

        append itab_pf_status.

      endif.

* << Fim da inclusão

      itab_pf_status-fcode = 'SAVE'.

      APPEND itab_pf_status.

      SET PF-STATUS '0100_C1' EXCLUDING itab_pf_status.

      screen-input = 0.

      MODIFY SCREEN.

    ENDLOOP.

    LOOP AT tc_itens-cols INTO wa_cols.

      wa_cols-screen-input = 0.

      MODIFY tc_itens-cols FROM wa_cols.

    ENDLOOP.

...

 

...

          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

         WHERE nrseq_c = itab_aux_zycbt061-nrseq_c.     "#EC CI_NOFIRST

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

     if v_ok is initial.

* << Fim da inclusão

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

      UPDATE /pws/zycbt001 SET slvinc  = v_valor

                    WHERE nrseqc  = itab_aux_zycbt061-nrseq.

    ENDIF.

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

    endif.

* << Fim da inclusão

  ENDLOOP.

ENDFORM.

FORM calculos_itab_zycbt061.

...

 

...

    DELETE FROM /pws/zycbt004

     WHERE nrseqc   = /pws/zycbe060-nrseq.

    LOOP AT itab_zycbt061.

      SELECT SINGLE * FROM /pws/zycbt001

         WHERE nrseqc =  itab_zycbt061-nrseq_c.

      /pws/zycbt001-slvinc  = /pws/zycbt001-slvinc  +

 itab_zycbt061-vlalt.

      /pws/zycbt001-slpagar = /pws/zycbt001-slpagar +

 itab_zycbt061-vlalt.

      MODIFY /pws/zycbt001.

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

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

        select *

          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.

        loop at itab_zycbt002.

        check not itab_zycbt067[] is initial.

          read table itab_zycbt067 with key

                                 nrseq_c = itab_zycbt002-nrseqc.

         v_vlme = itab_zycbt002-vlme - itab_zycbt067-vlme.

         if v_vlme eq 0.

         itab_zycbt002-slvinc =

                       itab_zycbt002-slvinc + itab_zycbt067-vlme.

          else.

         itab_zycbt002-slvinc =

                       itab_zycbt002-slvinc + v_vlme.

          endif.

          delete itab_zycbt067 index sy-tabix.

         delete from /pws/zycbt067 where nrseq_c = itab_zycbt002-nrseqc

                                    and  nrparc  = itab_zycbt002-nrparc.

          update /pws/zycbt002 set slvinc = itab_zycbt002-slvinc

                               where nrseqc = itab_zycbt002-nrseqc

                               and   nrparc = itab_zycbt002-nrparc.

          commit work.

        endloop.

      v_ok = 'X'.

      endif.

* << Fim da inclusão

    ENDLOOP.

    LOOP AT itab_zycbt061.

      DELETE itab_zycbt061 INDEX sy-tabix.

      CLEAR itab_zycbt061.

    ENDLOOP.

    CLEAR /pws/zycbe060.

    FREE  /pws/zycbe060.

    PERFORM salvar_dados.

    CLEAR /pws/zycbe060a.

    MESSAGE i269 WITH v_nrcontr.

...

 

...

         itab_zycbt061-bukrs_c, itab_zycbt061-tpcontr_c,

         itab_zycbt061-waers_c,  itab_zycbt061-vlme_c,

         itab_zycbt061-slvinc_c, itab_zycbt061-dtcred_c,

         itab_zycbt061-dtcontr_c,

         itab_zycbt061-dtentr_c, itab_zycbt061-dtliquid_c)

         WHERE nrseqc  = /pws/zycbe061-nrseq_c

         AND   bukrs   = /pws/zycbe060-bukrs AND

               waers   = /pws/zycbe060-waers AND

               slvinc GT 0.

      IF sy-subrc = 0.

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

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

* << Fim da exclusão

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

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

* << Fim da inclusão

          IF itab_zycbt061-waers_c EQ /pws/zycbe060-waers.

            itab_zycbt061-paridade = 1.

          ENDIF.

          MOVE: itab_zycbt061-slvinc_c TO

  itab_zycbt061-sldesen,

                itab_zycbt061-slvinc_c TO

  itab_zycbt061-vlcalc_orig.

          PERFORM dt_prorrogacoes.

          APPEND itab_zycbt061.

        ELSE.

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

          MESSAGE i272 WITH text-027 text-028.

* << Fim da exclusão

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

          message i272 with text-059 text-060.

* << Fim da inclusão

        ENDIF.

      ELSE.

        MESSAGE i222.

      ENDIF.

    ELSEIF sy-subrc = 0.

      SELECT SINGLE

          nrseqc nrcontr bukrs tpcontr waers vlme

          slvinc dtcred dtcontr dtentr dtliquid

          FROM /pws/zycbt001

          INTO

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB014TOP

 

...

INCLUDE /pws/zygli101.

DATA v_tela_help LIKE sy-dynnr VALUE '0052'. "#EC *

CONTROLS: tc_itens     TYPE TABLEVIEW USING SCREEN 100,

          tc_juros     TYPE TABLEVIEW USING SCREEN 200.

TABLES: /pws/zycbt001,

        /pws/zycbe001,

        /pws/zycbt002,

        /pws/zycbt003,  "#EC *

        /pws/zycbt007,

        /pws/zycbt004,

* >> Início da inclusão:

       /pws/zycbt067,

* << Fim da inclusão

        indx,

        tcurx. "#EC *

DATA: wa_zycbe060_aux2 LIKE /pws/zycbe060,

      wa_zycbt001      LIKE /pws/zycbe001,

      wa_zycbt062_aux  LIKE /pws/zycbt062.

DATA: BEGIN OF itab_zycbt061_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt061.

DATA:  vlcalc_orig LIKE /pws/zycbt061-vlcalc.

DATA:  mark.

DATA: END OF itab_zycbt061_aux.

...

 

...

      dtpror     TYPE /pws/zycbt003-dtpror,

      END OF itab_zycbt003.

DATA: BEGIN OF itab_aux2_zycbt061 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt061.

DATA:  vlcalc_orig LIKE /pws/zycbt061-vlcalc.

DATA:  mark.

DATA: END OF itab_aux2_zycbt061.

DATA:  BEGIN OF itab_zycbt010 OCCURS 0. "#EC *

        INCLUDE STRUCTURE /pws/zycbt010.

DATA: END OF itab_zycbt010.

* >> Início da inclusão:

data: begin of itab_ZYCBT067 occurs 0.

        include structure /PWS/ZYCBT067.

data: end of itab_ZYCBT067.

* << Fim da inclusão

DATA: BEGIN OF itab_pf_status OCCURS 10,

        fcode LIKE rsmpe-func,

      END OF itab_pf_status.

TYPE-POOLS: sydes.

DATA: t_sydes  TYPE sydes_desc, "#EC *

      wa_types TYPE sydes_typeinfo, "#EC *

      v_len    TYPE i. "#EC *

DATA: mark, "#EC *

      v_lin           TYPE i, "#EC *

      v_nrseq         LIKE /pws/zycbe060-nrseq,

...

 

...

      v_index TYPE i VALUE 0, "#EC *

      v_entreg(5) TYPE n VALUE 0,

      v_liquid(5) TYPE n VALUE 0,

      v_dtliquid  LIKE /pws/zycbt061-dtliquid,

      v_dtentreg  LIKE /pws/zycbt061-dtentr,

      v_nrcontr_j LIKE /pws/zycbt001-nrcontr,

      v_visivel LIKE /pws/zyglt319-visivel, "#EC *

      v_syrepid LIKE sy-repid,

      v_sydynnr LIKE sy-dynnr, "#EC *

      v_tcodebotao   LIKE /pws/zyglt319-tcode. "#EC *

* >> Início da inclusão:

data: v_ok    type c,

      v_vlme  like /pws/zycbt002-vlme.

* << Fim da inclusão

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.

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB001

 

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

Modificado símbolo de texto:

 

Idioma: EN

 

Símbolo: 019

 

Texto: (5 caracteres)

"Curr."

 

Comprimento máximo: 5

 

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

Modificado símbolo de texto:

 

Idioma: EN

 

Símbolo: 024

 

Texto: (28 caracteres)

"Do you want to save changes?"

 

Comprimento máximo: 30

 

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

Modificado símbolo de texto:

 

Idioma: EN

 

Símbolo: 026

 

Texto: (50 caracteres)

"Want to create new document without prior reverse?"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 075

 

Texto: (26 caracteres)

"Please fill exchange rate!"

 

Comprimento máximo: 132

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 076

 

Texto: (21 caracteres)

"Please fill Currency!"

 

Comprimento máximo: 23

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 498

 

Texto: (14 caracteres)

"Launching Date"

 

Comprimento máximo: 18

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 499

 

Texto: (30 caracteres)

"Quoting spending was generated"

 

Comprimento máximo: 33

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 500

 

Texto: (29 caracteres)

"Quoting spending was reversed"

 

Comprimento máximo: 36

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 501

 

Texto: (17 caracteres)

"Clearing Contract"

 

Comprimento máximo: 35

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 501

 

Texto: (20 caracteres)

"Clearing do Contrato"

 

Comprimento máximo: 35

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 502

 

Texto: (28 caracteres)

"Clearing Contract Liquidated"

 

Comprimento máximo: 30

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 502

 

Texto: (30 caracteres)

"Clearing do Contrato Liquidado"

 

Comprimento máximo: 30

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB014

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 059

 

Texto: (38 caracteres)

"It is possible this type of settlement"

 

Comprimento máximo: 38

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 059

 

Texto: (38 caracteres)

"Não é possível este tipo de liquidação"

 

Comprimento máximo: 38

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 060

 

Texto: (17 caracteres)

"for this contract"

 

Comprimento máximo: 19

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 060

 

Texto: (19 caracteres)

"para este contrato."

 

Comprimento máximo: 19

 

 

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

Modificações efetuadas em SHLD /PWS/ZYCBA287

MODIFICAR AJUDA DE PESQUISA: /PWS/ZYCBA287

DESCRIÇÃO BREVE:CB - Tipos  - Banco

 

 

PARÂMETROS: ALTERÇÃO

DELETAR CAMPO KONTH  para KONTS.

 

PARAM.    IMP EXP POSL ISEL EXAJ ELEM. DADOS  MOD  VALOR PROPOSTO

KONTS     X   X    4    4             SAKNR

 

 

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

Modificações efetuadas em TABL /PWS/ZYCBT067

CRIAÇÃO TABELA TRANSPARENTE: /PWS/ZYCBT067

DESCRIÇÃO BREVE: CB - Controle de Parcelas Contrato Pré-Pagamento

 

CARACTERÍSTICAS

 

CATEGORIA DA TABELA: TABELA TRANSPARENTE

CLASSE DE ENTREGA:   A_

(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

 

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

MANDT              MANDT                 X   X

NRSEQ              /PWS/ZYCBL019         X   X

NRSEQ_C            /PWS/ZYCBL019         X   X

NRPARC             /PWS/ZYCBL047         X   X

TPCONTR            /PWS/ZYCBL015

VLME               WRBTR                                        /PWS/ZYCBT002 WAERS

VLME_C             WRBTR                                        /PWS/ZYCBT002 WAERS

BELNR_C            BELNR_D

 

 

 

 

OPÇÕES TÉCNICAS

 

TIPO DE DADOS: APPL0

CATEGOR. TAMANHO: 3

 

(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.

 

 

 

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

Modificações efetuadas em VIED /PWS/ZYCBV223

MODIFICAR VISAO : /PWS/ZYCBV223

DESCRIÇÃO BREVE: CB - Tipos  - Banco

 

 

DELETAR CAMPO KONTH E INCLUIR CAMPO KONTS.

 

CAMPO VISÃO:     NOME TAB:    NOME CAMPO:     MOD:

KONTS            /PWS/ZYGLT316   SAKNR