Adsense Ad

Thursday 15 June 2017

Oracle Forms: Word / Excel using Client OLE2

Complete Package Code

Package specification:
PACKAGE excel
IS
   /*
             Global excel.Application Object --> this represent excel Object.
     */
   appl_id   client_ole2.obj_type;

   /*
           Open file that act as template. Parameter are:
           _application_ -- global word parameter that we initialize at 
           begining.
           _file_ -- file name we wish to open --> it can be from database, or filesystem...
   */
   FUNCTION file_open (application client_ole2.obj_type, FILE VARCHAR2)
      RETURN client_ole2.obj_type;

   /*
           Close current file.
   */
   PROCEDURE file_close (document client_ole2.obj_type);

   /*
           Saves current file (It is useful if we need to save current 
           file using another name)
   */
   PROCEDURE file_save_as (document client_ole2.obj_type, FILE VARCHAR2);

   /*
           Isert number (not formated)
           x - horizontal axei.
           y - vertical axis.
           v - value.
   */
   PROCEDURE insert_number (
      worksheet   client_ole2.obj_type,
      x           NUMBER,
      y           NUMBER,
      v           NUMBER
   );

   /*
           Insert number and format it as decimal value. 
           x - horizontal axei.
           y - vertical axis.
           v - value.
           Napomena: !!!THIS DOES NOT WORK IN EXCEL 2007!!!
   */
   PROCEDURE insert_number_decimal (
      worksheet   client_ole2.obj_type,
      x           NUMBER,
      y           NUMBER,
      v           NUMBER
   );

   /*
           Insert characters  (not formated)
           x - horizontal axei.
           y - vertical axis.
           v - value.
   */
   PROCEDURE insert_char (
      worksheet   client_ole2.obj_type,
      x           NUMBER,
      y           NUMBER,
      v           VARCHAR2
   );

   /*
           Insert character - formated
           color - numbers (15 for example is gray)           
           style - BOLD' or 'ITALIC'
           x - horizontal axei.
           y - vertical axis.
           v - value.
   */
   PROCEDURE insert_char_formated (
      worksheet   client_ole2.obj_type,
      x           NUMBER,
      y           NUMBER,
      v           VARCHAR2,
      color       NUMBER,
      style       VARCHAR2
   );

   /*
           Set autofit on whole sheet.
   */
   PROCEDURE set_auto_fit (worksheet client_ole2.obj_type);

   /*
           Set autofit for range r. For example. r can be: 'A2:E11'
   */
   PROCEDURE set_auto_fit_range (worksheet client_ole2.obj_type, r VARCHAR2);

   /*
           Put decimal format (0.00) on range r.
   */
   PROCEDURE set_decimal_format_range (
      worksheet   client_ole2.obj_type,
      r           VARCHAR2
   );

   /*
           Create new workbook.
   */
   FUNCTION new_workbook (application client_ole2.obj_type)
      RETURN client_ole2.obj_type;

   /*
           Create new worksheet.
   */
   FUNCTION new_worksheet (workbook client_ole2.obj_type)
      RETURN client_ole2.obj_type;

   /*
           Saves file in client tempfolder (It is necessary to save file if edit template).
   */
   FUNCTION download_file (
      file_name         IN   VARCHAR2,
      table_name        IN   VARCHAR2,
      column_name       IN   VARCHAR2,
      where_condition   IN   VARCHAR2
   )
      RETURN VARCHAR2;

   /*
           Run macro on client excel document.
   */
   PROCEDURE run_macro_on_document (
      document   client_ole2.obj_type,
      macro      VARCHAR2
   );

   /*
           Limit network load...not important.
   */
   PROCEDURE insert_number_array (
      worksheet   client_ole2.obj_type,
      x           NUMBER,
      y           NUMBER,
      v           VARCHAR2
   );
END;
Package body:
PACKAGE BODY excel
IS
   FUNCTION file_open (application client_ole2.obj_type, FILE VARCHAR2)
      RETURN client_ole2.obj_type
   IS
      arg_list    client_ole2.list_type;
      document    client_ole2.obj_type;
      documents   client_ole2.obj_type;
   BEGIN
      arg_list := client_ole2.create_arglist;
      documents := client_ole2.invoke_obj (application, 'Workbooks');
      client_ole2.add_arg (arg_list, FILE);
      document := client_ole2.invoke_obj (documents, 'Open', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.RELEASE_OBJ (documents);
      RETURN document;
   END file_open;

   PROCEDURE file_save_as (document client_ole2.obj_type, FILE VARCHAR2)
   IS
      arg_list   client_ole2.list_type;
   BEGIN
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, FILE);
      client_ole2.invoke (document, 'SaveAs', arg_list);
      client_ole2.destroy_arglist (arg_list);
   END file_save_as;

   FUNCTION new_workbook (application client_ole2.obj_type)
      RETURN client_ole2.obj_type
   IS
      workbook    client_ole2.obj_type;
      workbooks   client_ole2.obj_type;
   BEGIN
      workbooks := client_ole2.get_obj_property (application, 'Workbooks');
      workbook := client_ole2.invoke_obj (workbooks, 'Add');
      client_ole2.RELEASE_OBJ (workbooks);
      RETURN workbook;
   END new_workbook;

   FUNCTION new_worksheet (workbook client_ole2.obj_type)
      RETURN client_ole2.obj_type
   IS
      worksheets   client_ole2.obj_type;
      worksheet    client_ole2.obj_type;
   BEGIN
      worksheets := client_ole2.get_obj_property (workbook, 'Worksheets');
      worksheet := client_ole2.invoke_obj (worksheets, 'Add');
      client_ole2.RELEASE_OBJ (worksheets);
      RETURN worksheet;
   END new_worksheet;

   PROCEDURE file_close (document client_ole2.obj_type)
   IS
   BEGIN
      client_ole2.invoke (document, 'Close');
   END file_close;

   /*
       Macro:    Cells(3, 4).Value = 3
                   Cells(3, 4).Select
                   Selection.NumberFormat = "0.00"
   */
   PROCEDURE insert_number_decimal (
      worksheet   client_ole2.obj_type,
      x           NUMBER,
      y           NUMBER,
      v           NUMBER
   )
   IS
      args        client_ole2.list_type;
      cell        client_ole2.obj_type;
      selection   client_ole2.obj_type;
   BEGIN
      IF v IS NOT NULL
      THEN
         args := client_ole2.create_arglist;
         client_ole2.add_arg (args, x);
         client_ole2.add_arg (args, y);
         cell := client_ole2.get_obj_property (worksheet, 'Cells', args);
         client_ole2.destroy_arglist (args);
         client_ole2.set_property (cell, 'Value', v);
         client_ole2.invoke (cell, 'Select');
         selection := client_ole2.invoke_obj (appl_id, 'Selection');
         client_ole2.set_property (selection, 'Numberformat', '#.##0,00');
         client_ole2.RELEASE_OBJ (selection);
         client_ole2.RELEASE_OBJ (cell);
      END IF;
   END;

   /* Macro:
                       Cells(x, y).Value = v
   */
   PROCEDURE insert_number (
      worksheet   client_ole2.obj_type,
      x           NUMBER,
      y           NUMBER,
      v           NUMBER
   )
   IS
      args   client_ole2.list_type;
      cell   ole2.obj_type;
   BEGIN
      IF v IS NOT NULL
      THEN
         args := client_ole2.create_arglist;
         client_ole2.add_arg (args, x);
         client_ole2.add_arg (args, y);
         cell := client_ole2.get_obj_property (worksheet, 'Cells', args);
         client_ole2.destroy_arglist (args);
         client_ole2.set_property (cell, 'Value', v);
         client_ole2.RELEASE_OBJ (cell);
      END IF;
   END;


   PROCEDURE insert_char (
      worksheet   client_ole2.obj_type,
      x           NUMBER,
      y           NUMBER,
      v           VARCHAR2
   )
   IS
      args   client_ole2.list_type;
      cell   client_ole2.obj_type;
   BEGIN
      IF v IS NOT NULL
      THEN
         args := client_ole2.create_arglist;
         client_ole2.add_arg (args, x);
         client_ole2.add_arg (args, y);
         cell := client_ole2.get_obj_property (worksheet, 'Cells', args);
         client_ole2.destroy_arglist (args);
         client_ole2.set_property (cell, 'Value', v);
         client_ole2.RELEASE_OBJ (cell);
      END IF;
   END;

  
   /*
           Macro:
                       Cells(x, y).Value = v
                       Cells(x, y).Select
                       Selection.Interior.ColorIndex = color
                       if (style in 'BOLD')
                           Selection.Font.Bold = True
                       else if (style in 'ITALIC')
                           Selection.Font.Italic = True
   */
   PROCEDURE insert_char_formated (
      worksheet   client_ole2.obj_type,
      x           NUMBER,
      y           NUMBER,
      v           VARCHAR2,
      color       NUMBER,
      style       VARCHAR2
   )
   IS
      args        client_ole2.list_type;
      cell        client_ole2.obj_type;
      selection   client_ole2.obj_type;
      font        client_ole2.obj_type;
      interior    client_ole2.obj_type;
   BEGIN
      IF v IS NOT NULL
      THEN
         args := client_ole2.create_arglist;
         client_ole2.add_arg (args, x);
         client_ole2.add_arg (args, y);
         cell := client_ole2.get_obj_property (worksheet, 'Cells', args);
         client_ole2.destroy_arglist (args);
         client_ole2.set_property (cell, 'Value', v);
         client_ole2.invoke (cell, 'Select');
         selection := client_ole2.invoke_obj (appl_id, 'Selection');
         font := client_ole2.invoke_obj (selection, 'Font');
         interior := client_ole2.invoke_obj (selection, 'Interior');

         IF UPPER (style) IN ('BOLD', 'ITALIC')
         THEN
            client_ole2.set_property (font, style, TRUE);
         END IF;

         client_ole2.set_property (interior, 'ColorIndex', color);
         client_ole2.RELEASE_OBJ (interior);
         client_ole2.RELEASE_OBJ (font);
         client_ole2.RELEASE_OBJ (selection);
         client_ole2.RELEASE_OBJ (cell);
      END IF;
   END;

   /*
           Macro:
                       Range(r).Select
                       Selection.Columns.AutoFit
                       Cells(1,1).Select
   */
   PROCEDURE set_auto_fit_range (worksheet client_ole2.obj_type, r VARCHAR2)
   IS
      args        client_ole2.list_type;
      --range
      rang        client_ole2.obj_type;
      selection   client_ole2.obj_type;
      colum       client_ole2.obj_type;
      cell        client_ole2.obj_type;
   BEGIN
      args := client_ole2.create_arglist;
      client_ole2.add_arg (args, r);
      rang := client_ole2.get_obj_property (worksheet, 'Range', args);
      client_ole2.destroy_arglist (args);
      client_ole2.invoke (rang, 'Select');
      selection := client_ole2.invoke_obj (appl_id, 'Selection');
      colum := client_ole2.invoke_obj (selection, 'Columns');
      client_ole2.invoke (colum, 'AutoFit');
      --now select upper (1,1) for deselection.      
      args := client_ole2.create_arglist;
      client_ole2.add_arg (args, 1);
      client_ole2.add_arg (args, 1);
      cell := client_ole2.get_obj_property (worksheet, 'Cells', args);
      client_ole2.invoke (cell, 'Select');
      client_ole2.destroy_arglist (args);
      client_ole2.RELEASE_OBJ (colum);
      client_ole2.RELEASE_OBJ (selection);
      client_ole2.RELEASE_OBJ (rang);
   END set_auto_fit_range;

   /*
           Macro:
                       Range(r).Select
                       Selection.Numberformat = "0.00"
                       Cells(1,1).Select
   */
   PROCEDURE set_decimal_format_range (
      worksheet   client_ole2.obj_type,
      r           VARCHAR2
   )
   IS
      args        client_ole2.list_type;
      --range
      rang        client_ole2.obj_type;
      selection   client_ole2.obj_type;
      --colum Client_OLE2.Obj_Type;
      cell        client_ole2.obj_type;
   BEGIN
      args := client_ole2.create_arglist;
      client_ole2.add_arg (args, r);
      rang := client_ole2.get_obj_property (worksheet, 'Range', args);
      client_ole2.destroy_arglist (args);
      client_ole2.invoke (rang, 'Select');
      selection := client_ole2.invoke_obj (appl_id, 'Selection');
      --colum:= Client_OLE2.invoke_obj(selection, 'Columns');
      client_ole2.set_property (selection, 'Numberformat', '#.##0,00');
      --Client_OLE2.invoke(colum, 'AutoFit');
      --now select upper (1,1) for deselection.      
      args := client_ole2.create_arglist;
      client_ole2.add_arg (args, 1);
      client_ole2.add_arg (args, 1);
      cell := client_ole2.get_obj_property (worksheet, 'Cells', args);
      client_ole2.invoke (cell, 'Select');
      client_ole2.destroy_arglist (args);
      --Client_OLE2.release_obj(colum);
      client_ole2.RELEASE_OBJ (selection);
      client_ole2.RELEASE_OBJ (rang);
   END set_decimal_format_range;

   /*
           Macro:Cells.Select
                       Selection.Columns.AutoFit
                       Cells(1,1).Select
   */
   PROCEDURE set_auto_fit (worksheet client_ole2.obj_type)
   IS
      args        client_ole2.list_type;
      cell        client_ole2.obj_type;
      selection   client_ole2.obj_type;
      colum       client_ole2.obj_type;
   BEGIN
      cell := client_ole2.get_obj_property (worksheet, 'Cells');
      client_ole2.invoke (cell, 'Select');
      selection := client_ole2.invoke_obj (appl_id, 'Selection');
      colum := client_ole2.invoke_obj (selection, 'Columns');
      client_ole2.invoke (colum, 'AutoFit');
      --now select upper (1,1) for deselection.      
      args := client_ole2.create_arglist;
      client_ole2.add_arg (args, 1);
      client_ole2.add_arg (args, 1);
      cell := client_ole2.get_obj_property (worksheet, 'Cells', args);
      client_ole2.invoke (cell, 'Select');
      client_ole2.destroy_arglist (args);
      client_ole2.RELEASE_OBJ (colum);
      client_ole2.RELEASE_OBJ (selection);
      client_ole2.RELEASE_OBJ (cell);
   END set_auto_fit;

   PROCEDURE run_macro_on_document (
      document   client_ole2.obj_type,
      macro      VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, macro);
      client_ole2.invoke (excel.appl_id, 'Run', arg_list);
      client_ole2.destroy_arglist (arg_list);
   END;

   FUNCTION download_file (
      file_name         IN   VARCHAR2,
      table_name        IN   VARCHAR2,
      column_name       IN   VARCHAR2,
      where_condition   IN   VARCHAR2
   )
      RETURN VARCHAR2
   IS
      l_ok          BOOLEAN;
      c_file_name   VARCHAR2 (512);
      c_path        VARCHAR2 (255);
   BEGIN
      SYNCHRONIZE;
      c_path := client_win_api_environment.get_temp_directory (FALSE);

      IF c_path IS NULL
      THEN
         c_path := 'C:\';
      ELSE
         c_path := c_path || '\';
      END IF;

      c_file_name := c_path || file_name;
      l_ok :=
         webutil_file_transfer.db_to_client_with_progress
                                                   (c_file_name,
                                                    table_name,
                                                    column_name,
                                                    where_condition,
                                                    'Transfer on file system',
                                                    'Progress'
                                                   );
      SYNCHRONIZE;

      IF NOT l_ok
      THEN
         msg_popup ('File not found in database', 'E', TRUE);
      END IF;

      RETURN c_path || file_name;
   END download_file;
END;
Word package
Package specification
PACKAGE word
IS
   /*
           Global Word.Application Object --> represent word object.
   */
   appl_id   client_ole2.obj_type;

   /*
           Open file that act as template. Parameter are:
          _application_ -- global word parameter that we initialize at
          begining.
          _file_ -- file name we wish to open --> it can be from database, or filesystem...
   */
   FUNCTION file_open (application client_ole2.obj_type, FILE VARCHAR2)
      RETURN client_ole2.obj_type;

   /*
           Close current file.
   */
   PROCEDURE file_close (document client_ole2.obj_type);

   /*
           Saves current file (It is useful if we need to save current
          file using another name)
   */
   PROCEDURE file_save_as (document client_ole2.obj_type, FILE VARCHAR2);

   /*
           (Bizniss end of this whole package;) ) Inserts value in specific word bookmark.
           _dokcument_ -- Word document.
           _bookmark_ -- Name of bookmark that is defined in word template,
           _content_ --  Content we wish to insert into bookmark.
   */
   PROCEDURE insertafter_bookmark (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2,
      content    VARCHAR2
   );

   /*
           InsertAfter_Bookmark insert after bookmark and then delete that bookmark 
           and this is not good if you itarate through values, so this one do not 
           delete bookmark after insert.
           same paramters as previous one.
   */
   PROCEDURE replace_bookmark (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2,
      content    VARCHAR2
   );

   /*
           Saame as previous procedure but it handle next for you.
   */
   PROCEDURE insertafter_bookmark_next (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2,
      content    VARCHAR2
   );

   /*
           This one after value insert move itself on next row into table. 
           When I say next I mean next-down.
           This is essential for iterating through word table (one row at the time)
           We need manualy create new row if it does not exists.!!!
   */
   PROCEDURE insertafter_bookmark_down (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2,
      content    VARCHAR2
   );

   /*
           Easy...delete bookmark,
   */
   PROCEDURE delete_bookmark (document client_ole2.obj_type, bookmark VARCHAR2);

   /*
           Create new table row (see InsertAfter_Bookmark_Next)
   */
   PROCEDURE insert_new_table_row (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2
   );

   /*
           Move bookmakr (ONLY IN TABLE) left, right, up, down.
           _direction_ can have following valyes'UP', 'DOWN', 'LEFT', 'RIGHT'
   */
   PROCEDURE move_table_bookmark (
      document    client_ole2.obj_type,
      bookmark    VARCHAR2,
      direction   VARCHAR2
   );

   /*
           File download.
           parametar _file_name_  -- client file name (name on client)
           _table_name_ -- Table name for where BLOB column is.
           _column_name_ -- BLOB column name that holds Word template.
           -where_condition_ -- filter.
   */
   FUNCTION download_file (
      file_name         IN   VARCHAR2,
      table_name        IN   VARCHAR2,
      column_name       IN   VARCHAR2,
      where_condition   IN   VARCHAR2
   )
      RETURN VARCHAR2;

   /*
           Calling macro's on bookmarks...only for test.
   */
   PROCEDURE run_macro_on_bookmark (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2,
      macro      VARCHAR2
   );

   PROCEDURE run_macro_on_document (
      document   client_ole2.obj_type,
      macro      VARCHAR2
   );
END;
Package body
PACKAGE BODY word
IS
   FUNCTION file_open (application client_ole2.obj_type, FILE VARCHAR2)
      RETURN client_ole2.obj_type
   IS
      arg_list    client_ole2.list_type;
      document    client_ole2.obj_type;
      documents   client_ole2.obj_type;
   BEGIN
      arg_list := client_ole2.create_arglist;
      documents := client_ole2.invoke_obj (application, 'documents');
      client_ole2.add_arg (arg_list, FILE);
      document := client_ole2.invoke_obj (documents, 'Open', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.RELEASE_OBJ (documents);
      RETURN document;
   END file_open;

   PROCEDURE file_close (document client_ole2.obj_type)
   IS
   BEGIN
      client_ole2.invoke (document, 'Close');
   --CLIENT_OLE2.RELEASE_OBJ(document);
   END file_close;

   PROCEDURE file_save_as (document client_ole2.obj_type, FILE VARCHAR2)
   IS
      arg_list   client_ole2.list_type;
   BEGIN
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, FILE);
      client_ole2.invoke (document, 'SaveAs', arg_list);
      client_ole2.destroy_arglist (arg_list);
   --CLIENT_OLE2.RELEASE_OBJ(document);
   END file_save_as;

   PROCEDURE replace_bookmark (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2,
      content    VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, content);
      client_ole2.invoke (selectionobj, 'Delete');
      client_ole2.invoke (selectionobj, 'InsertAfter', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END replace_bookmark;

   PROCEDURE insertafter_bookmark (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2,
      content    VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, content);
      client_ole2.invoke (selectionobj, 'InsertAfter', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END insertafter_bookmark;

   PROCEDURE insertafter_bookmark_next (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2,
      content    VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, content || CHR (13));
      client_ole2.invoke (selectionobj, 'InsertAfter', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END insertafter_bookmark_next;

   PROCEDURE insertafter_bookmark_down (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2,
      content    VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, content);
      client_ole2.invoke (selectionobj, 'InsertAfter', arg_list);
      client_ole2.invoke (selectionobj, 'Cut');
      client_ole2.invoke (selectionobj, 'SelectCell');
      client_ole2.invoke (selectionobj, 'MoveDown');
      client_ole2.invoke (selectionobj, 'Paste');
      client_ole2.destroy_arglist (arg_list);
      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END insertafter_bookmark_down;

   PROCEDURE delete_bookmark (document client_ole2.obj_type, bookmark VARCHAR2)
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');
      client_ole2.invoke (selectionobj, 'Delete');
      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END delete_bookmark;

   PROCEDURE run_macro_on_bookmark (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2,
      macro      VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, macro);
      client_ole2.invoke (word.appl_id, 'Run', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END;

   PROCEDURE run_macro_on_document (
      document   client_ole2.obj_type,
      macro      VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      --bookmarkCollection := CLIENT_OLE2.INVOKE_OBJ(document, 'Bookmarks', arg_list);
      --arg_list := CLIENT_OLE2.CREATE_ARGLIST;
      --CLIENT_OLE2.ADD_ARG(arg_list, bookmark);
      --bookmarkObj := CLIENT_OLE2.INVOKE_OBJ(bookmarkCollection, 'Item',arg_list);
      --CLIENT_OLE2.DESTROY_ARGLIST(arg_list);

      --CLIENT_OLE2.INVOKE(bookmarkObj, 'Select');
      --selectionObj := CLIENT_OLE2.INVOKE_OBJ(appl_id, 'Selection');
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, macro);
      client_ole2.invoke (word.appl_id, 'Run', arg_list);
      client_ole2.destroy_arglist (arg_list);
   --CLIENT_OLE2.RELEASE_OBJ(selectionObj);
   --CLIENT_OLE2.RELEASE_OBJ(bookmarkObj);
   --CLIENT_OLE2.RELEASE_OBJ(bookmarkCollection);
   END;

   PROCEDURE insert_new_table_row (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, 1);
      client_ole2.invoke (selectionobj, 'InsertRowsBelow', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END insert_new_table_row;

   PROCEDURE move_down_table_bookmark (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');
      client_ole2.invoke (selectionobj, 'Cut');
      client_ole2.invoke (selectionobj, 'SelectCell');
      client_ole2.invoke (selectionobj, 'MoveDown');
      client_ole2.invoke (selectionobj, 'Paste');
      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END move_down_table_bookmark;

   PROCEDURE move_up_table_bookmark (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');
      client_ole2.invoke (selectionobj, 'Cut');
      client_ole2.invoke (selectionobj, 'SelectCell');
      client_ole2.invoke (selectionobj, 'MoveUp');
      client_ole2.invoke (selectionobj, 'Paste');
      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END move_up_table_bookmark;

   PROCEDURE move_left_table_bookmark (
      document   client_ole2.obj_type,
      bookmark   VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');
      client_ole2.invoke (selectionobj, 'Cut');
      client_ole2.invoke (selectionobj, 'SelectCell');
      client_ole2.invoke (selectionobj, 'MoveUp');
      client_ole2.invoke (selectionobj, 'Paste');
      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END move_left_table_bookmark;

   PROCEDURE move_table_bookmark (
      document    client_ole2.obj_type,
      bookmark    VARCHAR2,
      direction   VARCHAR2
   )
   IS
      arg_list             client_ole2.list_type;
      bookmarkcollection   client_ole2.obj_type;
      bookmarkobj          client_ole2.obj_type;
      selectionobj         client_ole2.obj_type;
   BEGIN
      bookmarkcollection :=
                     client_ole2.invoke_obj (document, 'Bookmarks', arg_list);
      arg_list := client_ole2.create_arglist;
      client_ole2.add_arg (arg_list, bookmark);
      bookmarkobj :=
                client_ole2.invoke_obj (bookmarkcollection, 'Item', arg_list);
      client_ole2.destroy_arglist (arg_list);
      client_ole2.invoke (bookmarkobj, 'Select');
      selectionobj := client_ole2.invoke_obj (appl_id, 'Selection');

      IF UPPER (direction) IN ('UP', 'DOWN', 'LEFT', 'RIGHT')
      THEN
         client_ole2.invoke (selectionobj, 'Cut');
         client_ole2.invoke (selectionobj, 'SelectCell');
         client_ole2.invoke (selectionobj, 'Move' || direction);
         client_ole2.invoke (selectionobj, 'Paste');
      END IF;

      client_ole2.RELEASE_OBJ (selectionobj);
      client_ole2.RELEASE_OBJ (bookmarkobj);
      client_ole2.RELEASE_OBJ (bookmarkcollection);
   END move_table_bookmark;

   FUNCTION download_file (
      file_name         IN   VARCHAR2,
      table_name        IN   VARCHAR2,
      column_name       IN   VARCHAR2,
      where_condition   IN   VARCHAR2
   )
      RETURN VARCHAR2
   IS
      l_ok          BOOLEAN;
      c_file_name   VARCHAR2 (512);
      c_path        VARCHAR2 (255);
   BEGIN
      SYNCHRONIZE;
      c_path := client_win_api_environment.get_temp_directory (FALSE);

      IF c_path IS NULL
      THEN
         c_path := 'C:\';
      ELSE
         c_path := c_path || '\';
      END IF;

      c_file_name := c_path || file_name;
      l_ok :=
         webutil_file_transfer.db_to_client_with_progress
                                                   (c_file_name,
                                                    table_name,
                                                    column_name,
                                                    where_condition,
                                                    'Transfer on file system',
                                                    'Progress'
                                                   );
      SYNCHRONIZE;
      RETURN c_path || file_name;
   END download_file;
END;
Simple test
PROCEDURE Call(c_prog IN VARCHAR2,param1 IN VARCHAR2 DEFAULT NULL,
value1 IN VARCHAR2 DEFAULT NULL, param2 IN VARCHAR2 DEFAULT NULL,
value2 IN VARCHAR2 DEFAULT NULL) IS 
  list_id Paramlist; 
BEGIN 
   --Check if list exists. 
   list_id := Get_Parameter_List('param_list'); 
   IF NOT Id_Null(list_id) THEN 
     Destroy_Parameter_List(list_id); -- Ako postoji, unisti je! 
   END IF; 
 
   list_id := Create_Parameter_List('param_list'); 
 
   Add_Parameter(list_id, 'ps_sif',TEXT_PARAMETER, :Global.ps_sif); 
   Add_Parameter(list_id, 'frm_sif',TEXT_PARAMETER, :Global.frm_sif); 
   Add_Parameter(list_id, 'god_sif',TEXT_PARAMETER, :Global.god_sif); 
   Add_Parameter(list_id, 'ana_id',TEXT_PARAMETER, :Global.ana_id); 
   Add_Parameter(list_id, 'id_radnik',TEXT_PARAMETER, :Global.id_radnik); 
   Add_Parameter(list_id, 'forma',TEXT_PARAMETER, UPPER(c_prog)); 
 
   IF param1 IS NOT NULL THEN 
     Add_Parameter(list_id, param1,TEXT_PARAMETER, value1); 
   END IF; 
 
   IF param2 IS NOT NULL THEN 
     Add_Parameter(list_id, param2,TEXT_PARAMETER, value2); 
   END IF; 
 
 
   CALL_FORM(c_prog || '.FMX', NO_HIDE, DO_REPLACE, NO_QUERY_ONLY, list_id); 
 
END; 

Wednesday 14 June 2017

Oracle Forms Error Code & Messages : FRM-92091 TO FRM-99999

FRM-92091 TO FRM-99999

FRM-92091: unexpected fatal error in client-side Java code
Cause: An unexpected Exception was encountered in client-side Java code (after startup).
Action: Examine the stack trace that accompanies this message. If the stack trace indicates a possible cause, correct it. If the problem persists, contact Oracle Support Services.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92102: A network error or server failure has occurred. The Forms client has attempted to reestablish its connection to the Server %s time(s) without success. You will need to restart your application.
Cause: The Forms Java client attempted to communicate with the Forms server. The indicated number of attempts (specified by the networkRetries applet parameter) were made, but each attempt encountered an unexpected Exception. This probably indicates a problem with the network, or with the application server that was hosting the Forms server, or with the server machine that was hosting the application server.
Action: Correct the network problem (if any), or restart the application server or reboot the server host machine (if necessary).
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92103: A network error or server failure has occurred. You will need to restart your application.
Cause: The Forms Java client attempted to communicate with the Forms server. The networkRetries applet parameter did not specify a positive value, so only a single attempt was made. This attempt encountered an unexpected Exception. This probably indicates a problem with the network, or with the application server that was hosting the Forms server, or with the server machine that was hosting the application server.
Action: Correct the network problem (if any), or restart the application server or reboot the server host machine (if necessary).
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92104: A network error or server failure has occurred. The request was sent to the wrong application server (not the one which created the session). The Forms client has attempted to migrate the session %s time(s) without success. You will need to restart your application.
Cause: The Forms Java client attempted to communicate with the Forms server. The indicated number of attempts were made, but on each attempt, the request was sent to the wrong application server (not the one which created the session). This probably indicates a problem with the network, or with the application server that was hosting the Forms server that initially created the session, or with the server machine that was hosting the application server.
Action: Correct the network problem (if any), or restart the application server or reboot the server host machine (if necessary).
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92110: New passwords do not match. They must be identical. Password change failed.
Cause: In the Change Password dialog, the new password and the retyped new password do not match.
Action: Retry the Change Password dialog, and correctly type and retype the new password.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92120: Fatal error: registry file %s is missing.
Cause: The Forms Java client was unable to read the registry file at the specified URL (on the Forms server machine).
Action: The system administrator should ensure that the registry file exists and is readable.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92150: Fatal error: web client version is too new.
Cause: The version of the client is newer than the version of the Server.
Action: The system administrator should ensure that the Forms product is correctly installed on the Forms server machine.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92160: Fatal error: web client version is too old.
Cause: The version of the client is older than the version of the Server.
Action: The system administrator should ensure that the Forms product is correctly installed on the Forms server machine.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92180: Fatal error: JavaScript is unable to obtain the server URL. This can occur if legacy_lifecycle=true and JavaScript has been disabled. If so, you will need to reenable JavaScript, restart the browser, and restart your application.
Cause: The serverURL applet parameter specified a value of "?", which indicates that the serverURL should be obtained from an element outside of the applet. (In a page that's generated from a standard base HTML file, this occurs when legacy_lifecycle=true in formsweb.cfg). Forms attempted to obtain the serverURL using JavaScript, but the attempt failed, probably because JavaScript has been disabled.
Action: Reenable JavaScript and restart the browser. If that does not solve the problem, examine the stack trace that accompanies this message. If the stack trace indicates a possible cause, correct it. If the problem persists, contact Oracle Support Services.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92190: JavaScript is unable to evaluate expression.
Cause: The Forms application executed the web.JavaScript_Eval_Expr built-in, but an invalid Javascript expression was specified as the first argument.
Action: Correct the Javascript expression that is passed to the web.JavaScript_Eval_Expr built-in.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92192: Target %s for JavaScript evaluation does not exist.
Cause: The Forms application executed the web.JavaScript_Eval_Expr built-in, but an invalid target was specified as the second argument.
Action: Correct the target that is passed to the web.JavaScript_Eval_Expr built-in.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92210: invalid value %s for lookAndFeel applet parameter. Defaulting to %s.
Cause: An invalid value was specified for the lookAndFeel applet parameter.
Action: The system administrator should ensure that a valid value was specified for the lookAndFeel applet parameter.
Appears: Java console, applet status window
Level: 99
Trigger: None
FRM-92211: invalid value %s for colorScheme applet parameter. Forms will use the default colorScheme for the specified lookAndFeel.
Cause: An invalid value was specified for the colorScheme applet parameter.
Action: The system administrator should ensure that a valid value was specified for the colorScheme applet parameter.
Appears: Java console, applet status window
Level: 99
Trigger: None
FRM-92220: access to system clipboard denied
Cause: The system clipboard is locked by some other application. This generally indicates a problem with the other application. Note: If the allowAlertClipboard applet parameter is set to 'false', this message appears only on the Java console.
Action: Determine which application is locking the system clipboard, and terminate it (or terminate the action that's locking the clipboard). Then, if possible, correct the application so that it does not erroneously lock the system clipboard.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-92410: EndUserMonitoring initialization has failed. Verify that %s (specified by the applet parameter %s) is a valid URL.
Cause: EndUserMonitoring initialization failed, probably due to an invalid URL specified by the specified applet parameter (typically the EndUserMonitoringURL parameter). The applet parameter was ignored; EndUserMonitoring was then disabled and execution continued.
Action: The system administrator should ensure that a valid URL was specified for the specified applet parameter. If that does not solve the problem, examine the stack trace that accompanies this message. If the stack trace indicates a possible cause, correct it. If the problem persists, contact Oracle Support Services.
Appears: Java console
Level: 99
Trigger: None
FRM-92411: EndUserMonitoring has failed, and will be disabled.
Cause: EndUserMonitoring was enabled, but a subsequent attempt to send a message to the EndUserMonitoring monitor encountered an unexpected Exception. EndUserMonitoring was then disabled, and execution continued.
Action: Examine the stack trace that accompanies this message. If the stack trace indicates a possible cause, correct it. If the problem persists, contact Oracle Support Services.
Appears: Java console
Level: 99
Trigger: None
FRM-92412: failure to send EndUserMonitoring data
Cause: EndUserMonitoring was enabled, but a subsequent attempt to send data to the EndUserMonitoring monitor was unsuccessful. Execution continued.
Action: If the problem persists, contact Oracle Support Services.
Appears: Java console
Level: 99
Trigger: None
FRM-92420: could not find listener class %s
Cause: The class specified by the formsMessageListener applet parameter could not be found. The applet parameter was ignored, and execution continued.
Action: The system administrator should ensure that a valid class name was specified for the formsMessageListener applet parameter.
Appears: Java console
Level: 99
Trigger: None
FRM-92421: could not instantiate listener class %s
Cause: The class specified by the formsMessageListener applet parameter could not be instantiated. The applet parameter was ignored, and execution continued.
Action: The system administrator should ensure that a valid class name was specified for the formsMessageListener applet parameter.
Appears: Java console
Level: 99
Trigger: None
FRM-92422: could not initialize listener class %s
Cause: An unexpected Error was encountered while attempting to find and instantiate the class specified by the formsMessageListener applet parameter. The applet parameter was ignored, and execution continued.
Action: Examine the stack trace that accompanies this message. If the stack trace indicates a possible cause, correct it. If the problem persists, contact Oracle Support Services.
Appears: Java console
Level: 99
Trigger: None
FRM-92430: warning: invalid value %s ignored for parameter %s - defaulting to %s
Cause: The specified applet parameter (typically the asyncEventDelay parameter) did not specify a valid decimal number. A default value (5 seconds) was substituted, and execution continued.
Action: The system administrator should ensure that a valid decimal number was specified for the specified applet parameter.
Appears: Java console
Level: 99
Trigger: None
FRM-92440: Thread %s has been interrupted while waiting for a message from the server.
Cause: The specified thread (in the Forms Java client) was interrupted while waiting for a message from the Forms server. This message identifies the thread, for diagnostic purposes. A fatal error subsequently occurs.
Action: No action is required for this message. (But action may be required for the subsequent fatal error).
Appears: Java console
Level: 99
Trigger: None
FRM-92450: Thread %s has been interrupted while waiting for a dialog to appear.
Cause: The specified thread was starting a dialog, and was interrupted while waiting for a dialog to appear. The wait was restarted.
Action: No action is required.
Appears: Java console
Level: 99
Trigger: None
FRM-92460: Thread %s has been interrupted while waiting for the LOV data fetching thread to die.
Cause: The specified thread had been fetching data for an LOV, but the end user accepted or canceled the LOV, so the thread requested a graceful death. But it was interrupted while the request was underway.
Action: No action is required.
Appears: Java console
Level: 99
Trigger: None
FRM-92470: unable to load image %s for image item
Cause: A requested image could not be loaded. A default image (indicating that the load failed) was substituted, and execution continued."
Action: If the error message specifies the name of the image file, verify that it exists, and is readable, and is in a valid image format.
Appears: Java console
Level: 99
Trigger: None
FRM-92471: unable to load image %s for iconic button item
Cause: A requested image could not be loaded. A default image (indicating that the load failed) was substituted, and execution continued."
Action: If the error message specifies the name of the image file, verify that it exists, and is readable, and is in a valid image format.
Appears: Java console
Level: Warning
Trigger: None
FRM-92480: Property %s: specified value has caused %s.
Cause: An attempt to set the value of an item property failed because the value was not of the proper type. The property was left unchanged, and execution continued. This error most commonly occurs when the application executes the SET_CUSTOM_PROPERTY built-in.
Action: Correct the value that is being passed to the SET_CUSTOM_PROPERTY built-in.
Appears: Java console
Level: 99
Trigger: None
FRM-92522: forcing use of the native HTTP implementation
Cause: The useURLConnection applet parameter was specified as 'true' or 'yes'.
Action: No action is required.
Appears: Java console
Level: 99
Trigger: None
FRM-92523: forcing use of the Forms HTTP(S) implementation
Cause: The useURLConnection applet parameter was specified as 'false' or 'no'.
Action: No action is required.
Appears: Java console
Level: 99
Trigger: None
FRM-92530: error closing socket: %s
Cause: An unexpected Exception was encountered while attempting to close a socket. Execution continued.
Action: No action is required.
Appears: Java console
Level: 99
Trigger: None
FRM-92540: reallocating output buffer for native HTTP implementation
Cause: The native HTTP 'write' method was requested to write a block of data larger than its current output buffer. The buffer was reallocated, and execution continued.
Action: No action is required.
Appears: Java console
Level: 99
Trigger: None
FRM-92550: negative content-length on a response to a GET to URL %s
Cause: The Forms Java client issued a GET request to the Forms servlet. The result was a response with negative content-length. The fatal error FRM-92052 will subsequently appear.
Action: No action is required for this message. (But action may be required for the subsequent fatal error).
Appears: Java console
Level: 99
Trigger: None
FRM-92551: negative response (%s) to a read on behalf of a GET to URL %s
Cause: The Forms Java client issued a GET request to the Forms servlet. The result was a negative response. The fatal error FRM-92052 will subsequently appear.
Action: No action is required for this message. (But action may be required for the subsequent fatal error).
Appears: Java console
Level: 99
Trigger: None
FRM-92572: Forms HTTP connect has failed - giving up after %s attempts.
Cause: A Forms HTTP connect failed. The fatal error FRM-92050 (or possibly FRM-92060) will subsequently appear.
Action: No action is required for this message. (But action may be required for the subsequent fatal error).
Appears: Java console
Level: 99
Trigger: None
FRM-92574: Forms HTTP read has failed: %s
Cause: An unexpected Exception was encountered while attempting a native HTTP 'read'.
Action: Examine the stack trace that accompanies this message. If the stack trace indicates a possible cause, correct it. If the problem persists, contact Oracle Support Services.
Appears: Java console
Level: 99
Trigger: None
FRM-93110: No Forms Servlet configuration file is specified.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93111: Cannot find Forms Servlet configuration file %s.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93112: error reading Forms Servlet configuration file %s
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93114: Forms Servlet configuration file %s contains invalid data.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93115: error reading configuration file FormsOIDConfig.xml via Forms Servlet.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93121: Cannot find environment variable configuration file %s.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93122: error reading environment variable configuration file %s
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93124: Environment variable configuration file %s contains invalid data.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93130: No base HTML file is specified.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93131: Cannot find base HTML file %s.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93132: error reading base HTML file %s
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93150: The following restricted parameters cannot be specified in the URL: %s
Cause: The indicated parameters were specified by the end user (in a Forms Servlet URL).
Action: Remove the indicated parameters from the URL and resubmit.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93151: Restricted characters cannot be specified in the URL
Cause: Invalid characters were specified by the end user (in a Forms Servlet URL).
Action: Remove the invalid characters from the URL and resubmit.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93154: The Forms Servlet is not allowing new connections.
Cause: The system administrator has disabled new connections to the Forms Servlet.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93156: The Forms Servlet is unable to contact the Forms Load Balancing Server at %s:%s.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93218: fatal error reading client request content
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93230: fatal error creating the HTTP session
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93240: Multiple Forms applications cannot share an HTTP session.
Cause: Either (1) the user selected File, then New, then Browser Window (or Ctrl+N) in Internet Explorer while the servlet session was being tracked using cookies, or else (2) the Forms application was configured incorrectly.
Action: In case (1), select File, then New, then Browser Window (or Ctrl+N) in an Internet Explorer window that is not running a Forms application, or start a second instance of Internet Explorer. Otherwise, contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93301: Fatal authentication error: Unable to connect to Oracle Internet Directory.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93320: unable to obtain application entity credential from CSF
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93330: Fatal authentication error: User does not have proper credentials configured in Oracle Internet Directory.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93340: Session requires SSO user authentication.
Cause: The session was not SSO-authenticated or had expired.
Action: Re-login using SSO credentials.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93364: Cannot dynamically create resource in Oracle Internet Directory: URL specifies invalid value "%s" for the config parameter.
Cause: An attempt to dynamically create an SSO resource failed because the user specified a nonexistent configuration section.
Action: Specify the name of a valid configuration section in the base configuration file as the value of the config parameter.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93365: error running Forms in SSO mode
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93500: unexpected error while attempting to create the runtime process
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93520: Runtime process not created: Maximum permissible number of runtime processes is exceeded.
Cause: The number of currently executing runtime processes has reached the limit that was set by the system administrator.
Action: Retry the application when the system is less heavily loaded.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93531: cannot create runtime process: unable to switch to working directory
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93535: cannot create runtime process: unable to execute startup command
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93536: cannot create runtime process: unable to create temporary logging file
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93543: cannot connect to runtime process: unable to get I/O streams from newly created runtime process
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93550: cannot connect to runtime process: no response from newly created runtime process
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93552: cannot connect to runtime process: Newly created runtime process has terminated abnormally.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93553: cannot connect to runtime process: unable to establish a socket connection to newly created runtime process
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93558: cannot connect to runtime process: error reading data from newly created runtime process
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93600: unexpected error while attempting to communicate with the client or the runtime process
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93618: fatal error reading data from runtime process
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93628: fatal error writing data to runtime process
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93652: The runtime process has terminated abnormally.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93830: Test cookie set. Details:%s
Cause: This is the normal output of the setcookie and setcookiesess commands.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93832: Found test cookie: %s=%s
Cause: The test cookie was found.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93834: Test cookie not found.
Cause: The test cookie was not found.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93840: Proctest: Warning: nProcs configuration parameter is nonnumeric - using 1.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93841: Proctest: Process test starting with %s processes.
Cause: The Proctest command started.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93842: Proctest: Creating process %s.
Cause: The Proctest command started creating a runtime process.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93843: Proctest: Failure to create process %s - aborting test.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93844: Proctest: Connecting to process %s.
Cause: The Proctest command started connecting to a newly created runtime process.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93845: Proctest: Failure to connect to process %s - aborting test.
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93846: Proctest: unexpected error in process test
Cause: A fatal error occurred in the Forms server, which will require the attention of your system administrator.
Action: Contact your system administrator.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93847: Proctest: Number of processes started and connected to is %s.
Cause: The Proctest command created the requested number of runtime processes, and successfully connected to them.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93848: Proctest: Stopping the %s runtime processes.
Cause: The Proctest command reached the point in its processing where it was about to stop the runtime processes that it had previously created.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93849: Proctest: Process test complete.
Cause: The Proctest command completed.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93860: em_result=%s|000
Cause: This is the normal output of the status command.
Action: No action is required.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93890: Trace: invalid Xlate parameter %s
Cause: The URL that contains the trace command also specifies a parameter that is not recognized by the Xlate utlity.
Action: Correct the URL.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93891: Trace: outputClass parameter value "%s" for Xlate cannot contain a ".".
Cause: The URL that contains the trace command specifies an invalid value for the outputClass parameter.
Action: Correct the URL that specifies the invalid parameter value.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-93892: Trace: PID parameter value "%s" for Xlate cannot contain a "%s".
Cause: The URL that contains the trace command specifies an invalid value for the PID parameter.
Action: Correct the URL that specifies the invalid parameter value.
Appears: Java console, alert
Level: 99
Trigger: None
FRM-99999: Error %s occurred.
Cause: An error occurred; the error is documented in the release notes file.
Action: See the release notes file.
Level: 25
Trigger: None