Posts

Showing posts with the label Forms

[SOLVED] FRM-30401: Warning: Formula ignored for non-formula item

Image
This was a strange error which was daunting me for couple of hours today. The field name reported by Forms Builder had no formula attached to it. The property of all fields in the block was also same. But since this was a warning, I tend to ignore. But after some more time, bogged over with the unnecessary popup while creating FMX. Some googling gave me an answer that this was a Form Builder Bug. Then in no time, I got the solution from Oracle Forums.  Specify some dummy formula in the field which is reporting error, and later clearing the property to None and no Formula removed the warning thrown.  Recording for my reference.

Oracle Form - SOLVED - ORA-24813: cannot send or receive an unsupported LOB

I have a form with some text fields and a BLOB (storing image) column. For storing the BLOB column I was using webutil_file_transfer.client_to_db_with_progress procedure to transfer and store to BLOB column. In essence the BLOB column in the data block was only for querying the image to be shown to users. But when I modify the text column and save the record I got an error message which I have never encountered till now. ORA-24813: cannot send or receive an unsupported LOB Thanks to my colleague Haris, I modified the data block property Update Changed Columns Only to "Yes" from default No. The error is now gone. The error is solved by this simple property setting. 

A Basic Tutorial on Oracle9i Forms and Reports

Covering Developer version 9i for Windows NT/2000/XP By Richard Holowczak This tutorial introduces the Oracle9i Developer Suite Release 2 (August, 2002) that includes Oracle Forms 9.0 and Oracle Reports 9.0. The main objectives are to demonstrate and provide hands-on instructions on creating and modifying data entry and query forms in various configurations, reports and graphics. Caveats: Please note that Oracle tends to change things like menu items, prompts and other small things between each major (certainly) and often minor release. Depending on the exact release of Oracle9i Developer Suite you have, you may find some small discrepencies between what is shown in this tutorial and what you see on your screen. Prerequisites Before following this tutorial, a student must have a valid user account in an Oracle server or a local installation of an Oracle database. Contact your DBA or systems administrator to learn the details of how Oracle server is set up in your organization. If yo...

Multipurpose code in Oracle and Oracle Forms

Author: Steve Callan, stevencallan@hotmail.com When Oracle gave up the ghost on client-server Forms several years ago, one of the built-in's that went by the wayside was related to feeding parameters into an alert message function. If you handled errors or missing input (as you should), part of the Forms migration process involved changing the built-in from the 6i version to the 9i version. A complex application can have thousands of alert messages, and a major application (Forms, that is) change can require thousands of changes. Making a change like that was really bad form on Oracle's part. On the other hand, as a DBA and developer using PL/SQL, how many times have you written DBMS_OUTPUT.PUT_LINE('whatever')? Having to write or type DBMS_OUTPUT.PUT_LINE gets to be very tiresome, so wouldn't it be nice to have a shorter piece of code along the lines of a handy built-in? Maybe not so much as foresight, but due more to good luck or realizing the same thing had to be...

Converting to Oracle Forms 10g

Caution: Raised your eyebrows with this notice? You should be. Why? Because, this is not a sure-shot method for converting your old forms to new version. If you are having more number of forms, you should try this method with a hand-full of forms first. Make sure that this works, and then proceed to your full set of forms for conversion. The conversion is a complex task, dealt with as a simple task in this article. I believe in breaking up of the complex task into multiple simple chunks which can be managed easily. So beware of estimating the conversion. Always keep a BIG buffer time for your conversion activities as it is NOT AN EASY TASK. In this article we will go through methods to convert an earlier version of Oracle Forms to Oracle Forms 10g Version. Here we are going to discuss a method through batch file provided by Oracle. In the <ORACLE_HOME>\BIN folder there is a batch file named frmplsqlconv.bat . In this batch file it is calling a Java class to search and repl...

How to kill inactive session from Forms

Technology: Oracle Forms 6i, Oracle Database 9i or greater One of my friend asked how we can kill an inactive session of forms. In an Application server environment this can be attained by modifying none of the application. But as the version is not of our discussion it will not be discussed here. Here is how we have attained such a result: We have to use the D2KWUTIL.PLL. In the WHEN-NEW-FORM-INSTANCE trigger provide the following code: declare lwindow PLS_INTEGER; ltimer TIMER; begin lwindow := get_window_property(FORMS_MDI_WINDOW,WINDOW_HANDLE); Win_API_Session.Timeout_Start_Timer(lwindow); ltimer := Create_Timer('TIMER1',1000,repeat); end; In WHEN-TIMER-EXPIRED trigger provide the following code: begin if upper(get_application_property(TIMER_NAME)) = 'TIMER1' then :control.inactive_time := Win_api_session.Timeout_Get_Inactive_Time; if : control.inactive_time > 120 then Win_API_Session.timeout_delete_timer; exit_form (NO_VALIDATE); end if; end if; end; Control ...

Cannot directly access remote package variable or cursor

Have you ever encountered error "Implementation Restriction: 'XX.XX': Cannot directly access remote package variable or cursor" while compiling oracle forms? If yes read below to find a method of creating a generic way of assigning values to variables from oracle forms. Here in this article we will see how to avoid the error "Cannot directly access remote package variable or cursor" from Oracle forms through an example. We have created a package for test purposes. The name of the package is testpck. Assume it has a lot of variables, say some 200 and you need to assign values to each of the variables from front-end. One way is to create a procedure which assigns values using a rowtype variable. But in this approach we would be writing unnecessary code to attain the logic. In this example listed below we have used only one variable in the package specification. The variable name is l_variable. For simplicity of discussion I am restricting the variables of type...

Traverse through all items in a form

The simple technique of traversing through all items in a form is demonstrated in this article. See below logic for the traversing: 001 start program 002 get first block name; 003 get last block name; 004 go to first block name; 005 assign value of first block name to current block; 006 start loop 007 get first item; 008 get last item; 009 if the loop is running for first time then assign current item's value as first item; 010 print item name; 011 012 if last item is true and current block is not last block 013 go to next block; 014 assign current block's value as new block's name; 015 else if last item is true and current block is last block 016 exit loop; 017 else if current item is not last item 018 go to next item; 019 assign current item's value as new item's name; 020 end if; 021 end loop; 022 end program;

Parameters to Form Runtime

The following are the valid parameters to ifrun60.exe (Forms 6i): Module - Form Runtime module name Userid - Login credentials Term - Oracle Terminal resource file Debug - Invoke the PL/SQL Debugger Debug_Messages - Display debugging messages Keyout - Write Input keystrokes to file Keyin - Read Input keystrokes from file Output_File - Write display to file Interactive - Write display to terminal Array - Use array SQL Processing Buffer_Records - Buffer records to temporary file Logon_screen - Displays the screen to specify logon name Block_Menu - Display block menu on startup OptimizeSQL - Optimize V2-Style Trigger-Step SQL Processing Quiet - Quiet Mode Statistics - Show statistics Query_Only - Show forms in query only mode Help - Show the help screen related to parameters Options_Screen - Displays options window (Only bitmap mode) Pecs - Collect PECS data Window_state - Root window state(Normal, Maximize, Minimize)

Parameters to Form Builder

The following are the valid parameters to ifbld90.exe (Form Builder 9i): Module Module Name Userid Database login credentials Module_type FORM/LIBRARY/MENU Term Oracle Terminal Resource Mapping File Help To show all valid parameters to ifbld90 The following are the valid parameters to ifbld60.exe (Form Builder 6i): Module Module Name Userid Database login credentials Module_type FORM/LIBRARY/MENU/PECS Module_Access FILE/DATABASE Term Oracle Terminal Resource Mapping File Help To show all valid parameters to ifbld60