cancel
Showing results for 
Search instead for 
Did you mean: 

SPED PIS/COFINS - Erro ao gerar bloco F600 / F120

Former Member
0 Kudos

Olá pessoal,

Estou com um problema para montar os blocos F do arquivo do sped pis/cofins. No standard vem default que o bloco F100 vai ser preenchido, porém aqui no cliente eu tenho que preencher dois blocos, o bloco F600 e o bloco F120.

Debugando o programa eu verifiquei o seguinte:

Um loop é feito na tabela BKPF, para cada registro encontrado no período indicado na tela de seleção. Dentro do perform process_f vai ser montado o bloco, no caso, está fixo o bloco F100. No perform get_fi_register_block_f é chamada a BADI CALL METHOD gv_badi_j_1bpis->select_register_f, dentro dessa BADI posso modificar o parâmetro da variável lv_register, no caso aqui não montaremos o bloco F100 e sim os blocos F600 e F120. Eu modifiquei a variável lv_register para preencher o bloco F600. Quando modifico a variável lv_register na BADI select_register_f para F600, no CASE ele entra corretamente na chamada:

WHEN j1b00_reg_f600.

PERFORM process_f600_hierarchy USING us_filters

us_bkpf

ut_bseg.

Porém dentro desse perform não monta os blocos dos materiais, blocos 0150 e 0200, esse blocos são preenchidos somente no bloco F100 (que não vai ser utilizado aqui). Podemos verificar a montagem dos blocos 0150 e 0200 no perform add_fi_to_block_zero dentro da chamada do bloco F100.

O segundo problema é que no caso aqui além do bloco F600 também teremos que preencher o bloco F120, mas a cada loop feito na tabela bkpf eu só posso escolher um dos blocos a serem preenchidos, é possível verificar no CASE do perform process_f.

Alguém está com o mesmo problema ? Eu já solicitei a abertura de um chamado na SAP para verificar se existe erro no programa ou se falta algum tipo de configuração.

Obrigada.

Ps: No Sped fiscal tem um flag na tela de seleção para escolher qual bloco vai ser preenchido, acredito que no caso do bloco F também deveria ter a opção para preencher quantos blocos forem necessários.

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Olá Daniel,

Ainda não resolve meu problema.

Preciso gerar o bloco F120/130 p/ o mesmo documento.

Ex.:

Tabela Interna: lts_bkpf

Contéudo: BELNR

5100099999

5100099998

O programa gera um bloco p/ cada documento. Eu preciso que gere para o mesmo documento os dois blocos.

Ex.:

F120 | 5100099999

F130 | 5100099999

F120 | 5100099998

F130 | 5100099998

No método SELECT_REGISTER_F eu defino o bloco a ser gerado, mas só consigo gerar um tipo de bloco p/ cada documento. Mas o programa não prevê isso, gerar vários blocos F's para o mesmo documento.

Realmente é um erro do programa da SAP ou é processo da SAP, só pode um bloco por documento?

Abs,

Marcos Tavares

Former Member
0 Kudos

Oi Marcos,

Foi exatamente isso que tbm acontecia no cliente em que eu estava, a SAP respondeu que para cada documento da bkpf vc gera uma linha de algum bloco F, o que no caso do cliente não poderia ser assim, pois gerava dois blocos diferentes. E no manual fala que o arquivo é único, ou seja, todos os blocos precisos devem estar no arquivo. Para solucionar esse problema criei um programa Z que importava um arquivo txt já com todas as linhas dos blocos que eu precisava e salvava isso em uma tabela Z, e conforme ia passando na badi eu lia uma linha da tabela Z e atualizava aquela linha como já lida. Ou seja, se eu tivesse 3 linhas F120 e 3 linhas F130 eu ia lendo uma de cada vez pra ficar tbm na ordem certa e atualizando a tabela Z para não ler mais aquela linha. Ficou uma solução rápida para atender o cliente, mas o cliente ficou de continuar com o chamado na SAP aberto para resolver isso pelo standard.

Espero ter ajudado.

Cris

daniel_carvalho
Active Contributor
0 Kudos

Bom dia a todos!

Vejam o seguinte "Thread", com a minha resposta (Daniel Carvalho):

SPED PIS/COFINS - Bloco F

Espero ter ajudado.

Atenciosamente,

Daniel.

Former Member
0 Kudos

Cristina/Luiz, boa tarde. Tudo bem?

Acredito que todos estão com o mesmo se precisarem gerar os blocos F's.

Já aplicamos todas as NOTAS (16 notas) e mesmo assim o programa gera apenas o bloco F100 fixo no código ou algum que você define no método SELECT_REGISTER_F da BADI BADI_J_1BPIS campo EV_REGISTER_F.

Na situação da empresa aqui, precisamos do bloco F100, F120 e F130.

Poderiámos criar uma tabela Z com o Doc. Contábil e o BLOCO. Mas ai temos outro problema, o mesmo Doc. Contábil poderá ser necessário exibir nos 3 blocos F100, F120 e F130. O programa não prevê isso, hoje ele gera um Doc. Contábil por vez dentro do loop da bkpf (LOOP AT lts_bkpf INTO ls_bkpf. - INCLUDE J_1BPIS_MAIN_SEL_FI - Linha 182). Quando a execução chega no FORM process_f da INCLUDE J_1BPIS_MAIN_F_01, só é possível gerar um bloco por vez.

CASE lv_register.

WHEN j1b00_reg_f100.

PERFORM process_f100_hierarchy USING us_filters

uv_branch

us_bkpf

ut_bseg.

WHEN j1b00_reg_f120.

PERFORM process_f120_hierarchy USING us_filters

us_bkpf

ut_bseg.

WHEN j1b00_reg_f130.

PERFORM process_f130_hierarchy USING us_filters

us_bkpf

ut_bseg.

WHEN j1b00_reg_f150.

PERFORM process_f150_hierarchy USING us_filters

us_bkpf

ut_bseg.

WHEN j1b00_reg_f200.

PERFORM process_f200_hierarchy USING us_filters

us_bkpf

ut_bseg.

WHEN j1b00_reg_f600.

PERFORM process_f600_hierarchy USING us_filters

us_bkpf

ut_bseg.

WHEN j1b00_reg_f700.

PERFORM process_f700_hierarchy USING us_filters

us_bkpf

ut_bseg.

WHEN j1b00_reg_f800.

PERFORM process_f800_hierarchy USING us_filters

us_bkpf

ut_bseg.

Temos que gerar os três blocos para o mesmo Doc. Contábil.

Um pouco antes desse ponto, existe uma rotina (Linha 81) alimentando a tabela interna lt_regseq. Será que temos que relacionar essa tabela no momento da chamada da BADI? Mas acho que a SAP não preveu isso, e essa tabela não é usada em mais nenhum ponto do programa.

Já abri um chamado e até agora nada também.

A SAP já responderam o chamado de vocês?

Obrigado

Abraços.

Marcos Tavares

Edited by: Marcos Vinícius M. D. Tavares on Jun 17, 2011 9:49 PM

Former Member
0 Kudos

Cristina, bom dia!

Estou com um problema parecido. Criamos tabelas Z's por nº de conta contábil para auxiliar na montagem dos registros do bloco F. No método da badi SELECT_REGISTER_F indicamos em qual registro esse documento deverá ser atribuído. O que acontece é que se minha conta for atribuída ao registro F150, por exemplo, antes de um registro F120 a estruturação do arquivo fica incorreta. Não encontrei um ponto onde eu possa "ordenar" esses dados.

Alguém passou pelo mesmo problema ou já fez abertura de chamado junto a SAP?

Abraços.

Luiz.