REQUEST_TYPE_NAME 			= Framework.getDestinationAttribute('request_type_name')
RELATED_REQUEST_TYPE_NAME 		= Framework.getDestinationAttribute('related_request_type_name')
RELATION_TYPE_NAME			= Framework.getDestinationAttribute('relation_type_name')
RELATION_PARENT_TYPE_NAME		= Framework.getDestinationAttribute('relation_parent_type_name')
########################################### MAM Data
ci_type				= Framework.getDestinationAttribute('ci_type')
sap_transaction_name			= Framework.getDestinationAttribute('sap_transaction_name')
########################################### Object State Holder
oracleOSH 				= ObjectStateHolder('oracle', 6, oracle_id, AppilogTypes.CMDB_OBJECT_ID)
sap_transaction_id			= Framework.getDestinationAttribute('id')
sap_transactionOSH 			= ObjectStateHolder('sap_transaction', 6, sap_transaction_id, AppilogTypes.CMDB_OBJECT_ID)
properties 			= Properties()
properties.setProperty(Protocol.PROTOCOL_ATTRIBUTE_PORT, port)
properties.setProperty(Protocol.SQL_PROTOCOL_ATTRIBUTE_DBSID, sid)
dbRelation="select ci.cmdb_id, des.a_data_name, ci.a_program from cmdb.cdm_sap_transaction_1 ci,cmdb.cdm_data_1 des where ci.cmdb_id=des.cmdb_id and des.a_data_name='%s'"%(sap_transaction_name)
mam_utils.debug('----- SQL: ' ,dbRelation)

# 3 ##############################
def parseDbRelation(dbRelationRes):
		if dbRelationRes:
			rows = dbRelationRes.getRowCount()
			cols = dbRelationRes.getColumnCount()
			for row in range(rows):
				cmdbID 		= dbRelationRes.getCell(row, 0)
				transactionName	= dbRelationRes.getCell(row, 1)
				programName	= dbRelationRes.getCell(row, 2)
				dbChildOSH		= ObjectStateHolder('SAPCCM_ALM_Program',6)	
				dbChildOSH.setAttribute(AttributeStateHolder('data_name', programName, 0,'String'))
				##dbChildOSH.setContainer('root_container', oracleOSH)
				linkOSH = HostKeyUtil.getLink('IS_PROGRAM', dbChildOSH,sap_transactionOSH)
				OSHVSResult.add(linkOSH)
Example #2
0
        stacktrace = traceback.format_exception(sys.exc_info()[0],
                                                sys.exc_info()[1],
                                                sys.exc_info()[2])
        if mam_utils.isDebugEnabled():
            mam_utils.debug('Failed activating query: ', query,
                            '\non destination: ', ip, '\nException:')
            mam_utils.debug(stacktrace)
    if mam_utils.isDebugEnabled():
        if tableRes:
            rows = tableRes.getRowCount()
            cols = tableRes.getColumnCount()
            mam_utils.debug('Found ', rows, ' rows, ', cols, ' columns.')
        return tableRes


try:
    ######################################################
    ### start the discovery process with defining sqlAgent
    ######################################################
    sqlAgent = Framework.getAgent(AgentConstants.ORACLE_AGENT, ip,
                                  credential_id, properties)
except:
    stacktrace = traceback.format_exception(sys.exc_info()[0],
                                            sys.exc_info()[1],
                                            sys.exc_info()[2])
    if mam_utils.isDebugEnabled():
        mam_utils.debug('Unexpected Framework.getAgent() Exception:')
        mam_utils.debug(stacktrace)
else:
    discoverOracle(sqlAgent, ip, oracleOSH)
def doQuery(sqlAgent, query, ip):
        #################################################
        ### instance that starts the defined database request
        #################################################
        tableRes = None
        try:
            tableRes = sqlAgent.doTableCommand( query )
        except:
            stacktrace = traceback.format_exception(sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2])
            if mam_utils.isDebugEnabled():
                mam_utils.debug('Failed activating query: ' , query , '\non destination: ' , ip , '\nException:')
                mam_utils.debug(stacktrace)
        if mam_utils.isDebugEnabled():
            if tableRes:
                rows = tableRes.getRowCount()
                cols = tableRes.getColumnCount()
                mam_utils.debug('Found ', rows, ' rows, ', cols, ' columns.')    
            return tableRes

try:
    ######################################################
    ### start the discovery process with defining sqlAgent
    ######################################################
    sqlAgent = Framework.getAgent(AgentConstants.ORACLE_AGENT, ip , credential_id, properties)
except:
    stacktrace = traceback.format_exception(sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2])
    if mam_utils.isDebugEnabled():
        mam_utils.debug('Unexpected Framework.getAgent() Exception:')
        mam_utils.debug(stacktrace)
else:
    discoverOracle(sqlAgent, ip, oracleOSH)
RELATION_PARENT_TYPE_NAME = Framework.getDestinationAttribute(
    'relation_parent_type_name')
########################################### MAM Data
ci_type = Framework.getDestinationAttribute('ci_type')
sap_transaction_name = Framework.getDestinationAttribute(
    'sap_transaction_name')
mam_utils.info('----- Start Program')
########################################### Object State Holder
oracleOSH = ObjectStateHolder('oracle', 6, oracle_id,
                              AppilogTypes.CMDB_OBJECT_ID)
sap_transaction_id = Framework.getDestinationAttribute('id')
sap_transaction_program = Framework.getDestinationAttribute('program')
sap_transactionOSH = ObjectStateHolder('sap_transaction', 6,
                                       sap_transaction_id,
                                       AppilogTypes.CMDB_OBJECT_ID)
mam_utils.debug('----- Transaction OSH: ', sap_transactionOSH)
mam_utils.debug('----- Transaction Name: ', sap_transaction_program)
mam_utils.debug('----- Oracle         OSH: ', oracleOSH)
properties = Properties()
properties.setProperty(Protocol.PROTOCOL_ATTRIBUTE_PORT, port)
properties.setProperty(Protocol.SQL_PROTOCOL_ATTRIBUTE_DBSID, sid)
dbRelation = "select ci.cmdb_id, des.a_data_name, ci.a_program from cmdb.cdm_sap_transaction_1 ci,cmdb.cdm_data_1 des where ci.cmdb_id=des.cmdb_id "
mam_utils.debug('----- SQL: ', dbRelation)


# 3 ##############################
def parseDbRelation(dbRelationRes):
    if dbRelationRes:
        rows = dbRelationRes.getRowCount()
        cols = dbRelationRes.getColumnCount()
        if mam_utils.isDebugEnabled():
VIEW_NAME   			= Framework.getDestinationAttribute('view_name')
TABLE_NAME 			= Framework.getDestinationAttribute('table_name')
REQUEST_TYPE_NAME 			= Framework.getDestinationAttribute('request_type_name')
RELATED_REQUEST_TYPE_NAME 		= Framework.getDestinationAttribute('related_request_type_name')
RELATION_TYPE_NAME			= Framework.getDestinationAttribute('relation_type_name')
RELATION_PARENT_TYPE_NAME		= Framework.getDestinationAttribute('relation_parent_type_name')
########################################### MAM Data
ci_type				= Framework.getDestinationAttribute('ci_type')
sap_transaction_name			= Framework.getDestinationAttribute('sap_transaction_name')
mam_utils.info('----- Start Program')
########################################### Object State Holder
oracleOSH 				= ObjectStateHolder('oracle', 6, oracle_id, AppilogTypes.CMDB_OBJECT_ID)
sap_transaction_id			= Framework.getDestinationAttribute('id')
sap_transaction_program			= Framework.getDestinationAttribute('program')
sap_transactionOSH 			= ObjectStateHolder('sap_transaction', 6, sap_transaction_id, AppilogTypes.CMDB_OBJECT_ID)
mam_utils.debug('----- Transaction OSH: ' ,sap_transactionOSH)
mam_utils.debug('----- Transaction Name: ' ,sap_transaction_program)
mam_utils.debug('----- Oracle         OSH: ' ,oracleOSH)
properties 			= Properties()
properties.setProperty(Protocol.PROTOCOL_ATTRIBUTE_PORT, port)
properties.setProperty(Protocol.SQL_PROTOCOL_ATTRIBUTE_DBSID, sid)
dbRelation="select ci.cmdb_id, des.a_data_name, ci.a_program from cmdb.cdm_sap_transaction_1 ci,cmdb.cdm_data_1 des where ci.cmdb_id=des.cmdb_id "
mam_utils.debug('----- SQL: ' ,dbRelation)
# 3 ##############################
def parseDbRelation(dbRelationRes):
		if dbRelationRes:
			rows = dbRelationRes.getRowCount()
			cols = dbRelationRes.getColumnCount()
			if mam_utils.isDebugEnabled():
				mam_utils.debug('----- Number of Relations: ' , rows)
			for row in range(rows):