on 05-05-2011 10:00 PM
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
Okay.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
O problema é que preciso dos 3 blocos. Um documento pode ter os três blocos (F100/120/130).
Vou realizar mais testes aqui.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
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
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
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
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
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.
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
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
User | Count |
---|---|
15 | |
4 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.