Sie sind auf Seite 1von 6

U1-PrS15Rm - Process Removal Device List

10: label "This plug-in script is used to process removal meter details list in S15
process List.
Revision History: Date: By: Reason: YYYY-MM-DD
IN Reason Text.

20: edit data


default $eventBO;
default $deviceSerialNumber;
default $spId;
default $msgCat as '11799';
default $msgNum as '11058';
default $valFailed as 'fasle';

move "parm/hard/businessObject/id" to $boId;


move "parm/hard/businessObjectKey/commId" to $commId;
end-edit;
30: edit data
declareBO "$boId" as 'bo_schema';
move "$commId" to "bo_schema/commId";
invokeBO "$boId" using "bo_schema" for read;
end-edit;
40: edit data
// Determine and Read the Admin BO
move null to "F1-DetermineBo";
move 'F1-MKTMSGTYP' to "F1-DetermineBo/input/mo";
move "bo_schema/messageType" to "F1-DetermineBo/input/pkValue1";
invokeBS 'F1-DetermineBo' using "F1-DetermineBo";
move "F1-DetermineBo/output/bo" to $adminBO;
move "bo_schema/messageType" to $mktmsgtype;
declareBO "$adminBO" as 'adminBO_schema';
move "$mktmsgtype" to "adminBO_schema/messageType";
move "$adminBO" to "adminBO_schema/bo";
invokeBO "$adminBO" using "adminBO_schema" for read;
end-edit;

50: edit data


move null to "U1-MasterCfgBOCollection";
move 'U1-MasterCfgBOCollection' to "U1-MasterCfgBOCollection/bo";

invokeBO 'U1-MasterCfgBOCollection' using "U1-MasterCfgBOCollection" for read;


move "U1-MasterCfgBOCollection/boHeader/boList[boDesc='S15E']/boName" to
$eventBO;

// Invoke U1-RETMKTCFG to retrive market configuration code


move null to "U1-RETMKTCFG";
move "$eventBO" to "U1-RETMKTCFG/boCd";
move
"bo_schema/inCommReceivedDetail[last()]/receivedDetail/mdlGrp/mtds/mma" to $mma;

//if Market Meter activity is not C - Meter Removal, then go to step 70


if("$mma != 'C'")
goto 70;
end-if;
//JAGAN Changes Ends
move "$mma" to "U1-RETMKTCFG/keyValue1";

invokeBS 'U1-RETMKTCFG' using "U1-RETMKTCFG";


declareBO "$eventBO" as 'eventBO';

move "U1-RETMKTCFG/results[1]/marketConfigCd" to "eventBO/marketConfigCode";


move "$eventBO" to "eventBO/bo";
invokeBO "$eventBO" using "eventBO" for read;
end-edit;

60: edit data


move "0" to $index;

for($s15DeviceSPList in
"bo_schema/processDataDetail[last()]/processData/s15DeviceSPDetailsGrp/s15DeviceSPL
ist)

//JAGAN ADDED
move "1+xs:integer($index)" to $index;

move 'false' to $valFailed;


move "$s15DeviceSPList/deviceSerialNumber" to $oldDeviceSerialNumber;

move "$s15DeviceSPList/deviceType" to $deviceType;

move "$s15DeviceSPList/spId" to $deviceSpId;


move "$s15DeviceSPList/deviceId" to $deviceId;

if("string(bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15Process
List[seqNo = string($index)]/seqNo) = $BLANK")
move "$index" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/
+s15ProcessList/seqNo";
end-if;
move "$s15DeviceSPList/marketMeterActivity" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/marketMeterActivity";

move "$s15DeviceSPList/meterActivity" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/meterActivity";

if("string(bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDe
viceList[deviceSerialNumber=$oldDeviceSerialNumber]/deviceSerialNumber) != $BLANK
and string($deviceSerialNumber) =
string(bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDevice
List[deviceSerialNumber=$oldDeviceSerialNumber]/deviceSerialNumber) ")

// If processType not found in configuration, add error message


if("string(eventBO/eventGrp/removeInstallEvent) = $BLANK or
string(eventBO/logMessageGrp/removeInstallEvent) = $BLANK")

move 'true' to $valFailed;

else
move "eventBO/eventGrp/removeInstallEvent" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/processType";
move "eventBO/logMessageGrp/removeInstallEvent" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/logMessageNumber";
move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/deviceId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/removalDeviceId";
move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/deviceConfigId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/removalDeviceConfigId";
move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/deviceId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/deviceId";
move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/deviceConfigId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/deviceConfigId";
move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/spId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/spId";

move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/installEventId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/installEventId";

//Remove Install Event


move 'RINE' to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/eventType";

move null to "F1-DateMath";


move "$s15DeviceSPList/installDateTime" to "F1-DateMath/beginDateTime";
move 'F1AT' to "F1-DateMath/option";
move '-1' to "F1-DateMath/seconds";
invokeBS 'F1-DateMath' using "F1-DateMath";

move "F1-DateMath/endDateTime" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/removalDateTime";

end-if;

end-if;

// If validation fails, add error message


if("string($valFailed) = 'true'")

// Invoke U1-RETMOFBO to retrive MOName


move null to "U1-RETMOFBO";
move "$boId" to "U1-RETMOFBO/bo";
invokeBS 'U1-RETMOFBO' using "U1-RETMOFBO";
move "U1-RETMOFBO/results/mo" to $commMO;

// Invoke F1-AddMOLog to add the error in MOLog


move null to "F1-AddMOLog";
move "$commMO" to "F1-AddMOLog/mo";
move 'F1SY' to "F1-AddMOLog/logEntryType";
move "$commId" to "F1-AddMOLog/pkValue1";
move "$msgCat" to "F1-AddMOLog/messageCategory";
move "$msgNum" to "F1-AddMOLog/messageNumber";
move
"bo_schema/inCommReceivedDetail[last()]/receivedDetail/mdlGrp/mtds/mma" to "F1-
AddMOLog/messageParm1";
invokeBS 'F1-AddMOLog' using "F1-AddMOLog";

end-for;

end-edit;
70: edit data

//If Meter Activity is New connection or Change of Supplier


if("$mma = 'A' or $mma = 'J'")

for($mpanSPDeviceList in
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceUsedForExchange=$BLANK)

//JAGAN ADDED
move "1+xs:integer($index)" to $index;

move 'false' to $valFailed;


move "$mpanSPDeviceList/deviceSerialNumber" to
$oldDeviceSerialNumber;

move "$mpanSPDeviceList/deviceType" to $deviceType;

move "$mpanSPDeviceList/spId" to $deviceSpId;


move "$mpanSPDeviceList/deviceId" to $deviceId;

if("string(bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15Process
List[seqNo = string($index)]/seqNo) = $BLANK")
move "$index" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/
+s15ProcessList/seqNo";
end-if;
move "$mpanSPDeviceList/marketMeterActivity" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/marketMeterActivity";

move "$mpanSPDeviceList/meterActivity" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/meterActivity";

if("string(bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDe
viceList[deviceSerialNumber=$oldDeviceSerialNumber]/deviceSerialNumber) != $BLANK
and string($deviceSerialNumber) =
string(bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDevice
List[deviceSerialNumber=$oldDeviceSerialNumber]/deviceSerialNumber) ")

// If processType not found in configuration, add error message


if("string(eventBO/eventGrp/removeInstallEvent) = $BLANK or
string(eventBO/logMessageGrp/removeInstallEvent) = $BLANK")

move 'true' to $valFailed;

else

move "eventBO/eventGrp/removeInstallEvent" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/processType";
move "eventBO/logMessageGrp/removeInstallEvent" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/logMessageNumber";
move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/deviceId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/removalDeviceId";
move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/deviceConfigId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/removalDeviceConfigId";
move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/deviceId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/deviceId";
move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/deviceConfigId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/deviceConfigId";
move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/spId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/spId";

move
"bo_schema/processDataDetail[last()]/processData/mpanSPDeviceGrp/mpanSPDeviceList[d
eviceSerialNumber=$oldDeviceSerialNumber]/installEventId" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/installEventId";
//Remove Install Event
move 'RINE' to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/eventType";

move null to "F1-DateMath";


move "$mpanSPDeviceList/installDateTime" to "F1-
DateMath/beginDateTime";
move 'F1AT' to "F1-DateMath/option";
move '-1' to "F1-DateMath/seconds";
invokeBS 'F1-DateMath' using "F1-DateMath";

move "F1-DateMath/endDateTime" to
"bo_schema/processDataDetail[last()]/processData/s15ProcessGrp/s15ProcessList[seqNo
= string($index)]/removalDateTime";

end-if;

end-if;

// If validation fails, add error message


if("string($valFailed) = 'true'")

// Invoke U1-RETMOFBO to retrive MOName


move null to "U1-RETMOFBO";
move "$boId" to "U1-RETMOFBO/bo";
invokeBS 'U1-RETMOFBO' using "U1-RETMOFBO";
move "U1-RETMOFBO/results/mo" to $commMO;

// Invoke F1-AddMOLog to add the error in MOLog


move null to "F1-AddMOLog";
move "$commMO" to "F1-AddMOLog/mo";
move 'F1SY' to "F1-AddMOLog/logEntryType";
move "$commId" to "F1-AddMOLog/pkValue1";
move "$msgCat" to "F1-AddMOLog/messageCategory";
move "$msgNum" to "F1-AddMOLog/messageNumber";
move
"bo_schema/inCommReceivedDetail[last()]/receivedDetail/mdlGrp/mtds/mma" to "F1-
AddMOLog/messageParm1";
invokeBS 'F1-AddMOLog' using "F1-AddMOLog";

end-for;
end-if;

invokeBO "$boId" using "bo_schema" for update;


end-edit;
999: terminate;

Das könnte Ihnen auch gefallen