RES: RES: [oracle_br] Impressora Fiscal Daruma com Form 6i

2006-08-12 Por tôpico Mauricio Roberto Maciel
Eis um modelo de leitura X para Bematech('BEMAFI32.DLL), mude conforme a sua
dll precisa:

Execute os seguintes passos:

1-) Crie as packages:

PACKAGE IMPFISCAL IS
  -- Funcao que efetua Leitura X
  FUNCTION LeituraX RETURN PLS_INTEGER;
end;

PACKAGE BODY IMPFISCAL IS
 dll_handle  Ora_Ffi.Libhandletype;
 Leiturax_fhandleOra_Ffi.Funchandletype;
 arch_dll varchar2(100);
--
  -- Funcao que efetua LEITURA X
  --
 FUNCTION ff_LeituraX(fhandle Ora_Ffi.FUNCHANDLETYPE)
  RETURN PLS_INTEGER;
  PRAGMA interface(C,ff_LeituraX,11265);

 FUNCTION LeituraX RETURN PLS_INTEGER IS
 BEGIN
  RETURN(ff_LeituraX(LeituraX_fhandle));
 END;
begin
   -- inicializacao do package. Registra as funcoes externas para uso dentro
do forms
   -- abre o arquivo de dll como um ponteiro de biblioteca
   dll_handle:=Ora_Ffi.Load_Library('C:\WINDOWS\SYSTEM\','BEMAFI32.DLL');
   if  Ora_Ffi.Is_Null_Ptr(dll_handle)
   then -- se nao achou o arquivo.
   message('IMPFISCAL: Biblioteca não encontrada - '||arch_dll);
   raise form_trigger_failure;
   end if;
---Registra a função Bematech_FI_LeituraX
   LeituraX_fhandle:=Ora_Ffi.Register_Function(dll_handle,'Bematech_FI_Leitu
raX',Ora_Ffi.Pascal_Std);
   if  Ora_Ffi.Is_Null_Ptr(LeituraX_fhandle)
   then
   message('IMPFISCAL: Função não encontrada -
Bematech_FI_LeituraX');
   raise form_trigger_failure;
   end if;
   Ora_Ffi.Register_Return(LeituraX_fhandle,Ora_Ffi.C_Int);
 ---
END;

PACKAGE cupom IS
  -- efetua leitura X
  PROCEDURE leiturax;
END;

PACKAGE BODY cupom IS

-- efetua leitura X
PROCEDURE leiturax IS
alerta number(5);
aux pls_integer;
codigo  varchar2(5);
descricao   varchar2(29);
aliquotavarchar2(5);
tipoqtdade  varchar2(1);
quantidade  varchar2(4);
casasdecimais varchar2(1);
valorunitario varchar2(8);
tipodesconto  varchar2(1);
valordesconto varchar2(8);
valorpago  varchar2(14);
formaPagamento varchar2(16);
acrescimodesconto  varchar2(1);
tipoacrescimodesconto varchar2(1);
valoracrescimodesconto varchar2(14);
mensagem varchar2(490);
BEGIN
 -- tenta fazer a leitura
 if  impfiscal.LeituraX  1
then
raise form_trigger_failure; -- se nao deu certo entao vai
para a exception
end if;
set_application_property(cursor_style,'DEFAULT');
 set_alert_property('alert_nob',alert_message_text,'Leitura X Efetuada');
 alerta:=show_alert('alert_nob');
exception
   when others
   then
   set_application_property(cursor_style,'DEFAULT');
   -- emite um lancamento falso pois se nao foi emitido nenhum o
cupom nao fecha
 codigo:= '';
 descricao := 'Cancelamento';
 aliquota  :=  '';
 tipoqtdade:=  'I';
 quantidade:=  '';
 casasdecimais := '2';
 valorunitario := '';
 tipodesconto  := '%';
 valordesconto :=  '';
 aux:=impfiscal.VendeItem(codigo,descricao,aliquota,tipoqtdade,q
uantidade,casasdecimais,valorunitario,tipodesconto,valordesconto);
   -- Finaliza a entrada de itens
 acrescimodesconto := 'D';
 tipoacrescimodesconto := '$';
 valoracrescimodesconto := '000,00';
 valorpago := '000,00';
 formapagamento := 'DINHEIRO';
 mensagem := 'Cancelamento';
 aux:=impfiscal.FechaCupom(FormaPagamento,
   acrescimodesconto,
   tipoacrescimodesconto,
   valoracrescimodesconto,
   valorpago,
   mensagem);
 aux:=impfiscal.CancelaCupom;
 aux:=impfiscal.LeituraX;
 set_alert_property('alert_nob',alert_message_text,'Leitura X
Efetuada.');
  alerta:=show_alert('alert_nob');

END;

2-) Dentro de um botao ou trigger dispare para executar a funcao:


declare
   FFI_Error  BOOLEAN;
   FFI_Error_Text VARCHAR2(2000);
   FFI_Error_Code NUMBER;
   aux pls_integer;
   begin
 CUPOM.leiturax;
EXCEPTION
 WHEN OTHERS THEN
  -- Place the first error on the TOOL_ERR stack into the package header
variables available for it.
  FFI_ERROR := TRUE;
  FFI_Error_Text := TOOL_ERR.MESSAGE;
  FFI_Error_Code := TOOL_ERR.CODE;
  FOR iErrors IN 1..TOOL_ERR.NERRORS LOOP
   Message(TOOL_ERR.MESSAGE);
   TOOL_ERR.POP;
  END LOOP;

  TOOL_ERR.CLEAR;

END;
  -Mensagem original-
  De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Eduardo Gimenes
  Enviada em: sábado, 12 de agosto de 2006 09:24
  Para: oracle_br@yahoogrupos.com.br
  Assunto: Re: RES: [oracle_br] Impressora Fiscal Daruma com Form 6i


  Olá estou usando a Daruma32.dll...

  Existe alguma outra??

  Valeu

[oracle_br] Impressora Fiscal Daruma com Form 6i

2006-08-11 Por tôpico Eduardo Gimenes
Olá pessoal estou trabalhando tentando trabalhar com
uma impressora Daruma FS 345 e forms 6i. Estou
utilizando o FFigen para gerar a PLL porem sempre que
tento testar a biblioteca ele sai fora e nao me deixa
continuar.
Alguem faz ideia do que alterar... ou mesmo possui
alguma pll que possa me ajudar?

Ambiente Windows XP com Oracle 8.1.7.

Obrigado

Eduardo








___ 
Você quer respostas para suas perguntas? Ou você sabe muito e quer compartilhar 
seu conhecimento? Experimente o Yahoo! Respostas !
http://br.answers.yahoo.com/


--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: 
http://www.oraclebr.com.br/
__
Seu banco Oracle retornou erro? Ora-??? Pesquise aqui: 
http://www.oraclebr.com.br/  
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





RES: [oracle_br] Impressora Fiscal Daruma com Form 6i

2006-08-11 Por tôpico Mauricio Roberto Maciel
Qual dlll vc está usando?
  -Mensagem original-
  De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Eduardo Gimenes
  Enviada em: sexta-feira, 11 de agosto de 2006 16:53
  Para: oracle_br@yahoogrupos.com.br
  Assunto: [oracle_br] Impressora Fiscal Daruma com Form 6i


  Olá pessoal estou trabalhando tentando trabalhar com
  uma impressora Daruma FS 345 e forms 6i. Estou
  utilizando o FFigen para gerar a PLL porem sempre que
  tento testar a biblioteca ele sai fora e nao me deixa
  continuar.
  Alguem faz ideia do que alterar... ou mesmo possui
  alguma pll que possa me ajudar?

  Ambiente Windows XP com Oracle 8.1.7.

  Obrigado

  Eduardo








  ___
  Você quer respostas para suas perguntas? Ou você sabe muito e quer
compartilhar seu conhecimento? Experimente o Yahoo! Respostas !
  http://br.answers.yahoo.com/
  


[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: 
http://www.oraclebr.com.br/
__
Seu banco Oracle retornou erro? Ora-??? Pesquise aqui: 
http://www.oraclebr.com.br/  
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html