CE PLUS - Nota 007791

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Financiamento

Data/Hora da Publicação: 16/12/2008 00:00:00

Data/Hora Última Alteração: 18/02/2011 10:11:10

Descrição da Nota: FINANCIAMENTO/REFINANCIAMENTO - ANO FISCAL LANÇAMENTOS CONTÁBEIS

Sintoma

Ao efetuar um financiamento/refinanciamento, onde o ano fiscal da empresa é diferente do padrão,

esta solicitando nova data informando que o período esta fechado, mas o mesmo não esta.

 

 

Solução

Utilizar funções para trazer ano e período correto, de acordo com o ano fiscal da empresa, para

analisar se o período esta fechado ou não.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

FINANCIAMENTO DE IMPORTAÇÃO

COMPLEMENTO DO BOLETO - DTCREDPR - PERIODO FECHADO

COMPLEMENTO DO BOLETO-PAGAMENTO ANTECIPADO-F-43-FORMATO DATA AAAA/MM/DD

EMPRESTIMO - PROBLEMA COM OS CAMPOS DE PERIODO E ANO FISCAL

COMPLEMENTO DO BOLETO

FINANCIAMENTO - ERRO NA CRIAÇÃO - CONTABILIZAÇÃO - RECONTABILIZAÇÃO-TAXA

Informações Complementares

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

Nota Número 07791 Data: 16/12/2008 Hora: 15:58:28

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

 

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

Nota Número              : 07791

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00008

Agrupamento              : 00077

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

Referência às notas relacionadas:

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

 

03860  - 00001 - 7.0    - 00001  - COMPLEMENTO DO BOLETO - DTCREDPR - PERIODO FECHADO

04814  - 00002 - 7.0    - 00003  - COMPLEMENTO DO BOLETO

07043  - 00003 - 7.0    - 00006  - COMPLEMENTO DO BOLETO-PAGAMENTO ANTECIPADO-F-43-FORMATO DATA AAAA

07294  - 00004 - 7.0    - 00006  - FINANCIAMENTO - ERRO NA CRIAÇÃO - CONTABILIZAÇÃO - RECONTABILIZAÇ

07346  - 00005 - 7.0    - 00007  - FINANCIAMENTO DE IMPORTAÇÃO

07783  - 00006 - 7.0    - 00008  - EMPRESTIMO - PROBLEMA COM OS CAMPOS DE PERIODO E ANO FISCAL

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

FINANCIAMENTO/REFINANCIAMENTO - ANO FISCAL LANÇAMENTOS CONTÁBEIS

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

Palavras Chave:

FINANCIAMENTO/REFINANCIAMENTO - ANO FISCAL LANÇAMENTOS CONTÁBEIS

 

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

Objetos da nota:

FUNC /PWS/ZYCM_TRANSACAO_F_02

FUNC /PWS/ZYCM_TRANSACAO_F_02A

FUNC /PWS/ZYCM_TRANSACAO_F_02B

FUNC /PWS/ZYCM_TRANSACAO_F_04

FUNC /PWS/ZYCM_TRANSACAO_F_04A

FUNC /PWS/ZYCM_TRANSACAO_F_07

FUNC /PWS/ZYCM_TRANSACAO_F_30_H

FUNC /PWS/ZYCM_TRANSACAO_F_43

FUNC /PWS/ZYCM_TRANSACAO_F_43A

FUNC /PWS/ZYCM_TRANSACAO_F_43B

FUNC /PWS/ZYCM_TRANSACAO_F_43C

FUNC /PWS/ZYCM_TRANSACAO_F_48

FUNC /PWS/ZYCM_TRANSACAO_F_48A

FUNC /PWS/ZYCM_TRANSACAO_F_51

FUNC /PWS/ZYCM_TRANSACAO_F_51A

FUNC /PWS/ZYCM_TRANSACAO_F_51B

FUNC /PWS/ZYCM_TRANSACAO_F_51C

FUNC /PWS/ZYCM_TRANSACAO_F_51D

FUNC /PWS/ZYCM_TRANSACAO_F_51E

FUNC /PWS/ZYCM_TRANSACAO_F_51F

FUNC /PWS/ZYCM_TRANSACAO_F_51FI

FUNC /PWS/ZYCM_TRANSACAO_F_51G

FUNC /PWS/ZYCM_TRANSACAO_F_51H

FUNC /PWS/ZYCM_TRANSACAO_F_51I

FUNC /PWS/ZYCM_TRANSACAO_F_51IM

FUNC /PWS/ZYCM_TRANSACAO_F_51J

FUNC /PWS/ZYCM_TRANSACAO_F_51K

FUNC /PWS/ZYCM_TRANSACAO_F_51L

FUNC /PWS/ZYCM_TRANSACAO_F_51M

FUNC /PWS/ZYCM_TRANSACAO_F_51N

FUNC /PWS/ZYCM_TRANSACAO_F_51O

FUNC /PWS/ZYCM_TRANSACAO_F_51P

FUNC /PWS/ZYCM_TRANSACAO_F_51Q

FUNC /PWS/ZYCM_TRANSACAO_F_51T

FUNC /PWS/ZYCM_TRANSACAO_F_51_NC

FUNC /PWS/ZYCM_TRANSACAO_F_53A

FUNC /PWS/ZYCM_TRANSACAO_F_63

FUNC /PWS/ZYCM_TRANSACAO_F_63A

FUNC /PWS/ZYCM_TRANSACAO_F_63B

REPS /PWS/LZYCMGF2F01

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_02

 

...

    v_msgno              LIKE t100-msgnr,

    v_koart              LIKE t001b-mkoar,

    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_pep                LIKE prps-posid,

    v_tela(4),

    v_zfbdt(10).

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

  DATA: v_periv(2).

* << Fim da inclusão

  LOOP AT t_dados.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs = t_dados-bukrs

              v_date  = t_dados-budat

         IMPORTING

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

              v_year  = v_date.

* << Fim da exclusão

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

              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.

* << Fim da inclusão

    CHECK t_dados-tcode = 'F-02'.

    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.

...

 

...

                                       itab_oculto

                                USING  v_string_debito.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

                                        itab_oculto

                                 USING  v_string_credito.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

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

    v_monat = t_dados-budat+4(2).

* << Fim da exclusão

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

    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.

* << Fim da inclusão

    v_gjahr = v_date.

    v_koart = 'S'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A' '0100'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT' v_data_doc_char,

           'BKPF-BLART' t_dados-blart,

           'BKPF-BUKRS' t_dados-bukrs,

           'BKPF-BUDAT' v_data_lanc_char,

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

           'BKPF-MONAT' v_data_lanc_char+3(2),

* << Fim da exclusão

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

         'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

           'BKPF-WAERS' t_dados-waers,

           'BKPF-KURSF' v_kursf,

           'BKPF-XBLNR' t_dados-xblnr,

           'BKPF-BKTXT' t_dados-bktxt,

           'RF05A-NEWBS' '40',

           'RF05A-NEWKO' t_dados-d_newko,

           'BDC_OKCODE' '/00'.

    WRITE: t_dados-d_valut TO v_data_val_char,

           t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

    PERFORM bdc_screen USING 'SAPMF05A' '0300'.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_02A

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'S'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

    MOVE v_date TO v_gjahr.

    move v_data_lanc_char+3(2) to v_periodo.

* << Fim da exclusão

 

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

    v_periodo = v_monat+1(2).

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A' '0100'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT' v_data_doc_char,

           'BKPF-BLART' t_dados-blart,

           'BKPF-BUKRS' t_dados-bukrs,

           'BKPF-BUDAT' v_data_lanc_char,

           'BKPF-MONAT' v_periodo,

           'BKPF-WAERS' t_dados-waers,

           'BKPF-KURSF' v_kursf,

           'BKPF-XBLNR' t_dados-xblnr,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_02B

 

...

    v_kursf(9)             TYPE c,

    v_wrbtr(16)            TYPE c,

    v_chave_debito         LIKE tbsl-bschl VALUE '40',

    v_chave_credito        LIKE tbsl-bschl VALUE '50',

    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,

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

    v_koart                LIKE t001b-mkoar,"#EC NEEDED

    v_monat                LIKE t001b-frpe1,"#EC NEEDED

    v_bukrs                LIKE t001-bukrs,"#EC NEEDED

    v_gjahr                LIKE t001b-frye1,"#EC NEEDED

* << Fim da exclusão

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

    v_koart                LIKE t001b-mkoar,                "#EC NEEDED

    v_monat                LIKE t001b-frpe1,                "#EC NEEDED

    v_bukrs                LIKE t001-bukrs,                 "#EC NEEDED

    v_gjahr                LIKE t001b-frye1,                "#EC NEEDED

* << Fim da inclusão

    v_nreg                 TYPE n,

    v_chave                TYPE c,

    v_campo(15),

    v_index                TYPE i,

    v_linha                TYPE i,

    v_date                 LIKE t009b-bdatj,

    v_buzei                LIKE bseg-buzei.

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

  DATA: v_periv(2).

* << Fim da inclusão

  LOOP AT t_dados.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs = t_dados-bukrs

              v_date  = t_dados-budat

         IMPORTING

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

              v_year  = v_date.

* << Fim da exclusão

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

              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.

* << Fim da inclusão

    CHECK t_dados-tcode = 'F-02'.

    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.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

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

    v_monat = t_dados-budat+4(2).

* << Fim da exclusão

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

    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.

* << Fim da inclusão

    v_gjahr = v_date.

    v_koart = 'S'.

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

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

* << Fim da exclusão

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

    PERFORM check_periodo USING    v_koart

                                   v_bukrs

                          CHANGING v_data_lanc_char

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A' '0100'.

    PERFORM bdc_field  USING:

         'BDC_CURSOR'  'RF05A-NEWBS',

         'BKPF-BLDAT'  v_data_doc_char,

         'BKPF-BLART'  t_dados-blart,

         'BKPF-BUKRS'  t_dados-bukrs,

         'BKPF-BUDAT'  v_data_lanc_char,

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

         'BKPF-MONAT'  v_data_lanc_char+3(2),

* << Fim da exclusão

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

         'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

         'BKPF-WAERS'  t_dados-waers,

         'BKPF-KURSF'  v_kursf,

         'BKPF-BRNCH'  t_dados-brnch,

         'BKPF-BKTXT'  t_dados-bktxt,

         'BDC_OKCODE'  '=SB'.

    IF NOT t_dados-xblnr IS INITIAL.

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

    ENDIF.

    SORT t_contas BY bschl.

    PERFORM bdc_screen USING 'SAPMF05A' '0310'.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_04

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              others              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'S'.

    perform check_periodo using    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          changing v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    move v_date to v_gjahr.

    move v_monat+1(2) to v_periodo.

    perform bdc_screen using 'SAPMF05A' '0122'.

    perform bdc_field using:

            'BKPF-BLDAT'     v_bldat,

            'BKPF-BLART'     t_dados-blart,

            'BKPF-BUKRS'     v_bukrs,

            'BKPF-BUDAT'     v_budat,

            'BKPF-WAERS'     t_dados-waers,

            'BKPF-KURSF'     v_kursf,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_04A

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              others              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'S'.

    perform check_periodo using    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          changing v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    move v_date to v_gjahr.

    move v_monat+1(2) to v_periodo.

    perform bdc_screen using 'SAPMF05A' '0122'.

    perform bdc_field using:

            'BKPF-BLDAT'     v_bldat,

            'BKPF-BUKRS'     v_bukrs,

            'BKPF-BUDAT'     v_budat,

            'BKPF-WAERS'     t_dados-waers,

            'BKPF-KURSF'     v_kursf,

            'BKPF-XBLNR'     t_dados-xblnr,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_07

 

...

                                using  v_string_credito.

    write: t_dados-bukrs   to v_bukrs,

           t_dados-bldat   to v_bldat,

           t_dados-budat   to v_budat,

           t_dados-kursf   to v_kursf,

           t_dados-wrbtr   to v_wrbtr currency t_dados-waers.

    v_monat = t_dados-budat+4(2).

    v_gjahr = v_DATE.

    v_koart = 'S'.

    perform check_periodo using    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          changing v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    concatenate '0' v_budat+3(2) into v_monat.

    move v_budat+6(4) to v_gjahr.

    perform bdc_screen using 'SAPMF05A' '0103'.

    perform bdc_field using:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  t_dados-bukrs,

            'BKPF-BUDAT'  v_budat,

            'BKPF-MONAT'  t_dados-budat+4(2),

            'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_30_H

 

...

                                  using  v_string_debito.

    endif.

    write: t_dados-bukrs   to v_bukrs,

           t_dados-bldat   to v_bldat,

           t_dados-budat   to v_budat,

           t_dados-kursf   to v_kursf.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

    v_koart = 'D'.

      perform check_periodo using    v_koart

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

                                     v_monat

* << Fim da exclusão

                                     v_bukrs

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

                                     v_gjahr

* << Fim da exclusão

                            changing v_budat

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

                                     v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

      concatenate '0' v_budat+3(2) into v_monat.

      move v_budat+6(4) to v_gjahr.

    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,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_43

 

...

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

      PERFORM determina_periodo USING t_dados-budat

                                      t_dados-bukrs

                                CHANGING v_monat.

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

    PERFORM bdc_screen USING 'SAPMF05A' '0100'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT' v_data_doc_char,

           'BKPF-BLART' t_dados-blart,

           'BKPF-BUKRS' t_dados-bukrs,

           'BKPF-BUDAT' v_data_lanc_char,

           'BKPF-MONAT' v_data_lanc_char+3(2),

           'BKPF-WAERS' t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_43A

 

...

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

      PERFORM determina_periodo USING t_dados-budat

                                      t_dados-bukrs

                                CHANGING v_monat.

        PERFORM determina_ano USING t_dados-budat

                                    t_dados-bukrs

                           CHANGING v_gjahr.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

    PERFORM bdc_screen USING 'SAPMF05A' '0100'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT' v_data_doc_char,

           'BKPF-BLART' t_dados-blart,

           'BKPF-BUKRS' t_dados-bukrs,

           'BKPF-BUDAT' v_data_lanc_char,

           'BKPF-MONAT' v_data_lanc_char+3(2),

           'BKPF-WAERS' t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_43B

 

...

                            into /pws/zycbt007-fdivisao

                            where bukrs eq t_Dados-bukrs.

    write: t_dados-bukrs to v_bukrs,

           t_dados-bldat to v_data_doc_char,

           t_dados-budat to v_data_lanc_char,

           t_dados-kursf to v_kursf.

    v_monat = t_dados-budat+4(2).

    v_gjahr = v_date.

    v_koart = 'K'.

      perform check_periodo using    v_koart

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

                                     v_monat

* << Fim da exclusão

                                     v_bukrs

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

                                     v_gjahr

* << Fim da exclusão

                            changing v_data_lanc_char

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

                                     v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

      concatenate '0' v_data_lanc_char+3(2) into v_monat.

      move v_data_lanc_char+6(4) to v_gjahr.

    perform bdc_screen using 'SAPMF05A' '0100'.

    perform bdc_field  using:

           'BKPF-BLDAT' v_data_doc_char,

           'BKPF-BLART' t_dados-blart,

           'BKPF-BUKRS' t_dados-bukrs,

           'BKPF-BUDAT' v_data_lanc_char,

           'BKPF-MONAT' t_dados-budat+4(2),

           'BKPF-WAERS' t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_43C

 

...

    v_dconta             LIKE /pws/zycbe033-d_newko,

    v_ulsk1              LIKE t042-ulsk1,

    v_ulsk2              LIKE t042-ulsk2,

    v_umsks              LIKE t074u-umsks,

    v_ok(1)              VALUE 'N',

    v_umskz              TYPE /pws/zycbe033-umskz,

    v_newbs              TYPE /pws/zycbe033-newbs,

    v_agkon              TYPE skb1-saknr,

    t_telas              TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE,

    v_programa(40)       TYPE c VALUE 'SAPMF05A'.

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

  DATA: v_periv(2).

* << Fim da inclusão

  LOOP AT t_dados.

    CLEAR usr01-datfm.

    SELECT SINGLE datfm FROM usr01 INTO usr01-datfm

                  WHERE bname = sy-uname.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

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

              v_bukrs = t_dados-bukrs

              v_date  = t_dados-budat

* << Fim da exclusão

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

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-budat

* << Fim da inclusão

         IMPORTING

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

              v_year  = v_date.

* << Fim da exclusão

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

              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.

    IF sy-subrc <> 0. ELSE. ENDIF.

* << Fim da inclusão

    CHECK t_dados-tcode = 'F-43'.

    IF t_dados-newbs1 EQ '31'.

      SELECT SINGLE akont

           FROM lfb1

           INTO lfb1-akont

           WHERE lifnr = t_dados-c_newko AND

                 bukrs = t_dados-bukrs.

    ELSEIF t_dados-newbs1 EQ '50'.

      lfb1-akont = t_dados-c_newko.

    ENDIF.

...

 

...

    CLEAR /pws/zycbt007.

    SELECT SINGLE fdivisao

           FROM /pws/zycbt007

           INTO /pws/zycbt007-fdivisao

           WHERE bukrs EQ t_dados-bukrs.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf,

           t_dados-c_valut TO v_data_val_char.

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

    v_monat = t_dados-budat+4(2).

* << Fim da exclusão

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

    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.

* << Fim da inclusão

    v_gjahr = v_date.

    v_koart = 'K'.

    v_data_lanc_char_ant = v_data_lanc_char.

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

    PERFORM check_periodo USING v_koart

                                v_monat

* << Fim da exclusão

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

    PERFORM check_periodo USING    v_koart

* << Fim da inclusão

                                v_bukrs

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

                                v_gjahr

* << Fim da exclusão

                       CHANGING v_data_lanc_char

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

                                v_ok.

    IF usr01-datfm = 1 OR sy-subrc NE 0.

      CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

      v_gjahr   = v_data_lanc_char+6(4).

    ELSEIF usr01-datfm = 2 OR usr01-datfm = 3.

      CONCATENATE '0' v_data_lanc_char+0(2) INTO v_monat.

      v_gjahr   = v_data_lanc_char+6(4).

    ELSEIF usr01-datfm > 3.

      CONCATENATE '0' v_data_lanc_char+5(2) INTO v_monat.

      v_gjahr   = v_data_lanc_char+0(4).

    ENDIF.

    t_dados-budat(4)   = v_data_lanc_char+6(4).

    IF usr01-datfm = 1 OR sy-subrc NE 0.

      t_dados-budat+4(2) = v_data_lanc_char+3(2).

      t_dados-budat+6(2) = v_data_lanc_char+0(2).

    ELSEIF usr01-datfm = 2 OR usr01-datfm = 3.

      t_dados-budat+4(2) = v_data_lanc_char(2).

      t_dados-budat+6(2) = v_data_lanc_char+3(2).

    ELSEIF usr01-datfm > 3.

      t_dados-budat+4(2) = v_data_lanc_char+5(2).

      t_dados-budat+6(2) = v_data_lanc_char+8(2).

      t_dados-budat(4)   = v_data_lanc_char+0(4).

    ENDIF.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A' '0100'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_data_lanc_char,

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

           'BKPF-MONAT'  t_dados-budat+4(2),

* << Fim da exclusão

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

           'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

           'BKPF-WAERS'  t_dados-waers,

           'BKPF-BRNCH'  t_dados-brnch,

           'BKPF-KURSF'  v_kursf,

           'BKPF-XBLNR'  t_dados-xblnr,

           'BKPF-BKTXT'  t_dados-bktxt,

           'RF05A-NEWBS' t_dados-newbs1,

           'RF05A-NEWKO' t_dados-c_newko,

           'BDC_OKCODE'  '/00'.

    WRITE: t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

    IF v_data_lanc_char_ant <> v_data_lanc_char.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_48

 

...

    v_msgid              LIKE t100-arbgb,

    v_msgno              LIKE t100-msgnr,

    v_koart              LIKE t001b-mkoar,

    v_ok(1)              VALUE 'N',

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_date               LIKE t009b-bdatj,

    v_gjahr              LIKE t001b-frye1,

    v_d_newko            LIKE t_dados-d_newko.

  TABLES: t042.

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

  DATA: v_periv(2).

* << Fim da inclusão

  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

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

              .

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da exclusão

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

         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 sy-subrc <> 0. ELSE. ENDIF.

* << Fim da inclusão

    CHECK t_dados-tcode = 'F-48'.

    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-c_newko = space ).

      t_campo-mandt = t_dados-mandt.

...

 

...

    REFRESH itab_oculto.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

                                        itab_oculto

                                 USING  v_string_credito.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers,

           t_dados-kursf TO v_kursf.

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

    v_monat = t_dados-budat+4(2).

* << Fim da exclusão

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

    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.

* << Fim da inclusão

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A' '0110'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BRNCH'  t_dados-brnch,

           'BKPF-BUDAT'  v_data_lanc_char,

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

           'BKPF-MONAT'  t_dados-budat+4(2),

* << Fim da exclusão

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

           'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

           'BKPF-WAERS'  t_dados-waers,

           'BKPF-KURSF'  v_kursf,

           'BKPF-BKTXT'  t_dados-bktxt,

           'BSEG-VALUT'  ' ',

           'RF05A-NEWKO' t_dados-d_newko,

           'RF05A-UMSKZ' t_dados-umskz,

           'RF05A-KONTO' t_dados-c_newko,

           'BSEG-WRBTR'  v_wrbtr.

    IF NOT t_dados-xblnr IS INITIAL.

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

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_48A

 

...

                                 using  v_string_credito.

    write: t_dados-bukrs to v_bukrs,

           t_dados-bldat to v_data_doc_char,

           t_dados-budat to v_data_lanc_char,

           t_dados-wrbtr to v_wrbtr currency t_dados-waers,

           t_dados-kursf to v_kursf.

    v_monat = t_dados-budat+4(2).

    v_gjahr = v_date.

    v_koart = 'K'.

    perform check_periodo using    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          changing v_data_lanc_char

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    concatenate '0' v_data_lanc_char+3(2) into v_monat.

    move v_data_lanc_char+6(4) to v_gjahr.

    perform bdc_screen using 'SAPMF05A' '0110'.

    perform bdc_field  using:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BRNCH'  t_dados-brnch,

           'BKPF-BUDAT'  v_data_lanc_char,

           'BKPF-MONAT'  t_dados-budat+4(2),

           'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51

 

...

    endif.

    write: t_dados-bldat   to v_bldat,

           t_dados-budat   to v_budat,

           t_dados-kursf   to v_kursf,

           t_dados-wrbtr   to v_wrbtr currency t_dados-waers,

           t_dados-bukrs   to v_bukrs.

    v_monat = t_dados-budat+4(2).

    v_gjahr = v_date.

    v_koart = 'K'.

    perform check_periodo using    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          changing v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    concatenate '0' v_budat+3(2) into v_monat.

    move v_budat+6(4) to v_gjahr.

    perform bdc_screen using 'SAPMF05A' '0122'.

    perform bdc_field using:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

            'BKPF-MONAT'  v_budat+3(2),

            'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51A

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    MOVE v_monat+1(2) TO v_periodo.

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field USING:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

            'BKPF-MONAT'  v_periodo,

            'BKPF-WAERS'  t_dados-waers,

            'BKPF-KURSF'  v_kursf,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51B

 

...

      RAISE campo_em_branco.

    ENDIF.

    WRITE: t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_contas-wrbtr  TO v_wrbtr CURRENCY t_dados-waers,

           t_dados-bukrs   TO v_bukrs.

    v_monat = t_dados-budat+4(2).

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    CONCATENATE '0' v_budat+3(2) INTO v_monat.

    MOVE v_budat+6(4) TO v_gjahr.

    CLEAR v_string_credito.

    PERFORM determina_string USING t_contas-bschl

                                   t_dados-bukrs

                                   t_contas-d_newko

                             CHANGING v_string_credito.

    CLEAR itab_oculto.

    REFRESH itab_oculto.

    PERFORM trata_string_credito TABLES t_dados

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51C

 

...

           t_dados-budat   to v_budat,

           t_dados-bukrs   to v_bukrs.

    v_monat = t_dados-budat+4(2).

    v_gjahr = v_date.

    if t_dados-koart is initial.

      v_koart = 'K'.

    else.

      v_koart = t_dados-koart.

    endif.

    perform check_periodo using    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          changing v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    concatenate '0' v_budat+3(2) into v_monat.

    move v_budat+6(4) to v_gjahr.

    perform bdc_screen using 'SAPMF05A' '0122'.

    perform bdc_field using:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

            'BKPF-MONAT'  v_budat+3(2),

            'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51D

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    MOVE v_date TO v_gjahr.

    MOVE v_monat+1(2) TO v_periodo.

    SELECT SINGLE waers

           FROM t001

           INTO v_waers_bukrs

           WHERE bukrs = v_bukrs.

    IF NOT t_dados-newbs IS INITIAL

      AND NOT  t_dados-c_newko IS INITIAL.

      WRITE: t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

      IF t_dados-dmbtr IS INITIAL.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51E

 

...

    v_koart              LIKE t001b-mkoar,

    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_valut(10),

    v_xpos_belnr(2) TYPE n,

    v_selecao(2)    TYPE n.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

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

  DATA: v_periv(2).

* << Fim da inclusão

  SELECT selps FROM t021r

     UP TO 1 ROWS

    INTO  v_xpos_belnr

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

   ENDSELECT.

  add 1 to v_xpos_belnr.

  LOOP AT t_dados.

    SELECT SINGLE * FROM /pws/zycbt089 INTO  wa_zycbt089

           WHERE bukrs EQ t_dados-bukrs.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

      EXPORTING

        v_bukrs                      = t_dados-bukrs

        v_date                       = t_dados-budat

     IMPORTING

        v_year                       = v_date

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

              .

* << Fim da exclusão

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

   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 sy-subrc <> 0. ELSE. ENDIF.

* << Fim da inclusão

    CHECK t_dados-tcode = 'F-51'.

    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-agkon = space ).

      t_campo-mandt = t_dados-mandt.

...

 

...

                                   t_dados-d_newko

                             CHANGING v_string_debito.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

                                        itab_oculto

                                 USING  v_string_debito.

    WRITE: t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-bukrs   TO v_bukrs,

           t_dados-kursf   TO v_kursf.

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

    v_monat = t_dados-budat+4(2).

* << Fim da exclusão

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

    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.

* << Fim da inclusão

    v_gjahr = v_date.

    v_koart = 'S'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_budat

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

                                   v_ok.

    CONCATENATE '0' v_budat+3(2) INTO v_monat.

    MOVE v_budat+6(4) TO v_gjahr.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field USING:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

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

            'BKPF-MONAT'  v_budat+3(2),

* << Fim da exclusão

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

         'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

            'BKPF-WAERS'  t_dados-waers,

            'BKPF-KURSF'  v_kursf,

            'BKPF-BKTXT'  t_dados-bktxt,

            'RF05A-AUGTX' t_dados-augtx,

            'BDC_OKCODE'  '=SL'.

    IF NOT t_dados-xblnr IS INITIAL.

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

    ENDIF.

    WRITE wa_zycbt089-num_selecao TO v_selecao.

    IF v_selecao GT v_xpos_belnr  .

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51F

 

FUNCTION /pws/zycm_transacao_f_51f.

  DATA:

    v_cont(2) TYPE n,

    v_campo(15),

    v_campo2(15),

    v_bldat(10),

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

    v_dtdocto(10), "#EC NEEDED

* << Fim da exclusão

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

    v_dtdocto(10),       "#EC NEEDED

* << Fim da inclusão

    v_budat(10),

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

    v_wrbtr(16), "#EC NEEDED

* << Fim da exclusão

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

    v_wrbtr(16),           "#EC NEEDED

* << Fim da inclusão

    v_kursf(9),

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

    v_xpos(2)            TYPE n,"#EC *

* << Fim da exclusão

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

    v_xpos(2)            TYPE n,                            "#EC *

* << Fim da inclusão

    v_xpos1(2)           TYPE n,

    v_xpos_awkey(15),

    v_xpos_budat(15),

    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,

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

    v_koart              LIKE t001b-mkoar,"#EC NEEDED

* << Fim da exclusão

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

    v_koart              LIKE t001b-mkoar,                  "#EC NEEDED

* << Fim da inclusão

    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.

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

  DATA: v_periv(2).

* << Fim da inclusão

  LOOP AT t_dados.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

      EXPORTING

        v_bukrs                      = t_dados-bukrs

        v_date                       = t_dados-budat

     IMPORTING

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

        v_year                       = v_date.

* << Fim da exclusão

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

        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.

* << Fim da inclusão

    CHECK t_dados-tcode = 'F-51'.

    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-agkon = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'RF05A-AGKON'.

      t_campo-descricao = text-027.

      APPEND t_campo.

      RAISE campo_em_branco.

    ENDIF.

    WRITE: t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-kursf   TO v_kursf,

           t_dados-wrbtr   TO v_wrbtr CURRENCY t_dados-waers,

           t_dados-bukrs   TO v_bukrs.

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

    v_monat = t_dados-budat+4(2).

* << Fim da exclusão

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

    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.

* << Fim da inclusão

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING

                               '+'

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

                        v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_budat

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

                                   v_ok.

    CONCATENATE '0' v_budat+3(2) INTO v_monat.

    MOVE v_budat+6(4) TO v_gjahr.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field USING:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

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

            'BKPF-MONAT'  v_budat+3(2),

* << Fim da exclusão

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

            'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

            'BKPF-WAERS'  t_dados-waers,

            'BKPF-KURSF'  v_kursf,

            'BKPF-BKTXT'  t_dados-bktxt,

            'RF05A-AUGTX' t_dados-augtx,

            'BDC_OKCODE'  '=SL'.

    IF NOT t_dados-xblnr IS INITIAL.

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

    ENDIF.

    PERFORM bdc_screen USING 'SAPMF05A' '0710'.

    PERFORM bdc_field USING:

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51FI

 

...

    endif.

    write: t_dados-bldat   to v_bldat,

           t_dados-budat   to v_budat,

           t_dados-kursf   to v_kursf,

           t_dados-wrbtr   to v_wrbtr currency t_dados-waers,

           t_dados-bukrs   to v_bukrs.

    v_monat = t_dados-budat+4(2).

    v_gjahr = v_date.

    v_koart = 'K'.

    perform check_periodo using    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          changing v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    concatenate '0' v_budat+3(2) into v_monat.

    move v_budat+6(4) to v_gjahr.

    perform bdc_screen using 'SAPMF05A' '0122'.

    perform bdc_field using:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

            'BKPF-MONAT'  v_budat+3(2),

            'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51G

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    MOVE v_monat+1(2) TO v_periodo.

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field USING:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

            'BKPF-MONAT'  v_periodo,

            'BKPF-WAERS'  t_dados-waers,

            'BKPF-KURSF'  v_kursf,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51H

 

...

                                       itab_oculto

                                USING  v_string_debito.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

    v_koart = 'S'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_data_lanc_char,

           'BKPF-MONAT'  v_data_lanc_char+3(2),

           'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51I

 

...

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_xpos_zuonr(15),

    v_xpos2(2)           TYPE n,

    v_xpos_awkey(15),

    v_xpos(17)            TYPE n,

    v_xpos_belnr(2) TYPE n,

    v_selecao(2)    TYPE n.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

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

  DATA: v_periv(2).

* << Fim da inclusão

  SELECT selps FROM t021r

      UP TO 1 ROWS

    INTO  v_xpos_belnr

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

    ENDSELECT.

  ADD 1 TO v_xpos_belnr.

  LOOP AT t_dados.

    SELECT SINGLE * FROM /pws/zycbt089 INTO  wa_zycbt089

           WHERE bukrs EQ t_dados-bukrs.

...

 

...

    CLEAR itab_oculto.

    REFRESH itab_oculto.

    PERFORM trata_string_debito TABLES t_dados

                                       t_campo

                                       itab_oculto

                                USING  v_string_debito.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

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

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-budat

         IMPORTING

              v_year                 = v_gjahr

         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 sy-subrc <> 0. ELSE. ENDIF.

    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.

* << Fim da inclusão

    v_koart = '+'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

    CONCATENATE v_data_lanc_char+6(04)

                v_data_lanc_char+3(2)

                v_data_lanc_char+0(2)

                                     INTO v_budat.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_data_lanc_char,

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

           'BKPF-MONAT'  v_data_lanc_char+3(2),

* << Fim da exclusão

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

           'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

           'BKPF-WAERS'  t_dados-waers,

           'BKPF-KURSF'  v_kursf,

           'BKPF-WWERT'  v_data_conv_char,

           'BKPF-BVORG'  t_dados-bvorg,

           'BKPF-BKTXT'  t_dados-bktxt,

           'BKPF-NUMPG'  t_dados-numpg,

           'RF05A-AUGTX' t_dados-augtx,

           'FS006-DOCID' t_dados-docid,

           'FS006-BARCD' t_dados-barcd,

           'BKPF-AWTYP'  t_dados-awtyp,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51IM

 

...

    write: t_dados-bldat   to v_bldat,

           t_dados-budat   to v_budat,

           t_dados-budat   to v_budat_ant,

           t_dados-kursf   to v_kursf,

           t_dados-wrbtr   to v_wrbtr currency t_dados-waers,

           t_dados-bukrs   to v_bukrs.

    v_monat = t_dados-budat+4(2).

    v_gjahr = v_date.

    v_koart = '+'.

    perform check_periodo using    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          changing v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    concatenate '0' v_budat+3(2) into v_monat.

    move v_budat+6(4) to v_gjahr.

    if v_budat ne v_budat_ant.

      concatenate v_budat+6(4) v_budat+3(2) v_budat(2)

                  into t_dados-budat.

    endif.

    perform bdc_screen using 'SAPMF05A' '0122'.

    perform bdc_field using:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51J

 

...

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_xpos2(2)           TYPE n,

    v_xpos_awkey(15),

    v_xpos_zuonr(15),

    v_xpos(17)            TYPE n,

    v_xpos_belnr(2) TYPE n,

    v_selecao(2)    TYPE n.

  DATA: wa_zycbt089 LIKE /pws/zycbt089.

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

  DATA: v_periv(2).

* << Fim da inclusão

  SELECT selps FROM t021r

      UP TO 1 ROWS

    INTO  v_xpos_belnr

    WHERE event = 'SL-AG'

      AND feldn = 'BELNR'.

    ENDSELECT.

  ADD 1 TO v_xpos_belnr.

  LOOP AT t_dados.

    SELECT SINGLE * FROM /pws/zycbt089 INTO  wa_zycbt089

           WHERE bukrs EQ t_dados-bukrs.

...

 

...

    CLEAR itab_oculto.

    REFRESH itab_oculto.

    PERFORM trata_string_debito TABLES t_dados

                                       t_campo

                                       itab_oculto

                                USING  v_string_debito.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

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

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-budat

         IMPORTING

              v_year                 = v_gjahr

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

* << Fim da inclusão

    v_koart = 'S'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_data_lanc_char,

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

           'BKPF-MONAT'  v_data_lanc_char+3(2),

* << Fim da exclusão

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

           'BKPF-MONAT'  v_monat+1(2),

* << Fim da inclusão

           'BKPF-WAERS'  t_dados-waers,

           'BKPF-KURSF'  v_kursf,

           'BKPF-WWERT'  v_data_conv_char,

           'BKPF-BVORG'  t_dados-bvorg,

           'BKPF-BKTXT'  t_dados-bktxt,

           'BKPF-NUMPG'  t_dados-numpg,

           'RF05A-AUGTX' t_dados-augtx,

           'FS006-DOCID' t_dados-docid,

           'FS006-BARCD' t_dados-barcd,

           'BKPF-AWTYP'  t_dados-awtyp,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51K

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    MOVE v_date TO v_gjahr.

    MOVE v_monat+1(2) TO v_periodo.

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field USING:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

            'BKPF-MONAT'  v_periodo,

            'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51L

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'K'.

      perform check_periodo using    v_koart

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

                                     v_monat

* << Fim da exclusão

                                     v_bukrs

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

                                     v_gjahr

* << Fim da exclusão

                            changing v_budat

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

                                     v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    move v_date to v_gjahr.

    move v_monat+1(2) to v_periodo.

    perform bdc_screen using 'SAPMF05A' '0122'.

    perform bdc_field using:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

            'BKPF-MONAT'  v_periodo,

            'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51M

 

...

                                       itab_oculto

                                using  v_string_debito.

    write: t_dados-bukrs to v_bukrs,

           t_dados-bldat to v_data_doc_char,

           t_dados-budat to v_data_lanc_char,

           t_dados-kursf to v_kursf.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

    v_koart = 'S'.

      perform check_periodo using    v_koart

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

                                     v_monat

* << Fim da exclusão

                                     v_bukrs

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

                                     v_gjahr

* << Fim da exclusão

                            changing v_data_lanc_char

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

                                     v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

      concatenate '0' v_data_lanc_char+3(2) into v_monat.

      move v_data_lanc_char+6(4) to v_gjahr.

    perform bdc_screen using 'SAPMF05A' '0122'.

    perform bdc_field  using:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_data_lanc_char,

           'BKPF-MONAT'  v_data_lanc_char+3(2),

           'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51N

 

...

         EXCEPTIONS

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_koart = '+'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    IF v_data_lanc_char NE v_dtlanc_char.

      SELECT SINGLE datfm FROM usr01 INTO usr01-datfm

                    WHERE bname = sy-uname.

      IF usr01-datfm = 1 OR sy-subrc NE 0.

        CONCATENATE v_data_lanc_char+6(4) v_data_lanc_char+3(2)

                    v_data_lanc_char(2) INTO t_dados-budat.

      ELSE.

        CONCATENATE v_data_lanc_char+6(4) v_data_lanc_char(2)

                    v_data_lanc_char+3(2) INTO t_dados-budat.

      ENDIF.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51O

 

...

         EXCEPTIONS

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_koart = '+'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    IF v_budat NE v_budat_ant.

      SELECT SINGLE datfm FROM usr01 INTO usr01-datfm

                    WHERE bname = sy-uname.

      IF usr01-datfm = 1 OR sy-subrc NE 0.

        CONCATENATE v_budat+6(4) v_budat+3(2) v_budat(2)

                    INTO t_dados-budat.

      ELSE.

        CONCATENATE v_budat+6(4) v_budat(2) v_budat+3(2)

                    INTO t_dados-budat.

      ENDIF.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51P

 

...

                                using  v_string_debito.

    write: t_dados-bukrs to v_bukrs,

           t_dados-bldat to v_data_doc_char,

           t_dados-budat to v_data_lanc_char,

           t_dados-zfbdt to v_dtvencto_char,

           t_dados-kursf to v_kursf.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

    v_koart = 'S'.

    perform check_periodo using    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          changing v_data_lanc_char

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    concatenate '0' v_data_lanc_char+3(2) into v_monat.

    move v_data_lanc_char+6(4) to v_gjahr.

    perform bdc_screen using 'SAPMF05A' '0122'.

    perform bdc_field  using:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_data_lanc_char,

           'BKPF-MONAT'  v_data_lanc_char+3(2),

           'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51Q

 

...

                                       itab_oculto

                                USING  v_string_debito.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

    v_koart = 'S'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

    WRITE: t_dados-budat TO v_budat,

           t_dados-bldat TO v_bldat.

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_budat,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51T

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    MOVE v_monat+1(2) TO v_periodo.

    PERFORM bdc_screen USING 'SAPMF05A' '0122'.

    PERFORM bdc_field USING:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  v_bukrs,

            'BKPF-BUDAT'  v_budat,

            'BKPF-MONAT'  v_periodo,

            'BKPF-WAERS'  t_dados-waers,

            'BKPF-KURSF'  v_kursf,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51_NC

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_budat

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    MOVE v_date TO v_gjahr.

    MOVE v_monat+1(2) TO v_periodo.

    PERFORM determina_string USING t_dados-newbs

                                   t_dados-bukrs

                                   t_dados-c_newko

                             CHANGING v_string_credito.

    CLEAR itab_oculto.

    REFRESH itab_oculto.

    PERFORM trata_string_credito TABLES t_dados

                                        t_campo

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_53A

 

...

           t_dados-bldat   to v_bldat,

           t_dados-budat   to v_budat,

           t_dados-c_valut to v_valut,

           t_dados-kursf   to v_kursf,

           t_dados-wrbtr   to v_wrbtr currency t_dados-waers,

           t_dados-dmbtr   to v_dmbtr currency t_dados-waersb.

    v_monat = t_dados-budat+4(2).

    v_gjahr = v_date.

    v_koart = 'S'.

      perform check_periodo using    v_koart

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

                                     v_monat

* << Fim da exclusão

                                     v_bukrs

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

                                     v_gjahr

* << Fim da exclusão

                            changing v_budat

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

                                     v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

      concatenate '0' v_budat+3(2) into v_monat.

      move v_budat+6(4) to v_gjahr.

    perform bdc_screen using 'SAPMF05A' '0103'.

    perform bdc_field using:

            'BKPF-BLDAT'  v_bldat,

            'BKPF-BLART'  t_dados-blart,

            'BKPF-BUKRS'  t_dados-bukrs,

            'BKPF-BUDAT'  v_budat,

            'BKPF-MONAT'  t_dados-budat+4(2),

            'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_63

 

FUNCTION /pws/zycm_transacao_f_63.

  DATA:

    v_string_debito      LIKE tbsl-faus1,

    v_data_doc_char(10)  TYPE c,

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

    v_data_val_char(10)  TYPE c,"#EC NEEDED

* << Fim da exclusão

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

    v_data_val_char(10)  TYPE c,                            "#EC NEEDED

* << Fim da inclusão

    v_data_lanc_char(10) TYPE c,

    v_data_venc_char(10) TYPE c,

    v_base_char(16)      TYPE c,

    v_kursf(9)           TYPE c,

    v_wrbtr(16)          TYPE c,

    v_dmbtr(16)          TYPE c,

    v_chave_debito       LIKE tbsl-bschl VALUE '40',

    v_nrmsg              TYPE i VALUE 0,

    v_transacao(4)       TYPE c,

    v_mode               TYPE c,

...

 

...

    v_msgno              LIKE t100-msgnr,

    v_koart              LIKE t001b-mkoar,

    v_ok(1)              VALUE 'N',

    v_monat              LIKE t001b-frpe1,

    v_bukrs              LIKE t001-bukrs,

    v_gjahr              LIKE t001b-frye1,

    v_skfbt              LIKE bseg-skfbt VALUE 0,

    v_pep                LIKE prps-posid,

    v_date               LIKE t009b-bdatj,

    v_dconta             LIKE /pws/zycbe033-d_newko.

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

  DATA: v_periv(2).

* << Fim da inclusão

  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

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

              .

* << Fim da exclusão

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

   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 sy-subrc <> 0. ELSE. ENDIF.

* << Fim da inclusão

    CHECK t_dados-tcode = 'F-63'.

    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.

...

 

...

                             CHANGING v_string_debito.

    ENDIF.

    PERFORM trata_string_debito TABLES t_dados

                                     t_campo

                                     itab_oculto

                              USING  v_string_debito.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

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

    v_monat = t_dados-budat+4(2).

* << Fim da exclusão

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

    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.

* << Fim da inclusão

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPLF040' '0100'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_data_lanc_char,

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

           'BKPF-MONAT'   v_data_lanc_char+3(2),

* << Fim da exclusão

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

           'BKPF-MONAT'   v_monat+1(2),

* << Fim da inclusão

           'BKPF-WAERS'  t_dados-waers,

           'BKPF-KURSF'  v_kursf,

           'BKPF-XBLNR'  t_dados-xblnr,

           'BKPF-BKTXT'  t_dados-bktxt,

           'VBKPF-XBWAE' v_montante,

           'RF05V-NEWBS' '31',

           'RF05V-NEWKO' t_dados-agkon,

           'BDC_OKCODE' '/00'.

    WRITE: t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers,

           t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_63A

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    MOVE v_date TO v_gjahr.

    MOVE v_monat+1(2) TO v_periodo.

    PERFORM bdc_screen USING 'SAPLF040' '0100'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_data_lanc_char,

           'BKPF-MONAT'  v_periodo,

           'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_63B

 

...

              period_in_not_valid = 1

              period_not_assigned = 2

              version_undefined   = 3

              OTHERS              = 4.

   if sy-subrc = 0.

   else.

   endif.

    v_gjahr = v_date.

    v_koart = 'K'.

    PERFORM check_periodo USING    v_koart

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

                                   v_monat

* << Fim da exclusão

                                   v_bukrs

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

                                   v_gjahr

* << Fim da exclusão

                          CHANGING v_data_lanc_char

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

                                   v_ok.

* << Fim da exclusão

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

                                   v_ok

                                   v_monat

                                   v_gjahr.

* << Fim da inclusão

    MOVE v_date TO v_gjahr.

    MOVE v_monat+1(2) TO v_periodo.

    PERFORM bdc_screen USING 'SAPLF040' '0100'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT'  v_data_doc_char,

           'BKPF-BLART'  t_dados-blart,

           'BKPF-BUKRS'  t_dados-bukrs,

           'BKPF-BUDAT'  v_data_lanc_char,

           'BKPF-MONAT'  v_periodo,

           'BKPF-WAERS'  t_dados-waers,

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCMGF2F01

 

...

       EXCEPTIONS

            exit           = 1

            not_found      = 2

            archive_cancel = 3

            OTHERS         = 4.

  IF sy-subrc EQ 0.

    p_taxa = wa_bkpf-kursf.

  ENDIF.

ENDFORM.

FORM check_periodo USING    value(p_koart)

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

                            value(p_monat)

* << Fim da exclusão

                            value(p_bukrs)

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

                            value(p_gjahr)

* << Fim da exclusão

                   CHANGING value(p_novadata)

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

                            value(p_ok).                    "#EC *

* << Fim da exclusão

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

                            value(p_ok)                     "#EC *

                            value(p_monat)

                            value(p_gjahr).

* << Fim da inclusão

  DATA: v_resposta(1),

        v_novadata LIKE spop-varvalue1.

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

  DATA: v_budat TYPE bkpf-budat,

        v_periv(2).

* << Fim da inclusão

  v_novadata = p_novadata.

  WHILE p_ok <> 'S'.

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = p_bukrs

              i_gjahr          = p_gjahr

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

              i_koart          = p_koart

* << Fim da exclusão

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

              i_koart          = '+'

* << Fim da inclusão

              i_monat          = p_monat

         EXCEPTIONS

              error_period     = 1

              error_period_acc = 2

              OTHERS           = 3.                         "#EC *

    IF sy-subrc <> 0.

      PERFORM entrar_nova_data USING v_resposta v_novadata.

      IF v_resposta = 'A'.

        RAISE periodo_fechado.

      ELSE.

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

        p_gjahr =  v_novadata+6(04).

        CONCATENATE '0' v_novadata+3(2) INTO p_monat.

* << Fim da exclusão

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

        SELECT SINGLE datfm FROM usr01 INTO usr01-datfm

                      WHERE bname = sy-uname.

        IF usr01-datfm = 1 OR sy-subrc NE 0.

          CONCATENATE v_novadata+6(4) v_novadata+3(2)

                      v_novadata(2)

                      INTO v_budat.

        ELSEIF usr01-datfm = 2 OR

               usr01-datfm = 3.

          CONCATENATE v_novadata+6(4) v_novadata(2)

                      v_novadata+3(2)

                      INTO v_budat.

        ELSEIF usr01-datfm > 3.

          CONCATENATE v_novadata(4) v_novadata+5(2)

                      v_novadata+8(2)

                      INTO v_budat.

        ENDIF.

        CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

             EXPORTING

                  v_bukrs                = p_bukrs

                  v_date                 = v_budat

             IMPORTING

                  v_year                 = p_gjahr

             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 periv FROM t001

                     INTO v_periv

                     WHERE bukrs EQ p_bukrs.

        CALL FUNCTION 'DETERMINE_PERIOD'

             EXPORTING

                  date                = v_budat

                  version             = v_periv

             IMPORTING

                  period              = p_monat

             EXCEPTIONS

                  period_in_not_valid = 1

                  period_not_assigned = 2

                  version_undefined   = 3

                  OTHERS              = 4.

* << Fim da inclusão

      ENDIF.

    ELSE.

      p_ok = 'S'.

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

      SELECT SINGLE datfm FROM usr01 INTO usr01-datfm

                    WHERE bname = sy-uname.

      IF usr01-datfm = 1 OR sy-subrc NE 0.

        CONCATENATE v_novadata+6(4) v_novadata+3(2)

                    v_novadata(2)

                    INTO v_budat.

      ELSEIF usr01-datfm = 2 OR

             usr01-datfm = 3.

        CONCATENATE v_novadata+6(4) v_novadata(2)

                    v_novadata+3(2)

                    INTO v_budat.

      ELSEIF usr01-datfm > 3.

        CONCATENATE v_novadata(4) v_novadata+5(2)

                    v_novadata+8(2)

                    INTO v_budat.

      ENDIF.

      CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

           EXPORTING

                v_bukrs                = p_bukrs

                v_date                 = v_budat

           IMPORTING

                v_year                 = p_gjahr

           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 periv FROM t001

                   INTO v_periv

                   WHERE bukrs EQ p_bukrs.

      CALL FUNCTION 'DETERMINE_PERIOD'

           EXPORTING

                date                = v_budat

                version             = v_periv

           IMPORTING

                period              = p_monat

           EXCEPTIONS

                period_in_not_valid = 1

                period_not_assigned = 2

                version_undefined   = 3

                OTHERS              = 4.

* << Fim da inclusão

    ENDIF.

  ENDWHILE.

  p_novadata = v_novadata.

ENDFORM.

FORM entrar_nova_data

              USING  p_resposta TYPE c

                     p_novadata LIKE spop-varvalue1.

  DATA: v_data_ TYPE d.

  CALL FUNCTION 'TR_POPUP_INPUT_DATE'

       EXPORTING

...