Oracle Forms/Reports for Imaging v2


Description

This page describes the support for analyzing Oracle Forms/Reports provided in CAST Imaging v2. There is no dedicated Oracle Forms/Reports extension for use with v2, instead the analyzer is embedded in AIP Core.

Function Point, Quality and Sizing support

  • Function Points (transactions): a green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
  • Quality and Sizing: a green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points (transactions)Quality and Sizing

Supported releases of Oracle Forms and Reports

  • Forms/Reports 10g: 9.0.4
  • Forms/Reports 10g R2: 10.1.2.0.2
  • Forms/Reports 10g R2: 10.1.2.3.0
  • Forms/Reports 11g

Source code delivery

Extraction/conversion

Before delivering your source code for analysis, you will need to prepare it:

Oracle Forms

Oracle Forms source code must be extracted from your Oracle Forms instance using the CAST Oracle Forms Extractor and processed into files that CAST Console will accept.

Oracle Reports

Oracle Reports source code can be delivered as is without any extraction or processing, however CAST Console will only accept .rex files. If you have Oracle Reports .rdf files and would like to include them in the delivery, you can convert them to .rex files as follows:

@@Echo on
REM set the REPORTS_PATH Oracle Environment Variable to point to the reports and templates required by rwconverter.exe. This environment variable is
REM used to locate reports and external objects that you use in your reports, such as PL/SQL libraries, external queries, and external boilerplate.
REM see https://docs.oracle.com/cd/B14099_19/bi.1012/b14048/pbr_rfap.htm#i648209 for more information.
set REPORTS_PATH=<path_to_reports>;<path_to_dependencies>
 
REM change directories and move to the location of your *.rdf files
cd D:\path_to\some_folder\
 
REM loop through all .rdf files in the current folder and convert into .rex files
for %%f in (*.rdf) do C:\path_to\rwconverter.exe source=%%f userid=<userid> stype=rdffile dtype=rexfile dest=..\rex1%%f.rex batch=yes
pause

ZIP file preparation

CAST Console expects the source code either packaged in a ZIP/archive file or raw source code located in a folder configured in CAST Console. You should include all source code, e.g.:

  • .uaxDirectory (produced by the CAST Oracle Forms Extractor)
  • .uax (produced by the CAST Oracle Forms Extractor)
  • .src (produced by the CAST Oracle Forms Extractor)
  • .rex

CAST highly recommends placing the files in a folder dedicated to Oracle Forms. If you are using a ZIP/archive file, zip the folders in the “temp” folder - but do not zip the “temp” folder itself, nor create any intermediary folders, for example:

D:\temp
    |-----OracleFormsReports
    |-----OtherTechno1
    |-----OtherTechno2

What results can you expect?

Oracle Forms objects

IconMeta Model DescriptionMeta Model Name
Oracle Forms WindowCAST_Forms_Window
Oracle Forms Window TabCAST_Forms_Window_Tab
Oracle Forms AlertCAST_Forms_Alert
Oracle Forms Alert TabCAST_Forms_Alert_Tab
Oracle Forms CanvasCAST_Forms_Canvas
Oracle Forms Canvas TabCAST_Forms_Canvas_Tab
Oracle Forms DatablockCAST_Forms_DataBlock
Oracle Forms Data Block RelationCAST_Forms_DataBlock_Relation
Oracle Forms Library Tab DataBlockCAST_Forms_DataBlock_Tab
Oracle Forms DataBlock ItemCAST_Forms_DataBlockItem
Oracle Forms Library Tab DataBlock ItemCAST_Forms_DataBlockItem_Tab
Oracle Forms FunctionCAST_Forms_Function
Oracle Forms Library Tab FunctionCAST_Forms_Function_Tab
Oracle Forms LOVCAST_Forms_LOV
Oracle Forms Library Tab LOVCAST_Forms_LOV_Tab
Oracle Forms MenuCAST_Forms_Menu
Oracle Forms Library Tab MenuCAST_Forms_Menu_Tab
Oracle Forms Menu ItemCAST_Forms_MenuItem
Oracle Forms Library Tab Menu ItemCAST_Forms_MenuItem_Tab
Oracle Forms Menu Module (.MMB file)CAST_Forms_MenuModule
Oracle Forms Module (.FMB file)CAST_Forms_Module
Oracle Forms Menu Module ParameterCAST_Forms_ModuleParameter
Oracle Forms Object Library (.OLB file)CAST_Forms_ObjectLibrary
Oracle Forms Library TabCAST_Forms_ObjectLibraryTab
Oracle Forms PackageCAST_Forms_Package
Oracle Forms Library Tab PackageCAST_Forms_Package_Tab
Package BodyCAST_Forms_PackageBody
Oracle Forms Library Tab PackageCAST_Forms_PackageBody_Tab
Oracle Forms PL/SQL Library (.PLL file)CAST_Forms_PlsqlModule
Oracle Forms Popup MenuCAST_Forms_PopupMenu
Oracle Forms Popup Menu ItemCAST_Forms_PopupMenuItem
Oracle Forms ProcedureCAST_Forms_Procedure
Oracle Forms Library Tab ProcedureCAST_Forms_Procedure_Tab
Oracle Forms ProcedureCAST_Forms_PrivateProcedure
Oracle Forms Property ClassCAST_Forms_PropertyClass
Oracle Forms Library Tab Property ClassCAST_Forms_PropertyClass_Tab
Oracle Forms Record GroupCAST_Forms_RecordGroup
Oracle Forms Library Tab Record groupCAST_Forms_RecordGroup_Tab
Oracle Forms TriggerCAST_Forms_Trigger
Oracle Forms Library Tab TriggerCAST_Forms_Trigger_Tab
Oracle Forms Visual AttributeCAST_Forms_VisualAttribute
Oracle Forms Visual Attribute TabCAST_Forms_VisualAttribute_Tab
Oracle Forms Visual AttributesCAST_Forms_VisualAttributes
Oracle Forms Library Tab Visual AttributesCAST_Forms_VisualAttributes_Tab
Oracle Forms Package TypeFORMS_TYPEPACKAGEHEADER
Oracle Forms Sub ProcedureFORMS_SUBPROCHEADER
Oracle Forms Sub FunctionFORMS_SUBFUNCHEADER
Oracle Forms CursorFORMS_SUBCURSORHEADER
Oracle Forms VariableFORMS_SUBVARIABLEHEADER
Oracle Forms Sub ProcedureFORMS_SUBPROCBODY
Oracle Forms Sub FunctionFORMS_SUBFUNCBODY
Oracle Forms CursorFORMS_SUBCURSORBODY
Oracle Forms VariableFORMS_SUBVARIABLEBODY

Oracle Reports objects

IconMeta Model DescriptionMeta Model Name
Oracle Report Data LinkFORMS_RDF_DATA_LINK
Oracle Report Database ColumnFORMS_RDF_DB_COLUMN
Oracle Report Summary ColumnFORMS_RDF_SUMMARY_COLUMN
Oracle Report Formula ColumnFORMS_RDF_FORMULA_COLUMN
Oracle Report Placeholder columnFORMS_RDF_PLACEHOLDER_COLUMN
Oracle Report File QueryFORMS_RDF_EXT_FILE_QUERY
Oracle Report GroupFORMS_RDF_GROUP
Oracle Report ModuleFORMS_RDF_MODULE
Oracle Report Data ModelFORMS_RDF_DATA_MODEL
Oracle Report Predefined SourceFORMS_RDF_PREDEFINED_SOURCE
Oracle Report System ParameterFORMS_RDF_SYSTEM_PARAMETER
Oracle Report User ParameterFORMS_RDF_USER_PARAMETER
Oracle Report ElementFORMS_RDF_ELEMENT
Oracle Report Non OraDB QueryFORMS_RDF_NON_ORADB_QUERY
Oracle Report QueryFORMS_RDF_QUERY
Oracle Report Ref Cursor QueryFORMS_RDF_REF_CURSOR_QUERY
Oracle Report Unknown QueryFORMS_RDF_UNKNOWN_QUERY
Oracle Report BP ButtonFORMS_RDF_BUTTON
Oracle Report BP ChartFORMS_RDF_CHART
Oracle Report Form ParameterFORMS_RDF_PARAMETER_FORM
Oracle Report user columnFORMS_RDF_USER_UNKNOWN_COLUMN
Oracle Report Layout ModelFORMS_RDF_LAYOUT_MODEL
Oracle Report HeaderFORMS_RDF_HEADER
Oracle Report TrailerFORMS_RDF_TRAILER
Oracle Report BodyFORMS_RDF_BODY
Oracle Report MarginFORMS_RDF_MARGIN
Oracle Report Repeating FrameFORMS_RDF_REPEATING_FRAME
Oracle Report FrameFORMS_RDF_FRAME
Oracle Report FieldFORMS_RDF_FIELD
Oracle Report BP TextFORMS_RDF_BP_TEXT
Oracle Report BP PolygoneFORMS_RDF_BP_POLYGONE
Oracle Report BP PolylineFORMS_RDF_BP_POLYLINE
Oracle Report BP FreehandFORMS_RDF_BP_FREEHAND
Oracle Report BP LineFORMS_RDF_BP_LINE
Oracle Report BP RectangleFORMS_RDF_BP_RECTANGLE
Oracle Report BP Rounded RectangleFORMS_RDF_BP_ROUNDED_RECTANGLE
Oracle Report BP EllipseFORMS_RDF_BP_ELLIPSE
Oracle Report BP ArcFORMS_RDF_BP_ARC
Oracle Report BP ImageFORMS_RDF_BP_IMAGE
Oracle Report BP UnknownFORMS_RDF_BP_UNKNOWN
Oracle Report Program UnitFORMS_RDF_PROGRAM_UNIT
Link TypeWhen is this type of link created?
Use (U)This type is generically used to describe an interaction between two objects. For example: between a Form Module and its Menu Module
Call (C)A link of this type is created from a (popup) menu item invoking a menu to the cascading (popup) menu. For example: Between a data block item and the sequence specified in its Initial Value property. Between a Form Module and the Report Modules via Report Objects.
Inherit (I)A link of this type is created from an object created by sub-classing to the source object. It is also created between an object and its property class and between a sub-classed Module and its reference modules.
Match (X)This type of link indicates a link you have created using a Reference Pattern.
Rely OnThis type of link is created between a data block and the server objects used to construct it.
AccessThis type of link is created when there is a reference in the code to a data block item through host variable syntax (:block.item or :item).
MonitorThis type of link is created between a data block relation and the data block.

Structural rules

Technical notes

Inter-application links (i.e. links between source code in separate applications) between the following combinations of technologies is not supported:

  • Between Oracle Forms Analysis Units in different applications
  • Between Oracle Forms Analysis Units and Oracle Server PL/SQL Analysis Units in different applications

If you do require link resolution, then all Analysis Units must belong to the same application.

Objects containing non printable ASCII characters

Oracle Forms objects containing non printable ASCII character such as DC2 (Device Control2) are skipped during the analysis and a warning message will be outputted to the log file.

go_block built-in not supported

CAST does not support the use of the go_block statement to call data blocks. Only call_forms is supported.