Oracle Forms/Reports for Imaging v2/8.3
Description
This page describes the support for analyzing Oracle Forms/Reports provided in CAST Imaging v2/8.3.x. There is no dedicated Oracle Forms/Reports extension for use with v2/8.3.x, instead the analyzer is embedded in AIP Core.
Compatibility
Core release | Operating System | Supported |
---|---|---|
v3/8.4.x | Microsoft Windows / Linux | ❌ |
v2/8.3.x | Microsoft Windows | ✅ |
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:
- Using Oracle Reports Builder
- Using the Oracle command line utility
rwconverter.exe
(for Microsoft Windows) orrwconverter.sh
(for Linux) - see http://docs.oracle.com/cd/E16764_01/bi.1111/b32121/pbr_cla002.htm . An example conversion script is shown below:
@@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
Icon | Meta Model Description | Meta Model Name |
---|---|---|
![]() |
Oracle Forms Window | CAST_Forms_Window |
![]() |
Oracle Forms Window Tab | CAST_Forms_Window_Tab |
![]() |
Oracle Forms Alert | CAST_Forms_Alert |
![]() |
Oracle Forms Alert Tab | CAST_Forms_Alert_Tab |
![]() |
Oracle Forms Canvas | CAST_Forms_Canvas |
![]() |
Oracle Forms Canvas Tab | CAST_Forms_Canvas_Tab |
![]() |
Oracle Forms Datablock | CAST_Forms_DataBlock |
![]() |
Oracle Forms Data Block Relation | CAST_Forms_DataBlock_Relation |
![]() |
Oracle Forms Library Tab DataBlock | CAST_Forms_DataBlock_Tab |
![]() |
Oracle Forms DataBlock Item | CAST_Forms_DataBlockItem |
![]() |
Oracle Forms Library Tab DataBlock Item | CAST_Forms_DataBlockItem_Tab |
![]() |
Oracle Forms Function | CAST_Forms_Function |
![]() |
Oracle Forms Library Tab Function | CAST_Forms_Function_Tab |
![]() |
Oracle Forms LOV | CAST_Forms_LOV |
![]() |
Oracle Forms Library Tab LOV | CAST_Forms_LOV_Tab |
![]() |
Oracle Forms Menu | CAST_Forms_Menu |
![]() |
Oracle Forms Library Tab Menu | CAST_Forms_Menu_Tab |
![]() |
Oracle Forms Menu Item | CAST_Forms_MenuItem |
![]() |
Oracle Forms Library Tab Menu Item | CAST_Forms_MenuItem_Tab |
![]() |
Oracle Forms Menu Module (.MMB file) | CAST_Forms_MenuModule |
![]() |
Oracle Forms Module (.FMB file) | CAST_Forms_Module |
![]() |
Oracle Forms Menu Module Parameter | CAST_Forms_ModuleParameter |
![]() |
Oracle Forms Object Library (.OLB file) | CAST_Forms_ObjectLibrary |
![]() |
Oracle Forms Library Tab | CAST_Forms_ObjectLibraryTab |
![]() |
Oracle Forms Package | CAST_Forms_Package |
![]() |
Oracle Forms Library Tab Package | CAST_Forms_Package_Tab |
![]() |
Package Body | CAST_Forms_PackageBody |
![]() |
Oracle Forms Library Tab Package | CAST_Forms_PackageBody_Tab |
![]() |
Oracle Forms PL/SQL Library (.PLL file) | CAST_Forms_PlsqlModule |
![]() |
Oracle Forms Popup Menu | CAST_Forms_PopupMenu |
![]() |
Oracle Forms Popup Menu Item | CAST_Forms_PopupMenuItem |
![]() |
Oracle Forms Procedure | CAST_Forms_Procedure |
![]() |
Oracle Forms Library Tab Procedure | CAST_Forms_Procedure_Tab |
![]() |
Oracle Forms Procedure | CAST_Forms_PrivateProcedure |
![]() |
Oracle Forms Property Class | CAST_Forms_PropertyClass |
![]() |
Oracle Forms Library Tab Property Class | CAST_Forms_PropertyClass_Tab |
![]() |
Oracle Forms Record Group | CAST_Forms_RecordGroup |
![]() |
Oracle Forms Library Tab Record group | CAST_Forms_RecordGroup_Tab |
![]() |
Oracle Forms Trigger | CAST_Forms_Trigger |
![]() |
Oracle Forms Library Tab Trigger | CAST_Forms_Trigger_Tab |
![]() |
Oracle Forms Visual Attribute | CAST_Forms_VisualAttribute |
![]() |
Oracle Forms Visual Attribute Tab | CAST_Forms_VisualAttribute_Tab |
![]() |
Oracle Forms Visual Attributes | CAST_Forms_VisualAttributes |
![]() |
Oracle Forms Library Tab Visual Attributes | CAST_Forms_VisualAttributes_Tab |
![]() |
Oracle Forms Package Type | FORMS_TYPEPACKAGEHEADER |
![]() |
Oracle Forms Sub Procedure | FORMS_SUBPROCHEADER |
![]() |
Oracle Forms Sub Function | FORMS_SUBFUNCHEADER |
![]() |
Oracle Forms Cursor | FORMS_SUBCURSORHEADER |
![]() |
Oracle Forms Variable | FORMS_SUBVARIABLEHEADER |
![]() |
Oracle Forms Sub Procedure | FORMS_SUBPROCBODY |
![]() |
Oracle Forms Sub Function | FORMS_SUBFUNCBODY |
![]() |
Oracle Forms Cursor | FORMS_SUBCURSORBODY |
![]() |
Oracle Forms Variable | FORMS_SUBVARIABLEBODY |
Oracle Reports objects
Icon | Meta Model Description | Meta Model Name |
---|---|---|
![]() |
Oracle Report Data Link | FORMS_RDF_DATA_LINK |
![]() |
Oracle Report Database Column | FORMS_RDF_DB_COLUMN |
![]() |
Oracle Report Summary Column | FORMS_RDF_SUMMARY_COLUMN |
![]() |
Oracle Report Formula Column | FORMS_RDF_FORMULA_COLUMN |
![]() |
Oracle Report Placeholder column | FORMS_RDF_PLACEHOLDER_COLUMN |
![]() |
Oracle Report File Query | FORMS_RDF_EXT_FILE_QUERY |
![]() |
Oracle Report Group | FORMS_RDF_GROUP |
![]() |
Oracle Report Module | FORMS_RDF_MODULE |
![]() |
Oracle Report Data Model | FORMS_RDF_DATA_MODEL |
![]() |
Oracle Report Predefined Source | FORMS_RDF_PREDEFINED_SOURCE |
![]() |
Oracle Report System Parameter | FORMS_RDF_SYSTEM_PARAMETER |
![]() |
Oracle Report User Parameter | FORMS_RDF_USER_PARAMETER |
![]() |
Oracle Report Element | FORMS_RDF_ELEMENT |
![]() |
Oracle Report Non OraDB Query | FORMS_RDF_NON_ORADB_QUERY |
![]() |
Oracle Report Query | FORMS_RDF_QUERY |
![]() |
Oracle Report Ref Cursor Query | FORMS_RDF_REF_CURSOR_QUERY |
![]() |
Oracle Report Unknown Query | FORMS_RDF_UNKNOWN_QUERY |
![]() |
Oracle Report BP Button | FORMS_RDF_BUTTON |
![]() |
Oracle Report BP Chart | FORMS_RDF_CHART |
![]() |
Oracle Report Form Parameter | FORMS_RDF_PARAMETER_FORM |
![]() |
Oracle Report user column | FORMS_RDF_USER_UNKNOWN_COLUMN |
![]() |
Oracle Report Layout Model | FORMS_RDF_LAYOUT_MODEL |
![]() |
Oracle Report Header | FORMS_RDF_HEADER |
![]() |
Oracle Report Trailer | FORMS_RDF_TRAILER |
![]() |
Oracle Report Body | FORMS_RDF_BODY |
![]() |
Oracle Report Margin | FORMS_RDF_MARGIN |
![]() |
Oracle Report Repeating Frame | FORMS_RDF_REPEATING_FRAME |
![]() |
Oracle Report Frame | FORMS_RDF_FRAME |
![]() |
Oracle Report Field | FORMS_RDF_FIELD |
![]() |
Oracle Report BP Text | FORMS_RDF_BP_TEXT |
![]() |
Oracle Report BP Polygone | FORMS_RDF_BP_POLYGONE |
![]() |
Oracle Report BP Polyline | FORMS_RDF_BP_POLYLINE |
![]() |
Oracle Report BP Freehand | FORMS_RDF_BP_FREEHAND |
![]() |
Oracle Report BP Line | FORMS_RDF_BP_LINE |
![]() |
Oracle Report BP Rectangle | FORMS_RDF_BP_RECTANGLE |
![]() |
Oracle Report BP Rounded Rectangle | FORMS_RDF_BP_ROUNDED_RECTANGLE |
![]() |
Oracle Report BP Ellipse | FORMS_RDF_BP_ELLIPSE |
![]() |
Oracle Report BP Arc | FORMS_RDF_BP_ARC |
![]() |
Oracle Report BP Image | FORMS_RDF_BP_IMAGE |
![]() |
Oracle Report BP Unknown | FORMS_RDF_BP_UNKNOWN |
![]() |
Oracle Report Program Unit | FORMS_RDF_PROGRAM_UNIT |
Links
Link Type | When 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 On | This type of link is created between a data block and the server objects used to construct it. |
Access | This 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). |
Monitor | This type of link is created between a data block relation and the data block. |
Structural rules
Technical notes
Inter-application links
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.