Başlangıç > Forms, Oracle, PL/SQL > oracle forms pll

oracle forms pll


Merhaba oracle forms da basit olarak hazırlanmış bir pll örneği.

PACKAGE forms_pll IS

  PROCEDURE forms_pll_procedure;
  FUNCTION forms_pll_function(pll_param1 VARCHAR2, pll_param2 NUMBER)
  RETURN VARCHAR2;

END;
/*-------------------------------------------------------------------------*/
PACKAGE BODY forms_pll IS

  forms_pll_handle           ora_ffi.libhandletype;
  forms_pll_procedure_handle ora_ffi.funchandletype;
  forms_pll_function_handle  ora_ffi.funchandletype;

  PROCEDURE ff_forms_pll_procedure(fhandle ora_ffi.funchandletype);
  PRAGMA interface(c, ff_forms_pll_procedure, 11265);

  FUNCTION ff_forms_pll_function(fhandle ora_ffi.funchandletype,
                   pll_param1 VARCHAR2, pll_param2 NUMBER) RETURN VARCHAR2;
  PRAGMA interface(c, ff_forms_pll_function, 11265);

  PROCEDURE forms_pll_procedure IS
  BEGIN
    ff_forms_pll_procedure(forms_pll_procedure_handle);
  END;

  FUNCTION forms_pll_function(pll_param1 VARCHAR2, pll_param2 NUMBER) 
   RETURN VARCHAR2 IS
  BEGIN
    RETURN(ff_forms_pll_function(forms_pll_function_handle,
       pll_param1, pll_param2));
  END;

BEGIN

  forms_pll_handle           := ora_ffi.load_library('dll_path', 'dll_name');
  forms_pll_procedure_handle := ora_ffi.register_function(forms_pll_handle,
    'dll_item_name', ora_ffi.c_std);
  forms_pll_function_handle  := ora_ffi.register_function(forms_pll_handle, 
    'dll_item_name', ora_ffi.c_std);
  ora_ffi.register_parameter(forms_pll_function_handle, ora_ffi.c_char_ptr);
  ora_ffi.register_parameter(forms_pll_function_handle, ora_ffi.c_char_ptr);
  ora_ffi.register_return(forms_pll_function_handle, ora_ffi.c_char_ptr);

EXCEPTION
  WHEN OTHERS THEN
    FOR i IN 1 .. tool_err.nerrors LOOP
      message(tool_err.message);
      pause;
      tool_err.pop;
    END LOOP;
END;
Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: