Page tree
Skip to end of metadata
Go to start of metadata

On this page:

Summary: As a rule of thumb when the application includes frameworks that are not fully supported by CAST AIP, you should expect missing links and broken transactions. Other indicators of possible problems related to the inability to discover and map all links can be found using the CAST Transaction Configuration Center and by reviewing the transaction list in the CAST Application Engineering Dashboard/CAST Engineering Dashboard.

Note that CAST highly recommends that a snapshot is successfully generated prior to using the CAST Transaction Configuration Center to ensure that the most recent Function Point results and statistics are available for calibration. However, if only an analysis has been completed, the CAST Transaction Configuration Center will prompt you to run a special one-time action known as the pre-snapshot preparation action that will ensure that the data you are calibrating is up-to-date:


Note that this action does not constitute a full snapshot.

How to determine if I have detected all the transactions?

Review discovered transactions

To review discovered transactions you should use the Transaction Configuration Center (TCC) tool. To determine the root case and the possible remediation options, the key tool is CAST Enlighten. Both tools cannot be launched from the CAST Management Studio - instead, launch them from the Windows Start menu, or from the CAST installation folder (CAST-TransactionConfig.exe/Enlighten.exe).

The process to follow includes the following steps:

  • Ensure all expected data functions have been discovered:

  • Ensure all transaction entry points are automatically discovered. You might have to modify the template configuration defined in the <Application> > Transaction Configuration > Transaction Entry Point > By Type menu. To ensure you have completely identified all Transaction Entry Points you must leverage the Architecture Review process performed during the Technical review of the application.

Note: objects that are not artifacts should never be configured as entry points. For instance: COBOL paragraphs or JCL steps are not candidates for entry points. Valid entry points for mainframe applications are COBOL programs, CICS transactions, and JCL jobs/procs.
  • Review the Transactions that have been discovered. Start by deleting/ignoring the non-functional transactions. This is accomplished through a cursory inspection and leveraging the transaction entry point name. For example, you might want to exclude transactions whose name includes the suffix tmp, sys or jsp such as Header.jsp and Footer.jsp. In the case of a Mainframe application this may not be easy.
  • The remaining transactions - functional transactions - should not be empty. Empty functional transactions are a good indication of missing links.

Investigate root case and select resolution strategy

To investigate empty transaction you must use CAST Enlighten.

  1. Build the transaction diagram from the Transaction Entry Point up to the missing link
  2. Inspect the source code to determine what is causing the missing link and what type of fixes may be required

In general, to fix missing links you may have to, in order of complexity:

  1. Refine transaction/data element selection criteria
  2. Update the analysis configuration, Module definition or gather any missing files/artifacts resulting from an incomplete delivery
  3. Customize enrichment packages (see the Common Solutions and workaround section at the end of this page)
  4. Develop Custom Environment Profiles
  5. Develop UA/UI solution to handle the most complex configurations

Finally, check the Transaction coverage in the Analysis Service. If the percentage of artifacts involved in a transaction is low, you likely have missing transactions or missing links. You can use the following SQL query (this is configured for the CAST Storage Service) to compute:

  • the percent of artifacts involved in a transaction / total count of artifacts in the Analysis Service
  • the count of artifacts involved in a transaction
  • total count of artifacts in the Analysis Service
select cast ((ALL_ARTI._COUNT - ARTI_NOT_IN_TRANSACTION._COUNT) as double precision ) * 100 / ALL_ARTI._COUNT "Artifacts in transaction coverage %", ARTI_NOT_IN_TRANSACTION._COUNT "artifacts not in transaction", ALL_ARTI._COUNT "all artifacts" from
(
select count(1) _COUNT from <analysis_service>.Keys where ObjTyp in
( select IdTyp from <analysis_service>.TypCat where IdCatParent in (select IdCat from <analysis_service>.Cat where CatNam like 'APM All Artifacts'))
and IdKey not in (select child_id from <analysis_service>.dss_transactiondetails)
) ARTI_NOT_IN_TRANSACTION,
(
select count(1) _COUNT from <analysis_service>.Keys where ObjTyp in
( select IdTyp from <analysis_service>.TypCat where IdCatParent in (select IdCat from <analysis_service>.Cat where CatNam like 'APM All Artifacts'))
) ALL_ARTI
The query requires a snapshot and can be used after each recompute in the CAST Transaction Configuration Center.

Troubleshooting missing data elements

Troubleshooting missing transactions

Common solutions and workaround

Common solutions and workarounds can be found below:

Back to: 2.2.2. Validate and fine tune the Analysis 

  • No labels