This VA2 rule executes a SQL Query the same way a client would execute it from Siebel. The SQL Generated is taken from a Siebel Client when SQL Logging was spooled, and then added to VA2 and executed every 5 minuets. VA2 can be used to graph the timing of any ODBC compliant SQL query.
Query generation
Perl code for generating statistic:
use sqlanalyze;
my $sql =<<SQLEND;
SELECT
T12.PR_POSTN_ID,
T12.LAST_UPD,
T12.PR_REP_SYS_FLG,
T12.X_FORMS_DUE_DATE,
T6.LAST_NAME,
T12.X_AGENCY_ID,
T8.UNDER_AGE_FLG,
T2.FST_NAME,
T9.X_ADDRESS_CHANGE,
T9.MAIN_PH_NUM,
T4.CREATED,
T12.CREATED_BY,
T7.ROW_ID,
T4.MODIFICATION_NUM,
T12.REFERRAL_NAME,
T4.ATTRIB_14,
T12.START_DT,
T12.X_AGENCY_CODE,
T8.CONFLICT_ID,
T8.LAST_UPD_BY,
T12.X_LOCK_REC__FLG,
T12.PREMIUM_DT,
T12.CONFLICT_ID,
T8.PAR_ROW_ID,
T4.PAR_ROW_ID,
T3.PR_CON_ID,
T10.ROW_ID,
T12.PREMIUM,
T12.PR_REP_MANL_FLG,
T10.LAST_NAME,
T10.X_MID_NAME,
T12.INTEGRATION_ID,
T8.CREATED,
T12.CREATED,
T12.OWNER_ACCNT_ID,
T12.ASSET_NUM,
T12.PR_GRP_OU_ID,
T12.ROW_ID,
T12.PR_CON_ID,
T12.PR_DISCNT_ID,
T9.ROW_ID,
T9.GROUP_NAME,
T12.RATE_STATE,
T12.TYPE_CD,
T12.REF_NUMBER_1,
T12.X_NEW_PAYMT_ROW_CREATED,
T12.X_FOLLOW_UP_REQUIRED_FLG,
T12.X_INS_CARRIER_CODE,
T12.X_POLICY_REN_FLAG,
T4.LAST_UPD_BY,
T12.X_FORMS_COMPLETED_DATE,
T12.X_POLICY_HISTORY_FLAG,
T12.X_MANUAL_ENTRY,
T5.ROW_ID,
T8.PEND_CANCEL_FLG,
T12.X_AGENCY_NAME,
T12.CURCY_CD,
T5.ROW_ID,
T12.X_CARRIER_ID,
T8.MODIFICATION_NUM,
T4.LAST_UPD,
T12.MODIFICATION_NUM,
T12.SUB_STATUS_CD,
T2.LAST_NAME,
T10.X_CREDIT_RPT_FLAG,
T12.X_FORMS_RESEND_FLG,
T12.TERM_CD,
T9.NAME,
T12.X_NEW_QUOTE_FLG,
T1.LAST_NAME,
T12.STATUS_CD,
T11.NAME,
T8.CREATED_BY,
T8.LAST_UPD,
T10.FST_NAME,
T12.X_ALL_NAMED_INS,
T11.X_CARRIER_SAP_CRC,
T12.END_DT,
T12.OWNER_CON_ID,
T4.ATTRIB_40,
T12.LAST_UPD_BY,
T3.GROUP_NAME,
T12.X_PIP_COV_PROG,
T12.INCEPTION_DT,
T5.NAMED_INS_FLG,
T12.SUB_TYPE_CD,
T8.ROW_ID,
T4.CONFLICT_ID,
T11.X_CARRIER_SAP_CRV,
T4.CREATED_BY,
T1.FST_NAME,
T4.ROW_ID,
T10.PER_TITLE_SUFFIX,
T12.X_FORMS_COMPLETED_FLG,
T3.MAIN_PH_FAX_NUM,
T6.FST_NAME
FROM
SIEBEL.S_CONTACT T1,
SIEBEL.S_EMPLOYEE T2,
SIEBEL.S_ORG_GROUP T3,
SIEBEL.S_ASSET_X T4,
SIEBEL.S_ASSET_CON T5,
SIEBEL.S_CONTACT T6,
SIEBEL.S_ASSET_ORGGRP T7,
SIEBEL.S_FN_ACCNT2_FNX T8,
SIEBEL.S_ORG_GROUP T9,
SIEBEL.S_CONTACT T10,
SIEBEL.S_ORG_EXT T11,
SIEBEL.S_ASSET T12
WHERE
T12.X_CARRIER_ID = T11.ROW_ID (+) AND
T3.PR_CON_ID = T6.ROW_ID (+) AND
T12.CREATED_BY = T2.ROW_ID (+) AND
T12.PR_GRP_OU_ID = T3.ROW_ID (+) AND
T12.OWNER_CON_ID = T1.ROW_ID (+) AND
T12.ROW_ID = T4.PAR_ROW_ID (+) AND
T12.ROW_ID = T8.PAR_ROW_ID (+) AND
T12.PR_CON_ID = T10.ROW_ID (+) AND
T12.PR_CON_ID = T5.CONTACT_ID (+) AND T12.ROW_ID = T5.ASSET_ID (+) AND
T12.PR_GRP_OU_ID = T9.ROW_ID (+) AND
T12.PR_GRP_OU_ID = T7.ORG_GROUP_ID (+) AND T12.ROW_ID = T7.ASSET_ID (+) AND
(T12.SUB_TYPE_CD = 'MOTORCYCLE POLICY' AND (T12.STATUS_CD = 'QUOTE' OR T12.STATUS_CD = 'ACTIVE')) AND
((T12.STATUS_CD LIKE 'ac\%' OR T12.STATUS_CD LIKE 'Ac\%' OR T12.STATUS_CD LIKE 'aC\%' OR T12.STATUS_CD LIKE 'AC\%') AND UPPER(T12.STATUS_CD) = UPPER('ACTIVE'))
SQLEND
$retval = sqlanalyze->sqltimer($sql,$datasource{siebeldata});