一、目的 因使用BP中Switch分支来区分不同节点(即接口)及流向,个人已知方法中无相关统计功能能直接获取各分支节点及流向BO(调用第三方系统)信息,且当前使用系统未封装相关模块供查询,故通过解析BP中XData的方式获取Switch-Case节点及Call调用相关信息
二、解析类中的XData数据
/// 解析类中的XData内容
/// SELECT * FROM %Dictionary.CompiledXData
/// xdataID XData表ID
/// d ##class(BOE.TEST.ClassAnalysis).XDataAnalysisTextReader("JHIP.SM.BP.View||BPL")
ClassMethod XDataAnalysisTextReader(xdataID As %String) As %Status
{
//获取XData流
s compiledXdata=##class(%Dictionary.CompiledXData).%OpenId(xdataID)
s tStream=compiledXdata.Data
If '$IsObject(tStream) s tSC=%objlasterror q
//逐行读取xml
s status=##class(%XML.