cancel
Showing results for 
Search instead for 
Did you mean: 

SPED PIS/COFINS - BLOCO F

Former Member
0 Kudos

Boa tarde,

Eu estou gerando o arquivo do SPED PIS/COFINS e estão sendo gerados vários lançamentos dos registros do BLOCO F.

Pelo que eu entendi um documento da SAP, esses blocos seriam gerados atravé da BAdI ou seja definidos pelo cliente.

Alguém saberia me dizer se há alguma forma de não gerar esses lançamentos, para que possa fazer a minha própria definição?

Obrigado.

André Vilela

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Okay.

Former Member
0 Kudos

O problema é que preciso dos 3 blocos. Um documento pode ter os três blocos (F100/120/130).

Vou realizar mais testes aqui.

former_member667396
Participant
0 Kudos

Olá Marcos,

Você consegui ultrapassar este problema ? Também estou precisando gerar por documento os blocos F120 e F130. Muito obrigado,

Pedro Castro

juliana_velho
Explorer
0 Kudos

Olá Marcos, vc conseguiu resolver essa situação - mesmo documento preenchendo mais de um registro F? Obrigada - Juliana

Former Member
0 Kudos

Olá Pessoal,

Vejam se conseguem me ajudar.

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

Caro Marcos,

Favor observar as regras do fórum:

Regras de Comportamento

http://wiki.sdn.sap.com/wiki/display/Port/RegrasdeComportamento

Dessa forma você contribui com toda a comunidade e aumenta suas chances de receber ajuda.

Abs.,

Charles

daniel_carvalho
Active Contributor
0 Kudos

Charles, bom dia!

Na verdade, creio que a solução foi praticamente a mesma, pois eu também fiz uso de uma tabela Z de apoio para informar as contas pertinentes ao bloco F100 e campos que não se encontram no SAP standard.

Obrigado,

Daniel.

Former Member
0 Kudos

No caso do projeto onde estou alocado, ainda estamos levantando junto à equipe contábil do cliente os cenários com lançamentos apenas por FI que devem ser informados no bloco F100 para verificar os critérios de seleção que a transação J1BPIS disponibiliza e implementar via BADI os demais critérios para correta geração desse bloco.

No momento, o que posso acrescentar a este tópico, é que o select realizado nos documentos é FI comprometem o desempenho do programa e como não temos ainda a definição dos documentos que informaremos, estou utilizando a seleção de um número apenas de documento, para um dia apenas visando diminuir o tempo de geração do arquivo que chegou a ser de horas rodando em background, para que possamos ir testando o restante do arquivo sem precisar esperar tanto.

Former Member
0 Kudos

Estimados,

o Block F é preenchido pela SAP, mas só com algumas informações.

A Implementação deve ser feita do jeito que achar melhor, com a sua lógica.

abraços

Former Member
0 Kudos

Boa noite.

Encontrei uma forma de não gerar o Bloco F.

No método SELECT_REGISTER_F há o parâmetro EV_SKIP_ACDOC se marcar esse parâmetro com 'X' os registros não serão gerados.

Contudo, eu não testei para iniciar a geração da forma que eu preciso.

Obrigado.

André

Former Member
0 Kudos

Caro(a) André/Dulcimar,

Se você atribuir verdadeiro ('X') ao parâmetro ev_skip_acdoc do método SELECT_REGISTER_F, o registro não será processado e não aparecerá no arquivo. Não tem uma forma (simples/correta) de adicionar este registro que você pulou no arquivo novamente; não é assim que a solução da SAP funciona.

É importante ressaltar que você (cliente) está no comando. Você pode alterar qualquer informação de qualquer registro, inclusive sobrescrevendo as informações que a SAP inseriu lá.

No caso de você não desejar que um documento seja informado no bloco F -- porque você já o processou no bloco A, C ou D ou porque você quer ignorá-lo por algum motivo -- aí sim você adotaria a solução que você descreveu.

Quanto a sua dúvida inicial, não sei qual documento você leu, mas não é isso que o arquivo "PIS-COFINS_Content_File_v1.xls" (anexo da Nota 1523958) diz. Lá você pode verificar o que é preenchido ou não pela SAP.

Se ainda não teve a oportunidade, recomendo que leia as notas disponibilizadas pela SAP. Elas esclarecem muitas dúvidas. No mais, qualquer coisa é só perguntar.

Att.,

Charles

Former Member
0 Kudos

Charles,

O documento que eu havia consultado é o "Apresentação 30.03.2011 SPED PISCOFINS.pdf".

Eu já li as notas relacionadas sobre PIS e COFINS, mas vou reler para ver se há algo que possa me acrescentar.

Alterar os lançamentos gerados em um registro pela SAP é tranquilo, a minha dificuldade é incluir um lançamento na tabela interna que gerará o meu registro.

No caso do Bloco F, eu preciso que todos os registros gerados pela SAP sejam excluídos ou não sejam gerados e em segundo instante fazer uma nova seleção e incluir os novos registros selecionados.

Outro exemplo, seria incluir novos códigos de materiais que não foram gravados no bloco 0200.

Para o SPED Fiscal, por exemplo, eu consegui pegar a tabela interna que havia sido definida no programa MAIN_TOP e incluir outros registros, usando o comando ASSIGN.

Mas para essa BADI eu não consegui identificar quais são as tabelas internas e em que instante no método fazer essa gravação.

No método FILL_REGISTER_0600, por exemplo, eu consegui gravar os meus centros de custos, mas na parte de parâmetros havia a definição da tabela.

Espero que possa me ajudar.

Muito obrigado,

André Vilela

Former Member
0 Kudos

Caro André, usando field-symbols (através do "assign" que você citou) conseguirás chegar ao resultado pretendido. Mas você vai precisar de um abaper para te ajudar (estou assumindo que você é um funcional, me corrija se eu estiver errado).

Entretanto, antes de partir para isso, verifique a nota que a SAP liberou hoje (Enhancement 3) e a atualização que foi feita na nota que eu citei na última mensagem. Ainda não tive a oportunidade de verificá-las, mas fui informado que além de correções também há novos métodos na badi. Talvez algum possa te ajudar.

Sds.,

Charles

Former Member
0 Kudos

Caro André, complementando a informação que te passei na sexta-feira:

Para achar a tabela interna verifique a lógica do FORM PROCESS_F, no INCLUDE J_1BPIS_MAIN_F_01.

Não entendi o motivo de você querer ignorar a seleção da SAP e fazer a sua própria. Mas se é isso mesmo que vai fazer, talvez seja melhor substituir o FORM PROCESS_FI, no INCLUDE J_1BPIS_MAIN_SEL_FI. Caso contrário será desperdiçado tempo e processamento selecionando todos os documentos de FI para depois você excluí-los da tabela interna e gastar mais tempo e processamento fazendo uma nova seleção.

Lembre-se de que, neste caso, você teria que fazer não só a seleção, mas todo o processamento. Espero que compreenda os riscos e a complexidade ao adotar tal solução.

Att.,

Charles

Former Member
0 Kudos

Charles,

Eu trabalho com desenvolvimento.

Nos outros SPED fizemos o mesmo tipo de trabalho com o comando ASSIGN.

Porém, a definição das tabelas estavam centralizadas no programa TOP.

Eu já tentei debugar, mas não fui muito feliz.

Eu vou fazer novas execuções e debugar novamente para tentar localizar a tabela.

Nós estamos querendo gerar novos lançamentos porque os gerados pelo STANDARD está totalmente zerado e não sabemos qual é a fonte de pesquisa de seus dados, além disso os dados que iremos buscar são bem específicos.

Nós aplicamos a nota mais recente hoje.

Irei fazer novos testes.

De qualquer forma, obrigado.

André Vilela

Former Member
0 Kudos

André, também desenvolvo e realmente vi que não está explicito o funcionamento (ex.: nome das tabelas internas) como no SPED Fiscal.

Como não vamos fazer nada semelhante ao que você está precisando, não depurei o programa para tentar entender. Se você descobrir mais alguma coisa compartilhe com a gente. Pode ajudar mais alguém.

Bom trabalho e boa sorte!

Sds,

Charles

Former Member
0 Kudos

Pessoal,

Estou acompanhando os comentários, e acredito que vocês já avançaram bastante com a implatação do SPED PIS COFINS.

Tenho umas dúvidas, e acredito que vcs poderão me ajudar, aqui no BLOCO F.

Hoje, a solução SAP apresenta os registros da BSEG agrupados em uma única linha por documento (BLOCO F100).

Porém a necessidade que encontramos hoje, é que cada lançamento da BSEG é destinado para Contas Contábeis diferentes no mesmo documento.

E com isso eu preciso desmembrar cada lançamento, cada um em uma linha, para suas respectivas contas.

Em algumas consultas que eu fiz, existem BADIs que permitem essa implementação, porém o que está complicando são as linhas de controle F001 e F990, pois se eu implemento elas manualmente o item é duplicado na geração do arquivo.

Outro detalhe nesta implementação manual é fazer as seleções dentro da BADI o que impacta em performance, pois a mesma seleção já é realizada pelo standard.

Existem alguma alternativa para este caso?

Obrigado,

Jorge

daniel_carvalho
Active Contributor
0 Kudos

Bom dia a todos!

Acompanhando as respostas a este "thread", também gostaria de deixar aqui o que fizemos para contemplar o registro F100 aqui na empresa que estou trabalhando.

Aqui o pessoal da área contábil/fiscal me informou que devemos levar, ao invés de documentos contábeis específicos, que deveríamos nos preocupar com o saldo de algumas contas as quais são pertinentes para as informações a serem descritas no registro F100.

Realmente, segundo o último "post" que eu li, se utilizarmos a solução "standard" SAP, a mesma retornará uma linha de F100 para cada documento encontrado e encontramos também o mesmo problema que pode haver casos onde um documento contábil poderá conter mais de uma conta aplicável ao registro e então, a solução SAP estaria "deixando de reportar" um valor significativo.

Após a aplicação de algumas notas SAP (não me recordo se foi a Enhancement Note 04 ou 05), eles disponibilizaram um método na BADI chamado IF_EX_BADI_J_1BPIS~GET_FI_DOCUMENT. Através dele e de mais outros, conseguimos gerar o registro F100 considerando apenas os saldos contábeis, ao invés dos documentos contábeis.

Vou tentar explicar aqui como nós o fizemos:

1) Criamos uma estrutura interna a ser utilizada no método como um atributo global do mesmo para controlar a necessidade de geração dos registros deste bloco

2) No método IF_EX_BADI_J_1BPIS~GET_FI_DOCUMENT verificamos tal estrutura e retornamos 'X' no parâmetro EV_CONTINUE

3) No método IF_EX_BADI_J_1BPIS~SELECT_BLOCK_FOR_FI_DOC verificamos se a conta a ser reportada contém saldo. Se sim, retornamos 'F' no parâmetro EV_BLOCK. Caso contrário, retornamos CLEAR EV_BLOCK.

4) No método IF_EX_BADI_J_1BPIS~SELECT_REGISTER_F verificamos a estrutura criada para controle da geração do registro F100, se a mesma diz que é para gerar registro, retorna CLEAR ev_skip_acdoc e 'F100' em ev_register_f. Caso contrário, retorna 'X' em EV_SKIP_ACDOC.

5) Por fim no método IF_EX_BADI_J_1BPIS~FILL_REGISTER_F100 fazemos o preenchimento do registro necessário.

Estamos agora trabalhando na concepção do registro F130, com a ajuda de um consultor FI-AA, para a configuração das áreas de controle de créditos e modificação de programas ABAP que desenvolvemos internamente para a solução do bloco G (CIAP) do EFD ICMS/IPI.

Atenciosamente,

Daniel.

Former Member
0 Kudos

Olá Jorge!

Primeiramente bem-vindo!

Como você é novo no fórum, peço a gentileza de observar as regras a partir de agora. Sua pergunta deveria ser feita em uma thread nova e não nesta.

Quanto à solução para o F: muita coisa mudou desde minha última mensagem nesta thread. A solução que adotamos para o F100 foi praticamente a mesma adotada pelo Daniel Carvalho (ver mensagem abaixo da sua).

Se tiver mais alguma dúvida, crie uma nova thread e faça sua pergunta. Estou sempre verificando o fórum e tentarei ajudar no que for possível.

Sds.,

Charles

Former Member
0 Kudos

Boa tarde Daniel!

Solução bem semelhante à nossa para o F100. No nosso caso, criamos uma tabela de parâmetros para armazenar as contas que devem ter seus documentos escriturados.

Para o F120/F130, o cliente ainda está estudando se é possível usar o AA ou se será necessário desenvolveremos uma solução Z para fazer o controle.

Sds.,

Charles