|
|
|
How to read XML files อ่าน XML ไฟล์ ยังไงให้ได้ตามรูปแบบด้านล่าง |
|
|
|
|
|
|
|
Code (XML)
<?xml version="1.0" encoding="UTF-8" ?>
<object class="Robot" serializationversion="2">
<prologue>
<saved-by-versions>
<version>10.3.2.2</version>
</saved-by-versions>
<referenced-types>
<type name="OPS_0117_SendMail"/>
<type name="OPS_0117_Output"/>
<type name="OPS_0117_MasterEmailTemplate"/>
<type name="OPS_0117_SMTP"/>
<type name="OPS_0117_Profile"/>
<type name="OPS_0117_RobotException"/>
<type name="OPS_0117_ImportConfig"/>
</referenced-types>
<referenced-snippets/>
<triggers/>
<typed-variables>
<typed-variable name="OPS_0117_SendMail" type-name="OPS_0117_SendMail"/>
<typed-variable name="OPS_0117_Output" type-name="OPS_0117_Output"/>
<typed-variable name="OPS_0117_MasterEmailTemplate" type-name="OPS_0117_MasterEmailTemplate"/>
<typed-variable name="OPS_0117_SMTP" type-name="OPS_0117_SMTP"/>
<typed-variable name="OPS_0117_Profile" type-name="OPS_0117_Profile"/>
<typed-variable name="OPS_0117_RobotException" type-name="OPS_0117_RobotException"/>
<typed-variable name="OPS_0017_ImportConfig" type-name="OPS_0117_ImportConfig"/>
</typed-variables>
<global-variables>
<variable name="OPS_0117_SendMail"/>
<variable name="OPS_0117_Output"/>
<variable name="OPS_0117_Profile"/>
<variable name="OPS_0017_ImportConfig"/>
</global-variables>
<parameters/>
<return-variables/>
<store-in-database-variables/>
<device-mappings/>
<browser-engine>WEBKIT</browser-engine>
</prologue>
<property name="variables" class="Variables">
<object class="Variable" serializationversion="1">
<property name="name" class="String" id="0">isDateCorrect</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="SimpleTypeReference" id="1">
<property name="simpleTypeId" class="Integer">1</property>
</property>
<property name="assignments" class="AttributeAssignments">
<property name="value" class="AttributeAssignment">
<property name="attributeValue" class="String">false</property>
<property name="currentlyAssigned" class="Boolean">true</property>
<property name="lastKnownAttributeType" class="java.lang.Class" id="2">kapow.robot.plugin.common.domain.BooleanAttributeType</property>
</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">isDateMoreReportDate</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="1"/>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">OPS_0117_SendMail</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="TypeReference" serializationversion="0">
<property name="typeName" class="String">OPS_0117_SendMail</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">isPort</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="SimpleTypeReference" id="3">
<property name="simpleTypeId" class="Integer">7</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">isNAV</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="3"/>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String" id="4">isRecordFee</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="3"/>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">isMandatory</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="1"/>
<property name="assignments" class="AttributeAssignments">
<property name="value" class="AttributeAssignment">
<property name="attributeValue" class="String">false</property>
<property name="currentlyAssigned" class="Boolean">true</property>
<property name="lastKnownAttributeType" idref="2"/>
</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">OPS_0117_Output</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="TypeReference" serializationversion="0">
<property name="typeName" class="String">OPS_0117_Output</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">reportDate</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="SimpleTypeReference" id="5">
<property name="simpleTypeId" class="Integer">12</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">isWorkingDay</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="1"/>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">OPS_0117_MasterEmailTemplate</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="TypeReference" serializationversion="0">
<property name="typeName" class="String">OPS_0117_MasterEmailTemplate</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">OPS_0117_SMTP</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="TypeReference" serializationversion="0">
<property name="typeName" class="String">OPS_0117_SMTP</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">errorResons</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="SimpleTypeReference">
<property name="simpleTypeId" class="Integer">13</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String" id="6">cRowRecord</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="3"/>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">cRowData</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="3"/>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">OPS_0117_Profile</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="TypeReference" serializationversion="0">
<property name="typeName" class="String">OPS_0117_Profile</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">countFiles</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="3"/>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String" id="7">tmpFileName</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="5"/>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">OPS_0117_RobotException</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="TypeReference" serializationversion="0">
<property name="typeName" class="String">OPS_0117_RobotException</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">excelReportDate</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="SimpleTypeReference">
<property name="simpleTypeId" class="Integer">3</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String" id="9">excelHeader</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="5"/>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String" id="8">excelTopHeader</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="5"/>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">OPS_0017_ImportConfig</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="TypeReference" serializationversion="0">
<property name="typeName" class="String">OPS_0117_ImportConfig</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">excelFileContent</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" class="SimpleTypeReference">
<property name="simpleTypeId" class="Integer">150</property>
</property>
</property>
</object>
<object class="Variable" serializationversion="1">
<property name="name" class="String">IsFoundCurrentDate</property>
<property name="global" class="Boolean">true</property>
<property name="initialAssignment" class="InitialVariableAssignment">
<property name="type" idref="1"/>
<property name="assignments" class="AttributeAssignments">
<property name="value" class="AttributeAssignment">
<property name="attributeValue" class="String">false</property>
<property name="currentlyAssigned" class="Boolean">true</property>
<property name="lastKnownAttributeType" idref="2"/>
</property>
</property>
</property>
</object>
</property>
<property name="proxyServerConfiguration" class="ProxyServerConfiguration" serializationversion="0"/>
<property name="httpClientType" class="HttpClientType">
<property name="enum-name" class="String">WEBKIT</property>
</property>
<property name="ntlmAuthentication" class="NTLMAuthenticationType">
<property name="enum-name" class="String">STANDARD</property>
</property>
<property name="usePre96DefaultWaiting" class="Boolean" id="10">false</property>
<property name="maxWaitForTimeout" class="Integer">10000</property>
<property name="waitRealTime" idref="10"/>
<property name="privateHTTPCacheEnabled" class="Boolean" id="11">true</property>
<property name="privateHTTPCacheSize" class="Integer">2048</property>
<property name="comment">
<null/>
</property>
<property name="executionMode" class="ExecutionMode">
<property name="enum-name" class="String">FULL</property>
</property>
<property name="avoidExternalReExecution" idref="10"/>
<property name="transitionGraph" class="Body">
<blockBeginStep class="BlockBeginStep" id="12"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="13">
<property name="name" class="String">Version 1.0</property>
<property name="stepAction" class="DoNothing"/>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Try" id="14">
<property name="name" class="String" id="15">Exception handling</property>
</object>
<object class="Group" id="16">
<name class="String">Get all Configuration</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="17"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="18">
<property name="name" class="String">Get report date</property>
<property name="stepAction" class="QueryDatabase2" serializationversion="1">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="String">"
DECLARE @CurrentDate DATE=GETDATE();
DECLARE @CurrentTime TIME=GETDATE();
DECLARE @Temp TABLE (TimeStart TIME,TimeEnd TIME,ReportDate DATETIME);
INSERT INTO @Temp(TimeStart,TimeEnd,ReportDate) VALUES((SELECT ConfigValue FROM OPS_0117_MasterConfig WHERE ConfigCode='START_TIME_PERIOD1') ,(SELECT ConfigValue FROM OPS_0117_MasterConfig WHERE ConfigCode='END_TIME_PERIOD1'),@CurrentDate)
INSERT INTO @Temp(TimeStart,TimeEnd,ReportDate) VALUES((SELECT ConfigValue FROM OPS_0117_MasterConfig WHERE ConfigCode='START_TIME_PERIOD2') ,(SELECT ConfigValue FROM OPS_0117_MasterConfig WHERE ConfigCode='END_TIME_PERIOD2'),DATEADD(day,-1,@CurrentDate))
SELECT ReportDate FROM @Temp WHERE @CurrentTime BETWEEN TimeStart AND TimeEnd
"</property>
<property name="columnAttributeMappings" class="kapow.robot.plugin.common.support.database.ColumnAttributeMappings">
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">ReportDate</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">reportDate</property>
</property>
</object>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" class="String">Exception handling</property>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="19">
<property name="name" class="String">Get configuration</property>
<property name="stepAction" class="QueryDatabase2" serializationversion="1">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="String">"
DECLARE @shareDrivePath VARCHAR(150)=(SELECT [ConfigValue] FROM OPS_MasterConfig WHERE ConfigCode = 'PATH_ROBOT_SHARE')
DECLARE @Temp TABLE (IsWorkingDay CHAR)
INSERT @Temp EXEC STP_IsWorkingDay @InputDate='"+reportDate+"'
SELECT
@shareDrivePath+(SELECT [ConfigValue] FROM OPS_0117_MasterConfig WHERE ConfigCode = 'INPUT_REPORT_PROFILE_PATH') AS UploadProfileFilePath,
@shareDrivePath+(SELECT [ConfigValue] FROM OPS_0117_MasterConfig WHERE ConfigCode = 'INPUT_REPORT_ARCHIVE_PATH')+'\\{0}_'+(FORMAT(GETDATE(),'yyMMdd_HHmmss'))+'.xlsx' AS ArchiveProfileFilePath,
@shareDrivePath+(SELECT [ConfigValue] FROM OPS_0117_MasterConfig WHERE ConfigCode = 'INPUT_REPORT_ARCHIVE_PATH')+'\\{0}_'+(FORMAT(GETDATE(),'yyMMdd_HHmmss'))+'_Fail.xlsx' AS ArchiveProfileFilePathFail,
@shareDrivePath+(SELECT [ConfigValue] FROM OPS_0117_MasterConfig WHERE ConfigCode = 'TEMP_SHARED_DRIVE_PATH')+'{0}_'+(FORMAT(GETDATE(),'yyMMddHH_mmss'))+'.xlsx' AS TempFileName,
@shareDrivePath+(SELECT [ConfigValue] FROM OPS_0117_MasterConfig WHERE ConfigCode = 'TEMP_SHARED_DRIVE_PATH') TempFilePath,
(SELECT [ConfigValue] FROM OPS_0117_MasterConfig WHERE ConfigCode = 'EXCEL_EXT') AS UploadFileExt,
(FORMAT(GETDATE(),'yyMMddHHmmss')) AS ImportSetNo,
(SELECT IsWorkingDay FROM @Temp) AS IsWorkingDay
"</property>
<property name="columnAttributeMappings" class="kapow.robot.plugin.common.support.database.ColumnAttributeMappings">
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">UploadProfileFilePath</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.UploadProfileFilePath</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">ArchiveProfileFilePathFail</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.ArchiveProfileFilePathFail</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">IsWorkingDay</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isWorkingDay</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">TempFileName</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.TempFileName</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">ImportSetNo</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.ImportSetNo</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">UploadFileExt</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.UploadFileExt</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">TempFilePath</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.TempFilePath</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">ArchiveProfileFilePath</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.ArchiveProfileFilePath</property>
</property>
</object>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" class="String">Exception handling</property>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="20"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="17"/>
<to idref="18"/>
</object>
<object class="TransitionEdge">
<from idref="18"/>
<to idref="19"/>
</object>
<object class="TransitionEdge">
<from idref="19"/>
<to idref="20"/>
</object>
</edges>
</object>
<object class="Transition" serializationversion="3" id="21">
<property name="name" class="String">Check working day</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">isWorkingDay</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="BranchPoint" id="22"/>
<object class="Group" id="23">
<name class="String">Check found many files in folder</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="24"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="25">
<property name="name" class="String" id="26">For each file</property>
<property name="stepAction" class="ForEachFile">
<property name="directoryNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.UploadProfileFilePath</property>
</property>
</property>
<property name="fileNamePattern" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.UploadFileExt</property>
</property>
</property>
<property name="fileNameAttribute" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">tmpFileName</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="27">
<property name="name" class="String">Skip hidden file</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">contains(tmpFileName,"~")</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextIteration">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="26"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="28">
<property name="name" class="String">Assign file name</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="kapow.robot.plugin.common.support.expression.multipletype.ComplexVariableAllowedVariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">tmpFileName</property>
</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.FileName</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="29">
<property name="name" class="String">Count many file</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">countFiles+1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">countFiles</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Try" id="30">
<property name="name" class="String">Found many files</property>
</object>
<object class="Transition" serializationversion="3" id="31">
<property name="name" class="String">Check many files</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">countFiles > 1</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" class="String">Found many files</property>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="32">
<property name="name" class="String">Generate error</property>
<property name="stepAction" class="GenerateError">
<property name="errorMessageExpression" class="Expression" serializationversion="1">
<property name="text" class="String">"Found more than 1 excel file on [" +OPS_0017_ImportConfig.UploadProfileFilePath+ "]"</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="33"/>
</steps>
<blockEndStep class="BlockEndStep" id="34"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="24"/>
<to idref="25"/>
</object>
<object class="TransitionEdge">
<from idref="25"/>
<to idref="27"/>
</object>
<object class="TransitionEdge">
<from idref="27"/>
<to idref="28"/>
</object>
<object class="TransitionEdge">
<from idref="28"/>
<to idref="29"/>
</object>
<object class="TransitionEdge">
<from idref="29"/>
<to idref="30"/>
</object>
<object class="TransitionEdge">
<from idref="30"/>
<to idref="31"/>
</object>
<object class="TransitionEdge">
<from idref="30"/>
<to idref="32"/>
</object>
<object class="TransitionEdge">
<from idref="31"/>
<to idref="34"/>
</object>
<object class="TransitionEdge">
<from idref="32"/>
<to idref="33"/>
</object>
</edges>
</object>
<object class="End" id="35"/>
<object class="Group" id="36">
<name class="String">Check not found file</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="37"/>
<steps class="ArrayList">
<object class="Try" id="38">
<property name="name" class="String">Not found file</property>
</object>
<object class="Transition" serializationversion="3" id="39">
<property name="name" class="String">Check not found file</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0017_ImportConfig.FileName==""</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" class="String">Not found file</property>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="40">
<property name="name" class="String">Assign Is Admin Send</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_SendMail.IsAdminSend</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="41">
<property name="name" class="String">Generate error</property>
<property name="stepAction" class="GenerateError">
<property name="errorMessageExpression" class="Expression" serializationversion="1">
<property name="text" class="String">"Not found excel file on [" +OPS_0017_ImportConfig.UploadProfileFilePath+ "]"</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="42"/>
</steps>
<blockEndStep class="BlockEndStep" id="43"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="37"/>
<to idref="38"/>
</object>
<object class="TransitionEdge">
<from idref="38"/>
<to idref="39"/>
</object>
<object class="TransitionEdge">
<from idref="38"/>
<to idref="40"/>
</object>
<object class="TransitionEdge">
<from idref="39"/>
<to idref="43"/>
</object>
<object class="TransitionEdge">
<from idref="40"/>
<to idref="41"/>
</object>
<object class="TransitionEdge">
<from idref="41"/>
<to idref="42"/>
</object>
</edges>
</object>
<object class="Group" id="44">
<name class="String">Rename file</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="45"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="46">
<property name="name" class="String">Query Database</property>
<property name="stepAction" class="QueryDatabase2" serializationversion="1">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="String">"
SELECT REPLACE(RIGHT('"+OPS_0017_ImportConfig.FileName+"', CHARINDEX('\\', REVERSE('"+OPS_0017_ImportConfig.FileName+"')) -1),'.xlsx','') AS tmpFileName
"</property>
<property name="columnAttributeMappings" class="kapow.robot.plugin.common.support.database.ColumnAttributeMappings">
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">tmpFileName</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">tmpFileName</property>
</property>
</object>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="47">
<property name="name" class="String">Assign Archive Profile File Path</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">replaceText(OPS_0017_ImportConfig.ArchiveProfileFilePath,"{0}",tmpFileName)</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.ArchiveProfileFilePath</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="48">
<property name="name" class="String">Assign Archive Profile File Fail Path</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">replaceText(OPS_0017_ImportConfig.ArchiveProfileFilePathFail,"{0}",tmpFileName)</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.ArchiveProfileFilePathFail</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="49">
<property name="name" class="String">Assign Temp File Name</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">replaceText(OPS_0017_ImportConfig.TempFileName,"{0}",tmpFileName)</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.TempFileName</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="50"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="45"/>
<to idref="46"/>
</object>
<object class="TransitionEdge">
<from idref="46"/>
<to idref="47"/>
</object>
<object class="TransitionEdge">
<from idref="47"/>
<to idref="48"/>
</object>
<object class="TransitionEdge">
<from idref="48"/>
<to idref="49"/>
</object>
<object class="TransitionEdge">
<from idref="49"/>
<to idref="50"/>
</object>
</edges>
</object>
<object class="End" id="51"/>
<object class="Group" id="52">
<name class="String">Remove and move to temp folder</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="53"/>
<steps class="ArrayList">
<object class="BranchPoint" id="54"/>
<object class="Transition" serializationversion="3" id="55">
<property name="name" class="String">For each file in temp folder</property>
<property name="stepAction" class="ForEachFile">
<property name="directoryNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.TempFilePath</property>
</property>
</property>
<property name="fileNamePattern" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.UploadFileExt</property>
</property>
</property>
<property name="fileNameAttribute" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">tmpFileName</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaLog</element>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="56">
<property name="name" class="String">Delete all files in temp folder</property>
<property name="stepAction" class="DeleteFile">
<property name="fileNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" idref="7"/>
</property>
</property>
<property name="executeInRoboMaker" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="57">
<property name="name" class="String">Copy file to temp folder</property>
<property name="stepAction" class="CopyFile">
<property name="fileNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.FileName</property>
</property>
</property>
<property name="newNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.TempFileName</property>
</property>
</property>
<property name="executeInRoboMaker" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="58">
<property name="name" class="String">Delete File</property>
<property name="stepAction" class="DeleteFile">
<property name="fileNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.FileName</property>
</property>
</property>
<property name="executeInRoboMaker" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="59">
<property name="name" class="String">Delete ProfileTemp table</property>
<property name="stepAction" class="ExecuteSQL2" serializationversion="0">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="Expression" serializationversion="1">
<property name="text" class="String">"DELETE FROM OPS_0117_ProfileTemp"</property>
</property>
<property name="executeInDesignMode" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="60"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="53"/>
<to idref="54"/>
</object>
<object class="TransitionEdge">
<from idref="54"/>
<to idref="55"/>
</object>
<object class="TransitionEdge">
<from idref="54"/>
<to idref="57"/>
</object>
<object class="TransitionEdge">
<from idref="55"/>
<to idref="56"/>
</object>
<object class="TransitionEdge">
<from idref="56"/>
<to idref="60"/>
</object>
<object class="TransitionEdge">
<from idref="57"/>
<to idref="58"/>
</object>
<object class="TransitionEdge">
<from idref="58"/>
<to idref="59"/>
</object>
<object class="TransitionEdge">
<from idref="59"/>
<to idref="60"/>
</object>
</edges>
</object>
<object class="Group" id="61">
<name class="String">Load excel</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="62"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="63">
<property name="name" class="String">Load Excel File</property>
<property name="stepAction" class="LoadFile">
<property name="fileNameExpression" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0017_ImportConfig.TempFileName</property>
</property>
<property name="output" class="kapow.robot.plugin.common.stateprocessor.rest.ToVariableOutputSpecification" serializationversion="1">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">excelFileContent</property>
</property>
</property>
<property name="browserConfigurationSpecification" class="BrowserConfigurationSpecificationWebKit" serializationversion="25">
<property name="ancestorProvider" class="BrowserConfigurationSpecificationAncestorProviderForStep"/>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="64">
<property name="name" class="String">Open Excel File</property>
<property name="stepAction" class="OpenVariable">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">excelFileContent</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="65">
<property name="name" class="String">Loop in sheet</property>
<property name="stepAction" class="LoopInExcel">
<property name="loopDirection" class="LoopInExcel$LoopDirection">
<property name="enum-name" class="String">SHEETS</property>
</property>
<property name="lastIndex" class="Integer">0</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative"/>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="66"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="62"/>
<to idref="63"/>
</object>
<object class="TransitionEdge">
<from idref="63"/>
<to idref="64"/>
</object>
<object class="TransitionEdge">
<from idref="64"/>
<to idref="65"/>
</object>
<object class="TransitionEdge">
<from idref="65"/>
<to idref="66"/>
</object>
</edges>
</object>
<object class="BranchPoint" id="67"/>
<object class="Group" id="68">
<name class="String">Check header of file</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="69"/>
<steps class="ArrayList">
<object class="BranchPoint" id="70"/>
<object class="Transition" serializationversion="3" id="71">
<property name="name" class="String">Extract report date</property>
<property name="stepAction" class="ExtractCell">
<property name="dataConverters" class="DataConverters">
<element class="ExtractDate">
<property name="formats" class="BeanList">
<object class="kapow.robot.plugin.common.stringprocessor.datefetcher.PatternBasedDateFormatSpecification">
<property name="pattern" class="kapow.robot.plugin.common.support.expression.stringexpr.DateExtractorPatternValueStringExpression">
<property name="value" class="String">dd/MM/yyyy</property>
</property>
</object>
<object class="kapow.robot.plugin.common.stringprocessor.datefetcher.PatternBasedDateFormatSpecification">
<property name="pattern" class="kapow.robot.plugin.common.support.expression.stringexpr.DateExtractorPatternValueStringExpression">
<property name="value" class="String">dd/MM/yy</property>
</property>
</object>
<object class="kapow.robot.plugin.common.stringprocessor.datefetcher.PatternBasedDateFormatSpecification">
<property name="pattern" class="kapow.robot.plugin.common.support.expression.stringexpr.DateExtractorPatternValueStringExpression">
<property name="value" class="String">dd/mm/yy</property>
</property>
</object>
<object class="kapow.robot.plugin.common.stringprocessor.datefetcher.PatternBasedDateFormatSpecification">
<property name="pattern" class="kapow.robot.plugin.common.support.expression.stringexpr.DateExtractorPatternValueStringExpression">
<property name="value" class="String">dd/mm/yyyy</property>
</property>
</object>
</property>
</element>
</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">excelReportDate</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="SpecifiedAreaFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">1</property>
</property>
</property>
<property name="width" class="AbsoluteExcelWidth"/>
<property name="height" class="AbsoluteExcelHeight"/>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Try" id="72">
<property name="name" class="String" id="73">Check report date</property>
</object>
<object class="Transition" serializationversion="3" id="74">
<property name="name" class="String">Get report date</property>
<property name="stepAction" class="QueryDatabase2" serializationversion="1">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="String">"
DECLARE @headerDate DATE='"+excelReportDate+"'
SELECT (CASE WHEN CONVERT(date, '"+reportDate+"') =@headerDate THEN 'Y' ELSE 'N' END) IsFoundCurrentDate
"</property>
<property name="columnAttributeMappings" class="kapow.robot.plugin.common.support.database.ColumnAttributeMappings">
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">IsFoundCurrentDate</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">IsFoundCurrentDate</property>
</property>
</object>
</property>
</property>
<property name="elementFinders" class="ElementFinders" id="75"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String" id="76">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="77">
<property name="name" class="String">Report date== today</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">IsFoundCurrentDate==false</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" idref="75"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="73"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element idref="76"/>
</property>
</object>
<object class="Transition" serializationversion="3" id="78">
<property name="name" class="String">Generate report date error</property>
<property name="stepAction" class="GenerateError">
<property name="errorMessageExpression" class="Expression" serializationversion="1">
<property name="text" class="String">"Report date must be the current date on [" +OPS_0017_ImportConfig.UploadProfileFilePath+ "]"</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="79"/>
<object class="Transition" serializationversion="3" id="80">
<property name="name" class="String">Extract Excel Top Header</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" idref="8"/>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="SpecifiedAreaFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">9</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">1</property>
</property>
</property>
<property name="width" class="AbsoluteExcelWidth">
<property name="columns" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">5</property>
</property>
</property>
<property name="height" class="AbsoluteExcelHeight"/>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="81">
<property name="name" class="String">Extract Excel Header</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" idref="9"/>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="SpecifiedAreaFromRange">
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">2</property>
</property>
</property>
<property name="width" class="AbsoluteExcelWidth">
<property name="columns" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">14</property>
</property>
</property>
<property name="height" class="AbsoluteExcelHeight"/>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Try" id="82">
<property name="name" class="String">Header incorrect format</property>
</object>
<object class="Transition" serializationversion="3" id="83">
<property name="name" class="String">Check header</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">excelHeader.trim().toUpperCase().removeSpaces().contains("AMCPORTFOLIOCODEFUNDCODE01-07FUNDTYPEFEESTATUSNAV&PORTSTATUSDATETIMENAVCONFIRMREPORTSET(NAV)FILENAMEREPORT(VALUATION)XMLFILENAMEPDFFILENAME")==false ||
excelTopHeader.trim().toUpperCase().removeSpaces().contains("RUNNAVREPORTRUNPORTVALUATIONREPORT")==false
</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" class="String">Header incorrect format</property>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="84"/>
<object class="Transition" serializationversion="3" id="85">
<property name="name" class="String">Assign Is Admin Send</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_SendMail.IsAdminSend</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="86">
<property name="name" class="String">Generate header error</property>
<property name="stepAction" class="GenerateError">
<property name="errorMessageExpression" class="Expression" serializationversion="1">
<property name="text" class="String">"Header file incorect format on [" +OPS_0017_ImportConfig.UploadProfileFilePath+ "]"</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="87"/>
</steps>
<blockEndStep class="BlockEndStep" id="88"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="69"/>
<to idref="70"/>
</object>
<object class="TransitionEdge">
<from idref="70"/>
<to idref="71"/>
</object>
<object class="TransitionEdge">
<from idref="70"/>
<to idref="80"/>
</object>
<object class="TransitionEdge">
<from idref="71"/>
<to idref="72"/>
</object>
<object class="TransitionEdge">
<from idref="72"/>
<to idref="74"/>
</object>
<object class="TransitionEdge">
<from idref="72"/>
<to idref="78"/>
</object>
<object class="TransitionEdge">
<from idref="74"/>
<to idref="77"/>
</object>
<object class="TransitionEdge">
<from idref="77"/>
<to idref="88"/>
</object>
<object class="TransitionEdge">
<from idref="78"/>
<to idref="79"/>
</object>
<object class="TransitionEdge">
<from idref="80"/>
<to idref="81"/>
</object>
<object class="TransitionEdge">
<from idref="81"/>
<to idref="82"/>
</object>
<object class="TransitionEdge">
<from idref="82"/>
<to idref="83"/>
</object>
<object class="TransitionEdge">
<from idref="82"/>
<to idref="85"/>
</object>
<object class="TransitionEdge">
<from idref="83"/>
<to idref="84"/>
</object>
<object class="TransitionEdge">
<from idref="85"/>
<to idref="86"/>
</object>
<object class="TransitionEdge">
<from idref="86"/>
<to idref="87"/>
</object>
</edges>
</object>
<object class="Try" id="89">
<property name="name" class="String" id="90">Found data record</property>
</object>
<object class="Group" id="91">
<name class="String">Check records of file</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="92"/>
<steps class="ArrayList">
<object class="Try" id="93">
<property name="name" class="String" id="94">Not found data</property>
</object>
<object class="Transition" serializationversion="3" id="95">
<property name="name" class="String">Loop get data in details</property>
<property name="stepAction" class="LoopInExcel">
<property name="loopDirection" class="LoopInExcel$LoopDirection" id="96">
<property name="enum-name" class="String">ROWS</property>
</property>
<property name="firstIndex" class="Integer">3</property>
<property name="rangeName" class="DesiredElementName">
<property name="name" class="String">loopRow</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="94"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="97">
<property name="name" class="String">Extract Portfolio Code</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.PortfolioCode</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">1</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowRecord</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="98">
<property name="name" class="String">Assign count row data</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">cRowRecord+1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" idref="6"/>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="99">
<property name="name" class="String">PortfolioCode.length >0</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0117_Profile.PortfolioCode.trim().length()>0</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="90"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="100">
<property name="name" class="String">Generate header error</property>
<property name="stepAction" class="GenerateError">
<property name="errorMessageExpression" class="Expression" serializationversion="1">
<property name="text" class="String">"Cannot found data record on [" +OPS_0017_ImportConfig.UploadProfileFilePath+ "]"</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" class="String">Exception handling</property>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="101"/>
</steps>
<blockEndStep class="BlockEndStep" id="102"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="92"/>
<to idref="93"/>
</object>
<object class="TransitionEdge">
<from idref="93"/>
<to idref="95"/>
</object>
<object class="TransitionEdge">
<from idref="93"/>
<to idref="100"/>
</object>
<object class="TransitionEdge">
<from idref="95"/>
<to idref="97"/>
</object>
<object class="TransitionEdge">
<from idref="97"/>
<to idref="98"/>
</object>
<object class="TransitionEdge">
<from idref="98"/>
<to idref="99"/>
</object>
<object class="TransitionEdge">
<from idref="99"/>
<to idref="102"/>
</object>
<object class="TransitionEdge">
<from idref="100"/>
<to idref="101"/>
</object>
</edges>
</object>
<object class="Group" id="103">
<name class="String">Check details of file</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="104"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="105">
<property name="name" class="String">Loop get data in details</property>
<property name="stepAction" class="LoopInExcel">
<property name="loopDirection" idref="96"/>
<property name="firstIndex" class="Integer">3</property>
<property name="rangeName" class="DesiredElementName">
<property name="name" class="String">loopRow</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" class="String" id="106">Exception handling</property>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="BranchPoint" id="107"/>
<object class="Group" id="108">
<name class="String">Clear global</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="109"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="110">
<property name="name" class="String">Clear error resons</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">""</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="111">
<property name="name" class="String">isNAV=true</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isNAV</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="112">
<property name="name" class="String">isPort=true</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isPort</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="113">
<property name="name" class="String">isRecordFee=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isRecordFee</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="114">
<property name="name" class="String">Clear isMandatory</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">false</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isMandatory</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="115">
<property name="name" class="String">Assign Is Date Correct</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">false</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isDateCorrect</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="116"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="109"/>
<to idref="110"/>
</object>
<object class="TransitionEdge">
<from idref="110"/>
<to idref="111"/>
</object>
<object class="TransitionEdge">
<from idref="111"/>
<to idref="112"/>
</object>
<object class="TransitionEdge">
<from idref="112"/>
<to idref="113"/>
</object>
<object class="TransitionEdge">
<from idref="113"/>
<to idref="114"/>
</object>
<object class="TransitionEdge">
<from idref="114"/>
<to idref="115"/>
</object>
<object class="TransitionEdge">
<from idref="115"/>
<to idref="116"/>
</object>
</edges>
</object>
<object class="Transition" serializationversion="3" id="117">
<property name="name" class="String">Assign RowNo</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">cRowData+1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.RowNo</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="118">
<property name="name" class="String">Extract AMC</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.AMC</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="119">
<property name="name" class="String">Extract Portfolio Code</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.PortfolioCode</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">1</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="120">
<property name="name" class="String">Extract Fund Code</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.FundCode</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">2</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="121">
<property name="name" class="String">Extract Fund Type</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.FundType</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">3</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="122">
<property name="name" class="String">Extract Fee Status</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.FeeStatus</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">4</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="123">
<property name="name" class="String">Extract NAV Port Status</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.NAV_PortStatus</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">5</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="124">
<property name="name" class="String">Extract Date</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.Date</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">6</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="125">
<property name="name" class="String">Extract Time</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.Time</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">7</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="126">
<property name="name" class="String">Assign Date</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0117_Profile.Date.trim()</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.Date</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="127">
<property name="name" class="String">Assign Time</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0117_Profile.Time.trim()</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.Time</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="128">
<property name="name" class="String">Extract NAV Confirm</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.NAV_Confirm</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">8</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="129">
<property name="name" class="String">Extract NAV Report name</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.NAV_ReportName</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">9</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="130">
<property name="name" class="String">Extract Port Report name</property>
<property name="stepAction" class="ExtractCell">
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.Port_ReportName</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders">
<object class="ExcelElementFinder">
<property name="detail" class="NamedRangeCellFinderDetail">
<property name="rangeName" class="ElementName">
<property name="name" class="String">1</property>
</property>
<property name="usage" class="CellFromRange">
<property name="columnId" class="ByIndexExcelColumnId">
<property name="offset" class="kapow.robot.plugin.common.support.expression.integerexpr.ValueIntegerExpression">
<property name="value" class="Integer">11</property>
</property>
</property>
<property name="rowId" class="ByIndexExcelRowId">
<property name="offset" class="Expression" serializationversion="1">
<property name="text" class="String">3+cRowData</property>
</property>
</property>
</property>
</property>
</object>
</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="131">
<property name="name" class="String">Assign count row data</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">cRowData+1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">cRowData</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="132">
<property name="name" class="String">Insert to temp table</property>
<property name="stepAction" class="ExecuteSQL2" serializationversion="0">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="Expression" serializationversion="1">
<property name="text" class="String">
"
INSERT INTO [OPS_0117_ProfileTemp]
(
[ImportSetNo]
,[ReportDateTime]
,[ReportFilename]
,[RowNo]
,[AMC]
,[PortfolioCode]
,[FundCode]
,[FundType]
,[FeeStatus]
,[NAV_PortStatus]
,[Date]
,[Time]
,[NAV_Confirm]
,[NAV_ReportName]
,[Port_ReportName]
,[Remark]
,[Fee_VerifyFlag]
,[NAV_VerifyFlag]
,[Port_VerifyFlag]
)
VALUES
(
'"+OPS_0017_ImportConfig.ImportSetNo+"',
'"+excelReportDate+"',
RIGHT('"+OPS_0017_ImportConfig.FileName+"', CHARINDEX('\\', REVERSE('"+OPS_0017_ImportConfig.FileName+"')) -1) ,
"+OPS_0117_Profile.RowNo+",
LEFT('"+replaceText(OPS_0117_Profile.AMC,"'","''")+"',100),
'"+OPS_0117_Profile.PortfolioCode+"',
'"+replaceText(OPS_0117_Profile.FundCode,"'","''")+"',
'"+replaceText(OPS_0117_Profile.FundType,"'","''")+"',
'"+replaceText(OPS_0117_Profile.FeeStatus,"'","''")+"',
'"+replaceText(OPS_0117_Profile.NAV_PortStatus,"'","''")+"',
'"+replaceText(OPS_0117_Profile.Date,"'","''")+"',
'"+replaceText(OPS_0117_Profile.Time,"'","''")+"',
LEFT('"+replaceText(OPS_0117_Profile.NAV_Confirm,"'","''")+"',100),
'"+replaceText(OPS_0117_Profile.NAV_ReportName,"'","''")+"',
'"+replaceText(OPS_0117_Profile.Port_ReportName,"'","''")+"',
'"+OPS_0117_Profile.Remark+"',
1,
1,
1
)
"</property>
</property>
<property name="executeInDesignMode" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String" id="133">reportingViaAPI</element>
<element class="String" id="134">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="106"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Group" id="135">
<name class="String">Check Mandatory</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="136"/>
<steps class="ArrayList">
<object class="Try" id="137">
<property name="name" class="String">Check empty</property>
</object>
<object class="Transition" serializationversion="3" id="138">
<property name="name" class="String">Value == empty</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0117_Profile.PortfolioCode.trim() =="" ||
OPS_0117_Profile.FundCode.trim() =="" ||
OPS_0117_Profile.FundType.trim() =="" ||
OPS_0117_Profile.Date.trim() =="" ||
OPS_0117_Profile.Time.trim() =="" ||
OPS_0117_Profile.NAV_ReportName.trim() =="" ||
OPS_0117_Profile.Port_ReportName.trim() ==""
</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" class="String">Check empty</property>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="139">
<property name="name" class="String">isMandatory = true</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">true</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isMandatory</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="140">
<property name="name" class="String">isRecordFee=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">0</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isRecordFee</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="141">
<property name="name" class="String">Error message</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">"Mandatory field missing"</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="142"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="136"/>
<to idref="137"/>
</object>
<object class="TransitionEdge">
<from idref="137"/>
<to idref="138"/>
</object>
<object class="TransitionEdge">
<from idref="137"/>
<to idref="139"/>
</object>
<object class="TransitionEdge">
<from idref="138"/>
<to idref="142"/>
</object>
<object class="TransitionEdge">
<from idref="139"/>
<to idref="140"/>
</object>
<object class="TransitionEdge">
<from idref="140"/>
<to idref="141"/>
</object>
<object class="TransitionEdge">
<from idref="141"/>
<to idref="142"/>
</object>
</edges>
</object>
<object class="End" id="143"/>
<object class="Try" id="144">
<property name="name" class="String" id="145">Check portfolio</property>
</object>
<object class="Transition" serializationversion="3" id="146">
<property name="name" class="String">Portfolio 6 char</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0117_Profile.PortfolioCode.trim().length()> 6 &&
isMandatory==false</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="145"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="147"/>
<object class="Transition" serializationversion="3" id="148">
<property name="name" class="String">Concat error message</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">errorResons.length() > 0 ? errorResons+",Portfolio must be less than 6 char" : "Portfolio must be less than 6 char"</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="149">
<property name="name" class="String">isRecordFee=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">0</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" idref="4"/>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Try" id="150">
<property name="name" class="String" id="151">Check fund code 2 digits</property>
</object>
<object class="Transition" serializationversion="3" id="152">
<property name="name" class="String">isMandatory ==false</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">isMandatory ==false</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="153">
<property name="name" class="String">Is digits</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">toInteger(OPS_0117_Profile.FundCode.trim())>0</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="151"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="154">
<property name="name" class="String">Fund code 2 digits</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0117_Profile.FundCode.trim().length()!=2</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="151"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="155"/>
<object class="Transition" serializationversion="3" id="156">
<property name="name" class="String">Concat error message</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">errorResons.length() > 0 ? errorResons+",Fund code must be 2 digit" : "Fund code must be 2 digit"</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="157">
<property name="name" class="String">isRecordFee=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">0</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" idref="4"/>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Try" id="158">
<property name="name" class="String" id="159">Check fund type 6 char</property>
</object>
<object class="Transition" serializationversion="3" id="160">
<property name="name" class="String">Fund type 6 char</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0117_Profile.FundType.trim().length()>6 &&
isMandatory==false</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="159"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="161"/>
<object class="Transition" serializationversion="3" id="162">
<property name="name" class="String">Concat error message</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">errorResons.length() > 0 ? errorResons+",Fund Type must be less than 6 char" : "Fund Type must be less than 6 char"</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="163">
<property name="name" class="String">isRecordFee=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">0</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" idref="4"/>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Try" id="164">
<property name="name" class="String" id="165">Check format date</property>
</object>
<object class="Transition" serializationversion="3" id="166">
<property name="name" class="String">isMandatory ==false</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">isMandatory ==false</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="167">
<property name="name" class="String">Date format != ddmmyyyy </property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="kapow.robot.plugin.common.support.expression.multipletype.StringProcessorsExpression" serializationversion="0">
<property name="dataConverters" class="DataConverters">
<element class="GetVariable" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.Date</property>
</property>
</element>
<element class="RemoveSpaces"/>
<element class="Extract2DataConverter">
<property name="pattern" class="kapow.robot.plugin.common.support.expression.stringexpr.PatternValueStringExpression">
<property name="value" class="String">((0[1-9]|[12]\d|3[01])(0[1-9]|1[0-2])[12]\d{3})</property>
</property>
</element>
<element class="EvaluateExpression" serializationversion="0">
<property name="expression" class="String">INPUT== ""</property>
</element>
</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="165"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="168"/>
<object class="Transition" serializationversion="3" id="169">
<property name="name" class="String">Concat error message</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">errorResons.length() > 0 ? errorResons+",Date must be date format \"DDMMYYYY\"" : "Date must be date format \"DDMMYYYY\""</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="170">
<property name="name" class="String">Assign Is Date Correct</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">true</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" idref="0"/>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="171">
<property name="name" class="String">isRecordFee=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">0</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" idref="4"/>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Try" id="172">
<property name="name" class="String" id="173">Check date more than report date</property>
</object>
<object class="Transition" serializationversion="3" id="174">
<property name="name" class="String">isMandatory ==false</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">isMandatory ==false && isDateCorrect==false</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="175">
<property name="name" class="String">Get IsDateMoreReportDate</property>
<property name="stepAction" class="QueryDatabase2" serializationversion="1">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="String">"
DECLARE @ReportDate DATE='"+excelReportDate+"'
DECLARE @CompareDateText VARCHAR(10) ='"+replaceText(OPS_0117_Profile.Date,"'","''")+"'
SET @CompareDateText=SUBSTRING(@CompareDateText,1,2)+'/'+SUBSTRING(@CompareDateText,3,2)+'/'+SUBSTRING(@CompareDateText,5,4);
DECLARE @CompareDate DATE=CONVERT(DATE,@CompareDateText,103)
IF(@CompareDate>@ReportDate )
SELECT 'Y' IsDateMoreReportDate
ELSE
SELECT 'N' IsDateMoreReportDate
"</property>
<property name="columnAttributeMappings" class="kapow.robot.plugin.common.support.database.ColumnAttributeMappings">
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">IsDateMoreReportDate</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isDateMoreReportDate</property>
</property>
</object>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="176">
<property name="name" class="String">Date > report date</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">isDateMoreReportDate</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="173"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="177"/>
<object class="Transition" serializationversion="3" id="178">
<property name="name" class="String">Concat error message</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">errorResons.length() > 0 ? errorResons+",Date must be less than report date" : "Date must be less than report date"</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="179">
<property name="name" class="String">isRecordFee=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">0</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isRecordFee</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Try" id="180">
<property name="name" class="String" id="181">Check format time</property>
</object>
<object class="Transition" serializationversion="3" id="182">
<property name="name" class="String">isMandatory ==false</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">isMandatory ==false</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="183">
<property name="name" class="String">Time format != hhmm</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="kapow.robot.plugin.common.support.expression.multipletype.StringProcessorsExpression" serializationversion="0">
<property name="dataConverters" class="DataConverters">
<element class="GetVariable" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_Profile.Time</property>
</property>
</element>
<element class="RemoveSpaces"/>
<element class="Extract2DataConverter">
<property name="pattern" class="kapow.robot.plugin.common.support.expression.stringexpr.PatternValueStringExpression">
<property name="value" class="String">^(0[0-9]|1[0-9]|2[0-3])[0-5][0-9]$</property>
</property>
</element>
<element class="EvaluateExpression" serializationversion="0">
<property name="expression" class="String">INPUT== ""</property>
</element>
</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="181"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="184"/>
<object class="Transition" serializationversion="3" id="185">
<property name="name" class="String">Concat error message</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">errorResons.length() > 0 ? errorResons+",Time must be format \"HHMM\"" : "Time must be format \"HHMM\""</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="186">
<property name="name" class="String">isNAV=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">0</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isNAV</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="187">
<property name="name" class="String">isPort=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">0</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isPort</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Try" id="188">
<property name="name" class="String" id="189">Check report set 5 char</property>
</object>
<object class="Transition" serializationversion="3" id="190">
<property name="name" class="String">Report set 5 char</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0117_Profile.NAV_ReportName.trim().length()>5 &&
isMandatory==false</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="189"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="191"/>
<object class="Transition" serializationversion="3" id="192">
<property name="name" class="String">Concat error message</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">errorResons.length() > 0 ? errorResons+",Report set(NAV) must be less than 5 char" : "Report set(NAV) must be less than 5 char"</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="193">
<property name="name" class="String">isNAV=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">0</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isNAV</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Try" id="194">
<property name="name" class="String" id="195">Check report valuation 10 char</property>
</object>
<object class="Transition" serializationversion="3" id="196">
<property name="name" class="String">Fund type 10 char</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">OPS_0117_Profile.Port_ReportName.trim().length()>10 &&
isMandatory==false</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="195"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="End" id="197"/>
<object class="Transition" serializationversion="3" id="198">
<property name="name" class="String">Concat error message</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">errorResons.length() > 0 ? errorResons+",Report (Valuation) must be less than 10 char" : "Report (Valuation) must be less than 10 char"</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="199">
<property name="name" class="String">isPort=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">0</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isPort</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="200">
<property name="name" class="String">Found error</property>
<property name="stepAction" class="TestValue" serializationversion="0">
<property name="condition" class="Expression" serializationversion="1">
<property name="text" class="String">errorResons.length() ==0</property>
</property>
<property name="mode" class="Integer">1</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Group" id="201">
<name class="String">Final status</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="202"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="203">
<property name="name" class="String">isNAV=true</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">(isRecordFee==0 || isNAV==0 ) ? 0 : 1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isNAV</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="204">
<property name="name" class="String">isPort=true</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">(isRecordFee==0 || isPort==0 ) ? 0 : 1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isPort</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="205"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="202"/>
<to idref="203"/>
</object>
<object class="TransitionEdge">
<from idref="203"/>
<to idref="204"/>
</object>
<object class="TransitionEdge">
<from idref="204"/>
<to idref="205"/>
</object>
</edges>
</object>
<object class="Transition" serializationversion="3" id="206">
<property name="name" class="String">Update error to temp table</property>
<property name="stepAction" class="ExecuteSQL2" serializationversion="0">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="Expression" serializationversion="1">
<property name="text" class="String">"UPDATE OPS_0117_ProfileTemp
SET
Fee_VerifyFlag="+isRecordFee+",
NAV_VerifyFlag="+isNAV+",
Port_VerifyFlag="+isPort+",
Remark='"+errorResons+"'
WHERE
PortfolioCode='"+OPS_0117_Profile.PortfolioCode+"' AND FundCode='"+OPS_0117_Profile.FundCode+"'"
"</property>
</property>
<property name="executeInDesignMode" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element idref="133"/>
<element idref="134"/>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="106"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Group" id="207">
<name class="String">Clear global</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="208"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="209">
<property name="name" class="String">Clear error resons</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">""</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">errorResons</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="210">
<property name="name" class="String">isNAV=true</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isNAV</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="211">
<property name="name" class="String">isPort=true</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isPort</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="212">
<property name="name" class="String">isRecordFee=false</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">1</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isRecordFee</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="213">
<property name="name" class="String">Clear isMandatory</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">false</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isMandatory</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="214">
<property name="name" class="String">Assign Is Date Correct</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">false</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">isDateCorrect</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="215"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="208"/>
<to idref="209"/>
</object>
<object class="TransitionEdge">
<from idref="209"/>
<to idref="210"/>
</object>
<object class="TransitionEdge">
<from idref="210"/>
<to idref="211"/>
</object>
<object class="TransitionEdge">
<from idref="211"/>
<to idref="212"/>
</object>
<object class="TransitionEdge">
<from idref="212"/>
<to idref="213"/>
</object>
<object class="TransitionEdge">
<from idref="213"/>
<to idref="214"/>
</object>
<object class="TransitionEdge">
<from idref="214"/>
<to idref="215"/>
</object>
</edges>
</object>
<object class="End" id="216"/>
</steps>
<blockEndStep class="BlockEndStep" id="217"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="104"/>
<to idref="105"/>
</object>
<object class="TransitionEdge">
<from idref="105"/>
<to idref="107"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="108"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="135"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="144"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="150"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="158"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="164"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="172"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="180"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="188"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="194"/>
</object>
<object class="TransitionEdge">
<from idref="107"/>
<to idref="200"/>
</object>
<object class="TransitionEdge">
<from idref="108"/>
<to idref="117"/>
</object>
<object class="TransitionEdge">
<from idref="117"/>
<to idref="118"/>
</object>
<object class="TransitionEdge">
<from idref="118"/>
<to idref="119"/>
</object>
<object class="TransitionEdge">
<from idref="119"/>
<to idref="120"/>
</object>
<object class="TransitionEdge">
<from idref="120"/>
<to idref="121"/>
</object>
<object class="TransitionEdge">
<from idref="121"/>
<to idref="122"/>
</object>
<object class="TransitionEdge">
<from idref="122"/>
<to idref="123"/>
</object>
<object class="TransitionEdge">
<from idref="123"/>
<to idref="124"/>
</object>
<object class="TransitionEdge">
<from idref="124"/>
<to idref="125"/>
</object>
<object class="TransitionEdge">
<from idref="125"/>
<to idref="126"/>
</object>
<object class="TransitionEdge">
<from idref="126"/>
<to idref="127"/>
</object>
<object class="TransitionEdge">
<from idref="127"/>
<to idref="128"/>
</object>
<object class="TransitionEdge">
<from idref="128"/>
<to idref="129"/>
</object>
<object class="TransitionEdge">
<from idref="129"/>
<to idref="130"/>
</object>
<object class="TransitionEdge">
<from idref="130"/>
<to idref="131"/>
</object>
<object class="TransitionEdge">
<from idref="131"/>
<to idref="132"/>
</object>
<object class="TransitionEdge">
<from idref="132"/>
<to idref="217"/>
</object>
<object class="TransitionEdge">
<from idref="135"/>
<to idref="143"/>
</object>
<object class="TransitionEdge">
<from idref="144"/>
<to idref="146"/>
</object>
<object class="TransitionEdge">
<from idref="144"/>
<to idref="148"/>
</object>
<object class="TransitionEdge">
<from idref="146"/>
<to idref="147"/>
</object>
<object class="TransitionEdge">
<from idref="148"/>
<to idref="149"/>
</object>
<object class="TransitionEdge">
<from idref="149"/>
<to idref="147"/>
</object>
<object class="TransitionEdge">
<from idref="150"/>
<to idref="152"/>
</object>
<object class="TransitionEdge">
<from idref="150"/>
<to idref="156"/>
</object>
<object class="TransitionEdge">
<from idref="152"/>
<to idref="153"/>
</object>
<object class="TransitionEdge">
<from idref="153"/>
<to idref="154"/>
</object>
<object class="TransitionEdge">
<from idref="154"/>
<to idref="155"/>
</object>
<object class="TransitionEdge">
<from idref="156"/>
<to idref="157"/>
</object>
<object class="TransitionEdge">
<from idref="157"/>
<to idref="155"/>
</object>
<object class="TransitionEdge">
<from idref="158"/>
<to idref="160"/>
</object>
<object class="TransitionEdge">
<from idref="158"/>
<to idref="162"/>
</object>
<object class="TransitionEdge">
<from idref="160"/>
<to idref="161"/>
</object>
<object class="TransitionEdge">
<from idref="162"/>
<to idref="163"/>
</object>
<object class="TransitionEdge">
<from idref="163"/>
<to idref="161"/>
</object>
<object class="TransitionEdge">
<from idref="164"/>
<to idref="166"/>
</object>
<object class="TransitionEdge">
<from idref="164"/>
<to idref="169"/>
</object>
<object class="TransitionEdge">
<from idref="166"/>
<to idref="167"/>
</object>
<object class="TransitionEdge">
<from idref="167"/>
<to idref="168"/>
</object>
<object class="TransitionEdge">
<from idref="169"/>
<to idref="170"/>
</object>
<object class="TransitionEdge">
<from idref="170"/>
<to idref="171"/>
</object>
<object class="TransitionEdge">
<from idref="171"/>
<to idref="168"/>
</object>
<object class="TransitionEdge">
<from idref="172"/>
<to idref="174"/>
</object>
<object class="TransitionEdge">
<from idref="172"/>
<to idref="178"/>
</object>
<object class="TransitionEdge">
<from idref="174"/>
<to idref="175"/>
</object>
<object class="TransitionEdge">
<from idref="175"/>
<to idref="176"/>
</object>
<object class="TransitionEdge">
<from idref="176"/>
<to idref="177"/>
</object>
<object class="TransitionEdge">
<from idref="178"/>
<to idref="179"/>
</object>
<object class="TransitionEdge">
<from idref="179"/>
<to idref="177"/>
</object>
<object class="TransitionEdge">
<from idref="180"/>
<to idref="182"/>
</object>
<object class="TransitionEdge">
<from idref="180"/>
<to idref="185"/>
</object>
<object class="TransitionEdge">
<from idref="182"/>
<to idref="183"/>
</object>
<object class="TransitionEdge">
<from idref="183"/>
<to idref="184"/>
</object>
<object class="TransitionEdge">
<from idref="185"/>
<to idref="186"/>
</object>
<object class="TransitionEdge">
<from idref="186"/>
<to idref="187"/>
</object>
<object class="TransitionEdge">
<from idref="187"/>
<to idref="184"/>
</object>
<object class="TransitionEdge">
<from idref="188"/>
<to idref="190"/>
</object>
<object class="TransitionEdge">
<from idref="188"/>
<to idref="192"/>
</object>
<object class="TransitionEdge">
<from idref="190"/>
<to idref="191"/>
</object>
<object class="TransitionEdge">
<from idref="192"/>
<to idref="193"/>
</object>
<object class="TransitionEdge">
<from idref="193"/>
<to idref="191"/>
</object>
<object class="TransitionEdge">
<from idref="194"/>
<to idref="196"/>
</object>
<object class="TransitionEdge">
<from idref="194"/>
<to idref="198"/>
</object>
<object class="TransitionEdge">
<from idref="196"/>
<to idref="197"/>
</object>
<object class="TransitionEdge">
<from idref="198"/>
<to idref="199"/>
</object>
<object class="TransitionEdge">
<from idref="199"/>
<to idref="197"/>
</object>
<object class="TransitionEdge">
<from idref="200"/>
<to idref="201"/>
</object>
<object class="TransitionEdge">
<from idref="201"/>
<to idref="206"/>
</object>
<object class="TransitionEdge">
<from idref="206"/>
<to idref="207"/>
</object>
<object class="TransitionEdge">
<from idref="207"/>
<to idref="216"/>
</object>
</edges>
</object>
<object class="Group" id="218">
<name class="String">Insert to actual table and move to archive</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="219"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="220">
<property name="name" class="String">Insert to actual table/Update duplicate data</property>
<property name="stepAction" class="ExecuteSQL2" serializationversion="0">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="Expression" serializationversion="1">
<property name="text" class="String">"
INSERT OPS_0117_Profile(
[ImportSetNo]
,[ReportDateTime]
,[ReportFilename]
,[RowNo]
,[AMC]
,[PortfolioCode]
,[FundCode]
,[FundType]
,[FeeStatus]
,[NAV_PortStatus]
,[Date]
,[Time]
,[NAV_Confirm]
,[NAV_ReportName]
,[Port_ReportName]
,[Fee_VerifyFlag]
,[NAV_VerifyFlag]
,[Port_VerifyFlag]
,[Robot_Remark]
,[Priority]
,Robot_FeeStatus
,Robot_NAV_Status
,Robot_PortStatus
,OutputPdfFlag
,OutputXmlFlag
)
SELECT
[ImportSetNo]
,[ReportDateTime]
,[ReportFilename]
,[RowNo]
,[AMC]
,[PortfolioCode]
,[FundCode]
,[FundType]
,[FeeStatus]
,[NAV_PortStatus]
,[Date]
,[Time]
,[NAV_Confirm]
,[NAV_ReportName]
,[Port_ReportName]
,[Fee_VerifyFlag]
,[NAV_VerifyFlag]
,[Port_VerifyFlag]
,[Remark]
,ROW_NUMBER() OVER(ORDER BY Prioritys,FundCode,PortfolioCode)
,(CASE RTRIM(LTRIM(UPPER(FeeStatus))) WHEN 'Y' THEN '' ELSE 'N/A' END)
,(CASE RTRIM(LTRIM(UPPER(NAV_PortStatus))) WHEN 'Y' THEN '' ELSE 'N/A' END)
,(CASE RTRIM(LTRIM(UPPER(NAV_PortStatus))) WHEN 'Y' THEN '' ELSE 'N/A' END)
,0
,0
FROM
( SELECT [ImportSetNo]
,[ReportDateTime]
,[ReportFilename]
,[RowNo]
,[AMC]
,RTRIM(LTRIM([PortfolioCode])) [PortfolioCode]
,RTRIM(LTRIM([FundCode])) [FundCode]
,RTRIM(LTRIM([FundType])) [FundType]
,RTRIM(LTRIM(FeeStatus)) FeeStatus
,RTRIM(LTRIM(NAV_PortStatus))NAV_PortStatus
,RTRIM(LTRIM([Date]))[Date]
,RTRIM(LTRIM([Time])) [Time]
,RTRIM(LTRIM([NAV_Confirm])) [NAV_Confirm]
,[NAV_ReportName]
,[Port_ReportName]
,[Fee_VerifyFlag]
,[NAV_VerifyFlag]
,[Port_VerifyFlag]
,[Remark]
,(CASE UPPER(FundType) WHEN 'MF' THEN 0 ELSE 1 END) Prioritys
FROM OPS_0117_ProfileTemp
) AS tmp
UPDATE OPS_0117_Profile SET
Fee_VerifyFlag=0 ,
NAV_VerifyFlag=0,
Port_VerifyFlag=0,
Robot_Remark = 'Duplicate data'
WHERE ID IN
(
SELECT ID FROM
(
SELECT
ID,
PortfolioCode,
ROW_NUMBER() OVER(PARTITION BY RTRIM(LTRIM(PortfolioCode)),RTRIM(LTRIM(FundCode)) ORDER BY RTRIM(LTRIM(PortfolioCode)) ASC) RowNum,
ImportSetNo
FROM
OPS_0117_Profile
WHERE
ImportSetNo='"+OPS_0017_ImportConfig.ImportSetNo+"'
AND ISNULL(PortfolioCode,'')!=''
AND ISNULL(FundCode,'')!=''
) tmp
WHERE tmp.RowNum!=1 AND
ImportSetNo='"+OPS_0017_ImportConfig.ImportSetNo+"')
"</property>
</property>
<property name="executeInDesignMode" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="221">
<property name="name" class="String">Copy file to archive folder</property>
<property name="stepAction" class="CopyFile">
<property name="fileNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.TempFileName</property>
</property>
</property>
<property name="newNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.ArchiveProfileFilePath</property>
</property>
</property>
<property name="executeInRoboMaker" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="222">
<property name="name" class="String">Delete file from temp</property>
<property name="stepAction" class="DeleteFile">
<property name="fileNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.TempFileName</property>
</property>
</property>
<property name="executeInRoboMaker" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="15"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="223"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="219"/>
<to idref="220"/>
</object>
<object class="TransitionEdge">
<from idref="220"/>
<to idref="221"/>
</object>
<object class="TransitionEdge">
<from idref="221"/>
<to idref="222"/>
</object>
<object class="TransitionEdge">
<from idref="222"/>
<to idref="223"/>
</object>
</edges>
</object>
<object class="Group" id="224">
<name class="String">Update slave/benefit status</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="225"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="226">
<property name="name" class="String">Update benefit pending to system exception</property>
<property name="stepAction" class="ExecuteSQL2" serializationversion="0">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="Expression" serializationversion="1">
<property name="text" class="String">"
UPDATE
OPS_0117_BenefitTracking
SET
Status='System Exception',
Exception_Detail='Robot not response.'
WHERE
Status='Pending'
UPDATE
OPS_0117_Slave
SET
EnableFlag=1,
LastPrintDateTime=GETDATE(),
LastXmlDateTime=GETDATE()
"</property>
</property>
<property name="executeInDesignMode" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" class="String">Exception handling</property>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="227">
<property name="name" class="String">Update error to profile</property>
<property name="stepAction" class="ExecuteSQL2" serializationversion="0">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="Expression" serializationversion="1">
<property name="text" class="String">"
UPDATE OPS_0117_Profile
SET Robot_FeeStatus = a.Robot_FeeStatus ,
Robot_NAV_Status = a.Robot_NAV_Status ,
Robot_PortStatus = a.Robot_PortStatus
FROM
(
SELECT
ID,
(CASE Fee_VerifyFlag WHEN 0 THEN 'Error' ELSE Robot_FeeStatus END) Robot_FeeStatus,
(CASE NAV_VerifyFlag WHEN 0 THEN 'Error' ELSE Robot_NAV_Status END) Robot_NAV_Status,
(CASE Port_VerifyFlag WHEN 0 THEN 'Error' ELSE Robot_PortStatus END) Robot_PortStatus
FROM OPS_0117_Profile
WHERE ImportSetNo='"+OPS_0017_ImportConfig.ImportSetNo+"'
) a
WHERE OPS_0117_Profile.ID=a.ID
UPDATE OPS_0117_MasterConfig SET ConfigValue=0 WHERE ConfigCode='PRINT_REPORT_FEE'
UPDATE OPS_0117_MasterConfig SET ConfigValue=0 WHERE ConfigCode='PRINT_REPORT_SUMMARY'
"</property>
</property>
<property name="executeInDesignMode" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" class="String">Exception handling</property>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="228"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="225"/>
<to idref="226"/>
</object>
<object class="TransitionEdge">
<from idref="226"/>
<to idref="227"/>
</object>
<object class="TransitionEdge">
<from idref="227"/>
<to idref="228"/>
</object>
</edges>
</object>
<object class="Group" id="229">
<name class="String">Delete from temp folder</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="230"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="231">
<property name="name" class="String">Copy file to archive folder</property>
<property name="stepAction" class="CopyFile">
<property name="fileNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.TempFileName</property>
</property>
</property>
<property name="newNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.ArchiveProfileFilePathFail</property>
</property>
</property>
<property name="executeInRoboMaker" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$IgnoreAndContinue"/>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="232">
<property name="name" class="String">Delete file from temp</property>
<property name="stepAction" class="DeleteFile">
<property name="fileNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0017_ImportConfig.TempFileName</property>
</property>
</property>
<property name="executeInRoboMaker" class="Boolean">true</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$IgnoreAndContinue"/>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="233"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="230"/>
<to idref="231"/>
</object>
<object class="TransitionEdge">
<from idref="231"/>
<to idref="232"/>
</object>
<object class="TransitionEdge">
<from idref="232"/>
<to idref="233"/>
</object>
</edges>
</object>
<object class="Group" id="234">
<name class="String">Assign exception</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="235"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="236">
<property name="name" class="String">Assign Id</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">Robot.executionId</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_RobotException.Id</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String" id="237">reportingViaAPI</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Transition" serializationversion="3" id="238">
<property name="name" class="String">Assign Name</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">Robot.name</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_RobotException.Name</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element idref="237"/>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="239">
<property name="name" class="String">Assign Message</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">replaceText(Robot.executionErrors,"Error from the Generate Error action.","")</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_RobotException.Message</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
<element class="String">reportingViaLog</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="240"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="235"/>
<to idref="236"/>
</object>
<object class="TransitionEdge">
<from idref="236"/>
<to idref="238"/>
</object>
<object class="TransitionEdge">
<from idref="238"/>
<to idref="239"/>
</object>
<object class="TransitionEdge">
<from idref="239"/>
<to idref="240"/>
</object>
</edges>
</object>
<object class="Transition" serializationversion="3" id="241">
<property name="name" class="String">Write Log</property>
<property name="stepAction" class="WriteLog2">
<property name="expression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_RobotException.Message</property>
</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="Try" id="242">
<property name="name" class="String" id="243">Cannot connect to database</property>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
</property>
</object>
<object class="Group" id="244">
<name class="String">Get smtp and email template</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="245"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="246">
<property name="name" class="String">Get smtp server</property>
<property name="stepAction" class="QueryDatabase2" serializationversion="1">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="String">"SELECT
(SELECT ConfigValue FROM OPS_MasterConfig WHERE ConfigCode='SMTP_HOST') AS Host,
(SELECT ConfigValue FROM OPS_MasterConfig WHERE ConfigCode='SMTP_PASSWORD') AS Password,
(SELECT ConfigValue FROM OPS_MasterConfig WHERE ConfigCode='SMTP_PORT') AS Port,
(SELECT ConfigValue FROM OPS_MasterConfig WHERE ConfigCode='SMTP_USER') [User]
"</property>
<property name="columnAttributeMappings" class="kapow.robot.plugin.common.support.database.ColumnAttributeMappings">
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">Host</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_SMTP.Host</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">Port</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_SMTP.Port</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">User</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_SMTP.User</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">Password</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_SMTP.Password</property>
</property>
</object>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0">
<property name="changedProperties" class="java.util.HashSet">
<element class="String">reportingViaAPI</element>
</property>
<property name="reportingViaAPI" class="Boolean">false</property>
<property name="reportingViaLog" class="Boolean">false</property>
<property name="controlFlow" class="kapow.robot.robomaker.robot.ControlFlow$NextAlternative">
<property name="targetStepSelector" class="kapow.robot.robomaker.robot.ControlFlow$TargetStepSelector">
<property name="name" idref="243"/>
</property>
</property>
</property>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="247">
<property name="name" class="String">Get email templete</property>
<property name="stepAction" class="QueryDatabase2" serializationversion="1">
<property name="databaseName" class="kapow.robot.plugin.common.support.expression.stringexpr.DBNameValueStringExpression">
<property name="value" class="kapow.util.db.DBName">
<property name="name" class="String">kapow_rpaops</property>
</property>
</property>
<property name="sql" class="String">"
DECLARE @shareDrivePath VARCHAR(150)=(SELECT [ConfigValue] FROM OPS_0117_MasterConfig WHERE ConfigCode = 'SHARED_DRIVE_PATH')
SELECT
[Code]
,[FromAddress]
,[ToAddress]
,[CCAddress]
,[Subject]
,@shareDrivePath+(SELECT [ConfigValue] FROM OPS_0117_MasterConfig WHERE ConfigCode = 'TEMPLATE_SHARED_DRIVE_PATH')+MessageFilePath MessageFilePath
,[Remark]
,[ListPhone]
,[CreatedDate]
,[UpdatedDate]
,FORMAT(getdate(),'dd/MM/yyy HH:mm') CurrentDate
FROM OPS_0117_MasterEmailTemplate
WHERE
(Code='SYSTEM_ERROR' AND 1="+OPS_0117_SendMail.IsAdminSend+") OR
(Code='SYSTEM_ERROR_USER' AND 1="+OPS_0117_SendMail.IsUserSend+")
"</property>
<property name="columnAttributeMappings" class="kapow.robot.plugin.common.support.database.ColumnAttributeMappings">
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">Code</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.Code</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">ListPhone</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.ListPhone</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">Remark</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.Remark</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">FromAddress</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.FromAddress</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">ToAddress</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.ToAddress</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">CCAddress</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.CCAddress</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">Subject</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.Subject</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">MessageFilePath</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.MessageFilePath</property>
</property>
</object>
<object class="kapow.robot.plugin.common.support.database.ColumnAttributeMapping">
<property name="columnName" class="String">CurrentDate</property>
<property name="attributeName" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_RobotException.CurrentDate</property>
</property>
</object>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="248"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="245"/>
<to idref="246"/>
</object>
<object class="TransitionEdge">
<from idref="246"/>
<to idref="247"/>
</object>
<object class="TransitionEdge">
<from idref="247"/>
<to idref="248"/>
</object>
</edges>
</object>
<object class="Group" id="249">
<name class="String">Assign parameter</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="250"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="251">
<property name="name" class="String">Load html file</property>
<property name="stepAction" class="LoadFile">
<property name="fileNameExpression" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.MessageFilePath</property>
</property>
</property>
<property name="output" class="kapow.robot.plugin.common.stateprocessor.rest.ToVariableOutputSpecification" serializationversion="1">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.MessageBody</property>
</property>
</property>
<property name="browserConfigurationSpecification" class="BrowserConfigurationSpecificationWebKit" serializationversion="25">
<property name="ancestorProvider" class="BrowserConfigurationSpecificationAncestorProviderForStep"/>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Group" id="252">
<name class="String">Assign parameter to email body</name>
<comment>
<null/>
</comment>
<blockBeginStep class="BlockBeginStep" id="253"/>
<steps class="ArrayList">
<object class="Transition" serializationversion="3" id="254">
<property name="name" class="String">Assign subject</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">replaceText(OPS_0117_MasterEmailTemplate.Subject,"{0}",OPS_0117_RobotException.CurrentDate)</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.Subject</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String" id="255">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="256">
<property name="name" class="String">Assign robot name</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">replaceText(OPS_0117_MasterEmailTemplate.MessageBody,"{robotName}",OPS_0117_RobotException.Name)</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.MessageBody</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element idref="255"/>
</property>
</object>
<object class="Transition" serializationversion="3" id="257">
<property name="name" class="String">Assign error summary</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">replaceText(OPS_0117_MasterEmailTemplate.MessageBody,"{errorSummary}",OPS_0117_RobotException.ErrorSummaryMsg)</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.MessageBody</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="258">
<property name="name" class="String">Assign error details</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">replaceText(OPS_0117_MasterEmailTemplate.MessageBody,"{errorDetail}",OPS_0117_RobotException.Message)</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.MessageBody</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="259">
<property name="name" class="String">Assign remark</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">replaceText(OPS_0117_MasterEmailTemplate.MessageBody,"{remark}",OPS_0117_MasterEmailTemplate.Remark)</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.MessageBody</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
<object class="Transition" serializationversion="3" id="260">
<property name="name" class="String">Assign phones</property>
<property name="stepAction" class="AssignVariable" serializationversion="4">
<property name="stringExpr" class="Expression" serializationversion="1">
<property name="text" class="String">replaceText(OPS_0117_MasterEmailTemplate.MessageBody,"{listPhone}",OPS_0117_MasterEmailTemplate.ListPhone)</property>
</property>
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.MessageBody</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet">
<element class="String">name</element>
</property>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="261"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="253"/>
<to idref="254"/>
</object>
<object class="TransitionEdge">
<from idref="254"/>
<to idref="256"/>
</object>
<object class="TransitionEdge">
<from idref="256"/>
<to idref="257"/>
</object>
<object class="TransitionEdge">
<from idref="257"/>
<to idref="258"/>
</object>
<object class="TransitionEdge">
<from idref="258"/>
<to idref="259"/>
</object>
<object class="TransitionEdge">
<from idref="259"/>
<to idref="260"/>
</object>
<object class="TransitionEdge">
<from idref="260"/>
<to idref="261"/>
</object>
</edges>
</object>
</steps>
<blockEndStep class="BlockEndStep" id="262"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="250"/>
<to idref="251"/>
</object>
<object class="TransitionEdge">
<from idref="251"/>
<to idref="252"/>
</object>
<object class="TransitionEdge">
<from idref="252"/>
<to idref="262"/>
</object>
</edges>
</object>
<object class="Transition" serializationversion="3" id="263">
<property name="name" class="String">Send Email</property>
<property name="stepAction" class="SendEmail">
<property name="fromAddress" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.FromAddress</property>
</property>
</property>
<property name="toAddress" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.ToAddress</property>
</property>
</property>
<property name="ccAddress" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.CCAddress</property>
</property>
</property>
<property name="subject" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.Subject</property>
</property>
</property>
<property name="message" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_MasterEmailTemplate.MessageBody</property>
</property>
</property>
<property name="mimeType" class="com.kapowtech.net.MIMEType">
<property name="mimeType" class="String">text/html</property>
</property>
<property name="mailServer" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_SMTP.Host</property>
</property>
</property>
<property name="port" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_SMTP.Port</property>
</property>
</property>
<property name="user" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_SMTP.User</property>
</property>
</property>
<property name="password" class="kapow.robot.plugin.common.support.expression.multipletype.VariableExpression" serializationversion="2">
<property name="variable" class="kapow.robot.plugin.common.support.AttributeName2">
<property name="name" class="String">OPS_0117_SMTP.Password</property>
</property>
</property>
</property>
<property name="elementFinders" class="ElementFinders"/>
<property name="errorHandler" class="ErrorHandler" serializationversion="0"/>
<property name="comment">
<null/>
</property>
<property name="enabled" idref="11"/>
<property name="changedProperties" class="java.util.HashSet"/>
</object>
<object class="End" id="264"/>
</steps>
<blockEndStep class="BlockEndStep"/>
<edges class="ArrayList">
<object class="TransitionEdge">
<from idref="12"/>
<to idref="13"/>
</object>
<object class="TransitionEdge">
<from idref="13"/>
<to idref="14"/>
</object>
<object class="TransitionEdge">
<from idref="14"/>
<to idref="16"/>
</object>
<object class="TransitionEdge">
<from idref="14"/>
<to idref="229"/>
</object>
<object class="TransitionEdge">
<from idref="16"/>
<to idref="21"/>
</object>
<object class="TransitionEdge">
<from idref="21"/>
<to idref="22"/>
</object>
<object class="TransitionEdge">
<from idref="22"/>
<to idref="23"/>
</object>
<object class="TransitionEdge">
<from idref="22"/>
<to idref="36"/>
</object>
<object class="TransitionEdge">
<from idref="22"/>
<to idref="44"/>
</object>
<object class="TransitionEdge">
<from idref="22"/>
<to idref="52"/>
</object>
<object class="TransitionEdge">
<from idref="22"/>
<to idref="61"/>
</object>
<object class="TransitionEdge">
<from idref="23"/>
<to idref="35"/>
</object>
<object class="TransitionEdge">
<from idref="36"/>
<to idref="35"/>
</object>
<object class="TransitionEdge">
<from idref="44"/>
<to idref="51"/>
</object>
<object class="TransitionEdge">
<from idref="52"/>
<to idref="35"/>
</object>
<object class="TransitionEdge">
<from idref="61"/>
<to idref="67"/>
</object>
<object class="TransitionEdge">
<from idref="67"/>
<to idref="68"/>
</object>
<object class="TransitionEdge">
<from idref="67"/>
<to idref="89"/>
</object>
<object class="TransitionEdge">
<from idref="67"/>
<to idref="218"/>
</object>
<object class="TransitionEdge">
<from idref="67"/>
<to idref="224"/>
</object>
<object class="TransitionEdge">
<from idref="68"/>
<to idref="35"/>
</object>
<object class="TransitionEdge">
<from idref="89"/>
<to idref="91"/>
</object>
<object class="TransitionEdge">
<from idref="89"/>
<to idref="103"/>
</object>
<object class="TransitionEdge">
<from idref="91"/>
<to idref="35"/>
</object>
<object class="TransitionEdge">
<from idref="103"/>
<to idref="35"/>
</object>
<object class="TransitionEdge">
<from idref="218"/>
<to idref="35"/>
</object>
<object class="TransitionEdge">
<from idref="224"/>
<to idref="35"/>
</object>
<object class="TransitionEdge">
<from idref="229"/>
<to idref="234"/>
</object>
<object class="TransitionEdge">
<from idref="234"/>
<to idref="241"/>
</object>
<object class="TransitionEdge">
<from idref="241"/>
<to idref="242"/>
</object>
<object class="TransitionEdge">
<from idref="242"/>
<to idref="244"/>
</object>
<object class="TransitionEdge">
<from idref="242"/>
<to idref="263"/>
</object>
<object class="TransitionEdge">
<from idref="244"/>
<to idref="249"/>
</object>
<object class="TransitionEdge">
<from idref="249"/>
<to idref="263"/>
</object>
<object class="TransitionEdge">
<from idref="263"/>
<to idref="264"/>
</object>
</edges>
</property>
<property name="browserConfigurationSpecification" class="BrowserConfigurationSpecificationWebKit" serializationversion="25"/>
</object>
Tag : .NET
|
ประวัติการแก้ไข 2020-01-14 18:50:56 2020-01-14 18:51:37
|
|
|
|
|
Date :
2020-01-14 18:48:11 |
By :
Thaidevelopment.NET |
View :
648 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำถามไม่เคลียร์ และตัวอย่างก็มากไป
|
|
|
|
|
Date :
2020-01-15 09:15:51 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|