On this page:
CAST Extension Downloader
Some changes have been made to switch downloads to the "next generation" CAST Extend service (https://extendng.castsoftware.com). This new CAST Extend service is a replacement for the existing CAST Extend Service which will be phased out in due course. Note that to use https://extendng.castsoftware.com, you will need to register a new account (https://extendng.castsoftware.com/register) - accounts from the existing CAST Extend service have not been transferred.
Installing CAST AIP ≥ 8.3.16 from scratch
When installing CAST AIP ≥ 8.3.16 from scratch when no previous release of CAST AIP exists, the following servers will be pre-configured for extension downloads:
CAST Database Extractor
The CAST Database Extractor now supports:
- (by reference) the extraction of schemas on Oracle 18c and above in line with Oracle's updated release cycle, however the extractor will handle the schemas as Oracle 12c schemas and no new syntax or features introduced in these newer releases is supported.
- Case sensitive passwords (introduced in Oracle 12c R2).
SAP / ABAP rules
"CX_ROOT" should not be used in TRY .. CATCH.. ENDTRY block (8412)
The parent technical criterion for this rule was incorrectly set to 61020: Programming Practices - Modularity and OO Encapsulation Conformity, but it has been changed to 61014: Programming Practices - Error and Exception Handling. See also Changes in results post upgrade - 8.3.16.
Source code bookmarks implemented
Bookmarks indicating the position of violations in the source code have been implemented for the following SAP/ABAP rules:
- Avoid Artifacts with High Depth of Nested Subqueries (7130)
- Avoid using BREAK or BREAK-POINT statement (7524)
- Never use the ON CHANGE OF statement (7528)
- Avoid "SELECT *" or "SELECT SINGLE *" queries (7530)
- Avoid nested SELECT ... ENDSELECT statements (7532)
- Avoid using AT events in combination of LOOP AT .... WHERE constructs (7536)
- Avoid using SELECT ... INTO CORRESPONDING FIELDS OF (7538)
- Avoid using SELECT ... ENDSELECT statement (7544)
- Avoid using "ORDER BY" in SELECTS (7592)
- Avoid using "SELECT DISTINCT", use DELETE-ADJACENT (7594)
- Avoid using SELECT ... ENDSELECT statement on XXL tables (7666)
- Avoid using EXIT statement in Include (7672)
- Avoid empty catch blocks (7788)
- Avoid Artifacts with Group By (7806)
- Avoid Artifacts with SQL statement including subqueries (7808)
- Avoid Artifacts with a Complex SELECT Clause (7810)
- Never use SQL queries with a cartesian product (7820)
- Avoid Artifacts with queries on more than 4 Tables (7822)
- Avoid using Native SQL (7882)
- Avoid SQL queries that no index can support (7902)
Dynamic Links rule files
Dynamic Links rule files now function with SAP BusinessObjects and SAP PowerBuilder analysis results.
Changes to the structure of the Dashboard and Analysis Services schemas
Some changes have been made to the structure of the Dashboard and Analysis Service schemas to reduce the potential size of the Dashboard Service schema tables DSS_LINKS and DSS_LINK_INFO:
FP_LINK_INFO table (new)
Data (links with IDs from 11000 to 11006) related to CAST Transaction Configuration Center data functions and transactions that was previously stored in these two tables will now be stored in a new table called FP_LINK_INFO. This table now contains all object details of transactions/data functions. It has exactly the same structure as DSS_LINK_INFO:
SNAPSHOT_ID | the snapshot id |
PREVIOUS_OBJECT_ID | data function or transaction |
LINK_TYPE_ID | between 11000 and 11006 |
NEXT_OBJECT_ID | detail object of a transaction/data function |
Impact on Analysis Services schema
Details of transactions and data functions are now sent to a new table called DSS_FPLINKS (previously DSS_LINKS was used).
Transfer from Analysis to Dashboard Service schema
The links in DSS_FPLINKS in the Analysis Service schema are sent to the Dashboard Service schema via a new table called DSS_IN_FPLINKS (previously DSS_IN_LINKS was used).
Impact on Dashboard Services schema
The data related to details of transactions and data functions are now stored in a new table called FP_LINK_INFO (previously DSS_LINK_INFO was used).
Upgrade and impact
This change is handled by the CAST upgrade process and does not require any manual steps. All occurences of link_type_id between 11000 and 11006 will be:
- Moved from DSS_LINK_INFO to FP_LINK_INFO
- Removed from both DSS_LINK_INFO and DSS_LINKS
If you have custom scripts that fetch data from any of the existing tables, please ensure that you update these scripts yourself.
MAINFRAME new feature.
IBM MQSeries.
From 8.3.16, Mainframe analyzer support the publisher/subsrcirber mode and point to point mode for IBM MQSeries.
Two type implementation:
Point to Point: MOVE MQOT-Q TO MQOD-OBJECTTYPE:
In point-to-point, message producers are called senders and message consumers are calledreceivers. Senders produce messages to a queue, and receivers asynchronously consume messages from that queue.
For point-to-point to work, connected applications need to know the name of the queue through which they interact.
A queue could have a single receiver or be scaled to many, in which case each message is only consumed by one receiver, distributing the workload across them all.
This style of messaging is built around the concept of message queues, and around the processing of messages by a single consumer.
Publisher/Subscriber MOVE MQOT-TOPIC-Q TO MQOD-OBJECTTYPE:
The producer of a message is known as a publisher, and message consumers are known as subscribers. The publishing and subscribing applications within the infrastructure agree on the name of a topic. For a consumer to signal that they want to receive messages on that topic, they create a subscription to it.
Any message published to a topic will be delivered to all the subscriptions, so every subscriber gets a copy. There could be many publishers and many subscribers to each topic, MQ handles the delivery of messages between all of them.
Example Publisher/Subscriber:
Publisher a topic:
01 OBJECT-DESCRIPTOR. COPY CMQODV. MOVE MQOT-TOPIC TO MQOD-OBJECTTYPE. MOVE MQOD-VERSION-4 TO MQOD-VERSION. MOVE ‘Fruit/Vegetal’ TO TARGET-TOPIC. SET MQOD-OBJECTSTRING-VSPTR TO ADDRESS OF TARGET-TOPIC. MOVE 18 TO MQOD-OBJECTSTRING-VSLENGTH. ... DD MQOO-OUTPUT MQOO-FAIL-IF-QUIESCING GIVING OPTIONS. CALL 'MQOPEN' USING HCONN, OBJECT-DESCRIPTOR, OPTIONS, Q-HANDLE, MQCC, REASON. CALL 'MQPUT' USING HCONN, Q-HANDLE, MESSAGE-DESCRIPTOR, PMOPTIONS, BUFFER-LENGTH, BUFFER, MQCC, REASON.
Subscriber a topic
01 SUB-DESCRIPTOR. COPY CMQSDV. ADD MQSO-CREATE MQSO-MANAGED MQSO-FAIL-IF-QUIESCING GIVING MQSD-OPTIONS. MOVE ‘Vegetal/Meal’ TO TARGET-TOPIC. SET MQSD-OBJECTSTRING-VSPTR TO ADDRESS OF TARGET-TOPIC. MOVE 18 TO MQSD-OBJECTSTRING-VSLENGTH. ... CALL 'MQSUB' USING HCONN, SUB-DESCRIPTOR, Q-HANDLE, SUB-HANDLE, MQCC, REASON. CALL 'MQGET' USING HCONN, Q-HANDLE, MESSAGE-DESCRIPTOR, GMOPTIONS, BUFFER-LENGTH, BUFFER, DATA-LENGTH, MQCC, REASON.
Result in enlighten:
The link is created by WebServiceLinker from 1.6.8-funcrel.