Pessoal, boa tarde.
Gostaria de saber se alguém passou por esse problema, com ECF (Bematech) e o forms 6i:
Preciso chamar a ORA_FFI.register_parameter com mais de 60 parâmetros? A DLL da Bematech (Bemafi32.dll) tem uma função que recebe 63 parâmetros (VendeItemCompleto) e, caso eu passe mais de 60 no Forms (utilizando a register da ORA_FFI), ele acusa erro.
Muito obrigado,
Abraço,
Trevisolli
ORA_FFI: Mais de 60 parâmetros
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Resolvido!!!
Solução: Utilizamos uma função (não documentada) chamada VendeItemCompletoJSON, no qual passamos um único parâmetro (denominado: param), o qual recebe uma string no formato JSON. Com essa função JSON, passamos apenas 01 parâmetro, não tendo mais problemas com o ORA_FFI.
Esse layout pode ser validado online em:
Exemplo:
Detalhamento da String enviada (deve ser como abaixo)
Ou seja, a chave de início ({), o nome do parâmetro, com aspas duplas, dois pontos, o valor do parâmetro com aspas duplas, vírgula, o nome do próximo parâmetro com aspas duplas, dois pontos, o valor do próximo parâmetro com aspas duplas e a chave final (}).
Dessa forma, a função retornou o que precisávamos aqui.
A chamada foi feita com ORA_FFI, passando um parâmetro e recebendo um inteiro como retoraçorno.
Parse do JSON online: http://json.parser.online.fr/
Abraço,
Trevisolli
Solução: Utilizamos uma função (não documentada) chamada VendeItemCompletoJSON, no qual passamos um único parâmetro (denominado: param), o qual recebe uma string no formato JSON. Com essa função JSON, passamos apenas 01 parâmetro, não tendo mais problemas com o ORA_FFI.
Esse layout pode ser validado online em:
Exemplo:
{"Código":"1","Descrição":"Colchão","Quantidade Estoque":"0010","Forma de Pagamento":"2 - Cheque","Cliente":"José Antonio Ferreira da Silva", "Tipo de Operação":"1"}
Detalhamento da String enviada (deve ser como abaixo)
v_string := '{' || '"codigo":"1","Descrição":"Teste" ||'}' ;
Dessa forma, a função retornou o que precisávamos aqui.
A chamada foi feita com ORA_FFI, passando um parâmetro e recebendo um inteiro como retoraçorno.
Parse do JSON online: http://json.parser.online.fr/
Abraço,
Trevisolli
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante