Top Banner
Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306
30

Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Mar 31, 2015

Download

Documents

Junior Golson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Taming FRM-99999and Other Forms Server

R.6 Issues

Peter Koletzke

Howard FujimotoPaper 306

Page 2: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Applicable Quote

I am caught like a beast at bay.Somewhere are people, freedom, light,But all I hear is the baying of the pack,There is no way out for me.

—Boris Pasternak .

Page 3: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Survey

• Deploying on Forms Server? 6.0.5? 6.0.8 (6i)? Have never seen the

FRM-99999 beast?

• Need to move to Forms Server?

• Role? DBA? Developer? Other?

Page 4: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Agenda

• Overview

• Setup checklist

• Application checklist

• Server and network checklist

Page 5: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Products We Used

• Oracle Application Server (OAS) 4.0.8 Sun Solaris Spyglass Now transitioned to Internet Application Server -

IAS 1.0.2 (Apache)

• Developer Forms Server R.6.0.5, patch 4a Now called Forms Server Part of IAS

Note: Examples use UNIX syntax. NT has similar commands although they

may have different names.

Page 6: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

What Does FRM-99999 Mean?

• Generic error Usually some problem with the Forms Server More common in 6.0

• With R.6i, some specific errors are separated You will get a second, more-meaningful error

number with FRM-99999

• There is no single answer

• You need to know what to check There are a number of different areas

• You need to understand the architecture

Page 7: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Application Server

Database Server

Applet (JInit)

Java Files

Forms Files

GIF Files

File System

Database

Client

Web Listener

Forms Server Listener

Forms RuntimeEngine

WWWbrowser

Page 8: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Main Problem Areas

• You have to check the entire path

• Incorrect setup Easy to determine You probably missed a step

• Forms application problem Form startup error Form runtime error

• Network or hardware issue Easy to blame, but rare There are some things you can test

Page 9: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Agenda

• Overview

• Setup checklist

• Forms application checklist

• Server and network checklist

Page 10: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.
Page 11: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.
Page 12: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Setup Checklist

• Run the OAS Admin in a browser Usually port 8888 or 9999 Connect as ADMIN

• Check the listener HTTP Listeners node in the

navigator Check the port number and host Check the virtual path directory

mapping– Use “/” slashes for UNIX directories– Use “\” slashes for NT directories– Use “/” slashes for virtual directories

UNIX NT

Page 13: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Setup Checklist

• Be sure the listener is shut down before making changes to any setting

• Otherwise, you may get orphaned processes These have to be killed manually from the command

line

• The reason is that the name of the listener process ID file may be truncated if the listener is active when it is changed This file is defined in the Network screen under the

listener in the OAS Admin application

Page 14: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Setup Checklist

• Check the application Application type = C Web

• Check the cartridge Virtual path mapping Shared object

– Name of supporting library

Entry point– Name of the function

Cartridge parameters– Really important

Note: The virtual path must not use a trailing slash “/”.

Page 15: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Cartridge Parameters

• Forms Server looks for certain parameters

• These are passed to the Forms runtime

• Many of these can be in the startup HTML file as well, for example: code = entry point of runform environment codebase = virtual path for runform environment baseHTML = directory and name of the startup

HTML file serverPort = Forms Server listener port number module = Forms runtime parameter for

the first form that will start up

Page 16: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Setup Checklist

• Check the Forms Server setup

• Use the Forms Server Setup wizard This works in 6i and later releases of 6.0 Some problems with early releases of 6.0

• Examine the startup HTML file for completeness - easiest to follow an example 6i installs two files into forms60\admin\server directory

– BASEJINI.HTM for use with Jinitiator– BASE.HTM for use without JInitiator– Contain values used for form startup– Pull values from FORMSWEB.CFG file– The .CFG file makes it easy to change

startup parameters

Page 17: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Setup Checklist

• Check that the forms files are in the correct directory

• Be sure that the environment variables are set correctly FORMS60_MAPPING - the webtemp directory

assigned in the listener directories area (actual directory name such as “/home/user/temp”)

FORMS60_OUTPUT - also the webtemp directory (a virtual directory such as “/webtemp/”)

FORMS60_PATH - location of the .FMX forms files UI_ICON - location of the .GIF icon filesNote: NT uses “\” slashes instead of

“/” slashes to represent actual directories.

Page 18: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Agenda

• Overview

• Setup checklist

• Forms application checklist

• Server and network checklist

Page 19: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Forms Application Checklist

• Check the HTML startup file

• Be sure the form is compiled correctly All attached libraries must be compiled All database code that the form calls must be

compiled

• Run a test form Create a simple form with an ON-LOGON trigger

containing NULL (no logon)

• Make sure that the URL is correct Check the host, port, virtual directory,

startup file name, parameters Are the forms in the proper directory?

Page 20: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Web Listener

Forms Server

WWWbrowser

http://myhost:8050/prodforms/startup.html?p_empid=101&p_system=HR

Form1

p_empidp_system

p_empid=101p_system=HR

1. The server and listener

1

2. The cartridgevirtual path

2

3. The startup file with replaceable parameters

3

Startup HTML

4. Parameters and values

4

4

URL with Parameter Passing

Page 21: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Forms Application Checklist

• Turn on the client browser Java console to debug startup problems Oracle JInitiator Control Panel in the Windows start

menu A message

window will pop up when you accessthe URL

Check the messages for hints on the failure

Page 22: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Java Console Message Window

Page 23: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Forms Application Checklist

• Forms code may cause the FRM-99999

error

• If it is associated with a 1412 error You tried to programmatically set the scrollbar

position but the block has no scrollbar

• If it is associated with a 1413 error You have tried to get the scrollbar position of a

block that has no scrollbar

Page 24: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Agenda

• Overview

• Setup checklist

• Forms application checklist

• Server and network checklist

Page 25: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Server and Network Checklist

• Check the listener In OAS Admin, click the HTTP Listeners node There should be a green flag by the listener

– A red flag for applications is OK

Click the Monitor icon (hourglass)– You can check for new connections with this tool

• Be sure that the Forms Listener is running

ps -ef | grep f60 This will show Forms Server processes that are

running - includes the port number

• Bounce the main admin listener (8888) owsctl stop then owsctl start

Page 26: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Server and Network Checklist

• Reload the site Use the OAS Admin screens for this Restarts all listeners and servers

• Restart the Forms server

f60ctl stop port=9000

f60ctl start port=9000

• UNIX command to test the network health

ping -s myhost.corp.com 1472 -5 Tests a data transmission of 1472 bytes 5 times

• Check network collisions and traffic

netstat -I

Page 27: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Server and Network Checklist

• On UNIX, use iostat to determine the workload Use top to determine the CPU drains

• Be sure that the Forms Server user has read and write permissions on: Directories in the virtual directory list Temporary directories

• Be sure that SQL*Net or Net8 are set up correctly on the app server Test using SQL*Plus Run tnsping sid on the app server

where “sid” is the database

Page 28: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Server and Network Checklist

• Set the Forms Server log Use a parameter “log=logfile” when starting the

Forms Server on the command line

f60ctl start port=9000 log=svr9000.log This can also be used for the f60svrm server

process (ifsrv60 on NT)

• Be sure the FORMS60_MAPPING environment variable is set Otherwise images may be “broken” (displayed

incompletely) Assign it to a virtual directory Use the right kind of slashes (“/”)

Page 29: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Summary

• This is easier than it seems

• More often than not, everything will be OK

• When you have to troubleshoot, suspect all areas Use standard troubleshooting logic

• Check the white paper Details on the settings List of further reading

• Do not despair the long nights and the “baying of the pack”

Page 30: Taming FRM-99999 and Other Forms Server R.6 Issues Peter Koletzke Howard Fujimoto Paper 306.

Author Information• Please fill out the evals - paper 306• Peter Koletzke

http://www.mvsn.com http://ourworld.compuserve.com/homepages/Peter_Koletzke

• Howard Fujimoto http://www.mvsn.com

Our Books• Oracle Developer Advanced Forms and Reports• Designer Handbook, 2nd Ed.• Co-authored by Dr. Paul Dorsey• Osborne McGraw-Hill, Oracle Press