Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Remessa
Data/Hora da Publicação: 04/12/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 14:15:25
Descrição da Nota: PROGRAMA DE REMESSA - ALTERAR CODIGOS DE ANO FISCAL
Sintoma
Não encontra o ano fiscal correto.
Solução
incluir funçoes para selecionar o ano e o periodo correto.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07712 Data: 04/12/2008 Hora: 14:06:52
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07712
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00007
Agrupamento : 00076
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02246 - 00002 - 6.0 - 00025 - SAÍDA DE PAGAMENTO/COMPLEMENTO - BOLETO/REMESSA FORMATO DE DATA
05772 - 00001 - 7.0 - 00004 - VERIFICAÇÃO AMPLIADA, CODE INSPECTOR MODULO DE FUNÇÃO CAMBIO
----------------------------------------------------------------------------------------------------
PROGRAMA DE REMESSA - ALTERAR CODIGOS DE ANO FISCAL
----------------------------------------------------------------------------------------------------
Palavras Chave:
PROGRAMA DE REMESSA - MENSAGEM PERÍODO FECHADO NA CRIAÇÃO COM ANO FISCAL
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCA_TRANSACAO_F_02R
FUNC /PWS/ZYCA_TRANSACAO_F_51P
FUNC /PWS/ZYCA_TRANSACAO_F_51Q
FUNC /PWS/ZYCA_TRANSACAO_F_63R
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_02R
...
v_bukrs LIKE t001-bukrs,
v_gjahr LIKE t001b-frye1,
v_conta LIKE lfb1-akont,
v_tabix LIKE sy-tabix,
v_tabix_aux LIKE sy-tabix,
v_newko(10) TYPE c,
v_newko_aux(10) TYPE c,
v_tamanho(2) TYPE n,
v_pep LIKE prps-posid,
v_konto LIKE t001b-vkont.
* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R
Data: v_date LIKE t009b-bdatj,
v_periv(2),
v_budat(10).
* << Fim da inclusão
READ TABLE t_dados INDEX 1.
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 ).
...
...
itab_oculto
USING v_string_debito.
PERFORM trata_string_debito TABLES t_dados
t_campo
itab_oculto
USING v_string_debito.
WRITE: t_dados-bukrs TO v_bukrs,
t_dados-bldat TO v_data_doc_char,
t_dados-budat TO v_data_lanc_char,
t_dados-kursf TO v_kursf.
* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R
v_monat = t_dados-budat+4(2).
v_gjahr = t_dados-budat+0(4).
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_02R
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.
v_gjahr = v_date.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ t_dados-bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
WHILE v_ok EQ 'N'.
PERFORM check_periodo USING '+'
v_monat
v_bukrs
v_gjahr
space
CHANGING v_budat
v_ok.
MOVE v_budat+6(4) TO v_gjahr.
MOVE v_budat+3(2) TO v_monat.
ENDWHILE.
* << Fim da inclusão
v_koart = '+'.
PERFORM check_periodo USING v_koart
v_monat
v_bukrs
v_gjahr
v_konto
CHANGING v_data_lanc_char
v_ok.
WRITE: t_dados-budat TO v_data_lanc_char2.
IF v_data_lanc_char NE v_data_lanc_char2.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51P
...
v_monat LIKE t001b-frpe1,
v_bukrs LIKE t001-bukrs,
v_gjahr LIKE t001b-frye1,
v_zfbdt(10) TYPE c,
v_data_val_char(10) TYPE c,"#EC NEEDED
v_dtdocto(10),
v_xpos_belnr(2) TYPE n,
v_xpos_belnr2(15),
v_selecao(2) TYPE n,
v_konto LIKE t001b-vkont.
* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P
Data: v_date LIKE t009b-bdatj,
v_periv(2).
* << Fim da inclusão
DATA: wa_zycbt089 LIKE /pws/zycbt089.
SELECT selps
FROM t021r
up to 1 rows
INTO v_xpos
WHERE event = 'SL-AG'
AND feldn = 'BELNR'.
endselect .
ADD 1 TO v_xpos.
CONCATENATE 'RF05A-XPOS1(' v_xpos ')' INTO v_campo.
...
...
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-dmbtr TO v_dmbtr CURRENCY 'X',
t_dados-bukrs TO v_bukrs.
* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P
v_monat = t_dados-budat+4(2).
v_gjahr = t_dados-budat+0(4).
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51P
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.
v_gjahr = v_date.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ t_dados-bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
WHILE v_ok EQ 'N'.
PERFORM check_periodo USING '+'
v_monat
v_bukrs
v_gjahr
space
CHANGING v_budat
v_ok.
MOVE v_budat+6(4) TO v_gjahr.
MOVE v_budat+3(2) TO v_monat.
ENDWHILE.
* << Fim da inclusão
v_koart = '+'.
PERFORM check_periodo USING v_koart
v_monat
v_bukrs
v_gjahr
v_konto
CHANGING v_budat
v_ok.
WRITE: t_dados-budat TO v_budat2.
IF v_budat NE v_budat2.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_51Q
...
v_bukrs LIKE t001-bukrs,
v_gjahr LIKE t001b-frye1,
v_zfbdt(10) TYPE c,
v_data_val_char(10) TYPE c, "#EC NEEDED
v_xpos_belnr(2) TYPE n,
v_selecao(2) TYPE n,
v_konto LIKE t001b-vkont,
v_fdtdoc TYPE /pws/zycbt007-fdtdoc,
v_waersb LIKE /pws/zycbt007-waersb.
DATA: wa_zycbt089 LIKE /pws/zycbt089.
* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51Q
Data: v_date LIKE t009b-bdatj,
v_periv(2).
* << Fim da inclusão
SELECT selps
FROM t021r
UP TO 1 ROWS
INTO v_xpos
WHERE event = 'SL-AG'
AND feldn = 'BELNR'.
ENDSELECT .
ADD 1 TO v_xpos.
CONCATENATE 'RF05A-XPOS1(' v_xpos ')' INTO v_campo.
SELECT selps
...
...
ELSE.
t_dados-bldat = t_dados-budat.
ENDIF.
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-dmbtr TO v_dmbtr CURRENCY v_waersb,
t_dados-bukrs TO v_bukrs.
* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51Q
v_monat = t_dados-budat+4(2).
v_gjahr = t_dados-budat+0(4).
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_51Q
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.
v_gjahr = v_date.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ t_dados-bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
WHILE v_ok EQ 'N'.
PERFORM check_periodo USING '+'
v_monat
v_bukrs
v_gjahr
space
CHANGING v_budat
v_ok.
MOVE v_budat+6(4) TO v_gjahr.
MOVE v_budat+3(2) TO v_monat.
ENDWHILE.
* << Fim da inclusão
v_koart = t_dados-agkoa.
v_koart = '+'.
v_koart = t_dados-agkoa.
v_konto = t_dados-agkon.
PERFORM check_periodo USING v_koart
v_monat
v_bukrs
v_gjahr
v_konto
CHANGING v_budat
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCA_TRANSACAO_F_63R
...
v_tabix LIKE sy-tabix,
v_tabix_aux LIKE sy-tabix,
v_newko(10) TYPE c,
v_newko_aux(10) TYPE c,
v_tamanho(2) TYPE n,
v_pep LIKE prps-posid,
v_pep2 LIKE prps-posid,
v_konto LIKE t001b-vkont,
v_deb_cred(1) TYPE c VALUE 'C',
wa_tbsl TYPE tbsl.
* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R
Data: v_date LIKE t009b-bdatj,
v_periv(2),
v_budat(10).
* << Fim da inclusão
READ TABLE t_dados INDEX 1.
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 ).
...
...
itab_oculto
USING v_string_debito.
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.
IF NOT t_dados-c_valut IS INITIAL.
WRITE t_dados-c_valut TO v_data_valut.
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R
v_monat = t_dados-budat+4(2).
v_gjahr = t_dados-budat+0(4).
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCA_TRANSACAO_F_63R
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.
v_gjahr = v_date.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ t_dados-bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
WHILE v_ok EQ 'N'.
PERFORM check_periodo USING '+'
v_monat
v_bukrs
v_gjahr
space
CHANGING v_budat
v_ok.
MOVE v_budat+6(4) TO v_gjahr.
MOVE v_budat+3(2) TO v_monat.
ENDWHILE.
* << Fim da inclusão
v_koart = '+'.
PERFORM check_periodo USING v_koart
v_monat
v_bukrs
v_gjahr
v_konto
CHANGING v_data_lanc_char
v_ok.
WRITE: t_dados-budat TO v_data_lanc_char2.
IF v_data_lanc_char NE v_data_lanc_char2.
...