Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina Mensal
Data/Hora da Publicação: 17/12/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:15:06
Descrição da Nota: ROTINA MENSAL EXPORTAÇÃO - ANO FISCAL NAS CONTABILIZAÇÕES
Sintoma
Ao executar a rotina mensal de exportação, esta retornando mensagem de que período esta fechado, mas
o mesmo não esta. Lembrando que o ano fiscal da empresa é diferente do padrão.
Solução
Utilizar função para retornar ano e período correto de acordo com a data de lançamento do documento.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07797 Data: 17/12/2008 Hora: 10:56:11
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07797
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
06094 - 00001 - 7.0 - 00004 - CODE INSPECTOR, VERIFICAÇÃO AMPLIADA - CAMBIO
----------------------------------------------------------------------------------------------------
ROTINA MENSAL EXPORTAÇÃO - ANO FISCAL NAS CONTABILIZAÇÕES
----------------------------------------------------------------------------------------------------
Palavras Chave:
ROTINA MENSAL EXPORTAÇÃO ANO FISCAL NAS CONTABILIZAÇÕES
PERÍODO FECHADO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCB_TRANSACAO_FV60
FUNC /PWS/ZYCB_TRANSACAO_F_02
FUNC /PWS/ZYCB_TRANSACAO_F_02A
FUNC /PWS/ZYCB_TRANSACAO_F_02C
FUNC /PWS/ZYCB_TRANSACAO_F_02D
FUNC /PWS/ZYCB_TRANSACAO_F_02E
FUNC /PWS/ZYCB_TRANSACAO_F_02F
FUNC /PWS/ZYCB_TRANSACAO_F_02G
FUNC /PWS/ZYCB_TRANSACAO_F_02H
FUNC /PWS/ZYCB_TRANSACAO_F_02I
FUNC /PWS/ZYCB_TRANSACAO_F_02J
FUNC /PWS/ZYCB_TRANSACAO_F_04B
FUNC /PWS/ZYCB_TRANSACAO_F_05
FUNC /PWS/ZYCB_TRANSACAO_F_06
FUNC /PWS/ZYCB_TRANSACAO_F_07
FUNC /PWS/ZYCB_TRANSACAO_F_07_A
FUNC /PWS/ZYCB_TRANSACAO_F_22
FUNC /PWS/ZYCB_TRANSACAO_F_22B
FUNC /PWS/ZYCB_TRANSACAO_F_22C
FUNC /PWS/ZYCB_TRANSACAO_F_22D
FUNC /PWS/ZYCB_TRANSACAO_F_22E
FUNC /PWS/ZYCB_TRANSACAO_F_22F
FUNC /PWS/ZYCB_TRANSACAO_F_22G
FUNC /PWS/ZYCB_TRANSACAO_F_28
FUNC /PWS/ZYCB_TRANSACAO_F_28_A
FUNC /PWS/ZYCB_TRANSACAO_F_29
FUNC /PWS/ZYCB_TRANSACAO_F_29R
FUNC /PWS/ZYCB_TRANSACAO_F_30
FUNC /PWS/ZYCB_TRANSACAO_F_30_A
FUNC /PWS/ZYCB_TRANSACAO_F_30_B
FUNC /PWS/ZYCB_TRANSACAO_F_30_C
FUNC /PWS/ZYCB_TRANSACAO_F_30_D
FUNC /PWS/ZYCB_TRANSACAO_F_30_E
FUNC /PWS/ZYCB_TRANSACAO_F_30_F
FUNC /PWS/ZYCB_TRANSACAO_F_30_H
FUNC /PWS/ZYCB_TRANSACAO_F_30_I
FUNC /PWS/ZYCB_TRANSACAO_F_30_J
FUNC /PWS/ZYCB_TRANSACAO_F_30_K
FUNC /PWS/ZYCB_TRANSACAO_F_30_L
FUNC /PWS/ZYCB_TRANSACAO_F_30_M
FUNC /PWS/ZYCB_TRANSACAO_F_30_N
FUNC /PWS/ZYCB_TRANSACAO_F_30_O
FUNC /PWS/ZYCB_TRANSACAO_F_30_PR
FUNC /PWS/ZYCB_TRANSACAO_F_30_Q
FUNC /PWS/ZYCB_TRANSACAO_F_30_R
FUNC /PWS/ZYCB_TRANSACAO_F_30_S
FUNC /PWS/ZYCB_TRANSACAO_F_30_T
FUNC /PWS/ZYCB_TRANSACAO_F_30_U
FUNC /PWS/ZYCB_TRANSACAO_F_30_V
FUNC /PWS/ZYCB_TRANSACAO_F_30_W
FUNC /PWS/ZYCB_TRANSACAO_F_31
FUNC /PWS/ZYCB_TRANSACAO_F_43
FUNC /PWS/ZYCB_TRANSACAO_F_43A
FUNC /PWS/ZYCB_TRANSACAO_F_48
FUNC /PWS/ZYCB_TRANSACAO_F_51
FUNC /PWS/ZYCB_TRANSACAO_F_51A
FUNC /PWS/ZYCB_TRANSACAO_F_51B
FUNC /PWS/ZYCB_TRANSACAO_F_51C
FUNC /PWS/ZYCB_TRANSACAO_F_51D
FUNC /PWS/ZYCB_TRANSACAO_F_51E
FUNC /PWS/ZYCB_TRANSACAO_F_51F
FUNC /PWS/ZYCB_TRANSACAO_F_51G
FUNC /PWS/ZYCB_TRANSACAO_F_51H
FUNC /PWS/ZYCB_TRANSACAO_F_51I
FUNC /PWS/ZYCB_TRANSACAO_F_53
FUNC /PWS/ZYCB_TRANSACAO_F_53A
FUNC /PWS/ZYCB_TRANSACAO_F_63
FUNC /PWS/ZYCB_TRANSACAO_F_63A
FUNC /PWS/ZYCB_TRANSACAO_F_63B
FUNC /PWS/ZYCB_TRANSACAO_F_63C
FUNC /PWS/ZYCB_TRANSACAO_F_63D
FUNC /PWS/ZYCB_TRANSACAO_F_63E
FUNC /PWS/ZYCB_TRANSACAO_F_65
REPS /PWS/LZYCBGF2F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_FV60
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'K'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_FV60
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_FV60
v_gjahr
* << Fim da exclusão
changing v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_FV60
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_FV60
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
move v_date to v_gjahr.
move v_monat+1(2) to v_periodo.
write: t_dados-wrbtr to v_wrbtr currency t_dados-waers.
perform bdc_screen using 'SAPMF05A' '1100'.
perform bdc_field using:
'RF05A-BUSCS' 'R',
'INVFO-ACCNT' t_dados-agkon,
'INVFO-BLDAT' v_data_doc_char,
'INVFO-BLART' t_dados-blart,
'INVFO-BUDAT' v_data_lanc_char,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_02
...
IMPORTING
v_year = v_date
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02
if sy-subrc ne 0. else. endif.
* << 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.
...
...
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/ZYCB_TRANSACAO_F_02
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02
v_ok.
MOVE v_date TO v_gjahr.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
MOVE v_monat+1(2) TO v_periodo.
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,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_02A
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02A
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02A
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02A
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02A
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' '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/ZYCB_TRANSACAO_F_02C
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02C
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02C
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02C
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02C
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
MOVE v_data_lanc_char+6(4) TO v_gjahr.
MOVE v_monat+1(2) TO v_periodo.
v_cdebito1 = ''.
IF v_wrbtr1 NE ' 0,00'
AND v_wrbtr1 NE ' 0'.
v_cdebito1 = t_dados-d_newko.
ELSE.
v_cdebito1 = t_dados-d_newko1.
ENDIF.
PERFORM bdc_screen USING 'SAPMF05A' '0100'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_02D
...
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.
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/ZYCB_TRANSACAO_F_02D
V_MONAT
* << Fim da exclusão
V_BUKRS
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02D
V_GJAHR
* << Fim da exclusão
CHANGING V_DATA_LANC_CHAR
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02D
V_OK.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02D
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:
'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,
'BKPF-MONAT' V_DATA_LANC_CHAR+3(2),
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_02E
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02E
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02E
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02E
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02E
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' '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/ZYCB_TRANSACAO_F_02F
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = '+'.
PERFORM check_periodo USING v_koart
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02F
v_bukrs
CHANGING v_data_doc_char
v_ok
* << Fim da inclusão
v_monat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02F
v_bukrs
v_gjahr
CHANGING v_data_lanc_char
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02F
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' '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/ZYCB_TRANSACAO_F_02G
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = '+'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02G
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02G
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02G
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02G
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' '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/ZYCB_TRANSACAO_F_02H
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = '+'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02H
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02H
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02H
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02H
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' '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/ZYCB_TRANSACAO_F_02I
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02I
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02I
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02I
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02I
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' '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/ZYCB_TRANSACAO_F_02J
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = '+'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02J
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02J
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02J
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02J
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' '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/ZYCB_TRANSACAO_F_04B
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'S'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_04B
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_04B
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_04B
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_04B
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/ZYCB_TRANSACAO_F_05
...
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.
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/ZYCB_TRANSACAO_F_05
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_05
v_gjahr
* << Fim da exclusão
changing v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_05
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_05
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/ZYCB_TRANSACAO_F_06
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'S'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_06
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_06
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_06
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_06
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' '0103'.
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/ZYCB_TRANSACAO_F_07
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'S'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_07
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_07
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_07
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_07
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
move v_date to v_gjahr.
move v_monat+1(2) to v_periodo.
concatenate v_budat+6(4) v_budat+3(2) v_budat(2) into
t_dados-budat.
modify t_dados.
perform bdc_screen using 'SAPMF05A' '0103'.
perform bdc_field using:
'BKPF-BLDAT' v_bldat,
'BKPF-BLART' t_dados-blart,
'BKPF-BUKRS' t_dados-bukrs,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_07_A
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_07_A
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_07_A
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_07_A
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_07_A
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
MOVE v_date TO v_gjahr.
MOVE v_monat+1(2) TO v_periodo.
CONCATENATE v_budat+6(4) v_budat+3(2) v_budat(2) INTO
t_dados-budat.
MODIFY t_dados.
PERFORM bdc_screen USING 'SAPMF05A' '0103'.
PERFORM bdc_field USING:
'BKPF-BLDAT' v_bldat,
'BKPF-BLART' t_dados-blart,
'BKPF-BUKRS' t_dados-bukrs,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_22
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22
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' '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/ZYCB_TRANSACAO_F_22B
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = t_dados-budat+0(4).
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22B
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22B
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22B
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22B
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
MOVE v_data_lanc_char+6(4) TO v_gjahr.
MOVE v_monat+1(2) TO v_periodo.
PERFORM bdc_screen USING 'SAPMF05A' '0100'.
IF t_dados-newbs EQ '19'
OR t_dados-newbs EQ '09'.
PERFORM bdc_field USING:
'RF05A-NEWUM' t_dados-umskz.
ENDIF.
PERFORM bdc_field USING:
'BKPF-BLDAT' v_data_doc_char,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_22C
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22C
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22C
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22C
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22C
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' '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/ZYCB_TRANSACAO_F_22D
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22D
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22D
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22D
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22D
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' '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/ZYCB_TRANSACAO_F_22E
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22E
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22E
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22E
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22E
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' '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/ZYCB_TRANSACAO_F_22F
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22F
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22F
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22F
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22F
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' '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/ZYCB_TRANSACAO_F_22G
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = '+'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22G
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22G
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22G
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22G
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' '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/ZYCB_TRANSACAO_F_28
...
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 = 'D'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_28
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_28
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_28
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_28
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' '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' v_periodo,
'BKPF-WAERS' t_dados-waers,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_28_A
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'D'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_28_A
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_28_A
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_28_A
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_28_A
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' '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' v_periodo,
'BKPF-WAERS' t_dados-waers,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_29
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'D'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_29
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_29
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_29
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_29
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' '0111'.
PERFORM bdc_field USING:
'BKPF-BLDAT' v_bldat,
'BKPF-BLART' t_dados-blart,
'BKPF-BUKRS' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-MONAT' v_periodo,
'BKPF-WAERS' t_dados-waers,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_29R
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'D'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_29R
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_29R
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_29R
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_29R
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' '0111'.
PERFORM bdc_field USING:
'BKPF-BLDAT' v_bldat,
'BKPF-BLART' t_dados-blart,
'BKPF-BUKRS' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-MONAT' v_periodo,
'BKPF-WAERS' t_dados-waers,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_A
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = '+'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_B
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_B
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_B
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_B
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_B
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_C
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'S'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_C
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_C
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_C
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_C
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
move v_budat+6(4) 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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_D
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'D'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_D
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_D
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_D
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_D
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
MOVE v_budat+6(4) TO v_gjahr.
MOVE v_monat+1(2) TO v_periodo.
IF t_dados-awtyp = '2'.
v_xpos1 = 'RF05A-XPOS1(2)'.
ELSE.
v_xpos1 = 'RF05A-XPOS1(4)'.
ENDIF.
IF NOT t_dados-d_valut = '00000000' AND
NOT t_dados-d_valut = ' '.
WRITE: t_dados-d_valut TO v_valut.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_E
...
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/ZYCB_TRANSACAO_F_30_E
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_E
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_E
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_E
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/ZYCB_TRANSACAO_F_30_F
...
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
PERFORM check_periodo USING '+'
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_F
v_monat
* << Fim da exclusão
t_dados-bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_F
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_F
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_F
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 akont FROM knb1
INTO knb1-akont
WHERE kunnr = t_dados-d_newko
AND bukrs = t_dados-bukrs.
SELECT SINGLE plcontas FROM /pws/zycbt007
INTO /pws/zycbt007-plcontas
WHERE bukrs EQ t_dados-bukrs.
IF NOT t_dados-umskz IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_H
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'D'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_H
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_H
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_H
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_H
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_I
...
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_comp.
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
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_I
v_year = v_date.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_I
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 NE 0. ELSE. ENDIF.
* << Fim da inclusão
CHECK t_dados-tcode = 'F-30'.
IF ( t_dados-bukrs = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'BKPF-BUKRS'.
t_campo-descricao = text-021.
APPEND t_campo.
RAISE campo_em_branco.
ENDIF.
IF ( t_dados-agkon = space ).
t_campo-mandt = t_dados-mandt.
...
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'D'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_I
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_I
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_I
v_ok.
MOVE v_date TO v_gjahr.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_I
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' t_dados-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/ZYCB_TRANSACAO_F_30_J
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'D'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_J
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_J
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_J
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_J
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_K
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'D'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_K
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_K
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_K
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_K
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
MOVE v_budat+6(4) TO v_gjahr.
MOVE v_monat+1(2) TO v_periodo.
IF t_dados-awtyp = '2'.
v_xpos1 = 'RF05A-XPOS1(2)'.
ELSE.
v_xpos1 = 'RF05A-XPOS1(4)'.
ENDIF.
WRITE: t_dados-d_valut TO v_valut.
PERFORM bdc_screen USING 'SAPMF05A' '0122'.
PERFORM bdc_field USING:
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_L
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'D'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_L
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_L
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_L
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_L
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_M
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'D'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_M
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_M
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_M
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_M
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_N
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_N
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_N
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_N
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_N
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 xkkbi
FROM t001
INTO v_xkkbi
WHERE bukrs = t_dados-bukrs.
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/ZYCB_TRANSACAO_F_30_O
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'S'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_O
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_O
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_O
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_O
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
move v_budat+6(4) 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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-XBLNR' t_dados-xblnr,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_PR
...
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_PR
PERFORM check_periodo USING wa_tbsl-koart
v_monat
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_PR
PERFORM check_periodo USING '+'
* << Fim da inclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_PR
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_PR
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_PR
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_Q
...
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_Q
PERFORM check_periodo USING wa_tbsl-koart
v_monat
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_Q
PERFORM check_periodo USING '+'
* << Fim da inclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_Q
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_Q
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_Q
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_R
...
version = v_periv
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
perform check_periodo using '+'
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_R
v_monat
* << Fim da exclusão
t_dados-bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_R
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_R
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_R
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_S
...
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
PERFORM check_periodo USING '+'
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_S
v_monat
* << Fim da exclusão
t_dados-bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_S
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_S
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_S
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_T
...
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
PERFORM check_periodo USING '+'
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_T
v_bukrs
CHANGING v_budat
v_ok
* << Fim da inclusão
v_monat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_T
t_dados-bukrs
v_gjahr
CHANGING v_budat
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_T
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_U
...
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_U
PERFORM check_periodo USING wa_tbsl-koart
v_monat
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_U
PERFORM check_periodo USING '+'
* << Fim da inclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_U
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_U
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_U
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_V
...
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
PERFORM check_periodo USING '+'
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_V
v_monat
* << Fim da exclusão
t_dados-bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_V
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_V
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_V
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' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_W
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
WHILE v_ok EQ 'N'.
PERFORM check_periodo USING '+'
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W
v_monat
* << Fim da exclusão
t_dados-bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
MOVE v_budat+6(4) TO v_gjahr.
MOVE v_budat+3(2) TO v_monat.
ENDWHILE.
MOVE v_monat+1(2) TO v_periodo.
WRITE t_dados-budat TO v_dtdocto.
IF v_budat NE v_dtdocto.
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)
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_31
...
v_gjahr = v_date.
v_koart = 'D'.
WRITE: t_dados-bldat TO v_bldat,
t_dados-budat TO v_budat,
t_dados-zfbdt TO v_zfbdt,
t_dados-d_valut TO v_valut,
t_dados-kursf TO v_kursf,
t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers,
t_dados-bukrs TO v_bukrs.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_31
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_31
v_gjahr
* << Fim da exclusão
CHANGING v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_31
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_31
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' '0103'.
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/ZYCB_TRANSACAO_F_43
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'K'.
PERFORM check_periodo USING v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_43
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_43
v_gjahr
* << Fim da exclusão
CHANGING v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_43
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_43
v_ok
v_monat
v_gjahr.
* << Fim da inclusão
CLEAR usr01-datfm.
SELECT SINGLE datfm FROM usr01 INTO usr01-datfm
WHERE bname = sy-uname.
CASE usr01-datfm .
WHEN '1' .
CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.
MOVE v_date TO v_gjahr.
MOVE v_monat+1(2) TO v_periodo.
WHEN '2' or '3' .
CONCATENATE '0' v_data_lanc_char(2) INTO v_monat.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_43A
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'K'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_43A
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_43A
v_gjahr
* << Fim da exclusão
changing v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_43A
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_43A
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' '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/ZYCB_TRANSACAO_F_48
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'K'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_48
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_48
v_gjahr
* << Fim da exclusão
changing v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_48
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_48
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' '0110'.
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/ZYCB_TRANSACAO_F_51
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'K'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51
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/ZYCB_TRANSACAO_F_51A
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51A
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51A
v_gjahr
* << Fim da exclusão
changing v_data_lanc_char
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51A
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51A
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_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/ZYCB_TRANSACAO_F_51B
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'K'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51B
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51B
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51B
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51B
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_budat+3(2),
'BKPF-WAERS' t_dados-waers,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_51C
...
period_not_assigned = 2
version_undefined = 3
others = 4.
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/ZYCB_TRANSACAO_F_51C
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51C
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51C
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51C
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/ZYCB_TRANSACAO_F_51D
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'K'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51D
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51D
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51D
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_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.
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/ZYCB_TRANSACAO_F_51E
...
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51E
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51E
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51E
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51E
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/ZYCB_TRANSACAO_F_51F
...
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'K'.
perform check_periodo using v_koart
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51F
v_monat
* << Fim da exclusão
v_bukrs
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51F
v_gjahr
* << Fim da exclusão
changing v_budat
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51F
v_ok.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_51F
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/ZYCB_TRANSACAO_F_51G
* >> Início da inclusão:
function /pws/zycb_transacao_f_51g.
data:
v_string_debito like tbsl-faus1,
v_string_credito like tbsl-faus1,
v_chave_debito like tbsl-bschl value '40',
v_chave_credito like tbsl-bschl value '50',
v_chave type c,
v_data_doc_char(10) type c,
v_data_lanc_char(10) type c,
v_data_val_char(10) type c,
v_pep like prps-posid,
v_linha type i,
v_cont(2) type n,
v_campo(15),
v_bldat(10),
v_budat(10),
v_wrbtr(16),
v_kursf(9),
v_xpos(14),
v_taxam like bkpf-kursf,
v_nrmsg type i value 0,
v_transacao(4) type c,
v_mode type c,
v_update type c,
v_msgid like t100-arbgb,
v_msgno like t100-msgnr,
v_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_valut(10),
v_lines type i,
v_buzei like bseg-buzei,
v_index type i,
v_index2 type i,
v_periv(2),
v_periodo(2),
v_date like T009B-BDATJ,
v_itens type i,
v_xpos1(2) type n,
v_xpos_comp(14),
v_xpos_belnr(2) type n,
v_selecao(2) TYPE N.
data: itab_t041t like t041t occurs 0 with header line.
data: wa_zycbt089 like /pws/zycbt089.
data: begin of t_contas_aux occurs 0.
include structure t_contas.
data: end of t_contas_aux.
select single selps from t021r
into v_xpos1
where event = 'SL-AG'
and feldn = 'BELNR'.
add 1 to v_xpos1.
shift v_xpos1 left deleting leading '0'.
concatenate 'RF05A-XPOS1(' v_xpos1 ')' into v_xpos.
select single selps from t021r
into v_xpos_belnr
where event = 'SL-AG'
and feldn = 'BELNR'.
clear v_xpos1.
select * from t041t into table itab_t041t
where spras = sy-langu.
read table itab_t041t with key auglv = 'UMBUCHNG'.
v_xpos1 = sy-tabix.
shift v_xpos1 left deleting leading '0'.
concatenate 'RF05A-XPOS1(' v_xpos1 ')' into v_xpos_comp.
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.
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.
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.
select single periv from t001
into v_periv
where bukrs eq v_bukrs.
call function 'DETERMINE_PERIOD'
exporting
date = t_dados-budat
version = v_periv
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'K'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_budat
v_ok
v_monat
v_gjahr.
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,
'BKPF-KURSF' v_kursf,
'BKPF-XBLNR' t_dados-xblnr,
'BKPF-BKTXT' t_dados-bktxt,
'RF05A-AUGTX' t_dados-augtx,
v_xpos_comp 'X',
'BDC_OKCODE' '=SL'.
write WA_zycbt089-num_selecao to v_selecao.
if v_selecao gt v_xpos_belnr .
shift v_xpos_belnr left deleting leading '0'.
add 1 to v_xpos_belnr.
perform bdc_screen using 'SAPMF05A' '0710'.
concatenate 'RF05A-XPOS1(' v_xpos_belnr ')' into v_xpos.
perform bdc_field using:
'RF05A-AGKON' t_dados-d_newko,
'RF05A-AGKOA' t_dados-agkoa,
v_xpos 'X',
'BDC_OKCODE' '=PA'.
else.
shift v_xpos_belnr left deleting leading '0'.
concatenate 'RF05A-XPOS1(' v_selecao ')' into v_xpos.
perform bdc_screen using 'SAPMF05A' '0710'.
perform bdc_field using: 'BDC_OKCODE' '/00'.
perform bdc_field using:
'RF05A-AGKON' t_dados-d_newko,
'RF05A-AGKOA' t_dados-agkoa,
v_xpos 'X',
'BDC_OKCODE' '/00'.
while v_xpos_belnr > 10.
v_xpos_belnr = v_xpos_belnr - 10.
perform bdc_screen using 'SAPMF05A' '0608'.
perform bdc_field using 'BDC_OKCODE' 'P+'.
shift v_xpos_belnr left deleting leading '0'.
endwhile.
concatenate 'RF05A-XPOS1(' v_xpos_belnr ')' into v_xpos.
perform bdc_screen using 'SAPMF05A' '0608'.
perform bdc_field using:
v_xpos 'X',
'BDC_OKCODE' '/00'.
endif.
perform bdc_screen using 'SAPMF05A' '0731'.
if not t_doc[] is initial and v_belnr is initial.
clear v_cont.
loop at t_doc where tcode = t_dados-tcode
and tabela = t_dados-tabela
and cpochv = t_dados-cpochv.
add 1 to v_cont.
concatenate 'RF05A-SEL01(' v_cont ')' into v_campo.
perform bdc_field using v_campo t_doc-belnr.
if v_cont = 5.
clear v_cont.
perform bdc_field using: 'BDC_OKCODE' '/00'.
perform bdc_screen using 'SAPMF05A' '0731'.
endif.
endloop.
perform bdc_field using:
'BDC_OKCODE' '=PA'.
else.
perform bdc_field using:
'RF05A-SEL01(01)' v_belnr,
'BDC_OKCODE' '=PA'.
endif.
move t_contas[] to t_contas_aux[].
clear: v_index,
v_index2.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_OKCODE' '=OMX'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_OKCODE' '=Z+'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_OKCODE' '=AB'.
perform bdc_screen using 'SAPMF05A' '700'.
read table t_contas index 1.
perform bdc_field using:
'RF05A-NEWBS' t_contas-bschl,
'RF05A-NEWKO' t_contas-d_newko,
'BDC_OKCODE' '/00'.
loop at t_contas.
v_index = sy-tabix.
v_index2 = sy-tabix + 1.
perform determina_string using v_chave_credito
t_dados-bukrs
t_contas-d_newko
changing v_string_credito.
free itab_oculto.
perform trata_string_credito tables t_dados
t_campo
itab_oculto
using v_string_credito.
describe table t_contas lines v_linha.
write: t_dados-d_valut to v_data_val_char,
t_contas-wrbtr to v_wrbtr currency t_dados-waers.
perform bdc_screen using 'SAPMF05A' '0300'.
perform bdc_field using:
'BSEG-WRBTR' v_wrbtr.
clear t_contas_aux.
read table t_contas_aux index v_index2.
perform bdc_field using:
'RF05A-NEWBS' t_contas_aux-bschl,
'RF05A-NEWKO' t_contas_aux-d_newko.
read table itab_oculto with key campo = 'BSEG-ZUONR' chave = 'C'.
if sy-subrc <> 0.
perform bdc_field using 'BSEG-ZUONR' t_dados-d_zuonr.
endif.
read table itab_oculto with key campo = 'BSEG-SGTXT' chave = 'C'.
if sy-subrc <> 0.
perform bdc_field using 'BSEG-SGTXT' t_dados-d_sgtxt.
endif.
if v_linha ne v_index .
perform bdc_field using 'BDC_OKCODE' '/00'.
else.
perform bdc_field using 'BDC_OKCODE' '=BU'.
endif.
perform bdc_screen using 'SAPLKACB' '0002'.
read table itab_oculto with key campo = 'COBL-GSBER' chave = 'C'.
if sy-subrc <> 0.
perform bdc_field using 'COBL-GSBER' t_contas-d_gsber.
endif.
read table itab_oculto with key campo = 'COBL-KOSTL' chave = 'C'.
if sy-subrc <> 0.
perform bdc_field using 'COBL-KOSTL' t_contas-d_kostl.
endif.
read table itab_oculto with key campo = 'COBL-PRCTR' chave = 'C'.
if sy-subrc <> 0.
perform bdc_field using 'COBL-PRCTR' t_contas-d_prctr.
endif.
read table itab_oculto with key
campo = 'COBL-PS_PSP_PNR' chave = 'C'.
if sy-subrc <> 0.
if not t_contas-ps_psp_pnr is initial.
call function 'CONVERSION_EXIT_KONPR_OUTPUT'
exporting
input = t_dados-ps_psp_pnr
importing
output = v_pep.
perform bdc_field using:
'COBL-PS_PSP_PNR' v_pep.
endif.
endif.
perform bdc_field using 'BDC_OKCODE' '=ENTE'.
endloop.
loop at t_contas.
perform bdc_screen using 'SAPMF05A' '0610'.
perform bdc_field using:
'BDC_CURSOR' '*BSEG-BUZEI',
'*BSEG-BUZEI' v_buzei.
if t_dados-d_valut eq '00000000'.
write: t_contas-d_valut to v_data_val_char.
else.
write: t_dados-d_valut to v_data_val_char.
endif.
perform bdc_screen using 'SAPMF05A' '0300'.
read table itab_oculto with key campo = 'BSEG-VALUT'
chave = v_chave.
if sy-subrc <> 0.
perform bdc_field using 'BSEG-VALUT' v_data_val_char.
endif.
read table itab_oculto with key campo = 'BSEG-ZUONR'
chave = v_chave.
if sy-subrc <> 0.
perform bdc_field using 'BSEG-ZUONR' t_dados-d_zuonr.
endif.
read table itab_oculto with key campo = 'BSEG-SGTXT'
chave = v_chave.
if sy-subrc <> 0.
perform bdc_field using 'BSEG-SGTXT' t_dados-d_sgtxt.
endif.
perform bdc_field using:
'BDC_SUBSCR' 'SAPLKACB',
'BDC_OKCODE' '/00'.
perform bdc_screen using 'SAPLKACB' '0002'.
read table itab_oculto with key campo = 'COBL-GSBER'
chave = v_chave.
if sy-subrc <> 0.
perform bdc_field using 'COBL-GSBER' t_contas-d_gsber.
endif.
read table itab_oculto with key campo = 'COBL-KOSTL'
chave = v_chave.
if sy-subrc <> 0.
perform bdc_field using 'COBL-KOSTL' t_contas-d_kostl.
endif.
read table itab_oculto with key campo = 'COBL-PRCTR'
chave = v_chave.
if sy-subrc <> 0.
perform bdc_field using 'COBL-PRCTR' t_contas-d_prctr.
endif.
read table itab_oculto with key campo = 'COBL-FIPOS'
chave = v_chave.
if sy-subrc <> 0.
perform bdc_field using 'COBL-FIPOS' t_contas-d_fipos.
endif.
perform bdc_field using:
'BDC_SUBSCR' 'SAPLKACB' ,
'BDC_OKCODE' '=ENTE'.
describe table t_contas lines v_linha.
perform bdc_screen using 'SAPMF05A' '0300'.
perform bdc_field using:
'BDC_CURSOR' 'BSEG-WRBTR',
'BDC_SUBSCR' 'SAPLKACB'.
if v_index ne v_linha.
perform bdc_field using 'BDC_OKCODE' '=PI'.
else.
perform bdc_field using 'BDC_OKCODE' '=BU'.
endif.
perform bdc_screen using 'SAPLKACB' '0002'.
perform bdc_field using:
'BDC_CURSOR' 'COBL-GSBER',
'BDC_SUBSCR' 'SAPLKACB',
'BDC_OKCODE' '=ENTE'.
endloop.
refresh itab_msg.
clear itab_msg.
v_transacao = 'F-51'.
v_update = 'S'.
v_msgid = 'F5'.
v_msgno = '312'.
if v_modo is initial.
v_mode = 'N'.
else.
v_mode = v_modo.
endif.
perform call_transaction tables itab_msg
itab_bdc
t_zycbt032
t_dados
using v_transacao
v_mode
v_update
v_msgid
v_msgno
changing v_nrmsg.
endloop.
free:
itab_bdc,
itab_msg.
endfunction.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_51H
* >> Início da inclusão:
FUNCTION /PWS/ZYCB_TRANSACAO_F_51H.
data:
v_cont(2) type n,
v_campo(15),
v_string_debito like tbsl-faus1,
v_string_credito like tbsl-faus1,
v_data_doc_char(10) type c,
v_data_lanc_char(10) type c,
v_data_val_char(10) type c,
v_data_conv_char(10) type c,
v_data_base_char(10) type c,
v_kursf(9) type c,
v_wrbtr(16) type c,
v_wrbtr1(16) type c,
v_sel03 like rf05a-sel01,
v_chave_debito like tbsl-bschl value '31',
v_chave_credito like tbsl-bschl value '40',
v_nrmsg type i value 0,
v_transacao(4) type c,
v_mode type c,
v_update type c,
v_msgid like t100-arbgb,
v_msgno like t100-msgnr,
v_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_pep like prps-posid,
v_skfbt(16) type c,
v_dconta like /pws/zycbe033-d_newko,
v_date like t009b-bdatj,
v_periv(2),
v_periodo(2),
v_xpos(2) type n,
v_xpos_belnr(2) type n,
v_selecao(2) TYPE N.
data: itab_t041t like t041t occurs 0 with header line.
data: wa_zycbt089 like /pws/zycbt089.
select single selps from t021r
into v_xpos_belnr
where event = 'SL-AG'
and feldn = '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.
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-d_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05A-NEWKO'.
t_campo-descricao = text-022.
append t_campo.
raise campo_em_branco.
endif.
if t_dados-newbs eq '34'.
v_chave_debito = t_dados-newbs.
select single akont from lfb1
into lfb1-akont
where lifnr = t_dados-d_newko
and bukrs = t_dados-bukrs.
perform determina_string using v_chave_debito
t_dados-bukrs
lfb1-akont
changing v_string_debito.
else.
perform determina_string using v_chave_debito
t_dados-bukrs
t_dados-d_newko
changing v_string_debito.
endif.
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.
select single periv from t001
into v_periv
where bukrs eq v_bukrs.
call function 'DETERMINE_PERIOD'
exporting
date = t_dados-budat
version = v_periv
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_data_lanc_char
v_ok
v_monat
v_gjahr.
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_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-WWERT' v_data_conv_char,
'BKPF-XBLNR' t_dados-xblnr,
'BKPF-BVORG' t_dados-bvorg,
'BKPF-BKTXT' t_dados-bktxt,
'BKPF-BRNCH' t_dados-brnch,
'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,
'BKPF-AWKEY' t_dados-awkey,
'BKPF-AWSYS' t_dados-awsys,
'RF05A-NEWUM' t_dados-newum,
'RF05A-NEWBW' t_dados-newbw,
'BDC_OKCODE' '/00'.
if t_dados-wrbtr ne 0.
perform bdc_field using:
'RF05A-NEWKO' t_dados-d_newko.
if t_dados-newbs is initial.
perform bdc_field using:
'RF05A-NEWBS' '40'.
elseif t_dados-newbs eq '50'.
perform bdc_field using: 'RF05A-NEWBS' '50' .
else.
perform bdc_field using: 'RF05A-NEWBS' t_dados-newbs.
endif.
write: t_dados-d_valut to v_data_val_char,
t_dados-wrbtr to v_wrbtr currency t_dados-waers.
if t_dados-newbs is initial or t_dados-newbs eq '50'.
perform bdc_screen using: 'SAPMF05A' '0300'.
read table itab_oculto with key campo = 'BSEG-VALUT'
chave = 'D'.
if sy-subrc <> 0.
perform bdc_field using: 'BSEG-VALUT' v_data_val_char.
endif.
else.
perform bdc_screen using 'SAPMF05A' '0302'.
IF NOT t_dados-zfbdt IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZFBDT' t_dados-zfbdt.
ENDIF.
read table itab_oculto with key campo = 'BSEG-GSBER' CHAVE = 'D'.
IF SY-SUBRC <> 0.
if not t_dados-d_gsber is initial.
perform bdc_field using 'BSEG-GSBER' T_DADOS-D_GSBER.
endif.
endif.
endif.
perform bdc_field using:
'BSEG-WRBTR' v_wrbtr .
read table itab_oculto with key campo = 'BSEG-ZUONR' chave = 'D'.
if sy-subrc <> 0.
perform bdc_field using 'BSEG-ZUONR' t_dados-d_zuonr.
endif.
perform bdc_field using:
'BSEG-SGTXT' t_dados-d_sgtxt,
'BDC_OKCODE' '/00'.
if t_dados-newbs is initial or t_dados-newbs eq '50' .
perform bdc_screen using 'SAPLKACB' '0002'.
read table itab_oculto with key campo = 'COBL-GSBER' chave = 'D'.
if sy-subrc <> 0.
if not t_dados-d_gsber is initial.
perform bdc_field using 'COBL-GSBER' t_dados-d_gsber.
endif.
endif.
perform bdc_field using:
'BDC_OKCODE' '=ENTE'.
endif.
if t_dados-newbs is initial or t_dados-newbs eq '50' .
perform bdc_screen using 'SAPMF05A' '0300'.
perform bdc_field using 'DKACB-FMORE' ' '.
else.
perform bdc_screen using 'SAPMF05A' '0302'.
endif.
perform bdc_field using:
'BDC_OKCODE' '=PA'.
else.
perform bdc_field using:'BDC_OKCODE' '=SL'.
endif.
select single selps from t021r
into v_xpos
where event = 'SL-AG'
and feldn = 'BELNR'.
add 1 to v_xpos.
write WA_zycbt089-num_selecao to v_selecao.
if v_selecao gt v_xpos_belnr .
shift v_xpos_belnr left deleting leading '0'.
add 1 to v_xpos_belnr.
perform bdc_screen using 'SAPMF05A' '0710'.
concatenate 'RF05A-XPOS1(' v_xpos_belnr ')' into v_xpos.
perform bdc_field using:
'RF05A-AGBUK' t_dados-bukrs,
'RF05A-AGKON' t_dados-agkon,
'RF05A-AGKOA' t_dados-agkoa,
'RF05A-AGUMS' t_dados-agums,
'RF05A-AVSID' t_dados-avsid,
v_xpos 'X',
'BDC_OKCODE' '=PA'.
else.
shift v_xpos_belnr left deleting leading '0'.
concatenate 'RF05A-XPOS1(' v_selecao ')' into v_xpos.
perform bdc_screen using 'SAPMF05A' '0710'.
perform bdc_field using: 'BDC_OKCODE' '/00'.
perform bdc_field using:
'RF05A-AGBUK' t_dados-bukrs,
'RF05A-AGKON' t_dados-agkon,
'RF05A-AGKOA' t_dados-agkoa,
'RF05A-AGUMS' t_dados-agums,
'RF05A-AVSID' t_dados-avsid,
v_xpos 'X',
'BDC_OKCODE' '/00'.
while v_xpos_belnr > 10.
v_xpos_belnr = v_xpos_belnr - 10.
perform bdc_screen using 'SAPMF05A' '0608'.
perform bdc_field using 'BDC_OKCODE' 'P+'.
shift v_xpos_belnr left deleting leading '0'.
endwhile.
concatenate 'RF05A-XPOS1(' v_xpos_belnr ')' into v_xpos.
perform bdc_screen using 'SAPMF05A' '0608'.
perform bdc_field using:
v_xpos 'X',
'BDC_OKCODE' '/00'.
endif.
perform bdc_screen using 'SAPMF05A' '0731'.
clear v_cont.
loop at t_zycbt036 where tcode = t_dados-tcode
and tabela = t_dados-tabela
and cpochv = t_dados-cpochv.
add 1 to v_cont.
concatenate 'RF05A-SEL01(' v_cont ')' into v_campo.
perform bdc_field using v_campo t_zycbt036-belnr.
endloop.
if v_zuonr is initial.
perform bdc_field using:
'BDC_OKCODE' '=PA'.
else.
perform bdc_field using:
'BDC_OKCODE' '/00'.
perform bdc_screen using 'SAPMF05A' '0731'.
perform bdc_field using:
'BDC_CURSOR' 'RF05A-SEL01(01)',
'BDC_OKCODE' '=SLK'.
select single selps from t021r
into v_xpos
where event = 'SL-AG'
and feldn = 'ZUONR'.
add 1 to v_xpos.
perform bdc_screen using 'SAPMF05A' '0710'.
perform bdc_field using:
'RF05A-XPOS1(01)' ' ',
'BDC_OKCODE' '=PA'.
concatenate 'RF05A-XPOS1(' v_xpos ')' into v_campo.
perform bdc_field using:
v_campo 'X',
'BDC_CURSOR' v_campo.
perform bdc_screen using 'SAPMF05A' '0731'.
perform bdc_field using:
'RF05A-SEL01(01)' v_zuonr,
'BDC_OKCODE' '=PA'.
endif.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_OKCODE' '=DBR'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using: 'BDC_OKCODE' '=OMX'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using: 'BDC_OKCODE' '=Z+'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using: 'BDC_CURSOR' 'DF05B-PSDIF(01)',
'BDC_OKCODE' '=PI'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using: 'BDC_OKCODE' '=BU'.
refresh itab_msg.
clear itab_msg.
v_transacao = 'F-51'.
v_update = 'S'.
v_msgid = 'F5'.
v_msgno = '312'.
if v_modo is initial.
v_mode = 'N'.
else.
v_mode = v_modo.
endif.
perform call_transaction tables itab_msg
itab_bdc
t_zycbt032
t_dados
using v_transacao
v_mode
v_update
v_msgid
v_msgno
changing v_nrmsg.
endloop.
free:
itab_bdc,
itab_msg.
endfunction.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_51I
* >> Início da inclusão:
function /pws/zycb_transacao_f_51i .
data:
v_cont(2) type n,
v_tabix like sy-tabix,
v_campo(15),
v_bldat(10),
v_budat(10),
v_wrbtr(16),
v_residuo(15),
v_kursf(9),
v_xpos(2) type n,
v_taxam like bkpf-kursf,
v_nrmsg type i value 0,
v_transacao(4) type c,
v_mode type c,
v_update type c,
v_msgid like t100-arbgb,
v_msgno like t100-msgnr,
v_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_valut(10),
v_date like t009b-bdatj,
v_periv(2),
v_periodo(2),
v_data_val_char(10) type c,
v_xpos1(2) type n,
v_xpos_comp(14),
v_xpos_belnr(2) type n,
v_selecao(2) TYPE N.
data: itab_t041t like t041t occurs 0 with header line.
data: wa_zycbt089 like /pws/zycbt089.
clear v_xpos1.
select * from t041t into table itab_t041t
where spras = sy-langu.
read table itab_t041t with key auglv = 'UMBUCHNG'.
v_xpos1 = sy-tabix.
shift v_xpos1 left deleting leading '0'.
concatenate 'RF05A-XPOS1(' v_xpos1 ')' into v_xpos_comp.
select single selps from t021r
into v_xpos_belnr
where event = 'SL-AG'
and feldn = 'BELNR'.
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.
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-d_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05A-NEWKO'.
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.
select single periv from t001
into v_periv
where bukrs eq v_bukrs.
call function 'DETERMINE_PERIOD'
exporting
date = t_dados-budat
version = v_periv
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'K'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_budat
v_ok
v_monat
v_gjahr.
move v_budat+6(4) 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,
'BKPF-KURSF' v_kursf,
'BKPF-XBLNR' t_dados-xblnr,
'BKPF-BKTXT' t_dados-bktxt,
'RF05A-AUGTX' t_dados-augtx,
v_xpos_comp 'X',
'BDC_OKCODE' '=SL'.
if t_dados-wrbtr ne 0.
perform bdc_field using:
'RF05A-NEWKO' t_dados-d_newko.
if t_dados-newbs is initial.
perform bdc_field using:
'RF05A-NEWBS' '40'.
else.
perform bdc_field using: 'RF05A-NEWBS' t_dados-newbs.
if t_dados-newbs eq '50'.
clear t_dados-newbs.
endif.
endif.
write: t_dados-d_valut to v_data_val_char,
t_dados-wrbtr to v_wrbtr currency t_dados-waers.
if t_dados-newbs is initial.
perform bdc_screen using: 'SAPMF05A' '0300'.
else.
perform bdc_screen using 'SAPMF05A' '0302'.
if not t_dados-zfbdt is initial.
perform bdc_field using 'BSEG-ZFBDT' t_dados-zfbdt.
endif.
endif.
perform bdc_field using:
'BSEG-WRBTR' v_wrbtr .
perform bdc_field using
'BSEG-BUPLA' t_dados-brnch.
read table itab_oculto with key campo = 'BSEG-ZUONR' chave = 'D'.
if sy-subrc <> 0.
perform bdc_field using 'BSEG-ZUONR' t_dados-d_zuonr.
endif.
read table itab_oculto with key campo = 'BSEG-GSBER' chave = 'D'.
if sy-subrc <> 0.
if not t_dados-d_gsber is initial.
perform bdc_field using 'BSEG-GSBER' t_dados-d_gsber.
endif.
endif.
perform bdc_field using:
'BSEG-SGTXT' t_dados-c_sgtxt,
'BDC_OKCODE' '/00'.
if t_dados-newbs is initial.
perform bdc_screen using 'SAPLKACB' '0002'.
read table itab_oculto with key campo = 'COBL-GSBER' chave = 'D'.
if sy-subrc <> 0.
if not t_dados-d_gsber is initial.
perform bdc_field using 'COBL-GSBER' t_dados-d_gsber.
endif.
endif.
perform bdc_field using:
'BDC_OKCODE' '=ENTE'.
if t_dados-newbs is initial.
perform bdc_screen using: 'SAPMF05A' '0300'.
else.
perform bdc_screen using: 'SAPMF05A' '0302'.
endif.
perform bdc_field using:'BDC_OKCODE' '=SL'.
perform bdc_screen using 'SAPLKACB' '0002'.
perform bdc_field using:'BDC_OKCODE' '=ENTE'.
endif.
endif.
write WA_zycbt089-num_selecao to v_selecao.
if v_selecao gt v_xpos_belnr .
shift v_xpos_belnr left deleting leading '0'.
perform bdc_screen using 'SAPMF05A' '0710'.
concatenate 'RF05A-XPOS1(' v_xpos_belnr ')' into v_xpos.
perform bdc_field using:
'RF05A-AGKON' t_dados-agkon,
'RF05A-AGUMS' t_dados-agums,
'RF05A-AGKOA' t_dados-agkoa,
v_xpos 'X',
'BDC_OKCODE' '=PA'.
else.
subtract 1 from v_xpos_belnr.
shift v_xpos_belnr left deleting leading '0'.
concatenate 'RF05A-XPOS1(' v_selecao ')' into v_xpos.
perform bdc_screen using 'SAPMF05A' '0710'.
perform bdc_field using: 'BDC_OKCODE' '/00'.
perform bdc_field using:
'RF05A-AGKON' t_dados-agkon,
'RF05A-AGUMS' t_dados-agums,
'RF05A-AGKOA' t_dados-agkoa,
v_xpos 'X',
'BDC_OKCODE' '/00'.
while v_xpos_belnr > 10.
v_xpos_belnr = v_xpos_belnr - 10.
perform bdc_screen using 'SAPMF05A' '0608'.
perform bdc_field using 'BDC_OKCODE' 'P+'.
shift v_xpos_belnr left deleting leading '0'.
endwhile.
concatenate 'RF05A-XPOS1(' v_xpos_belnr ')' into v_xpos.
perform bdc_screen using 'SAPMF05A' '0608'.
perform bdc_field using:
v_xpos 'X',
'BDC_OKCODE' '/00'.
endif.
perform bdc_screen using 'SAPMF05A' '0731'.
clear v_cont.
loop at t_zycbt036 where tcode = t_dados-tcode
and tabela = t_dados-tabela
and cpochv = t_dados-cpochv.
add 1 to v_cont.
concatenate 'RF05A-SEL01(' v_cont ')' into v_campo.
perform bdc_field using v_campo t_zycbt036-belnr.
if v_cont = 5.
clear v_cont.
perform bdc_screen using 'SAPDF05X' '0731'.
perform bdc_field using: 'BDC_OKCODE' '/00'.
endif.
endloop.
perform bdc_field using:
'BDC_OKCODE' '=PA'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using: 'BDC_OKCODE' 'DBR'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'DF05B-PSDIF(01)'.
perform bdc_field using 'BDC_OKCODE' '=OMX'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'DF05B-PSDIF(01)'.
perform bdc_field using 'BDC_OKCODE' '=Z+'.
perform bdc_field using 'BDC_OKCODE' '=BS'.
perform bdc_screen using 'SAPMF05A' '0700'.
concatenate 'RF05A-AZEI1(' v_cont ')' into v_campo.
perform bdc_field using:
'BDC_CURSOR' 'RF05A-AZEI1(01)',
'BDC_OKCODE' '=BU'.
refresh itab_msg.
clear itab_msg.
v_transacao = 'F-51'.
v_update = 'S'.
v_msgid = 'F5'.
v_msgno = '312'.
if v_modo is initial.
v_mode = 'N'.
else.
v_mode = v_modo.
endif.
perform call_transaction tables itab_msg
itab_bdc
t_zycbt032
t_dados
using v_transacao
v_mode
v_update
v_msgid
v_msgno
changing v_nrmsg.
endloop.
free:
itab_bdc,
itab_msg.
endfunction.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_53
* >> Início da inclusão:
FUNCTION /pws/zycb_transacao_f_53.
DATA:
v_bldat(10),
v_budat(10),
v_valut(10),
v_wrbtr(16),
v_dmbtr(16),
v_kursf(9),
v_xpos(14),
v_taxam LIKE bkpf-kursf,
v_string_debito LIKE tbsl-faus1,
v_chave_debito LIKE tbsl-bschl VALUE '40',
v_nrmsg TYPE i VALUE 0,
v_transacao(4) TYPE c,
v_mode TYPE c,
v_update TYPE c,
v_msgid LIKE t100-arbgb,
v_msgno LIKE t100-msgnr,
v_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_periv(2),
v_periodo(2),
v_gjahr LIKE t001b-frye1,
v_xpos1(2) TYPE n,
v_xpos_budat(14),
v_dtdocto(10),
v_selecao(2) TYPE N,
V_XPOS_BELNR(2) type n.
data: wa_zycbt089 like /pws/zycbt089.
clear v_xpos_belnr.
select single selps from t021r
into v_xpos_belnr
where event = 'SL-AG'
and feldn = 'BELNR'.
CLEAR v_xpos1.
SELECT SINGLE selps FROM t021r
INTO v_xpos1
WHERE event = 'SU-AG'
AND feldn = 'BUDAT'.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_budat.
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.
CHECK t_dados-tcode = 'F-53'.
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.
t_campo-campo = 'RF05A-KONTO'.
t_campo-descricao = text-020.
APPEND t_campo.
RAISE campo_em_branco.
ENDIF.
PERFORM determina_string USING v_chave_debito
t_dados-bukrs
t_dados-c_newko
CHANGING v_string_debito.
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_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.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ v_bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_budat
v_ok
v_monat
v_gjahr.
MOVE v_date TO v_gjahr.
MOVE v_monat+1(2) TO v_periodo.
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' v_periodo,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
'BKPF-XBLNR' t_dados-xblnr,
'BKPF-BKTXT' t_dados-bktxt,
'RF05A-AUGTX' t_dados-augtx,
'RF05A-KONTO' t_dados-c_newko.
IF NOT t_dados-agkoa IS INITIAL.
PERFORM bdc_field USING 'RF05A-AGKOA' t_dados-agkoa.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'C'.
IF sy-subrc <> 0.
IF NOT t_dados-c_gsber IS INITIAL.
PERFORM bdc_field USING 'BSEG-GSBER' t_dados-c_gsber.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT' chave = 'C'.
IF sy-subrc <> 0.
IF NOT t_dados-c_valut IS INITIAL.
PERFORM bdc_field USING 'BSEG-VALUT' t_dados-c_valut.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'BSEG-DMBTR' v_dmbtr,
'BSEG-VALUT' v_valut,
'BSEG-ZUONR' t_dados-c_zuonr,
'RF05A-AGKON' t_dados-agkon.
IF v_xpos_belnr le 5 .
ADD 1 TO v_xpos_belnr.
SHIFT v_xpos_belnr LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.
PERFORM bdc_field USING:
v_xpos 'X',
'BDC_OKCODE' '=PA'.
ELSE.
SHIFT v_xpos_belnr LEFT DELETING LEADING '0'.
perform bdc_field using:
'RF05A-XPOS1(6)' 'X',
'BDC_OKCODE' '/00'.
while v_xpos_belnr > 10.
v_xpos_belnr = v_xpos_belnr - 10.
perform bdc_screen using 'SAPMF05A' '0608'.
perform bdc_field using 'BDC_OKCODE' 'P+'.
shift v_xpos1 left deleting leading '0'.
endwhile.
concatenate 'RF05A-XPOS1(' v_xpos_belnr ')' into v_xpos.
perform bdc_screen using 'SAPMF05A' '0608'.
perform bdc_field using:
v_xpos 'X',
'BDC_OKCODE' '/00'.
ENDIF.
PERFORM bdc_screen USING 'SAPMF05A' '0731'.
PERFORM bdc_field USING:
'RF05A-SEL01(01)' t_dados-belnr,
'BDC_OKCODE' '=PA'.
IF NOT t_dados-dtdocto IS INITIAL.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OMX'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=Z-'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPDF05X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'DF05B-PSSKT(01)'.
PERFORM bdc_field USING 'RF05A-ABPOS' '1'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OSU'.
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_CURSOR' v_xpos_budat.
PERFORM bdc_field USING v_xpos_budat 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
PERFORM bdc_screen USING 'SAPDF05X' '0732'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-VONDT(01)'.
WRITE t_dados-dtdocto TO v_dtdocto.
PERFORM bdc_field USING 'RF05A-VONDT(01)' v_dtdocto.
PERFORM bdc_field USING 'RF05A-BISDT(01)' v_dtdocto.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
ENDIF.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING:
'BDC_OKCODE' '=OMX'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING:
'BDC_OKCODE' '=Z+'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING:
'BDC_OKCODE' '=BU'.
REFRESH itab_msg.
CLEAR itab_msg.
v_transacao = 'F-53'.
v_update = 'S'.
v_msgid = 'F5'.
v_msgno = '312'.
IF v_modo IS INITIAL.
v_mode = 'N'.
ELSE.
v_mode = v_modo.
ENDIF.
PERFORM call_transaction TABLES itab_msg
itab_bdc
t_zycbt032
t_dados
USING v_transacao
v_mode
v_update
v_msgid
v_msgno
CHANGING v_nrmsg.
ENDLOOP.
FREE:
itab_bdc,
itab_msg.
ENDFUNCTION.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_53A
* >> Início da inclusão:
function /pws/zycb_transacao_f_53a.
data:
v_bldat(10),
v_budat(10),
v_valut(10),
v_wrbtr(16),
v_dmbtr(16),
v_kursf(9),
v_xpos(14),
v_taxam like bkpf-kursf,
v_string_debito like tbsl-faus1,
v_chave_debito like tbsl-bschl value '40',
v_nrmsg type i value 0,
v_transacao(4) type c,
v_mode type c,
v_update type c,
v_msgid like t100-arbgb,
v_msgno like t100-msgnr,
v_koart like t001b-mkoar,
v_ok(1) value 'N',
v_monat like t001b-frpe1,
v_bukrs like t001-bukrs,
v_cont(2) type n,
v_campo(15),
v_date like t009b-bdatj,
v_periv(2),
v_periodo(2),
v_gjahr like t001b-frye1,
v_xpos1(2) type n,
v_selecao(2) TYPE N,
v_xpos_BELNR(2) type n.
select single selps from t021r
into v_xpos1
where event = 'SL-AG'
and feldn = 'BELNR'.
add 1 to v_xpos1.
shift v_xpos1 left deleting leading '0'.
concatenate 'RF05A-XPOS1(' v_xpos1 ')' into v_xpos.
clear v_XPOS_BELNR.
select single selps from t021r
into v_xpos_belnr
where event = 'SL-AG'
and feldn = 'BELNR'.
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.
check t_dados-tcode = 'F-53'.
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.
t_campo-campo = 'RF05A-KONTO'.
t_campo-descricao = text-020.
append t_campo.
raise campo_em_branco.
endif.
perform determina_string using v_chave_debito
t_dados-bukrs
t_dados-c_newko
changing v_string_debito.
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_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.
select single periv from t001
into v_periv
where bukrs eq v_bukrs.
call function 'DETERMINE_PERIOD'
exporting
date = t_dados-budat
version = v_periv
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_budat
v_ok
v_monat
v_gjahr.
move v_date to v_gjahr.
move v_monat+1(2) to v_periodo.
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' v_periodo,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
'BKPF-XBLNR' t_dados-xblnr,
'BKPF-BKTXT' t_dados-bktxt,
'RF05A-AUGTX' t_dados-augtx,
'RF05A-KONTO' t_dados-c_newko.
if not t_dados-agkoa is initial.
perform bdc_field using 'RF05A-AGKOA' t_dados-agkoa.
endif.
read table itab_oculto with key campo = 'COBL-GSBER' chave = 'C'.
if sy-subrc <> 0.
if not t_dados-c_gsber is initial.
perform bdc_field using 'BSEG-GSBER' t_dados-c_gsber.
endif.
endif.
read table itab_oculto with key campo = 'BSEG-VALUT' chave = 'C'.
if sy-subrc <> 0.
if not t_dados-c_valut is initial.
perform bdc_field using 'BSEG-VALUT' t_dados-c_valut.
endif.
endif.
read table itab_oculto with key campo = 'BSEG-ZUONR' chave = 'C'.
if sy-subrc <> 0.
if not t_dados-c_zuonr is initial.
perform bdc_field using 'BSEG-ZUONR' t_dados-c_zuonr.
endif.
endif.
perform bdc_field using:
'BSEG-WRBTR' v_wrbtr,
'BSEG-DMBTR' v_dmbtr,
'BSEG-VALUT' v_valut,
'RF05A-AGKON' t_dados-agkon.
IF v_xpos_belnr le 5 .
ADD 1 TO v_xpos_belnr.
SHIFT v_xpos_belnr LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.
PERFORM bdc_field USING:
v_xpos 'X',
'BDC_OKCODE' '=PA'.
ELSE.
SHIFT v_xpos_belnr LEFT DELETING LEADING '0'.
perform bdc_field using:
'RF05A-XPOS1(6)' 'X',
'BDC_OKCODE' '/00'.
while v_xpos_belnr > 10.
v_xpos_belnr = v_xpos_belnr - 10.
perform bdc_screen using 'SAPMF05A' '0608'.
perform bdc_field using 'BDC_OKCODE' 'P+'.
shift v_xpos1 left deleting leading '0'.
endwhile.
concatenate 'RF05A-XPOS1(' v_xpos_belnr ')' into v_xpos.
perform bdc_screen using 'SAPMF05A' '0608'.
perform bdc_field using:
v_xpos 'X',
'BDC_OKCODE' '/00'.
ENDIF.
clear : v_cont.
perform bdc_screen using 'SAPMF05A' '0731'.
loop at t_zycbt036 where tcode = t_dados-tcode
and tabela = t_dados-tabela
and cpochv = t_dados-cpochv.
add 1 to v_cont.
concatenate 'RF05A-SEL01(' v_cont ')' into v_campo.
perform bdc_field using v_campo t_zycbt036-belnr.
endloop.
perform bdc_screen using 'SAPMF05A' '0731'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-SEL01(01)'.
perform bdc_field using 'BDC_OKCODE' '=PA'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using:
'BDC_OKCODE' '=OMX'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using:
'BDC_OKCODE' '=Z+'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using:
'BDC_OKCODE' '=BU'.
refresh itab_msg.
clear itab_msg.
v_transacao = 'F-53'.
v_update = 'S'.
v_msgid = 'F5'.
v_msgno = '312'.
if v_modo is initial.
v_mode = 'N'.
else.
v_mode = v_modo.
endif.
perform call_transaction tables itab_msg
itab_bdc
t_zycbt032
t_dados
using v_transacao
v_mode
v_update
v_msgid
v_msgno
changing v_nrmsg.
endloop.
free:
itab_bdc,
itab_msg.
endfunction.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_63
* >> Início da inclusão:
FUNCTION /pws/zycb_transacao_f_63.
DATA:
v_string_debito LIKE tbsl-faus1,
v_data_doc_char(10) TYPE c,
v_data_val_char(10) TYPE c,
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_update TYPE c,
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_gjahr LIKE t001b-frye1,
v_chave_credito TYPE tbsl-bschl VALUE '31',
v_string_credito TYPE tbsl-faus1,
v_conta TYPE lfb1-akont,
v_pep LIKE prps-posid,
v_date LIKE t009b-bdatj,
v_periv(2),
v_periodo(2),
v_dconta LIKE /pws/zycbe033-d_newko.
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
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
CHECK t_dados-tcode = 'F-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.
t_campo-campo = 'RF05V-NEWKO'.
t_campo-descricao = text-020.
APPEND t_campo.
RAISE campo_em_branco.
ENDIF.
IF t_dados-newbs EQ '29'.
v_chave_debito = '29'.
SELECT SINGLE akont FROM lfb1
INTO lfb1-akont
WHERE lifnr = t_dados-d_newko
AND bukrs = t_dados-bukrs.
SELECT SINGLE plcontas FROM /pws/zycbt007
INTO /pws/zycbt007-plcontas
WHERE bukrs EQ t_dados-bukrs.
SELECT skont FROM t074 UP TO 1 ROWS
INTO v_dconta
WHERE ktopl = /pws/zycbt007-plcontas
AND koart = 'K'
AND umskz = t_dados-umskz
AND hkont = lfb1-akont.
ENDSELECT.
PERFORM determina_string USING v_chave_debito
t_dados-bukrs
v_dconta
CHANGING v_string_debito.
ELSE.
PERFORM determina_string USING v_chave_debito
t_dados-bukrs
t_dados-d_newko
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.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ v_bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'K'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_data_lanc_char
v_ok
v_monat
v_gjahr.
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,
'BKPF-KURSF' v_kursf,
'BKPF-XBLNR' t_dados-xblnr,
'BKPF-BKTXT' t_dados-bktxt,
'RF05V-NEWBS' '31',
'RF05V-NEWKO' t_dados-agkon,
'BDC_OKCODE' '/00'.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BKPF-BRNCH' t_dados-brnch.
ENDIF.
WRITE: t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers,
t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.
SELECT SINGLE akont FROM lfb1
INTO v_conta
WHERE lifnr = t_dados-agkon
AND bukrs = t_dados-bukrs.
perform determina_string using v_chave_credito
t_dados-bukrs
v_conta
changing v_string_credito.
PERFORM trata_string_credito TABLES t_dados
t_campo
itab_oculto
USING v_string_credito.
PERFORM bdc_screen USING 'SAPLF040' '0302'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM' chave = 'C'.
IF sy-subrc NE 0.
IF NOT t_dados-zterm IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZTERM' t_dados-zterm.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR' chave = 'C'.
IF sy-subrc NE 0.
IF NOT v_dmbtr IS INITIAL.
PERFORM bdc_field USING 'BSEG-DMBTR' v_dmbtr.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA' chave = 'C'.
IF sy-subrc NE 0.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'C'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BSEG-ZUONR' t_dados-c_zuonr,
'BSEG-SGTXT' t_dados-c_sgtxt,
'RF05V-NEWBS' '40'.
IF NOT ( t_dados-newbs IS INITIAL ).
PERFORM bdc_field USING 'RF05V-NEWBS' t_dados-newbs.
ENDIF.
PERFORM bdc_field USING 'RF05V-NEWKO' t_dados-d_newko.
IF NOT ( t_dados-umskz IS INITIAL ) .
PERFORM bdc_field USING 'RF05V-NEWUM' t_dados-umskz.
ENDIF.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
clear lfbw.
SELECT SINGLE * FROM lfbw WHERE lifnr = t_dados-agkon
AND bukrs = t_dados-bukrs.
IF lfbw-wt_subjct = 'X'.
PERFORM bdc_screen USING 'SAPLFWTD' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
ENDIF.
IF v_predic EQ 'X'.
PERFORM bdc_screen USING 'SAPLF040' '0302'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'BSEG-GSBER' t_dados-d_gsber,
'BDC_OKCODE' '=BP'.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR' chave = 'D'.
IF sy-subrc NE 0.
IF NOT v_dmbtr IS INITIAL.
PERFORM bdc_field USING 'BSEG-DMBTR' v_dmbtr.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA' chave = 'D'.
IF sy-subrc NE 0.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
ELSE.
IF t_dados-newbs NE '29'.
WRITE: t_dados-d_valut TO v_data_val_char.
PERFORM bdc_screen USING 'SAPLF040' '0300'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'BSEG-ZUONR' t_dados-d_zuonr,
'BSEG-SGTXT' t_dados-d_sgtxt,
'BDC_OKCODE' '=BP'.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR' chave = 'D'.
IF sy-subrc NE 0.
IF NOT v_dmbtr IS INITIAL.
PERFORM bdc_field USING 'BSEG-DMBTR' v_dmbtr.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA' chave = 'D'.
IF sy-subrc NE 0.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
IF NOT t_dados-aufnr IS INITIAL.
PERFORM bdc_field USING 'COBL-AUFNR' t_dados-aufnr.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-KOSTL' chave = 'D'.
IF sy-subrc <> 0.
PERFORM bdc_field USING:
'COBL-KOSTL' t_dados-d_kostl.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-PS_PSP_PNR' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-ps_psp_pnr IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_KONPR_OUTPUT'
EXPORTING
input = t_dados-ps_psp_pnr
IMPORTING
output = v_pep.
PERFORM bdc_field USING:
'COBL-PS_PSP_PNR' v_pep.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-PRCTR' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_prctr IS INITIAL.
PERFORM bdc_field USING:
'COBL-PRCTR' t_dados-d_prctr.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-WERKS' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-werks IS INITIAL.
PERFORM bdc_field USING 'COBL-WERKS' t_dados-werks.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BDC_OKCODE' '=ENTE'.
ELSEIF t_dados-newbs EQ '29'.
WRITE: t_dados-zfbdt TO v_data_venc_char.
PERFORM bdc_screen USING 'SAPLF040' '0303'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR' chave = 'D'.
IF sy-subrc NE 0.
IF NOT v_dmbtr IS INITIAL.
PERFORM bdc_field USING 'BSEG-DMBTR' v_dmbtr.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BSEG-ZFBDT' v_data_venc_char.
READ TABLE itab_oculto WITH KEY campo = 'COBL-FIPOS' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_fipos IS INITIAL.
PERFORM bdc_field USING 'BSEG-FIPOS' t_dados-d_fipos.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-FISTL' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_fictr IS INITIAL.
PERFORM bdc_field USING 'BSEG-FISTL' t_dados-d_fictr.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BSEG-BUPLA' t_dados-brnch,
'BSEG-ZUONR' t_dados-d_zuonr,
'BSEG-SGTXT' t_dados-d_sgtxt,
'BDC_OKCODE' '=BP'.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA' chave = 'D'.
IF sy-subrc NE 0.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
CLEAR itab_msg.
v_transacao = 'F-63'.
v_update = 'S'.
v_msgid = 'FP'.
v_msgno = '001'.
IF v_modo IS INITIAL.
v_mode = 'N'.
ELSE.
v_mode = v_modo.
ENDIF.
PERFORM call_transaction TABLES itab_msg
itab_bdc
t_zycbt032
t_dados
USING v_transacao
v_mode
v_update
v_msgid
v_msgno
CHANGING v_nrmsg.
ENDLOOP.
FREE:
itab_bdc,
itab_msg.
ENDFUNCTION.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_63A
* >> Início da inclusão:
function /pws/zycb_transacao_f_63a.
data:
v_string_debito like tbsl-faus1,
v_data_doc_char(10) type c,
v_data_conv_char(10) type c,
v_data_conver_char(10) type c,
v_data_val_char(10) type c,
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_wrbtr1(16) type c,
v_wrbtr_irrf(20) 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_update type c,
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_gjahr like t001b-frye1,
v_skfbt like bseg-skfbt value 0,
v_pep like prps-posid,
v_dconta like /pws/zycbe033-d_newko,
v_conta like lfb1-akont,
v_index_aux like sy-tabix,
v_date like t009b-bdatj,
v_periv(2),
v_periodo(2),
v_index_aux2 like sy-tabix.
data: t_debito_aux like /pws/zycbe035 occurs 0 with header line.
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.
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-c_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05V-NEWKO'.
t_campo-descricao = text-020.
append t_campo.
raise campo_em_branco.
endif.
if t_dados-newbs eq '29'.
v_chave_debito = '29'.
select single akont
from lfb1
into lfb1-akont
where lifnr = t_dados-d_newko
and bukrs = t_dados-bukrs.
select single plcontas from /pws/zycbt007
into /pws/zycbt007-plcontas
where bukrs eq t_dados-bukrs.
select skont from t074 up to 1 rows
into v_dconta
where ktopl = /pws/zycbt007-plcontas
and koart = 'K'
and umskz = t_dados-umskz
and hkont = lfb1-akont.
endselect.
perform determina_string using v_chave_debito
t_dados-bukrs
v_dconta
changing v_string_debito.
else.
select akont
into v_conta
from lfb1
where lifnr = t_dados-c_newko.
endselect.
perform determina_string using v_chave_debito
t_dados-bukrs
v_conta
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.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ v_bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'K'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_data_lanc_char
v_ok
v_monat
v_gjahr.
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,
'BKPF-BELNR' t_dados-belnr,
'BKPF-WWERT' v_data_conv_char,
'BKPF-XBLNR' t_dados-xblnr,
'BKPF-BKTXT' t_dados-bktxt,
'FS006-DOCID' t_dados-docid,
'FS006-BARCD' t_dados-barcd,
'RF05V-NEWBS' '31',
'RF05V-NEWKO' t_dados-c_newko,
'BDC_OKCODE' '/00'.
write: t_dados-wrbtr to v_wrbtr currency t_dados-waers,
v_skfbt to v_base_char currency t_dados-waers.
perform bdc_screen using 'SAPLF040' '0302'.
perform bdc_field using:
'BSEG-WRBTR' v_wrbtr.
read table itab_oculto with key campo = 'COBL-GSBER' chave = 'C'.
if sy-subrc <> 0.
if not t_dados-c_gsber is initial.
perform bdc_field using 'BSEG-GSBER' t_dados-c_gsber.
endif.
endif.
read table itab_oculto with key campo = 'BSEG-SGTXT' chave = 'C'.
if sy-subrc <> 0.
if not t_dados-c_sgtxt is initial.
perform bdc_field using 'BSEG-SGTXT' t_dados-c_sgtxt.
endif.
endif.
read table itab_oculto with key campo = 'BSEG-ZUONR' chave = 'C'.
if sy-subrc <> 0.
if not t_dados-c_zuonr is initial.
perform bdc_field using 'BSEG-BUPLA' t_dados-c_zuonr.
perform bdc_field using 'BSEG-ZUONR' t_dados-c_zuonr.
endif.
endif.
if not t_dados-zfbdt is initial.
perform bdc_field using 'BSEG-ZFBDT' t_dados-zfbdt.
endif.
clear: t_debito_aux. refresh: t_debito_aux.
t_debito_aux[] = t_debito[].
loop at t_debito.
v_index_aux = sy-tabix.
check t_debito-tcode = 'F-63'.
check not t_debito-wrbtr is initial.
if ( t_debito-d_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05A-NEWKO'.
t_campo-descricao = text-020.
append t_campo.
raise campo_em_branco.
endif.
if v_wrbtr1 is initial.
perform bdc_field using:
'RF05V-NEWBS' t_debito-chave,
'RF05V-NEWKO' t_debito-d_newko.
read table itab_oculto with key campo = 'BSEG-BUPLA' chave = 'D'.
if sy-subrc ne 0.
if not t_dados-brnch is initial.
perform bdc_field using 'BSEG-BUPLA' t_dados-brnch.
endif.
endif.
if v_irrf eq 'S'.
perform bdc_field using 'BDC_OKCODE' 'QS'.
write: t_dados-wrbtrirrf to v_wrbtr_irrf
currency t_dados-waers.
perform bdc_screen using 'SAPLFWTD' '0100'.
perform bdc_field using:
'WITH_DIALG-WT_BASE(01)' v_wrbtr_irrf,
'BDC_OKCODE' '=GO'.
else.
perform bdc_field using 'BDC_OKCODE' '/00'.
endif.
endif.
write: t_debito-wrbtr to v_wrbtr1 currency t_dados-waers,
t_debito-d_valut to v_data_conver_char.
perform bdc_screen using 'SAPLF040' '0300'.
perform bdc_field using:
'BSEG-WRBTR' v_wrbtr1,
'BSEG-ZUONR' t_debito-d_zuonr,
'BSEG-SGTXT' t_debito-d_sgtxt,
'DKACB-FMORE' 'X'.
if not v_wrbtr1 is initial.
v_index_aux2 = v_index_aux + 1.
clear: t_debito_aux.
read table t_debito_aux index v_index_aux2.
perform bdc_field using:
'RF05V-NEWBS' t_debito_aux-chave,
'RF05V-NEWKO' t_debito_aux-d_newko.
endif.
perform bdc_field using:
'BDC_OKCODE' '/00'.
perform bdc_screen using 'SAPLKACB' '0002'.
read table itab_oculto with key campo = 'COBL-GSBER' chave = 'D'.
if sy-subrc <> 0.
if not t_debito-d_gsber is initial.
perform bdc_field using 'COBL-GSBER' t_debito-d_gsber.
endif.
endif.
read table itab_oculto with key campo = 'COBL-KOSTL' chave = 'D'.
if sy-subrc ne 0.
if not t_debito-d_kostl is initial.
perform bdc_field using 'COBL-KOSTL' t_debito-d_kostl.
endif.
endif.
read table itab_oculto with key campo = 'COBL-PRCTR' chave = 'D'.
if sy-subrc ne 0.
if not t_debito-d_prctr is initial.
perform bdc_field using 'COBL-PRCTR' t_debito-d_prctr.
endif.
endif.
perform bdc_field using:
'BDC_OKCODE' '/00'.
endloop.
perform bdc_screen using 'SAPLF040' '0300'.
perform bdc_field using:
'DKACB-FMORE' ' ',
'BDC_OKCODE' '=BP'.
clear itab_msg.
v_transacao = 'F-63'.
v_update = 'S'.
v_msgid = 'FP'.
v_msgno = '001'.
if v_modo is initial.
v_mode = 'N'.
else.
v_mode = v_modo.
endif.
perform call_transaction tables itab_msg
itab_bdc
t_zycbt032
t_dados
using v_transacao
v_mode
v_update
v_msgid
v_msgno
changing v_nrmsg.
endloop.
free:
itab_bdc,
itab_msg.
endfunction.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_63B
* >> Início da inclusão:
FUNCTION /pws/zycb_transacao_f_63b.
DATA:
v_string_debito LIKE tbsl-faus1,
v_data_doc_char(10) TYPE c,
v_data_val_char(10) TYPE c,
v_data_lanc_char(10) TYPE c,
v_data_venc_char(10) TYPE c,
v_dtbase_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_update TYPE c,
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_gjahr LIKE t001b-frye1,
v_skfbt LIKE bseg-skfbt VALUE 0,
v_pep LIKE prps-posid,
v_date LIKE t009b-bdatj,
v_periv(2),
v_periodo(2),
v_dconta LIKE /pws/zycbe033-d_newko.
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.
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.
t_campo-campo = 'RF05V-NEWKO'.
t_campo-descricao = text-020.
APPEND t_campo.
RAISE campo_em_branco.
ENDIF.
IF t_dados-newbs EQ '29'.
v_chave_debito = '29'.
SELECT SINGLE akont FROM lfb1
INTO lfb1-akont
WHERE lifnr = t_dados-d_newko
AND bukrs = t_dados-bukrs.
SELECT SINGLE plcontas FROM /pws/zycbt007
INTO /pws/zycbt007-plcontas
WHERE bukrs EQ t_dados-bukrs.
SELECT skont FROM t074 UP TO 1 ROWS
INTO v_dconta
WHERE ktopl = /pws/zycbt007-plcontas
AND koart = 'K'
AND umskz = t_dados-umskz
AND hkont = lfb1-akont.
ENDSELECT.
PERFORM determina_string USING v_chave_debito
t_dados-bukrs
v_dconta
CHANGING v_string_debito.
ELSE.
PERFORM determina_string USING v_chave_debito
t_dados-bukrs
t_dados-d_newko
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.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ v_bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'K'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_data_lanc_char
v_ok
v_monat
v_gjahr.
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,
'BKPF-KURSF' v_kursf,
'BKPF-BKTXT' t_dados-bktxt,
'RF05V-NEWBS' '31',
'RF05V-NEWKO' t_dados-agkon,
'BDC_OKCODE' '/00'.
IF NOT t_dados-xblnr IS INITIAL.
PERFORM bdc_field USING: 'BKPF-XBLNR' t_dados-xblnr.
ENDIF.
WRITE: t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers,
t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb,
v_skfbt TO v_base_char CURRENCY t_dados-waers.
PERFORM bdc_screen USING 'SAPLF040' '0302'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr.
IF t_dados-zfbdt NE '00000000' AND
t_dados-zfbdt NE space.
WRITE: t_dados-zfbdt TO v_dtbase_char.
PERFORM bdc_field USING:
'BSEG-ZFBDT' v_dtbase_char.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BSEG-SKFBT' v_base_char,
'RF05V-NEWBS' '40'.
IF NOT t_dados-c_sgtxt IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZUONR' t_dados-c_zuonr.
endif.
IF NOT t_dados-c_sgtxt IS INITIAL.
PERFORM bdc_field using 'BSEG-SGTXT' t_dados-c_sgtxt.
ENDIF.
IF NOT ( t_dados-newbs IS INITIAL ).
PERFORM bdc_field USING 'RF05V-NEWBS' t_dados-newbs.
ENDIF.
PERFORM bdc_field USING 'RF05V-NEWKO' t_dados-d_newko.
IF NOT ( t_dados-umskz IS INITIAL ) .
PERFORM bdc_field USING 'RF05V-NEWUM' t_dados-umskz.
ENDIF.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
SELECT SINGLE * FROM lfbw WHERE lifnr = t_dados-agkon
AND bukrs = t_dados-bukrs.
IF lfbw-wt_subjct = 'X'.
PERFORM bdc_screen USING 'SAPLFWTD' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
ENDIF.
IF t_dados-newbs NE '29'.
WRITE: t_dados-d_valut TO v_data_val_char.
PERFORM bdc_screen USING 'SAPLF040' '0300'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr.
if not t_dados-d_zuonr is initial.
PERFORM bdc_field USING 'BSEG-ZUONR' t_dados-d_zuonr.
endif.
if not t_dados-d_sgtxt is initial.
PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.
endif.
PERFORM bdc_field USING 'BDC_OKCODE' '=BP'.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
IF NOT t_dados-aufnr IS INITIAL.
PERFORM bdc_field USING 'COBL-AUFNR' t_dados-aufnr.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-KOSTL' chave = 'D'.
IF sy-subrc <> 0.
PERFORM bdc_field USING:
'COBL-KOSTL' t_dados-d_kostl.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-PS_PSP_PNR' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-ps_psp_pnr IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_KONPR_OUTPUT'
EXPORTING
input = t_dados-ps_psp_pnr
IMPORTING
output = v_pep.
PERFORM bdc_field USING:
'COBL-PS_PSP_PNR' v_pep.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-PRCTR' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_prctr IS INITIAL.
PERFORM bdc_field USING:
'COBL-PRCTR' t_dados-d_prctr.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BDC_OKCODE' '=ENTE'.
ELSEIF t_dados-newbs EQ '29'.
WRITE: t_dados-zfbdt TO v_data_venc_char.
PERFORM bdc_screen USING 'SAPLF040' '0303'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BSEG-ZFBDT' v_data_venc_char.
READ TABLE itab_oculto WITH KEY campo = 'COBL-FIPOS' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_fipos IS INITIAL.
PERFORM bdc_field USING 'BSEG-FIPOS' t_dados-d_fipos.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-FISTL' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_fictr IS INITIAL.
PERFORM bdc_field USING 'BSEG-FISTL' t_dados-d_fictr.
ENDIF.
ENDIF.
if not t_dados-d_zuonr is initial.
PERFORM bdc_field USING 'BSEG-ZUONR' t_dados-d_zuonr.
endif.
if not t_dados-d_sgtxt is initial.
PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.
endif.
PERFORM bdc_field USING 'BDC_OKCODE' '=BP'.
ENDIF.
CLEAR itab_msg.
v_transacao = 'F-63'.
v_update = 'S'.
v_msgid = 'FP'.
v_msgno = '001'.
IF v_modo IS INITIAL.
v_mode = 'N'.
ELSE.
v_mode = v_modo.
ENDIF.
PERFORM call_transaction TABLES itab_msg
itab_bdc
t_zycbt032
t_dados
USING v_transacao
v_mode
v_update
v_msgid
v_msgno
CHANGING v_nrmsg.
ENDLOOP.
FREE:
itab_bdc,
itab_msg.
ENDFUNCTION.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_63C
* >> Início da inclusão:
function /pws/zycb_transacao_f_63c.
data:
v_string_debito like tbsl-faus1,
v_string_credito like tbsl-faus1,
v_data_doc_char(10) type c,
v_data_conv_char(10) type c,
v_data_conver_char(10) type c,
v_data_val_char(10) type c,
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_wrbtr1(16) type c,
v_wrbtr_irrf(20) 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,
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_dconta like /pws/zycbe033-d_newko,
v_date like t009b-bdatj,
v_periv(2),
v_periodo(2),
v_conta like lfb1-akont.
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.
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-c_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05V-NEWKO'.
t_campo-descricao = text-020.
append t_campo.
raise campo_em_branco.
endif.
if t_dados-newbs eq '29'.
v_chave_debito = '29'.
select single akont
from lfb1
into lfb1-akont
where lifnr = t_dados-d_newko
and bukrs = t_dados-bukrs.
select single plcontas from /pws/zycbt007
into /pws/zycbt007-plcontas
where bukrs eq t_dados-bukrs.
select skont from t074 up to 1 rows
into v_dconta
where ktopl = /pws/zycbt007-plcontas
and koart = 'K'
and umskz = t_dados-umskz
and hkont = lfb1-akont.
endselect.
perform determina_string using v_chave_credito
t_dados-bukrs
v_dconta
changing v_string_credito.
else.
select akont
into v_conta
from lfb1
where lifnr = t_dados-c_newko.
endselect.
perform determina_string using v_chave_credito
t_dados-bukrs
v_conta
changing v_string_credito.
endif.
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.
v_gjahr = v_date.
v_koart = 'K'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_data_lanc_char
v_ok
v_monat
v_gjahr.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ v_bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
move v_monat+1(2) to v_periodo.
move v_date to v_gjahr.
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,
'BKPF-KURSF' v_kursf,
'BKPF-BELNR' t_dados-belnr,
'BKPF-WWERT' v_data_conv_char,
'BKPF-XBLNR' t_dados-xblnr,
'BKPF-BKTXT' t_dados-bktxt,
'FS006-DOCID' t_dados-docid,
'FS006-BARCD' t_dados-barcd,
'RF05V-NEWBS' '31',
'RF05V-NEWKO' t_dados-c_newko,
'BDC_OKCODE' '/00'.
write: t_dados-wrbtr to v_wrbtr currency t_dados-waers,
v_skfbt to v_base_char currency t_dados-waers.
perform bdc_screen using 'SAPLF040' '0302'.
perform bdc_field using:
'BSEG-WRBTR' v_wrbtr,
'BSEG-ZLSPR' t_dados-zlspr.
read table itab_oculto with key campo = 'COBL-GSBER' chave = 'C'.
if sy-subrc <> 0.
if not t_dados-c_gsber is initial.
perform bdc_field using 'BSEG-GSBER' t_dados-c_gsber.
endif.
endif.
read table itab_oculto with key campo = 'BSEG-SGTXT' chave = 'C'.
if sy-subrc <> 0.
if not t_dados-c_sgtxt is initial.
perform bdc_field using 'BSEG-SGTXT' t_dados-c_sgtxt.
endif.
endif.
read table itab_oculto with key campo = 'BSEG-ZUONR' chave = 'C'.
if sy-subrc <> 0.
if not t_dados-c_zuonr is initial.
perform bdc_field using 'BSEG-ZUONR' t_dados-c_zuonr.
endif.
endif.
read table itab_oculto with key campo = 'BSEG-BUPLA' chave = 'C'.
if sy-subrc <> 0.
perform bdc_field using 'BSEG-BUPLA' t_dados-brnch.
endif.
data v_tabix like sy-tabix.
data: begin of wa_debito.
include structure t_debito.
data: end of wa_debito.
loop at t_debito.
v_tabix = sy-tabix.
check t_debito-tcode = 'F-63'.
check not t_debito-wrbtr is initial.
if ( t_debito-d_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05A-NEWKO'.
t_campo-descricao = text-020.
append t_campo.
raise campo_em_branco.
endif.
perform determina_string using v_chave_debito
t_dados-bukrs
t_debito-d_newko
changing v_string_debito.
perform trata_string_debito2 tables t_dados
t_campo
itab_oculto2
using v_string_debito
t_debito-d_newko.
if v_wrbtr1 is initial.
perform bdc_field using:
'RF05V-NEWBS' t_debito-chave,
'RF05V-NEWKO' t_debito-d_newko.
if v_irrf eq 'S'.
perform bdc_field using 'BDC_OKCODE' 'QS'.
write: t_dados-wrbtrirrf to v_wrbtr_irrf
currency t_dados-waers.
perform bdc_screen using 'SAPLFWTD' '0100'.
perform bdc_field using:
'WITH_DIALG-WT_BASE(01)' v_wrbtr_irrf,
'BDC_OKCODE' '=GO'.
else.
perform bdc_field using 'BDC_OKCODE' '/00'.
endif.
endif.
write: t_debito-wrbtr to v_wrbtr1 currency t_dados-waers,
t_debito-d_valut to v_data_conver_char.
perform bdc_screen using 'SAPLF040' '0300'.
perform bdc_field using:
'BSEG-WRBTR' v_wrbtr1,
'BSEG-ZUONR' t_debito-d_zuonr,
'BSEG-SGTXT' t_debito-d_sgtxt,
'DKACB-FMORE' 'X'.
if not v_wrbtr1 is initial.
v_tabix = v_tabix + 1.
read table t_debito index v_tabix into wa_debito.
perform bdc_field using:
'RF05V-NEWBS' wa_debito-chave,
'RF05V-NEWKO' wa_debito-d_newko.
endif.
perform bdc_field using:
'BDC_OKCODE' '/00'.
perform bdc_screen using 'SAPLKACB' '0002'.
read table itab_oculto2
with key campo = 'COBL-GSBER' chave = 'D'.
if sy-subrc <> 0.
if not t_debito-d_gsber is initial.
perform bdc_field using 'COBL-GSBER' t_debito-d_gsber.
endif.
endif.
read table itab_oculto2
with key campo = 'COBL-KOSTL' chave = 'D'.
if sy-subrc ne 0.
if not t_debito-d_kostl is initial.
perform bdc_field using 'COBL-KOSTL' t_debito-d_kostl.
endif.
endif.
read table itab_oculto2
with key campo = 'COBL-PRCTR' chave = 'D'.
if sy-subrc ne 0.
if not t_debito-d_prctr is initial.
perform bdc_field using 'COBL-PRCTR' t_debito-d_prctr.
endif.
endif.
if t_debito-ps_psp_pnr is initial.
perform bdc_field using:
'COBL-PS_PSP_PNR' space,
'COBL-KDAUF' t_debito-ordem,
'COBL-KDPOS' t_debito-item,
'BDC_OKCODE' '/00'.
else.
perform bdc_field using:
'COBL-PS_PSP_PNR' t_debito-ps_psp_pnr,
'COBL-KDAUF' t_debito-ordem,
'COBL-KDPOS' t_debito-item,
'BDC_OKCODE' '/00'.
endif.
endloop.
perform bdc_screen using 'SAPLF040' '0300'.
perform bdc_field using:
'DKACB-FMORE' 'X',
'BDC_OKCODE' '=SB'.
perform bdc_screen using 'SAPLKACB' '0002'.
perform bdc_field using:
'BDC_OKCODE' '=ENTE'.
perform bdc_screen using 'SAPLF040' '0310'.
perform bdc_field using:
'BDC_OKCODE' '=BP'.
clear itab_msg.
v_transacao = 'F-63'.
v_update = 'S'.
v_msgid = 'FP'.
v_msgno = '001'.
if v_modo is initial.
v_mode = 'N'.
else.
v_mode = v_modo.
endif.
perform call_transaction tables itab_msg
itab_bdc
t_zycbt032
t_dados
using v_transacao
v_mode
v_update
v_msgid
v_msgno
changing v_nrmsg.
endloop.
free:
itab_bdc,
itab_msg.
endfunction.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_63D
* >> Início da inclusão:
function /pws/zycb_transacao_f_63d.
data t_debito_aux like t_debito.
data:
v_string_debito like tbsl-faus1,
v_data_doc_char(10) type c,
v_data_conv_char(10) type c,
v_database(10) type c,
v_data_conver_char(10) type c,
v_data_val_char(10) type c,
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_wrbtr1(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_update type c,
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_gjahr like t001b-frye1,
v_dconta like /pws/zycbe033-d_newko,
v_conta like lfb1-akont,
v_tabix like sy-tabix,
v_date like t009b-bdatj,
v_periv(2),
v_periodo(2),
v_tabix_aux like sy-tabix.
read table t_dados index 1.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = t_dados-bukrs
v_date = t_dados-budat
importing
v_year = v_date.
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-c_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05V-NEWKO'.
t_campo-descricao = text-020.
append t_campo.
raise campo_em_branco.
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.
select single periv from t001
into v_periv
where bukrs eq v_bukrs.
call function 'DETERMINE_PERIOD'
exporting
date = t_dados-budat
version = v_periv
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
v_gjahr = v_date.
v_koart = 'CA'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_data_lanc_char
v_ok
v_monat
v_gjahr.
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,
'BKPF-KURSF' v_kursf,
'BKPF-XBLNR' t_dados-xblnr,
'RF05V-NEWBS' t_dados-newbs,
'RF05V-NEWKO' t_dados-c_newko,
'BDC_CURSOR' 'RF05V-NEWKO',
'BDC_OKCODE' '/00'.
loop at t_debito.
v_tabix = v_tabix + 1.
check t_debito-tcode = 'F-63'.
check not t_debito-wrbtr is initial.
if ( t_debito-d_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05A-NEWKO'.
t_campo-descricao = text-020.
append t_campo.
raise campo_em_branco.
endif.
if t_debito-bschl eq '29'.
v_chave_debito = '29'.
select single akont
from lfb1
into lfb1-akont
where lifnr = t_dados-d_newko
and bukrs = t_dados-bukrs.
select single plcontas from /pws/zycbt007
into /pws/zycbt007-plcontas
where bukrs eq t_dados-bukrs.
select skont from t074 up to 1 rows
into v_dconta
where ktopl = /pws/zycbt007-plcontas
and koart = 'K'
and umskz = t_dados-umskz
and hkont = lfb1-akont.
endselect.
perform determina_string using v_chave_debito
t_dados-bukrs
v_dconta
changing v_string_debito.
clear v_database.
write: t_dados-wrbtr to v_wrbtr currency t_dados-waers.
write: t_debito-zfbdt to v_database.
perform bdc_screen using 'SAPLF040' '0302'.
perform bdc_field using:
'BDC_CURSOR' 'RF05V-NEWKO',
'BDC_OKCODE' '/00',
'BSEG-WRBTR' v_wrbtr,
'BSEG-MWSKZ' '**',
'BSEG-ZTERM' t_dados-zterm,
'BSEG-ZFBDT' v_database,
'RF05V-NEWBS' t_debito-bschl,
'RF05V-NEWKO' t_debito-d_newko,
'RF05V-NEWUM' t_debito-newum.
write: t_debito-wrbtr to v_wrbtr currency t_dados-waers.
perform bdc_screen using 'SAPLF040' '0303'.
perform bdc_field using:
'BDC_CURSOR' 'RF05V-NEWKO',
'BSEG-WRBTR' v_wrbtr,
'BSEG-ZFBDT' v_database,
'BSEG-ZUONR' t_debito-d_zuonr.
read table itab_oculto with key campo = 'BSEG-BUPLA' chave = 'D'.
if sy-subrc ne 0.
if not t_dados-brnch is initial.
perform bdc_field using 'BSEG-BUPLA' t_dados-brnch.
endif.
endif.
v_tabix_aux = v_tabix + 1.
read table t_debito into t_debito_aux index v_tabix_aux.
if sy-subrc = 0.
perform bdc_field using:
'RF05V-NEWBS' t_debito_aux-bschl,
'RF05V-NEWKO' t_debito_aux-d_newko,
'BDC_OKCODE' '/00'.
else.
perform bdc_field using:
'BDC_OKCODE' '=BP'.
endif.
else.
clear v_database.
write: t_debito-wrbtr to v_wrbtr currency t_dados-waers.
perform bdc_screen using 'SAPLF040' '0300'.
perform bdc_field using:
'BDC_CURSOR' 'RF05V-NEWKO',
'BSEG-WRBTR' v_wrbtr,
'DKACB-FMORE' 'X'.
v_tabix_aux = v_tabix + 1.
read table t_debito into t_debito_aux index v_tabix_aux.
if sy-subrc = 0.
perform bdc_field using:
'RF05V-NEWBS' t_debito_aux-bschl,
'RF05V-NEWKO' t_debito_aux-d_newko,
'BDC_OKCODE' '/00'.
else.
perform bdc_field using:
'BDC_OKCODE' '=BP'.
endif.
perform bdc_screen using 'SAPLF040' '0002'.
perform bdc_field using:
'BDC_OKCODE' '=ENTE'.
endif.
endloop.
clear itab_msg.
v_transacao = 'F-63'.
v_update = 'S'.
v_msgid = 'FP'.
v_msgno = '001'.
if v_modo is initial.
v_mode = 'N'.
else.
v_mode = v_modo.
endif.
perform call_transaction tables itab_msg
itab_bdc
t_zycbt032
t_dados
using v_transacao
v_mode
v_update
v_msgid
v_msgno
changing v_nrmsg.
free:
itab_bdc,
itab_msg.
endfunction.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_63E
* >> Início da inclusão:
FUNCTION /pws/zycb_transacao_f_63e.
DATA:
v_string_debito LIKE tbsl-faus1,
v_data_doc_char(10) TYPE c,
v_data_val_char(10) TYPE c,
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_update TYPE c,
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_gjahr LIKE t001b-frye1,
v_skfbt LIKE bseg-skfbt VALUE 0,
v_pep LIKE prps-posid,
v_date LIKE t009b-bdatj,
v_periv(2),
v_periodo(2),
v_dconta LIKE /pws/zycbe033-d_newko,
wa_tbSl LIKE tbsl,
v_string_credito LIKE tbsl-faus1.
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
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
CHECK t_dados-tcode = 'F-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.
t_campo-campo = 'RF05V-NEWKO'.
t_campo-descricao = text-020.
APPEND t_campo.
RAISE campo_em_branco.
ENDIF.
IF t_dados-newbs EQ '29'.
v_chave_debito = '29'.
SELECT SINGLE akont FROM lfb1
INTO lfb1-akont
WHERE lifnr = t_dados-d_newko
AND bukrs = t_dados-bukrs.
SELECT SINGLE plcontas FROM /pws/zycbt007
INTO /pws/zycbt007-plcontas
WHERE bukrs EQ t_dados-bukrs.
SELECT skont FROM t074 UP TO 1 ROWS
INTO v_dconta
WHERE ktopl = /pws/zycbt007-plcontas
AND koart = 'K'
AND umskz = t_dados-umskz
AND hkont = lfb1-akont.
ENDSELECT.
PERFORM determina_string USING v_chave_debito
t_dados-bukrs
v_dconta
CHANGING v_string_debito.
ELSE.
SELECT SINGLE * FROM tbsl
INTO wa_tbsl
WHERE bschl = t_dados-newbs.
IF wa_tbsl-koart EQ 'D'.
SELECT SINGLE akont FROM knb1
INTO knb1-akont
WHERE kunnr = t_dados-d_newko
AND bukrs = t_dados-bukrs.
PERFORM determina_string USING t_dados-newbs
t_dados-bukrs
knb1-akont
CHANGING v_string_debito.
endif.
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.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ v_bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
v_koart = 'K'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_data_lanc_char
v_ok
v_monat
v_gjahr.
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,
'BKPF-KURSF' v_kursf,
'BKPF-XBLNR' t_dados-xblnr,
'BKPF-BKTXT' t_dados-bktxt,
'RF05V-NEWBS' t_dados-newbs,
'RF05V-NEWKO' t_dados-d_newko,
'RF05V-NEWUM' t_dados-umskz,
'BDC_OKCODE' '/00'.
WRITE: t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers,
t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb,
v_skfbt TO v_base_char CURRENCY t_dados-waers.
IF t_dados-newbs EQ '40'.
PERFORM bdc_screen USING 'SAPLF040' '0300'.
ELSEIF t_dados-newbs EQ '01'.
PERFORM bdc_screen USING 'SAPLF040' '0301'.
ELSE.
PERFORM bdc_screen USING 'SAPLF040' '0302'.
ENDIF.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR' chave = 'D'.
IF sy-subrc NE 0.
IF NOT t_dados-dmbtr IS INITIAL.
PERFORM bdc_field USING 'BSEG-DMBTR' v_dmbtr.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA' chave = 'D'.
IF sy-subrc NE 0.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
WRITE: t_dados-c_valut TO v_data_val_char.
PERFORM bdc_field USING:
'BSEG-ZUONR' t_dados-c_zuonr,
'BSEG-ZFBDT' v_data_val_char,
'BSEG-SGTXT' t_dados-c_sgtxt,
'RF05V-NEWBS' t_dados-newbs1,
'RF05V-NEWKO' t_dados-c_newko.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM determina_string USING t_dados-newbs1
t_dados-bukrs
t_dados-c_newko
CHANGING v_string_credito.
refresh itab_oculto.
PERFORM trata_string_credito TABLES t_dados
t_campo
itab_oculto
USING v_string_credito.
IF t_dados-newbs1 EQ '40'.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
ENDIF.
IF t_dados-agkoa = 'S'.
PERFORM bdc_screen USING 'SAPLF040' '0300'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'BSEG-ZUONR' t_dados-c_zuonr,
'BSEG-SGTXT' t_dados-c_sgtxt,
'BDC_OKCODE' '=BP'.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR' chave = 'D'.
IF sy-subrc NE 0.
IF NOT t_dados-dmbtr IS INITIAL.
PERFORM bdc_field USING 'BSEG-DMBTR' v_dmbtr.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT' chave = 'C'.
IF sy-subrc <> 0.
IF NOT t_dados-c_valut IS INITIAL.
PERFORM bdc_field USING 'BSEG-VALUT' v_data_val_char.
ENDIF.
ENDIF.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'C'.
IF sy-subrc <> 0.
IF NOT t_dados-c_gsber IS INITIAL.
PERFORM bdc_field USING 'COBL-GSBER' t_dados-c_gsber.
ENDIF.
ENDIF.
IF NOT t_dados-aufnr IS INITIAL.
PERFORM bdc_field USING 'COBL-AUFNR' t_dados-aufnr.
ENDIF.
PERFORM bdc_field USING 'COBL-KOSTL' t_dados-d_kostl.
READ TABLE itab_oculto WITH KEY campo = 'COBL-PS_PSP_PNR'
chave = 'C'.
IF sy-subrc <> 0.
IF NOT t_dados-ps_psp_pnr IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_KONPR_OUTPUT'
EXPORTING
input = t_dados-ps_psp_pnr
IMPORTING
output = v_pep.
PERFORM bdc_field USING:
'COBL-PS_PSP_PNR' v_pep.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-PRCTR' chave = 'C'.
IF sy-subrc <> 0.
IF NOT t_dados-c_prctr IS INITIAL.
PERFORM bdc_field USING:
'COBL-PRCTR' t_dados-c_prctr.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BDC_OKCODE' '=ENTE'.
ELSEIF t_dados-agkoa EQ 'D'.
PERFORM bdc_screen USING 'SAPLF040' '0301'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR' chave = 'D'.
IF sy-subrc NE 0.
IF NOT t_dados-dmbtr IS INITIAL.
PERFORM bdc_field USING 'BSEG-DMBTR' v_dmbtr.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA' chave = 'D'.
IF sy-subrc NE 0.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
WRITE: t_dados-c_valut TO v_data_val_char.
PERFORM bdc_field USING:
'BSEG-ZUONR' t_dados-c_zuonr,
'BSEG-VALUT' v_data_val_char,
'BSEG-SGTXT' t_dados-c_sgtxt,
'BDC_OKCODE' '=BP'.
ELSE.
PERFORM bdc_screen USING 'SAPLF040' '0302'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR' chave = 'D'.
IF sy-subrc NE 0.
IF NOT v_dmbtr IS INITIAL.
PERFORM bdc_field USING 'BSEG-DMBTR' v_dmbtr.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA' chave = 'D'.
IF sy-subrc NE 0.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
WRITE: t_dados-c_valut TO v_data_val_char.
PERFORM bdc_field USING:
'BSEG-ZUONR' t_dados-c_zuonr,
'BSEG-ZFBDT' v_data_val_char,
'BSEG-SGTXT' t_dados-c_sgtxt,
'BDC_OKCODE' '=BP'.
ENDIF.
CLEAR itab_msg.
v_transacao = 'F-63'.
v_update = 'S'.
v_msgid = 'FP'.
v_msgno = '001'.
IF v_modo IS INITIAL.
v_mode = 'N'.
ELSE.
v_mode = v_modo.
ENDIF.
PERFORM call_transaction TABLES itab_msg
itab_bdc
t_zycbt032
t_dados
USING v_transacao
v_mode
v_update
v_msgid
v_msgno
CHANGING v_nrmsg.
ENDLOOP.
FREE:
itab_bdc,
itab_msg.
ENDFUNCTION.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_65
* >> Início da inclusão:
function /pws/zycb_transacao_f_65.
data:
v_string_debito like tbsl-faus1,
v_string_credito like tbsl-faus1,
v_data_doc_char(10) type c,
v_data_lanc_char(10) type c,
v_data_val_char(10) type c,
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,
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_periv(2),
v_periodo(2),
v_gjahr like t001b-frye1.
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.
check t_dados-tcode = 'F-65'.
if ( t_dados-bukrs = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'BKPF-BUKRS'.
t_campo-descricao = text-021.
append t_campo.
raise campo_em_branco.
endif.
if ( t_dados-d_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05V-NEWKO'.
t_campo-descricao = text-020.
append t_campo.
raise campo_em_branco.
endif.
if ( t_dados-c_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05V-NEWKO'.
t_campo-descricao = text-022.
append t_campo.
raise campo_em_branco.
endif.
perform determina_string using v_chave_debito
t_dados-bukrs
t_dados-d_newko
changing v_string_debito.
perform determina_string using v_chave_credito
t_dados-bukrs
t_dados-c_newko
changing v_string_credito.
perform trata_string_debito tables t_dados
t_campo
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.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ v_bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_DATE.
v_koart = 'S'.
PERFORM check_periodo USING v_koart
v_bukrs
CHANGING v_data_lanc_char
v_ok
v_monat
v_gjahr.
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,
'BKPF-KURSF' v_kursf,
'BKPF-XBLNR' t_dados-xblnr,
'BKPF-BKTXT' t_dados-bktxt,
'RF05V-NEWBS' '40',
'RF05V-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 'SAPLF040' '0300'.
perform bdc_field using:
'BSEG-WRBTR' v_wrbtr,
'BSEG-ZUONR' t_dados-d_zuonr,
'BSEG-VALUT' v_data_val_char,
'BSEG-SGTXT' t_dados-d_sgtxt,
'RF05V-NEWBS' '50',
'RF05V-NEWKO' t_dados-c_newko,
'BDC_OKCODE' '/00'.
perform bdc_screen using 'SAPLKACB' '0002'.
perform bdc_field using:
'COBL-GSBER' t_dados-d_gsber,
'COBL-KOSTL' t_dados-d_kostl,
'COBL-PRCTR' t_dados-d_prctr,
'BDC_OKCODE' '=ENTE'.
write: t_dados-c_valut to v_data_val_char.
perform bdc_screen using 'SAPLF040' '0300'.
perform bdc_field using:
'BSEG-WRBTR' '*',
'BSEG-VALUT' v_data_val_char,
'BSEG-ZUONR' t_dados-c_zuonr,
'BSEG-SGTXT' t_dados-c_sgtxt,
'BDC_OKCODE' '/00'.
perform bdc_screen using 'SAPLKACB' '0002'.
perform bdc_field using:
'COBL-GSBER' t_dados-c_gsber,
'COBL-KOSTL' t_dados-c_kostl,
'COBL-PRCTR' t_dados-c_prctr,
'BDC_OKCODE' '=ENTE'.
perform bdc_screen using 'SAPLF040' '0300'.
perform bdc_field using:
'DKACB-FMORE' ' ',
'BDC_OKCODE' '=BP'.
refresh itab_msg.
clear itab_msg.
v_transacao = 'F-65'.
v_mode = 'N'.
v_update = 'S'.
v_msgid = 'FP'.
v_msgno = '001'.
perform call_transaction tables itab_msg
itab_bdc
t_zycbt032
t_dados
using v_transacao
v_mode
v_update
v_msgid
v_msgno
changing v_nrmsg.
endloop.
free:
itab_bdc,
itab_msg.
endfunction.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCBGF2F01
...
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_periv(2).
clear v_budat.
* << Fim da inclusão
v_novadata = p_novadata.
* >> Início da inclusão: FORM CHECK_PERIODO
WHILE p_ok <> 'S'.
* << Fim da inclusão
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
* >> Início da exclusão: FORM CHECK_PERIODO
OTHERS = 3.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_PERIODO
OTHERS = 3. "#EC *
* << Fim da inclusão
IF sy-subrc <> 0.
PERFORM entrar_nova_data USING v_resposta v_novadata.
IF v_resposta = 'A'.
RAISE periodo_fechado.
* >> Início da inclusão: FORM CHECK_PERIODO
ELSE.
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.
* >> Início da inclusão: FORM CHECK_PERIODO
ENDWHILE.
* << Fim da inclusão
p_novadata = v_novadata.
* >> Início da inclusão: FORM CHECK_PERIODO
export v_budat to memory id 'N_BUDAT'.
* << Fim da inclusão
ENDFORM.
FORM entrar_nova_data CHANGING
...