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.
7.0
Produto:
Nota
Descrição
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
...