Há alguns dias atrás eu tentei utilizar o software ValidadorFCI da receita federal para testar o envio de FCIs e tive vários problemas devido ao fato de estar utilizando uma conexão via proxy.
O ValidadorFCI, utiliza a internet para validar o certificado digital que você selecionou,então libere o acesso aos endereço www.fazenda.sp.gov.br/* (HTTP e HTTPS).
Se o seu proxy exigir autenticação, navegue até a pasta onde o ValidadorFCI está instaladado, abra o arquivo Br.Gov.Sp.Fazenda.CCI.ValidadorFCI.Presenter.exe.config, e inclua a tag defaultproxy usedefaultcredentials="true" para que o aplicativo utilize as credenciais do usuário conforme abaixo:
terça-feira, 23 de abril de 2013
sexta-feira, 8 de fevereiro de 2013
Adicionando uma bilblioteca ao Netbeans
Existem várias IDEs para trabalhar com Java como Eclipse,
Netbeans, intelliJ IDEA, entre outras. Todas são excelentes, mas a que eu mais
utilizo é o Netbeans, devido aos muitos assistentes e ferramentas que essa Ide possui.
Nesse post eu vou mostrar como configurar uma biblioteca no
Netbeans para que você possa utilizá-la nas suas aplicações. Eu estou
utilizando o Netbeans 7.2 em
inglês - para saber como mudar o idioma do Netbeans clique aqui.
Clique em Tools->Ant Libraries:
Na janela Ant Libraries Manager, clique em New Library:
Na janela New Library, informe o nome da biblioteca que
sendo adicionada (eu costumo colocar o nome e versão) e certifique-se de que a
opção Class Libraries está selecionada:
Na guia classpath clique em Add JAR/Folder e selecione a o
arquivo jar da biblioteca (em, alguns casos são mais de um):
Na guia sources, clique e adicione o código fonte da biblioteca
caso esteja disponível (geralmente vem na pasta src), isso permitirá fazer o
debug dentro dos métodos da biblioteca:
Na guia Javadoc, clique e adicione a pasta ou o jar com a
documentação da biblioteca, isso permitirá visualizar a documentação da classe
ou método através da ferramenta Code Completion do Netbeans (Control + Space):
Pronto a biblioteca está adicionada. Para utilizá-la na sua
aplicação, basta fazer o seguinte:
Abra as propriedades da sua aplicação (botão direito na
aplicação e em seguida properties), clique em Add Library, selecione a biblioteca criada e em seguida Add Library:
Feche a janela de propriedades, expanda o nó Libraries na
sua aplicação e você poderá visualizar a biblioteca recém-adicionada e seus
pacotes e classes.
Alterando o idioma do Netbeans para inglês
Algumas vezes as traduções deixam a desejar e acabam te
deixando perdido, principalmente se traduzirem algum termo técnico. Infelizmente
o Netbeans não possui uma opção para que você possa selecionar o idioma da IDE,
nesse post vou mostrar como deixa-lo em inglês.
Abra o arquivo netbeans.conf que fica dentro da pasta etc do
diretório de instalação do Netbeans:
Inclua o parâmetro -J-Duser.language=en na variável netbeans_default_options:
segunda-feira, 13 de agosto de 2012
Validar CPF ou CNPJ em ABAP
Para fazer a validação de CPF utilize a FM CONVERSION_EXIT_CPFBR_INPUT e para fazer a validação de CNPJ utilize a FM CONVERSION_EXIT_CGCBR_INPUT.
Basta passar somente os números no parâmetro input e veriifcar o sy-subrc.
Basta passar somente os números no parâmetro input e veriifcar o sy-subrc.
domingo, 27 de maio de 2012
Usando SAP OLE para validar inscrição estadual
A validação de inscrição estadual é um problema, ja que a formula varia de estado para estado, mas felizmente o Sintegra disponibiliza uma dll para fazer essa validação.
Dessa forma você pode criar um executável que utiliza essa dll e chamá-lo a partir do ABAP ou utilizar o ABAP OLE Automation Controller.
Nesse post vou mostrar como registrar uma dll, configurá-la no SAP e chamá-la a partir do código ABAP.
A dll do Sintegra não tem uma camada OLE, então não pode ser chamada diretamente pelo ABAP.
Para solucionar isso eu criei uma segunda dll com OLE em VB6 que chamava a dll do Sintegra. No link abaixo você pode obter essa dll e o código fonte da mesma em vb6.
http://www.4shared.com/rar/k71qc_ZA/Sintegra-VB6.html
Com a dll do Sintegra e a dll OLE criada no VB em mãos, basta fazer o seguinte:
Copiar as dlls para a pasta C:\Windows\System32 (SysWOW64 em sistemas 64 bits) do servidor SAP.
Registrar a dll criada no VB6 utilizando o comando regsvr32 SapIntegra.dll (substituir pelo nome da sua dll). Atenção para sistemas como o windows 7 e server 2008 é necessário executar o console com privilégios de Administrador.
Apos o registro é necessário obter as informações da dll, para isso você pode utilizar o programa RegDllVew.
Com as informações da dll em mãos basta acessar a transação SOLE no SAP e criar um nova entrada conforme abaixo.
Agora que está tudo configurado basta utilizar as classes OLE para fazer a validação. Abaixo você pode ver um exemplo de utilizaçao da dll.
Dessa forma você pode criar um executável que utiliza essa dll e chamá-lo a partir do ABAP ou utilizar o ABAP OLE Automation Controller.
Nesse post vou mostrar como registrar uma dll, configurá-la no SAP e chamá-la a partir do código ABAP.
A dll do Sintegra não tem uma camada OLE, então não pode ser chamada diretamente pelo ABAP.
Para solucionar isso eu criei uma segunda dll com OLE em VB6 que chamava a dll do Sintegra. No link abaixo você pode obter essa dll e o código fonte da mesma em vb6.
http://www.4shared.com/rar/k71qc_ZA/Sintegra-VB6.html
Com a dll do Sintegra e a dll OLE criada no VB em mãos, basta fazer o seguinte:
Copiar as dlls para a pasta C:\Windows\System32 (SysWOW64 em sistemas 64 bits) do servidor SAP.
Registrar a dll criada no VB6 utilizando o comando regsvr32 SapIntegra.dll (substituir pelo nome da sua dll). Atenção para sistemas como o windows 7 e server 2008 é necessário executar o console com privilégios de Administrador.
Apos o registro é necessário obter as informações da dll, para isso você pode utilizar o programa RegDllVew.
Com as informações da dll em mãos basta acessar a transação SOLE no SAP e criar um nova entrada conforme abaixo.
Agora que está tudo configurado basta utilizar as classes OLE para fazer a validação. Abaixo você pode ver um exemplo de utilizaçao da dll.
terça-feira, 27 de março de 2012
Substituindo Sun Base64Encoder com Apache Commons Codec
Nesse post eu ensinei assinar o RPS da prefeitura de São Paulo, na época eu utilizei a API Sun Base64Encoder para codificar a assinatura em Base64, mas como ela é uma API proprietária da Sun pode ser que não esteja disponível em futuras versões do Java, então você pode substituí-la pelo Apache Base64, basta fazer o seguinte:
Primeiro baixe o Apache Commons Codec.
Coloque o jar do commons codec no classpath da sua aplicação, ou se você utiliza o Netbeans, crie uma nova biblioteca e inclua no seu projeto.
Importe o Apache Commons Codec:
Altere o método signASCII:
A biblioteca Apache Commons Codec implementa outros encoders e decoders, vale a pena utilizá-la para outras situações.
Primeiro baixe o Apache Commons Codec.
Coloque o jar do commons codec no classpath da sua aplicação, ou se você utiliza o Netbeans, crie uma nova biblioteca e inclua no seu projeto.
Importe o Apache Commons Codec:
Altere o método signASCII:
A biblioteca Apache Commons Codec implementa outros encoders e decoders, vale a pena utilizá-la para outras situações.
sábado, 25 de fevereiro de 2012
Lendo tabelas de outros programas da sessão
Algumas vezes quando estamos implementando alguma exit, nos deparamos com uma situação em que precisamos de dados que estão declarados globalmente no programa principal mas que não estão disponíveis na interface da exit.
Para acessar basta você fazer uma referencia no formato (AAA)BBB onde AAA é o nome do programa e BBB o nome da tabela, estrutura ou campo a ser acessado, utilize field-symbols para fazer as referências.
Teste simples
Acesse a transação VA03 e ative o debug.
Na tela de debug insira o campo (SAPMV45A)XVBPA[] e você conseguirá visualizar os dados da tabela.
Acesse esse post para informações mais detalhadas a respeito.
Esse outro post também pode te ajudar bastante.
Para acessar basta você fazer uma referencia no formato (AAA)BBB onde AAA é o nome do programa e BBB o nome da tabela, estrutura ou campo a ser acessado, utilize field-symbols para fazer as referências.
Teste simples
Acesse a transação VA03 e ative o debug.
Na tela de debug insira o campo (SAPMV45A)XVBPA[] e você conseguirá visualizar os dados da tabela.
Acesse esse post para informações mais detalhadas a respeito.
Esse outro post também pode te ajudar bastante.
Assinar:
Postagens (Atom)