How
to display database define ‘LOGO’ or ‘COMP_NAME’ or ‘CUSTOM_ERROR_MESSAGE’
through Oracle Forms.
Display Database Defined ‘LOGO’
Create an image Item: Logo on the form set with required
image size
Item_Type: Image
Enabled: Yes
Image Format: TIFF
Image Depth: Original
Display Quality: High
Database Item: No
Write Form Level Trigger ‘When_New_Form_Instance
declare
logo_path varchar2(250);
begin
select logo into
logo_path from logo;
Read_Image_File(logo_path, 'ANY', 'logo');
exception
when no_data_found then
null;
when others then
show_message(2,2);
end;
Display System Date and Time on
the Form
Create two Item ‘Date’ and ‘Time’ on the Top of the form
Item_Name: Date
Item_Type: Text_Item
Data Type: Date
Initial Value: $$DATE$$
Format
Mask: Dy DD-MM-YYYY
Item_Name: Time
Item_Type: Text_Item
Data Type: char
Initial Value: $$TIME$$
Format
Mask: Dy DD-MM-YYYY
Display Database Defined
‘COMP_NAME’
Create an Item on Form: COMP_NAME
Item_Type: Display Item
Data type = 40 char
Database item: NO
Write a procedure GET_COMP_NAME on Program Unit
PROCEDURE get_comp_name(p_comp in
out varchar2) IS
BEGIN
SELECT COMP_ENAME
into p_comp
FROM
COMP_PROFIL;
exception
when no_data_found then
p_comp := null;
when others then
show_message(2,2);
END;
Write a form level trigger ‘When_New_Form_Instance’
to fetch above procedure
Get_comp_name(:comp_name);
Display Login User’s into form:
Create an Item on Form: USERNAME
Item_Type: Display Item
Data type = 60 char
Database item: NO
Initial value: :GLOBAL.USER
Then simply write into form level trigger ‘When_New_Form_Instance’
:block_name.USERNAME :=
:GLOBAL.USER;
Display Custom Error Message:
PROCEDURE get_mess(mess_code in
number) IS
v_message varchar2(70);
s_message varchar2(70);
BEGIN
s_message := 'message code not defined';
select mes_desc into
v_message
from
error_message
where mes_no =
mess_code;
show_message(1,v_message);
-- Error_message is a database
table defining all the error_message code and description
raise
form_trigger_failure;
EXCEPTION
when no_data_found then
show_message(1,s_message);
raise form_trigger_failure;
when
form_trigger_failure then
raise form_trigger_failure;
when others then
show_message(2,s_message);
raise form_trigger_failure;
END;
PROCEDURE show_message(mess_code in
number, mess_desc in varchar2) IS
BEGIN
if
mess_code = 1 then
message(mess_desc);
message(mess_desc);
elsif mess_code = 2 then
message(sqlerrm);
message(sqlerrm);
end
if;
END;
Comments
Post a Comment