{"text_format":"1","workbook":"xlsx","n_sheets":3,"sheets":["Revisions","Legenda","Rules"],"not_rendered":{"charts":0,"images":0,"macros":1,"external_links":1,"defined_names":6,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Revisions","index":0,"n_rows":2,"n_cols":2,"rows_kept":2,"cut":false,"hidden":false,"merged":[]}
["Version","Date"]
["2.4","2025-02-05"]

{"sheet":"Legenda","index":1,"n_rows":25,"n_cols":2,"rows_kept":25,"cut":false,"hidden":false,"merged":[]}
["Notation","Description"]
["X","Applicable validation (by Validation Service)"]
["T","Technical validation (by Market Portal using XSD)"]
["C","Conditional validation (by Market Portal using XSD), currently marked attributes are treated as (always) required"]
["O","Obsolete validation (can be removed)"]
[null,"Added/changed rule or cell"]
[null,"Removed cell"]
[null,"Rule/cell has open issue"]
[null,"Unused rule"]
[]
["Rule type","Type description"]
["Calculation","Validation of rule involves calculations to be performed"]
["Default","Validation of rule involves default values to be applied"]
["Dependency","Validation of rule involves current data within same entities/state to be checked"]
["Domain","Validation of rule involves domain values to be checked"]
["Format","Validation of rule involves formatting to be checked"]
["Obligation","Validation of rule involves mandatory/conditional values to be checked"]
["Reference","Validation of rule involves additional data outside entities/state to be checked"]
[]
["Abbreviation","Entity description"]
["<MSG>","Payload part of received Transaction Message"]
["[XYZ]","Section within payload part of received Transaction Message (entity related)"]
["MSG","Message part of received Transaction Message"]
["TRX","Transaction part of received Transaction Message"]
["<3LA>","See design FD.CMD.LDM (database entity)"]

{"sheet":"Rules","index":2,"n_rows":771,"n_cols":138,"rows_kept":562,"cut":true,"hidden":false,"merged":[[0,1,0,12],[0,53,0,57],[0,58,0,63],[0,64,0,68],[0,69,0,77],[0,39,0,50],[0,78,0,92],[0,93,0,113],[0,114,0,122],[0,123,0,125],[0,13,0,33],[0,34,0,38],[0,126,0,128],[0,129,0,133]],"bounds":{"rows_first":250,"rows_last":62,"rows_between":250,"halvings":3}}
[{"$f":"EE1","v":"Count\nof VR"},"Validation Rule\nDefinition",null,null,null,null,null,null,null,null,null,null,null,"Accounting Point\nTransactions",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Community\nTransactions",null,null,null,null,"Agreement\nTransactions",null,null,null,null,null,null,null,null,null,null,null,null,null,"Authorisation\nTransactions",null,null,null,null,"Customer\nTransactions",null,null,null,null,null,"Invoice Row\nTransactions",null,null,null,null,"Organisation Transactions",null,null,null,null,null,null,null,null,"Product Transactions",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Imbalance Settlement Transactions",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Bulk Transactions",null,null,null,null,null,null,null,null,"User Identity Transactions",null,null,"MOP Transactions",null,null,"Reporting",null,null,null,null,"Count\nof VR","Group"]
[{"$f":"EE2","v":"     Number of occurrences that VR is used"},"\n\n\n\n\n\n\nRule\nNumber","Validation rules assume message segments/attributes to be available/submitted (i.e. not missing) with real values (i.e. not null/empty and not filled with just blanks). For example, Obligation rules will fail otherwise. Of course, rules on optional segments/attributes need not be validated if (a value for) that segment/attribute has not been submitted.\n\nRule\nDescription","Conditions are negative, i.e. if met the validation rule is violated (causing a rejection)\n\n\n\n\n\nRule\nAttributes","\n\n\n\n\n\n\nRule\nType","       Blocking Rule?","\n\n\n\n\n\n\nRule\nChannel","\n\n\n\n\n\n\nRule\nExplanation","In the exception messages below, <x> is a placeholder to be filled with the actual value of the specified exception detail.\n\n\n\n\nException\nMessage","In the exception details below, <x> refers to the placeholder in the specified exception message, e.g. the actual value appears as 'ABC12345'.\n\n\n\n\nException\nDetails","\n\n\n\n\n\n\nData\nItem","\n\n\n\n\n\n\nError\nCode","\n\n\n\n\n\n\nReason\nCode","ACP.LSI.REQ","ACP.RTC.REQ","ACP.RTW.REQ","ACP.RTD.REQ","ACP.RTT.REQ","ACP.CRE.REQ","ACP.UPD.REQ","ACP.UPD.EAC.REQ","ACP.UPD.MTS.REQ","ACP.CRE.REL","ACP.END.REL","ACP.UPS.REQ","ACP.CND.REQ","ACP.CDD.REQ","ACP.CNS.REQ","ACP.CAC.REQ","ACP.DCD.REQ","ACP.DDD.REQ","ACP.DCS.REQ","ACP.CAD.REQ","ACP.DEL.REQ","ECY.CRE","ECY.UPD","ECY.END","ECY.UPD.OWN","ECM.SET","AGR.MVO.REQ","AGR.CRE.SLS.REQ","AGR.CNF.GRD.REQ","AGR.UPD.SLS.REQ","AGR.UPD.GRD.REQ","AGR.END.SLS.REQ","AGR.END.GRD.REQ","AGR.CAN.SLS.REQ","AGR.CAN.GRD.REQ","AGR.CAN.MOP.REQ","AGR.RFS.SLS.REQ","AGR.RFS.GRD.REQ","AGR.CNE.SLS.REQ","AGR.CNE.GRD.REQ","AGR.CRD.AUT.REQ","AGR.CRS.AUT.REQ","AGR.CRT.AUT.REQ","AGR.CRC.AUT.REQ",null,"CUS.UPD.REQ","CUS.UPS.REQ","CUS.UPT.REQ","CUS.UPM.REQ","CUS.UPM.RBF.REQ","CUS.UPM.MRG.REQ","IVR.CRS.REQ","IVR.CRD.REQ","IVR.RTS.REQ","IVR.RTD.REQ","IVR.RTT.REQ","ORG.LSS.REQ","ORG.LSD.REQ","ORG.LSP.REQ","ORG.CRE.REQ","ORG.UPD.REQ","OAD.CRE.REQ","OAD.UPD.REQ","OCT.CRE.REQ","OCT.UPD.REQ","PRD.CRS.REQ","PRD.CRD.REQ","PRD.LSS.REQ","PRD.LSD.REQ","PRD.LST.REQ","PRD.UPS.REQ","PRD.UPD.REQ","PRC.UPS.REQ","PRC.UPD.REQ","PRC.UPM.REQ","TSV.UPS.REQ","TSV.UPD.REQ","TSV.RTS.REQ","TSV.RTD.REQ","TSV.RTT.REQ","BSC.CRE.NTF","BSC.ACC.ISR.REQ","BSC.REJ.ISR.REQ","BSC.ACC.MOP.REQ","BSC.DEA.BLK.REQ","VPU.CRE.NTF","VPU.ACC.ISR.REQ","VPU.REJ.ISR.REQ","VPU.ACC.MOP.REQ","VPU.DEA.BLK.REQ","BSC.END.CRE.NTF","BSS.ACC.MOP.REQ","VPU.UPD. NTF","PRU.CRE.NTF","PRU.ACC.ISR.REQ","PRU.REJ.ISR.REQ","PRU.ACC.MOP.REQ","PUV.UPD. NTF","PUV.ACC.ISR.REQ","PUV.REJ.ISR.REQ","PUV.ACC.MOP.REQ","MPT.BLK.PRC.REQ","AGS.BLK.PRC.REQ","EYU.BLK.PRC.REQ","AGA.BLK.PRC.REQ","CHN.BLK.CNT","CHN.BLK.UPD","PUT.BLK.UPD.REQ","CRG.BLK.UPD","CHD.BLK.C15","UID.CRE.POR","UID.UPD.POR","Standard CMS deviation","CUS.UPRM.REQ","ACP.UPM.RES.REQ","SMT.BDC.MCB","DHB.RPT.IER ","DHB.RPT.AWG ","DHB.RPT.013 ","DHB.RPT.AVC.PRG","DHB.RPT.STA.MTD ","     Number of occurrences that VR is used"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(N4:N769,\"X*\")","v":8},5,8,6,6,41,59,11,14,19,12,29,19,8,15,8,21,8,8,8,11,22,24,8,7,7,25,124,49,63,44,35,{"$f":"COUNTIF(AT4:AT769,\"X*\")","v":36},21,15,9,25,20,12,15,20,23,22,16,0,43,46,43,4,5,9,7,6,3,3,3,5,5,5,9,8,9,9,6,{"$f":"COUNTIF(BZ4:BZ769,\"X*\")","v":6},12,12,3,3,3,9,9,9,9,7,36,36,4,4,4,1,1,1,0,0,1,1,1,0,0,0,0,0,0,1,1,{"$f":"COUNTIF(DF4:DF769,\"X*\")","v":0},0,1,1,0,24,8,8,12,12,4,3,1,12,1,1,1,42,1,{"$f":"COUNTIF(DY4:DY769,\"X*\")","v":10},{"$f":"COUNTIF(DZ4:DZ771,\"X*\")","v":1},{"$f":"COUNTIF(EA4:EA769,\"X*\")","v":1},{"$f":"COUNTIF(EB4:EB769,\"X*\")","v":1},{"$f":"COUNTIF(EC4:EC771,\"X*\")","v":1},{"$f":"COUNTIF(ED4:ED769,\"X*\")","v":1},{"$f":"SUM(EE5:EE769)","v":1513},"Changes"]
[null,null,"General Messaging",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE5","v":28},"VR.MSG.008.100B","Requesting Market Party must use \"Grid Access Provider\" as Process Role.","MSG.ProcessRole <> DDM","Domain","Y","B2B/GUI",null,"Invalid process role '<1>' when executing system function '<2>' with market role '<3>'.","<1>=MSG.ProcessRole.Value\n<2>=TRX.ExternalTransactionType.Value\n<3>=MSG.MarketRole.Value","DI.MSG.008","EC.MSG.100","RC.MSG.100",null,null,null,"X",null,"X","X","X",null,"X","X",null,"X","X",null,null,"X","X",null,null,"X","X","X","X",null,null,null,null,"X",null,"X",null,null,null,"X",null,null,"X",null,"X","X",null,null,null,null,"X",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,"X",null,"X",null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G5,\"State*\")+COUNTIF(N5:ED5,\"X*\")+COUNTIF(N5:ED5,\"T*\")","v":28}]
[19,"VR.MSG.008.100C","Requesting Market Party must use \"Balance Power Supplier\" as Process Role.","MSG.ProcessRole <> DDQ","Domain","Y","B2B/GUI",null,"Invalid process role '<1>' when executing system function '<2>' with market role '<3>'.","<1>=MSG.ProcessRole.Value\n<2>=TRX.ExternalTransactionType.Value\n<3>=MSG.MarketRole.Value","DI.MSG.008","EC.MSG.100","RC.MSG.100",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,"X","X",null,null,null,null,null,null,"X","X",null,"X",null,null,null,null,null,null,"X",null,"X",null,null,"X",null,null,null,null,"X",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,"X",null,"X",null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19]
[6,"VR.MSG.008.100D","If requesting Market Party has Market Role \"Balance Power Supplier\", then \"Balance Power Supplier\" must be used as Process Role.","MSG.MarketRole = DDQ and\nMSG.ProcessRole <> DDQ","Domain","Y","B2B/GUI",null,"Invalid process role '<1>' when executing system function '<2>' with market role '<3>'.","<1>=MSG.ProcessRole.Value\n<2>=TRX.ExternalTransactionType.Value\n<3>=MSG.MarketRole.Value","DI.MSG.008","EC.MSG.100","RC.MSG.100","X",null,"X",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,6]
[5,"VR.MSG.008.100E","Requesting Market Party must use \"Energy Service Company\" as Process Role.","MSG.ProcessRole <> ESC","Domain","Y","B2B",null,"Invalid process role '<1>' when executing system function '<2>' with market role '<3>'.","<1>=MSG.ProcessRole.Value\n<2>=TRX.ExternalTransactionType.Value\n<3>=MSG.MarketRole.Value","DI.MSG.008","EC.MSG.100","RC.MSG.100",null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,5]
[3,"VR.MSG.008.100F","If requesting Market Party has Market Role \"Third Party\", then \"Energy Service Company\" must be used as Process Role.","MSG.MarketRole = THP and \nMSG.ProcessRole <> ESC","Domain","Y","B2B/GUI",null,"Invalid process role '<1>' when executing system function '<2>' with market role '<3>'.","<1>=MSG.ProcessRole.Value\n<2>=TRX.ExternalTransactionType.Value\n<3>=MSG.MarketRole.Value","DI.MSG.008","EC.MSG.100","RC.MSG.100","X",null,"X",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[6,"VR.MSG.008.100H","Requesting Market Party must use \"Market Information Aggregator\" as Process Role.","MSG.ProcessRole <> MIA","Domain","Y","GUI",null,"Invalid process role '<1>' when executing system function '<2>' with market role '<3>'.","<1>=MSG.ProcessRole.Value\n<2>=TRX.ExternalTransactionType.Value\n<3>=MSG.MarketRole.Value","DI.MSG.008","EC.MSG.100","RC.MSG.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,6]
[1,"VR.MSG.008.100I","Requesting Market Party must use \"Billing Agent\" as Process Role.","MSG.ProcessRole <> Z08","Domain","Y","B2B/GUI",null,"Invalid process role '<1>' when executing system function '<2>' with market role '<3>'.","<1>=MSG.ProcessRole.Value\n<2>=TRX.ExternalTransactionType.Value\n<3>=MSG.MarketRole.Value","DI.MSG.008","EC.MSG.100","RC.MSG.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[4,"VR.MSG.008.100J","If requesting Market Party has Market Role \"Market Operator\", then \"Market Information Aggregator\" must be used as Process Role.","MSG.MarketRole = MOP and \nMSG.ProcessRole <> MIA","Domain","Y","GUI",null,"Invalid process role '<1>' when executing system function '<2>' with market role '<3>'.","<1>=MSG.ProcessRole.Value\n<2>=TRX.ExternalTransactionType.Value\n<3>=MSG.MarketRole.Value","DI.MSG.008","EC.MSG.100","RC.MSG.100",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[{"$f":"EE13","v":3},"VR.MSG.008.100K","If requesting Market Party has Market Role \"Distribution System Operator\", then \"Grid Access Provider\" must be used as Process Role.","MSG.MarketRole = DSO and \nMSG.ProcessRole <> DDM","Domain","Y","GUI",null,"Invalid process role '<1>' when executing system function '<2>' with market role '<3>'.","<1>=MSG.ProcessRole.Value\n<2>=TRX.ExternalTransactionType.Value\n<3>=MSG.MarketRole.Value","DI.MSG.008","EC.MSG.100","RC.MSG.100",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[1,"VR.MSG.008.100L","System must use \"Customer Access Portal\" as Process Role.","MSG.ProcessRole <> CAP","Domain","Y","GUI",null,"Invalid process role '<1>' when executing system function '<2>' with market role '<3>'.","<1>=MSG.ProcessRole.Value\n<2>=TRX.ExternalTransactionType.Value\n<3>=MSG.MarketRole.Value","DI.MSG.008","EC.MSG.100","RC.MSG.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE15","v":1},"VR.MSG.006.201A","Requesting Organisation is either the Current Supplier or the Leaving Supplier on the requested Start of Occurrence.","NOT(EXIST(\nAGR.OrganisationIdentifier = MSG.JuridicalSender AND AGR.AgreementType = 12/LVG AND\nAGR.AgreementStatus = CFD AND\nAGR.ValidFromDate <= <MSG>.StartOfOccurrence AND AGR.ValidToDate > <MSG>.StartOfOccurrence AND\nAGR.AgreementStartDate <= <MSG>.StartOfOccurrence AND\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence))","Reference","Y","B2B/GUI","TDS.SenderBusinessRole must be either CDDQ or LDDQ (both checked against reported date).","Requesting organisation '<1>' isn't the Current or Leaving Supplier.","<1>=MSG.JuridicalSender.Value\n\n","DI.MSG.006","EC.MSG.201","RC.MSG.201",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE16","v":1},"VR.MSG.006.201B","Requesting Organisation is either the Current Supplier on the (Pre-)Sales Agreement or the Leaving Supplier on the date that the update request is submitted.","NOT(EXIST(\nAGR1.AgreementIdentification = <MSG>.AgreementIdentification AND\nAGR1.OrganisationIdentifier = MSG.JuridicalSender AND\nAGR1.AgreementType = PSL/12/LVG AND\nAGR1.AgreementStatus = CFD AND\nAGR2.ValidFromDate <= MSG.MessageTimestamp AND\nAGR2.ValidToDate > MSG.MessageTimestamp\n))","Reference","Y","B2B/GUI","Only allowed for leaving/current/ future Supplier.","Requesting organisation '<1>' isn't the Current or Leaving Supplier.","<1>=MSG.JuridicalSender.Value\n\n","DI.MSG.006","EC.MSG.201","RC.MSG.201",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MSG.006.202","Requesting Organisation must be Current DSO on the date that the requested update becomes effective (i.e. Start of Occurrence).","NOT(EXIST(\nAGR.OrganisationIdentifier = MSG.JuridicalSender AND AGR.AgreementIdentification = <MSG>.AgreementIdentification AND AGR.AgreementType = 11 AND\nAGR.AgreementStatus = CFD AND\nAGR.ValidFromDate <= <MSG>.StartOfOccurrence AND AGR.ValidToDate > <MSG>.StartOfOccurrence AND\nAGR.AgreementStartDate <= <MSG>.StartOfOccurrence AND\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence))","Dependency","Y","B2B/GUI",null,"Requesting organisation '<1>' isn't the Current DSO.","<1>=MSG.JuridicalSender.Value","DI.MSG.006","EC.MSG.202","RC.MSG.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE18","v":2},"VR.MSH.001.001","When the channel is B2B, the SendMessageRequest operation should be used instead of ProcessMessageRequest operation.","<MSG>.Channel = B2B AND  <MSG>.InternalMessageType <> MSG.SND","Dependency","Y","B2B",null,"When the channel is B2B, the SendMessageRequest operation should be used instead of ProcessMessageRequest operation.",null,"DI.MSH.001","EC.MSH.001","RC.MSH.001",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[8,"VR.TRP.021.200","Value of reported Receiving Document Received must already exist in the system.","NOT(EXISTS(TDS.ExternalMessageID =\n<MSG>.[ACD]ReceivingDocumentReceived))","Dependency","Y","B2B","TDS.ExternalMessageID must have been registered before with reported document.","ReceivingDocumentReceived with value '<1>' does not exist in the system as an ExternalMessageID.","<1>=<MSG>.ACD.ReceivingDocumentReceived","DI.TDS.021","EC.TRP.200","RC.TRP.200",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,"X","X",null,null,null,null,null,null,"X","X",null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8]
[null,null,"Energy Communities",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE21","v":1},"VR.ECY.003.100","Energy Community Identifier does not exist yet in the system.","EXISTS(ECY.EnergyCommunityIdentifier = <MSG>.EnergyCommunityIdentifier) ","Dependency","Y","B2B/GUI","Energy community identifier must be unique (i.e. cannot be reused).","Attribute '<1>' with value '<2>' already exists in the system. ","<1>=<MSG>.EnergyCommunityIdentifier.Label\n<2>=<MSG>.EnergyCommunityIdentifier.Value","DI.ECY.003","EC.ECY.100","RC.ECY.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G21,\"State*\")+COUNTIF(N21:ED21,\"X*\")+COUNTIF(N21:ED21,\"T*\")","v":1}]
[{"$f":"EE22","v":1},"VR.ECY.003.101","Energy Community Identifier must be in the correct format: the first part of the identifier (prefix) must match with the GLN code of the responsible DSO.","Left(<MSG>.EnergyCommunityIdentifier,13) <> MSG.JuridicalSender","Format","N","B2B/GUI","Reject if prefix(13) <> GLN(13).","Value '<1>' invalid, attribute '<2>' does not start with the GLN code of the responsible organisation '<3>'.","<1>=<MSG>.EnergyCommunityIdentifier.Value\n<2>=<MSG>.EnergyCommunityIdentifier.Label\n<3>=MSG.JuridicalSender.Value","DI.ECY.003","EC.ECY.101","RC.ECY.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[3,"VR.ECY.004.102A","Start of Occurrence must have time as local midnight.","localtime(<MSG>.StartOfOccurrence, 'HH:MM:SS') <> '00:00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be local midnight time.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value","DI.ECY.004","EC.ECY.102","RC.ECY.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[{"$f":"EE24","v":1},"VR.ECY.004.102B","End of Occurrence must have time as local midnight.","localtime(<MSG>.EndOfOccurrence, 'HH:MM:SS') <> '00:00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be local midnight time.","<1>=<MSG>.EndOfOccurrence.Label\n<2>=<MSG>.EndOfOccurrence.Value","DI.ECY.004","EC.ECY.102","RC.ECY.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE25","v":1},"VR.ECY.004.103A","Start of Occurrence is in accordance with the business process timelines (i.e. using applicable configuration parameters).","<MSG>.StartOfOccurrence <\nToday + CP_ECYCRE_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_ECYCRE_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ECY.CRE process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_ECYCRE_MIN_PERIOD\n<4>= Today+CP_ECYCRE_MAX_PERIOD","DI.ECY.004","EC.ECY.103","RC.ECY.103",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE26","v":1},"VR.ECY.004.103B","Start of Occurrence is in accordance with the business process timelines (i.e. using applicable configuration parameters).","<MSG>.StartOfOccurrence <\nToday + CP_ECYUPD_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_ECYUPD_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ECY.UPD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_ECYUPD_MIN_PERIOD\n<4>= Today+CP_ECYUPD_MAX_PERIOD","DI.ECY.004","EC.ECY.103","RC.ECY.103",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE27","v":1},"VR.ECY.004.103C","End of Occurrence is in accordance with the business process timelines (i.e. using applicable configuration parameters).","<MSG>.EndOfOccurrence <\nToday + CP_ECYEND_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_ECYEND_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ECY.END process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_ECYEND_MIN_PERIOD\n<4>= Today+CP_ECYEND_MAX_PERIOD","DI.ECY.004","EC.ECY.103","RC.ECY.103",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE28","v":1},"VR.ECY.004.104","Start of Occurrence is in accordance with the energy netting timelines (i.e. using applicable configuration parameter).","<MSG>.StartOfOccurrence <\nCP_GENERAL_ENERGY_NETTING_DATE","Calculation","N","B2B/GUI","Submitted start date is checked using general ENERGY_NETTING configuration parameter.","Value '<1>' invalid, attribute '<2>' must be a date on/after '<3>' as agreed in the market.","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>=CP_GENERAL_ENERGY_NETTING_DATE","DI.ECY.004","EC.ECY.104","RC.ECY.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE29","v":2},"VR.ECY.004.105A","Energy Community is Active on submitted Start of Occurrence.","NOT(EXISTS(\nECY.EnergyCommunityIdentifier = <MSG>.EnergyCommunityIdentifier and\nECY.EnergyCommunityStatus = [ACT] and\nECY.RetiredTimestamp = null and\nECY.ValidFromDate <= <MSG>.StartOfOccurrence and\nECY.ValidTodate > <MSG>.StartOfOccurrence))","Dependency","N","B2B/GUI","Submitted update date is checked against existing ECY start date.","Attribute '<1>' with value '<2>' is not active on date '<3>'.","<1>=ECY.EnergyCommunityIdentifier.Label\n<2>=<MSG>.EnergyCommunityIdentifier.Value\n<3>=<MSG>.StartOfOccurrence.Value","DI.ECY.004","EC.ECY.105","RC.ECY.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.ECY.004.105B","Energy Community is Active on submitted End of Occurrence.","NOT(EXISTS(\nECY.EnergyCommunityIdentifier = <MSG>.EnergyCommunityIdentifier and\nECY.EnergyCommunityStatus = [ACT] and\nECY.RetiredTimestamp = null and\nECY.ValidFromDate <= <MSG>.EndOfOccurrence and\nECY.ValidTodate > <MSG>.EndOfOccurrence))","Dependency","N","B2B/GUI","Submitted end date is checked against existing ECY start date.","Attribute '<1>' with value '<2>' is not active on date '<3>'.","<1>=ECY.EnergyCommunityIdentifier.Label\n<2>=<MSG>.EnergyCommunityIdentifier.Value\n<3>=<MSG>.EndOfOccurrence.Value","DI.ECY.004","EC.ECY.105","RC.ECY.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[3,"VR.ECY.003.106","Energy Community Identifier must exist in the system.","NOT(EXISTS(ECY.EnergyCommunityIdentifier = <MSG>.EnergyCommunityIdentifier)) ","Dependency","Y","B2B/GUI","Energy community identifier must have been used before.","Attribute '<1>' with value '<2>' does not exist in the system. ","<1>=<MSG>.EnergyCommunityIdentifier.Label\n<2>=<MSG>.EnergyCommunityIdentifier.Value","DI.ECY.003","EC.ECY.106","RC.ECY.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[{"$f":"EE32","v":1},"VR.ECY.003.107A","Energy Community must be owned by the reporting DSO.","NOT(EXISTS(\nECY.EnergyCommunityIdentifier = <MSG>.EnergyCommunityIdentifier and\nECY.ValidFromDate <= <MSG>.StartOfOccurrence and\nECY.ValidTodate > <MSG>.StartOfOccurrence and\nECY.ResponsibleDSO = MSG.JuridicalSender))","Dependency","Y","B2B/GUI","Only responsible DSO can update own energy community. ","Attribute '<1>' with value '<2>' not allowed, the energy community does not belong to the reporting organisation.","<1>=<MSG>.EnergyCommunityIdentifier.Label\n<2>=<MSG>.EnergyCommunityIdentifier.Value","DI.ECY.003","EC.ECY.107","RC.ECY.107",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.ECY.003.107B","Energy Community must be owned by the reporting DSO.","NOT(EXISTS(\nECY.EnergyCommunityIdentifier = <MSG>.EnergyCommunityIdentifier and\nECY.ValidFromDate <= <MSG>.EndOfOccurrence and\nECY.ValidTodate > <MSG>.EndOfOccurrence and\nECY.ResponsibleDSO = MSG.JuridicalSender))","Dependency","Y","B2B/GUI","Only responsible DSO can end own energy community. ","Attribute '<1>' with value '<2>' not allowed, the energy community does not belong to the reporting organisation.","<1>=<MSG>.EnergyCommunityIdentifier.Label\n<2>=<MSG>.EnergyCommunityIdentifier.Value","DI.ECY.003","EC.ECY.107","RC.ECY.107",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.ECY.013.108","Surplus Method cannot be changed (i.e. must be same value as currently registered on Start Of Occurrence).","EXISTS(\nECY.EnergyCommunityIdentifier = <MSG>.EnergyCommunityIdentifier and ECY.SurplusMethod <> <MSG>.SurplusMethod and\nECY.RetiredTimestamp = null and\nECY.ValidFromDate <= <MSG>.StartOfOccurrence and ECY.ValidTodate > <MSG>.StartOfOccurrence)","Dependency","N","B2B/GUI","Changing surplus method is not allowed, i.e. submitted value must be same as currently registered value. ","Attribute '<1>' with value '<2>' not allowed, surplus method cannot be changed.","<1>=ECY.SurplusMethod.Label\n<2>=<MSG>.SurplusMethod.Value","DI.ECY.013","EC.ECY.108","RC.ECY.108",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.ECY.003.109","Energy Community cannot have duplicate Consumption/ Production Members.","COUNT(<MSG>.[CAPn/PAPn]MeteringPointEAN) <> COUNT(distinct <MSG>.[CAPn/PAPn]MeteringPointEAN)","Calculation","N","B2B/GUI","All submitted consumption and production members are taken into account.","Energy community identified with '<1>' has duplicate consumption and/or production members.","<1>=<MSG>.EnergyCommunityIdentifier.Value","DI.ECY.003","EC.ECY.109","RC.ECY.109",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE36","v":2},"VR.ECY.013.110","If the Energy Community has surplus method A, then all Accounting Points reported as Production Members must have a subtype other than Virtual.","<MSG>.SurplusMethod = SMA and\nCOUNT(\nMPT.MeteringPointEAN = <MSG>.[PAPn]MeteringPointEAN and\nMPT.AccountingPointSubtype = AQ04 and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidToDate > <MSG>.StartOfOccurrence\n) > 0 ","Calculation","N","B2B/GUI","All submitted production members are taken into account.","Energy community '<1>' with surplus method A cannot have virtual production members.","<1>=<MSG>.EnergyCommunityIdentifier.Value","DI.ECY.013","EC.ECY.110","RC.ECY.110",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE37","v":1},"VR.ECY.012.111","The new Responsible DSO differs from the current Responsible DSO of the reported Energy Community (on Start Of Occurrence).","EXISTS(\nECY.EnergyCommunityIdentifier =\n<MSG>.EnergyCommunityIdentifier and\nECY.ResponsibleDSO = <MSG>.ResponsibleDSO and\nECY.ValidFromDate <= <MSG>.StartOfOccurrence and\nECY.ValidTodate > <MSG>.StartOfOccurrence)","Dependency","N","GUI","Same DSO would not be a change of ownership.","The new responsible DSO '<1>' cannot be the same as the current responsible DSO '<2>' of the energy community identified with '<3>'.","<1>=<MSG>.ResponsibleDSO.Value\n<2>=ECY.ResponsibleDSO.Value\n<3>=<MSG>.EnergyCommunityIdentifier.Value","DI.ECY.012","EC.ECY.111","RC.ECY.111",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[8,"VR.ECY.002.112","There is no other Business Transaction Dossier for the involved Energy Community that has a BTD step \"Process Derived Channel Classes and Source Channels Action\" with status other than \"Done for execution\".","EXISTS(\n((ECY.EnergyCommunityIdentifier =\n<MSG>.EnergyCommunityIdentifier and\nTDC.EntityID = ECY.EnergyCommunityID) or\n(ECM.MeteringPointEAN =\n<MSG>.(Related)MeteringPointEAN and\nTDC.EntityID = ECM.EnergyCommunityMemberID)) and\nTDC.BTDCoreID <> (BTD of current process) and\nTDS.BTDCoreID = TDC.BTDCoreID and\nTDS.StepType = PRC.DCC.CHN.ACT and\nTDS.StepStatus <> DFE)","Reference","Y","B2B/GUI","During transaction processing the system decides whether it is needed to invoke the subprocess that determines if the Derived Channel Classes and its associated Source Channels have changed for the members of the involved Energy Community. However, if the same subprocess is currently still running due to another/earlier transaction then this subprocess occurence must be completed first (i.e. new transaction/process is rejected).","Transaction '<1>' not allowed, another transaction is still running that locks the subprocess for determining changes to derived channel classes and associated source channels.","<1>=TDC.TransactionType\n        (of new process being validated)","DI.ECY.002","EC.ECY.112","RC.ECY.112",null,null,null,null,null,null,"X",null,"X","X","X",null,"X",null,null,null,"X",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8]
[1,"VR.ECY.015.113","An energy community can not be ended if it already has an end date.","EXISTS(\nECY.EnergyCommunityIdentifier =\n<MSG>.EnergyCommunityIdentifier and\nECY.EndDate <> null)","Reference","N","B2B/GUI","An energy community can not be ended if it already has an end date.","Energy community with identification '<1>' can not be ended because it already has an end date '<2>'.","<1>=<MSG>.EnergyCommunityIdentifier.Value\n<2>=ECY.EndDate.Value","DI.ECY.015","EC.ECY.113","RC.ECY.113",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"Energy Community Members",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE41","v":2},"VR.ECM.004.100","The Accounting Point reported as a (Consumption or Production) Member is not already an active member of an(other) Energy Community on/after Start of Occurrence.","EXISTS(ECM.MeteringPointEAN = <MSG>.[CAPn/PAPn]MeteringPointEAN and ECM.MemberStatus = ACT and ECM.EnergyCommunityIdentifier <> <MSG>.EnergyCommunityIdentifier and ECM.ValidFromDate >= <MSG>.StartOfOccurence) ","Dependency","Y","B2B/GUI","Energy community member must be unique (i.e. cannot belong to multiple energy communities).","Attribute '<1>' with value '<2>' already exists within energy community '<3>'. ","<1>=<MSG>.[CAPn/PAPn]MeteringPointEAN.Label\n<2>=<MSG>.[CAPn/PAPn]MeteringPointEAN.Value\n<3>=ECM.EnergyCommunityIdentifier.Value","DI.ECM.004","EC.ECM.100","RC.ECM.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G41,\"State*\")+COUNTIF(N41:ED41,\"X*\")+COUNTIF(N41:ED41,\"T*\")","v":2}]
[{"$f":"EE42","v":2},"VR.ECM.004.101","All reported Accounting Points belong to the same Metering Grid Area (on Start Of Occurrence).","COUNT(DISTINCT(MPT.MeteringGridAreaCode where \nMPT.MeteringPointEAN = <MSG>.[CAPn/PAPn]MeteringPointEAN and MPT.ValidFromDate <= <MSG>.StartOfOccurence and MPT.ValidToDate > <MSG>.StartOfOccurence)) > 1","Reference","N","B2B/GUI","Both all consumption ACPs and all production ACPs must have same MGA.","Not all members of the energy community identified with '<1>' belong to the same metering grid area.","<1>=<MSG>.EnergyCommunityIdentifier.Value","DI.ECM.004","EC.ECM.101","RC.ECM.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE43","v":1},"VR.ECM.004.101B","All member Accounting Points belong to the same Metering Grid Area (on Start Of Occurrence).","COUNT(DISTINCT(MPT.MeteringGridAreaCode where \nMPT.EnergyCommunityIdentifier = <MSG>.EnergyCommunityIdentifier and MPT.ValidFromDate <= <MSG>.StartOfOccurence and MPT.ValidToDate > <MSG>.StartOfOccurence)) > 1","Reference","N","GUI","All member ACPs must have same MGA.","Not all members of the energy community identified with '<1>' belong to the same metering grid area.","<1>=<MSG>.EnergyCommunityIdentifier.Value","DI.ECM.004","EC.ECM.101","RC.ECM.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE44","v":2},"VR.ECM.011.102A","There are at least two Accounting Points reported as a Consumption Member within the Energy Community.","COUNT(<MSG>.[CAPn]MeteringPointEAN) <= 1","Calculation","N","B2B/GUI",null,"Energy community identified with '<1>' must have at least '<2>' member(s) reported as an accounting point of type '<3>'.","<1>=<MSG>.EnergyCommunityIdentifier.Value\n<2>=[2]\n<3>=[Consumption]","DI.ECM.011","EC.ECM.102","RC.ECM.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE45","v":2},"VR.ECM.011.102B","There is at least one Accounting Point reported as a Production Member within the Energy Community.","COUNT(<MSG>.[PAPn]MeteringPointEAN) = 0","Calculation","N","B2B/GUI",null,"Energy community identified with '<1>' must have at least '<2>' member(s) reported as an accounting point of type '<3>'.","<1>=<MSG>.EnergyCommunityIdentifier.Value\n<2>=[1]\n<3>=[Production]","DI.ECM.011","EC.ECM.102","RC.ECM.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE46","v":2},"VR.ECM.015.103","There must be exactly one Accounting Point reported as a Production Member for community surplus that has a subtype other than Virtual and is active at the start of the Energy Community.","COUNT(<MSG>.[PAPn]IsSurplus = 1/true) <> 1 or\nEXISTS(MPT.MeteringPointEAN =  <MSG>.[PAPn]MeteringPointEAN and \n<MSG>.[PAPn]IsSurplus = 1/true and (MPT.AccountingPointSubtype = AQ04 or\nMPT.MeteringPointStatus = AE04/AE05) and\nMPT.ValidFromDate <= <MSG>.StartOfOccurence and MPT.ValidToDate > <MSG>.StartOfOccurence)","Reference","N","B2B/GUI","Active means neither ‘Removed from use’ nor ‘Deleted’. PAPn means status of MPT that has surplus must be checked.","Energy community identified with '<1>' does not have exactly 1 member that is reported as a surplus accounting point of type '<2>' or that member is virtual or not active from date '<3>'.","<1>=<MSG>.EnergyCommunityIdentifier.Value\n<2>=[Production]\n<3>=<MSG>.StartOfOccurrence","DI.ECM.015","EC.ECM.103","RC.ECM.103",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.ECM.016.104","The sum of all Percentages of the Accounting Points reported as a Consumption Member must be (exactly) 100.","SUM(<MSG>.[CAPn]Percentage) <> 100","Calculation","N","B2B/GUI",null,"Energy community identified with '<1>' does not have a total percentage of '<2>' for all members that are reported as an accounting point of type '<3>'.","<1>=<MSG>.EnergyCommunityIdentifier.Value\n<2>=[100%]\n<3>=[Consumption]","DI.ECM.016","EC.ECM.104","RC.ECM.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE48","v":2},"VR.ECM.017.105","If an Accounting Point reported as Production Member has a relation, then the related Accounting Point reported as Consumption Member cannot belong to another Energy Community.","EXISTS(MPT1.MeteringPointEAN = <MSG>.[PAPn]MeteringPointEAN and\nMPT1.RelatedMeteringPointID <> null and\nMPT1.ValidFromDate <= <MSG>.StartOfOccurrence and MPT1.ValidToDate > <MSG>.StartOfOccurrence) and\nEXISTS(MPT2.MeteringPointID =\nMPT1.RelatedMeteringPointID and\nMPT2.EnergyCommunityIdentifier <> <MSG>.EnergyCommunityIdentifier and\nMPT2.ValidFromDate <= <MSG>.StartOfOccurrence and MPT2.ValidToDate > <MSG>.StartOfOccurrence)","Reference","N","B2B/GUI","All submitted production members are taken into account.","Production accounting point '<1>' reported for energy community '<2>' cannot have a related consumption accounting point '<3>' that belongs to another energy community '<4>'.","<1>=<MSG>.[PAPn]MeteringPointEAN.Value\n<2>=<MSG>.EnergyCommunityIdentifier.Value\n<3>=MPT2.MeteringPointEAN.Value\n<4>=MPT2.EnergyCommunityIdentifier.Value","DI.ECM.017","EC.ECM.105","RC.ECM.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE49","v":1},"VR.ECM.004.106","The Metering Grid Area of all member Accounting Points belongs to the reported Responsible DSO (on Start of Occurrence).","EXISTS(\nECM.EnergyCommunityIdentifier =\n<MSG>.EnergyCommunityIdentifier and\nMPT.MeteringPointEAN = ECM.MeteringPointEAN and\nMGA.MeteringGridAreaCode = MPT.MeteringGridAreaCode and\nMGA.ResponsibleDSO <> <MSG>.ResponsibleDSO and\nMGA.ValidFromDate <= <MSG>.StartOfOccurrence and\nMGA.ValidTodate > <MSG>.StartOfOccurrence)","Reference","N","GUI","Ownership of an energy community can only be updated to new DSO if all members are owned at submitted date. ","Not all members of the energy community identified with '<1>' belong to the same responsible organisation '<2>'.","<1>=<MSG>.EnergyCommunityIdentifier.Value\n<2>=<MSG>.ResponsibleDSO","DI.ECM.004","EC.ECM.106","RC.ECM.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE50","v":1},"VR.ECM.004.107","Accounting point ID must be in the correct form (the check digit must be determined correctly).","isEAN18(<MSG>.MeteringPointEAN) = [0]","Calculation","Y","GUI","A GSRN code holds 18 digits, the last digit contains the checksum of the preceeding 17 digits, i.e. sum(odd x 3, even x 1) mod 10.","Attribute '<1>' invalid, value '<2>' is not a valid GSRN (wrong control digit).","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value","DI.ECM.004","EC.ECM.107","RC.ECM.107",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.ECM.016.108","Percentage for a Consumption Member must be a valid decimal.","isValidDecimal(<MSG>.Percentage) = [0]","Format","Y","GUI","Attribute value does not comply with decimal format.","Attribute '<1>' invalid for '<3>' '<4>', value '<2>' does not comply with the decimal format.","<1>=<MSG>.Percentage.Label\n<2>=<MSG>.Percentage.Value\n<3>=<MSG>.MeteringPointEAN.Label\n<4>=<MSG>.MeteringPointEAN.Value","DI.ECM.016","EC.ECM.108","RC.ECM.108",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.ECM.015.109","IsSurplus for a Production Member must be True or False.","<MSG>.IsSurplus <> [1] AND <MSG>.IsSurplus <> [0]","Domain","Y","GUI","IsSurplus is a boolean value.","Attribute '<1>' invalid for '<3>' '<4>', value '<2>' must be 'true' or 'false'.","<1>=<MSG>.IsSurplus.Label\n<2>=<MSG>.IsSurplus.Value\n<3>=<MSG>.MeteringPointEAN.Label\n<4>=<MSG>.MeteringPointEAN.Value","DI.ECM.015","EC.ECM.109","RC.ECM.109",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE53","v":1},"VR.ECM.015.110","IsSurplus is mandatory for a Production Member.","<MSG>.IsSurplus = null","Obligation","Y","GUI","Mandatory field is missing.","Mandatory field '<1>' is missing for '<2>' '<3>'. Did you use a semicolon (;) as a separator?","<1>=<MSG>.IsSurplus.Label\n<2>=<MSG>.MeteringPointEAN.Label\n<3>=<MSG>.MeteringPointEAN.Value","DI.ECM.015","EC.ECM.110","RC.ECM.110",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE54","v":1},"VR.ECM.016.110","Percentage is mandatory for a Consumption Member.","<MSG>.Percentage = null","Obligation","Y","GUI","Mandatory field is missing.","Mandatory field '<1>' is missing for '<2>' '<3>'. Did you use a semicolon (;) as a separator?","<1>=<MSG>.Percentage.Label\n<2>=<MSG>.MeteringPointEAN.Label\n<3>=<MSG>.MeteringPointEAN.Value","DI.ECM.016","EC.ECM.110","RC.ECM.110",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE55","v":1},"VR.ECM.004.112","Accounting Point ID is mandatory for an Energy Community Member.","<MSG>.MeteringPointEAN = null","Obligation","Y","GUI","Mandatory field is missing.","Mandatory field '<1>' is missing. Did you use a semicolon (;) as a separator?","<1>=<MSG>.MeteringPointEAN.Label","DI.ECM.004","EC.ECM.112","RC.ECM.112",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE56","v":1},"VR.ECM.004.113","Maximum number of (Consumption/Production) Members in the Energy Community has been exceeded.","COUNT(<MSG>.MeteringPointEAN) > CP_ECMSET_MAX_ECY_MEMBERS","Calculation","Y","GUI","Number of members in an energy community is limited to 10.000 per accounting point type.","Number of members is more than '<1>'.","<1>=CP_ECMSET_MAX_ECY_MEMBERS","DI.ECM.004","EC.ECM.113","RC.ECM.113",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"Accounting Points",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE58","v":2},"VR.MPT.029.024","Energy Community Identifier cannot be submitted.","<MSG>.EnergyCommunityIdentifier <> null","Obligation","N","B2B/GUI","Attribute is not allowed.","Attribute '<1>' invalid, value '<2>' is not allowed.","<1>=<MSG>.EnergyCommunityIdentifier.Label\n<2>=<MSG>.EnergyCommunityIdentifier.Value","DI.MPT.029","EC.CPF.024","RC.CPF.024",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G58,\"State*\")+COUNTIF(N58:ED58,\"X*\")+COUNTIF(N58:ED58,\"T*\")","v":2}]
[{"$f":"EE59","v":2},"VR.MPT.029.024B","Energy Community Name cannot be submitted.","<MSG>.EnergyCommunityName <> null","Obligation","N","B2B/GUI","Attribute is not allowed.","Attribute '<1>' invalid, value '<2>' is not allowed.","<1>=<MSG>.EnergyCommunityName.Label\n<2>=<MSG>.EnergyCommunityName.Value","DI.ECY.010","EC.CPF.024","RC.CPF.024",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE60","v":1},"VR.MPT.030.024C","Is Netting Applied cannot be submitted.","<MSG>.IsNettingApplied <> null","Obligation","N","B2B/GUI","Attribute is not allowed.","Attribute '<1>' invalid, value '<2>' is not allowed.","<1>=<MSG>.IsNettingApplied.Label\n<2>=<MSG>.IsNettingApplied.Value","DI.MPT.030","EC.CPF.024","RC.CPF.024",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE61","v":2},"VR.MPT.090.024","Related Accounting Point ID cannot be submitted.","<MSG>.RelatedMeteringPointEAN <> null","Obligation","N","B2B/GUI","Attribute is not allowed.","Attribute '<1>' invalid, value '<2>' is not allowed.","<1>=<MSG>.RelatedMeteringPointEAN.Label\n<2>=<MSG>.RelatedMeteringPointEAN.Value","DI.MPT.090","EC.CPF.024","RC.CPF.024",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE62","v":1},"VR.MPT.003.100","Accounting Point ID does not exist yet in the system.","<MSG>.MeteringPointEAN exists in MPT.MeteringPointEAN","Dependency","Y","B2B/GUI","Accounting point ID must be unique (i.e. cannot be reused).","Attribute '<1>' with value '<2>' already exists in the system. ","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.100","RC.MPT.100",null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.101","Accounting point ID must be in the correct form: the first part of the number must match with the GS1 company prefix of the DSO and the check digit must be determined correctly.","isEAN18(<MSG>.MeteringPointEAN) = [0]","Calculation","N","B2B/GUI","A GSRN code holds 18 digits, the first 9 digits starts with GS1 company prefix of DSO, the last digit contains the checksum of the preceeding 17 digits, i.e. sum(odd x 3, even x 1) mod 10.","Value '<1>' invalid, attribute '<2>' is not a valid GSRN (wrong control digit or does not start with the GS1 code of the requesting organisation).","<1>=<MSG>.MeteringPointEAN.Value\n<2>=<MSG>.MeteringPointEAN.Label","DI.MPT.003","EC.MPT.101","RC.MPT.101",null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.102","Accounting Point Status only allows the following domain: {APS_CRE}.","<MSG>.MeteringPointStatus not in {APS_CRE}","Domain","N","B2B/GUI","Only values from dedicated domain are valid.","Attribute '<1>' invalid, value '<2>' does not comply with the predefined domain.","<1>=<MSG>.MeteringPointStatus.Label\n<2>=<MSG>.MeteringPointStatus.Value","DI.MPT.010","EC.MPT.102","RC.MPT.102",null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE65","v":1},"VR.MPT.010.102A","Accounting Point Status only allows the following domain: {CNS}.","<MSG>.MeteringPointStatus not in {CNS}","Domain","N","B2B/GUI","Only values from dedicated domain are valid.","Attribute '<1>' invalid, value '<2>' does not comply with the predefined domain.","<1>=<MSG>.MeteringPointStatus.Label\n<2>=<MSG>.MeteringPointStatus.Value","DI.MPT.010","EC.MPT.102","RC.MPT.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[9,"VR.MPT.014.103","Metering Grid Area belongs to the requesting DSO on submitted Start of Occurrence.","NOT(EXISTS(\nMGA.MeteringGridAreaCode = <MSG>.MeteringGridAreaCode and\nMGA.ResponsibleDSO = MSG.JuridicalSender and\nMGA.ValidFromDate <= <MSG>.StartOfOccurrence and\nMGA.ValidTodate > <MSG>.StartOfOccurrence\n))","Reference","N","B2B/GUI","DSO can only manage accounting points in grid area(s) owned at submitted date. ","Attribute '<1>' with value '<2>' not allowed, the metering grid area does not belong to the requesting organisation.","<1>=MPT.MeteringGridAreaCode.Label\n<2>=<MSG>.MeteringGridAreaCode.Value","DI.MPT.014","EC.MPT.103","RC.MPT.103",null,null,null,"X",null,"X","X","X","X","X",null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9]
[4,"VR.MPT.014.103B","Metering Grid Area belongs to the requesting DSO on submitted End of Occurrence.","NOT(EXISTS(\nMGA.MeteringGridAreaCode = <MSG>.MeteringGridAreaCode and\nMGA.ResponsibleDSO = MSG.JuridicalSender and\nMGA.ValidFromDate <= <MSG>.EndOfOccurrence and\nMGA.ValidTodate > <MSG>.EndOfOccurrence\n))","Reference","N","B2B/GUI","DSO can only manage accounting points in grid area(s) owned at submitted date. ","Attribute '<1>' with value '<2>' not allowed, the metering grid area does not belong to the requesting organisation.","<1>=MPT.MeteringGridAreaCode.Label\n<2>=MPT.MeteringGridAreaCode.Value","DI.MPT.014","EC.MPT.103","RC.MPT.103",null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[2,"VR.MPT.020.104","Metering Method is mandatory if the Accounting Point Status is neither \"Under Construction\" nor \"Removed from Use\".","<MSG>.MeteringMethod = null and\n<MSG>.MeteringPointStatus not in {APS_CH2}","Obligation","N","B2B/GUI",null,"Attribute '<1>' is mandatory when accounting point status is '<2>'.","<1>=MPT.MeteringMethod.Label\n<2>=<MSG>.MeteringPointStatus.Value","DI.MPT.020","EC.MPT.104","RC.MPT.104",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.020.104B","When (dis)connecting an Accounting Point, the Metering Method is mandatory.","<MSG>.ConnectionStatus = AO01/AO02 and\nEXISTS(MPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nMPT.ValidToDate >\n<MSG>.StartOfOccurrence and MPT.MeteringMethod = null)","Obligation","N","B2B/GUI","Check mandatory attributes in database.","Attribute '<1>' is mandatory when connection status is '<2>'.","<1>=MPT.MeteringMethod.Label\n<2>=<MSG>.ConnectionStatus.Value","DI.MPT.020","EC.MPT.104","RC.MPT.104",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.023.105A","User Group is mandatory if the Accounting Point Type is \"Consumption\", and the Accounting Point Status is neither \"Under Construction\" nor \"Removed from Use\".","<MSG>.UserGroup = null and\n<MSG>.AccountingPointType = AG01 and\n<MSG>.MeteringPointStatus not in {APS_CH2}","Obligation","N","B2B/GUI","Check type/status in received message.","Attribute '<1>' is mandatory when accounting point type is '<2>' and accounting point status is '<3>'.","<1>=MPT.UserGroup.Label\n<2>=<MSG>.AccountingPointType.Value\n<3>=<MSG>.MeteringPointStatus.Value","DI.MPT.023","EC.MPT.105","RC.MPT.105",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.023.105B","When (dis)connecting an Accounting Point, the User Group is mandatory if the Accounting Point Type is \"Consumption\".","<MSG>.ConnectionStatus = AO01/AO02 and\nEXISTS(MPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nMPT.ValidToDate >\n<MSG>.StartOfOccurrence and\nMPT.AccountingPointType = AG01 and\nMPT.UserGroup = null)","Obligation","N","B2B/GUI","Check mandatory attributes in database.","Attribute '<1>' is mandatory when accounting point type is '<2>' and connection status is '<3>'.","<1>=MPT.UserGroup.Label\n<2>=MPT.AccountingPointType.Value\n<3>=<MSG>.ConnectionStatus.Value","DI.MPT.023","EC.MPT.105","RC.MPT.105",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.021.106","Fuse size is mandatory if the Accounting Point Status is neither \"Under Construction\" nor \"Removed from Use\", and the Connection Capacity has not been submitted.","<MSG>.FuseSize = null and\n<MSG>.ConnectionCapacity = null and\n<MSG>.MeteringPointStatus not in {APS_CH2}","Obligation","N","B2B/GUI",null,"Attribute '<1>' is mandatory when accounting point status is '<2>' and attribute '<3>' is not submitted.","<1>=MPT.FuseSize.Label\n<2>=<MSG>.MeteringPointStatus.Value\n<3>=MPT.ConnectionCapacity.Label","DI.MPT.021","EC.MPT.106","RC.MPT.106",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.021.106B","When (dis)connecting an Accounting Point, the Fuse size is mandatory if the Electric Power has not been reported.","<MSG>.ConnectionStatus = AO01/AO02 and\nEXISTS(MPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nMPT.ValidToDate >\n<MSG>.StartOfOccurrence and\nMPT.FuseSize = null and\nMPT.ElectricPower = null)","Obligation","N","B2B/GUI","Check mandatory attributes in database.","Attribute '<1>' is mandatory when connection status is '<2>' and attribute '<3>' is not submitted.","<1>=MPT.FuseSize.Label\n<2>=<MSG>.ConnectionStatus.Value\n<3>=MPT.ElectricPower.Label","DI.MPT.021","EC.MPT.106","RC.MPT.106",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[11,"VR.MPT.004.107","Start of Occurrence must have time as local midnight.","localtime(<MSG>.StartOfOccurrence, 'HH:MM:SS') <> '00:00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be local midnight time.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value","DI.MPT.004","EC.MPT.107","RC.MPT.107",null,null,null,null,null,"X","X","X",null,"X",null,"X",null,"X","X","X",null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,11]
[{"$f":"EE75","v":1},"VR.MPT.005.107B","End of Occurrence must have time as local midnight.","localtime(<MSG>.EndOfOccurrence, 'HH:MM:SS') <> '00:00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be local midnight time.","<1>=<MSG>.EndOfOccurrence.Label\n<2>=<MSG>.EndOfOccurrence.Value","DI.MPT.005","EC.MPT.107","RC.MPT.107",null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.090.108","Related Accounting Point ID exists in the system on submitted Start Of Occurrence.","NOT(EXISTS(\nMPT.MeteringPointEAN =\n<MSG>.RelatedMeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and\nMPT.ValidTodate > <MSG>.StartOfOccurrence\n))","Dependency","N","B2B/GUI","Related accounting point must exist (but might already have been deleted or removed from use).","Attribute '<1>' with value '<2>' invalid, the related accounting point does not exist on the selected date '<3>'.","<1>=MPT.RelatedMeteringPointEAN.Label\n<2>=<MSG>.RelatedMeteringPointEAN.Value\n<3>=<MSG>.StartOfOccurrence.Value","DI.MPT.090","EC.MPT.108","RC.MPT.108",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE77","v":1},"VR.MPT.090.108B","Related Accounting Point ID exists in the system on submitted End Of Occurrence.","NOT(EXISTS(\nMPT.MeteringPointEAN =\n<MSG>.RelatedMeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.EndOfOccurrence and\nMPT.ValidTodate > <MSG>.EndOfOccurrence\n))","Dependency","N","B2B/GUI","Related accounting point must exist (but might already have been deleted or removed from use).","Attribute '<1>' with value '<2>' invalid, the related accounting point does not exist on the selected date '<3>'.","<1>=MPT.RelatedMeteringPointEAN.Label\n<2>=<MSG>.RelatedMeteringPointEAN.Value\n<3>=<MSG>.EndOfOccurrence.Value","DI.MPT.090","EC.MPT.108","RC.MPT.108",null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.MPT.019.109","Meter Number is mandatory if the Accounting Point Status is neither \"Under Construction\" nor \"Removed from Use\", and the Metering Method is not \"Unmetered\".","<MSG>.MeterNumber = null and\n<MSG>.MeteringMethod <> E16 and\n<MSG>.MeteringPointStatus not in {APS_CH2}","Obligation","N","B2B/GUI",null,"Attribute '<1>' is mandatory when accounting point status is '<2>' and metering method is '<3>'.","<1>=MPT.MeterNumber.Label\n<2>=<MSG>.MeteringPointStatus.Value\n<3>=<MSG>.MeteringMethod.Value","DI.MPT.019","EC.MPT.109","RC.MPT.109",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.019.109B","When (dis)connecting an Accounting Point, the Meter Number is mandatory if the Metering Method is not \"Unmetered\".","<MSG>.ConnectionStatus = AO01/AO02 and\nEXISTS(MPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nMPT.ValidToDate >\n<MSG>.StartOfOccurrence and\nMPT.MeteringMethod <> E16 and\nMPT.MeterNumber = null)","Obligation","N","B2B/GUI","Check mandatory attributes in database.","Attribute '<1>' is mandatory when connection status is '<2>' and metering method is '<3>'.","<1>=MPT.MeterNumber.Label\n<2>=<MSG>.ConnectionStatus.Value\n<3>=MPT.MeteringMethod.Value","DI.MPT.019","EC.MPT.109","RC.MPT.109",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.017.110","Latitude and Longitude must both be submitted or not at all. ","<MSG>.Latitude = null and\n<MSG>.Longitude <> null","Dependency","N","B2B/GUI","Latitude is mandatory if longitude is given.","Attribute '<1>' is mandatory when attribute '<2>' is submitted.","<1>=MPT.Latitude.Label\n<2>=MPT.Longitude.Label","DI.MPT.017","EC.MPT.110","RC.MPT.110",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.018.111","Latitude and Longitude must both be submitted or not at all. ","<MSG>.Longitude = null and\n<MSG>.Latitude <> null","Dependency","N","B2B/GUI","Longitude is mandatory if latitude is given.","Attribute '<1>' is mandatory when attribute '<2>' is submitted.","<1>=MPT.Longitude.Label\n<2>=MPT.Latitude.Label","DI.MPT.018","EC.MPT.111","RC.MPT.111",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.025.112","Remotely Readable is mandatory if the Accounting Point Status is neither \"Under Construction\" nor \"Removed from Use\".","<MSG>.RemotelyReadable = null and\n<MSG>.MeteringPointStatus not in {APS_CH2}","Obligation","N","B2B/GUI",null,"Attribute '<1>' is mandatory when accounting point status is '<2>'.","<1>=MPT.IsRemotelyReadable.Label\n<2>=<MSG>.MeteringPointStatus.Value","DI.MPT.025","EC.MPT.112","RC.MPT.112",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.025.112B","When (dis)connecting an Accounting Point, the Remotely Readable is mandatory.","<MSG>.ConnectionStatus = AO01/AO02 and\nEXISTS(MPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nMPT.ValidToDate >\n<MSG>.StartOfOccurrence and\nMPT.RemotelyReadable = null)","Obligation","N","B2B/GUI","Check mandatory attributes in database.","Attribute '<1>' is mandatory when connection status is '<2>'.","<1>=MPT.IsRemotelyReadable.Label\n<2>=<MSG>.ConnectionStatus.Value","DI.MPT.025","EC.MPT.112","RC.MPT.112",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.026.113","Heating Depends On Electricity is mandatory if the Accounting Point Type is \"Consumption\", and the Accounting Point Status is neither \"Under Construction\" nor \"Removed from Use\".","<MSG>.HeatingDependentOnElectricity = null and\n<MSG>.AccountingPointType = AG01 and\n<MSG>.MeteringPointStatus not in {APS_CH2}","Obligation","N","B2B/GUI",null,"Attribute '<1>' is mandatory when accounting point type is '<2>' and accounting point status is '<3>'.","<1>=MPT.IsHeatingDependentOnElectricity.\n        Label\n<2>=<MSG>.AccountingPointType.Value\n<3>=<MSG>.MeteringPointStatus.Value","DI.MPT.026","EC.MPT.113","RC.MPT.113",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.026.113B","When (dis)connecting an Accounting Point, the Heating Depends On Electricity is mandatory if the Accounting Point Type is \"Consumption\".","<MSG>.ConnectionStatus = AO01/AO02 and\nEXISTS(MPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nMPT.ValidToDate >\n<MSG>.StartOfOccurrence and\nMPT.AccountingPointType = AG01 and\nMPT.HeatingDependentOnElectricity = null)","Obligation","N","B2B/GUI","Check mandatory attributes in database.","Attribute '<1>' is mandatory when connection type is '<2>' and accounting point status is '<3>'.","<1>=MPT.IsHeatingDependentOnElectricity.\n        Label\n<2>=MPT.AccountingPointType.Value\n<3>=<MSG>.ConnectionStatus.Value","DI.MPT.026","EC.MPT.113","RC.MPT.113",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.022.114","Electric Power is mandatory if the Accounting Point Status is neither \"Under Construction\" nor \"Removed from Use\", and Fuse Size has not been reported.","<MSG>.ElectricPower = null and\n<MSG>.FuseSize = null and\n<MSG>.MeteringPointStatus not in {APS_CH2}","Obligation","N","B2B/GUI",null,"Attribute '<1>' is mandatory when accounting point status is '<2>' and attribute '<3>' is not submitted.","<1>=MPT.ElectricPower.Label\n<2>=<MSG>.MeteringPointStatus.Value\n<3>=MPT.FuseSize.Label","DI.MPT.022","EC.MPT.114","RC.MPT.114",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.022.114B","When (dis)connecting an Accounting Point, the Electric Power is mandatory if the Fuse Size has not been reported.","<MSG>.ConnectionStatus = AO01/AO02 and\nEXISTS(MPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nMPT.ValidToDate >\n<MSG>.StartOfOccurrence and\nMPT.FuseSize = null and\nMPT.ElectricPower = null)","Obligation","N","B2B/GUI","Check mandatory attributes in database.","Attribute '<1>' is mandatory when connection status is '<2>' and attribute '<3>' is not submitted.","<1>=MPT.ElectricPower.Label\n<2>=<MSG>.ConnectionStatus.Value\n<3>=MPT.FuseSize.Label","DI.MPT.022","EC.MPT.114","RC.MPT.114",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[25,"VR.MPT.003.115","Accounting Point ID exists in the system on submitted Start Of Occurrence.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.StartofOccurrence and MPT.ValidTodate > <MSG>.StartofOccurrence\n))","Dependency","Y","B2B/GUI","Accounting point must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.StartofOccurrence\n","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,"X","X","X","X",null,"X","X","X","X",null,"X","X","X","X","X","X","X","X","X","X",null,null,null,null,null,null,"X","X","X","X",null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,25]
[4,"VR.MPT.003.115B","Accounting Point must be registered in Datahub","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.AgreementStartDate and MPT.ValidTodate > <MSG>.AgreementStartDate\n))","Dependency","Y","B2B/GUI","Accounting point must exist in the system when Authorisation begins","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.AgreementStartDate.Value","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[8,"VR.MPT.003.115C","Accounting Point ID exists in the system on submitted End of Occurrence.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.EndOfOccurrence and MPT.ValidTodate > <MSG>.EndOfOccurrence\n))","Dependency","Y","B2B/GUI","Accounting point must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.EndOfOccurrence\n","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,"X","X",null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G90,\"State*\")+COUNTIF(N90:ED90,\"X*\")+COUNTIF(N90:ED90,\"T*\")","v":8}]
[1,"VR.MPT.003.115D","The reported Metering Point exists in the system on the reported Transfer Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.TransferDate and MPT.ValidTodate > <MSG>.TransferDate\n))","Dependency","N","FILE","Metering point must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.TransferDate.Value","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.115E","The reported Metering Point exists in the system on the reported Termination Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.TerminationDate and MPT.ValidTodate > <MSG>.TerminationDate\n))","Dependency","N","FILE","Metering point must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.TerminationDate.Value","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.115F","The reported Metering Point exists in the system on the reported Effective Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.EffectiveDate and MPT.ValidTodate > <MSG>.EffectiveDate\n))","Dependency","N","FILE","Metering point must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.EffectiveDate.Value","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE94","v":1},"VR.MPT.003.115G","The reported Metering Point exists in the system on the reported Agreement Start Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.AgreementStartDate and\nMPT.ValidTodate >\n<MSG>.AgreementStartDate))","Dependency","N","FILE","Metering point must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.AgreementStartDate.Value","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE95","v":2},"VR.MPT.003.115H","Accounting Point ID reported as a (Consumption or Production) Member exists in the system on Start Of Occurrence.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.[CAPn/PAPn]MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence\n))","Dependency","Y","B2B/GUI","Energy Community (consumption or production) member must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.[CAPn/PAPn]MeteringPointEAN.Value\n<3>=<MSG>.StartOfOccurrence\n","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.MPT.003.115I","The reported Consumption Metering Point exists in the system on the submitted Channel Start Date.","NOT(EXISTS(\nMPT.MeteringPointEAN =\n<MSG>.ConsMeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.ChannelStartDate and\nMPT.ValidTodate > <MSG>.ChannelStartDate\n))","Dependency","N","FILE","Consumption accounting point must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.ConsMeteringPointEAN.Value\n<3>=<MSG>.ChannelStartDate.Value","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE97","v":1},"VR.MPT.003.115J","The reported Production Metering Point exists in the system on the submitted Channel Start Date.","NOT(EXISTS(\nMPT.MeteringPointEAN =\n<MSG>.ProdMeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.ChannelStartDate and\nMPT.ValidTodate > <MSG>.ChannelStartDate\n))","Dependency","N","FILE","Production accounting point must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.ProdMeteringPointEAN.Value\n<3>=<MSG>.ChannelStartDate.Value","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE98","v":1},"VR.MPT.003.115K","The reported Metering Point exists in the system on the 15 minutes Settlement Switch Date.","NOT(EXISTS(\nMPT.MeteringPointEAN =\n<MSG>.MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= CP_GENERAL_15MIN_STLM_SWITCH_DATE and\nMPT.ValidTodate > CP_GENERAL_15MIN_STLM_SWITCH_DATE\n))","Dependency","N","FILE","Check using applicable configuration parameter.","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=CP_GENERAL_15MIN_STLM_SWITCH_DATE","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.115L","The reported Metering Point exists in the system on the reported Effective Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.EffectiveDate and MPT.ValidTodate > <MSG>.EffectiveDate\n))","Dependency","N","FILE","Metering point must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.EffectiveDate.Value","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.115M","The reported Metering Point exists in the system on the reported Effective Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.EffectiveDate and MPT.ValidTodate > <MSG>.EffectiveDate\n))","Dependency","N","FILE","Metering point must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.EffectiveDate.Value","DI.MPT.003","EC.MPT.115","RC.MPT.115",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,null,null,null,null,null,1]
[10,"VR.MPT.014.116","Accounting Point belongs to the submitted Metering Grid Area.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.MeteringGridAreaCode = <MSG>.MeteringGridAreaCode and\nMPT.ValidFromDate <= <MSG>.StartofOccurrence and\nMPT.ValidTodate > <MSG>.StartofOccurrence\n))","Dependency","N","B2B/GUI","Combination of Accounting Point and Metering Grid Area must have valid registration on submitted date.","Attribute '<1>' with value '<2>' not allowed, the involved accounting point '<3>' does not belong to the submitted metering grid area.","<1>=MPT.MeteringGridAreaCode.Label\n<2>=<MSG>.MeteringGridAreaCode.Value\n<3>=<MSG>.MeteringPointEAN.Value","DI.MPT.014","EC.MPT.116","RC.MPT.116",null,null,null,null,null,null,"X","X","X","X",null,"X",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,10]
[8,"VR.MPT.014.116B","Accounting Point belongs to the submitted Metering Grid Area (on submitted End of Occurence).","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.MeteringGridAreaCode = <MSG>.MeteringGridAreaCode and\nMPT.ValidFromDate <= <MSG>.EndOfOccurrence and\nMPT.ValidTodate > <MSG>.EndOfOccurrence\n))","Dependency","N","B2B/GUI","Combination of Accounting Point and Metering Grid Area must have valid registration on submitted date.","Attribute '<1>' with value '<2>' not allowed, the involved accounting point '<3>' does not belong to the submitted metering grid area.","<1>=MPT.MeteringGridAreaCode.Label\n<2>=<MSG>.MeteringGridAreaCode.Value\n<3>=<MSG>.MeteringPointEAN.Value","DI.MPT.014","EC.MPT.116","RC.MPT.116",null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,"X","X",null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8]
[1,"VR.MPT.014.116C","The reported Metering Point belongs to the reported Old Metering Grid Area on the day before the reported Transfer Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.MeteringGridAreaCode = <MSG>.OldMGA and\nMPT.ValidFromDate <= <MSG>.TransferDate-1 and MPT.ValidTodate > <MSG>.TransferDate-1\n))","Dependency","N","FILE","Combination of Accounting Point and Metering Grid Area must have valid registration on day before submitted date.","Attribute '<1>' with value '<2>' not allowed, the involved metering point '<3>' does not belong to the submitted metering grid area.","<1>=<MSG>.OldMGA.Label\n<2>=<MSG>.OldMGA.Value\n<3>=<MSG>.MeteringPointEAN.Value","DI.MPT.014","EC.MPT.116","RC.MPT.116",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE104","v":1},"VR.MPT.012.117","Accounting Point Type cannot be changed.","<MSG>.AccountingPointType <> MPT.AccountingPointType","Dependency","N","B2B/GUI","Changing accounting point type is not allowed. ","Attribute '<1>' value '<2>' not allowed, accounting point type cannot be changed.","<1>=MPT.AccountingPointType.Label\n<2>=<MSG>.AccountingPointType.Value","DI.MPT.012","EC.MPT.117","RC.MPT.117",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.014.118","Metering Grid Area cannot be changed. ","<MSG>.MeteringGridAreaCode <> MPT.MeteringGridAreaCode","Dependency","N","B2B/GUI","Changing metering grid area is not allowed. ","Attribute '<1>' value '<2>' not allowed, metering grid area cannot be changed.","<1>=MPT.MeteringGridAreaCode.Label\n<2>=<MSG>.MeteringGridAreaCode.Value","DI.MPT.014","EC.MPT.118","RC.MPT.118",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.119","A change of Accounting Point Status only allows the following domain: {APS_UPD}.","<MSG>.MeteringPointStatus <> MPT.MeteringPointStatus and <MSG>.MeteringPointStatus not in {APS_UPD}","Domain","N","B2B/GUI","Only values from dedicated domain are valid.","Attribute '<1>' invalid, value '<2>' does not comply with the predefined domain.","<1>=<MSG>.MeteringPointStatus.Label\n<2>=<MSG>.MeteringPointStatus.Value","DI.MPT.010","EC.MPT.119","RC.MPT.119",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[24,"VR.MPT.010.120","Accounting Point Status is neither registered as “Removed from Use” nor ”Deleted” (on Start Of Occurrence). ","EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and MPT.MeteringPointStatus in {APS_CH1} and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and\nMPT.ValidTodate > <MSG>.StartOfOccurrence)","Dependency","N","B2B/GUI","Check submitted event against status currently registered on submitted Start Of Occurrence.","Transaction on accounting point '<1>' not allowed when accounting point status is '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=MPT.MeteringPointStatus.Value","DI.MPT.010","EC.MPT.120","RC.MPT.120",null,null,null,null,null,null,null,"X","X","X",null,"X","X","X","X","X","X","X","X","X","X",null,null,null,null,null,null,"X","X","X","X",null,null,"X","X","X",null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24]
[{"$f":"EE108","v":1},"VR.MPT.010.120A","Accounting Point Status is neither registered as “Removed from Use” nor ”Deleted” (on Start Of Occurrence or today).","EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and MPT.MeteringPointStatus in {APS_CH1} and\n((MPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence)\nor (MPT.ValidFromDate <= date(Now) and\nMPT.ValidTodate > date(Now)))\n)","Dependency","N","B2B/GUI","Check submitted event against status currently registered on submitted Start Of Occurrence and as per today.","Transaction on accounting point '<1>' not allowed when accounting point status is '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=MPT.MeteringPointStatus.Value","DI.MPT.010","EC.MPT.120","RC.MPT.120",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[7,"VR.MPT.010.120B","Accounting Point Status is neither registered as “Removed from Use” nor ”Deleted” (on End Of Occurrence).","EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and MPT.MeteringPointStatus in {APS_CH1} and\nMPT.ValidFromDate <= <MSG>.EndOfOccurrence and\nMPT.ValidTodate > <MSG>.EndOfOccurrence)","Dependency","N","B2B/GUI","Check submitted event against status currently registered on submitted End Of Occurrence.","Transaction on accounting point '<1>' not allowed when accounting point status is '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=MPT.MeteringPointStatus.Value","DI.MPT.010","EC.MPT.120","RC.MPT.120",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,"X","X",null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,7]
[{"$f":"EE110","v":1},"VR.MPT.010.120C","Related Accounting Point Status is neither registered as “Removed from Use” nor ”Deleted” (on Start Of Occurrence). ","EXISTS(\nMPT.MeteringPointEAN = <MSG>.RelatedMeteringPointEAN and MPT.MeteringPointStatus in {APS_CH1} and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and\nMPT.ValidTodate > <MSG>.StartOfOccurrence)","Dependency","N","B2B/GUI","Check submitted event against status currently registered on submitted Start Of Occurrence.","Transaction on accounting point '<1>' not allowed when accounting point status is '<2>'.","<1>=<MSG>.RelatedMeteringPointEAN.Value\n<2>=MPT.MeteringPointStatus.Value","DI.MPT.010","EC.MPT.120","RC.MPT.120",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.121A","Accounting Point Status can only be updated to “Removed from Use”, if the Accounting Point does not have any valid current sales or grid agreements.","<MSG>.MeteringPointStatus = AE04 and\nEXISTS(\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand ((AGR.AgreementType = 11 and AGR.AgreementStatus = UCF/CFD) or\n(AGR.AgreementType = 12 and\nAGR.AgreementStatus = CFD)) and\nAGR.ValidFromDate <=\n<MSG>.StartofOccurrence and\nAGR.ValidToDate > <MSG>.StartofOccurrence)","Dependency","N","B2B/GUI","Accounting point cannot be \"Removed from Use\" while valid (current) agreements exist. ","Attribute '<1>' with value '<1>' not allowed, accounting point cannot be removed from use when associated sales/grid agreements still exist.  ","<1>=<MSG>.MeteringPointStatus.Label\n<2>=<MSG>.MeteringPointStatus.Value","DI.MPT.010","EC.MPT.121","RC.MPT.121",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.121B","Accounting Point Status can only be updated to “Removed from Use”, if the Accounting Point does not have any valid future sales or grid agreements.","<MSG>.MeteringPointStatus = AE04 and\nEXISTS(\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.AgreementType = 11/12 and AGR.AgreementStatus <> TRM and\nAGR.ValidFromDate > <MSG>.StartofOccurrence)","Dependency","N","B2B/GUI","Accounting point cannot be \"Removed from Use\" while valid (future) agreements exist. ","Attribute '<1>' with value '<1>' not allowed, accounting point cannot be removed from use when associated sales/grid agreements still exist.  ","<1>=<MSG>.MeteringPointStatus.Label\n<2>=<MSG>.MeteringPointStatus.Value","DI.MPT.010","EC.MPT.121","RC.MPT.121",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.122","No Grid or Sales Agreement events have been registered for the Accounting Point (including terminated and cancelled contracts).","<MSG>.MeteringPointEAN exists in AGR.MeteringPointEAN","Dependency","N","B2B/GUI","Accounting point can only be deleted if no agreements have been registered on it (including terminated and cancelled contracts). ","Deletion not allowed because agreements exist for accounting point '<1>'. ","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.122","RC.MPT.122",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.123","Start Of Occurrence for deletion of the Accounting Point must match the original Start Of Occurrence for creation.","<MSG>.StartofOccurrence <> MPT.ValidFromDate of accounting point creation","Dependency","N","B2B/GUI","Start of Occurrence of deletion must match the accounting point creation date. ","Attribute '<1>' with value '<2>' not allowed, the date must be the same as the Start of Occurrence of the original accounting point creation transaction. ","<1>=<MSG>.StartofOccurrence.Label\n<2>=<MSG>.StartofOccurrence.Value","DI.MPT.004","EC.MPT.123","RC.MPT.123",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.124A","If reported by a Supplier, then the Organisation must have a Sales Agreement for the Accounting Point that is valid on submitted Start of Occurrence.","MSG.ProcessRole = DDQ and\nNOT(EXISTS(\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.OrganisationIdentifier = MSG.JuridicalSender and\nAGR.AgreementType = 12 and\nAGR.AgreementStatus = CFD and\nAGR.AgreementStartDate <= <MSG>.StartofOccurrence and\nAGR.AgreementEndDate > <MSG>.StartofOccurrence and\nAGR.RetiredTimestamp = null\n))","Dependency","N","B2B/GUI","Reporting supplier must have been registered with the accounting point to gain access.","Request not allowed, organisation '<1>' does not have a valid sales agreement or authorisation for the accounting point '<2>' on the requested date '<3>'.","<1>=<MSG>.JuridicalSender.Value\n<2>=<MSG>.AccountingPointEAN.Value\n<3>=<MSG>.StartOfOccurrence.Value\n","DI.MPT.004","EC.MPT.124","RC.MPT.124",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.124B","If reported by a Third Party, then the Organisation must have an Authorisation for the Accounting Point that is valid on submitted Start of Occurrence.","MSG.ProcessRole = ESC and\nNOT(EXISTS(\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.OrganisationIdentifier = MSG.JuridicalSender and\nAGR.AgreementType = AP01/AP02/AP03 and\nAGR.AgreementStatus = CFD and\nAGR.AgreementStartDate <= <MSG>.StartofOccurrence and\nAGR.AgreementEndDate > <MSG>.StartofOccurrence and\nAGR.RetiredTimestamp = null\n))","Dependency","N","B2B/GUI","Reporting third party must have been registered with the accounting point to gain access.","Request not allowed, organisation '<1>' does not have a valid sales agreement or authorisation for the accounting point '<2>' on the requested date '<3>'.","<1>=<MSG>.JuridicalSender.Value\n<2>=<MSG>.AccountingPointEAN.Value\n<3>=<MSG>.StartOfOccurrence.Value\n","DI.MPT.004","EC.MPT.124","RC.MPT.124",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125A","Start of Occurrence is in accordance with the business process timelines (using ACP.CRE parameters)","<MSG>.StartOfOccurrence <\nToday + CP_ACPCRE_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_ACPCRE_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.CRE process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_ACPCRE_MIN_PERIOD\n<4>= Today+CP_ACPCRE_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125B","Start of Occurrence is in accordance with the business process timelines (using ACP.UPD parameters)","<MSG>.StartOfOccurrence <\nToday + CP_ACPUPD_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_ACPUPD_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.UPD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_ACPUPD_MIN_PERIOD\n<4>= Today+CP_ACPUPD_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125C","Start of Occurrence is in accordance with the business process timelines (using ACP.UPS parameters)","<MSG>.StartOfOccurrence <\nToday + CP_ACPUPS_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_ACPUPS_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.UPS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_ACPUPS_MIN_PERIOD\n<4>= Today+CP_ACPUPS_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125E","Start of Occurrence is in accordance with the business process timelines (using ACP.CDD parameters)","<MSG>.StartOfOccurrence <\nNow + CP_ACPCDD_MIN_PERIOD or <MSG>.StartOfOccurrence >\nNow + CP_ACPCDD_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.CDD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Now+CP_ACPCDD_MIN_PERIOD\n<4>= Now+CP_ACPCDD_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125F","Start of Occurrence is in accordance with the business process timelines (using ACP.CNS parameters)","<MSG>.StartOfOccurrence <\nToday + CP_ACPCNS_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_ACPCNS_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.CNS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_ACPCNS_MIN_PERIOD\n<4>= Today+CP_ACPCNS_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125G","Start of Occurrence is in accordance with the business process timelines (using ACP.DCS parameters)","<MSG>.StartOfOccurrence <\nToday + CP_ACPDCS_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_ACPDCS_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.DCS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_ACPDCS_MIN_PERIOD\n<4>= Today+CP_ACPDCS_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G122,\"State*\")+COUNTIF(N122:ED122,\"X*\")+COUNTIF(N122:ED122,\"T*\")","v":1}]
[1,"VR.MPT.004.125H","Start of Occurrence is in accordance with the business process timelines (using ACP.DDD parameters)","<MSG>.StartOfOccurrence <\nNow + CP_ACPDDD_MIN_PERIOD or <MSG>.StartOfOccurrence >\nNow + CP_ACPDDD_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.DDD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Now+CP_ACPDDD_MIN_PERIOD\n<4>= Now+CP_ACPDDD_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125J","When reporting a merger of DSOs, the reported Transfer Date is in accordance with the business process timelines (i.e. using applicable DSO configuration parameters).","TRH.InternalTransactionType = [MPT.BLK.DSO] and (<MSG>.TransferDate <\nNow + CP_MPTBLKDSO_MIN_PERIOD or <MSG>.TransferDate >\nNow + CP_MPTBLKDSO_MAX_PERIOD)","Calculation","N","FILE","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for DSO bulk process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.TransferDate.Value\n<2>=<MSG>.TransferDate.Label\n<3>= Now+CP_MPTBLKDSO_MIN_PERIOD\n<4>= Now+CP_MPTBLKDSO_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125K","When reporting a merger of MGAs, the reported Transfer Date is in accordance with the business process timelines (i.e. using applicable MGA configuration parameters).","TRH.InternalTransactionType = [MPT.BLK.MGA] and (<MSG>.TransferDate <\nNow + CP_MPTBLKMGA_MIN_PERIOD or <MSG>.TransferDate >\nNow + CP_MPTBLKMGA_MAX_PERIOD)","Calculation","N","FILE","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for MGA bulk process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.TransferDate.Value\n<2>=<MSG>.TransferDate.Label\n<3>= Now+CP_MPTBLKMGA_MIN_PERIOD\n<4>= Now+CP_MPTBLKMGA_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125L","When reporting a transfer of MPTs, the reported Transfer Date is in accordance with the business process timelines (i.e. using applicable TRF configuration parameters).","TRH.InternalTransactionType = [MPT.BLK.TRF] and (<MSG>.TransferDate <\nNow + CP_MPTBLKTRF_MIN_PERIOD or <MSG>.TransferDate >\nNow + CP_MPTBLKTRF_MAX_PERIOD)","Calculation","N","FILE","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for TRF bulk process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.TransferDate.Value\n<2>=<MSG>.TransferDate.Label\n<3>= Now+CP_MPTBLKTRF_MIN_PERIOD\n<4>= Now+CP_MPTBLKTRF_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125M","Start of Occurrence is in accordance with the business process timelines (using ACP.CAC parameters)","<MSG>.StartOfOccurrence <\nNow + CP_ACPCAC_ MIN_PERIOD or <MSG>.StartOfOccurrence >\nNow + CP_ACPCAC_ MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.CAC process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Now+CP_ACPCAC_ MIN_PERIOD\n<4>= Now+CP_ACPCAC_ MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125N","Start of Occurrence is in accordance with the business process timelines (using ACP.CAD parameters)","<MSG>.StartOfOccurrence <\nNow + CP_ACPCAD_ MIN_PERIOD or <MSG>.StartOfOccurrence >\nNow + CP_ACPCAD_ MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.CAD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Now+CP_ACPCAD_ MIN_PERIOD\n<4>= Now+CP_ACPCAD_ MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.125O","Start of Occurrence is in accordance with the business process timelines (using ACP.UPD.EAC parameters).","<MSG>.StartOfOccurrence <\nToday + CP_ACPUPDEAC_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_ACPUPDEAC_MAX_PERIOD","Calculation","N","B2B","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.UPD.EAC process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_ACPUPDEAC_MIN_PERIOD\n<4>= Today+CP_ACPUPDEAC_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE130","v":1},"VR.MPT.004.125P","Start of Occurrence is in accordance with the business process timelines (using ACP.UPD.MTS parameters).","<MSG>.StartOfOccurrence <\nToday + CP_GENERAL_BALANCE_WINDOW or <MSG>.StartOfOccurrence >\nToday + CP_ACPUPDMTS_MAX_PERIOD","Calculation","N","B2B","Valid time period is checked using BALANCE_WINDOW and MAX_PERIOD config. parameters for ACP.UPD.MTS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_GENERAL_BALANCE_WINDOW\n<4>= Today+CP_ACPUPDMTS_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE131","v":1},"VR.MPT.004.125Q","Start of Occurrence is in accordance with the business process timelines (using ACP.CRE.REL parameters).","<MSG>.StartOfOccurrence <\nToday + CP_ACPCREREL_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_ACPCREREL_MAX_PERIOD","Calculation","N","B2B","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.CRE.REL process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_ACPCREREL_MIN_PERIOD\n<4>= Today+CP_ACPCREREL_MAX_PERIOD","DI.MPT.004","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE132","v":1},"VR.MPT.005.125R","End of Occurrence is in accordance with the business process timelines (using ACP.END.REL parameters).","<MSG>.EndOfOccurrence <\nToday + CP_ACPENDREL_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_ACPENDREL_MAX_PERIOD","Calculation","N","B2B","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for ACP.END.REL process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_ACPENDREL_MIN_PERIOD\n<4>= Today+CP_ACPENDREL_MAX_PERIOD","DI.MPT.005","EC.MPT.125","RC.MPT.125",null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.127","Accounting Point has currently no other running Connection process.","EXISTS(TDC.TransactionType = ACP.CNS and\nTDC.DossierStatus != FIN and\nBSA[MeteringPointEAN].AttributeValue = <MSG>.MeteringPointEAN)","Reference","N","B2B/GUI","Connection process determined from BTD. Will be implemented with ITX later.","Action on accounting point '<1>' not allowed when still being connected.","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.127","RC.MPT.127",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[4,"VR.MPT.010.128","Accounting Point Status is proposed/delayed/confirmed as ”Connected”. ","<MSG>.ConnectionStatus <> AO01","Dependency","N","B2B/GUI","Only specific value allowed.","Attribute '<1>' with value '<1>' not allowed, must be Connected when connecting an accounting point.  ","<1>=<MSG>.ConnectionStatus.Label\n<2>=<MSG>.ConnectionStatus.Value","DI.MPT.010","EC.MPT.128","RC.MPT.128",null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[1,"VR.MPT.003.129","if DSO connection is response to request from Supplier then Accounting Point has currently a running Connection process awaiting a confirmation.","<MSG>.OriginalMessageID <> null and\nNOT(EXISTS(TDS(#7).StepStatus = LKD and\nTDS(#7).StepType = ACP.CND.REQ\nTDC.BTDCoreID = TDS(#7).BTDCoreID\nTDC.TransactionType = ACP.CNS and\nBSA[MeteringPointEAN].AttributeValue = <MSG>.MeteringPointEAN and TDS(#3).BTDCoreID = TDC.BTDCoreID and\nTDS(#3).ExternalMessageID = <MSG>.OriginalMessageID))","Reference","N","B2B/GUI","Check BTD if a connection process exists (from supplier) for same accounting point that indeed awaits confirmation (from DSO).","Connection confirmation on accounting point '<1>' not allowed when not being awaited.","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.129","RC.MPT.129",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[4,"VR.MPT.003.130","Accounting Point belongs to a Metering Grid Area that is owned by the requesting DSO.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMGA.MeteringGridAreaCode = MPT.MeteringGridAreaCode and\nMGA.ValidFromDate <= <MSG>.StartofOccurrence and\nMGA.ValidTodate > <MSG>.StartofOccurrence and\nMGA.ResponsibleDSO = MSG.JuridicalSender))","Reference","N","B2B/GUI","Check on submitted start date.","Attribute '<1>' with value '<2>' not allowed, the accounting point does not belong to the requesting organisation.","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.130","RC.MPT.130",null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[1,"VR.MPT.003.132","if DSO delay is response to request from Supplier then Accounting Point has currently a running Connection process expecting a delay.","<MSG>.OriginalMessageID <> null and\nNOT(EXISTS(TDS(#4).StepStatus = WAI/WTE and\nTDS(#4).StepType = ACP.CDD.REQ\nTDC.BTDCoreID = TDS(#4).BTDCoreID\nTDC.TransactionType = ACP.CNS and\nBSA[MeteringPointEAN].AttributeValue = <MSG>.MeteringPointEAN and TDS(#3).BTDCoreID = TDC.BTDCoreID and\nTDS(#3).ExternalMessageID = <MSG>.OriginalMessageID))","Reference","N","B2B/GUI","Check BTD if a connection process exists (from supplier) for same accounting point that indeed expects delay (from DSO).","Connection delay on accounting point '<1>' not allowed when not being expected.","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.132","RC.MPT.132",null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.133","Start of Occurrence must have time as whole hour.","time(<MSG>.StartOfOccurrence, 'MM:SS') <> '00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be a whole hour.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value","DI.MPT.004","EC.MPT.133","RC.MPT.133",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE139","v":2},"VR.MPT.004.133A","Start of Occurrence must have time as whole hour, if the (dis)connection date is before the official switch date of 15 minutes settlement or the Accounting Point involved is not measured with 15 minutes resolution.","(<MSG>.StartOfOccurrence < CP_GENERAL_15MIN_STLM_SWITCH_DATE or\nEXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN\nand MPT.MeteringTimeStep <> PT15M and MPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence)) and\ntime(<MSG>.StartOfOccurrence, 'MM:SS') <> '00:00'","Format","N","B2B/GUI","Switch date is kept in a system configuration parameter.","Attribute '<1>' invalid, value '<2>' must be a whole hour.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value","DI.MPT.004","EC.MPT.133","RC.MPT.133",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.MPT.003.134","Accounting Point does currently not have a running Disconnection process requested by a Supplier","EXISTS(TDC.DossierStatus <> FIN and\nTDC.TransactionType = ACP.DCS and TDC.EffectuationDate <= <MSG>.StartOfOccurrence and\nTDS.BTDCoreID = TDC.BTDCoreID and\nTDS.StepType = ACP.DCS.REQ and\nBSA[MeteringPointEAN].AttributeValue = <MSG>.MeteringPointEAN)","Reference","N","B2B/GUI","Check BTD if a disconnection process exists (from supplier) for same accounting point that is still running on/before connection date. Will be implemented with ITX later.","Connection confirmation on accounting point '<1>' not allowed when disconnection still in progress.","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.134","RC.MPT.134",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.135","Proposed values must be different from registered values.","<MSG>.[MPA] = Unchanged and\n<MSG>.[EYU] = Unchanged and\n<MSG>.[CTL] = Unchanged and\n<MSG>.[SDV] = Unchanged and\n<MSG>.[PDV] = Unchanged\nand\nEXISTS(MPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nMPT.ValidToDate >\n<MSG>.StartOfOccurrence and\nMPT.UserGroup = <MSG>.UserGroup)\nand\nEXISTS(AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.AgreementType = 11 and\nAGR.AgreementStatus = CFD and\nAGR.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nAGR.ValidToDate >\n<MSG>.StartOfOccurrence and\nand AGR.AgreementStartDate <=\n<MSG>.StartOfOccurrence and\nAGR.AgreementEndDate >\n<MSG>.StartOfOccurrence and\nAGR.TaxCategory = <MSG>.TaxCategory)","Obligation","N","B2B/GUI","At least one MPT/AGR attribute must have been changed, unless MPA or EYU or CTL or SDV or PDV element has been changed (by comparing database attributes with message attributes).","Attribute '<1>' with value '<2>' not allowed, the accounting point does not have any changed attribute(s).","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.135","RC.MPT.135",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE142","v":1},"VR.MPT.090.136A","Tthe main Accounting Point's type must be “Consumption” and the related Accounting Point's type must be “Production” (or vice versa).","EXISTS(MPT1.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT2.MeteringPointEAN = <MSG>.RelatedMeteringPointEAN and MPT1.AccountingPointType =\nMPT2.AccountingPointType)","Dependency","N","B2B/GUI","Main ACP and related ACP cannot have the same type.","Attribute '<1>' invalid, related accounting points '<2>' and '<3>' must both be Consumption or Production and cannot have the same type.","<1>=<MSG>.RelatedMeteringPointEAN.Label\n<2>=<MSG>.RelatedMeteringPointEAN.Value\n<2>=<MSG>.MeteringPointEAN.Value","DI.MPT.090","EC.MPT.136","RC.MPT.136",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE143","v":2},"VR.MPT.003.137","if DSO update is response to request from Supplier then Accounting Point has currently a running Update process awaiting a response.","<MSG>.OriginalMessageID <> null and\nNOT(EXISTS(TDS(#4).StepStatus = LKD and\nTDS(#4).StepType = ACP.UPD.REQ\nTDC.BTDCoreID = TDS(#4).BTDCoreID\nTDC.TransactionType = ACP.UPS and\nBSA[MeteringPointEAN].AttributeValue = <MSG>.MeteringPointEAN and TDS(#3).BTDCoreID = TDC.BTDCoreID and\nTDS(#3).ExternalMessageID = <MSG>.OriginalMessageID))","Reference","N","B2B/GUI","Check BTD if a update process exists (from supplier) for same accounting point that indeed awaits response (from DSO).","Update response on accounting point '<1>' not allowed when not being awaited.","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.137","RC.MPT.137",null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.MPT.003.139","The number of AccountingPoints that meet the requested search criteria must comply with the defined minimum (i.e. using applicable configuration parameters).","BSA[NumberOfResults].AttributeValue < CP_ACPLSI_MIN_NUMBER_RESULTS","Calculation","N","B2B","The number of AccountingPoints cannot be smaller than the configurable amount of AccountingPoints.","Number of accounting points that meet the requested search criteria is less than '<1>'.","<1>=CP_ACPLST_MIN_NUMBER_RESULTS","DI.MPT.003","EC.MPT.139","RC.MPT.139","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.140","The number of AccountingPoints that meet the requested search criteria must comply with the defined maximum (i.e. using applicable configuration parameters).","BSA[NumberOfResults].AttributeValue > CP_ACPLSI_MAX_NUMBER_RESULTS","Calculation","N","B2B","The number of AccountingPoints cannot be larger than the configurable amount of AccountingPoints.","Number of accounting points that meet the requested search criteria is more than '<1>'.","<1>=CP_ACPLST_MAX_NUMBER_RESULTS","DI.MPT.003","EC.MPT.140","RC.MPT.140","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.142","Accounting Point has currently no other running Disconnection process.","EXISTS(TDC.TransactionType = ACP.DCS and\nTDC.DossierStatus != FIN and\nBSA[MeteringPointEAN].AttributeValue = <MSG>.MeteringPointEAN)","Reference","N","B2B/GUI","Disconnection process determined from BTD. Will be implemented with ITX later.","Action on accounting point '<1>' not allowed when still being disconnected.","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.142","RC.MPT.142",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[3,"VR.MPT.010.143","Accounting Point Status is proposed/delayed/confirmed as ”Disconnected”. ","<MSG>.ConnectionStatus <> AO02","Dependency","N","B2B/GUI","Only specific value allowed.","Attribute '<1>' with value '<2>' not allowed, must be Disconnected when disconnecting an accounting point.  ","<1>=<MSG>.ConnectionStatus.Label\n<2>=<MSG>.ConnectionStatus.Value","DI.MPT.010","EC.MPT.143","RC.MPT.143",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[1,"VR.MPT.003.144","if DSO delay is response to request from Supplier then Accounting Point has currently a running disconnection process expecting a delay.","<MSG>.OriginalMessageID <> null and\nNOT(EXISTS(TDS(#4).StepStatus = WAI/WTE and\nTDS(#4).StepType = ACP.DDD.REQ\nTDC.BTDCoreID = TDS(#4).BTDCoreID\nTDC.TransactionType = ACP.DCS and\nBSA[MeteringPointEAN].AttributeValue = <MSG>.MeteringPointEAN and TDS(#3).BTDCoreID = TDC.BTDCoreID and\nTDS(#3).ExternalMessageID = <MSG>.OriginalMessageID))","Reference","N","B2B/GUI","Check BTD if a disconnection process exists (from supplier) for same accounting point that indeed expects delay (from DSO).","Disconnection delay on accounting point '<1>' not allowed when not being expected.","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.144","RC.MPT.144",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[9,"VR.MPT.011.145","Metering Point Type is \"Accounting Point\" on submitted Start of Occurrence.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointType <> ACP and\nMPT.ValidFromDate <= <MSG>.StartOfOccurence and MPT.ValidToDate > <MSG>.StartOfOccurence)","Dependency","Y","B2B/GUI",null,"Metering Point Type of requested Metering Point '<1>' is not \"Accounting Point\" on '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=<MSG>.StartOfOccurrence.Value","DI.MPT.011","EC.MPT.145","RC.MPT.145",null,"X","X","X","X",null,"X","X","X",null,null,"X",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9]
[1,"VR.MPT.011.145B","The type of the reported Metering Point is \"Accounting Point\" on the reported Termination Date.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointType <> ACP and\nMPT.ValidFromDate <= <MSG>.TerminationDate and MPT.ValidToDate > <MSG>.TerminationDate)","Dependency","Y","FILE",null,"Metering Point Type of requested Metering Point '<1>' is not \"Accounting Point\" on '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=<MSG>.TerminationDate.Value","DI.MPT.011","EC.MPT.145","RC.MPT.145",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.011.145C","The type of the reported Metering Point is \"Accounting Point\" on the reported Effective Date.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointType <> ACP and\nMPT.ValidFromDate <= <MSG>.EffectiveDate and MPT.ValidToDate > <MSG>.EffectiveDate)","Dependency","Y","FILE",null,"Metering Point Type of requested Metering Point '<1>' is not \"Accounting Point\" on '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=<MSG>.EffectiveDate.Value","DI.MPT.011","EC.MPT.145","RC.MPT.145",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE152","v":1},"VR.MPT.011.145D","The type of the reported Consumption Metering Point is \"Accounting Point\" on the submitted Channel Start Date.","EXISTS(<MSG>.ConsMeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointType <> ACP and\nMPT.ValidFromDate <= <MSG>.ChannelStartDate and MPT.ValidToDate > <MSG>.ChannelStartDate)","Dependency","Y","FILE",null,"Metering Point Type of requested Metering Point '<1>' is not \"Accounting Point\" on '<2>'.","<1>=<MSG>.ConsMeteringPointEAN.Value\n<2>=<MSG>.ChannelStartDate.Value","DI.MPT.011","EC.MPT.145","RC.MPT.145",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE153","v":1},"VR.MPT.011.145E","The type of the reported Production Metering Point is \"Accounting Point\" on the submitted Channel Start Date.","EXISTS(<MSG>.ProdMeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointType <> ACP and\nMPT.ValidFromDate <= <MSG>.ChannelStartDate and MPT.ValidToDate > <MSG>.ChannelStartDate)","Dependency","Y","FILE",null,"Metering Point Type of requested Metering Point '<1>' is not \"Accounting Point\" on '<2>'.","<1>=<MSG>.ProdMeteringPointEAN.Value\n<2>=<MSG>.ChannelStartDate.Value","DI.MPT.011","EC.MPT.145","RC.MPT.145",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE154","v":1},"VR.MPT.011.145F","The type of the reported Metering Point is \"Accounting Point\" on the 15 minutes Settlement Switch Date.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointType <> ACP and\nMPT.ValidFromDate <= CP_GENERAL_15MIN_STLM_SWITCH_DATE and MPT.ValidToDate > CP_GENERAL_15MIN_STLM_SWITCH_DATE)","Dependency","Y","FILE","Check using applicable configuration parameter.","Metering Point Type of requested Metering Point '<1>' is not \"Accounting Point\" on '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=CP_GENERAL_15MIN_STLM_SWITCH_DATE","DI.MPT.011","EC.MPT.145","RC.MPT.145",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G154,\"State*\")+COUNTIF(N154:ED154,\"X*\")+COUNTIF(N154:ED154,\"T*\")","v":1}]
[{"$f":"EE155","v":1},"VR.MPT.011.145G","The type of the reported Metering Point is \"Accounting Point\" on the submitted Effective Date.","EXISTS(<MSG>.ProdMeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointType <> ACP and\nMPT.ValidFromDate <= <MSG>.EffectiveDate and MPT.ValidToDate > <MSG>.EffectiveDate)","Dependency","Y","FILE","Check using applicable configuration parameter.","Metering Point Type of requested Metering Point '<1>' is not \"Accounting Point\" on '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=<MSG>.EffectiveDate.Value","DI.MPT.011","EC.MPT.145","RC.MPT.145",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[4,"VR.MPT.010.146","Accounting Point Status is not ”Deleted” on submitted Start of Occurrence.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus = AE05 and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidToDate > <MSG>.StartOfOccurrence))","Dependency","N","B2B",null,"Status of requested Accounting Point '<1>' is '<2>' on '<3>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=MPT.MeteringPointStatus.Value\n<3>=<MSG>.StartOfOccurrence.Value","DI.MPT.010","EC.MPT.146","RC.MPT.146",null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[1,"VR.MPT.010.146B","The reported Metering Point does not have status \"Deleted\" on the reported Transfer Date.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus = AE05 and\nMPT.ValidFromDate <= <MSG>.TransferDate and MPT.ValidToDate > <MSG>.TransferDate))","Dependency","N","FILE",null,"Status '<1>' of reported Metering Point '<2>' on date '<3>' is not allowed.","<1>=MPT.MeteringPointStatus.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.TransferDate.Value","DI.MPT.010","EC.MPT.146","RC.MPT.146",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.146C","The reported Metering Point does not have status \"Deleted\" on the reported Termination Date.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus = AE05 and\nMPT.ValidFromDate <= <MSG>.TerminationDate and MPT.ValidToDate > <MSG>.TerminationDate)","Dependency","N","FILE",null,"Status '<1>' of reported Metering Point '<2>' on date '<3>' is not allowed.","<1>=MPT.MeteringPointStatus.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.TerminationDate.Value","DI.MPT.010","EC.MPT.146","RC.MPT.146",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.146D","The reported Metering Point does not have status \"Deleted\" nor \"Removed from Use\" on the reported Effective Date.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus in {APS_CH1} and\nMPT.ValidFromDate <= <MSG>.EffectiveDate and MPT.ValidToDate > <MSG>.EffectiveDate)","Dependency","N","FILE",null,"Status '<1>' of reported Metering Point '<2>' on date '<3>' is not allowed.","<1>=MPT.MeteringPointStatus.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.EffectiveDate.Value","DI.MPT.010","EC.MPT.146","RC.MPT.146",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE160","v":1},"VR.MPT.010.146E","The reported Metering Point does not have status \"Deleted\" nor \"Removed from Use\" on the reported Agreement Start Date.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus in {APS_CH1} and\nMPT.ValidFromDate <= <MSG>.AgreementStartDate and MPT.ValidToDate >\n<MSG>.AgreementStartDate)","Dependency","N","FILE",null,"Status '<1>' of reported Metering Point '<2>' on date '<3>' is not allowed.","<1>=MPT.MeteringPointStatus.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.AgreementStartDate.Value","DI.MPT.010","EC.MPT.146","RC.MPT.146",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE161","v":1},"VR.MPT.010.146F","The reported Consumption Metering Point does not have status \"Deleted\" nor \"Removed from Use\" on the submitted Channel Start Date.","EXISTS(<MSG>.ConsMeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus in {APS_CH1} and\nMPT.ValidFromDate <= <MSG>.ChannelStartDate and MPT.ValidToDate > <MSG>.ChannelStartDate)","Dependency","N","FILE",null,"Status '<1>' of reported Metering Point '<2>' on date '<3>' is not allowed.","<1>=MPT.MeteringPointStatus.Value\n<2>=<MSG>.ConsMeteringPointEAN.Value\n<3>=<MSG>.ChannelStartDate.Value","DI.MPT.010","EC.MPT.146","RC.MPT.146",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE162","v":1},"VR.MPT.010.146G","The reported Production Metering Point does not have status \"Deleted\" nor \"Removed from Use\" on the submitted Channel Start Date.","EXISTS(<MSG>.ProdMeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus in {APS_CH1} and\nMPT.ValidFromDate <= <MSG>.ChannelStartDate and MPT.ValidToDate > <MSG>.ChannelStartDate)","Dependency","N","FILE",null,"Status '<1>' of reported Metering Point '<2>' on date '<3>' is not allowed.","<1>=MPT.MeteringPointStatus.Value\n<2>=<MSG>.ProdMeteringPointEAN.Value\n<3>=<MSG>.ChannelStartDate.Value","DI.MPT.010","EC.MPT.146","RC.MPT.146",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE163","v":1},"VR.MPT.010.146H","The reported Metering Point does not have status \"Deleted\" nor \"Removed from Use\" on the 15 minutes Settlement Switch Date.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus in {APS_CH1} and\nMPT.ValidFromDate <= CP_GENERAL_15MIN_STLM_SWITCH_DATE and MPT.ValidToDate > CP_GENERAL_15MIN_STLM_SWITCH_DATE)","Dependency","N","FILE","Check using applicable configuration parameter.","Status '<1>' of reported Metering Point '<2>' on date '<3>' is not allowed.","<1>=MPT.MeteringPointStatus.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=CP_GENERAL_15MIN_STLM_SWITCH_DATE","DI.MPT.010","EC.MPT.146","RC.MPT.146",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE164","v":1},"VR.MPT.010.146I","The reported Metering Point does not have status \"Deleted\" nor \"Removed from Use\"  on the reported Effective Date.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus = AE05 and\nMPT.ValidFromDate <= <MSG>.TransferDate and MPT.ValidToDate > <MSG>.TransferDate))","Dependency","N","FILE",null,"Status '<1>' of reported Metering Point '<2>' on date '<3>' is not allowed.","<1>=MPT.MeteringPointStatus.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.EffectiveDate.Value","DI.MPT.010","EC.MPT.146","RC.MPT.146",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.147","If DSO disconnection is response to (notification received upon) request from Supplier, then Accounting point has currently a running disconnection process awaiting a confirmation. ","<MSG>.ConnectionStatus = AO02 and\n<MSG>.OriginalMessageID <> null and\nNOT(EXISTS(\nTDC.TransactionType = ACP.DCS and\nMPT(TDC.EntityID).MeteringPointEAN = <MSG>.MeteringPointEAN and\nTDC.DossierStatus = RUN and\nTDS(#3).BTDCoreID = TDC.BTDCoreID and\nTDS(#3).StepType = ACP.DCS.NTF and\nTDS(#3).StepStatus = AVL/DEQ and\nTDS(#3).JuridicalReceiverIdentifier =\nMSG.JuridicalSender and\nTDS(#3).ExternalMessageID = <MSG>.OriginalMessageID and\nTDS(#7).BTDCoreID = TDC.BTDCoreID and\nTDS(#7).StepType = ACP.DCD.REQ and\nTDS(#7).StepStatus = LKD and\nTDS(#7).JuridicalSenderIdentifier =\nMSG.JuridicalSender))","Reference","N","B2B/GUI","Check BTD if a running disconnection process waiting for a confirmation","Disconnection on accounting point '<1>' is not waiting for confirmation..","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.MPT.147","RC.MPT.147",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.MPT.012.148","If Accounting Point Subtype is \"Product unit’s own consumption\", then Accounting Point Type is \"Consumption\".","<MSG>.AccountingPointSubtype = AQ03 and  <MSG>.AccountingPointType <> AG01","Dependency","N","B2B/GUI",null,"Attribute '<1>' with value '<2>' does not match attribute '<3>' with value '<4>'.","<1>=<MSG>.AccountingPointType.Label\n<2>=<MSG>.AccountingPointType.Value\n<3>=<MSG>.AccountingPointSubtype.Label\n<4>=<MSG>.AccountingPointSubtype.Value","DI.MPT.012","EC.MPT.148","RC.MPT.148",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE167","v":2},"VR.MPT.012.148B","If Accounting Point Subtype is \"Virtual\", then Accounting Point Type is \"Production\".","<MSG>.AccountingPointSubtype = AQ04 and  <MSG>.AccountingPointType <> AG02","Dependency","N","B2B/GUI",null,"Attribute '<1>' with value '<2>' does not match attribute '<3>' with value '<4>'.","<1>=<MSG>.AccountingPointType.Label\n<2>=<MSG>.AccountingPointType.Value\n<3>=<MSG>.AccountingPointSubtype.Label\n<4>=<MSG>.AccountingPointSubtype.Value","DI.MPT.012","EC.MPT.148","RC.MPT.148",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.020.149","If Accounting Point Type is \"Production\", then Metering Method is \"Continuous metering\" (except if the Accounting Point Status is \"Under Construction\" or \"Removed from Use\").","<MSG>.MeteringPointStatus <> AE03/AE04 and <MSG>.AccountingPointType = AG02 and <MSG>.MeteringMethod <> E13","Dependency","N","B2B/GUI","Update fully replaces existing state, so metering method then also needs to be checked again.","Attribute '<1>' with value '<2>' does not match attribute '<3>' with value '<4>'.","<1>=<MSG>.MeteringMethod.Label\n<2>=<MSG>.MeteringMethod.Value\n<3>=<MSG>.AccountingPointType.Label\n<4>=<MSG>.AccountingPointType.Value","DI.MPT.020","EC.MPT.149","RC.MPT.149",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.MPT.004.150","The reported Transfer Date must be a valid date (implicitly, time is local midnight).","dateformat(<MSG>.TransferDate) <> 'YYYY-MM-DD')","Format","N","FILE","Must be an existing date, e.g. '2020-02-30' is invalid.","Attribute '<1>' invalid, value '<2>' must be a valid date.","<1>=<MSG>.TransferDate.Label\n<2>=<MSG>.TransferDate.Value","DI.MPT.004","EC.MPT.150","RC.MPT.150",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.011.151","The type of the reported Metering Point is \"Accounting Point\" or \"Production Unit\" on the reported Transfer Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.MeteringPointType = ACP/PRU and\nMPT.ValidFromDate <= <MSG>.TransferDate and  MPT.ValidToDate > <MSG>.TransferDate))","Dependency","N","FILE","Exchange Points and Virtual Production Units are processed manually.","Type '<1>' of reported Metering Point '<2>' is not allowed on reported date '<3>'.","<1>=<MSG>.MeteringPointType.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.TransferDate.Value","DI.MPT.011","EC.MPT.151","RC.MPT.151",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE171","v":1},"VR.MPT.011.151B","The type of the reported Metering Point is \"Exchange Point\" or \"Production Unit\" on the reported Agreement Start Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.MeteringPointType = EXP/PRU and\nMPT.ValidFromDate <= <MSG>.AgreementStartDate and  MPT.ValidToDate >\n<MSG>.AgreementStartDate))","Dependency","N","FILE","Only Exchange Points and Production Units are allowed.","Type '<1>' of reported Metering Point '<2>' is not allowed on reported date '<3>'.","<1>=<MSG>.MeteringPointType.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.AgreementStartDate.Value","DI.MPT.011","EC.MPT.151","RC.MPT.151",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.011.152","The reported type of Metering Point must match the registered type of Metering Point on the reported Transfer Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.MeteringPointType = <MSG>.MeteringPointType and\nMPT.ValidFromDate <= <MSG>.TransferDate and  MPT.ValidToDate > <MSG>.TransferDate))","Dependency","N","FILE",null,"Reported type '<1>' of Metering Point '<2>' does not match registered type '<3>' on reported date '<4>'.","<1>=<MSG>.MeteringPointType.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=MPT.MeteringPointType.Value\n<4>=<MSG>.TransferDate.Value","DI.MPT.011","EC.MPT.152","RC.MPT.152",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.153A","There is a pending Connection Request from the same supplier for the same date on the Accounting Point. ","NOT(EXISTS(\nTDC.TransactionType = ACP.CNS and\nTDC.DossierStatus != FIN and\nTDC.EffectuationDate = <MSG>.StartOfOccurrence and\nTDS1.BTDCoreID = TDC.BTDCoreID and\nTDS1.StepType = ACP.CNS.REQ and\nTDS1.PhysicalSenderIdentifier = MSG.PhysicalSender and\nTDS3.BTDCoreID = TDC.BTDCoreID and\nTDS3.StepType = ACP.CNS.NTF and\nBSA.BTDStepID = TDS3.BTDStepID and\nBSA(MeteringPointEAN).AttributeValue = <MSG>.MeteringPointEAN\nTDS7.BTDCoreID = TDC.BTDCoreID and\nTDS7.StepType = ACP.CND.REQ and\nTDS7.StepStatus = LKD\n))","Dependency","N","B2B/GUI","BTD steps #1, #3 and #7 of the connection dossier need to be joined to obtain the info that needs to be checked.","No pending request from  requesting Supplier '<1>' on attribute '<2>' with value '<3>' on attribute '<4>' with value '<5>'.","<1>=MSG. PhysicalSender.Value\n<2>=<MSG>.MeteringPointEAN.Label\n<3>=<MSG>.MeteringPointEAN.Value\n<4>=<MSG>.StartOfOccurrence.Label\n<5>=<MSG>.StartOfOccurrence.Value","DI.MPT.003","EC.MPT.153","RC.MPT.153",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.153B","There is a pending Disconnection Request from the same supplier for the same date on the Accounting Point. ","NOT(EXISTS(\nTDC.TransactionType = ACP.DCS and\nTDC.DossierStatus != FIN and\nTDC.EffectuationDate = <MSG>.StartOfOccurrence and\nTDS1.BTDCoreID = TDC.BTDCoreID and\nTDS1.StepType = ACP.DCS.REQ and\nTDS1.PhysicalSenderIdentifier = MSG.PhysicalSender and\nTDS3.BTDCoreID = TDC.BTDCoreID and\nTDS3.StepType = ACP.DCS.NTF and\nBSA.BTDStepID = TDS3.BTDStepID and\nBSA(MeteringPointEAN).AttributeValue = <MSG>.MeteringPointEAN\nTDS7.BTDCoreID = TDC.BTDCoreID and\nTDS7.StepType = ACP.DCD.REQ and\nTDS7.StepStatus = LKD\n))","Dependency","N","B2B/GUI","BTD steps #1, #3 and #7 of the disconnection dossier need to be joined to obtain the info that needs to be checked.","No pending request from  requesting Supplier '<1>' on attribute '<2>' with value '<3>' on attribute '<4>' with value '<5>'.","<1>=MSG. PhysicalSender.Value\n<2>=<MSG>.MeteringPointEAN.Label\n<3>=<MSG>.MeteringPointEAN.Value\n<4>=<MSG>.StartOfOccurrence.Label\n<5>=<MSG>.StartOfOccurrence.Value","DI.MPT.003","EC.MPT.153","RC.MPT.153",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.154A","Start of Occurrence is in accordance with the business process timelines (using ACP.CND parameters), which cannot be in the future.","<MSG>.StartOfOccurrence >\nNow + CP_ACPCND_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MAX_PERIOD configuration parameters for ACP.CND process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. within '<3>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Now+CP_ACPCND_MAX_PERIOD","DI.MPT.004","EC.MPT.154","RC.MPT.154",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.004.154B","Start of Occurrence is in accordance with the business process timelines (using ACP.DCD parameters), which cannot be in the future.","<MSG>.StartOfOccurrence >\nNow + CP_ACPDCD_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MAX_PERIOD configuration parameters for ACP.DCD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. within '<3>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Now+CP_ACPDCD_MAX_PERIOD","DI.MPT.004","EC.MPT.154","RC.MPT.154",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.155","The reporting DSO owns (is responsible for) the reported Metering Point on the reported Agreement Start Date.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMGA.MeteringGridAreaCode = MPT.MeteringGridAreaCode and\nMGA.ResponsibleDSO = MSG.JuridicalSender and MGA.ValidFromDate <= <MSG>.AgreementStartDate and\nMGA.ValidTodate >\n<MSG>.AgreementStartDate))","Dependency","N","FILE","DSO can only authorise metering points in grid area(s) owned at the submitted start date. ","Attribute '<1>' not allowed, value '<2>' does not belong to the reporting organisation '<3>' on date '<4>'.","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=MSG.JuridicalSender\n<4>=<MSG>.AgreementStartDate","DI.MPT.003","EC.MPT.155","RC.MPT.155",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE178","v":1},"VR.MPT.003.156A","Accounting Point cannot already be related to another Accounting Point on/after submitted Start Of Occurrence.","EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and MPT.RelatedMeteringPointEAN <> null and\nMPT.RetiredTimestamp = null and\n((MPT.ValidFromDate <= <MSG>.StartOfOccurrence\nand MPT.ValidTodate > <MSG>.StartOfOccurrence) or\nMPT.ValidFromDate > <MSG>.StartOfOccurrence))\n","Dependency","N","B2B/GUI","Main accounting point cannot be related already.","Attribute '<1>' with value '<2>' invalid, the selected accounting point is already related to another accounting point '<3>' <5> the selected date '<4>'.","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=MPT.RelatedMeteringPointEAN.Value\n<4>=<MSG>.StartOfOccurrence.Value\n<5>=[on/after]","DI.MPT.003","EC.MPT.156","RC.MPT.156",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE179","v":1},"VR.MPT.090.156B","Related Accounting Point cannot already be related to another Accounting Point on/after submitted Start Of Occurrence.","EXISTS(\nMPT.MeteringPointEAN = <MSG>.RelatedMeteringPointEAN and MPT.RelatedMeteringPointEAN <> null and\nMPT.RetiredTimestamp = null and\n((MPT.ValidFromDate <= <MSG>.StartOfOccurrence\nand MPT.ValidTodate > <MSG>.StartOfOccurrence) or\nMPT.ValidFromDate > <MSG>.StartOfOccurrence))\n","Dependency","N","B2B/GUI","Related accounting point cannot be related already.","Attribute '<1>' with value '<2>' invalid, the selected accounting point is already related to another accounting point '<3>' <5> the selected date '<4>'.","<1>=<MSG>.RelatedMeteringPointEAN.Label\n<2>=<MSG>.RelatedMeteringPointEAN.Value\n<3>=MPT.RelatedMeteringPointEAN.Value\n<4>=<MSG>.StartOfOccurrence.Value\n<5>=[on/after]","DI.MPT.090","EC.MPT.156","RC.MPT.156",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE180","v":1},"VR.MPT.090.157A","The main Accounting Point and the related Accounting Point must belong to the same Metering Grid Area (on submitted Start Of Occurrence)","EXISTS(\nMPT1.MeteringPointEAN =\n<MSG>.MeteringPointEAN and\nMPT2.MeteringPointEAN = <MSG>.RelatedMeteringPointEAN and MPT1.MeteringGridAreaCode <> MPT2.MeteringGridAreaCode and\nMPT1.RetiredTimestamp = null and\nMPT1.ValidFromDate <= <MSG>.StartOfOccurrence and\nMPT1.ValidTodate > <MSG>.StartOfOccurrence and\nMPT2.RetiredTimestamp = null and\nMPT2.ValidFromDate <= <MSG>.StartOfOccurrence and\nMPT2.ValidTodate > <MSG>.StartOfOccurrence)","Dependency","N","B2B/GUI","Accounting Points from different MGAs cannot be related.","Attribute '<1>' with value '<2>' invalid, the selected accounting point with metering grid area '<3>' is not allowed on the selected date '<4>'.","<1>=<MSG>.RelatedMeteringPointEAN.Label\n<2>=<MSG>.RelatedMeteringPointEAN.Value\n<3>=MPT2.MeteringGridAreaCode.Value\n<4>=<MSG>.StartOfOccurrence.Value","DI.MPT.090","EC.MPT.157","RC.MPT.157",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE181","v":1},"VR.MPT.090.157B","The main Accounting Point and the related Accounting Point must belong to the same Metering Grid Area (on submitted End Of Occurrence)","EXISTS(\nMPT1.MeteringPointEAN =\n<MSG>.MeteringPointEAN and\nMPT2.MeteringPointEAN = <MSG>.RelatedMeteringPointEAN and MPT1.MeteringGridAreaCode <> MPT2.MeteringGridAreaCode and\nMPT1.RetiredTimestamp = null and\nMPT1.ValidFromDate <= <MSG>.EndOfOccurrence and\nMPT1.ValidTodate > <MSG>.EndOfOccurrence and\nMPT2.RetiredTimestamp = null and\nMPT2.ValidFromDate <= <MSG>.EndOfOccurrence and\nMPT2.ValidTodate > <MSG>.EndOfOccurrence)","Dependency","N","B2B/GUI","Accounting Points from different MGAs cannot be related.","Attribute '<1>' with value '<2>' invalid, the selected accounting point with metering grid area '<3>' is not allowed on the selected date '<4>'.","<1>=<MSG>.RelatedMeteringPointEAN.Label\n<2>=<MSG>.RelatedMeteringPointEAN.Value\n<3>=MPT2.MeteringGridAreaCode.Value\n<4>=<MSG>.EndOfOccurrence.Value","DI.MPT.090","EC.MPT.157","RC.MPT.157",null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.158","When connecting an Accounting Point due to a disconnection cancellation, the reported disconnection date must be today.","<MSG>.ConnectionStatus = AO01 and\nDATE(<MSG>.StartOfOccurrence) <> date(Now)","Calculation","N","B2B/GUI","Check request against today.","Disconnection date '<1>' invalid, must be today.","<1>=<MSG>.StartOfOccurrence","DI.MPT.010","EC.MPT.158","RC.MPT.158",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.159","When connecting an Accounting Point due to a disconnection cancellation, the reported disconnection date must be a matching response to a pending Disconnection request from the Supplier (i.e. also for today).","<MSG>.ConnectionStatus = AO01 and\n(<MSG>.OriginalMessageID = null or\nNOT(EXISTS(\nTDC.TransactionType = ACP.DCS and\nMPT(TDC.EntityID).MeteringPointEAN = <MSG>.MeteringPointEAN and\nTDC.DossierStatus = RUN and\nDATE(TDC.EffectuationDate) = DATE(<MSG>.StartOfOccurrence) and\nTDS(#3).BTDCoreID = TDC.BTDCoreID and\nTDS(#3).StepType = ACP.DCS.NTF and\nTDS(#3).StepStatus = AVL/DEQ and\nTDS(#3).JuridicalReceiverIdentifier =\nMSG.JuridicalSender and\nTDS(#3).ExternalMessageID = <MSG>.OriginalMessageID and\nTDS(#7).BTDCoreID = TDC.BTDCoreID and\nTDS(#7).StepType = ACP.DCD.REQ and\nTDS(#7).StepStatus = LKD and\nTDS(#7).JuridicalSenderIdentifier =\nMSG.JuridicalSender)))","Reference","N","B2B/GUI","Check BTD for a running (composite) disconnection process by Supplier, still waiting for a confirmation by DSO.","Disconnection on accounting point '<1>' must have a pending disconnection request.","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.010","EC.MPT.159","RC.MPT.159",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE184","v":1},"VR.MPT.010.160","When connecting an Accounting Point due to a disconnection cancellation, the reported disconnection date must match a pending Connection request from the Supplier (i.e. also for today).","<MSG>.ConnectionStatus = AO01 and\nNOT(EXISTS(\nTDC.TransactionType = ACP.CNS and\nMPT(TDC.EntityID).MeteringPointEAN = <MSG>.MeteringPointEAN and\nTDC.DossierStatus = RUN and\nDATE(TDC.EffectuationDate) = DATE(<MSG>.StartOfOccurrence) and\nTDS(#3).BTDCoreID = TDC.BTDCoreID and\nTDS(#3).StepType = ACP.CNS.NTF and\nTDS(#3).StepStatus = AVL/DEQ and\nTDS(#3).JuridicalReceiverIdentifier =\nMSG.JuridicalSender and\nTDS(#7).BTDCoreID = TDC.BTDCoreID and\nTDS(#7).StepType = ACP.CND.REQ and\nTDS(#7).StepStatus = LKD and\nTDS(#7).JuridicalSenderIdentifier =\nMSG.JuridicalSender))","Reference","N","B2B/GUI","Check BTD for a running (composite) connection process by Supplier, still waiting for a confirmation by DSO.","Disconnection on accounting point '<1>' must have a pending connection request.","<1>=<MSG>.MeteringPointEAN.Value","DI.MPT.010","EC.MPT.160","RC.MPT.160",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.MPT.016.161","Metering Time Step with 15 minutes resolution cannot be effectuated before the official switch date of 15 minutes measurement.","<MSG>.MeteringTimeStep = PT15M and <MSG>.StartOfOccurrence < CP_GENERAL_15MIN_MSRM_SWITCH_DATE","Dependency","N","B2B/GUI","Check using system configuration parameter.","Attribute '<1>' with value '<2>' not allowed on date '<3>', which cannot be before the official switch date '<4>'.","<1>=<MSG>.MeteringTimeStep.Label\n<2>=<MSG>.MeteringTimeStep.Value\n<3>=<MSG>.StartOfOccurrence.Value\n<4>=\nCP_GENERAL_15MIN_MSRM_SWITCH_DATE","DI.MPT.016","EC.MPT.161","RC.MPT.161",null,null,null,null,null,"X",null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE186","v":1},"VR.MPT.016.162","If requesting Market Party has Market Role \"Distribution System Operator\", then there is no Metering Data registered yet for the reported Accounting Point in the period of the submitted Metering Time Step (on/after Start Of Occurrence).","MSG.MarketRole = DSO and\nEXISTS(\nETS.MeteringPointID = <MSG>.MeteringPointEAN\nand ETS.PeriodStartTS <= <MSG>.StartOfOccurrence\nand ETS.PeriodEndTS > <MSG>.StartOfOccurrence\n) See explaining note at the right!","Reference","N","B2B/GUI","ETS = EnergyTimeSeries\nThis validation requires a (API) lookup in MDM triggered by the CMD business process.This lookup is only needed if the effective date is in the past, as metering data is not allowed to be reported for the future.","Attribute '<1>' with value '<2>' not allowed for accounting point '<3>', as metering data has already been registered for a period that covers date '<4>'.","<1>=<MSG>.MeteringTimeStep.Label\n<2>=<MSG>.MeteringTimeStep.Value\n<3>=<MSG>.MeteringPointEAN.Value\n<4>=<MSG>.StartOfOccurrence.Value","DI.MPT.016","EC.MPT.162","RC.MPT.162",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G186,\"State*\")+COUNTIF(N186:ED186,\"X*\")+COUNTIF(N186:ED186,\"T*\")","v":1}]
[1,"VR.MPT.016.163","Metering Time Step cannot be changed (i.e. must be same value as currently registered on Start Of Occurrence).","EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN\nand MPT.MeteringTimeStep <> <MSG>.MeteringTimeStep and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence)","Dependency","N","B2B/GUI","Changing metering time step is not allowed, i.e. submitted value must be same as currently registered value. ","Attribute '<1>' with value '<2>' not allowed, metering time step cannot be changed.","<1>=MPT.MeteringTimeStep.Label\n<2>=<MSG>.MeteringTimeStep.Value","DI.MPT.016","EC.MPT.163","RC.MPT.163",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE188","v":2},"VR.MPT.004.164","Start of Occurrence must have time as quarter of an hour, if the (dis)connection date is on/after the official switch date of 15 minutes settlement and the Accounting Point involved is measured with 15 minutes resolution.","<MSG>.StartOfOccurrence >= CP_GENERAL_15MIN_STLM_SWITCH_DATE and\nEXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN\nand MPT.MeteringTimeStep = PT15M and MPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence) and\ntime(<MSG>.StartOfOccurrence, 'MM:SS') <> '00:00' and\ntime(<MSG>.StartOfOccurrence, 'MM:SS') <> '15:00' and\ntime(<MSG>.StartOfOccurrence, 'MM:SS') <> '30:00' and\ntime(<MSG>.StartOfOccurrence, 'MM:SS') <> '45:00'","Format","N","B2B/GUI","Switch date is kept in a system configuration parameter.","Attribute '<1>' invalid, value '<2>' must be a quarter of an hour.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value","DI.MPT.004","EC.MPT.164","RC.MPT.164",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.MPT.016.165","Metering Time Step must have changed (i.e. must be different value than currently registered on Start of Occurrence).","EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN\nand MPT.MeteringTimeStep =\n<MSG>.MeteringTimeStep and\nMPT.RetiredTimestamp = null and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence)","Dependency","N","B2B/GUI","Changing metering time step is mandatory, i.e. submitted value must differ from currently registered value. ","Attribute '<1>' with value '<2>' not allowed, metering time step must have changed.","<1>=MPT.MeteringTimeStep.Label\n<2>=<MSG>.MeteringTimeStep.Value","DI.MPT.016","EC.MPT.165","RC.MPT.165",null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.MPT.012.166A","The type of an Accounting Point reported as a Consumption Member is \"Consumption\" (on Start Of Occurrence).","EXISTS(MPT.MeteringPointEAN = <MSG>.[CAPn]MeteringPointEAN and MPT.AccountingPointType <> AG01 and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence)","Reference","N","B2B/GUI",null,"Accounting Point '<1>' is reported as a Consumption Member but has type '<2>'.","<1>=<MSG>.[CAPn]MeteringPointEAN.Value\n<2>=MPT.AccountingPointType.Value","DI.MPT.012","EC.MPT.166","RC.MPT.166",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE191","v":2},"VR.MPT.012.166B","The type of an Accounting Point reported as a Production Member is \"Production\" (on Start Of Occurrence).","EXISTS(MPT.MeteringPointEAN = <MSG>.[PAPn]MeteringPointEAN and MPT.AccountingPointType <> AG02 and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence)","Reference","N","B2B/GUI",null,"Accounting Point '<1>' is reported as a Production Member but has type '<2>'.","<1>=<MSG>.[PAPn]MeteringPointEAN.Value\n<2>=MPT.AccountingPointType.Value","DI.MPT.012","EC.MPT.166","RC.MPT.166",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.MPT.010.167","The status of a Metering Point reported as a (Consumption or Production) Member is neither registered as \"Removed from Use\" nor \"Deleted\" (on Start Of Occurrence).","EXISTS(<MSG>.[CAPn/PAPn]MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus = AE04/AE05 and\nMPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidToDate > <MSG>.StartOfOccurrence)","Reference","N","B2B/GUI",null,"Status of reported Accounting Point '<1>' cannot be '<2>' on date '<3>'.","<1>=<MSG>.[CAPn/PAPn]MeteringPointEAN.Value\n<2>=MPT.MeteringPointStatus.Value\n<3>=<MSG>.StartOfOccurrence.Value","DI.MPT.010","EC.MPT.167","RC.MPT.167",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE193","v":2},"VR.MPT.014.168","The Metering Grid Area of an Accounting Point reported as a (Consumption or Production) Member belongs to the responsible DSO on Start of Occurrence.","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.[CAPn/PAPn]MeteringPointEAN and\nMGA.MeteringGridAreaCode = MPT.MeteringGridAreaCode and\nMGA.ResponsibleDSO = MSG.JuridicalSender and\nMGA.ValidFromDate <= <MSG>.StartOfOccurrence and\nMGA.ValidTodate > <MSG>.StartOfOccurrence\n))","Reference","N","B2B/GUI","DSO can only manage accounting points in energy communities that belong to a metering grid area owned at submitted date. ","Energy community member not allowed, the metering grid area '<1>' of the involved accounting point '<2>' does not belong to the responsible organisation '<3>'.","<1>=MPT.MeteringGridAreaCode.Value\n<2>=<MSG>.[CAPn/PAPn]MeteringPointEAN.Value\n<3>=MSG.JuridicalSender","DI.MPT.014","EC.MPT.168","RC.MPT.168",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE194","v":2},"VR.MPT.090.169","If Surplus Method is \"Surplus method B\", then an Accounting Point reported as a Consumption Member must have a related Accounting Point of type (small scale) \"Production\".","<MSG>.SurplusMethod = SMB and\nNOT(EXISTS(\nMPT1.MeteringPointEAN = <MSG>.[CAPn]MeteringPointEAN and\nMPT1.AccountingPointType = AG01 and MPT2.MeteringPointID = MPT1.RelatedMeteringPointID and MPT2.AccountingPointType = AG02\n))","Reference","N","B2B/GUI","Check for all consumption accounting points of an energy community.","Energy community member not allowed, the accounting point  related to the reported accounting point '<1>' is incorrect.","<1>=<MSG>.[CAPn]MeteringPointEAN.Value","DI.MPT.090","EC.MPT.169","RC.MPT.169",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE195","v":2},"VR.MPT.090.170","If Surplus Method is \"Surplus method B\", then the Accounting Point of type (small scale) \"Production\" that is related to an Accounting Point reported as a Consumption Member must have been reported too (i.e. in the same request message).","<MSG>.SurplusMethod = SMB and\nNOT(EXISTS(\nMPT1.MeteringPointEAN = <MSG>.[CAPn]MeteringPointEAN and\nMPT1.AccountingPointType = AG01 and MPT2.MeteringPointID = MPT1.RelatedMeteringPointID and MPT2.AccountingPointType = AG02\nMPT2.MeteringPointEAN = <MSG>.[PAPn]MeteringPointEAN\n))","Reference","N","B2B/GUI","Check for all consumption and production accounting points of an energy community.","Energy community member not allowed, the accounting point  related to the reported accounting point '<1>' is missing.","<1>=<MSG>.[CAPn]MeteringPointEAN.Value","DI.MPT.090","EC.MPT.170","RC.MPT.170",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE196","v":2},"VR.MPT.003.172A","The main Accounting Point cannot be a Consumption Member of an Energy Community with Surplus Method B (on/after Start Of Occurrence).","EXISTS(ECM.MeteringPointEAN = <MSG>.MeteringPointEAN and\nECM.AccountingPointType = AG01 and\n((ECM.ValidFromDate <= <MSG>.DateOfOccurrence and ECM.ValidToDate > <MSG>.DateOfOccurrence) or\nECM.ValidFromDate > <MSG>.DateOfOccurrence) and ECM.EnergyCommunityIdentifier =\nECY.EnergyCommunityIdentifier and\nECY.SurplusMethod = SMB and\n((ECY.ValidFromDate <= <MSG>.DateOfOccurrence and ECY.ValidToDate > <MSG>.DateOfOccurrence) or\nECY.ValidFromDate > <MSG>.DateOfOccurrence)","Reference","N","B2B/GUI","Consumption members of an energy community are already related upon creation of the community.\n\nNote: <MSG>.DateOfOccurrence equals:\n- if DH-126 thenStartOfOccurence;\n- if DH-127 thenEndOfOccurence.","Accounting Point '<1>' is a consumption member of energy community '<2>' with surplus method B and thus cannot be (un)related with accounting point '<3>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=ECM.EnergyCommunityIdentifier.Value\n<3>=<MSG>.RelatedMeteringPointEAN.Value","DI.MPT.003","EC.MPT.172","RC.MPT.172",null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE197","v":2},"VR.MPT.090.172B","The related Accounting Point cannot be a Consumption Member of an Energy Community with Surplus Method B (on/after Start Of Occurrence).","EXISTS(ECM.MeteringPointEAN = <MSG>.RelatedMeteringPointEAN and\nECM.AccountingPointType = AG01 and\n((ECM.ValidFromDate <= <MSG>.DateOfOccurrence and ECM.ValidToDate > <MSG>.DateOfOccurrence) or\nECM.ValidFromDate > <MSG>.DateOfOccurrence) and ECM.EnergyCommunityIdentifier =\nECY.EnergyCommunityIdentifier and\nECY.SurplusMethod = SMB and\n((ECY.ValidFromDate <= <MSG>.DateOfOccurrence and ECY.ValidToDate > <MSG>.DateOfOccurrence) or\nECY.ValidFromDate > <MSG>.DateOfOccurrence)","Reference","N","B2B/GUI","Consumption members of an energy community are already related upon creation of the community.\n\nNote: <MSG>.DateOfOccurrence equals:\n- if DH-126 thenStartOfOccurence;\n- if DH-127 thenEndOfOccurence.","Accounting Point '<1>' is a consumption member of energy community '<2>' with surplus method B and thus cannot be (un)related with accounting point '<3>'.","<1>=<MSG>.RelatedMeteringPointEAN.Value\n<2>=ECM.EnergyCommunityIdentifier.Value\n<3>=<MSG>.MeteringPointEAN.Value","DI.MPT.090","EC.MPT.172","RC.MPT.172",null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.MPT.090.173","A relation between the main Accounting Point and the related Accounting Point must already exist on submitted End Of Occurrence.","NOT(EXISTS(\nMPT1.MeteringPointEAN =\n<MSG>.MeteringPointEAN and\nMPT2.MeteringPointEAN = <MSG>.RelatedMeteringPointEAN and MPT1.RelatedMeteringPointID =\nMPT2.MeteringPointID and\nMPT1.RetiredTimestamp = null and\nMPT1.ValidFromDate <= <MSG>.EndOfOccurrence and\nMPT1.ValidTodate > <MSG>.EndOfOccurrence and\nMPT2.RetiredTimestamp = null and\nMPT2.ValidFromDate <= <MSG>.EndOfOccurrence and\nMPT2.ValidTodate > <MSG>.EndOfOccurrence))","Dependency","N","B2B/GUI","Only existing relations can be ended.","Attribute '<1>' with value '<2>' invalid, the selected accounting point is not related to accounting point '<3>' on the selected date '<4>'.","<1>=<MSG>.RelatedMeteringPointEAN.Label\n<2>=<MSG>.RelatedMeteringPointEAN.Value\n<3>=<MSG>.MeteringPointEAN.Value\n<4>=<MSG>.EndOfOccurrence.Value","DI.MPT.090","EC.MPT.173","RC.MPT.173",null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE199","v":1},"VR.MPT.090.173B","A relation between the reported Consumption Accounting Point and the reported Production Accounting Point must already exist on submitted Channel Start Date.","NOT(EXISTS(\nMPT1.MeteringPointEAN =\n<MSG>.ConsMeteringPointEAN and\nMPT2.MeteringPointEAN = <MSG>.ProdMeteringPointEAN and MPT1.RelatedMeteringPointID =\nMPT2.MeteringPointID and\nMPT1.RetiredTimestamp = null and\nMPT1.ValidFromDate <= <MSG>.ChannelStartDate and\nMPT1.ValidTodate > <MSG>.ChannelStartDate and\nMPT2.RetiredTimestamp = null and\nMPT2.ValidFromDate <= <MSG>.ChannelStartDate and\nMPT2.ValidTodate > <MSG>.ChannelStartDate))","Dependency","N","FILE","Only existing relations can be reported.","Attribute '<1>' with value '<2>' invalid, the selected accounting point is not related to accounting point '<3>' on the selected date '<4>'.","<1>=<MSG>.ProdMeteringPointEAN.Label\n<2>=<MSG>.ProdMeteringPointEAN.Value\n<3>=<MSG>.ConsMeteringPointEAN.Value\n<4>=<MSG>.ChannelStartDate.Value","DI.MPT.090","EC.MPT.173","RC.MPT.173",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE200","v":1},"VR.MPT.010.174","If the Accounting Point is an active member of an Energy Community (on/after Start Of Occurrence), then Accounting Point Status cannot be changed to “Removed from Use”.","<MSG>.MeteringPointStatus = AE04 and\nEXISTS(\nECM.MeteringPointEAN =<MSG>.MeteringPointEAN and\nECM.MemberStatus = ACT and\n((ECM.ValidFromDate <= <MSG>.StartOfOccurrence and ECM.ValidToDate > <MSG>.StartOfOccurrence)\nor ECM.ValidFromDate > <MSG>.StartOfOccurrence)\n)","Reference","N","B2B/GUI","Membership of energy community must first be ended.","Status '<1>' not allowed, accounting point '<2>' is still an active member of energy community '<3>' on/after date '<4>'.","<1>=<MSG>.MeteringPointStatus.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=ECM.EnergyCommunityIdentifier.Value\n<4>=<MSG>.StartOfOccurrence.Value","DI.MPT.010","EC.MPT.174","RC.MPT.174",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.175","Accounting Point is not an active member of an Energy Community (on/after Start Of Occurrence).","EXISTS(\nECM.MeteringPointEAN =<MSG>.MeteringPointEAN and\nECM.MemberStatus = ACT and\n((ECM.ValidFromDate <= <MSG>.StartOfOccurrence and ECM.ValidToDate > <MSG>.StartOfOccurrence)\nor ECM.ValidFromDate > <MSG>.StartOfOccurrence)\n)","Reference","N","B2B/GUI","Membership of energy community must first be ended.","Accounting point '<1>' is still an active member of energy community '<2>' on/after date '<3>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=ECM.EnergyCommunityIdentifier.Value\n<3>=<MSG>.StartOfOccurrence.Value","DI.MPT.010","EC.MPT.175","RC.MPT.175",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.013.176","Accounting Point Subtype cannot be changed to/from Virtual.","EXISTS(MPT.MeteringPointEAN = <MSG>.MeteringPointEAN and <MPT.AccountingPointSubtype <> <MSG>.AccountingPointSubtype and MPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidToDate > <MSG>.StartOfOccurrence and (MPT.AccountingPointSubtype = AQ04 or <MSG>.AccountingPointSubtype = AQ04))","Dependency","N","B2B/GUI","Changing accounting point subtype Virtual is not allowed. ","Attribute '<1>' value '<2>' not allowed, accounting point '<3>' with subtype '<4>' cannot be changed.","<1>=MPT.AccountingPointSubtype.Label\n<2>=<MSG>.AccountingPointSubtype.Value\n<3>=<MSG>.MeteringPointEAN.Value\n<4>=MPT.AccountingPointSubtype.Value","DI.MPT.013","EC.MPT.176","RC.MPT.176",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.003.177A","If the main Accounting Point is a Production Member of an Energy Community (on/after Start Of Occurrence), then the related Accounting Point cannot be a Consumption Member of another Energy Community.","EXISTS(ECM1.MeteringPointEAN = <MSG>.MeteringPointEAN and\nECM1.AccountingPointType = AG02 and\n((ECM1.ValidFromDate <= <MSG>.StartOfOccurrence and ECM1.ValidToDate > <MSG>.StartOfOccurrence) or ECM1.ValidFromDate > <MSG>.StartOfOccurrence)) and\nEXISTS(ECM2.MeteringPointEAN = <MSG>.RelatedMeteringPointEAN and\nECM2.AccountingPointType = AG01 and\nECM2.EnergyCommunityIdentifier <> ECM1.EnergyCommunityIdentifier and\n((ECM2.ValidFromDate <= <MSG>.StartOfOccurrence and ECM2.ValidToDate > <MSG>.StartOfOccurrence) or ECM2.ValidFromDate > <MSG>.StartOfOccurrence)) ","Reference","N","B2B/GUI","Both accounting points of the relation must be validated.","Production accounting point '<1>' that belongs to energy community '<2>' cannot have a related consumption accounting point '<3>' that belongs to another energy community '<4>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=ECM1.EnergyCommunityIdentifier.Value\n<3>=<MSG>.RelatedMeteringPointEAN.Value\n<4>=ECM2.EnergyCommunityIdentifier.Value","DI.MPT.003","EC.MPT.177","RC.MPT.177",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE204","v":1},"VR.MPT.090.177B","If the related Accounting Point is a Production Member of an Energy Community (on/after Start Of Occurrence), then the main Accounting Point cannot be a Consumption Member of another Energy Community.","EXISTS(ECM1.MeteringPointEAN = <MSG>.RelatedMeteringPointEAN and\nECM1.AccountingPointType = AG02 and\n((ECM1.ValidFromDate <= <MSG>.StartOfOccurrence and ECM1.ValidToDate > <MSG>.StartOfOccurrence) or ECM1.ValidFromDate > <MSG>.StartOfOccurrence)) and\nEXISTS(ECM2.MeteringPointEAN = <MSG>.MeteringPointEAN and\nECM2.AccountingPointType = AG01 and\nECM2.EnergyCommunityIdentifier <> ECM1.EnergyCommunityIdentifier and\n((ECM2.ValidFromDate <= <MSG>.StartOfOccurrence and ECM2.ValidToDate > <MSG>.StartOfOccurrence) or ECM2.ValidFromDate > <MSG>.StartOfOccurrence)) ","Reference","N","B2B/GUI","Both accounting points of the relation must be validated.","Production accounting point '<1>' that belongs to energy community '<2>' cannot have a related consumption accounting point '<3>' that belongs to another energy community '<4>'.","<1>=<MSG>.RelatedMeteringPointEAN.Value\n<2>=ECM1.EnergyCommunityIdentifier.Value\n<3>=<MSG>.MeteringPointEAN.Value\n<4>=ECM2.EnergyCommunityIdentifier.Value","DI.MPT.090","EC.MPT.177","RC.MPT.177",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.012.178A","The accounting point type of the reported Consumption Metering Point is \"Consumption\" on the submitted Channel Start Date.","EXISTS(MPT.MeteringPointEAN = <MSG>.ConsMeteringPointEAN and MPT.AccountingPointType <> AG01 and\nMPT.ValidFromDate <= <MSG>.ChannelStartDate and MPT.ValidTodate > <MSG>.ChannelStartDate)","Reference","N","FILE",null,"Accounting point type of requested metering point '<1>' is not '<2>' on date '<3>'.","<1>=<MSG>.ConsMeteringPointEAN.Value\n<2>=[Consumption]\n<3>=<MSG>.ChannelStartDate.Value","DI.MPT.012","EC.MPT.178","RC.MPT.178",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE206","v":1},"VR.MPT.012.178B","The accounting point type of the reported Production Metering Point is \"Production\" on the submitted Channel Start Date.","EXISTS(MPT.MeteringPointEAN = <MSG>.ProdMeteringPointEAN and MPT.AccountingPointType <> AG02 and\nMPT.ValidFromDate <= <MSG>.ChannelStartDate and MPT.ValidTodate > <MSG>.ChannelStartDate)","Reference","N","FILE",null,"Accounting point type of requested metering point '<1>' is not '<2>' on date '<3>'.","<1>=<MSG>.ProdMeteringPointEAN.Value\n<2>=[Production]\n<3>=<MSG>.ChannelStartDate.Value","DI.MPT.012","EC.MPT.178","RC.MPT.178",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.030.179","If netting is (or will be) applied to the reported (production) Accounting Point, then it is not allowed to remove all production devices.","EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.AccountingPointType = AG02 and\nMPT.IsNettingApplied = 1/True and\n((MPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence) or\nMPT.ValidFromDate > <MSG>.StartOfOccurrence)) and\n<MSG>.[PDV] = null","Reference","N","B2B/GUI","Check if the production Accounting Point has been submitted without production devices.","Netted accounting point '<1>' with type '<2>' must have production devices on date '<3>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=[Production]\n<3>=<MSG>.StartOfOccurrence.Value","DI.MPT.030","EC.MPT.179","RC.MPT.179",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE208","v":1},"VR.MPT.030.180A","If netting is (or will be) applied to the reported (production) Accounting Point, then the sum of the maximum power of its Production Devices cannot change to more than 100kW (=100kVA).","EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.AccountingPointType = AG02 and\nMPT.IsNettingApplied = 1/True and\n((MPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence) or\nMPT.ValidFromDate > <MSG>.StartOfOccurrence)) and\nSUM(<MSG>.[PDV(n)]MaximumPower, kW) > CP_GENERAL_MAX_POWER_LIMIT","Reference","N","B2B/GUI","Check sum of all production devices of the production Accounting Point, where maximum power is converted to kiloWatt (1W=1VA).","Accounting point '<1>' with type '<2>' and <3> netting applied, is not allowed to have a summed maximum power that is <4> <5> kW on date '<6>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=[Production]\n<3>=[also]\n<4>=[more than]\n<5>=CP_GENERAL_MAX_POWER_LIMIT\n<6>=<MSG>.StartOfOccurrence.Value","DI.MPT.030","EC.MPT.180","RC.MPT.180",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.030.180B","If netting is not (or will not be) applied and the reported (production) Accounting Point is (or will be) related, then the sum of the maximum power of its Production Devices cannot change from more than 100kW (=100kVA) to less than or equal to 100kW (=100kVA).","EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.AccountingPointType = AG02 and\nMPT.RelatedMeteringPointID <> null and\nMPT.IsNettingApplied = 0/False and\n((MPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence) or\nMPT.ValidFromDate > <MSG>.StartOfOccurrence)) and\nEXISTS(\nMPD(n).MeteringPointEAN = MPT.MeteringPointEAN and\nMPD(n).DeviceType = PDV and\n((MPD(n).ValidFromDate <= <MSG>.StartOfOccurrence and MPD(n).ValidTodate > <MSG>.StartOfOccurrence) or MPD(n).ValidFromDate > <MSG>.StartOfOccurrence) and SUM(MPD(n).MaximumPower, kW) > CP_GENERAL_MAX_POWER_LIMIT) and\nSUM(<MSG>.[PDV(n)]MaximumPower, kW) <= CP_GENERAL_MAX_POWER_LIMIT","Reference","N","B2B/GUI","Check sum of all production devices of the production Accounting Point, where maximum power is converted to kiloWatt (1W=1VA).","Accounting point '<1>' with type '<2>' and <3> netting applied, is not allowed to have a summed maximum power that is <4> <5> kW on date '<6>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=[Production]\n<3>=[related and with production devices but no]\n<4>=[less than or equal to]\n<5>=CP_GENERAL_MAX_POWER_LIMIT\n<6>=<MSG>.StartOfOccurrence.Value","DI.MPT.030","EC.MPT.180","RC.MPT.180",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE210","v":1},"VR.MPT.030.180C","If netting is not (or will not be) applied and the reported (production) Accounting Point is (or will be) related and no Production Devices exist at all, then the sum of the maximum power of its new Production Devices cannot be less than or equal to 100kW (=100kVA).","EXISTS(\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.AccountingPointType = AG02 and\nMPT.RelatedMeteringPointID <> null and\nMPT.IsNettingApplied = 0/False and\n((MPT.ValidFromDate <= <MSG>.StartOfOccurrence and MPT.ValidTodate > <MSG>.StartOfOccurrence) or\nMPT.ValidFromDate > <MSG>.StartOfOccurrence)) and\nNOT(EXISTS(\nMPD.MeteringPointEAN = MPT.MeteringPointEAN and\nMPD.DeviceType = PDV and\n((MPD.ValidFromDate <= <MSG>.StartOfOccurrence and MPD.ValidTodate > <MSG>.StartOfOccurrence) or MPD.ValidFromDate > <MSG>.StartOfOccurrence))) and SUM(<MSG>.[PDV(n)]MaximumPower, kW) <= CP_GENERAL_MAX_POWER_LIMIT","Reference","N","B2B/GUI","Check sum of all production devices of the production Accounting Point, where maximum power is converted to kiloWatt (1W=1VA).","Accounting point '<1>' with type '<2>' and <3> netting applied, is not allowed to have a summed maximum power that is <4> <5> kW on date '<6>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=[Production]\n<3>=[related but without production devices so no]\n<4>=[less than or equal to]\n<5>=CP_GENERAL_MAX_POWER_LIMIT\n<6>=<MSG>.StartOfOccurrence.Value","DI.MPT.030","EC.MPT.180","RC.MPT.180",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.030.180D","If netting is to be applied to the reported (production) Accounting Point, then the sum of the maximum power of its Production Devices cannot be more than 100kW (=100kVA).","EXISTS(MPT.MeteringPointEAN = <MSG>.ProdMeteringPointEAN and\nMPT.AccountingPointType = AG02 and\nMPT.ValidFromDate <= <MSG>.ChannelStartDate and MPT.ValidTodate > <MSG>.ChannelStartDate) and\nEXISTS(\nMPD(n).MeteringPointEAN = MPT.MeteringPointEAN and\nMPD(n).DeviceType = PDV and\nMPD(n).ValidFromDate <= <MSG>.ChannelStartDate and MPD(n).ValidTodate > <MSG>.ChannelStartDate and SUM(MPD(n).MaximumPower, kW) > CP_GENERAL_MAX_POWER_LIMIT)","Reference","N","FILE","Check sum of all production devices of the production Accounting Point, where maximum power is converted to kiloWatt (1W=1VA).","Accounting point '<1>' with type '<2>' and <3> netting applied, is not allowed to have a summed maximum power that is <4> <5> kW on date '<6>'.","<1>=<MSG>.ProdMeteringPointEAN.Value\n<2>=[Production]\n<3>=[which should have]\n<4>=[more than]\n<5>=CP_GENERAL_MAX_POWER_LIMIT\n<6>=<MSG>.ChannelStartDate.Value","DI.MPT.030","EC.MPT.180","RC.MPT.180",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.181A","Accounting point status update to status \"Removed from use\" is not allowed if there is a related accounting point for that accounting point on/after Start of Occurrence. If related accounting point in time of change is already in status \"removed from use\" or \"deleted\" accountingpoint status update is allowed.","<MSG>.MeteringPointStatus = AE04 and\nEXISTS(\nMPT1.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT2.MeteringPointEAN = MPT1.RelatedMeteringpointEAN and (MPT2.MeteringPointStatus not in (AE04, AE05) and (MPT2.ValidToDate = null or MPT2.ValidToDate >= <MSG>.CurrentDateTime)))\n","Reference","N","B2B/GUI","Accounting point relation must be ended first, if related accounting point status is not \"Deleted\" or \"Removed from use\"","Accounting point '<1>'  has valid related accounting point at the moment or in the future. Please, end accounting point relation first.","<1> =<MSG>.MeteringPointEAN.Value","DI.MPT.010","EC.MPT.181","RC.MPT.181",null,null,null,null,null,null,"x",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.181B","Accounting point deletion is not allowed if there is a related accounting point for that accounting point on/after Start of Occurrence. If related accounting point in time of change is already in status \"removed from use\" or \"deleted\" accounting point deletion is allowed.","<MSG>.EXISTS(\nMPT1.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT2.MeteringPointEAN = MPT1.RelatedMeteringpointEAN and (MPT2.MeteringPointStatus not in (AE04, AE05) and (MPT2.ValidToDate = null or MPT2.ValidToDate >= <MSG>.CurrentDateTime)))","Reference","N","B2B/GUI","Accounting point relation must be ended first, if accounting point status is not \"Deleted\" or \"Removed from use\"","Accounting point '<1>'  has valid related accounting point at the moment or in the future. Please, end accounting point relation first.","<1> =<MSG>.MeteringPointEAN.Value","DI.MPT.010","EC.MPT.181","RC.MPT.181",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MPT.010.182","Accounting point can be only updated to status AE03 if accounting point current status is AE04.","EXISTS(<MSG>.MeteringPointEAN = MPT.MeteringPointEAN and\nMPT.MeteringPointStatus <> AE04 and\nMPT.ValidFromDate <= Today and MPT.ValidToDate > Today))","Reference","Y","GUI",null,"Accounting point '<1>' status cannot be updated cause accounting point status is not removed from use. ","<1> =<MSG>.MeteringPointEAN.Value ","DI.MPT.010","EC.MPT.182","RC.MPT.182",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,1]
[{"$f":"EE215","v":1},"VR.MPT.060.183","Virtual production unit with new production unit type code cannot be created if it already exists.","EXISTS(MPT.MeteringPointType = VPU and MPT.ProductionUnitName = Calculated new virtual production unit name)","Dependency","Y","GUI","Two different virtual production units cannot to have same name.","New virtual production unit is not created, because there is already virtual production unit for this combination of MGA, Supplier and production Unit type '<1>'.","<1> =MPT.ProductionUnitType.Value (Calculated new production unit type code) ","DI.MPT.060","EC.MPT.183","RC.MPT.183",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE216","v":1},"VR.MPT.004.184","Start of Occurrence of creating Accounting Point relation in retrospective cannot be before CP_GENERAL_ENERGY_NETTING_DATE.","<MSG>.StartOfOccurrence <\nToday + CP_GENERAL_ENERGY_NETTING_DATE","Calculation","Y","B2B/GUI","Start of Occurrence of creating Accounting Point relation in retrospective cannot be done before CP_GENERAL_ENERGY_NETTING_DATE","Accounting Point relation cannot be done restrospectively before '<1>'","<1>= CP_GENERAL_ENERGY_NETTING_DATE\n","DI.MPT.004","EC.MPT.184","RC.MPT.184",null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE217","v":1},"VR.MPT.061.185","Production Unit  with new production unit type code cannot be created because Production Unit is already in the system with a new code.","EXISTS(MPT.MeteringPointType = PRU and MSG.MeteringPointEAN == MPT.MeteringPointEAN and  MPT.ProductionUnitType  == B31 or B37 or B19 or B25 or B18 and MPT.ValidFromDate <= date(Now) and MPT.ValidTodate > date(Now))","Dependency","Y","GUI","Production unit cannot be created in the Bulk process because Production unit exists with the new code.","Production Unit '<1>' already exists in the system with Production unit type  '<2>'. ","<1> =<MSG>.MeteringPointEAN.Value \n<2> = MPT.ProductionUnitType.Value","DI.MPT.061","EC.MPT.185","RC.MPT.185",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE218","v":1},"VR.MPT.061.186","Production Accounting Point with new production unit type code cannot be created because Production Accounting Point is already in the system with a new code.","EXISTS(MPT.MeteringPointType = ACP and MPT.AccountingPointType = AG02 and MPT.ProductionUnitType == B31 or B37 or B19 or B25 or B18 and MPT.ValidFromDate <= date(Now) and MPT.ValidTodate > date(Now))","Dependency","Y","GUI","Production accounting point cannot be created in the Bulk process because Production unit exists with the new code.","Production accounting point  '<1>' already exists in the system with Production unit type  '<2>'. ","<1> =<MSG>.MeteringPointEAN.Value \n<2> = MPT.ProductionUnitType.Value","DI.MPT.061","EC.MPT.186","RC.MPT.186",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[" ",null,"Metering Grid Areas",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE220","v":7},"VR.MGA.003.100","Metering Grid Area exists in the system on submitted Start Of Occurrence.","NOT(EXISTS(\nMGA.MeteringGridAreaCode = <MSG>.MeteringGridAreaCode and\nMGA.RetiredTimestamp = null and\nMGA.ValidFromDate <= <MSG>.StartofOccurrence and MGA.ValidTodate > <MSG>.StartofOccurrence\n))","Reference","Y","B2B/GUI","Grid area must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=MGA.MeteringGridAreaCode.Label\n<2>=<MSG>.MeteringGridAreaCode.Value\n<3>=<MSG>.StartofOccurrence\n","DI.MGA.003","EC.MGA.100","RC.MGA.100",null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G220,\"State*\")+COUNTIF(N220:ED220,\"X*\")+COUNTIF(N220:ED220,\"T*\")","v":7}]
[4,"VR.MGA.003.100B","Metering Grid Area exists in the system on submitted End Of Occurrence.","NOT(EXISTS(\nMGA.MeteringGridAreaCode = <MSG>.MeteringGridAreaCode and\nMGA.RetiredTimestamp = null and\nMGA.ValidFromDate <= <MSG>.EndOffOccurrence and MGA.ValidTodate > <MSG>.EndOfOccurrence\n))","Reference","Y","B2B/GUI","Grid area must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=MGA.MeteringGridAreaCode.Label\n<2>=<MSG>.MeteringGridAreaCode.Value\n<3>=<MSG>.EndofOccurrence\n","DI.MGA.003","EC.MGA.100","RC.MGA.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[1,"VR.MGA.003.100C","The reported Old Metering Grid Area exists in the system on the day before the reported Transfer Date.","NOT(EXISTS(\nMGA.MeteringGridAreaCode = <MSG>.OldMGA and\nMGA.RetiredTimestamp = null and\nMGA.ValidFromDate <= <MSG>.TransferDate-1 and MGA.ValidTodate > <MSG>.TransferDate-1\n))","Dependency","N","FILE","Grid area must exist in the system on the day before submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=<MSG>.OldMGA.Label\n<2>=<MSG>.OldMGA.Value\n<3>=<MSG>.TransferDate.Value-1","DI.MGA.003","EC.MGA.100","RC.MGA.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MGA.003.100D","The reported New Metering Grid Area exists in the system on the reported Transfer Date.","NOT(EXISTS(\nMGA.MeteringGridAreaCode = <MSG>.NewMGA and\nMGA.RetiredTimestamp = null and\nMGA.ValidFromDate <= <MSG>.TransferDate and MGA.ValidTodate > <MSG>.TransferDate))","Dependency","N","FILE","Grid area must exist in the system on submitted date. ","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=<MSG>.NewMGA.Label\n<2>=<MSG>.NewMGA.Value\n<3>=<MSG>.TransferDate.Value","DI.MGA.003","EC.MGA.100","RC.MGA.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MGA.021.101A","The reported Old DSO owns (is responsible for) the reported Old Metering Grid Area on the day before the reported Transfer Date.","NOT(EXISTS(\nMGA.MeteringGridAreaCode = <MSG>.OldMGA and\nMGA.ResponsibleDSO = <MSG>.OldDSO and\nMGA.ValidFromDate <= <MSG>.TransferDate-1 and MGA.ValidTodate > <MSG>.TransferDate-1\n))","Dependency","N","FILE","DSO can only manage accounting points in grid area(s) owned at the day before submitted date. ","Attribute '<1>' not allowed, value '<2>' does not belong to the reported organisation '<3>' on date '<4>'.","<1>=<MSG>.OldMGA.Label\n<2>=<MSG>.OldMGA.Value\n<3>=<MSG>.OldDSO\n<4>=<MSG>.TransferDate.Value-1","DI.MGA.021","EC.MGA.101","RC.MGA.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.MGA.021.101B","The reported New DSO owns (is responsible for) the reported New Metering Grid Area on the reported Transfer Date.","NOT(EXISTS(\nMGA.MeteringGridAreaCode = <MSG>.NewMGA and\nMGA.ResponsibleDSO = <MSG>.NewDSO and\nMGA.ValidFromDate <= <MSG>.TransferDate and MGA.ValidTodate > <MSG>.TransferDate\n))","Dependency","N","FILE","DSO can only manage accounting points in grid area(s) owned at submitted date. ","Attribute '<1>' not allowed, value '<2>' does not belong to the reported organisation '<3>' on date '<4>'.","<1>=<MSG>.NewMGA.Label\n<2>=<MSG>.NewMGA.Value\n<3>=<MSG>.NewDSO\n<4>=<MSG>.TransferDate.Value","DI.MGA.021","EC.MGA.101","RC.MGA.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"Accounting Point Addresses",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE227","v":2},"VR.MPA.004.101","Accounting Point must have exactly one main address.","COUNT(<MSG>.AddressType = AF01) <> 1","Calculation","Y","B2B/GUI","Exactly 1 main address must be registered for the accounting point. Check specific E58_MPA message segment.","Accounting point cannot have '<1>' addresses of type '<2>'.","<1>=COUNT(<MSG>.AddressType = AF01) \n<2>=<MSG>.AddressType.Value","DI.MPA.004","EC.MPA.101","RC.MPA.101",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G227,\"State*\")+COUNTIF(N227:ED227,\"X*\")+COUNTIF(N227:ED227,\"T*\")","v":2}]
[{"$f":"EE228","v":1},"VR.MPA.004.101B","Accounting Point can have a maximum of one main address.","COUNT(<MSG>.AddressType = AF01) > 1","Calculation","Y","B2B/GUI","Only 1 main address can be registered for the accounting point. \nCheck specific E58_MPA_UPS message segment.","Accounting point cannot have '<1>' addresses of type '<2>'.","<1>=COUNT(<MSG>.AddressType = AF01) \n<2>=<MSG>.AddressType.Value","DI.MPA.004","EC.MPA.101","RC.MPA.101",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.MPA.004.102B","Accounting Point can have a maximum of seven additional addresses.","COUNT(<MSG>.AddressType = AF02) > 7","Calculation","N","B2B/GUI","Additional addresses for an accounting point can be registered up to 7 times. Check specific E58_MPA message segment.","Accounting point cannot have '<1>' addresses of type '<2>'.","<1>=COUNT(<MSG>.AddressType = AF02) \n<2>=<MSG>.AddressType.Value","DI.MPA.004","EC.MPA.102","RC.MPA.102",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.MPA.004.102D","Accounting Point can have a maximum of seven additional addresses.","COUNT(<MSG>.AddressType = AF02) > 7","Calculation","N","B2B/GUI","Additional addresses for an accounting point can be registered up to 7 times. Check specific E58_MPA_UPS message segment.","Accounting point cannot have '<1>' addresses of type '<2>'.","<1>=COUNT(<MSG>.AddressType = AF02) \n<2>=<MSG>.AddressType.Value","DI.MPA.004","EC.MPA.102","RC.MPA.102",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[3,"VR.MPA.014.103","Postal Code must match official postal codes by Posti (if Finnish address).","<MSG>.Country = FI and\n<MSG>.PostalCode not in {Postal Codes by Posti}","Domain","N","B2B/GUI","Only (case sensitive) values as predefined by Posti are valid.","Attribute '<1>' invalid, value '<2>' must comply with the official postal codes by Posti","<1>=MPA.PostalCode.Label\n<2>=<MSG>.PostalCode.Value","DI.MPA.014","EC.MPA.103","RC.MPA.103",null,null,null,null,null,"X","X",null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[3,"VR.MPA.015.104","Post Office (City Name) must match official post offices by Posti (if Finnish address).","<MSG>.Country = FI and\n<MSG>.PostOffice not in {Post Offices by Posti}","Domain","N","B2B/GUI","Only (case sensitive) values as predefined by Posti are valid.","Attribute '<1>' invalid, value '<2>' must comply with the official post offices by Posti","<1>=MPA.PostOffice.Label\n<2>=<MSG>.PostOffice.Value","DI.MPA.015","EC.MPA.104","RC.MPA.104",null,null,null,null,null,"X","X",null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[3,"VR.MPA.015.105","Post Office (City Name) must match the Postal Code (if Finnish address).","<MSG>.Country = FI and\n<MSG>.PostOffice / <MSG>.PostalCode does not match {Postal Codes / Post Offices by Posti}","Reference","N","B2B/GUI","Only (case sensitive) combinations as predefined by Posti are valid.","Attribute '<1>' invalid, value '<2>' does not match the attribute '<3>' value '<4>'. ","<1>=MPA.PostOffice.Label\n<2>=<MSG>.PostOffice.Value\n<3>=MPA.PostalCode.Label\n<4>=<MSG>.PostalCode.Value","DI.MPA.015","EC.MPA.105","RC.MPA.105",null,null,null,null,null,"X","X",null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[{"$f":"EE234","v":1},"VR.MPA.010.107","Either the Accounting Point ID or the Streetname (latter together with either the Postal Code or the Post Office) must be submitted.","(<MSG>.MeteringPointEAN = null and\n<MSG>.StreetName = null) or\n(<MSG>.StreetName <> null and\n<MSG>.PostalCode = null and\n<MSG>.PostOffice = null)","Obligation","N","B2B",null,"Accounting Point ID or Streetname (or corresponding Postal Code or Post Office) is missing.",null,"DI.MPA.010","EC.MPA.107","RC.MPA.107","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.MPA.012.108","If apartment is reported, then stairwell identification is mandatory. ","<MSG>.Apartment <> null and <MSG>.StairwellIdentificaion = null","Obligation","N","B2B/GUI",null,"Attribute '<1>' is mandatory when attribute '<2>' is reported. ","<1>=<MSG>.StairwellIdentification.Label\n<2>=<MSG>.Apartment.Label","DI.MPA.012","EC.MPA.108","RC.MPA.108",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE236","v":1},"VR.MPA.014.109","If Postal Code is used as a search criterium, then it can not contain a wildcard. ","<MSG>.PostalCode <> null and \n<MSG>.PostalCode contains a \"*\"","Obligation","N","B2B/GUI",null,"Wildcard is not allowed for attribute  '<1>'. ","<1>=<MSG>.PostalCode.Label","DI.MPA.014","EC.MPA.109","RC.MPA.109","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE237","v":1},"VR.MPA.015.109","If Post Office is used as a search criterium, then it can not contain a wildcard. ","<MSG>.PostOffice <> null and \n<MSG>.PostOffice contains a \"*\"","Obligation","N","B2B/GUI",null,"Wildcard is not allowed for attribute  '<1>'. ","<1>=<MSG>.PostOffice.Label","DI.MPA.015","EC.MPA.109","RC.MPA.109","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE238","v":1},"VR.MPA.010.110","If Street Name is used as a search criterium with a wildcard, then it must contain at least three other characters and the wildcard must be at the beginning and/or end.","<MSG>.StreetName <> null and \n<MSG>.StreetName contains a \"*\" and\n(LEN (<MSG>.StreetName) < 3 or\n<MSG>.StreetName does not begin or end with \"*\")","Obligation","N","B2B/GUI","Length of three characters is without the wildcard.","If attribute '<1>' is used as a search criterium with a wildcard, then it must contain at least three other characters and the wildcard must be at the beginning and/or end.","<1>=<MSG>.StreetName.Label","DI.MPA.010","EC.MPA.110","RC.MPA.110","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE239","v":2},"VR.MPA.010.111A","Accounting point address Street name must not end with a number, if the address is in Finland unless UserGroup is BE14","<MSG>.UserGroup <> BE14 and\n<MSG>.CountryCode = Finland and\n<MSG>.StreetName ends with a number","Dependency","N","B2B/GUI",null,"<1>' must not end with a number, when it is a Finnish address","<1>=<MSG>.StreetName.Lable","DI.MPA.010","EC.MPA.111","RC.MPA.111",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.MPA.010.111B","Accounting point address Street name must not end with a number, if the address is in Finland unless UserGroup is BE14","if <MSG>.AddressType = AF01 \nand\n(\n(if <MSG>.Country Code is not empty and <MSG>.CountryCode = FI)\nor\n(if <MSG>.Country Code is not provided and MPA.CountryCode = FI and MPA.AddressType = AF01)\n)\nand\n(\n(if <MSG>.StreetName is not provided and <MSG>.Usergroup <> BE14 and MPA.AddressType = AF01 and MPA.StreetName ends with a number)\nor\n(if <MSG>.StreetName is not empty and <MSG>.Usergroup <> BE14 and <MSG>.StreetName ends with a number)\nor\n(if <MSG>.StreetName is not empty and <MSG>.Usergroup is not provided and MPA.AddressType = AF01 and MPT.UserGroup <> BE14 and <MSG>.StreetName ends with a number)\nor\n(if <MSG>.StreetName is not provided and <MSG>.Usergroup is not provided and <MSG>.CountryCode = FI and MPA.AddressType = AF01 and MPT.UserGroup <> BE14 and MPA.StreetName ends with a number)\n)","Dependency","N","B2B/GUI","This rule is only applicable to the Main Address","<1>' must not end with a number, when it is a Finnish address","<1>=<MSG>.StreetName.Lable","DI.MPA.010","EC.MPA.111","RC.MPA.111",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"Estimated Yearly Usages","<MSG>.StreetName ends with a number",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE242","v":2},"VR.EYU.010.101A","Estimated Yearly Usage is mandatory if the Accounting Point Type is \"Consumption\", and the Accounting Point Status is neither \"Under Construction\" nor \"Removed from Use\".","<MSG>.EstimatedYearlyUsage1 = null and\n<MSG>.AccountingPointType = AG01 and\n<MSG>.MeteringPointStatus not in {APS_CH2}","Obligation","N","B2B/GUI",null,"Attribute '<1>' is mandatory when accounting point type is '<2>' and accounting point status is '<3>'.","<1>=EYU.EstimatedYearlyUsage1.Label\n<2>=<MSG>.AccountingPointType.Value\n<3>=<MSG>.MeteringPointStatus.Value","DI.EYU.010","EC.EYU.101","RC.EYU.101",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G242,\"State*\")+COUNTIF(N242:ED242,\"X*\")+COUNTIF(N242:ED242,\"T*\")","v":2}]
[2,"VR.EYU.010.101B","When (dis)connecting an Accounting Point, the Estimated Yearly Usage is mandatory if the Accounting Point Type is \"Consumption\".","<MSG>.ConnectionStatus = AO01/AO02 and\nEXISTS(MPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nMPT.ValidToDate >\n<MSG>.StartOfOccurrence and\nMPT.AccountingPointType = AG01 and\nEYU.MeteringPointEAN =\nMPT.MeteringPointEAN and\nEYU.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nEYU.ValidToDate >\n<MSG>.StartOfOccurrence and\nEYU.EstimatedYearlyUsage1 = null)","Obligation","N","B2B/GUI","Check mandatory attributes in database.","Attribute '<1>' is mandatory when accounting point type is '<2>' and connection status is '<3>'.","<1>=EYU.EstimatedYearlyUsage1.Label\n<2>=MPT.AccountingPointType.Value\n<3>=<MSG>.ConnectionStatus.Value","DI.EYU.010","EC.EYU.101","RC.EYU.101",null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.EYU.003.102","Proposed values must be different from registered values.","EYU.MeteringPointEAN = <MSG>.MeteringPointEAN and\nEYU.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nEYU.ValidToDate >\n<MSG>.StartOfOccurrence and\nEYU.EstimatedYearlyUsage1 = <MSG>.[EYU]EstimatedYearlyUsage1 and\nEYU.EstimatedYearlyUsage2 = <MSG>.[EYU]EstimatedYearlyUsage2","Obligation","N","B2B","At least one attribute must have been changed (only submitted attributes should be taken into account). ","Attribute '<1>' with value '<2>' not allowed, the accounting point does not have any changed estimated yearly usage attribute(s).","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.EYU.102","RC.EYU.102",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.EYU.010.103","Estimated Yearly Usage 1 is mandatory when submitting Estimated Yearly Usage 2.","<MSG>.EstimatedYearlyUsage2 <> null and\n<MSG>.EstimatedYearlyUsage1 = null","Obligation","N","B2B/GUI","EYU2 cannot be submitted without EYU1.","Mandatory attribute '<1>' is missing, must be submitted together with attribute '<2>'.","<1>=EYU.EstimatedYearlyUsage1.Label\n<2>=EYU.EstimatedYearlyUsage2.Label","DI.EYU.010","EC.EYU.103","RC.EYU.103",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.EYU.010.103B","New value for Estimated Yearly Usage 1 is mandatory if a new value for Estimated Yearly Usage 2 is reported.","<MSG>.NewValueEYU2 <> null and\n<MSG>.NewValueEYU1 = null","Obligation","N","FILE","EYU2 cannot be submitted without EYU1.","Mandatory attribute '<1>' is missing, must be submitted together with attribute '<2>'.","<1>=<MSG>.NewValueEYU1.Label\n<2>=<MSG>.NewValueEYU2.Label","DI.EYU.010","EC.EYU.103","RC.EYU.103",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.EYU.004.104","The reported Effective Date must be a valid date (implicitly, time is local midnight).","dateformat(<MSG>.EffectiveDate) <> 'YYYY-MM-DD')","Format","N","FILE","Must be an existing date, e.g. '2020-02-30' is invalid.","Attribute '<1>' invalid, value '<2>' must be a valid date.","<1>=<MSG>.EffectiveDate.Label\n<2>=<MSG>.EffectiveDate.Value","DI.EYU.004","EC.EYU.104","RC.EYU.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.EYU.004.105","When reporting an update of Estimated Yearly Usage, the reported Effective Date is in accordance with the business process timelines (i.e. using applicable configuration parameters).","TRH.InternalTransactionType = [EYU.BLK.UPD] and (<MSG>.EffectiveDate <\nNow + CP_EYUBLKUPD_MIN_PERIOD or <MSG>.EffectiveDate >\nNow + CP_EYUBLKUPD_MAX_PERIOD)","Calculation","N","FILE","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for EYU bulk process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.EffectiveDate.Value\n<2>=<MSG>.EffectiveDate.Label\n<3>= Now+CP_EYUBLKUPD_MIN_PERIOD\n<4>= Now+CP_EYUBLKUPD_MAX_PERIOD","DI.EYU.004","EC.EYU.105","RC.EYU.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.EYU.010.106","New value for Estimated Yearly Usage 1 is less than registered value for Estimated Yearly Usage 1.","<MSG>.NewValueEYU1 >= EYU.EstimatedYearlyUsage1","Calculation","N","FILE","EYU1 value must decrease.","Value '<1>' invalid, attribute '<2>' must be less than attribute '<3>' with value '<4>'.","<1>=<MSG>.NewValueEYU1.Value\n<2>=<MSG>.NewValueEYU1.Label\n<3>=EYU.EstimatedYearlyUsage1.Label\n<4>=EYU.EstimatedYearlyUsage1.Value","DI.EYU.010","EC.EYU.106","RC.EYU.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.EYU.011.106","New value for Estimated Yearly Usage 2 is less than registered value for Estimated Yearly Usage 2.","<MSG>.NewValueEYU2 >= EYU.EstimatedYearlyUsage2","Calculation","N","FILE","EYU2 value must decrease.","Value '<1>' invalid, attribute '<2>' must be less than attribute '<3>' with value '<4>'.","<1>=<MSG>.NewValueEYU2.Value\n<2>=<MSG>.NewValueEYU2.Label\n<3>=EYU.EstimatedYearlyUsage2.Label\n<4>=EYU.EstimatedYearlyUsage2.Value","DI.EYU.011","EC.EYU.106","RC.EYU.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.EYU.010.107","Estimated Yearly Usage 1 is mandatory.","<MSG>.EstimatedYearlyUsage1 = null","Obligation","N","B2B","EYU1 value must be submitted when updating estimated annual consumption.","Attribute '<1>' is mandatory when update reason is '<2>'.","<1>=EYU.EstimatedYearlyUsage1.Label\n<2>=<MSG>.UpdateReason.Value","DI.EYU.010","EC.EYU.107","RC.EYU.107",null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"Controlled Load",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE255","v":1},"VR.CTL.003.101","Proposed values must be different from registered values.","EXISTS(MPD.DeviceType = CTL and\nMPD.MeteringPointEAN = <MSG>.MeteringPointEAN\nand MPD.DeviceIdentification = <MSG>.[CTL]ControlledLoadIdentification and\nMPD.ValidFromDate <=\n<MSG>.StartOfOccurrence and\nMPD.ValidToDate >\n<MSG>.StartOfOccurrence and\nMPD.ControlledLoadName = <MSG>.[CTL]ControlledLoadName and\nMPD.Description = <MSG>.[CTL]Description and\nMPD.Timing = <MSG>.[CTL]Timings and\nMPD.ControlLimits = <MSG>.[CTL]ControlLimits and MPD.MaxumumPower = <MSG>.[CTL]MaximumPower and MPD.MaximumPowerUnit = <MSG>.[CTL]MaximumPowerUnit)","Obligation","N","B2B","At least one attribute must have been changed (only submitted attributes should be taken into account). Check for each submitted load!","Attribute '<1>' with value '<2>' not allowed, the accounting point does not have any changed controlled load attribute(s).","<1>=MPT.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value","DI.MPT.003","EC.CTL.101","RC.CTL.101",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G255,\"State*\")+COUNTIF(N255:ED255,\"X*\")+COUNTIF(N255:ED255,\"T*\")","v":1}]
[{"$f":"EE256","v":2},"VR.CTL.004.102A","A Controlled Load can only be submitted for an Accounting Point with subtype other than \"Virtual\". ","<MSG>.ControlledLoadIdentification <> null and\n<MSG>.AccountingPointSubtype = AQ04","Reference","N","B2B/GUI","Check type in received message.\nRepeat for each submitted load.","Controlled load '<1>' not allowed when accounting point subtype is '<2>'.","<1>=<MSG>.ControlledLoadIdentification.Value\n<2>=<MSG>.AccountingPointSubtype.Value","DI.CTL.004","EC.CTL.102","RC.CTL.102",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G256,\"State*\")+COUNTIF(N256:ED256,\"X*\")+COUNTIF(N256:ED256,\"T*\")","v":2}]
[{"$f":"EE259","v":2},"VR.SDV.004.100A","Identification of a Storage Device must be unique in combination with the Accounting Point.","(<MSG>.MeteringPointEAN / <MSG>.StorageDeviceIdentification) exists in\n(SDV.MeteringPointEAN / SDV.StorageDeviceIdentification)","Reference","N","B2B/GUI","Each storage device connected to the same accounting point must have a unique ID. Check specific E58_SDV message part.","Accounting point '<1>' already has a storage device with Identification '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=<MSG>.StorageDeviceIdentification.Value","DI.SDV.004","EC.SDV.100","RC.SDV.100",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G259,\"State*\")+COUNTIF(N259:ED259,\"X*\")+COUNTIF(N259:ED259,\"T*\")","v":2}]
[{"$f":"EE260","v":1},"VR.SDV.004.100B","Identification of a Storage Device must be unique in combination with the Accounting Point.","(<MSG>.MeteringPointEAN / <MSG>.StorageDeviceIdentification) exists in\n(SDV.MeteringPointEAN / SDV.StorageDeviceIdentification)","Reference","N","B2B/GUI","Each storage device connected to the same accounting point must have a unique ID. Check specific E58_SDV_UPS message part.","Accounting point '<1>' already has a storage device with Identification '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=<MSG>.StorageDeviceIdentification.Value","DI.SDV.004","EC.SDV.100","RC.SDV.100",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G260,\"State*\")+COUNTIF(N260:ED260,\"X*\")+COUNTIF(N260:ED260,\"T*\")","v":1}]
[{"$f":"EE262","v":2},"VR.SDV.004.102A","A Storage Device can only be submitted for an Accounting Point with subtype other than \"Virtual\". ","<MSG>.StorageDeviceIdentification <> null and\n<MSG>.AccountingPointSubtype = AQ04","Reference","N","B2B/GUI","Check type in received message.\nRepeat for each submitted device.","Storage device '<1>' not allowed when accounting point subtype is '<2>'.","<1>=<MSG>.StorageDeviceIdentification.Value\n<2>=<MSG>.AccountingPointSubtype.Value","DI.SDV.004","EC.SDV.102","RC.SDV.102",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G262,\"State*\")+COUNTIF(N262:ED262,\"X*\")+COUNTIF(N262:ED262,\"T*\")","v":2}]
[1,"VR.SDV.004.102B","A Storage Device can only be submitted for an Accounting Point with subtype other than \"Virtual\". ","<MSG>.StorageDeviceIdentification <> null and\nMPT.AccountingPointSubtype = AQ04","Reference","N","B2B/GUI","Check type in registered state.\nRepeat for each submitted device.","Storage device '<1>' not allowed when accounting point subtype is '<2>'.","<1>=<MSG>.StorageDeviceIdentification.Value\n<2>=MPT.AccountingPointSubtype.Value","DI.SDV.004","EC.SDV.102","RC.SDV.102",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G263,\"State*\")+COUNTIF(N263:ED263,\"X*\")+COUNTIF(N263:ED263,\"T*\")","v":1}]
[1,"VR.PDV.004.100B","Identification of a Production Device must be unique in combination with the Accounting Point.","(<MSG>.MeteringPointEAN / <MSG>.ProductionDeviceIdentification) exists in\n(PDV.MeteringPointEAN / PDV.ProductionDeviceIdentification)","Reference","N","B2B/GUI","Each production device connected to the same accounting point must have a unique ID. Check specific E58_PDV_UPS message part.","Accounting point '<1>' already has a production device with Identification '<2>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=<MSG>.ProductionDeviceIdentification.Value","DI.PDV.004","EC.PDV.100","RC.PDV.100",null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.PDV.004.101A","A Production Device can only be submitted for an Accounting Point with type \"Production\" and subtype other than \"Virtual\". ","<MSG>.ProductionDeviceIdentification <> null and\n(<MSG>.AccountingPointType <> AG02 or\n<MSG>.AccountingPointSubtype = AQ04)","Reference","N","B2B/GUI","Check type in received message.\nRepeat for each submitted device.","Production device '<1>' not allowed when accounting point type is '<2>' or subtype is '<3>'.","<1>=<MSG>.ProductionDeviceIdentification.Value\n<2>=<MSG>.AccountingPointType.Value\n<3>=<MSG>.AccountingPointSubtype.Value","DI.PDV.004","EC.PDV.101","RC.PDV.101",null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.PDV.006.103","Start of Occurrence for creating/updating Production Devices is in accordance with the business process timelines (i.e. using VPU configuration parameters).","EXISTS(\nAGR.MeteringPointEAN =  <MSG>.MeteringPointEAN and AGR.AgreementType = 12 and AGR.AgreementStatus = CFD and AGR.AgreementStartDate <= (<MSG>.StartOfOccurrence and\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence and MPT(old).MeteringPointEAN =  <MSG>.MeteringPointEAN and MPT(new).MeteringPointEAN =  MPT(old).MeteringPointEAN and MPT(new).ProductionUnitType <> MPT(old).ProductionUnitType and\n(<MSG>.StartOfOccurrence <\nToday + CP_VPUCRE_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_ACPUPD_MAX_PERIOD))","Calculation","N","B2B/GUI","Valid time period is checked using VPU MIN_PERIOD and ACP MAX_PERIOD configuration parameters for ACP.UPD process, taking a sales agreement and change of (aggregated) production unit type into account.\n\nMPT{old} is Accounting Point involved before update, MPT{new} is same Accounting Point after update.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_VPUCRE_MIN_PERIOD\n<4>= Today+CP_ACPUPD_MAX_PERIOD","DI.PDV.006","EC.PDV.103","RC.PDV.103",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE271","v":3},"VR.PDV.010.104A","Maximum Power is mandatory when submitting a Production Device.","<MSG>.ProductionDeviceIdentification <> null and\n<MSG>.MaximumPower = null","Dependency","N","B2B/GUI","Repeat for each submitted device.","Attribute '<1>' is mandatory for submitted production device '<2>'.","<1>=<MSG>.MaximumPower.Label\n<2>=<MSG>.ProductionDeviceIdentification.Value","DI.PDV.010","EC.PDV.104","RC.PDV.104",null,null,null,null,null,"X","X",null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[null,null,"Channels",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE274","v":2},"VR.CHN.010.100","The reported Channel Start Date must be a valid UTC date/time (with local midnight).","datetimeUTC(<MSG>.ChannelStartDate) <> 'YYYY-MM-DDT22:00:00Z')","Format","Y","FILE","Must be an existing UTC date/time, e.g. '2023-02-30T22:00:00Z' is invalid.","Attribute '<1>' invalid, value '<2>' must be a valid UTC date/time (with local midnight).","<1>=<MSG>.ChannelStartDate.Label\n<2>=<MSG>.ChannelStartDate.Value","DI.CHN.010","EC.CHN.100","RC.CHN.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G274,\"State*\")+COUNTIF(N274:ED274,\"X*\")+COUNTIF(N274:ED274,\"T*\")","v":2},null,null,7]
[1,"VR.CHN.011.101","The reported Channel End Date must be later than the reported Channel Start Date.","<MSG>.ChannelEndDate <= <MSG>.ChannelStartDate","Reference","N","FILE",null,"Attribute '<1>' with value '<2>' must be earlier than attribute '<3>' with value '<4>'.","<1>=<MSG>.ChannelStartDate.Label\n<2>=<MSG>.ChannelStartDate.Value\n<3>=<MSG>.ChannelEndDate.Label\n<4>=<MSG>.ChannelEndDate.Value","DI.CHN.011","EC.CHN.101","RC.CHN.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE278","v":1},"VR.CHN.010.102","The reported Channel Start Date is in accordance with the energy netting timelines (i.e. using applicable configuration parameter).","<MSG>.ChannelStartDate <\nCP_GENERAL_ENERGY_NETTING_DATE","Calculation","N","FILE","Submitted start date is checked using general ENERGY_NETTING configuration parameter.","Value '<1>' invalid, attribute '<2>' must be a date on/after '<3>' as agreed in the market.","<1>=<MSG>.ChannelStartDate.Value\n<2>=<MSG>.ChannelStartDate.Label\n<3>=CP_GENERAL_ENERGY_NETTING_DATE","DI.CHN.010","EC.CHN.102","RC.CHN.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE281","v":1},"VR.CHN.023.105","The status of the reported Channel is \"Active\" on the submitted Channel Start Date.","NOT(EXISTS(\nCHN.MeteringPointEAN = <MSG>.MeteringPointEAN and\nCHN.ChannelNumber = <MSG>.ChannelNumber and\nCHN.ChannelType = <MSG>.ChannelType and\nCHN.ProductType = <MSG>.ProductType and\nCHN.ResolutionDuration = <MSG>.ResolutionDuration\nand CHN.Direction = <MSG>.Direction and\nCHN.UnitOfMeasure =  <MSG>.UnitOfMeasure and\nCHN.IsActive = [1] and\nCHN.RetiredTimestamp = null and\nCHN.ValidFromDate <= <MSG>.ChannelStartDate and\nCHN.ValidTodate > <MSG>.ChannelStartDate\n))","Reference","N","FILE",null,"Active status '<1>' of channel '<2>' for accounting point '<3>' is not allowed on date '<4>'.","<1>=<MSG>.IsActive.Value\n<2>=<MSG>.ChannelNumber.Value\n<3>=<MSG>.MeteringPointEAN.Value\n<4>=<MSG>.ChannelStartDate.Value","DI.CHN.023","EC.CHN.105","RC.CHN.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE282","v":1},"VR.CHN.004.106","The number of the reported Channel is \"Netted\" or \"Community\" on the submitted Channel Start Date.","NOT(EXISTS(\nCHN.MeteringPointEAN = <MSG>.MeteringPointEAN and\nCHN.ChannelNumber = <MSG>.ChannelNumber and\nCHN.ChannelType = <MSG>.ChannelType and\nCHN.ProductType = <MSG>.ProductType and\nCHN.ResolutionDuration = <MSG>.ResolutionDuration\nand CHN.Direction = <MSG>.Direction and\nCHN.UnitOfMeasure =  <MSG>.UnitOfMeasure and\nCHN.ChannelNumber in ([NETTED],[COMMUNITY]) and\nCHN.RetiredTimestamp = null and\nCHN.ValidFromDate <= <MSG>.ChannelStartDate and\nCHN.ValidTodate > <MSG>.ChannelStartDate\n))","Reference","N","FILE",null,"Channel with number '<1>' for accounting point '<2>' is not allowed on date '<3>'.","<1>=<MSG>.ChannelNumber.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.ChannelStartDate.Value","DI.CHN.004","EC.CHN.106","RC.CHN.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CHN.010.108","The reported Effective Date must be a valid date (implicitly, time is local midnight).","dateformat(<MSG>.EffectiveDate) <> 'YYYY-MM-DD')","Format","Y","FILE","Must be an existing date, e.g. '2020-02-30' is invalid.","Attribute '<1>' invalid, value '<2>' must be a valid date.","<1>=<MSG>.EffectiveDate.Label\n<2>=<MSG>.Effective.Value","DI.CHN.010","EC.CHN.108","RC.CHN.108",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"Agreements (general)",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[5,"VR.AGR.010.101B","End of Occurrence must have time as local midnight.","localtime(<MSG>.EndOfOccurrence, 'HH:MM:SS') <> '00:00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be local midnight time.","<1>=<MSG>.EndOfOccurrence.Label\n<2>=<MSG>.EndOfOccurrence.Value","DI.AGR.010","EC.AGR.101","RC.AGR.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,"X","X",null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,5]
[2,"VR.AGR.010.101C","If End of Occurrence is reported, it must have time as local midnight.","<MSG>.EndOfOccurrence <> null  and localtime(<MSG>.EndOfOccurrence, 'HH:MM:SS') <> '00:00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be local midnight time.","<1>=<MSG>.EndOfOccurrence.Label\n<2>=<MSG>.EndOfOccurrence.Value","DI.AGR.010","EC.AGR.101","RC.AGR.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.AGD.022.104A","If the invoicing method of the Sales Agreement is other than \"Separate invoicing\" then the registered DSO for the Accounting Point must have Combined invoicing is \"Yes\".","<MSG>.InvoicingMethod <> AH01 and\nNOT(EXISTS(\nMGA.MeteringGridAreaCode = <MSG>.MeteringGridAreaCode and\nMGA.ValidFromDate <= <MSG>.StartofOccurrence and\nMGA.ValidTodate > <MSG>.StartofOccurrence and\nORG.OrganisationIdentifier = MGA.ResponsibleDSO and\nORG.MarketRole = DSO and ORG.CombinedInvoicing = False))","Reference","N","B2B/GUI","VR has a dependency on new Organisation attribute (Combined Invoicing).","Attribute '<1>' invalid, value '<2>' does not match DSO invoicing.","<1>=<MSG>.InvoicingMethod.Label\n<2>=<MSG>.InvoicingMethod.Value","DI.AGD.022","EC.AGD.104","RC.AGD.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.AGD.022.104B","If the invoicing method of the Grid Agreement is other than \"Separate invoicing\" then the reporting DSO for the Accounting Point must have Combined invoicing is \"Yes\".","<MSG>.InvoicingMethod <> AH01 and\nORG.OrganisationIdentifier = MSG.JuridicalSender and ORG.MarketRole = DSO and\nORG.CombinedInvoicing = False","Reference","N","B2B/GUI","VR has a dependency on new Organisation attribute (Combined Invoicing).","Attribute '<1>' invalid, value '<2>' does not match DSO invoicing.","<1>=<MSG>.InvoicingMethod.Label\n<2>=<MSG>.InvoicingMethod.Value","DI.AGD.022","EC.AGD.104","RC.AGD.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.010.105","End of Occurrence is in accordance with the business process timelines (using applicable configuration parameters for a Customer's move out).","<MSG>.EndOfOccurrence <\nToday + CP_AGRMVO_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_AGRMVO_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for AGR.MVO process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_AGRMVO_MIN_PERIOD\n<4>= Today+CP_AGRMVO_MAX_PERIOD","DI.AGR.010","EC.AGR.105","RC.AGR.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.003.107","Requesting DSO has a valid DSO Agreement to access the Accounting Point involved on submitted Start of Occurrence.","NOT(EXISTS(<MSG>.MeteringPointEAN = AGR.MeteringPointEAN and AGR.OrganisationIdentifier = MSG.JuridicalSender and \nAGR.AgreementType = DSO and AGR.ValidFromDate <= <MSG>.StartOfOccurrence < AGR.ValidToDate and \nAGR.ContractStartDate <= <MSG>.StartOfOccurrence < AGR.ContractEndDate))","Reference","Y","B2B",null,"Requesting organisation '<1>' doesn't have a valid DSO agreement on '<2>' to retrieve information of requested accounting point '<3>'.","<1>=MSG.JuridicalSender.Value\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.MeteringPointEAN.Value\n","DI.AGR.003","EC.AGR.107","RC.AGR.107",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[4,"VR.AGR.007.117A","Agreement exists in the system and belongs to the requesting Organisation for reported Accounting Point on submitted Start Of Occurrence.","NOT(EXISTS(AGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.OrganisationIdentifier = MSG.JuridicalSender and AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.ValidFromDate <= <MSG>.StartOfOccurrence and\nAGR.ValidToDate > <MSG>.StartOfOccurrence))","Dependency","N","B2B/GUI","Applies for sales/grid agreements being updated/cancelled.","Agreement of type '<1>' with identification '<2>' doesn't belong to requesting organisation '<3>' for accounting point with EAN '<4>' on requested date '<5>'.","<1>=AGR.AgreementType.Value\n<2>=<MSG>.AgreementIdentification.Value\n<3>=MSG.JuridicalSender\n<4>=<MSG>.MeteringPointEAN\n<5>=<MSG>.StartOfOccurrence.Value","DI.AGR.007","EC.AGR.117","RC.AGR.117",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[6,"VR.AGR.007.117B","Agreement exists in the system and belongs to the requesting Organisation for reported Accounting Point on submitted End Of Occurrence.","NOT(EXISTS(AGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.OrganisationIdentifier = MSG.JuridicalSender and AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.ValidFromDate <=\n<MSG>.EndtOfOccurrence and\nAGR.ValidToDate > <MSG>.EndOfOccurrence))","Dependency","N","B2B/GUI","Applies for sales/grid agreements being terminated, and for which the termination is being cancelled.","Agreement of type '<1>' with identification '<2>' doesn't belong to requesting organisation '<3>' for accounting point with EAN '<4>' on requested date '<5>'.","<1>=AGR.AgreementType.Value\n<2>=<MSG>.AgreementIdentification.Value\n<3>=MSG.JuridicalSender\n<4>=<MSG>.MeteringPointEAN\n<5>=<MSG>.EndOfOccurrence.Value","DI.AGR.007","EC.AGR.117","RC.AGR.117",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,6]
[4,"VR.AGR.007.118A","Agreement must be valid and confirmed on submitted Start Of Occurrence.","NOT(EXISTS(AGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.AgreementStatus = CFD and\nAGR.ValidFromDate <= <MSG>.StartOfOccurrence and\nAGR.ValidToDate > <MSG>.StartOfOccurrence and AGR.AgreementStartDate <= <MSG>.StartOfOccurrence and\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence))","Dependency","N","B2B/GUI","Applies for sales/grid agreements being updated/cancelled.","Agreement of type '<1>' with identification '<2>' isn't valid or confirmed on requested date '<3>'.","<1>=AGR.AgreementType.Value\n<2>=<MSG>.AgreementIdentification.Value\n<3>=<MSG>.StartOfOccurrence.Value","DI.AGR.007","EC.AGR.118","RC.AGR.118",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[4,"VR.AGR.007.118B","Agreement must be valid and confirmed on submitted End Of Occurrence or already terminated on the same date via DH-311/DH-312. ","NOT(EXISTS(AGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.AgreementStatus = CFD and\nAGR.ValidFromDate <= <MSG>.EndOfOccurrence and\nAGR.ValidToDate > <MSG>.EndOfOccurrence))\n\nand\n(NOT(EXISTS(or (<MSG>.InternalTransactionType = AGR.END.SLS and\nAGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.AgreementStatus = TRM and\n((BTD.TransactionType = AGR.CRE.SLS) and BTD.EffectuationDate = <MSG>.EndOfOccurrence) and\nAGR.ValidFromDate <= <MSG>.EndOfOccurrence and\nAGR.ValidToDate > <MSG>.EndOfOccurrence))))\n\nand\n(NOT(EXISTS(<MSG>.InternalTransactionType = AGR.END.GRD and\nAGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.AgreementStatus = TRM and\n((BTD.TransactionType = AGR.CNF.GRD) and BTD.EffectuationDate = <MSG>.EndOfOccurrence) and\nAGR.ValidFromDate <= <MSG>.EndOfOccurrence and\nAGR.ValidToDate > <MSG>.EndOfOccurrence)))","Dependency","N","B2B/GUI","Applies for sales/grid agreements being terminated.","Agreement of type '<1>' with identification '<2>' isn't valid or confirmed on requested date '<3>'.","<1>=AGR.AgreementType.Value\n<2>=<MSG>.AgreementIdentification.Value\n<3>=<MSG>.EndOfOccurrence.Value","DI.AGR.007","EC.AGR.118","RC.AGR.118",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[3,"VR.AGR.009.120","Start Of Occurrence for cancelling the Agreement must match the original date used for creating the agreement.","NOT(EXISTS(AGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.OrganisationIdentifier =\nMSG.JuridicalSender and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.AgreementStartDate = <MSG>.StartOfOccurrence))","Dependency","N","B2B/GUI","Applies to sales/grid agreements being cancelled.","Agreement with identification '<1>' for accounting point with EAN '<2>' cannot be cancelled, requested date '<3>' does not match original creation date.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.StartOfOccurrence.Value","DI.AGR.009","EC.AGR.120","RC.AGR.120",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[2,"VR.AGR.022.121","The end date of the Agreement being cancelled must be unknown or in the future. Rule is only valid when process is not performed as a response to DH-341-1.","AGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.OrganisationIdentifier =\nMSG.JuridicalSender and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.AgreementEndDate <> null and AGR.AgreementEndDate <= date(Now)\nand\nNOT(<MSG>.OriginalMessageID <> null and <MSG>.InternalTransactionType = [AGR.CAN.GRD])","Dependency","N","B2B/GUI","Applies for sales/grid agreements being cancelled.","Agreement with identification '<1>' for accounting point with EAN '<2>' cannot be cancelled, end date '<3>' has already passed.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.MeteringPointEAN\n<3>=AGR.AgreementEndDate.Value","DI.AGR.022","EC.AGR.121","RC.AGR.121",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.AGR.027.126","Reason for refusing an Agreement only allows the following domain: {AER_RFS}.","<MSG>.ReasonForAgreementEnd not in {AER_RFS}","Domain","N","B2B/GUI","Only values from dedicated domain are valid.","Attribute '<1>' invalid, value '<2>' does not comply with the predefined domain.","<1>=<MSG>.ReasonForAgreementEnd.Label\n<2>=<MSG>.ReasonForAgreementEnd.Value","DI.AGR.027","EC.AGR.126","RC.AGR.126",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.AGR.009.127","The reported Termination Date must be a valid date (implicitly, time is local midnight).","dateformat(<MSG>.TerminationDate) <> 'YYYY-MM-DD')","Format","N","FILE","Must be an existing date, e.g. '2020-02-30' is invalid.","Attribute '<1>' invalid, value '<2>' must be a valid date.","<1>=<MSG>.TerminationDate.Label\n<2>=<MSG>.TerminationDate.Value","DI.AGR.009","EC.AGR.127","RC.AGR.127",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.998.128C","Reason for cancellation only allows the following domain: {ACR_AMO}.","<MSG>.CancellationReason not in {ACR_AMO}","Domain","N","GUI","Only values from dedicated domain are valid.","Attribute '<1>' invalid, value '<2>' does not comply with the predefined domain.","<1>=<MSG>.CancellationReason.Label\n<2>=<MSG>.CancellationReason.Value","-","EC.AGR.128","RC.AGR.128",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE315","v":1},"VR.AGR.998.128D","Reason for cancellation only allows the following domain: {ACR_MPS}.","<MSG>.CancellationReason not in {ACR_MPS}","Domain","N","B2B/GUI","Only values from dedicated domain are valid.","Attribute '<1>' invalid, value '<2>' does not comply with the predefined domain.","<1>=<MSG>.CancellationReason.Label\n<2>=<MSG>.CancellationReason.Value","-","EC.AGR.128","RC.AGR.128",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.130","Agreement exists in the system for reported Accounting Point on submitted Start Of Occurrence.","NOT(EXISTS(AGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.ValidFromDate <= <MSG>.StartOfOccurrence and\nAGR.ValidToDate > <MSG>.StartOfOccurrence))","Dependency","N","GUI","Applies to agreements being cancelled (by MOP).","Agreement with identification '<1>' doesn't exist for accounting point with GSRN '<2>' on requested date '<3>'.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.MeteringPointEAN\n<3>=<MSG>.StartOfOccurrence.Value","DI.AGR.007","EC.AGR.130","RC.AGR.130",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE318","v":1},"VR.AGR.009.131","Start of Occurrence is in accordance with the business process timelines (using applicable MOP parameters)","<MSG>.StartOfOccurrence <\nToday + CP_AGRCANMOP_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_AGRCANMOP_MAX_PERIOD","Calculation","N","GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for AGR.CAN.MOP process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_AGRCANMOP_MIN_PERIOD\n<4>= Today+CP_AGRCANMOP_MAX_PERIOD","DI.AGR.009","EC.AGR.131","RC.AGR.131",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE321","v":6},"VR.AGR.003.135","Agreement Type is mandatory","<MSG>.AgreementType = null","Obligation","Y","B2B/GUI","Applies to all agreements.","Attribute '<1>' is mandatory.","<1>=<MSG>.AgreementType.Label","DI.AGR.003","EC.AGR.135","RC.AGR.135",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,6]
[{"$f":"EE322","v":6},"VR.AGR.007.135","Agreement Identification is mandatory","<MSG>.AgreementIdentification = null","Obligation","Y","B2B/GUI","Applies to all agreements.","Attribute '<1>' is mandatory.","<1>=<MSG>.AgreementIdentification.Label","DI.AGR.007","EC.AGR.135","RC.AGR.135",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,6]
[{"$f":"EE325","v":1},"VR.AGR.010.136C","End of Occurrence for ending the Agreement must differ from the original date used for creating the agreement. For MOP market Role.","<MSG>.MarketRole = 'MOP' and\nEXISTS(AGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.AgreementStartDate = <MSG>.EndOfOccurrence and\nAGR.MarketRole = 'DSO')","Dependency","N","B2B/GUI","Applies to grid agreements being ended by MOP.","Agreement with identification '<1>' for accounting point with EAN '<2>' cannot be ended, requested date '<3>' does not differ from original creation date.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.EndOfOccurrence.Value","DI.AGR.010","EC.AGR.136","RC.AGR.136",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.137","Cancellation of agreement end is not allowed if the agreement was originally ended due to a new agreement (by DH-311/DH-312) and a DH-331/DH-333 was reported afterwards for the same date.","Count(<MSG.AgreementIdentification = AGR.AgreementIdentification and TDC.EntityID = AGR.ArgeementID and TDC.TransactionType = 'AGR.CRE.SLS' and TDC.EffectuationDate = <MSG>.EndOfOccurrence and TDC.InitiatedByBTD <> (TDC2.TDCCoreID from (TDC2.EntityID = AGR.ArgeementID and TDC2.TransactionType = 'AGR.CRE.SLS' and TDC2.TDCCoreID = TDS.TDCCoreID and TDS.StepType = 'AGR.CRE.SLS.REQ' //Retrieves the TDC from the agreement when it was created//)))  <> 0\nor\nCount(<MSG.AgreementIdentification = AGR.AgreementIdentification and TDC.EntityID = AGR.ArgeementID and TDC.TransactionType = 'AGR.CNF.GRD' and TDC.EffectuationDate = <MSG>.EndOfOccurrence and TDC.InitiatedByBTD <> (TDC2.TDCCoreID from (TDC2.EntityID = AGR.ArgeementID and TDC2.TransactionType = 'AGR.CNF.GRD' and TDC2.TDCCoreID = TDS.TDCCoreID and TDS.StepType = 'AGR.CNF.GRD.REQ' //Retrieves the TDC from the agreement when it was created//)))  <> 0","Dependency","Y","B2B/GUI","Checks in the Ending of the Agreement (InitiatedByBTD) was performed by the agreement itself or by another Agreement. If by itself TDC2.BTDCoreID = TDC.InitiatedByBTD\nCheck on DH-331/DH-333 already performed by VR.AGR.007.239/VR.AGR.007.314","Cancellation of the agreement '<1>' end is not allowed, the agreement was ended due to a new agreement and ended afterwards on the same date.","<1>=<MSG>.AgreementIdentification.Value","DI.AGR.007","EC.AGR.137","RC.AGR.137",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x","x",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE328","v":4},"VR.AGR.003.200","Type of agreement must be \"Sales Agreement”.","<MSG>.AgreementType <> 12","Domain","N","B2B/GUI","Agreements made by a supplier must have dedicated type.","Attribute '<1>' with value '<2>' not allowed, agreement type must be sales agreement.","<1>=<MSG>.AgreementType.Label\n<2>=<MSG>.AgreementType.Value","DI.AGR.003","EC.AGR.200","RC.AGR.200",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,"X",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G328,\"State*\")+COUNTIF(N328:ED328,\"X*\")+COUNTIF(N328:ED328,\"T*\")","v":4}]
[2,"VR.AGR.003.200B","Type of agreement must be \"Sales Agreement”.","AGR.AgreementIdentification = <MSG>.AgreementIdentification and AGR.AgreementType <> 12","Domain","N","B2B/GUI","Agreements cancelled by a supplier must have dedicated type.","Attribute '<1>' with value '<2>' not allowed, agreement type must be sales agreement.","<1>=<MSG>.AgreementIdentification.Label\n<2>=<MSG>.AgreementIdentification.Value","DI.AGR.003","EC.AGR.200","RC.AGR.200",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.AGR.009.202A","If a Change of Agreement has been reported, then start of occurrence is in accordance with the business process timelines (using COA parameters).","IF(EXISTS(AGR.AGreementID and AGR.AgreementType = 12 and AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and AGR.AgreementStartDate <= <MSG>.StartOfOccurrence < AGR.AgreementEndDate))\nTHEN LP_COA_MIN_PERIOD = CP_AGRCRESLS_COA_MIN_PERIOD\nELSE LP_MIN_PERIOD = 0;\nTDC.BusinessProcess = COA and (<MSG>.StartOfOccurrence <\nToday + LP_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_AGRCRESLS_COA_MAX_PERIOD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for COA process. Note that MIN_PERIOD may be superseded/ignored to avoid gaps between agreements.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+LP_COA_MIN_PERIOD\n<4>= Today+CP_AGRCRESLS_COA_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.202B","If a Change of Supplier has been reported ahead, then start of occurrence is in accordance with the business process timelines (using COS parameters), taking into account if a former Sales Agreement exists (i.e. at date ED-1CD).","IF(<MSG>.StartOfOccurrence >= Today) and IF(EXISTS(AGR.AGreementID and AGR.AgreementType = 12 and AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and AGR.AgreementStartDate <= <MSG>.StartOfOccurrence < AGR.AgreementEndDate))\nTHEN LP_COS_MIN_PERIOD = CP_AGRCRESLS_COS_MIN_PERIOD\nELSE LP_MIN_PERIOD = 0;\nTDC.BusinessProcess = COS and (<MSG>.StartOfOccurrence <\nToday + LP_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_AGRCRESLS_COS_MAX_PERIOD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for COS process. Note that MIN_PERIOD may be superseded/ignored to avoid gaps between agreements.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+LP_COS_MIN_PERIOD\n<4>= Today+CP_AGRCRESLS_COS_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.202E","If the cancellation has been initiated by the Supplier, then Start of Occurrence is in accordance with the business process timelines (using AGR.CAN.SLS/DDQ parameters)","<MSG>.CancellationReason = AR02 and <MSG>.StartOfOccurrence <\nToday + CP_AGRCANSLS_MIN_PERIOD_DDQ or <MSG>.StartOfOccurrence >\nToday + CP_AGRCANSLS_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for DDQ variant of AGR.CAN.SLS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+\n         CP_AGRCANSLS_MIN_PERIOD_DDQ\n<4>= Today+CP_AGRCANSLS_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.202F","If the cancellation has been initiated by the DSO, then Start of Occurrence is in accordance with the business process timelines (using AGR.CAN.SLS/DSO parameters)","<MSG>.CancellationReason = AR03 and <MSG>.StartOfOccurrence <\nToday + CP_AGRCANSLS_MIN_PERIOD_DSO or <MSG>.StartOfOccurrence >\nToday + CP_AGRCANSLS_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for DSO variant of AGR.CAN.SLS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+\n         CP_AGRCANSLS_MIN_PERIOD_DSO\n<4>= Today+CP_AGRCANSLS_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.202H","If a Termination has been reported, then End of Occurrence is in accordance with the business process timelines (i.e. using applicable TRM configuration parameters).","<MSG>.ReasonForAgreementEnd = [AN02] and (<MSG>.EndOfOccurrence <\nToday + CP_AGRENDSLS_TRM_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_AGRENDSLS_TRM_MAX_PERIOD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for TRM variant of AGR.END.SLS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_AGRENDSLS_TRM_MIN_PERIOD\n<4>= Today+CP_AGRENDSLS_TRM_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.202I","If a Dissolving has been reported, then End of Occurrence is in accordance with the business process timelines (i.e. using applicable DIS configuration parameters)) or, if ending a Sales Agreement is response to request for ending a Grid Agreement, the End of Occurrence is the same as End of Occurrence of request for ending a Grid Agreement.","<MSG>.ReasonForAgreementEnd = [AN01] and \n((<MSG>.EndOfOccurrence <\nToday + CP_AGRENDSLS_MVO_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_AGRENDSLS_MVO_MAX_PERIOD)\nand\nNOT (<MSG>.OriginalMessageID <> null and\n(EXISTS(TDS(#5).StepStatus = LKD and\nTDS(#7).StepType = AGR.END.SLS.REQ and\nTDS(#7) EntityID = AGR(<MSG>.AgreementIdentification).AgreementID and\nTDS(#7).JuridicalSenderID = MSG.JuridcalSender and\nTDC.BTDCoreID = TDS(#7).BTDCoreID and\nTDC.TransactionType = AGR.END.GRD and\nTDS(#6).BTDCoreID = TDC.BTDCoreID and\nTDS(#6).ExternalMessageID = <MSG>.OriginalMessageID and\nTDC.EffectuationDate = <MSG>.EndOfOccurrence)))\n)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for DIS variant of AGR.END.SLS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_AGRENDSLS_DIS_MIN_PERIOD\n<4>= Today+CP_AGRENDSLS_DIS_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.202L","End of Occurrence is in accordance with the business process timelines (i.e. using applicable TRM configuration parameters)","<MSG>.ReasonForAgreementEnd = [AN02] and (<MSG>.EndOfOccurrence <\nToday + CP_AGRRFSSLS_TRM_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_AGRRFSSLS_TRM_MAX_PERIOD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for TRM variant of AGR.RFS.SLS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_AGRRFSSLS_TRM_MIN_PERIOD\n<4>= Today+CP_AGRRFSSLS_TRM_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.202M","If a Meter Removal has been reported, then End of Occurrence is in accordance with the business process timelines (i.e. using applicable MRM configuration parameters).","<MSG>.ReasonForAgreementEnd = AN04 and (<MSG>.EndOfOccurrence <\nToday + CP_AGRENDSLS_MRM_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_AGRENDSLS_MRM_MAX_PERIOD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for MRM variant of AGR.END.SLS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_AGRENDSLS_MRM_MIN_PERIOD\n<4>= Today+CP_AGRENDSLS_MRM_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.202P","If the cancellation has been initiated by the Market Operator, then Start of Occurrence is in accordance with the business process timelines (using AGR.CAN.SLS/MOP parameters)","<MSG>.CancellationReason = AR05 and <MSG>.StartOfOccurrence <\nToday + CP_AGRCANSLS_MIN_PERIOD_MOP or <MSG>.StartOfOccurrence >\nToday + CP_AGRCANSLS_MAX_PERIOD","Calculation","N","GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for MOP variant of AGR.CAN.SLS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+\n         CP_AGRCANSLS_MIN_PERIOD_MOP\n<4>= Today+CP_AGRCANSLS_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE348","v":1},"VR.AGR.009.202Q","End of Occurrence is in accordance with the business process timelines (using AGR.END.GRD.MOP parameters)","<MSG>.EndOfOccurrence <\nToday + CP_AGRENDGRD_ MOP_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_AGRENDGRD_ MOP_MAX_PERIOD)","Calculation","N","GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for MOP variant of AGR.END.GRD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_AGRENDGRD_MOP_MIN_PERIOD\n<4>= Today+CP_AGRENDGRD_MOP_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.202S","If a Change of Supplier has been reported retrospectively, then start of occurrence is in accordance with the business process timelines (using COSR parameters).","IF(<MSG>.StartOfOccurrence < Today) and TDC.BusinessProcess = COS and (<MSG>.StartOfOccurrence <\nToday + CP_AGRCRESLS_COSR_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_AGRCRESLS_COSR_MAX_PERIOD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for COSR variant of AGR.CRE.SLS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+LP_COSR_MIN_PERIOD\n<4>= Today+CP_AGRCRESLS_COSR_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.202T","If a Moving In has been reported retrospectively, then start of occurrence is in accordance with the business process timelines (using MVIR parameters).","IF(<MSG>.StartOfOccurrence < Today) and\nTDC.BusinessProcess = MVI and (<MSG>.StartOfOccurrence <\nToday + CP_AGRCRESLS_MVIR_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_AGRCRESLS_MVIR_MAX_PERIOD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for MVIR variant of AGR.CRE.SLS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+LP_MVIR_MIN_PERIOD\n<4>= Today+CP_AGRCRESLS_MVIR_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE354","v":1},"VR.AGR.009.202W","If the cancellation has been initiated by the Supplier and the cancellation reason is done due to supplier related reason (AR07), then Start of Occurrence is in accordance with the business process timelines (i.e. using applicable DDQ configuration parameters).","<MSG>.CancellationReason = AR07 and <MSG>.StartOfOccurrence <\nToday + CP_DDQCANSLS_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_DDQCANSLS_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for DDQ variant of AGR.CAN.SLS process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+\n         CP_DDQCANSLS_MIN_PERIOD\n<4>= Today+CP_DDQCANSLS_MAX_PERIOD","DI.AGR.009","EC.AGR.202","RC.AGR.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.203","No other Sales Agreement with the same Start of Occurrence is registered for the Accounting Point (this check is not performed if a move-in is being reported and  the earlier reported agreement for the same date is not a move-in).","(<MSG>.ReasonForAgreementStart* = AT01/AT02 and\nEXISTS\n(AGR.AgreementType = 12 and\nAGR.MeteringPointEAN =\n<MSG>.MeteringPointEAN and\nAGR.AgreementStartDate =\n<MSG>.StartOfOccurrence))\nor\n(<MSG>.ReasonForAgreementStart* = AT03 and\nEXISTS\n(AGR.AgreementType = 12 and\nAGR.ReasonForAgreementStart = AT03 and\nAGR.MeteringPointEAN =\n<MSG>.MeteringPointEAN and\nAGR.AgreementStartDate =\n<MSG>.StartOfOccurrence)\n* Not actually in the request message, but determined by the system from the request message (and stored).","Dependency","N","B2B/GUI","Concurrent sales agreements for the same accounting point are not allowed (else existing agreement is cancelled).","Attribute '<1>' with value '<2>' invalid, another sales agreement  with the same start date already exists for accounting point '<3>'.\n\nExample:\n• accounting point does not have any sales agreements;\n• first new sales agreement A with start date X is (by definition) a move-in and gets accepted;\n• second new sales agreement B with same start date X is (by definition) a move-in and gets rejected;\n","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.MeteringPointEAN","DI.AGR.009","EC.AGR.203","RC.AGR.203",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGD.053.205A","Special termination clause condition is only allowed where the customer type of all customers involved is \"Company\".","<MSG>.IsSpecialTerminationAgreement = True and COUNT(<MSG(n)>.CustomerType = AB02) > 0","Dependency","N","B2B/GUI","Check all customers if a Consumer customer has been submitted.","Exceptional termination condition not allowed for customer '<1>' with type '<2>'.","<1>=<MSG(n)>.CustomerIdentification.Value\n<2>=<MSG(n)>.CustomerType.Value","DI.AGD.053","EC.AGD.205","RC.AGD.205",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGD.053.205B","Special termination clause condition is only allowed for corporate customers.","<MSG>.IsSpecialTerminationAgreement = True and EXISTS(CUS.AgreementID = AGR.AgreementID and COUNT(CUS.CustomerType = AB02) > 0)","Dependency","N","B2B/GUI","Check if the customer of the agreement is a consumer customer.","Exceptional termination condition not allowed for customer type '<1>'.","<1>=<CUS>.CustomerType.Value","DI.AGD.053","EC.AGD.205","RC.AGD.205",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.207","If an Accounting Point has a valid fixed-term Sales Agreement (on Start of Occurrence) where the customer type of all customers involved is \"Company\", then a Change of Supplier cannot be reported.","TDC.BusinessProcess = AT02 and\nEXISTS(AGR.AgreementStatus = CFD and\nAGR.AgreementType = 12 and\nAGD.IsFixedTermAgreement = True and AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.CustomerType = AB01 and AGD.FixedTermStartDate  <= <MSG>.StartOfOccurrence and\nAGD.FixedTermEndDate  > <MSG>.StartOfOccurrence)","Reference","N","B2B/GUI","Change of Agreement and Moving In are always allowed even with a valid fixed-term agreement.\nCheck must be performed against latest fixed term period.\nCheck agreement if all customers have been registered as a Company customer.","Transaction on accounting point '<1>' not allowed for current agreement with fixed term period and customer type '<2>', first possible agreement start date is '<3>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=AGR.CustomerType.Value\n<3>=AGD.FixedTermEndDate.Value\n        if 90 calendar days or less from now,\n        else 'at least 90 days from now'","DI.AGR.009","EC.AGR.207","RC.AGR.207",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.AGD.051.208A","If the Sales Agreement is fixed-term, then the start date of the fixed term is mandatory.","<MSG>.IsFixedTermAgreement = True and <MSG>.FixedTermStartDate = null","Obligation","N","GUI",null,"Mandatory field '<1>' is missing, must be submitted when sales agreement is fixed-term.","<1>=AGD.FixedTermStartDate.Label","DI.AGD.051","EC.AGD.208","RC.AGD.208",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.AGR.007.210","Sales Agreement associated with Accounting Point has not been cancelled, if Grid Agreement Acceptance is \"True\".","<MSG>.IsGridAgreementAccepted = True and EXISTS(AGR.AgreementStatus = CLD and\nAGR.AgreementType=12 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand AGR.AgreementStartDate <= <MSG>.StartOfOccurrence and\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence and AGR.RetiredTimestamp = null)","Dependency","N","B2B/GUI","Check status of sales agreement for same accounting point with contract period that holds start date of submitted grid agreement.","Grid agreement '<1>' invalid, corresponding sales agreement associated with accounting point '<2>' has already been cancelled.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.MeteringPointEAN.Value","DI.AGR.007","EC.AGR.210","RC.AGR.210",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.AGD.053.211","If a Sales Agreement has no special termination clause, then neither the notice period in days nor the entire notice period is allowed in the agreement.","NOT(\n<MSG>.IsSpecialTerminationAgreement = False and <MSG>.SpecialTerminationPeriod = null and\n<MSG>.TerminationPeriodStartDate = null and\n<MSG>.TerminationPeriodEndDate = null\n)","Dependency","N","B2B/GUI","Termination period must be omitted.","Neither termination period duration '<1>' nor termination period start date '<2>' and termination period end date '<3>' are allowed.","<1>=<MSG>.SpecialTerminationPeriod.Value\n<2>=<MSG>.TerminationPeriodStartDate.Value\n<3>=<MSG>.TerminationPeriodEndDate.Value","DI.AGD.053","EC.AGD.211","RC.AGD.211",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.AGR.007.213","Sales Agreement associated with Accounting Point has corresponding Grid Agreement awaiting confirmation","NOT(EXISTS(TDS.StepStatus = WAI and\nTDS.StepType = AGR.CNF.GRD.REQ\nTDC.BTDCoreID = TDS.BTDCoreID\nTDC.TransactionType = AGR.CRE.SLS and\nTDC.EntityID = AGR.AgreementID and\nAGR.AgreementStatus = CFD and\nAGR.AgreementType=12 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and AGR.AgreementStartDate <= <MSG>.StartOfOccurrence and\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence and\nAGR.RetiredTimestamp = null))","Dependency","N","B2B/GUI","Check if a valid sales agreement exists for same accounting point that indeed awaits confirmation of its corresponding grid agreement.","Grid agreement '<1>' invalid, corresponding sales agreement associated with accounting point '<2>' is not waiting for confirmation.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.MeteringPointEAN.Value","DI.AGR.007","EC.AGR.213","RC.AGR.213",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.004.214","Supplier has a valid Sales Agreement for the Accounting Point both at the moment of submitting the request and on the date of connection.","NOT(EXISTS(AGR.AgreementStatus = CFD and\nAGR.AgreementType = 12 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.OrganisationIdentifier = MSG.JuridicalSender and AGR.AgreementStartDate <= Today\nand AGR.AgreementEndDate > Today\nand AGR.RetiredTimestamp = null))\nOR\nNOT(EXISTS(AGR.AgreementStatus = CFD and\nAGR.AgreementType = 12 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.OrganisationIdentifier = MSG.JuridicalSender and AGR.AgreementStartDate <= <MSG>.StartOfOccurrence\nand AGR.AgreementEndDate > <MSG>.StartOfOccurrence and AGR.RetiredTimestamp = null))","Dependency","N","B2B/GUI","Check if involved supplier holds confirmed sales agreements for same accounting point with contract periods that are valid on today and on connection date.","Accounting point '<1>' invalid, no associated sales agreement found that is both valid on today '<2>' and valid on the date of connection '<3>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=date(Now)\n<3>=<MSG>.StartOfOccurrence.Value","DI.AGR.004","EC.AGR.214","RC.AGR.214",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.AGD.052.216B","If the Sales Agreement is fixed-term, then the end time of the fixed term is at local midnight.","<MSG>.IsFixedTermAgreement = True and localtime(<MSG>.FixedTermEndDate, 'HH:MM:SS') <> '00:00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be local midnight time.","<1>=<MSG>.FixedTermEndDate.Label\n<2>=<MSG>.FixedTermEndDate.Value","DI.AGD.052","EC.AGD.216","RC.AGD.216",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.AGD.055.217A","If the Sales Agreement has a special termination clause and the entire notice period is submitted, then the start date of the termination period is at local midnight.","<MSG>.IsSpecialTerminationAgreement = True and <MSG>.TerminationPeriodStartDate <> null and localtime(<MSG>.TerminationPeriodStartDate, 'HH:MM:SS') <> '00:00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be local midnight time.","<1>=<MSG>.TerminationPeriodStartDate.Label\n<2>=<MSG>.TerminationPeriodStartDate.Value","DI.AGD.055","EC.AGD.217","RC.AGD.217",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.AGR.004.218","Supplier has a valid Sales Agreement for the Accounting Point both at the moment of submitting the request and on the date of disconnection.","NOT(EXISTS(AGR.AgreementStatus = CFD and\nAGR.AgreementType = 12 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.OrganisationIdentifier = MSG.JuridicalSender and AGR.AgreementStartDate <= Today\nand AGR.AgreementEndDate > Today\nand AGR.RetiredTimestamp = null))\nOR\nNOT(EXISTS(AGR.AgreementStatus = CFD and\nAGR.AgreementType = 12 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.OrganisationIdentifier = MSG.JuridicalSender and AGR.AgreementStartDate <= <MSG>.StartOfOccurrence\nand AGR.AgreementEndDate > <MSG>.StartOfOccurrence and AGR.RetiredTimestamp = null))","Dependency","N","B2B/GUI","Check if involved supplier holds confirmed sales agreements for same accounting point with contract periods that are valid on today and on disconnection date.","Accounting point '<1>' invalid, no associated sales agreement found that is both valid on today '<2>' and valid on the date of disconnection '<3>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=date(Now)\n<3>=<MSG>.StartOfOccurrence.Value","DI.AGR.004","EC.AGR.218","RC.AGR.218",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.005.219","The requesting Organisation must have a (confirmed) Pre-sales Agreement or Sales Agreement or Leaving Agreement, for the Customer involved and any Accounting Point, that is valid on the reported Start of Occurrence.","NOT(EXISTS(\nAGR.MeteringPointID <> null and\nAGR.AgreementType = PSL/12/LVG and\nAGR.AgreementStatus = CFD and\nAGR.OrganisationIdentifier = MSG.JuridicalSender and CUS.CustomerID = AGR.CustomerID and\nCUS.CustomerIdentification = <MSG>.CustomerIdentification and\n<MSG>.StartOfOccurrence >=  AGR.AgreementStartDate and  \n<MSG>.StartOfOccurrence < AGR.AgreementEndDate\n))","Reference","N","B2B/GUI","Only allowed for leaving/current/ future Supplier.","Transaction by organisation '<1>' for customer '<2>' not allowed without corresponding sales agreement.","<1>=MSG.JuridicalSender.Value\n<2>=<MSG>.CustomerIdentification.Value","DI.AGR.005","EC.AGR.219","RC.AGR.219",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGD.051.222","The new fixed term start date must be earlier than the Agreement end date. ","(AGR.FixedTermStartDate <> <MSG>.FixedTermStartDate or\nAGR.FixedTermEndDate <>\n<MSG>.FixedTermEndDate) and \n<MSG>.FixedTermStartDate >=\nAGR.AgreementEndDate and\n<MSG>.IsFixedTermAgreement = 1","Reference","N","B2B/GUI",null,"Attribute '<1>' must be earlier than '<2>'.","<1>=<MSG>.FixedTermStartDate.Label\n<2>=AGR.AgreementEndDate.Value","DI.AGD.051","EC.AGD.222","RC.AGD.222",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.026.223","If the cancellation has been initiated by the Customer due to a (faulty) move in, then the original start reason for the Sales Agreement being cancelled must be \"Moving in\".","<MSG>.CancellationReason = AR04 and\nNOT(EXISTS(\nAGR.AgreementIdentification = \n<MSG>.AgreementIdentification and\nAGR.MeteringPointEAN =\n<MSG>.MeteringPointEAN and AGR.ReasonForAgreementStart = AT03 and AGR.RetiredTimestamp = null))","Dependency","N","B2B/GUI","The original start reason for the agreement must be AT03 (Moving in) when the cancellation reason is AR04. ","Cancellation of sales agreement with reason '<1>' only allowed when the original start reason for the agreement is 'Moving in'.","<1>=<MSG>.CancellationReason.Value","DI.AGR.026","EC.AGR.223","RC.AGR.223",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.017.226","If Sales Agreement being refused is a fixed-term agreement, then End Of Occurrence cannot be within the fixed term period.","EXISTS(AGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.IsFixedTermAgreement = 1 and\nAGR.FixedTermStartDate <= <MSG>.EndOfOccurrence and\nAGR.FixedTermEndDate > <MSG>.EndOfOccurrence)","Reference","N","B2B/GUI",null,"Value '<1>' invalid, attribute '<2>' cannot be a date within the fixed term period (i.e. between '<3>' and '<4>').","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>=AGR.FixedTermStartDate.Value\n<4>=AGR.FixedTermEndDate.Value","DI.AGR.017","EC.AGR.226","RC.AGR.226",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.227","Refusal of (restored) Sales Agreement must be expected as response to (a notification received upon) cancelling a Sales Agreement.","NOT(EXISTS(TDS(#6).StepStatus = LKD and\nTDS(#6).StepType = AGR.RFS.SLS.REQ and\nTDS(#6).EntityID = AGR(<MSG>.AgreementIdentification).AgreementID and TDS(#6).JuridicalSenderIdentifier = MSG.JuridicalSender and TDC.BTDCoreID = TDS(#6).BTDCoreID and\nTDC.TransactionType = AGR.CAN.SLS and\nTDS(#4).BTDCoreID = TDC.BTDCoreID and\nTDS(#4).ExternalMessageID = <MSG>.OriginalMessageID))","Reference","N","B2B/GUI","Check BTD if a cancellation process exists for associated sales agreement that indeed expects a refusal of sales agreement.","Refusal of sales agreement '<1>' not allowed when not being expected.","<1>=<MSG>.AgreementIdentification.Value","DI.AGR.007","EC.AGR.227","RC.AGR.227",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.229A","If ending a Sales Agreement with reason other than Meter Removal is response to request for ending a Grid Agreement, then the reported end date of the Sales Agreement must be on or before the end date of the corresponding Grid Agreement.","<MSG>.ReasonForAgreementEnd <> AN04 and\n<MSG>.OriginalMessageID <> null and\nNOT(EXISTS(\nAGR(sales).AgreementIdentification = \n<MSG>.AgreementIdentification and\nAGR(sales).AgreementType = 12 and\nAGR(sales).AgreementStatus = CFD and\nAGR(sales).MeteringPointEAN =\n<MSG>.MeteringPointEAN and AGR(grid).AgreementType = 11 and\nAGR(grid).AgreementStatus = TRM and\nAGR(grid).MeteringPointEAN =\n<MSG>.MeteringPointEAN and \nAGR(sales).AgreementStartDate < \nAGR(grid).AgreementEndDate and\nAGR(sales).AgreementEndDate > \nAGR(grid).AgreementStartDate and\n<MSG>.EndOfOccurrence <= AGR(grid).AgreementEndDate and AGR(grid).RetiredTimestamp = null))","Dependency","N","B2B/GUI","Check reported agreement end reason and end date of terminated end agreement that corresponds to sales agreement now being terminated.","Reported end date '<1>' must be on or before corresponding grid agreement end date '<2>'.","<1>=<MSG>.EndOfOccurrenc.Value\n<2>=AGR(grid).AgreementEndDate.Value","DI.AGR.007","EC.AGR.229","RC.AGR.229",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.230","End of Occurrence must be later than Start of Occurrence.","<MSG>.EndOfOccurrence <= <MSG>.StartOfOccurrence","Reference","N","B2B/GUI",null,"Attribute '<1>' with value '<2>' must be earlier than attribute '<3>' with value '<4>'.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrenec.Value\n<3>=<MSG>.EndOfOccurrence.Label\n<4>=<MSG>.EndOfOccurrence.Value","DI.AGR.009","EC.AGR.230","RC.AGR.230",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.010.233\n","the Sales Agreement may not overlap with an existing future Sales Agreement.","Exists (AGR.AgreementType = 12 and AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \n and\nAGR.AgreementStatus = ‘CFD’ and AGR.AgreementStartDate > <MSG>.StartOfOccurrence\nand (AGR.AgreementStartDate < <MSG>.EndOfOccurrence or <MSG>.EndOfOccurrence = null)\n","Dependency","N","B2B/GUI","This rule will be validated only after the applicable future agreement is cancelled. ","New Agreement '<1>' cannot overlap with an existing Sales Agreement starting on ‘<2>’.","<1>=<MSG>.AgreementIdentification.Value\n<2>=AGR.AgreementStartDate","DI.AGR.010","EC.AGR.233","RC.AGR.233",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.234","If ending a Sales Agreement is requested with reason Meter Removal, then the request must be a response to the request for ending the corresponding Grid Agreement.","<MSG>.ReasonForAgreementEnd = AN04 and\n<MSG>.OriginalMessageID = null","Dependency","N","B2B/GUI","Response means reference to original message must be reported.","Ending of sales agreement with reason '<1>' only allowed as response to earlier reported ending of grid agreement.","<1>=<MSG>.ReasonForAgreementEnd.Value","DI.AGR.007","EC.AGR.234","RC.AGR.234",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G392,\"State*\")+COUNTIF(N392:ED392,\"X*\")+COUNTIF(N392:ED392,\"T*\")","v":1}]
[1,"VR.AGR.015.237","The status of the reported Sales Agreement is neither \"Cancelled\" on/after the reported Termination Date nor \"Terminated\" before the reported Termination Date.","EXISTS(AGR.AgreementIdentification = <MSG>.SalesAgreementID and\nAGR.MeteringPointEAN =\n<MSG>.MeteringPointEAN and\nAGR.OrganisationIdentifier = <MSG>.SupplierID  and AGR.RetiredTimestamp = null and ((AGR.AgreementStatus = CLD and AGR.ValidFromDate >= <MSG>.TerminationDate) or (AGR.AgreementStatus = TRM and AGR.ValidFromDate < <MSG>.TerminationDate))","Dependency","N","FILE","Check status of sales agreement to determine if it must indeed be terminated.","Status '<1>' of reported sales agreement '<2>' is not allowed when compared with date '<3>'.","<1>=AGR.AgreementStatus.Value\n<2>=<MSG>.SalesAgreementID.Value\n<3>=<MSG>.TerminationDate.Value","DI.AGR.015","EC.AGR.237","RC.AGR.237",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.004.238A","Supplier has a valid Sales Agreement for the Accounting Point both at the moment of submitting the request and on the date of the connection to be cancelled.","NOT(EXISTS(AGR.AgreementStatus = CFD and\nAGR.AgreementType = 12 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.OrganisationIdentifier = MSG.JuridicalSender and AGR.AgreementStartDate <= Today\nand AGR.AgreementEndDate > Today\nand AGR.RetiredTimestamp = null))\nOR\nNOT(EXISTS(AGR.AgreementStatus = CFD and\nAGR.AgreementType = 12 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.OrganisationIdentifier = MSG.JuridicalSender and AGR.AgreementStartDate <= <MSG>.StartOfOccurrence\nand AGR.AgreementEndDate > <MSG>.StartOfOccurrence and AGR.RetiredTimestamp = null))","Dependency","N","B2B/GUI","Check if involved supplier holds confirmed sales agreements for same accounting point with contract periods that are valid on today and on the cancelled connection date.","Accounting point '<1>' invalid, no associated sales agreement found that is both valid on today '<2>' and valid on the date of connection cancellation'<3>'.","<1>=<MSG>.MeteringPointEAN.Value\n<2>=date(Now)\n<3>=<MSG>.StartOfOccurrence.Value","DI.AGR.004","EC.AGR.238","RC.AGR.238",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.239","Sales Agreement must be ending due to End Sales Agreement (DH-331) process on the submitted End Of Occurrence and with the end reason matching the submitted end reason.","NOT(EXISTS\n(TDC.EntityID = AGR(<MSG>.AgreementIdentification).AgreementID and TDC.TransactionType = AGR.END.SLS and TDC.EffectuationDate = <MSG>.EndOfOccurrence) \nand \n(AGR.AgreementID = AGR(<MSG>.AgreementIdentification).AgreementID and AGR.ValidFromDate = <MSG>.EndOfOccurrence and AGR.AgreementEndDate = <MSG>.EndOfOccurrence and AGR.AgreementStatus = 'TRM' and AGR.ReasonForAgreementEnd = <MSG>.ReasonForAgreementEnd)\n)","Dependency","N","B2B/GUI","Check that the agreement ends on the submitted date due to DH-331, and that the submitted end reason matches the original end reason. ","Requested cancellation of agreement end for agreement '<1>' on '<2>' with reason '<3>' does not match an earlier reported ending of the agreement on the accounting point '<4>'.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.EndOfOccurrence.Value\n<3>=<MSG>.ReasonForAgreementEnd.Value\n<4>=<MSG>.MeteringPointEAN.Value","DI.AGR.007","EC.AGR.239","RC.AGR.239",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.016.240","There are no valid Sales Agreements on the Accounting Point starting on or after the submitted End Of Occurrence.","EXISTS(AGR.AgreementStatus = CFD and\nAGR.AgreementType = 12 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and AGR.AgreementStartDate >= <MSG>.EndOfOccurrence)","Dependency","N","B2B/GUI","Cancellation of agreement end is not allowed if there is another sales agreement on the accounting point that starts on/after the to-be-cancelled agreement end. ","Cancellation of agreement end for agreement '<1>' not allowed. There is another sales agreement on the accounting point '<2>' starting on '<3>'.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>= AGR.AgreementStartDate.Value (start date of the sales agreement closest to the requested date in case more than one valid agreement exists)\n","DI.AGR.016","EC.AGR.240","RC.AGR.240",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.998.243","Additional information is required when overlapping Sales Agreements exist on the Accounting Point, unless a move-in is reported that overlaps with only one other Sales Agreement and the freeze period of the Datahub go-live process is active.","See FD.CMD.310, 2.8.2 Business Rules for determining the overlapping agreements situation on the accounting point.\nParameter CP_AGRCRESLS_ACT_FRZ_PERIOD is used to determine if the go-live freeze period is active.","Dependency","N","B2B/GUI","Applies when sales agreement is reported retrospectively and overlapping sales agreements from other suppliers exist on the accounting point. Only used if all the other validations are passed.","Process locked. Additional information required due to overlapping sales agreements on the accounting point '<1>'. Please provide additional information via the Open Transactions in the Web Portal.","<1>=<MSG>.MeteringPointEAN.Value","-","EC.AGR.243","RC.AGR.243",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.998.244","Description is mandatory if Sales Agreement Acceptance is \"False\"","<MSG>.IsSalesAgreementAccepted = False and\n<MSG>.Description = null","Obligation","N","B2B/GUI","Description/reason needed when rejecting the sales agreement.","Mandatory field 'Description' is missing, must be submitted when sales agreement acceptance is '<1>'.","<1>=<MSG>.IsSalesAgreementAccepted.Value","-","EC.AGR.244","RC.AGR.244",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE406","v":1},"VR.AGR.051.246B","The Fixed Term Start Date must be same as or later than the Sales Agreement Start Date.","EXISTS(\nAGR.AgreementIdentification = <MSG>.AgreementIdentification and\nAGR.AgreementType = <MSG>.AgreementType and\nAGR.OrganisationIdentifier = <MSG>.OrganisationIdentifier and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand <MSG>.FixedTermStartDate < AGR.AgreementStartDate)","Dependency","N","B2B/GUI",null,"Attribute '<1>' with value '<2>' must be <5> attribute '<3>' with value '<4>'.","<1>=<MSG>.FixedTermStartDate.Label\n<2>=<MSG>.FixedTermStartDate.Value\n<3>=AGR.AgreementStartDate.Label\n<4>=AGR.AgreementStartDate.Value\n<5>=[same as or later than]","DI.AGR.051","EC.AGR.246","RC.AGR.246",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.055.247A","The Termination Period Start Date must be same as or later than the Sales Agreement Start Date (i.e. Start of Occurrence).","<MSG>.TerminationPeriodStartDate < <MSG>.StartOfOccurrence","Dependency","N","B2B/GUI",null,"Attribute '<1>' with value '<2>' must be same as or later than attribute '<3>' with value '<4>'.","<1>=<MSG>.TerminationPeriodStartDate.Label\n<2>=<MSG>.TerminationPeriodStartDate.Value\n<3>=<MSG>.StartOfOccurrence.Label\n<4>=<MSG>.StartOfOccurrence.Value","DI.AGR.055","EC.AGR.247","RC.AGR.247",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE409","v":1},"VR.AGR.026.248","A new Sales Agreement with reason Change of Supplier is not allowed during a power regulation period.","TDC.BusinessProcess = COS and\nCP_GENERAL_POWER_REGULATION_ACTIVE = 1\n","Dependency","N","B2B/GUI","Change of Supplier is only allowed when power regulations are not applicable.","Transaction for sales agreement with identification '<1>' and reason '<2>' is not allowed when a power regulation period is active.","<1>=<MSG>.AgreementIdentification.Value\n<2>=TDC.BusinessProcess.Value","DI.AGR.026","EC.AGR.248","RC.AGR.248",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE410","v":1},"VR.AGR.017.249","A new (retrospective) Sales Agreement must end before/on the end date of an existing/later Sales Agreement that has been terminated due to a meter removal on the Accounting Point involved.","<MSG>.StartOfOccurrence < date(Now) and\nEXISTS(\nTDC.TransactionType = AGR.END.SLS and\nTDC.BusinessProcess = AN04 and\nAGR.AgreementID = TDC.EntityID and\nAGR.AgreementType = 12 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence and (<MSG>.EndOfOccurrence = null or\nAGR.AgreementEndDate < <MSG>.EndOfOccurrence))","Dependency","N","B2B/GUI","If a new Sales Agreement is reported retrospectively and there is already an existing Sales Agreement that has been terminated due to a meter removal (with a later end date than the start date of the new Sales Agreement), then the end date of the new Sales Agreement must be on/before the meter removal date of the existing Sales Agreement.","Sales agreement with identification '<1>' is invalid for accounting point '<2>', end date '<3>' must have a value before or on existing meter removal date '<4>'.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.EndOfOccurrence.Value\n<4>=AGR.AgreementEndDate.Value","DI.AGR.017","EC.AGR.249","RC.AGR.249",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE413","v":1},"VR.AGR.017.253","A new Sales Agreement does not have an end date but must end before/on the end date of an existing/later Grid Agreement (where all the customers are the same) that has been terminated by the End Grid Agreement process DH-333 on the Accounting Point involved.","<MSG>.EndOfOccurrence = null and\nEXISTS(\nTDC.TransactionType = AGR.END.GRD and\nAGR.AgreementID = TDC.EntityID and\nAGR.AgreementType = 11 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence and (<MSG>.EndOfOccurrence = null or\nAGR.AgreementEndDate < <MSG>.EndOfOccurrence) and \nCUS.CustomerID = AGR.CustomerID  and\nCUS.CustomerIdentification = all <MSG>.CustomerIdentification)","Reference","N","B2B/GUI",null,"Sales agreement with identification '<1>' is invalid for accounting point '<2>'. The end date must be a value that is before or on the existing grid agreement end date '<3>'.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=AGR.AgreementEndDate","DI.AGR.017","EC.AGR.253","RC.AGR.253",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.AGR.050.252A","IsFixedTermAgreement is mandatory for a Sales Agreement","<MSG>.IsFixedTermAgreement = null","Obligation","Y","B2B/GUI","Applies to all Sales Agreements.","Attribute '<1>' is mandatory.","<1>=<MSG>.IsFixedTermAgreement.Label","DI.AGR.050","EC.AGR.252","RC.AGR.252",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE417","v":4},"VR.AGR.003.300","Type of agreement must be \"Grid Agreement”.","<MSG>.AgreementType <> 11","Dependency","N","B2B/GUI","Agreements made by a DSO must have dedicated type.","Attribute '<1>' with value '<2>' not allowed, agreement type must be grid agreement.","<1>=<MSG>.AgreementType.Label\n<2>=<MSG>.AgreementType.Value","DI.AGR.003","EC.AGR.300","RC.AGR.300",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,"X",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G417,\"State*\")+COUNTIF(N417:ED417,\"X*\")+COUNTIF(N417:ED417,\"T*\")","v":4}]
[2,"VR.AGR.003.300B","Type of agreement must be \"Grid Agreement”.","AGR.AgreementIdentification = <MSG>.AgreementIdentification and AGR.AgreementType <> 11","Domain","N","B2B/GUI","Agreements cancelled by a DSO must have dedicated type.","Attribute '<1>' with value '<2>' not allowed, agreement type must be grid agreement.","<1>=<MSG>.AgreementIdentification.Label\n<2>=<MSG>.AgreementIdentification.Value","DI.AGR.003","EC.AGR.300","RC.AGR.300",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.AGR.009.301","The start of occurrence matches the corresponding Sales Agreement","NOT(EXISTS(\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and AGR.AgreementType = 12 and\nAGR.AgreementStatus = CFD and\nAGR.AgreementStartDate <= <MSG>.StartOfOccurrence and\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence and\nAGR.RetiredTimestamp = null and AGR.AgreementStartDate = <MSG>.StartOfOccurrence))","Dependency","N","B2B/GUI","Check sales agreement for same accounting point with start date closest to start date of submitted grid agreement.","Attribute '<1>' with value '<2>' invalid, does not match corresponding sales agreement.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value","DI.AGR.009","EC.AGR.301","RC.AGR.301",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.999.302","Grid Agreement Acceptance is mandatory.","<MSG>.GridAgreementAcceptance = null","Obligation","N","B2B/GUI",null,"Mandatory field 'Grid Agreement Acceptance' is missing.","-","-","EC.AGR.302","RC.AGR.302",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.305","Grid Agreement must have a corresponding Sales Agreement that is confirmed (on submitted Start Of Occurrence).","NOT(EXISTS(\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and AGR.AgreementType = 12 and\nAGR.AgreementStatus = CFD))","Dependency","N","B2B/GUI","Check if sales agreement for same accounting point exists.","Grid agreement '<1>' does not have a corresponding sales agreement that is confirmed on date '<2>'.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.StartOfOccurrence.Value","DI.AGR.007","EC.AGR.305","RC.AGR.305",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.005.306","The requesting Organisation must have a (confirmed) Pre-grid Agreement or Grid Agreement, for the Customer involved and any Accounting Point, that is valid on the reported Start of Occurrence.","NOT(EXISTS(\nAGR.MeteringPointID <> null and\nAGR.AgreementType = PGR/11 and\nAGR.AgreementStatus = CFD and\nAGR.OrganisationIdentifier = MSG.JuridicalSender and CUS.CustomerID = AGR.CustomerID and\nCUS.CustomerIdentification = <MSG>.CustomerIdentification and\n<MSG>.StartOfOccurrence >=  AGR.AgreementStartDate and  \n<MSG>.StartOfOccurrence < AGR.AgreementEndDate\n))","Reference","N","B2B/GUI","Only allowed for current/future DSO.","Transaction by organisation '<1>' for customer '<2>' not allowed without corresponding grid agreement.","<1>=MSG.JuridicalSender.Value\n<1>=<MSG>.CustomerIdentification.Value","DI.AGR.005","EC.AGR.306","RC.AGR.306",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.307C","If the cancellation has been initiated by the DSO, then Start of Occurrence is in accordance with the business process timelines (using AGR.CAN.GRD/DSO parameters)","<MSG>.CancellationReason = AR03 and <MSG>.StartOfOccurrence <\nToday + CP_AGRCANGRD_MIN_PERIOD_DSO or <MSG>.StartOfOccurrence >\nToday + CP_AGRCANGRD_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for DSO variant of AGR.CAN.GRD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+\n         CP_AGRCANGRD_MIN_PERIOD_DSO\n<4>= Today+CP_AGRCANGRD_MAX_PERIOD","DI.AGR.009","EC.AGR.307","RC.AGR.307",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.307D","If a Moving Out has been reported, then End of Occurrence is in accordance with the business process timelines (i.e. using applicable MVO configuration parameters)or, if ending a Grid Agreement is response to request for ending a Sales Agreement, the End of Occurrence is the same as End of Occurrence of request for ending a Sales Agreement.","<MSG>.ReasonForAgreementEnd = [AN01] and \n((<MSG>.EndOfOccurrence <\nToday + CP_AGRENDGRD_MVO_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_AGRENDGRD_MVO_MAX_PERIOD)\nand \nNOT (<MSG>.OriginalMessageID <> null and\n(EXISTS(TDS(#5).StepStatus = LKD and\nTDS(#7).StepType = AGR.END.GRD.REQ and\nTDS(#7) EntityID = AGR(<MSG>.AgreementIdentification).AgreementID and\nTDS(#7).JuridicalSenderID = MSG.JuridcalSender and\nTDC.BTDCoreID = TDS(#7).BTDCoreID and\nTDC.TransactionType = AGR.END.SLS and\nTDS(#6).BTDCoreID = TDC.BTDCoreID and\nTDS(#6).ExternalMessageID = <MSG>.OriginalMessageID and\nTDC.EffectuationDate = <MSG>.EndOfOccurrence)))\n)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for MVO variant of AGR.END.GRD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_AGRENDGRD_MVO_MIN_PERIOD\n<4>= Today+CP_AGRENDGRD_MVO_MAX_PERIOD","DI.AGR.009","EC.AGR.307","RC.AGR.307",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.307F","If a Dissolving has been reported, then End of Occurrence is in accordance with the business process timelines (i.e. using applicable DIS configuration parameters).","<MSG>.ReasonForAgreementEnd = [AN03] and (<MSG>.EndOfOccurrence <\nToday + CP_AGRENDGRD_DIS_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_AGRENDGRD_DIS_MAX_PERIOD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for DIS variant of AGR.END.GRD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_AGRENDGRD_DIS_MIN_PERIOD\n<4>= Today+CP_AGRENDGRD_DIS_MAX_PERIOD","DI.AGR.009","EC.AGR.307","RC.AGR.307",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.307G","When updating a Grid Agreement, the Start Of Occurrence must be in accordance with the business process timelines (i.e. using applicable STD configuration parameters).","If exist (AGR.AgreementID and AGR.AgreementType = 11 )  THEN\n(TODAY - <MSG>.StartOfOccurrence) < [CP_AGRUPDGRD_STD_MIN_PERIOD] OR\n(<MSG>.StartOfOccurrence - TODAY)  > [CP_AGRUPDGRD_STD_MAX_PERIOD])","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for STD variant of AGR.UPD.GRD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_AGRUPDGRD_STD_MIN_PERIOD\n<4>= Today+CP_AGRUPDGRD_STD_MAX_PERIOD","DI.AGR.009","EC.AGR.307","RC.AGR.307",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.009.307J","End Of Occurrence is in accordance with the business process timelines (i.e. using applicable configuration parameters).","<MSG>.EndOfOccurrence <\nToday + CP_AGRCNEGRD_MIN_PERIOD or <MSG>.EndOfOccurrence >\nToday + CP_AGRCNEGRD_MAX_PERIOD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters of AGR.CNE.GRD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_AGRCNEGRD_MIN_PERIOD\n<4>= Today+CP_AGRCNEGRD_MAX_PERIOD","DI.AGR.009","EC.AGR.307","RC.AGR.307",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.308","Refusal of (restored) Grid Agreement must be expected as response to (a notification received upon) refusing a Sales Agreement.","NOT(EXISTS(TDS(#4).StepStatus = LKD and\nTDS(#4).StepType = AGR.RFS.GRD.REQ and\nTDS(#4).EntityID = AGR(<MSG>.AgreementIdentification).AgreementID and TDS(#4).JuridicalSenderIdentifier = MSG.JuridicalSender and TDC.BTDCoreID = TDS(#4).BTDCoreID and\nTDC.TransactionType = AGR.RFS.SLS and\nTDS(#3).BTDCoreID = TDC.BTDCoreID and\nTDS(#3).ExternalMessageID = <MSG>.OriginalMessageID))","Reference","N","B2B/GUI","Check BTD if a refusal process exists for associated sales agreement that indeed expects a refusal of grid agreement.","Refusal of grid agreement '<1>' not allowed when not being expected.","<1>=<MSG>.AgreementIdentification.Value","DI.AGR.007","EC.AGR.308","RC.AGR.308",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.310B","If an Accounting Point with existing Grid Agreement(s) is reported and the ownership has changed, then the Old Grid Agreement must be reported.","<MSG>.MeteringPointType = ACP and\n<MSG>.NewDSO <> <MSG>.OldDSO and <MSG>.OldGridAgreement = null and Exists(AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.AgreementType = 11 and AGR.OrganisationIdentifier = <MSG>.OldDSO and AGR.AgreementStatus = CFD and AGR.RetiredTimestamp = null)","Obligation","N","FILE","At least one existing grid agreement must be transferred if ownership of ACP changes.","Attribute '<1>' is mandatory for transferred metering point '<2>' with type '<3>'.","<1>= <MSG>.OldGridAgreement.Label\n<2>= <MSG>.MeteringPointEAN.Value\n<3>= <MSG>.MeteringPointType.Value","DI.AGR.007","EC.AGR.310","RC.AGR.310",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.311A","The type of Metering Point with reported Old Grid Agreement is \"Accounting Point\".","<MSG>.OldGridAgreement <> null and\n<MSG>.MeteringPointType <> ACP","Dependency","N","FILE","Grid agreement can only be transferred for ACP.","Reported metering point type '<1>' does not match reported grid agreement '<2>'.","<1>= <MSG>.MeteringPointType.Value\n<2>= <MSG>.OldGridAgreement.Value","DI.AGR.007","EC.AGR.311","RC.AGR.311",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.015.312","The status of the reported Old Grid Agreement is either \"Confirmed\" or \"Terminated\" (either before/on/after the reported Transfer Date).","EXISTS(\nAGR.AgreementIdentification = <MSG>.OldGridAgreement and\nAGR.OrganisationIdentifier = <MSG>.OldDSO and AGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand AGR.AgreementStatus <> CFD/TRM))","Dependency","N","FILE","Unconfirmed/Ended/Cancelled grid agreements are not transferred.","Reported grid agreement '<1>' has invalid status '<2>'.","<1>=<MSG>.OldGridAgreement.Value\n<2>=AGR.AgreementStatus.Value","DI.AGR.015","EC.AGR.312","RC.AGR.312",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.313","If cancelling a Grid Agreement is response to request for cancelling a Sales Agreement, then Grid Agreement has currently a running Cancel Grid Agreement process expecting the cancellation of a Grid Agreement.","<MSG>.OriginalMessageID <> null and\nNOT(EXISTS(TDS(#5).StepStatus = LKD and\nTDS(#5).StepType = AGR.CAN.GRD.REQ and\nTDS(#5) EntityID = AGR(<MSG>.AgreementIdentification).AgreementID and\nTDS(#5).JuridicalSenderID = MSG.JuridcalSender and\nTDC.BTDCoreID = TDS(#5).BTDCoreID and\nTDC.TransactionType = AGR.CAN.SLS and\nTDS(#3).BTDCoreID = TDC.BTDCoreID and\nTDS(#3).ExternalMessageID = <MSG>.OriginalMessageID))","Reference","N","B2B/GUI","Check BTD if a cancel grid agreement process exists, which is linked to the associated cancelled sales agreement, that indeed expects the cancelling of grid agreement.","Cancellation of grid agreement '<1>' not allowed when not being expected.","<1>=<MSG>.AgreementIdentification.Value","DI.AGR.007","EC.AGR.313","RC.AGR.313",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.007.316","Grid Agreement (being ended) exists in the system and belongs to the reported Accounting Point (on submitted End Of Occurrence).","NOT(EXISTS(AGR.AgreementIdentification = <MSG>.AgreementIdentification and AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and \nAGR.ValidFromDate <= <MSG>.EndOfOccurrence and\nAGR.ValidToDate > <MSG>.EndOfOccurrence))","Dependency","N","GUI","Applies for grid agreements being ended.","Agreement of type '<1>' with identification '<2>' doesn't belong to the accounting point with EAN '<3>' on requested date '<4>'.","<1>=AGR.AgreementType.Value\n<2>=<MSG>.AgreementIdentification.Value\n<3>=<MSG>.MeteringPointEAN.Value\n<4>=<MSG>.EndOfOccurrence.Value","DI.AGR.007","EC.AGR.316","RC.AGR.316",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE447","v":1},"VR.AGR.010.317","If End of Occurrence is reported, it cannot be earlier than the end date of the corresponding Sales Agreement.","<MSG>.EndOfOccurrence <> null and \n(EXISTS(\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and AGR.AgreementType = 12 and AGR.AgreementStatus = CFD and\nAGR.AgreementStartDate = <MSG>.StartOfOccurrence and\nAGR.AgreementEndDate > <MSG>.EndOfOccurrence) \nOR\nEXISTS(\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and AGR.AgreementType = 12 and AGR.AgreementStatus = CFD and\nAGR.AgreementStartDate = <MSG>.StartOfOccurrence and\nAGR.AgreementEndDate = null))",{"$f":"$E$446","v":"Dependency"},"N","B2B/GUI","If the corresponding sales agreement has an end date, the end of occurrence cannot be earlier than the end date. If the corresponding sales agreement does not have an end date, end of occurrence is not allowed.","Attribute '<1>' with value '<2>' invalid. Grid agreement cannot end earlier than the corresponding sales agreement.","<1>=<MSG>.EndOfOccurrence.Label\n<2>=<MSG>.EndOfOccurrence.Value","DI.AGR.010","EC.AGR.317","RC.AGR.317",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE450","v":1},"VR.AGR.027.320","If ending a Grid Agreement is requested with reason Meter Removal, then there cannot be a later meter removal on the Accounting Point involved.","<MSG>.ReasonForAgreementEnd = AN04 and\nEXISTS(\nAGR.AgreementType = 11 and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand AGR.AgreementStatus = TRM and\nAGR.ReasonForAgreementEnd = AN04 and AGR.AgreementEndDate >= <MSG>.EndOfOccurrence and AGR.AgreementEndDate <= date(Now))","Dependency","N","B2B/GUI","Later meter removal date effective between submitted End Of Occurrence and reporting date.","Ending of grid agreement '<1>' with reason '<2>' not allowed, another meter removal for accounting point '<3>' with a later date '<4>' than reported date '<5>' already exists. ","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.ReasonForAgreementEnd.Value\n<3>=<MSG>.MeteringPointEAN.Value\n<4>=AGR.AgreementEndDate.Value\n<5>=<MSG>.EndOfOccurrence.Value","DI.AGR.027","EC.AGR.320","RC.AGR.320",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE451","v":1},"VR.AGR.007.321","Grid Agreement cannot be accepted if another overlapping Grid Agreement already exists on the Accounting Point involved.","<MSG>.IsGridAgreementAccepted = True and\nEXISTS(AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.AgreementType = 11 and\nAGR.AgreementStatus = CFD and\nAGR.AgreementIdentification <>\n<MSG>.AgreementIdentification <>\nAGR.AgreementStartDate < <MSG>.EndOfOccurrence\nand\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence)","Dependency","N","B2B/GUI","There cannot be another registered grid agreement that already starts before the grid agreement being confirmed ends. ","Grid Agreement '<1>' on Accounting Point '<2>' cannot be confirmed with end date '<3>' due to another overlapping Grid Agreement with start date '<4>'.","<1>=<MSG>.AgreementIdentification.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=<MSG>.EndOfOccurrence.Value\n<4>=AGR.AgreementStartDate.Value","DI.AGR.007","EC.AGR.321","RC.AGR.321",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE453","v":1},"VR.AGR.040.323","Tax Category is mandatory.","<MSG>.TaxCategory = null","Obligation","N","B2B/GUI",null,"Mandatory field 'Tax Category' is missing.","-","DI.AGR.040","EC.AGR.323","RC.AGR.323",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE454","v":1},"VR.AGR.007.324","If cancelling a Grid Agreement is a response to a request for cancelling a Sales Agreement, then the Cancellation Reason must match with Cancellation Reason of the original request.","<MSG>.CancellationReason<> TDC.BTDCoreID = 'MatchedBTD'.InitiatedByBTD and TDC.BTDCoreID = TDA.BTDCoreID and TDA.AttributeKey1 = 'CancellationReason'\n","Dependency","N","B2B/GUI","Check the initiating BTD and use the BTD Attribute","Reason for cancellation  '<1>' not allowed. Reason for cancellation must match the original reason '<2>'.","<1>=<MSG>.CancellationReason\n<2>=<BTD>.CancellationReason","DI.AGR.007","EC.AGR.324","RC.AGR.324",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE457","v":1},"VR.AGR.005.401","The requesting Organisation must have an (confirmed) Authorisation Agreement, for the Customer involved and any Accounting Point, that is valid on the reported Start of Occurrence.","NOT(EXISTS(\nAGR.AgreementType = AP01/AP02/AP03 and\nAGR.AgreementStatus = CFD and\nAGR.MeteringPointID <> null and\nAGR.OrganisationIdentifier = MSG.JuridicalSender and CUS.CustomerID = AGR.CustomerID and\nCUS.CustomerIdentification = <MSG>.CustomerIdentification and\n<MSG>.StartOfOccurrence >=  AGR.AgreementStartDate and  \n<MSG>.StartOfOccurrence < AGR.AgreementEndDate\n))","Reference","N","B2B/GUI","Only allowed for current Third Party.","Transaction by organisation '<1>' for customer '<2>' not allowed without corresponding authorisation agreement.","<1>=MSG.JuridicalSender.Value\n<1>=<MSG>.CustomerIdentification.Value","DI.AGR.005","EC.AGR.401","RC.AGR.401",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G457,\"State*\")+COUNTIF(N457:ED457,\"X*\")+COUNTIF(N457:ED457,\"T*\")","v":1}]
[1,"VR.AGR.003.402","Requesting organisation has a valid Authorisation Agreement with all Customers to access the Accounting Point involved on submitted Start of Occurrence.","NOT(EXISTS(<MSG>.MeteringPointEAN = AGR1.MeteringPointEAN and AGR1.OrganisationIdentifier = MSG.JuridicalSender and \nAGR1.AgreementType = AP01/AP02/AP03 and AGR1.ValidFromDate <= <MSG>.StartOfOccurrence <AGR1.ValidToDate and AGR1.AgreementStartDate <= <MSG>.StartOfOccurrence < AGR1.AgreementEndDate and\nCUS(n).CustomerID =  AGR1(n).CustomerID and\nCUS(n).CustomerID =  AGR2(n).CustomerID and \nAGR2.AgreementType = 11/12 and AGR2.MeteringPointEAN = <MSG>.MeteringPointEAN and AGR2.ValidFromDate <= <MSG>.StartOfOccurrence < AGR2.ValidToDate and AGR2.AgreementStartDate <= <MSG>.StartOfOccurrence < AGR2.AgreementEndDate))","Reference","N","B2B","Authorisation needs to exist for ALL customers (n) with a valid sales or grid agreement for the involved accounting point on the submitted Start of Occurrence.","Requesting organisation '<1>' doesn't have a valid authorisation agreement on '<2>' with all customers to retrieve information of requested accounting point '<3>'.","<1>=MSG.JuridicalSender.Value\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.MeteringPointEAN.Value\n","DI.AGR.003","EC.AGR.402","RC.AGR.402",null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.003.402C","If requesting Market Party has Market Role \"Third Party\", then requesting organisation has a valid Authorisation Agreement with at least one Customer requested to access the Accounting Point involved on submitted Start of Occurrence.","MSG.ProcessRole = THP and\nNOT(EXISTS(\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and AGR.OrganisationIdentifier = MSG.JuridicalSender and \nAGR.AgreementType = AP01/AP02/AP03 and AGR.ValidFromDate <= <MSG>.StartOfOccurrence < AGR.ValidToDate and\nAGR.AgreementStartDate <= <MSG>.StartOfOccurrence < AGR.AgreementEndDate and\n(COUNT (CUS(n).CustomerID =  AGR(n).CustomerID) >=1 or \nCOUNT (CUS(n).CustomerID = <MSG>.CustomerIdentification) >=1 )\n))","Reference","Y","B2B","When triggered, other validation rules (e.g. VR.CUS.003.111) are not executed anymore.","Requesting organisation '<1>' doesn't have a valid authorisation agreement on '<2>' with at least one customers to retrieve information of requested accounting point '<3>'.","<1>=MSG.JuridicalSender.Value\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.MeteringPointEAN.Value\n","DI.AGR.003","EC.AGR.402","RC.AGR.402",null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.003.403","If requested authorisation type is “Energy Reporting”, then the reported customer must have a valid sales agreement or grid agreement for the requested accounting point that fully includes the requested authorisation period.","<MSG>.AuthorisationReason = AP01 AND\nNOT(EXISTS(\nAGR.AgreementType = 11 AND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN AND\nCUS.CustomerID = AGR.CustomerID AND CUS.CustomerIdentification = <MSG>.CustomerIdentification AND AGR.AgreementStartDate <= <MSG>.AgreementStartDate AND AGR.AgreementEndDate >= <MSG>.AgreementEndDate)) AND\nNOT(EXISTS(\nAGR.AgreementType = 12 AND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN AND\nCUS.CustomerID = AGR.CustomerID AND CUS.CustomerIdentification = <MSG>.CustomerIdentification AND AGR.AgreementStartDate <= <MSG>.AgreementStartDate AND AGR.AgreementEndDate >= <MSG>.AgreementEndDate))","Dependency","N","GUI","THE customer must have a valid sales or grid agreement for the involved accounting point, with an agreement period that fully overlaps with the requested authorisation period.","Authorisation not allowed, requested period from '<1>' to '<2>' does not match corresponding sales/grid agreements.","<1>=<MSG>.AgreementStartDate.Value\n<2>=<MSG>.AgreementEndDate.Value","DI.AGR.003","EC.AGR.403","RC.AGR.403",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.003.403B","If requested authorisation type is “AP02 Invitation To Tender”, then all reported customers must have a valid sales agreement or grid agreement for the requested accounting point that fully includes the requested authorisation period.","<MSG>.AuthorisationReason = AP02 AND NOT(EXISTS(\nAGR.AgreementType = 11 AND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN AND\nCUS.CustomerID(n) = AGR.CustomerID(n) AND CUS.CustomerIdentification(n) = <MSG>.CustomerIdentification(n)  AND AGR.AgreementStartDate <= <MSG>.AgreementStartDate AND AGR.AgreementEndDate >= <MSG>.AgreementEndDate)) AND\nNOT(EXISTS(\nAGR.AgreementType = 12 AND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN AND\nCUS.CustomerID(n) = AGR.CustomerID(n) AND CUS.CustomerIdentification(n) = <MSG>.CustomerIdentification(n)  AND AGR.AgreementStartDate <= <MSG>.AgreementStartDate AND AGR.AgreementEndDate >= <MSG>.AgreementEndDate))","Dependency","N","B2B/GUI","ALL customers (n) must have a valid sales or grid agreement for the involved accounting point, with an agreement period that fully overlaps with the requested authorisation period.","Authorisation type not allowed, requested period from '<1>' to '<2>' does not match corresponding sales/grid agreements.","<1>=<MSG>.AgreementStartDate.Value\n<2>=<MSG>.AgreementEndDate.Value","DI.AGR.003","EC.AGR.403","RC.AGR.403",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","O",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.AGR.003.403C","If requested authorisation type is “AP03 Competitive Bidding”, then all reported customers must have a valid sales agreement or grid agreement for the requested accounting point that fully includes the requested authorisation period.","<MSG>.AuthorisationReason = AP03 AND NOT(EXISTS(\nAGR.AgreementType = 11 AND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN AND\nCUS.CustomerID(n) = AGR.CustomerID(n) AND CUS.CustomerIdentification(n) = <MSG>.CustomerIdentification(n)  AND AGR.AgreementStartDate <= <MSG>.AgreementStartDate AND AGR.AgreementEndDate >= <MSG>.AgreementEndDate)) AND\nNOT(EXISTS(\nAGR.AgreementType = 12 AND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN AND\nCUS.CustomerID(n) = AGR.CustomerID(n) AND CUS.CustomerIdentification(n) = <MSG>.CustomerIdentification(n)  AND AGR.AgreementStartDate <= <MSG>.AgreementStartDate AND AGR.AgreementEndDate >= <MSG>.AgreementEndDate))","Dependency","N","B2B/GUI","ALL customers (n) must have a valid sales or grid agreement for the involved accounting point, with an agreement period that fully overlaps with the requested authorisation period.","Authorisation type not allowed, requested period from '<1>' to '<2>' does not match corresponding sales/grid agreements.","<1>=<MSG>.AgreementStartDate.Value\n<2>=<MSG>.AgreementEndDate.Value","DI.AGR.003","EC.AGR.403","RC.AGR.403",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.AGR.022.404C","When an Authorisation Agreement of type Energy Reporting is requested, the reported end date of the Authorisation Agreement cannot be more than [CP_AGRCRCAUT_PERIOD_ER] days after the reported start date of the Authorisation Agreement.","<MSG>.AuthorisationReason = AP01 AND (<MSG>.AgreementEndDate - <MSG>.AgreementStartDate > [CP_AGRCRCAUT_PERIOD_ER])","Calculation","N","GUI","Authourisation period in calendar days.","Authorisation period from '<1>' to '<2>' exceeds number of '<3>' days that is allowed for authorisation reason '<4>'.","<1>=<MSG>.AgreementStartDate.Value\n<2>=<MSG>.AgreementEndDate.Value\n<3>=[CP_AGRCRCAUT_PERIOD_ER].Value\n<4>=<MSG>.AuthorisationReason.Value","DI.AGR.022","EC.AGR.404","RC.AGR.404",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.022.404D","When an Authorisation Agreement of type Competitive Bidding is requested, the reported end date of the Authorisation Agreement cannot be more than [CP_AGRCRCAUT_PERIOD_CB] days after the reported start date of the Authorisation Agreement.","<MSG>.AuthorisationReason = AP03 AND (<MSG>.AgreementEndDate - <MSG>.AgreementStartDate > [CP_AGRCRCAUT_PERIOD_CB])","Calculation","N","GUI","Authourisation period in calendar days.","Authorisation period from '<1>' to '<2>' exceeds number of '<3>' days that is allowed for authorisation reason '<4>'.","<1>=<MSG>.AgreementStartDate.Value\n<2>=<MSG>.AgreementEndDate.Value\n<3>=[CP_AGRCRCAUT_PERIOD_CB].Value\n<4>=<MSG>.AuthorisationReason.Value","DI.AGR.022","EC.AGR.404","RC.AGR.404",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.016.406B","Agreement Start Date being reported is in accordance with the business process timelines (using AGR.CRT.AUT/CRE parameters), when creating a new authorisation or updating an existing authorisation that has not started yet.","-- new authorisation (i.e. no overlap)\n(NOT(EXISTS(AGR.AgreementType =\n<MSG>.AuthorisationReason and\nAGR.AuthorisedCustomer =\n<MSG>.CustomerIdentification(n) and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand AGR.OrganisationIdentifier =\n<MSG>.OrganisationIdentifier and\nAGR.MarketRole = MSG.MarketRole and\nAGR.AgreementStatus = CFD and\nAGR.AgreementEndDate >\n<MSG>.AgreementStartDate and AGR.AgreementStartDate <\n<MSG>.AgreementEndDate))\nOR\n-- existing authorisation not started yet (i.e. with overlap)\nEXISTS(AGR.AgreementType =\n<MSG>.AuthorisationReason and\nAGR.AuthorisedCustomer =\n<MSG>.CustomerIdentification(n) and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand AGR.OrganisationIdentifier =\n<MSG>.OrganisationIdentifier and\nAGR.MarketRole = MSG.MarketRole and\nAGR.AgreementStatus = CFD and\nAGR.AgreementEndDate >\n<MSG>.AgreementStartDate and\nAGR.AgreementStartDate <\n<MSG>.AgreementEndDate and\nAGR.AgreementStartDate > datetime(Now)))\nAND\n-- check timelines\n(<MSG>.AgreementStartDate <\nToday + CP_AGRCRTAUT_MIN_PERIOD_CRE or\n<MSG>.AgreementStartDate >\nToday + CP_AGRCRTAUT_MAX_PERIOD_CRE)","Calculation","N","B2B/GUI","Authorisation cannot start in the past.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.AgreementStartDate.Value\n<2>=<MSG>.AgreementStartDate.Label\n<3>= Today +\n         CP_AGRCRTAUT_MIN_PERIOD_CRE\n<4>= Today +\n         CP_AGRCRTAUT_MAX_PERIOD_CRE","DI.AGR.016","EC.AGR.406","RC.AGR.406",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.016.406C","Agreement Start Date being reported is in accordance with the business process timelines (using AGR.CRD.AUT/CRE parameters), when creating a new authorisation or updating an existing authorisation that has not started yet.","-- new authorisation (i.e. no overlap)\n(NOT(EXISTS(AGR.AgreementType =\n<MSG>.AuthorisationReason and\nAGR.AuthorisedCustomer =\n<MSG>.CustomerIdentification(n) and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand AGR.OrganisationIdentifier =\n<MSG>.OrganisationIdentifier and\nAGR.MarketRole = MSG.MarketRole and\nAGR.AgreementStatus = CFD and\nAGR.AgreementEndDate >\n<MSG>.AgreementStartDate and AGR.AgreementStartDate <\n<MSG>.AgreementEndDate))\nOR\n-- existing authorisation not started yet (i.e. with overlap)\nEXISTS(AGR.AgreementType =\n<MSG>.AuthorisationReason and\nAGR.AuthorisedCustomer =\n<MSG>.CustomerIdentification(n) and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand AGR.OrganisationIdentifier =\n<MSG>.OrganisationIdentifier and\nAGR.MarketRole = MSG.MarketRole and\nAGR.AgreementStatus = CFD and\nAGR.AgreementEndDate >\n<MSG>.AgreementStartDate and\nAGR.AgreementStartDate <\n<MSG>.AgreementEndDate and\nAGR.AgreementStartDate > datetime(Now)))\nAND\n-- check timelines\n(<MSG>.AgreementStartDate <\nToday + CP_AGRCRDAUT_MIN_PERIOD_CRE or\n<MSG>.AgreementStartDate >\nToday + CP_AGRCRDAUT_MAX_PERIOD_CRE)","Calculation","N","B2B/GUI","Authorisation cannot start in the past.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.AgreementStartDate.Value\n<2>=<MSG>.AgreementStartDate.Label\n<3>= Today +\n         CP_AGRCRDAUT_MIN_PERIOD_CRE\n<4>= Today +\n         CP_AGRCRDAUT_MAX_PERIOD_CRE","DI.AGR.016","EC.AGR.406","RC.AGR.406",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[3,"VR.AGR.092.407","Customer Authorisation Request must have at least one CustomerID.","Not Exist (CUS(<MSG>. CustomerIdentification).CustomerID)","Obligation","N","B2B/GUI",null,"Attribute '<1>' is invalid, Customer Authorisation Request must have a CustomerID","<1>=CUS.CustomerID.label","DI.AGR.092","EC.AGR.407","RC.AGR.407",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[1,"VR.AGR.030.408A","Requested authorisation reason must match reporting organisation.","<MSG>.AuthorisationReason NOT IN {AP02, AP03, AP04, AP05}","Domain","N","B2B/GUI","DH-811 by DDQ","Invalid authorisation reason, value '<1>' does not match role '<2>' of market party '<3>' being authorised.","<1>=<MSG>.AuthorisationReason.Value\n<2>=MSG.MarketRole.Value\n<3>=<MSG>.OrganisationIdentifier.Value","DI.AGR.030","EC.AGR.408","RC.AGR.408",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.030.408D","Requested authorisation reason must match reported organisation.","(<MSG>.MarketRole = [DDQ] and <MSG>.AuthorisationReason NOT IN {AP02, AP03}) or\n(<MSG>.MarketRole = [THP] and <MSG>.AuthorisationReason NOT IN {AP01, AP03}) or\n(<MSG>.MarketRole = [DSO] and <MSG>.AuthorisationReason IN {AP01, AP02, AP03})","Domain","N","GUI","DH-820 by Customer (CAP)","Invalid authorisation reason, value '<1>' does not match role '<2>' of market party '<3>' being authorised.","<1>=<MSG>.AuthorisationReason.Value\n<2>=<MSG>.MarketRole.Value\n<3>=<MSG>.OrganisationIdentifier.Value","DI.AGR.030","EC.AGR.408","RC.AGR.408",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.005.409","Reported organisation must be a DSO, Supplier or Third Party that is active for the whole duration of the reported authorisation period.","<MSG>.MarketRole <> DSO/DDQ/THP or\nNOT(EXISTS(\nORG.OrganisationIdentifier = <MSG>.OrganisationIdentifier and\nORG.MarketRole = <MSG>.MarketRole and\nORG.Status = ACT and\nORG.ValidFromDate <= <MSG>.AgreementStartDate and ORG.ValidToDate >= <MSG>.AgreementEndDate))","Calculation","N","GUI",null,"Organisation identified by '<1>' invalid, market role '<2>' is not allowed and/or status is not active during the whole reported authorisation period (i.e. between '<3>' and '<4>').","<1>=<MSG>.OrganisationIdentifier.Value\n<2>=<MSG>.MarketRole.Value\n<3>=<MSG>.AgreementStartDate.Value\n<4>=<MSG>.AgreementEndDate.Value","DI.AGR.005","EC.AGR.409","RC.AGR.409",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.003.411A","If requested authorisation type is “AP04 Invitation To Tender” then none of the reported customers should have a valid sales agreement or grid agreement for the requested accounting point that overlaps with the requested authorisation period.","<MSG>.AuthorisationReason = AP04 AND (EXISTS(\nAGR.AgreementType = 11 AND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN AND\nCUS.CustomerID(n) = AGR.CustomerID(n) AND CUS.CustomerIdentification(n) = <MSG>.CustomerIdentification(n)  AND AGR.AgreementStartDate <= <MSG>.AgreementStartDate AND AGR.AgreementEndDate >= <MSG>.AgreementEndDate)) OR\n(EXISTS(\nAGR.AgreementType = 12 AND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN AND\nCUS.CustomerID(n) = AGR.CustomerID(n) AND CUS.CustomerIdentification(n) = <MSG>.CustomerIdentification(n)  AND AGR.AgreementStartDate <= <MSG>.AgreementStartDate AND AGR.AgreementEndDate >= <MSG>.AgreementEndDate))","Dependency","N","B2B/GUI","NONE of the customers (n) should have a valid sales or grid agreement for the involved accounting point, with an agreement period that (albeit partly) overlaps with the requested authorisation period.","Authorisation type not allowed, requested period from '<1>' to '<2>' has matching corresponding sales/grid agreements.","<1>=<MSG>.AgreementStartDate.Value\n<2>=<MSG>.AgreementEndDate.Value","DI.AGR.003","EC.AGR.411","RC.AGR.411",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","O",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.AGR.003.411B","If requested authorisation type is “AP05 Competitive Bidding”, then none of the reported customers should have a valid sales agreement or grid agreement for the requested accounting point that overlaps with the requested authorisation period.","<MSG>.AuthorisationReason = AP05 AND (EXISTS(\nAGR.AgreementType = 11 AND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN AND\nCUS.CustomerID(n) = AGR.CustomerID(n) AND CUS.CustomerIdentification(n) = <MSG>.CustomerIdentification(n)  AND AGR.AgreementStartDate <= <MSG>.AgreementStartDate AND AGR.AgreementEndDate >= <MSG>.AgreementEndDate)) OR\n(EXISTS(\nAGR.AgreementType = 12 AND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN AND\nCUS.CustomerID(n) = AGR.CustomerID(n) AND CUS.CustomerIdentification(n) = <MSG>.CustomerIdentification(n)  AND AGR.AgreementStartDate <= <MSG>.AgreementStartDate AND AGR.AgreementEndDate >= <MSG>.AgreementEndDate))","Dependency","N","B2B/GUI","NONE of the customers (n) should have a valid sales or grid agreement for the involved accounting point, with an agreement period that (albeit partly) overlaps with the requested authorisation period.","Authorisation type not allowed, requested period from '<1>' to '<2>' has matching corresponding sales/grid agreements.","<1>=<MSG>.AgreementStartDate.Value\n<2>=<MSG>.AgreementEndDate.Value","DI.AGR.003","EC.AGR.411","RC.AGR.411",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.AGR.022.412B","When an Authorisation Agreement of type Invitation to Tender is requested, the reported end date of the Authorisation Agreement cannot be more than [CP_AGRCRCAUT_PERIOD_IT] days after the reported start date of the Authorisation Agreement.","<MSG>.AuthorisationReason = AP02 AND (<MSG>.AgreementEndDate - <MSG>.AgreementStartDate > [CP_AGRCRCAUT_PERIOD_IT])","Calculation","N","GUI","Authourisation period in working days.","Authorisation period from '<1>' to '<2>' exceeds number of '<3>' working days that is allowed for authorisation reason '<4>'.","<1>=<MSG>.AgreementStartDate.Value\n<2>=<MSG>.AgreementEndDate.Value\n<3>=[CP_AGRCRCAUT_PERIOD_IT].Value\n<4>=<MSG>.AuthorisationReason.Value","DI.AGR.022","EC.AGR.412","RC.AGR.412",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[3,"VR.AGR.016.413","If the requested Agreement End Date is equal to the requested Agreement Start Date, then the requested Agreement Start Date must be equal to the registered Agreement Start Date for an existing/overlapping Authorisation Agreement (that is to be cancelled).","<MSG>.AgreementEndDate = <MSG>.AgreementStartDate and\nNOT(EXISTS(\nAGR.AgreementType = <MSG>.AuthorisationReason and\nAGR.AuthorisedCustomer = <MSG>.CustomerIdentification(n) and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand AGR.OrganisationIdentifier = <MSG>.OrganisationIdentifier and\nAGR.MarketRole = MSG.MarketRole and\nAGR.AgreementStatus = CFD and\nAGR.AgreementStartDate = <MSG>.AgreementStartDate))\n","Dependency","N","B2B/GUI","Only an existing authorisation can be cancelled, by setting its end date equal to its start date.\nCheck separately for each reported customer.","Authorisation with reason '<1>' for customer '<2>' cannot be cancelled, there is no registration that matches the reported attribute '<3>' with value '<4>'.","<1>=<MSG>.AuthorisationReason.Value\n<2>=<MSG>.CustomerIdentification(n).Value\n<3>=<MSG>.AgreementStartDate.Label\n<4>=<MSG>.AgreementStartDate.Value","DI.AGR.016","EC.AGR.413","RC.AGR.413",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[{"$f":"EE490","v":1},"VR.AGR.017.414B","The reported Agreement End Date must be a valid date (implicitly, time is local midnight).","dateformat(<MSG>.AgreementEndDate) <>\n'YYYY-MM-DD')","Format","N","FILE","Must be an existing date, e.g. '2020-02-30' is invalid.","Attribute '<1>' invalid, value '<2>' must be a valid date.","<1>=<MSG>.AgreementEndDate.Label\n<2>=<MSG>.AgreementEndDate.Value","DI.AGR.017","EC.AGR.414","RC.AGR.414",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE491","v":1},"VR.AGR.016.415","If an overlapping Authorisation Agreement already exists (i.e. with status Confirmed) for the reported Market Participant, then the reported Agreement Start Date must be the same as the registered Agreement Start Date.","EXISTS(\nAGR.OrganisationIdentifier = <MSG>.MarketPartyID and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\n((MPT.MeteringPointType = EXP and AGR.AgreementType = EP01) or (MPT.MeteringPointType = PRU and AGR.AgreementType = PU01)) and AGR.AgreementStatus = CFD and\nAGR.AgreementEndDate > <MSG>.AgreementStartDate and AGR.AgreementStartDate < <MSG>.AgreementEndDate) and <MSG>.AgreementStartDate <> AGR.AgreementStartDate","Dependency","N","FILE","Existing authorisation to be checked must be Confirmed.\nOverlap means reported start/end dates can neither be both before existing start date nor be both after existing end date.\nStart date of existing authorisation cannot be changed.","Reported attribute '<1>' with value '<2>' must be same as registered attribute '<3>' with value '<4>'.","<1>=<MSG>.AgreementStartDate.Label\n<2>=<MSG>.AgreementStartDate.Value\n<3>=AGR.AgreementStartDate.Label\n<4>=AGR.AgreementStartDate.Value","DI.AGR.016","EC.AGR.415","RC.AGR.415",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.017.417B","When reporting an Authorisation of Metering Point, the reported Agreement End Date is in accordance with the business process timelines (i.e. using applicable RVK configuration parameters).","TRH.InternalTransactionType = [AGA.BLK.MPT] and (<MSG>.AgreementEndDate <\nNow + CP_AGABLKMPT_MIN_PERIOD_RVK or <MSG>.AgreementEndDate >\nNow + CP_AGABLKMPT_MAX_PERIOD_RVK)","Calculation","N","FILE","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for RVK variant of AGA.BLK.MPT process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>').","<1>=<MSG>.AgreementEndDate.Value\n<2>=<MSG>.AgreementEndDate.Label\n<3>= Now+CP_AGABLKMPT_MIN_PERIOD_RVK\n<4>= Now+CP_AGABLKMPT_MAX_PERIOD_RVK","DI.AGR.017","EC.AGR.417","RC.AGR.417",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE495","v":1},"VR.AGR.005.418","The reported combination of Organisation Identifier and Market Role must identify an Organisation that is active for the whole duration of the reported authorisation period.","NOT(EXISTS(\nORG.OrganisationIdentifier = <MSG>.OrganisationIdentifier and\nORG.MarketRole = <MSG>.MarketRole and\nORG.Status = ACT and\nORG.ValidFromDate <= <MSG>.AgreementStartDate and ORG.ValidToDate >= <MSG>.AgreementEndDate))","Reference","N","FILE","Note that the organisation involved must be checked against the MHB subsystem in CMS.","Organisation identified by '<1>' with market role '<2>' invalid, status is not active during the whole reported authorisation period (i.e. between '<3>' and '<4>').","<1>=<MSG>.OrganisationIdentifier.Value\n<2>=<MSG>.MarketRole.Value\n<3>=<MSG>.AgreementStartDate.Value\n<4>=<MSG>.AgreementEndDate.Value","DI.AGR.005","EC.AGR.418","RC.AGR.418",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE497","v":3},"VR.AGR.034.419","The requested Authorisation Agreement cannot overlap with multiple (i.e. more than one) existing Authorisation Agreements that have the same authorisation reason and customer.","COUNT(EXISTS(\nAGR.AgreementType = <MSG>.AuthorisationReason and AGR.AuthorisedCustomer = <MSG>.CustomerIdentification(n) and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand AGR.OrganisationIdentifier = <MSG>.OrganisationIdentifier and\nAGR.MarketRole = MSG.MarketRole and\nAGR.AgreementStatus = CFD and\nAGR.AgreementEndDate > <MSG>.AgreementStartDate and AGR.AgreementStartDate < <MSG>.AgreementEndDate)) > 1","Dependency","N","B2B/GUI","Check separately for each reported customer.","Reported authorisation for customer '<1>' invalid, there is overlap with another registered customer authorisation that has the same type/reason '<2>'.","<1>=<MSG>.CustomerIdentification(n).Value\n<2>=<MSG>.AuthorisationReason.Value","DI.AGR.034","EC.AGR.419","RC.AGR.419",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[{"$f":"EE498","v":1},"VR.AGR.034.419A","The requested Authorisation Agreement cannot overlap with multiple (i.e. more than one) existing Authorisation Agreements that have the same authorisation reason and customer.","COUNT(EXISTS(\nAGR.AgreementType = <MSG>.AuthorisationReason and AGR.AuthorisedCustomer = <MSG>.CustomerIdentification and\nAGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nand AGR.OrganisationIdentifier = <MSG>.OrganisationIdentifier and\nAGR.MarketRole = <MSG>.MarketRole and\nAGR.AgreementStatus = CFD and\nAGR.AgreementEndDate > <MSG>.AgreementStartDate and AGR.AgreementStartDate < <MSG>.AgreementEndDate)) > 1","Dependency","N","GUI","Check for reported customer.","Reported authorisation for customer '<1>' invalid, there is overlap with another registered customer authorisation that has the same type/reason '<2>'.","<1>=<MSG>.CustomerIdentification.Value\n<2>=<MSG>.AuthorisationReason.Value","DI.AGR.034","EC.AGR.419","RC.AGR.419",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE501","v":1},"VR.AGR.017.421A","Agreement End Date being reported is in accordance with the business process timelines (using AGR.CRS.AUT/END parameters).","<MSG>.AgreementEndDate <\nToday + CP_AGRCRSAUT_MIN_PERIOD_END","Calculation","N","B2B/GUI","Authorisation cannot end in the past.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. after '<3>')","<1>=<MSG>.AgreementEndDate.Value\n<2>=<MSG>.AgreementEndDate.Label\n<3>= Today +\n         CP_AGRCRSAUT_MIN_PERIOD_END","DI.AGR.017","EC.AGR.421","RC.AGR.421",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.AGR.017.421B","Agreement End Date being reported is in accordance with the business process timelines (using AGR.CRT.AUT/END parameters).","<MSG>.AgreementEndDate <\nToday + CP_AGRCRTAUT_MIN_PERIOD_END","Calculation","N","B2B/GUI","Authorisation cannot end in the past.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. after '<3>')","<1>=<MSG>.AgreementEndDate.Value\n<2>=<MSG>.AgreementEndDate.Label\n<3>= Today +\n         CP_AGRCRTAUT_MIN_PERIOD_END","DI.AGR.017","EC.AGR.421","RC.AGR.421",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"Customers",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE506","v":1},"VR.CUS.003.100","Sales Agreement must have at least one customer.","COUNT(<MSG>.CustomerIdentification) = 0","Calculation","N","B2B/GUI","Agreement cannot exist without one or more customers.","Agreement '<1>' cannot exist without customers.","<1>=<MSG>.AgreementIdentification.Value","DI.CUS.003","EC.CUS.100","RC.CUS.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G506,\"State*\")+COUNTIF(N506:ED506,\"X*\")+COUNTIF(N506:ED506,\"T*\")","v":1}]
[3,"VR.CUS.032.102","Family name is mandatory if customer type is \"Consumer\".","<MSG>.[CUS]FamilyName = null and\n<MSG>.CustomerType = AB02","Obligation","N","B2B/GUI",null,"Mandatory field '<1>' is missing, must be submitted when customer type is '<2>'.","<1>=CUS.FamilyName.Label\n<2>=<MSG>.CustomerType.Value","DI.CUS.032","EC.CUS.102","RC.CUS.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,3]
[5,"VR.CUS.033.103","If customer identification type is \"Party´s own identification\" and the customer type is \"Consumer\", then date of birth is mandatory.","<MSG>.DateOfBirth = null and\n<MSG>.CustomerIdentificationType = AA04 and\n<MSG>.CustomerType = AB02 and\n<MSG>.PartyOwnCustomerIdentification = null","Obligation","N","B2B/GUI",null,"Mandatory field '<1>' is missing, must be submitted when customer type is '<2>' and customer identification type is '<3>'.","<1>=CUS.DateOfBirth.Label\n<2>=CUS.CustomerType.Value\n<3>=CUS.CustomerIdentificationType.Value","DI.CUS.033","EC.CUS.103","RC.CUS.103",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,5]
[1,"VR.CUS.033.106A","If date of birth has been submitted, then the Consumer must be 18+ years old (on submission date).","<MSG>.DateOfBirth <> null and\nYEARS(Today - <MSG>.DateOfBirth) < 18","Calculation","N","B2B/GUI","Customer cannot be under age when concluding a contract. Check for each submitted customer!","Attribute '<1>' with value '<2>' invalid, customer cannot be under age.","<1>=CUS.DateOfBirth.Label\n<2>=CUS.DateOfBirth.Value","DI.CUS.033","EC.CUS.106","RC.CUS.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CUS.033.106B","If 'personal identity number' has been submitted, then the Consumer must be 18+ years old (on submission date).","<MSG>.CustomerIdentificationType = AA03 and\nYEARS(Today - <MSG>.CustomerIdentification.ddmmyy) < 18","Calculation","N","B2B/GUI","- Personal identity number has format ddmmyyXnnnY,    ddmmyy is the date-month-year of the date of birth, X contains value - (meaning 1900s), value + (meaning 1800s), and value A (meaning 2000s)\n- Customer cannot be under age when concluding a contract. Check for each submitted customer!","Attribute '<1>' with value '<2>' invalid, customer cannot be under age.","<1>=CUS.CustomerIdentification.Label\n<2>=CUS.CustomerIdentification.Value","DI.CUS.033","EC.CUS.106","RC.CUS.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[4,"VR.CUS.010.110","Party's own customer identification is only allowed in the request when Identification Type changes from \"Party’s own identification\" to \"Personal identity number\" or to \"Business ID\".","(CUS.CustomerIdentificationType <> AA04 or \n<MSG>.CustomerIdentificationType <> AA01/AA03)\nAND <MSG>.PartyOwnCustomerIdentification <> null","Obligation","N","B2B/GUI","Check for each submitted customer!","Attribute '<1>' is not allowed when new Attribute '<2>' is \"<3>\" and the existing Attribute '<4>' is '<5>' ","<1>= <MSG>.PartyOwnCustomerIdentification.Label\n<2>= <MSG>.CustomerIdentificationType.Label\n<3>= <MSG>.CustomerIdentificationType.Value\n<4>=CUS.CustomerIdentificationType.Label\n<5>=CUS.CustomerIdentificationType.Value","DI.CUS.010","EC.CUS.110","RC.CUS.110",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,4]
[1,"VR.CUS.003.111","Every reported Customer has a valid Sales or Grid Agreement on submitted Start of Occurence regarding the Accounting Point involved.","NOT EXIST(<MSG>.MeteringPointEAN = AGR.MeteringPointEAN and \nAGR.AgreementType = 11/12 and AGR.ValidFromDate <= <MSG>.StartOfOccurence < AGR.ValidToDate and \nAGR.AgreementStartDate <= <MSG>.StartOfOccurence < AGR.AgreementEndDate and \nAGR.CustomerID = CUS.CustomerID and CUS.CustomerIdentification = <MSG>.CustomerIdentification)","Reference","Y","B2B","Valid sales or grid agreement needs to exist for every customer from the request.","Not all requested customers have a valid sales or grid agreement on '<1>' regarding the requested accounting point '<2>'.","<1>=<MSG>.StartOfOccurence.Value\n<2>=<MSG>.MeteringPointEAN.Value","DI.CUS.003","EC.CUS.111","RC.CUS.111",null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CUS.005.112B","Start of Occurrence is in accordance with the business process timelines (using CUS.UPD parameters)","<MSG>.StartOfOccurrence <\nToday + CP_CUSUPD_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_CUSUPD_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for CUS.UPD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_CUSUPD_MIN_PERIOD\n<4>= Today+CP_CUSUPD_MAX_PERIOD","DI.CUS.005","EC.CUS.112","RC.CUS.112",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CUS.005.112C","Start of Occurrence is in accordance with the business process timelines (using CUS.UPT parameters)","<MSG>.StartOfOccurrence <\nToday + CP_CUSUPT_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_CUSUPT_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for CUS.UPT process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_CUSUPT_MIN_PERIOD\n<4>= Today+CP_CUSUPT_MAX_PERIOD","DI.CUS.005","EC.CUS.112","RC.CUS.112",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE523","v":1},"VR.CUS.003.113C","The reported Customer in the message is already registered in Datahub ","NOT(EXISTS(\nCUS.CustomerIdentification = <MSG>.CustomerIdentification and\nCUS.RetiredTimestamp = null))","Domain","N","GUI","The reported Customer (n) must exist in Datahub.","Attribute '<1>' with value '<2>' is not registered in Datahub. ","<1> = <MSG>.CustomerIdentfication.Label\n<2> = <MSG>.CustomerIdentification.Value","DI.CUS.003","EC.CUS.113","RC.CUS.113",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[4,"VR.CUS.003.114","All customers of an agreement must have different customer identifications.","COUNT(<MSG>.CustomerIdentification) <> COUNT(DISTINCT <MSG>.CustomerIdentification)","Calculation","N","B2B/GUI","Duplicate customers are not allowed.","Agreement for accounting point '<1>' cannot exist with duplicate customer identifications.","<1>=<MSG>.MeteringPointEAN.Value","DI.CUS.003","EC.CUS.114","RC.CUS.114",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[5,"VR.CUS.011.118","Customer Type must not be changed.","EXIST(CUS.CustomerIdentification = <MSG>.CustomerIdentification and <MSG>.CustomerType <> CUS.CustomerType)","Obligation","N","B2B/GUI","Must be checked for each reported customer.","Attribute '<1>' cannot be changed. ","<1> = <MSG>.CustomerType.Label","DI.CUS.011","EC.CUS.118","RC.CUS.118",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,5]
[6,"VR.CUS.003.119","If ‘personal identity number’ is submitted, the value must comply with the legal registration format.","<MSG>.CustomerIdentificationType = AA03 and <MSG>.CustomerIdentification <> ddmmyyGnnnZ","Format","N","B2B/GUI","Format: 'ddmmyyGnnnZ', where: ddmmyy = birth date (e.g.170391);\nif born in the 21th century then G = \nA B C D E F H J K L M (no spaces);\nif born in the 20th century then G = \n- N P R S T U V W X Y (no spaces);\nif born in the 19th century then G =\n+;\nnnn = numerical value (between 002 to 899);\nZ = A-Z, 0-9 (only capital letters and digits, based on calculation https://dvv.fi/en/personal-identity-code).\nNote that the century cannot be determined from the birth year (which has only 2 digits), so all signs/characters listed for G must be accepted without restrictions.","Attribute '<1>' invalid, value '<2>' is incorrect. ","<1> = <MSG>.CustomerIdentification.Label\n<2> = <MSG>.CustomerIdentification.Value","DI.CUS.003","EC.CUS.119","RC.CUS.119",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,6]
[1,"VR.CUS.003.120B","If DSO update is response to (notification received upon) request from THP, then Customer has currently a running Update process awaiting a response. ","<MSG>.OriginalMessageID <> null and\nNOT(EXISTS(TDS(#6).StepStatus = LKD and\nTDS(#6).StepType = CUS.UPD.REQ\nTDC.BTDCoreID = TDS(#6).BTDCoreID\nTDC.TransactionType = CUS.UPT and\nBSA[CustomerIdentification].AttributeValue = <MSG>.CustomerIdentification and TDS(#5).BTDCoreID = TDC.BTDCoreID and\nTDS(#5).ExternalMessageID = <MSG>.OriginalMessageID))","Reference","N","B2B/GUI","Check BTD if a update process exists (from THP) for same customer that indeed awaits response (from DSO","Update response on Customer'<1>' not allowed when not being awaited.","<1>=<MSG>.CustomerIdentification.Value","DI.CUS.003","EC.CUS.120","RC.CUS.120",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CUS.011.121A","If customer type of all customers involved is ‘Company’, then there must be at least one Contact Person reported.","COUNT(<MSG(n)>.CustomerType = AB01) =\nCOUNT(<MSG(n)>.CustomerIdentification) and\nCOUNT(<MSG(n)>.ContactPersonType <> null) = 0","Reference","Y","B2B/GUI","Check if all customers have been submitted as a Company customer .","Contact person must exist when all attributes '<1>' have value '<2>'. ","<1>=<MSG(n)>.CustomerType.Lable\n<2>=<MSG(n)>.CustomerType.Value\nAny submitted customer (n) can be used.","DI.CUS.011","EC.CUS.121","RC.CUS.121",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CUS.032.122C","If customer type is “Consumer” and  type of Customer Identification is \"Party's own identification\", then Family Name must be submitted.","<MSG>.FamilyName = null and\n<MSG>.CustomerType = AB02 and\n<MSG>.CustomerIdentificationType = AA04","Obligation","N","B2B/GUI","Check is done for each Customer reported.","Mandatory field '<1>' is missing, must be submitted when customer identification type is '<2>'.","<1>=<MSG>.FamilyName.Label\n<2>=<MSG>.CustomerIdentificationType.Value","DI.CUS.032","EC.CUS.122","RC.CUS.122",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CUS.033.122D","If customer type is “Consumer” and  type of Customer Identification is \"Party's own identification\", then Date of Birth must be submitted.","<MSG>.DateOfBirth = null and\n<MSG>.CustomerType = AB02 and\n<MSG>.CustomerIdentificationType = AA04","Obligation","N","B2B/GUI","Check is done for each Customer reported.","Mandatory field '<1>' is missing, must be submitted when customer identification type is '<2>'.","<1>=<MSG>.DateOfBirth.Label\n<2>=<MSG>.CustomerIdentificationType.Value","DI.CUS.033","EC.CUS.122","RC.CUS.122",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CUS.003.131","At least one reported Customer has a valid confirmed Sales or Grid Agreement regarding the Accounting Point involved (on submitted End of Occurrence).","NOT EXIST(<MSG>.MeteringPointEAN = AGR.MeteringPointEAN and \nAGR.AgreementType = 11/12 and AGR.ValidFromDate <= <MSG>.EndOfOccurence < AGR.ValidToDate and \nAGR.AgreementStartDate <= <MSG>.EndOfOccurence < AGR.AgreementEndDate and \nAGR.CustomerID = CUS.CustomerID and ((CUS.CustomerIdentification <> null and CUS.CustomerIdentification = <MSG>.CustomerIdentification) or\n(CUS.CustomerIdentification = null and <MSG>.CustomerType = 'AB01' and CUS.CompanyName = <MSG>.CompanyName) or\n(CUS.CustomerIdentification = null <MSG>.CustomerType = 'AB02' and CUS.GivenName = <MSG>.GivenName and CUS.FamilyName = <MSG>.FamilyName and\nCUS.DateOfBirth = <MSG>.DateOfBirth)))","Reference","Y","B2B/GUI","Valid sales or grid agreement needs to exist for at least one  customer from the request.\nEach single Customer in the request message should be identified uniquely, based on CustomerIdentification or CompanyName or the combination of GivenName, FamilyName and DateOfBirth.","Not a single requested customer has a valid sales or grid agreement on '<1>' regarding the requested accounting point '<2>'.","<1>=<MSG>.EndOfOccurence.Value\n<2>=<MSG>.MeteringPointEAN.Value","DI.CUS.003","EC.CUS.131","RC.CUS.131",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G538,\"State*\")+COUNTIF(N538:ED538,\"X*\")+COUNTIF(N538:ED538,\"T*\")","v":1}]
[1,"VR.CUS.003.132","The reported 'old' Customer in the message is already registered in Datahub (i.e. exists as active and not forgotten)","NOT(EXISTS(\nCUS.CustomerIdentification =\n<MSG>.PartyOwnCustomerIdentification and (CUS.IsActive = 1 and CUS.IsForgotten = 0) and\nCUS.RetiredTimestamp = null and\nCUS.ValidFromDate <= <MSG>.StartOfOccurrence and\nCUS.ValidToDate > <MSG>.StartOfOccurrence\n))","Domain","N","GUI","The reported Customer must exist in Datahub.\nThe reported Customer cannot be inactive or forgotten.","'Old' Customer with Customer Identification '<1>' is not registered or active in Datahub. ","<1> = <MSG>.PartyOwnCustomerIdentification.Value","DI.CUS.003","EC.CUS.132","RC.CUS.132",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE541","v":3},"VR.CUS.011.135","If not submitted by the Market Operator, then the reported customer has customer type \"Company\".","ORG(MSH.PhysicalSenderID).MarketRole <> MOP and\nCOUNT(CUS.CustomerType = AB02) > 0 AND\nCUS.CustomerIdentifcation = <MSG>.CustomerIdentification","Dependency","Y","B2B/GUI","Check for each submitted customer!","Attribute '<1>' invalid, value '<2>' does not match customer type.","<1>=<MSG>.CustomerIdentification.Label\n<2>=<MSG>.CustomerIdentification.Value","DI.CUS.011","EC.CUS.135","RC.CUS.135",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[{"$f":"EE542","v":1},"VR.CUS.002.136","Customer can only be forgotten when customer is not linked to any valid/confirmed agreement (on/after the reported Start of Occurrence).","EXISTS( AGR.CustomerID = CUS(<MSG>.CustomerIdentification).CustomerID and AGR.AgreementStatus = CFD and ((AGR.AgreementStartDate <= <MSG>.StartOfOccurrence and\nAGR.AgreementEndDate > <MSG>.StartOfOccurrence) or AGR.AgreementStartDate > <MSG>.StartOfOccurrence))","Dependency","N","GUI","For any valid agreement (current & future). ","Customer '<1>' not allowed, there still exists a valid agreement on/after date '<2>'. ","<1>=<MSG>.CustomerIdentification.Value\n<2>=<MSG>.StartOfOccurrence.Value","DI.CUS.002","EC.CUS.136","RC.CUS.136",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE545","v":4},"VR.CUS.017.139","Reported customer must not be marked as ‘Private’ during reported authorisation period.","EXISTS(\nCUS.CustomerIdentification = <MSG>.CustomerIdentification and\nCUS.IsActive = 1 and \nCUS.IsInformationRestricted = 1 and\nCUS.ValidToDate >\n<MSG>.AgreementStartDate and CUS.ValidFromDate <\n<MSG>.AgreementEndDate)","Dependency","Y","GUI",null,"Customer '<1>' not allowed as it is registered as private during the reported period starting at '<2>' and ending at '<3>'.","<1>=<MSG>.CustomerIdentification.Value\n<2>=<MSG>.AgreementStartDate.Value\n<3>=<MSG>.AgreementEndDate.Value","DI.CUS.017","EC.CUS.139","RC.CUS.139",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[{"$f":"EE546","v":1},"VR.CUS.003.140A","The ‘source’ Customer Identification Type must be ‘Party's own Identification (‘AA04’).","NOT(EXISTS(\nCUS.CustomerIdentification = <MSG>.PartyOwnCustomerIdentification and\nCUS.CustomerIdentificationType = AA04\n))\n","Dependency","Y","GUI","Customer Identification Type of source Customer must be:\n'Party's Own Identification'.","Customer ('<1>') with identification '<2>' cannot be merged, attribute '<3>' with registered value '<4>' invalid.","<1>=[source]\n<2>=<MSG>.PartyOwnCustomerIdentification.Value\n<3>=CUS.CustomerIdentificationType.Label\n<4>=CUS.CustomerIdentificationType.Value","DI.CUS.003","EC.CUS.140","RC.CUS.140",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CUS.011.141B","The ‘target’ Customer must be a Consumer (Customer Type ‘AB02’).","COUNT(<MSG>.CustomerIdentification = CUS.CustomerIdentification and\nCUS.CutomerType = 'AB02') <> 1","Dependency","Y","GUI","Target Customer must be a Consumer.","The ‘<1>’ Customer ('<2>') must be a Consumer (Customer Type ‘AB02’).","<1>='target'\n<2>=<MSG>.CustomerIdentification.Value","DI.CUS.011","EC.CUS.141","RC.CUS.141",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CUS.018.142A","The ‘source’ Customer must be an active Customer (is Active = 1).","COUNT(<MSG>.PartyOwnCustomerIdentification = CUS.CustomerIdentification and\nCUST.IsActive = 1) <> 1","Dependency","Y","GUI","Source Customer must be active.","The ‘<1>’ Customer ('<2>') must be an active Customer (Is Active = 1).","<1>='source'\n<2>=<MSG>.PartyOwnCustomerIdentification.Value","DI.CUS.018","EC.CUS.142","RC.CUS.142",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CUS.017.143","When information classification of ‘source’ consumer Customer Identification is set to ‘Private’, then information classification of ‘target’ consumer Customer Identification must also be ‘Private’.","EXISTS((<MSG>.CustomerType == AB02) and (CUS1.CustomerIdentification = <MSG>.PartyOwnCustomerIdentification) \n  and (CUS1.IsInformationRetricted = TRUE)\n)\nand \n(\n      (CUS2.CustomerIdentification = <MSG>.CustomerIdentification\n  and (CUS2.IsInformationRetricted = FALSE)\n)","Dependency","Y","GUI",null,"Information classification of 'source' customer with Party own identifier '<1>' is 'Privat', therefore information classification of target customer with Personel Identity Number '<2>' must also be 'Private'.","<1>=<MSG>.PartyOwnCustomerIdentification.Value\n<2>=<MSG>.CustomerIdentification.Value","DI-CUS.017","EC.CUS-143","RC.CUS.143",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[4,"VR.CUS.017.144","Only if submitted by the Market Operator, then the reported Customer can be changed from “Private” to “Non-Private”.","ORG(MSH.PhysicalSenderID).MarketRole <> MOP and <MSG>.IsInformationRestricted = 0 and\nEXISTS(\nCUS.CustomerIdentification = <MSG>.CustomerIdentification and\nCUS.IsActive = 1 and \nCUS.IsInformationRestricted = 1 and\nCUS.ValidFromDate <= <MSG>.StartOfOccurrence and CUS.ValidToDate > <MSG>.StartOfOccurrence)","Dependency","Y","B2B/GUI",null,"Customer '<1>' is already marked as Private on date '<2>' and cannot be changed to Non-Private.","<1>=<MSG>.CustomerIdentification.Value\n<2>=<MSG>.StartOfOccurrence.Value","DI.CUS.017","EC.CUS.144","RC.CUS.144",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,4]
[5,"VR.CUS.032.145A","Family name is not allowed if customer type is \"Company\".","<MSG>.[CUS]FamilyName <> null and\n<MSG>.CustomerType = AB01","Obligation","N","B2B",null,"Field '<1>' is not allowed when customer type is '<2>'.","<1>=CUS.FamilyName.Label\n<2>=<MSG>.CustomerType.Value","DI.CUS.050","EC.CUS.145","RC.CUS.145",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[{"$f":"EE557","v":5},"VR.CUS.033.145A","Date of Birth is not allowed if customer type is \"Company\".","<MSG>.[CUS]DateOfBirth  <> null and\n<MSG>.CustomerType = AB01","Obligation","N","B2B",null,"Field '<1>' is not allowed when customer type is '<2>'.","<1>=CUS.DateOfBirth.Label\n<2>=<MSG>.CustomerType.Value","DI.CUS.050","EC.CUS.145","RC.CUS.145",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[5,"VR.CUS.031.145B","Middle names is not allowed if customer type is \"Company\".","<MSG>.[CUS]MiddleNames <> \"\" and\n<MSG>.CustomerType = AB01","Obligation","N","GUI",null,"Field '<1>' is not allowed when customer type is '<2>'.","<1>=CUS.MiddleNames.Label\n<2>=<MSG>.CustomerType.Value","DI.CUS.050","EC.CUS.145","RC.CUS.145",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[5,"VR.CUS.032.145B","Family name is not allowed if customer type is \"Company\".","<MSG>.[CUS]FamilyName <> \"\" and\n<MSG>.CustomerType = AB01","Obligation","N","GUI",null,"Field '<1>' is not allowed when customer type is '<2>'.","<1>=CUS.FamilyName.Label\n<2>=<MSG>.CustomerType.Value","DI.CUS.050","EC.CUS.145","RC.CUS.145",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[5,"VR.CUS.050.146B","Company name is not allowed if customer type is \"Consumer\".","<MSG>.CompanyName <> \"\" and\n<MSG>.CustomerType = AB02","Obligation","N","GUI",null,"Field '<1>' is not allowed when customer type is '<2>'.","<1>=CUS.CompanyName.Label\n<2>=<MSG>.CustomerType.Value","DI.CUS.050","EC.CUS.146","RC.CUS.146",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[{"$f":"EE564","v":2},"VR.CUS.003.147","Customer update  is only allowed when there are changes.","<MSG>.CUSTOMER <> [CUS].CUSTOMER or <MSG>.CUSPSTADDR <> [CPA].CUSPSTADDR","Obligation","N","GUI","Unless it is a response to forwarded DH-113 request.","Customer update  is only allowed when there are changes.","n/a","DI.CUS.003","EC.CUS.147","RC.CUS.147",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[4,"VR.CUS.031.149","Customer middle name must not contain numbers","<MSG>.MiddleName does contain numbers","Obligation","N","B2B/GUI",null,"Field '<1>' does not allow numbers","<1>=CUS.MiddleName.Label","DI.CUS.031","EC.CUS.149","RC.CUS.149",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[4,"VR.CUS.032.149","Customer family name must not contain numbers","<MSG>.FamilyName does contain numbers","Obligation","N","B2B/GUI",null,"Field '<1>' does not allow numbers","<1>=CUS.Family.Label","DI.CUS.032","EC.CUS.149","RC.CUS.149",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[4,"VR.CUS.032.150","The first letter of single-part (i.e. family name that does not include hyphen (-) or whitespace) family name is written in upper case and letters after that with lower case.","(<MSG>.FamilyName does not contain hyphen (-) or whitespace (' ')) and (first letter of <MSG>.FamilyName is lower case or any letter other than the first is upper case )","Obligation","N","B2B/GUI",null,"Field '<1>' first letter should be upper case","<1>=CUS.FamilyName.Label","DI.CUS.032","EC.CUS.150","RC.CUS.150",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[1,"VR.CUS.003.151","If party’s own identification is used in customer identification field, the identification should have the correct format: <supplier's identification>_<customer number>.","<MSG>.CustomerIdentificationType = 'AA04' and  <MSG>.CustomerIdentification does not contain <MSG>.JuridicalSender","Obligation","N","B2B/GUI","<MSG>.JuridicalSender contains the identifier of the notifying supplier","Customer identification format incorrect <1>, correct format is SupplierID_Customer number (<2>_'Customer number').","<1>=<MSG>.CustomerIdentification <2>=<MSG>.JuridicalSender","DI.CUS.003","EC.CUS.151","RC.CUS.151",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE574","v":1},"VR.CUS.011.153"," If the ´source’ Customer is a 'Consumer', the ‘target’ Customer is also 'Consumer' or if the ‘source’ Customer is a 'Company', the ‘target’ Customer is also 'Company'.","<MSG>.PartyOwnCustomerIdentification = CUSSource.CustomerIdentification\nand\n<MSG>.CustomerIdentification = CUSTarget.CustomerIdentification and\nand\nCUSSource.CustomerType <> CUSTarget.CustomerType","Dependency","Y","GUI",null,"Customer ('<1>') with identification '<2>' cannot be merged. Source customer type must be the same as the target customer type. ","<1>=[target]\n<2>=<MSG>.CustomerIdentification.Value","DI.CUS.011","EC.CUS.153","RC.CUS.153",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"Customer Postal Addresses","MSG>.FamilyName first letter is not uppercase",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[5,"VR.CPA.015.102","Post Office (City Name) must match official post offices by Posti (if Finnish address).","<MSG>.[CPA]Country = FI and\n<MSG>.[CPA]PostOffice not in {Post Offices by Posti}","Domain","N","B2B/GUI","Only (case sensitive) values as predefined by Posti are valid.","Attribute '<1>' invalid, value '<2>' must comply with the official post offices by Posti","<1>=CPA.PostOffice.Label\n<2>=<MSG>.[CPA]PostOffice.Value","DI.CPA.015","EC.CPA.102","RC.CPA.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[5,"VR.CPA.015.103","Post Office (City Name) must match the Postal Code (if Finnish address).","<MSG>.[CPA]Country = FI and\n(<MSG>.[CPA]PostOffice / <MSG>.[CPA]PostalCode) does not match ({Postal Codes / Post Offices by Posti})","Reference","N","B2B/GUI","Only (case sensitive) combinations as predefined by Posti are valid.","Attribute '<1>' invalid, value '<2>' does not match the attribute '<3>' value '<4>'. ","<1>=CPA.PostOffice.Label\n<2>=<MSG>.[CPA]PostOffice.Value\n<3>=CPA.PostalCode.Label\n<4>=<MSG>.[CPA]PostalCode.Value","DI.CPA.015","EC.CPA.103","RC.CPA.103",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[5,"VR.CPA.018.106","Postal address information may not contain both a PO box and a street address (street name, building number, stairwell identification or apartment). If any data needs to be removed from customer information, the field in question will be sent empty.","<MSG>.[CPA]POBox <> null and (<MSG>.[CPA]StreetName <> null or <MSG>.[CPA]BuildingNumber <> null or <MSG>.[CPA]StairwellIdentification <> null or <MSG>.[CPA]Apartment <> null)","Dependency","N","B2B/GUI",null,"Attribute '<1>' should be empty when one of the street address attributes ('<2>', '<3>', '<4>', '<5>') is filled or vice versa. ","<1>=<MSG>.POBox.Lable\n<2>=<MSG>.StreetName.Lable\n<3>=<MSG>.BuildingNumber.Lable\n<4>=<MSG>.StairwellIdentification.Lable\n<5>=<MSG>.Apartment.Lable","DI.CPA.018","EC.CPA.106","RC.CPA.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[5,"VR.CPA.010.107","Postal address Street name must not end with a number, if the address is in Finland. ","<MSG>.[CPA]Country = FI and\n<MSG>.[CPA]StreetName ends with a number","Dependency","N","B2B/GUI",null,"<1>' must not end with a number, when it is a Finnish address.","<1>=<MSG>.StreetName.Lable","DI.CPA.010","EC.CPA.107","RC.CPA.107",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[5,"VR.CPA.012.109","Postal address Stairwell: no spaces are allowed. If one of the following strings: \"as\", \"as.\", \"bst\" or \"bst.\", only lowercase letters are allowed. If only one letter and in Finland, this must be uppercase.","<MSG>.[PIA]StairwellIdentification is one of: \"as\", \"as.\", \"bst\" or \"bst.\" and is written with an uppercase or has spaces or\n(<MSG>.[PIA]Country = FI and \n<MSG>.[PIA]StairwellIdentification is a single letter that is a lowercase)","Dependency","N","B2B/GUI",null,"Attribute '<1>' can not have spaces. If it is one of the following: \"as\", \"as.\", \"bst\" or \"bst.\", all letters must be lowercase. If only one number and in Finland, this must be uppercase.","<1>=<MSG>.StairwellIdentification.Lable","DI.CPA.012","EC.CPA.109","RC.CPA.109",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[5,"VR.CPA.013.110","Postal address Apartment field: spaces are not allowed, uppercases are not allowed and other special characters than dot (.), hyphen (-) and slash (/) are not allowed. Only special character is not allowed. This applies to addresses in Finland.","<MSG>.[CPA]Country = FI and\n<MSG>.[CPA].Apartment has a space, uppercases or special characters other than dot (.), hyphen (-) and slash (/) or consists only of special characters","Dependency","N","B2B/GUI",null,"For addresses in Finland, attribute '<1>' can only have lowercase characters. Spaces and special characters other than dot (.), hyphen (-) and slash (/) are not allowed. Only special character is also not allowed.","<1>=<MSG>.Apartment.Lable","DI.CPA.013","EC.CPA.110","RC.CPA.110",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,null,null,5]
[{"$f":"EE589","v":4},"VR.ACT.020.101","Given name or family name or other name is mandatory.","<MSG>.[ACT]GivenName = null and\n<MSG>.[ACT]FamilyName = null and <MSG>.[ACT]OtherName = null","Obligation","N","B2B/GUI",null,"Mandatory field is missing, '<1>' or '<2>' or '<3>' must be submitted.","<1> = ACT.GivenName.Label\n<2> = ACT.FamilyName.Label\n<3> = ACT.OtherName.Label","DI.ACT.020","EC.ACT.101","RC.ACT.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[{"$f":"EE590","v":1},"VR.ACT.023.102A","If the Contact Method of the Agreement is “Electronic”, then an Email Address must have been submitted for any (at least one) Customer.","<MSG>.ContactMethod = AC01 and <MSG>.[CUS]EmailAddress = null","Obligation","N","B2B/GUI",null,"Mandatory field '<1>' is missing, must be submitted when contact method is '<2>'.","<1>=<MSG>.[CUS]EmailAddress.Label\n<2>=<MSG>.ContactMethod.Value","DI.ACT.023","EC.ACT.102","RC.ACT.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.ACT.024.104","Phone number must start with a '+'-sign, not have spaces and after country code +358 must not be followed by 0.","<MSG.[ACT]TelephoneNumber = does not start with '+' sign, or has a space or starts with country code +358 and is followed by 0.","Dependency","N","B2B/GUI",null,"Phone number '<1>' does not start with a '+' -sign, having a space or zero after a country code. ","<1>=ACT.TelephoneNumber.Label","DI.ACT.024","EC.ACT.104","RC.ACT.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x","x",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.ACT.024.105","Phone number must start with a '+'-sign and does not have spaces","<MSG.[ACT]TelephoneNumber = does not start with '+' sign or has a space.","Dependency","N","B2B/GUI",null,"Phone number '<1>' does not start with a '+' -sign or having a space.","<1>=ACT.TelephoneNumber.Label","DI.ACT.024","EC.ACT.105","RC.ACT.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x","x",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.CCT.001.101","Contact type must be \"Responsible for connections\".","<MSG>.[CCT]ContactPersonType <> AL04","Obligation","N","B2B/GUI","Repeat for each submitted contact person.","Attribute '<1>' invalid, contact type with value '<2>' does not match responsibility for connections.","<1>=<MSG>.[CCT]ContactPersonType.Label\n<2>=<MSG>.[CCT]ContactPersonType.Value","DI.CCT.001","EC.CCT.101","RC.CCT.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CCT.001.020","Contact type is mandatory.","<MSG>.[CCT]ContactPersonType = null","Obligation","N","B2B/GUI","Repeat for each submitted contact person.","Mandatory field '<1>' is missing.","<1>=<MSG>.[CCT]ContactPersonType.Label","DI.CCT.001","EC.CPF.020","RC.CPF.020",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CCT.003.020","Family name is mandatory.","<MSG>.[CCT]FamilyName = null","Obligation","N","B2B/GUI","Repeat for each submitted contact person.","Mandatory field '<1>' is missing.","<1>=<MSG>.[CCT]FamilyName.Label","DI.CCT.003","EC.CPF.020","RC.CPF.020",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.CCT.005.020","Telephone number is mandatory.","<MSG>.[CCT]TelephoneNumber = null","Obligation","N","B2B/GUI","Repeat for each submitted contact person.","Mandatory field '<1>' is missing.","<1>=<MSG>.[CCT]TelephoneNumber.Label","DI.CCT.005","EC.CPF.020","RC.CPF.020",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE604","v":9},"VR.PIA.024.101","Postal Code must match official postal codes by Posti (if Finnish address).","<MSG>.[PIA]Country = FI and\n<MSG>.[PIA]PostalCode not in {Postal Codes by Posti}","Domain","N","B2B/GUI","Only (case sensitive) values as predefined by Posti are valid.","Attribute '<1>' invalid, value '<2>' must comply with the official postal codes by Posti","<1>=PIA.PostalCode.Label\n<2>=<MSG>.[PIA]PostalCode.Value","DI.PIA.024","EC.PIA.101","RC.PIA.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X","X","X","X",null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G604,\"State*\")+COUNTIF(N604:ED604,\"X*\")+COUNTIF(N604:ED604,\"T*\")","v":9}]
[9,"VR.PIA.025.102","Post Office (City Name) must match official post offices by Posti (if Finnish address).","<MSG>.[PIA]Country = FI and\n<MSG>.[PIA]PostOffice not in {Post Offices by Posti}","Domain","N","B2B/GUI","Only (case sensitive) values as predefined by Posti are valid.","Attribute '<1>' invalid, value '<2>' must comply with the official post offices by Posti","<1>=PIA.PostOffice.Label\n<2>=<MSG>.[PIA]PostOffice.Value","DI.PIA.025","EC.PIA.102","RC.PIA.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X","X","X","X",null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9]
[4,"VR.PIA.003.105","The postal invoicing address is mandatory."," <MSG>. PostalCode = null or  <MSG>. CountryCode = null or  <MSG>. PostOffice = null","Obligation","N","B2B/GUI","PIA element must be present in message.","Postal invoicing address is missing.","-","DI.PIA.003","EC.PIA.105","RC.PIA.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[9,"VR.PIA.012.106","If apartment is reported, then stairwell identification is mandatory. ","<MSG>.Apartment <> null and <MSG>.StairwellIdentificaion = null","Obligation","N","B2B/GUI",null,"Attribute '<1>' is mandatory when attribute '<2>' is reported. ","<1>=<MSG>.StairwellIdentification.Label\n<2>=<MSG>.Apartment.Label","DI.PIA.012","EC.PIA.106","RC.PIA.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X","X","X","X",null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9]
[8,"VR.PIA.010.108","Postal address Street name must not end with a number, if the address is in Finland. ","<MSG>.[PIA]Country = FI and\n<MSG>.[PIA]StreetName ends with a number","Dependency","N","B2B/GUI",null,"<1>' must not end with a number, when it is a Finnish address.","<1>=<MSG>.StreetName.Lable","DI.PIA.010","EC.PIA.108","RC.PIA.108",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X","X","X","X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8]
[8,"VR.PIA.011.109","Postal address Building number: if the address is in Finland, spaces are not allowed, other special characters than dot (.), hyphen (-) and slash (/) are not allowed. Only special character is not allowed.","<MSG>.[PIA]Country = FI and\n<MSG>.[PIA]BuildingNumber has a space or special characters other than dot (.), hyphen (-) and slash (/) or consists only of special character.","Dependency","N","B2B/GUI",null,"For addresses in Finland, attribute '<1>' should not have spaces, other special characters than dot (.), hyphen (-) and slash (/) or consists only of special character.","<1>=<MSG>.BuildingNumber.Lable","DI.PIA.011","EC.PIA.109","RC.PIA.109",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X","X","X","X",null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8]
[null,null,"Electronic Invoicing Addresses",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE616","v":4},"VR.EIA.021.101","If the invoicing channel of the submitted Agreement is “Electronic invoicing”, then the electronic invoicing address is mandatory.","<MSG>.InvoicingChannel = AI02 and <MSG>.ElectronicInvoicingAddress = null\n","Obligation","N","B2B/GUI",null,"Mandatory field '<1>' is missing, must be submitted when invoicing channel is '<2>'.","<1>=EIA.ElectronicInvoicingAddress.Label\n<2>=<MSG>.InvoicingChannel.Value","DI.EIA.021","EC.EIA.101","RC.EIA.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G616,\"State*\")+COUNTIF(N616:ED616,\"X*\")+COUNTIF(N616:ED616,\"T*\")","v":4}]
[{"$f":"EE619","v":4},"VR.OIA.003.101","If the invoicing channel of the submitted Agreement is “E-mail” or “Mobile invoice”, then the other invoicing address is mandatory.","<MSG>.InvoicingChannel = AI04/AI07 and <MSG>.[OIA] = null","Obligation","N","B2B/GUI","OIA element must be present in message.","Other invoicing address is missing, must be submitted when invoicing channel is '<1>'.","<1>=<MSG>.InvoicingChannel.Value","DI.OIA.003","EC.OIA.101","RC.OIA.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G619,\"State*\")+COUNTIF(N619:ED619,\"X*\")+COUNTIF(N619:ED619,\"T*\")","v":4}]
[{"$f":"EE620","v":4},"VR.OIA.020.102","If the invoicing channel of the submitted Agreement is “E-mail”, then the email address is mandatory.","<MSG>.InvoicingChannel = AI04 and <MSG>.EmailAddress = null\n","Obligation","N","B2B/GUI",null,"Mandatory field '<1>' is missing, must be submitted when invoicing channel is '<2>'.","<1>=OIA.EmailAddress.Label\n<2>=<MSG>.InvoicingChannel.Value","DI.OIA.020","EC.OIA.102","RC.OIA.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G620,\"State*\")+COUNTIF(N620:ED620,\"X*\")+COUNTIF(N620:ED620,\"T*\")","v":4}]
[{"$f":"EE622","v":4},"VR.OIA.021.104","If the email address is submitted, then the telephone number may not be submitted (and vice versa).","<MSG>.Emailaddress <> null and\n<MSG>.TelephoneNumber <> null","Obligation","N","B2B/GUI",null,"If the email address is sumbitted, then telephone number may not be submitted (and vice versa).",null,"DI.OIA.021","EC.OIA.104","RC.OIA.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G622,\"State*\")+COUNTIF(N622:ED622,\"X*\")+COUNTIF(N622:ED622,\"T*\")","v":4}]
[null,"VR.OIA.031.105","Mobile invoicing address phone number must start with a '+'-sign, not have spaces and after country code +358 must not be followed by 0.","<MSG>.InvoicingChannel = AI07 and <MSG>.TelephoneNumber = does not start with '+' sign, or has a space or starts with country code +358 and is followed by 0.\n","Dependency","N","B2B/GUI",null,"Phone number '<1>' does not start with a '+' -sign, having a space or zero after a country code. ","<1>=OIA.TelephoneNumber.Label","DI.OIA.031","EC.OIA.105","RC.OIA.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G623,\"State*\")+COUNTIF(N623:ED623,\"X*\")+COUNTIF(N623:ED623,\"T*\")","v":4}]
[1,"VR.PRD.003.100B","The reported New Products exist in the system on the start date of the reported Old Grid Agreement.","NOT(EXISTS(AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.AgreementType = 11 and\nAGR.AgreementIdentification = <MSG>.OldGridAgreement and\nAGR.OrganisationIdentifier = <MSG>.OldDSO and\nPRD.ProductCode = <MSG>.NewProducts(n) and PRD.ProductStartDate <= AGR.AgreementStartDate and\nPRD.ProductEndDate > AGR.AgreementStartDate))","Reference","Y","FILE","Check product validity against validity of submitted grid agreement.\nCheck for each reported product!","Attribute '<1>' with value '<2>' does not exist on date '<3>'.","<1>=<MSG>.NewProducts.Label\n<2>=<MSG>.NewProducts(n).Value\n<3>=AGR.AgreementStartDate.Value","DI.PRD.003","EC.PRD.100","RC.PRD.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[10,"VR.PRD.003.101","Product Code belongs to the reporting Organisation on submitted Start Of Occurrence.","NOT(EXISTS(\nPRD.ProductCode = <MSG>.ProductCode and PRD.OrganisationIdentifier = MSG.JuridicalSender and PRD.ValidFromDate <= <MSG>.StartOfOccurrence and\nPRD.ValidToDate > <MSG>.StartOfOccurrence))","Dependency","N","B2B/GUI","Check against submitted date.\nCheck for each submitted product!","Attribute '<1>' invalid, value '<2>' does not belong to organisation '<3>'. ","<1>=PRD.ProductCode.Label\n<2>=<MSG>.ProductCode.Value\n<3>=MSG.JuridicalSender","DI.PRD.003","EC.PRD.101","RC.PRD.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X","X",null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,10]
[2,"VR.PRD.003.103","The reported product code must be unique within the requesting Market Party and its market role.","<MSG>.ProductCode = PRD.ProductCode and MSG.JuridicalSender = PRD.OrganisationIdentifier and\nMSG.MarketRole = PRD.MarketRole","Dependency","N","B2B/GUI",null,"Attribute '<1>' invalid, value '<2>' does already belongs to organisation '<3>' with market role '<4>'. ","<1>=PRD.ProductCode.Label\n<2>=<MSG>.ProductCode.Value\n<3>=MSG.JuridicalSender\n<4>=MSG.MarketRole","DI.PRD.003","EC.PRD.103","RC.PRD.103",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[4,"VR.PRD.022.104","If the product end date is reported, it can not be before the reported product start date.","<MSG>.EndOfOccurrence is not null and <MSG>.StartOfOccurrence > <MSG>.EndOfOccurrence)","Reference","N","B2B/GUI",null,"Attribute '<3>' with value '<4>' is cannot be before attribute '<1>' with value '<2>'.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.EndOfOccurrence.Label\n<4>=<MSG>.EndOfOccurrence.Value","DI.PRD.022","EC.PRD.104","RC.PRD.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[1,"VR.PRD.021.105B","Start of Occurrence is in accordance with the business process timelines (using PRD.CRD parameters)","<MSG>.StartOfOccurrence <\nToday + CP_PRDCRD_MIN_PERIOD or <MSG>.StartOfOccurrence >\nToday + CP_PRDCRD_MAX_PERIOD","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for PRD.CRD process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_PRDCRD_MIN_PERIOD\n<4>= Today+CP_PRDCRD_MAX_PERIOD","DI.PRD.021","EC.PRD.105","RC.PRD.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.PRD.003.106","At least one product must be reported.","count(<MSG>. ProductCode) =0","Calculation","N","B2B/GUI",null,"Attribute '<1>' is mandatory.","<1>= AGR.ProductCode.Label","DI.PRD.003","EC.PRD.106","RC.PRD.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.PRD.022.108A","End of Occurrence must be in accordance with the business process timelines for a Supplier (using PRD.UPS offset parameter). ","<MSG>.EndOfOccurrence > PRD.ProductStartDate\nAND <MSG>.EndOfOccurrence <\n(Today + CP_PRDUPS_ENDDT_MIN_OFFSET)","Dependency","N","B2B/GUI","Rule does not apply when cancelling a product.","Value '<1>' invalid, attribute '<2>' must be a date later than  '<3>'.","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_PRDUPS_ENDDT_MIN_OFFSET","DI.PRD.022","EC.PRD.108","RC.PRD.108",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.PRD.022.108B","End of Occurrence must be in accordance with the business process timelines for a DSO (using PRD.UPD offset parameter).","<MSG>.EndOfOccurrence > PRD.ProductStartDate\nAND <MSG>.EndOfOccurrence <\n(Today + CP_PRDUPD_ENDDT_MIN_OFFSET)","Dependency","N","B2B/GUI","Rule does not apply when cancelling a product.","Value '<1>' invalid, attribute '<2>' must be a date later than  '<3>'.","<1>=<MSG>.EndOfOccurrence.Value\n<2>=<MSG>.EndOfOccurrence.Label\n<3>= Today+CP_PRDUPD_ENDDT_MIN_OFFSET","DI.PRD.022","EC.PRD.108","RC.PRD.108",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[4,"VR.PRD.004.111","Product owner must be equal to JuridicalSender.","<MSG>.OrganisationIdentifier <> <MSG>.JuridicalSenderIdentifier","Dependency","N","B2B/GUI","A party can only submit Prices for itself.","Attribute '<1>' with value '<2>' must be equal to attribute '<3>' with value '<4>'.","<1>=<MSG>.OrganisationIdentifier.Label\n<2>=<MSG>.OrganisationIdentifier.Value\n<3>=<MSG>.JuridicalSenderIdentifier.Label\n<4>=<MSG>.JuridicalSenderIdentifier.Value","DI.PRD.004","EC.PRD.111","RC.PRD.111",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4]
[3,"VR.PRD.003.112","The number of Products that meet the requested search criteria must comply with the defined minimum (i.e. using applicable configuration parameters).","BSA[NumberOfResults].AttributeValue < CP_PRDLST_MIN_NUMBER_RESULTS","Calculation","N","B2B","The number of returned results cannot be smaller than the configured minimum.","Number of Products that meet the requested search criteria is less than '<1>'.","<1>=CP_PRDLST_MIN_NUMBER_RESULTS","DI.PRD.003","EC.PRD.112","RC.PRD.112",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[1,"VR.PRD.023.114","The status of the reported New Products is \"Confirmed\" on the start date of the reported Old Grid Agreement.","NOT(EXISTS(AGR.MeteringPointEAN = <MSG>.MeteringPointEAN and\nAGR.AgreementType = 11 and\nAGR.AgreementIdentification = <MSG>.OldGridAgreement and\nAGR.OrganisationIdentifier = <MSG>.OldDSO and\nPRD.ProductCode = <MSG>.NewProducts(n) and\nPRD.OrganisationIdentifier = <MSG>.NewDSO and \nPRD.ProductStatus = CFD and \nPRD.ProductStartDate <= AGR.AgreementStartDate and\nPRD.ProductEndDate > AGR.AgreementStartDate))","Reference","N","FILE","Check product status against validity of submitted grid agreement (Terminated/Cancelled products cannot be used). Check for each reported product!","Reported product '<1>' has invalid status '<2>' on date '<3>'.","<1>=<MSG>.NewProducts(n).Value\n<2>=PRD.ProductStatus.Value\n<3>=AGR.AgreementStartDate.Value","DI.PRD.023","EC.PRD.114","RC.PRD.114",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"ProductName",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[null,null,"ProductComponent",null,null,null,null,null," ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE649","v":2},"VR.PCP.003.100","The reported product compontent code must be unique (for requesting Market Party) within the reported product.","COUNT(<MSG>.ProductCode, <MSG>.ProductComponentCode) > 1","Dependency","N","B2B/GUI","Check for each submitted product component code.","Attribute '<1>' with value '<2>' is not unique.","<1>=<MSG>.ProductComponentCode.Label\n<2>=<MSG>.ProductComponentCode.Value","DI.PCP.003","EC.PCP.100","RC.PCP.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G649,\"State*\")+COUNTIF(N649:ED649,\"X*\")+COUNTIF(N649:ED649,\"T*\")","v":2}]
[3,"VR.PCP.022.102A","Product Component must be have ‘Price’ as Price Information Type.","PCP.PriceInformationType <> \"BG01\"","Dependency",null,"B2B/GUI","Price update only allowed when Price Information Type equals 'Price'","Request not valid for '<1>' with value '<2>'","<1>=<PCP>.PriceInformationType.Label\n<2>=<PCP>.PriceInformationType.Value","DI.PCP.022","EC.PCP.022","RC.PCP.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[2,"VR.PCP.022.102B","When reporting Price Time Series data, Product Component must be have ‘Price time series’ as Price Information Type.","(<MSG>.Price <>null or <MSG>.PriceWithTax <> null) AND \nPCP.PriceInformationType <> \"BG02\"","Dependency",null,"B2B/GUI","Price time series update only allowed when Price Information Type of Product Component equals 'Price time series'.\nIf the Price Information Type is BG01, only Calendar Time Series is allowed. ","Request not valid for '<1>' with value '<2>'","<1>=<PCP>.PriceInformationType.Label\n<2>=<PCP>.PriceInformationType.Value","DI.PCP.022","EC.PCP.022","RC.PCP.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[null,null,"ProductComponentData",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE656","v":4},"VR.PCD.004.101","The reported product component data language must be equal to the reported product name language.","COUNT(<MSG>.ProductComponentDataLanguage) <> COUNT (<MSG>.ProductNameLanguage) OR\n(<MSG>.ProductComponentDataLanguage <> <MSG>.ProductComponentDataLanauge )","Dependency","N","B2B/GUI","Check for each submitted product component data.\nPer Product Component Data Language must have a matching Product Name Language ","Value(s) '<1>' of attribute '<2>' are not in ProductName, value(s) '<3>' of attribute '<4>'are not in ProductComponentData.","<1>=<MSG>.ProductCompontData\nLanguage.Value\n<2>=<MSG>.ProductCompontData\nLanguage.Label\n<3>=<MSG>.ProductNameLanguage.Value\n<4>=<MSG>.ProductNameLanguage.Label","DI.PCD.004","EC.PCD.101","RC.PCD.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G656,\"State*\")+COUNTIF(N656:ED656,\"X*\")+COUNTIF(N656:ED656,\"T*\")","v":4}]
[{"$f":"EE659","v":2},"VR.PCD.011.104","At least one Product Component Price Unit must be present.","(\n    PCD.PriceUnitFI is null\nAND PCD.PriceUnitSV is null\nAND PCD.PriceUnitEN is null\n)","Dependency","N","B2B/GUI","At least 1 Product Component Price Unit must be present.","For Product Component '<1>' at least 1 Product Component Price Unit must be present.","<1>=<MSG>.ProductComponentCode.Value","DI.PCD.011","EC.PCD.104","RC.PCD.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G659,\"State*\")+COUNTIF(N659:ED659,\"X*\")+COUNTIF(N659:ED659,\"T*\")","v":2}]
[null,null,"Price Data",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[1,"VR.PRC.011.102B","Start Of Occurrence is in accordance with the business process timelines (using PRC.UPS parameters), for a Create Process by Supplier.","NOT(EXISTS(PRC.PriceID and\nPCP.ProductComponentID = PRC.ProductComponentID and PRD.ProductID = PCP.ProductID and\nPRD.OrganisationIdentifier = MSG.JuridicalSender and\nPRD.MarketRole = DDQ)) and\n(<MSG>.StartOfOccurrence <\nToday + CP_PRCUPS_MIN_PERIOD_CRE or\n<MSG>.StartOfOccurrence >\nToday + CP_PRCUPS_MAX_PERIOD_CRE)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for Price Creation by Supplier process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_PRCUPS_MIN_PERIOD_CRE\n<4>= Today+CP_PRCUPS_MAX_PERIOD_CRE","EC.PRC.011","EC.PRC.102","RC.PRC.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.PRC.011.102C","Start Of Occurrence is in accordance with the business process timelines (using PRC.UPD parameters), for an Update process by DSO.","EXISTS(PRC.PriceID and\nPCP.ProductComponentID = PRC.ProductComponentID and PRD.ProductID = PCP.ProductID and\nPRD.OrganisationIdentifier = MSG.JuridicalSender and\nPRD.MarketRole = DSO) and\n(<MSG>.StartOfOccurrence <\nToday + CP_PRCUPD_MIN_PERIOD_UPD or\n<MSG>.StartOfOccurrence >\nToday + CP_PRCUPD_MAX_PERIOD_UPD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for Price Update by DSO process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_PRCUPD_MIN_PERIOD_UPD\n<4>= Today+CP_PRCUPD_MAX_PERIOD_UPD","EC.PRC.011","EC.PRC.102","RC.PRC.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.PRC.011.102E","Start Of Occurrence is in accordance with the business process timelines (using PRC.UPM parameters), for an Update process by MOP.","EXISTS(PRC.PriceID and\nPCP.ProductComponentID = PRC.ProductComponentID and PRD.ProductID = PCP.ProductID and\nPRD.OrganisationIdentifier = <MSG>.OrganisationIdentifier and\nPRD.MarketRole = <MSG>.MarketRole) and\n(<MSG>.StartOfOccurrence <\nToday + CP_PRCUPM_MIN_PERIOD_UPD or\n<MSG>.StartOfOccurrence >\nToday + CP_PRCUPM_MAX_PERIOD_UPD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for Price Update by MOP process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_PRCUPM_MIN_PERIOD_UPD\n<4>= Today+CP_PRCUPM_MAX_PERIOD_UPD","EC.PRC.011","EC.PRC.102","RC.PRC.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"TimeSeriesValue Data ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[2,"VR.TSV.007.101B","When DSO creates price time series, Start of Occurrence is in accordance with the business process timelines (using TSV.UPD PSV_CRE parameters).","NOT(EXISTS(TSV.TimeSeriesValueID and PCP.ProductComponentID = TSV.ProductComponentID and PRD.ProductID = PCP.ProductID and\nPRD.ProductCode = <MSG>.ProductCode and\nPCP.ProductComponentCode = <MSG>.ProductComponentCode and\nPRD.OrganisationIdentifier = MSG.JuridicalSender and\nPRD.MarketRole = DSO and\n<MSG>.PriceWithTax <> null)) and (<MSG>.StartOfOccurrence <\nToday + CP_TSVUPD_MIN_PERIOD_PSV_CRE or\n<MSG>.StartOfOccurrence >\nToday + CP_TSVUPD_MAX_PERIOD_PSV_CRE)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for TSV.UPS create Price Time Series process by DSO","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_TSVUPD_MIN_PERIOD_PSV_CRE\n<4>= Today+CP_TSVUPD_MAX_PERIOD_PSV_CRE\n","EC.TSV.007","EC.TSV.101","RC.TSV.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.TSV.007.101C","When Supplier creates calendar time series, Start of Occurrence is in accordance with the business process timelines (using TSV.UPS CSV_CRE parameters).","NOT(EXISTS(TSV.TimeSeriesValueID and PCP.ProductComponentID = TSV.ProductComponentID and PRD.ProductID = PCP.ProductID and\nPRD.ProductCode = <MSG>.ProductCode and\nPCP.ProductComponentCode = <MSG>.ProductComponentCode and\nPRD.OrganisationIdentifier = MSG.JuridicalSender and\nPRD.MarketRole = DDQ and\n<MSG>.PriceWithTax <> null)) and (<MSG>.StartOfOccurrence <\nToday + CP_TSVUPS_MIN_PERIOD_CSV_CRE or\n<MSG>.StartOfOccurrence >\nToday + CP_TSVUPS_MAX_PERIOD_CSV_CRE)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for TSV.UPS create Calendar Time Series process by Supplier","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_TSVUPS_MIN_PERIOD_CSV_CRE\n<4>= Today+CP_TSVUPS_MAX_PERIOD_CSV_CRE","EC.TSV.007","EC.TSV.101","RC.TSV.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.TSV.007.101F","When DSO updates price time series, Start of Occurrence is in accordance with the business process timelines (using TSV.UPD PSV_UPD parameters).","EXISTS(TSV.TimeSeriesValueID and PCP.ProductComponentID = TSV.ProductComponentID and PRD.ProductID = PCP.ProductID and\nPRD.ProductCode = <MSG>.ProductCode and\nPCP.ProductComponentCode = <MSG>.ProductComponentCode and\nPRD.OrganisationIdentifier = MSG.JuridicalSender and\nPRD.MarketRole = DSO and\n<MSG>.PriceWithTax <> null) and (<MSG>.StartOfOccurrence <\nToday + CP_TSVUPD_MIN_PERIOD_PSV_UPD or\n<MSG>.StartOfOccurrence >\nToday + CP_TSVUPD_MAX_PERIOD_PSV_UPD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for TSV.UPS update Price Time Series process by DSO","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_TSVUPD_MIN_PERIOD_PSV_UPD\n<4>= Today+CP_TSVUPD_MAX_PERIOD_PSV_UPD\n","EC.TSV.007","EC.TSV.101","RC.TSV.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.TSV.007.101G","When Supplier updates calendar time series, Start of Occurrence is in accordance with the business process timelines (using TSV.UPS CSV_UPD parameters).","EXISTS(TSV.TimeSeriesValueID and PCP.ProductComponentID = TSV.ProductComponentID and PRD.ProductID = PCP.ProductID and\nPRD.ProductCode = <MSG>.ProductCode and\nPCP.ProductComponentCode = <MSG>.ProductComponentCode and\nPRD.OrganisationIdentifier = MSG.JuridicalSender and\nPRD.MarketRole = DDQ and\n<MSG>.PriceWithTax <> null) and (<MSG>.StartOfOccurrence <\nToday + CP_TSVUPS_MIN_PERIOD_CSV_UPD or\n<MSG>.StartOfOccurrence >\nToday + CP_TSVUPS_MAX_PERIOD_CSV_UPD)","Calculation","N","B2B/GUI","Valid time period is checked using MIN_PERIOD and MAX_PERIOD configuration parameters for TSV.UPS update Calendar Time Series process by Supplier","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. between '<3>' and '<4>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= Today+CP_TSVUPS_MIN_PERIOD_CSV_UPD\n<4>= Today+CP_TSVUPS_MAX_PERIOD_CSV_UPD","EC.TSV.007","EC.TSV.101","RC.TSV.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.TSV.007.103","Start of Occurrence must have time as local midnight.","localtime(<MSG>.StartOfOccurrence, 'HH:MM:SS') <> '00:00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be local midnight time.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value","EC.TSV.007","EC.TSV.103","RC.TSV.103",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.TSV.008.104","End of Occurrence must have time as local midnight.","localtime(<MSG>.EndOfOccurrence, 'HH:MM:SS') <> '00:00:00'","Format","N","B2B/GUI","UTC time can differ from local time, e.g. '00:00:00' (local) = '22:00:00' (UTC). ","Attribute '<1>' invalid, value '<2>' must be local midnight time.","<1>=<MSG>.EndOfOccurrence.Label\n<2>=<MSG>.EndOfOccurrence.Value","EC.TSV.008","EC.TSV.104","RC.TSV.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.TSV.020.106B","The total number of positions must match the provided ResolutionDuration and reported period per every reported Price Time Series Payload.","(COUNT (<MSG>.Sequence) <> max (<MSG>.Sequence)) OR\n(if <MSG>.ResolutionDuration = PT15M, COUNT(<MSG>.Sequence <> 96)) OR\n(if <MSG>.ResolutionDuration = PT1H, COUNT(<MSG>.Sequence <> 24)) OR \n(if <MSG>.ResolutionDuration = P1D, COUNT(<MSG>.Sequence <> 1)) OR (if <MSG>.ResolutionDuration = P1M, COUNT(<MSG>.Sequence <> 1)) OR \n(if <MSG>.ResolutionDuration = P1Y, COUNT(<MSG>.Sequence <> 1)) ","Calculation","N","B2B/GUI","Take into account summer/winter time change.\nThe count is per record per reported Price Time Series. ","Attribute '<1>' does not reconcile with attribute '<2>' with value '<3>'.","<1>= TSV(F23_PTS).NumberOfPositions.Label\n<2> = <MSG(F23_PTS)>.Sequence.Label\n<3> = <MSG(F23_PTS)>.Sequence.Value","EC.TSV.005","EC.TSV.106","RC.TSV.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[3,"VR.TSV.008.107","When both Start and End date are provided in the request, the End date must be after the provided Start date.","<MSG>EndOfOccurrence is not null AND <MSG>.StartOfOccurrence is not null AND (<MSG>EndOfOccurrence <= <MSG>.StartOfOccurrence)","Reference","N","B2B/GUI",null,"Attribute '<1>' with value '<2>' must be earlier than attribute '<3>' with value '<4>'.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.EndOfOccurrence.Label\n<4>=<MSG>.EndOfOccurrence.Value","EC.TSV.008","EC.TSV.107","RC.TSV.107",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[{"$f":"EE685","v":2},"VR.TSV.008.110A","The period reported with Time Series (Price) must exactly match the reported resolution duration (i.e. P1M/P1Y must both start/end at the first of a month).","<MSG>.[PTS]ResolutionDuration = P1M/P1Y and (DAY(<MSG>.StartOfOccurrence) <> '01' or DAY(<MSG>.EndOfOccurrence) <> '01')","Reference","N","B2B/GUI","The reported Start and End of Occurrence must be the starting value based on the Resolution Duration. \nP1M => first of the month;\nP1Y => first of the month.","Reported attribute '<1>' with value '<2>' must match  attribute '<3>' with value '<4>' and  attribute '<5>' with value '<6>'.","<1>=<MSG>.[PTS]ResolutionDuration.Label\n<2>=<MSG>.[PTS]ResolutionDuration.Value\n<3>=<MSG>.StartOfOccurrence.Label\n<4>=<MSG>.StartOfOccurrence.Value\n<5>=<MSG>.EndOfOccurrence.Label\n<6>=<MSG>.EndOfOccurrence.Value\n","EC.TSV.008","EC.TSV.110","RC.TSV.110",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.TSV.008.110B","The period reported with Time Series (Calendar) must exactly match the reported resolution duration (i.e. P1M/P1Y must both start/end at the first of a month).","<MSG>.[CTS]ResolutionDuration = P1M/P1Y and (DAY(<MSG>.StartOfOccurrence) <> '01' or DAY(<MSG>.EndOfOccurrence) <> '01')","Reference","N","B2B/GUI","The reported Start and End of Occurrence must be the starting value based on the Resolution Duration. \nP1M => first of the month;\nP1Y => first of the month.","Reported attribute '<1>' with value '<2>' must match  attribute '<3>' with value '<4>' and  attribute '<5>' with value '<6>'.","<1>=<MSG>.[CTS]ResolutionDuration.Label\n<2>=<MSG>.[CTS]ResolutionDuration.Value\n<3>=<MSG>.StartOfOccurrence.Label\n<4>=<MSG>.StartOfOccurrence.Value\n<5>=<MSG>.EndOfOccurrence.Label\n<6>=<MSG>.EndOfOccurrence.Value\n","EC.TSV.008","EC.TSV.110","RC.TSV.110",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.TSV.007.112A","When the reported Resolution Duration is 15 minutes, the reported period cannot exceed 1 day (Price).","<MSG>.[PTS]ResolutionDuration = PT15M and DAYS(<MSG>.EndOfOccurrence - <MSG>.StartOfOccurrence) > 1","Reference","N","GUI","Only applies to Price Time Series.\nSummer/winter time changes must be taken into account.","Attribute '<1>' with value '<2>' and attribute '<3>' with value '<4>' exceeds allowed validity period based on attribute '<5>' with value '<6>'.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.EndOfOccurrence.Label\n<4>=<MSG>.EndOfOccurrence.Value\n<5>=<MSG>.[PTS]ResolutionDuration.Label\n<6>=<MSG>.[PTS]ResolutionDuration.Value\n","EC.TSV.007","EC.TSV.112","RC.TSV.112",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.TSV.007.112B","When the reported Resolution Duration is 1 hour, the reported period cannot exceed 1 day (Price).","<MSG>.[PTS]ResolutionDuration = PT1H and DAYS(<MSG>.EndOfOccurrence - <MSG>.StartOfOccurrence) > 1","Reference","N","GUI","Only applies to Price Time Series.\nSummer/winter time changes must be taken into account.","Attribute '<1>' with value '<2>' and attribute '<3>' with value '<4>' exceeds allowed validity period based on attribute '<5>' with value '<6>'.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.EndOfOccurrence.Label\n<4>=<MSG>.EndOfOccurrence.Value\n<5>=<MSG>.[PTS]ResolutionDuration.Label\n<6>=<MSG>.[PTS]ResolutionDuration.Value\n","EC.TSV.007","EC.TSV.112","RC.TSV.112",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.TSV.007.112E","When the reported Resolution Duration is 1 year, the reported period cannot exceed 1 year (Price).","<MSG>.[PTS]ResolutionDuration = P1Y and YEARS(<MSG>.EndOfOccurrence - <MSG>.StartOfOccurrence) > 1","Reference","N","GUI","Only applies to Price Time Series.\nSummer/winter time changes must be taken into account.","Attribute '<1>' with value '<2>' and attribute '<3>' with value '<4>' exceeds allowed validity period based on attribute '<5>' with value '<6>'.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.EndOfOccurrence.Label\n<4>=<MSG>.EndOfOccurrence.Value\n<5>=<MSG>.[PTS]ResolutionDuration.Label\n<6>=<MSG>.[PTS]ResolutionDuration.Value\n","EC.TSV.007","EC.TSV.112","RC.TSV.112",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE693","v":2},"VR.TSV.007.112F","When the reported Resolution Duration is 15min, the reported period cannot exceed 1 day (Calendar).","<MSG>.[CTS]ResolutionDuration = PT15M and DAYS(<MSG>.EndOfOccurrence - <MSG>.StartOfOccurrence) > 1","Reference","N","GUI","Only applies to Calendar Time Series.\nSummer/winter time changes must be taken into account.","Attribute '<1>' with value '<2>' and attribute '<3>' with value '<4>' exceeds allowed validity period based on attribute '<5>' with value '<6>'.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.EndOfOccurrence.Label\n<4>=<MSG>.EndOfOccurrence.Value\n<5>=<MSG>.[CTS]ResolutionDuration.Label\n<6>=<MSG>.[CTS]ResolutionDuration.Value\n","EC.TSV.007","EC.TSV.112","RC.TSV.112",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE696","v":2},"VR.TSV.007.112I","When the reported Resolution Duration is 1 month, the reported period cannot exceed 1 month (Calendar). ","<MSG>.[CTS]ResolutionDuration = P1M and MONTHS(<MSG>.EndOfOccurrence - <MSG>.StartOfOccurrence) > 1","Reference","N","GUI","Only applies to Calendar Time Series.\nSummer/winter time changes must be taken into account.","Attribute '<1>' with value '<2>' and attribute '<3>' with value '<4>' exceeds allowed validity period based on attribute '<5>' with value '<6>'.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.EndOfOccurrence.Label\n<4>=<MSG>.EndOfOccurrence.Value\n<5>=<MSG>.[CTS]ResolutionDuration.Label\n<6>=<MSG>.[CTS]ResolutionDuration.Value\n","EC.TSV.007","EC.TSV.112","RC.TSV.112",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE697","v":2},"VR.TSV.007.112J","When the reported Resolution Duration is 1 year, the reported period cannot exceed 1 year (Calendar).","<MSG>.[CTS]ResolutionDuration = P1Y and YEARS(<MSG>.EndOfOccurrence - <MSG>.StartOfOccurrence) > 1","Reference","N","GUI","Only applies to Calendar Time Series.\nSummer/winter time changes must be taken into account.","Attribute '<1>' with value '<2>' and attribute '<3>' with value '<4>' exceeds allowed validity period based on attribute '<5>' with value '<6>'.","<1>=<MSG>.StartOfOccurrence.Label\n<2>=<MSG>.StartOfOccurrence.Value\n<3>=<MSG>.EndOfOccurrence.Label\n<4>=<MSG>.EndOfOccurrence.Value\n<5>=<MSG>.[CTS]ResolutionDuration.Label\n<6>=<MSG>.[CTS]ResolutionDuration.Value\n","EC.TSV.007","EC.TSV.112","RC.TSV.112",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[null,null,"Invoice Rows",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE700","v":2},"VR.IVR.010.001","The Accounting Point must exist in the system.","NOT(<MSG>.MeteringPointEAN exists in MPT.MeteringPointEAN)","Dependency","N","B2B/GUI","Accounting point ID must be exist.","Attribute '<1>' with value '<2>' does not exist in the system. ","<1>=<MSG>.MeteringPointEAN.Label\n<2>=<MSG>.MeteringPointEAN.Value","DI.IVR.010","EC.IVR.001","RC.IVR.001",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G700,\"State*\")+COUNTIF(N700:ED700,\"X*\")+COUNTIF(N700:ED700,\"T*\")","v":2}]
[1,"VR.IVR.038.003A","If recipient is DSO then Recipient Agreement must be provided and must be owned by the receiving DSO (no period validation).","NOT(EXISTS(\nAGR.AgreementType = 11\nAND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nAND AGR.OrganisationIdentifier = <MSG>.RecipientPartyIdentification\nAND AGR.MarketRole = \"DSO\"\nAND AGR.AgreementIdentification = <MSG>.RecipientAgreementIdentification))","Dependency","N","B2B/GUI","Agreement must be owned by the receiving organisation.","'<1>' with value '<2>' does not belong to the receiving organisation.","<1>=<MSG>.RecipientAgreementIdentification.Label\n<2>=<MSG>.RecipientAgreementIdentification.Value","DI.IVR.038","EC.IVR.003","RC.IVR.003",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.IVR.038.003B","If recipient is Supplier then Recipient Agreement must be provided and must be owned by the receiving Supplier (no period validation).","NOT(EXISTS(\nAGR.AgreementType = 12\nAND AGR.MeteringPointEAN = <MSG>.MeteringPointEAN\nAND AGR.OrganisationIdentifier = <MSG>.RecipientPartyIdentification\nAND AGR.MarketRole = \"DDQ\"\nAND AGR.AgreementIdentification = <MSG>.RecipientAgreementIdentification))","Dependency","N","B2B/GUI","Agreement must be owned by the receiving organisation.","'<1>' with value '<2>' does not belong to the receiving organisation.","<1>=<MSG>.RecipientAgreementIdentification.Label\n<2>=<MSG>.RecipientAgreementIdentification.Value","DI.IVR.038","EC.IVR.003","RC.IVR.003",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[1,"VR.IVR.038.005","When the Recipient Agreement identification is empty, then the recipient must be a THP.","NOT(<MSG>.RecipientAgreementIdentification = null\nAND EXISTS(ORG.OrganisationIdentifier = <MSG>.RecipientPartyIdentification and\nORG.MarketRole = \"THP\"))","Obligation","N","B2B/GUI","When Recipient Agreement identification is empty, recipient must be a 3rd party.","Found empty Recipient Agreement identification, but did not find 3rd party organisation with id '<1>'.","<1>=<MSG>.RecipientPartyIdentification","DI.IVR.038","EC.IVR.005","RC.IVR.005",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[3,"VR.IVR.003.006","The number of Invoice Rows that meet the requested search criteria must comply with the defined minimum (i.e. using applicable configuration parameters).","BSA[NumberOfResults].AttributeValue < CP_IVRREQ_MIN_NUMBER_RESULTS","Calculation","N","B2B","The number of Invoice Rows cannot be smaller than the configurable amount of Invoice Rows.","Number of Invoice rows that meet the requested search criteria is less than '<1>'.","<1>=CP_IVRREQ_MIN_NUMBER_RESULTS","DI.IVR.003","EC.IVR.006","RC.IVR.006",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[2,"VR.IVR.013.008","AuthorPartyIdentification must be equal to JuridicalSender.","<MSG>.AuthorPartyIdentification <> <MSG>.JuridicalSenderIdentifier","Dependency","N","B2B/GUI","A party can only submit Invoice Rows for itself.","Attribute '<1>' with value '<2>' must be equal to attribute '<3>' with value '<4>'.","<1>=<MSG>.AuthorPartyIdentification.Label\n<2>=<MSG>.AuthorPartyIdentification.Value\n<3>=<MSG>.JuridicalSenderIdentifier.Label\n<4>=<MSG>.JuridicalSenderIdentifier.Value","DI.IVR.013","EC.IVR.008","RC.IVR.008",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[null,null,"Organisations",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,0]
[{"$f":"EE712","v":1},"VR.ORG.004.022A","Organisation Identifier (Party Identification) of an organisation cannot exceed 13 characters.","LEN(<MSG>.OrganisationIdentifier.Value) > 13\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.OrganisationIdentifier.Value\n<2>=<MSG>.OrganisationIdentifier.Label\n<3>=[13]","DI.ORG.004","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.ORG.015.022A","Registration COC (Business ID) of an organisation cannot exceed 16 characters.","LEN(<MSG>.RegistrationCOC.Value) > 16\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.RegistrationCOC.Value\n<2>=<MSG>.RegistrationCOC.Label\n<3>=[16]","DI.ORG.015","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.ORG.015.020","Registration COC (Business ID) of an organisation is mandatory.","<MSG>.RegistrationCOC = null","Obligation","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Mandatory field missing'.","Attribute '<1>' is mandatory.","<1>=<MSG>.RegistrationCOC.Label","DI.ORG.015","EC.CPF.020","RC.CPF.020",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE715","v":2},"VR.ORG.018.020","Invoicing Channel of an organisation is mandatory.","<MSG>.InvoicingChannel = null","Obligation","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Mandatory field missing'.","Attribute '<1>' is mandatory.","<1>=<MSG>.InvoicingChannel.Label","DI.ORG.018","EC.CPF.020","RC.CPF.020",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.ORG.023.020","If the organisation’s invoicing channel is “Electronic invoicing”, then the Electronic Invoice Address is mandatory.","<MSG>.InvoicingChannel = AI02 and <MSG>.ElectronicInvoiceAddress = null\n","Obligation","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Mandatory field missing'.","Attribute '<1>' is mandatory.","<1>=<MSG>.ElectronicInvoiceAddress.Label","DI.ORG.023","EC.CPF.020","RC.CPF.020",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.ORG.024.020","If the organisation’s invoicing channel is “Electronic invoicing”, then the Invoicing Mediator is mandatory.","<MSG>.InvoicingChannel = AI02 and <MSG>.InvoicingMediator = null\n","Obligation","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Mandatory field missing'.","Attribute '<1>' is mandatory.","<1>=<MSG>.InvoicingMediator.Label","DI.ORG.024","EC.CPF.020","RC.CPF.020",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[3,"VR.ORG.004.200","All requested Organisations must exist in Datahub.","NOT(<MSG>.OrganisationIdentifier(n) exists in ORG.OrganisationIdentifier)","Obligation","Y","B2B","Check for each submitted Organisation!","Attribute '<1>' invalid, requested value '<2>' must be registered in the system.","<1>=<MSG>.OrganisationIdentifier.Label\n<2>=<MSG>.OrganisationIdentifier.Value","DI.ORG.004","EC.ORG.200","RC.ORG.200",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[3,"VR.ORG.005.201","Market Role of all requested Organisations only allows the following domain: {MRL_CO}.","NOT(EXISTS(\nORG.OrganisationIdentifier = <MSG>.OrganisationIdentifier(n) and\nORG.MarketRole in {MRL_CO}\n))","Dependency","N","B2B","Check for each submitted Organisation that it has at least one of the allowed market roles!","Attribute '<1>' invalid, value '<2>' of requested organisation '<3>' does not comply with the predefined domain.","<1>=ORG.MarketRole.Label\n<2>=ORG.MarketRole.Value\n<3>=ORG.OrganisationIdentifier.Value","DI.ORG.005","EC.ORG.201","RC.ORG.201",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[3,"VR.ORG.014.202","Status of all requested Organisations must be active.","NOT(ORG.OrganisationIdentifier = <MSG>.OrganisationIdentifier(n) and\nORG.Status = ACT)","Dependency","N","B2B","Check for each submitted Organisation!","Attribute '<1>' with value '<2>' invalid, requested organisation '<3>' does not have the correct status.","<1>=ORG.Status.Label\n<2>=ORG.Status.Value\n<3>=ORG.OrganisationIdentifier.Value","DI.ORG.014","EC.ORG.202","RC.ORG.202",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[3,"VR.ORG.005.203","Requested Market Role only allows the following domain: {MRL_CO}.","<MSG>.MarketRole not in {MRL_CO}","Obligation","N","B2B","Note that domain {PYT} is converted to domain {MRL_CO} when mapped to CIM, so in case of a wrong value this is already caught by the XSD (this VR is not actually triggered).","Attribute '<1>' invalid, value '<2>' does not comply with the predefined domain.","<1>=<MSG>.MarketRole.Label\n<2>=<MSG>.MarketRole.Value","DI.ORG.005","EC.ORG.203","RC.ORG.203",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[3,"VR.ORG.004.204","Request must be submitted with Organisation Identifier(s) or Market Role (or none).","<MSG>.[F17_ORG] != null and\n<MSG>.[F17_MRL] != null","Obligation","N","B2B","One of them must be submitted (or none).","Only one of the following attributes must be submitted: organisation identifier or market role (or none).","-","DI.ORG.004","EC.ORG.204","RC.ORG.204",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3]
[1,"VR.ORG.015.205","An organisation’s Business ID (that is not empty) cannot be updated if the Country Code is “Finland”","ORG.OrganisationID = <MSG>.OrganisationID and\nORG.CountryCode = FI and\nORG.RegistrationCOC <> null and\n<MSG>.RegistrationCOC <> ORG.RegistrationCOC","Dependency","N","GUI","Business ID can still be updated after creation if empty or if non-Finnish organisation.","Business ID cannot be updated for Finnish organisation.","-","DI.ORG.015","EC.ORG.205","RC.ORG.205",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE724","v":1},"VR.ORG.004.206","Organisation Identifier (Party Identification) must comply with the GS1 coding standard (i.e. check digit must be determined correctly) when the Country Code is Finland (FI).","isEAN13(<MSG>.OrganisationIdentifier) and <MSG>.CountryCode = 'FI'","Calculation","N","GUI","A GLN/GS1 code holds 13 digits, the last digit contains the checksum of the preceeding 12 digits, i.e. 10 -(sum(odd x 1, even x 3) mod 10).","Value '<1>' invalid, attribute '<2>' is not a valid GLN/GS1 (wrong control digit).","<1>=<MSG>.OrganisationIdentifier.Value\n<2>=<MSG>.OrganisationIdentifier.Label","DI.ORG.004","EC.ORG.206","RC.ORG.206",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[2,"VR.ORG.020.207","If Bank Name or BIC or IBAN is provided, then Bank Name and BIC and IBAN are mandatory.","(<MSG>.BankName <> null or \n<MSG>.BIC <> null or <MSG>.IBAN <> null) and\n(<MSG>.BankName = null or\n<MSG>.BIC = null or <MSG>.IBAN = null)","Obligation","N","GUI","All three attributes are mandatory as a set (i.e. still allowed to have all of them without a value).","If attribute '<1>' or attribute '<2>' or attribute '<3>' is provided, then all these attributes must have a value (current values are '<4>' and '<5>' and '<6>' respectively).","<1>=<MSG>.BankName.Label\n<2>=<MSG>.BIC.Label\n<3>=<MSG>.IBAN.Label\n<4>=<MSG>.BankName.Value\n<5>=<MSG>.BIC.Value\n<6>=<MSG>.IBAN.Value","DI.ORG.020","EC.ORG.207","RC.ORG.207",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[{"$f":"EE726","v":1},"VR.ORG.004.208","Organisation Identifier (Party Identification) does not exist yet in the system.","EXISTS(\nORG.OrganisationIdentifier =\n<MSG>.OrganisationIdentifier\n)","Dependency","N","GUI","Duplicate organisations are not allowed, i.e. also not with a different market role.","Attribute '<1>' with value '<2>' already exists in the system. ","<1>=<MSG>.OrganisationIdentifier.Label\n<2>=<MSG>.OrganisationIdentifier.Value","DI.ORG.004","EC.ORG.208","RC.ORG.208",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE727","v":1},"VR.ORG.014.209","Organisation can only be activated when a Postal Address is present.","<MSG>.Status = ACT and\nNOT(EXISTS(\nOAD.AddressType = PST and\nOAD.IsActive = 1/true and\nOAD.LinkedOrganisationID =\n<MSG>.OrganisationID\n))","Reference","N","GUI",null,"Attribute '<1>' invalid, value '<2>' not allowed when organisation does not have a postal address.","<1>=<MSG>.Status.Label\n<2>=<MSG>.Status.Value","DI.ORG.014","EC.ORG.209","RC.ORG.209",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"Organisation Addresses",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,0]
[{"$f":"EE729","v":2},"VR.OAD.010.022A","Street Name of an organisation’s address cannot exceed 90 characters.","LEN(<MSG>.StreetName.Value) > 90\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.StreetName.Value\n<2>=<MSG>.StreetName.Label\n<3>=[90]","DI.OAD.010","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.OAD.011.022A","Building Number of an organisation’s address cannot exceed 10 characters.","LEN(<MSG>.BuildingNumber.Value) > 10\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.BuildingNumber.Value\n<2>=<MSG>.BuildingNumber.Label\n<3>=[10]","DI.OAD.011","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.OAD.012.022A","Floor Identification (Stairwell Identification) of an organisation’s address cannot exceed 10 characters.","LEN(<MSG>.FloorID.Value) > 10\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.FloorID.Value\n<2>=<MSG>.FloorID.Label\n<3>=[10]","DI.OAD.012","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.OAD.013.022A","Room Identification (Apartment) of an organisation’s address cannot exceed 10 characters.","LEN(<MSG>.RoomID.Value) > 10\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.RoomID.Value\n<2>=<MSG>.RoomID.Label\n<3>=[10]","DI.OAD.013","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.OAD.015.022A","Postcode (Postal Code) of an organisation’s address cannot exceed 10 characters.","LEN(<MSG>.Postcode.Value) > 10\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.Postcode.Value\n<2>=<MSG>.Postcode.Label\n<3>=[10]","DI.OAD.015","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.OAD.016.022A","City Name (Post Office) of an organisation’s address cannot exceed 90 characters.","LEN(<MSG>.CityName.Value) > 50\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.CityName.Value\n<2>=<MSG>.CityName.Label\n<3>=[50]","DI.OAD.016","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.OAD.017.022A","PO Box (Post Office Box) of an organisation’s address cannot exceed 15 characters.","LEN(<MSG>.POBox.Value) > 15\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.POBox.Value\n<2>=<MSG>.POBox.Label\n<3>=[15]","DI.OAD.017","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.OAD.020.022A","Address Description (Care Of) of an organisation’s address cannot exceed 150 characters.","LEN(<MSG>.AddressDescription.Value) > 150\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.AddressDescription.Value\n<2>=<MSG>.AddressDescription.Label\n<3>=[150]","DI.OAD.020","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[1,"VR.OAD.004.100A","An organisation can have only one address with type “Postal”.","<MSG>.AddressType = [PST] and\nEXISTS(OAD.LinkedOrganisationID = <MSG>.LinkedOrganisationID and\nOAD.AddressType = <MSG>.AddressType)\n","Dependency","N","GUI","Applies when creating a new postal address, always reject if PST address already exists in database.","Address type <1> already exists.","<1>=<MSG>.AddressType.Value","DI.OAD.004","EC.OAD.100","RC.OAD.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[{"$f":"EE738","v":1},"VR.OAD.004.100B","An organisation can have only one address with type “Postal”.","<MSG>.AddressType = [PST] and\nEXISTS(OAD.LinkedOrganisationID = <MSG>.JuridicalSenderID and\nOAD.AddressType <> <MSG>.AddressType and\nOAD.OrganisationAddressID = <MSG>.OrganisationAddressID) and\nEXISTS(OAD.LinkedOrganisationID = <MSG>.JuridicalSenderID and\nOAD.AddressType = <MSG>.AddressType and\nOAD.OrganisationAddressID <> <MSG>.OrganisationAddressID)","Dependency","N","GUI","Applies when updating an existing address, only reject if non-postal address in database is updated to PST and another PST address already exists in database (allow updating existing postal address).","Address type <1> already exists.","<1>=<MSG>.AddressType.Value","DI.OAD.004","EC.OAD.100","RC.OAD.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1]
[null,null,"Organisation Contacts",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE740","v":2},"VR.OCT.012.022A","Full Name (Other Name) of an organisation's contact person cannot exceed 90 characters.","LEN(<MSG>.FullName.Value) > 90\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.FullName.Value\n<2>=<MSG>.FullName.Label\n<3>=[90]","DI.OCT.012","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G740,\"State*\")+COUNTIF(N740:ED740,\"X*\")+COUNTIF(N740:ED740,\"T*\")","v":2}]
[2,"VR.ORG.013.020","Default Contact must be submitted with Email Address.","<MSG>.ContactRoleCode = DEF and <MSG>.EmailAddress = null\n","Obligation","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Mandatory field missing'.","Attribute '<1>' is mandatory.","<1>=<MSG>.EmailAddress.Label","DI.OCT.013","EC.CPF.020","RC.CPF.020",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.OCT.013.022A","Email Address (Complete Number) of an organisation's contact person cannot exceed 90 characters.","LEN(<MSG>.EmailAddress.Value) > 90\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.EmailAddress.Value\n<2>=<MSG>.EmailAddress.Label\n<3>=[90]","DI.OCT.013","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.ORG.014.020","Default Contact must be submitted with Phone Number 1.","<MSG>.ContactRoleCode = DEF and <MSG>.PhoneNumber1 = null\n","Obligation","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Mandatory field missing'.","Attribute '<1>' is mandatory.","<1>=<MSG>.PhoneNumber1.Label","DI.OCT.014","EC.CPF.020","RC.CPF.020",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.OCT.014.022A","Phone Number 1 (Complete Number) of an organisation's contact person cannot exceed 90 characters.","LEN(<MSG>.PhoneNumber1.Value) > 90\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.PhoneNumber1.Value\n<2>=<MSG>.PhoneNumber1.Label\n<3>=[90]","DI.OCT.014","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[2,"VR.OCT.015.022A","Phone Number 2 of an organisation's contact person cannot exceed 90 characters.","LEN(<MSG>.PhoneNumber2.Value) > 90\n","Format","N","GUI","Please note that this rule uses the standard CMS/CPF error code for 'Field length too long'.","Value '<1>' invalid, length of  attribute '<2>' cannot exceed '<3>' characters.","<1>=<MSG>.PhoneNumber2.Value\n<2>=<MSG>.PhoneNumber2.Label\n<3>=[90]","DI.OCT.015","EC.CPF.022","RC.CPF.022",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2]
[null,null,"Balance Settlement Connections",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE747","v":2},"VR.BSC.007.101","If there is no active Balance Settlement Connection on the effectuation date reported, then Valid From Date must be in accordance with the eSett business process timelines (i.e. using applicable configuration parameters).","(Determination if new Balance Settlement Connection is required, see FD.DH-512-2 Processes) and\n<MSG>.StartOfOccurrence < Today + CP_BSCCRE_MIN_PERIOD","Dependency","Y","B2B","Valid time period is checked using CP_BSCCRE_MIN_PERIOD configuration parameter for BSC.CRE.NTF process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. after '<3>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= today+CP_BSCCRE_MIN_PERIOD","DI.BSC.007","EC.BSC.101","RC.BSC.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G747,\"State*\")+COUNTIF(N747:ED747,\"X*\")+COUNTIF(N747:ED747,\"T*\")","v":2}]
[null,null,"Virtual Production Units",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE749","v":3},"VR.VPU.007.101","If there is no active Virtual Production Unit on the effectuation date reported or in the future, then Valid From Date must be in accordance with the eSett business process timelines (i.e. using applicable configuration parameters).","(Determination if new Virtual Production Unit is required, see FD.DH-512-3 Processes) and\nVPU not exists at <MSG>.StartOfOccurrence  and <MSG>.StartOfOccurrence < Today + CP_VPUCRE_MIN_PERIOD \nor (\n\t(VPU not exists at change of accounting point's production type and <ACP.UPD>.EffectuationDate < Today + CP_VPUCRE_MIN_PERIOD) \n\tor  \n\t(VPU not present at change of supplier and <AGR.CRE.SLS>.EffectuationDate < Today + CP_VPUCRE_MIN_PERIOD)\n)","Dependency","Y","B2B","Valid time period is checked using CP_VPUCRE_MIN_PERIOD configuration parameter for VPU.CRE.NTF process.","Value '<1>' invalid, attribute '<2>' must be a date within the correct time period (i.e. after '<3>')","<1>=<MSG>.StartOfOccurrence.Value\n<2>=<MSG>.StartOfOccurrence.Label\n<3>= today+CP_VPUCRE_MIN_PERIOD","DI.VPU.007","EC.VPU.101","RC.VPU.101",null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G749,\"State*\")+COUNTIF(N749:ED749,\"X*\")+COUNTIF(N749:ED749,\"T*\")","v":3}]
[null,null,"Production Units",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[null,null,"Balance Responsibilities",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE752","v":1},"VR.BAR.002.100","There must be an active Balance Responsibility (on Start Of Occurrence) that matches the submitted Supplier, Accounting Point and Metering Grid Area.","NOT(EXISTS(\nBAR.SupplierIdentifier = <MSG>.OrganisationIdentifier and\nBAR.MeteringGridAreaCode = <MSG>.MeteringGridAreaCode and\nMPT.MeteringGridAreaCode = BAR.MeteringGridAreaCode and\nMPT.MeteringPointEAN = <MSG>.MeteringPointEAN and\n((MPT.AccountingPointType = AG01 and BAR.BusinessType = A04) or\n (MPT.AccountingPointType = AG02 and BAR.BusinessType = A01)) and \n<MSG.StartOfOccurrence> >= BAR.ValidFromDate and\n <MSG.StartOfOccurrence < BAR.ValidToDate and\nBAR.IsActive = 1\n))","Dependency","Y","B2B",null,"Submitted supplier '<1>' and accounting point '<2>' with type '<3>' and metering grid area '<4>' do not match an active balance responsibility.","<1>=<MSG>.OrganisationIdentifier.Value\n<2>=<MSG>.MeteringPointEAN.Value\n<3>=MPT.MeteringPointType.Value\n<4>=<MSG>.MeteringGridAreaCode","DI.BAR.002","EC.BAR.100","RC.BAR.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G752,\"State*\")+COUNTIF(N752:ED752,\"X*\")+COUNTIF(N752:ED752,\"T*\")","v":1}]
[null,null,"User Identities",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE754","v":2},"VR.UID.011.200","If requesting Market Party has another Market Role than “Market Opererator”, then Authentication Type must be 2 Factor Authentication.","MSG.MarketRole <> MOP and MSG.AuthenticationType <> 2FA\n","Dependency","N","GUI",null,"Value '<1>' invalid, attribute '<2>'  must be 2 Factor Authentication for Market Role '<3>'.","<1>=<MSG>.AuthenticationType.Value\n<2>=<MSG>.AuthenticationType.Label\n<3>=<MSG>.MarketRole.Value","DI.UID.011","EC.UID.200","RC.UID.200",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X","X",null,null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G754,\"State*\")+COUNTIF(N754:ED754,\"X*\")+COUNTIF(N754:ED754,\"T*\")","v":2}]
[{"$f":"EE755","v":1},"EC.UID.113","Because the CMS product can be used with different AAD's the rules for passwords cannot be part of the standard message. Specific FGR message in case the password does not meet the policy.",null,"Obligation","Y","GUI",null,"The password needs to meet policy. The password has to be at least 15 char and contain small and capital letters (a-z), numbers and special characters.",null,"DI.UID.113","EC.UID.113","RC.UID.113",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,null,null,null,null,null,null,null,{"$f":"COUNTIF(G755,\"State*\")+COUNTIF(N755:ED755,\"X*\")+COUNTIF(N755:ED755,\"T*\")","v":1}]
[null,null,"Balance deviation",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," "]
[{"$f":"EE757","v":1},"VR.FIL.001.100","Each row contains expected amount of columns","count(Number of ',' in <MSG>.InputData.Row) <> 5","Calculation / format","Y","GUI","Each row contains expected (5) amount of columns","The expected number of columns was not found in the row",null,"DI.FIL.001","EC.FIL.100","RC.FIL.100",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,{"$f":"COUNTIF(G757,\"State*\")+COUNTIF(N757:ED757,\"X*\")+COUNTIF(N757:ED757,\"T*\")","v":1}]
[1,"VR.FIL.001.101","First row contains correct headers","count(Number of ',' in first row of <MSG>.InputData) <> 5 and first row of <MSG>.InputData <> (MeteringGirdArea;MeteringPointEAN;PeriodStart;PeriodEnd;CorrectionTime)","Format","Y","GUI","First row contains correct headers","Headers are not in the right format",null,"DI.FIL.001","EC.FIL.101","RC.FIL.101",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,1]
[1,"VR.FIL.001.102","There is only one MGA in the file","DISTINCT COUNT(<MSG>.InputData.MeteringGridAreaCode)) > 1","reference","Y","GUI","There is only one MGA in the file","More than one MGA found in the file. Expected 1 got <1>.","<1>=(<MSG.CountMeteringGridAreaCode>)","DI.FIL.001","EC.FIL.102","RC.FIL.102",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,1]
[1,"VR.FIL.001.103","Each MeteringPoinEAN is a valid MeteringPoinEAN GSRN (18 characters).","isEAN18(<MSG>.InputData.MeteringPointEAN)","Calculation","Y","GUI","Each MeteringPoinEAN is a valid MeteringPoinEAN GSRN (18 characters).","GSRN <1> on line <2> does not include the required 18 digits.","<1>=(<MSG>.InputData.MeteringPointEAN) <2>=(<MSG.NumberOfLines>)","DI.FIL.001","EC.FIL.103","RC.FIL.103",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,1]
[1,"VR.FIL.001.104","Each accounting point belongs to reported MGA","NOT(EXISTS(\nMPT.MeteringPointEAN = <MSG>.InputData.MeteringPointEAN and\nMPT.MeteringGridAreaCode = (<MSG>.InputData.MeteringGridAreaCode)","reference","Y","GUI","Each accounting point belongs to reported MGA","Accounting point <1> does not belong to reported MGA <2>.","<1>=(<MSG>.InputData.MeteringPointEAN) <2>=(<MSG.AccountingPointGridAreaCode>)","DI.FIL.001","EC.FIL.104","RC.FIL.104",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,1]
[1,"VR.FIL.001.105","All dates are in expected format (3 different columns)","dateformat(IsNot(<MSG>.InputData.CorrectionDate) <> 'YYYY-MM-DDT22:00:00' or 'YYYY-MM-DDT21:00:00') and (<MSG>.InputData.PeriodEnd) <> 'YYYY-MM-DDT22:00:00' or 'YYYY-MM-DDT21:00:00') and (<MSG>.InputData.PeriodStart) <> 'YYYY-MM-DDT22:00:00' or 'YYYY-MM-DDT21:00:00')","Format","Y","GUI","All dates are in expected format (3 different columns)","Time format is incorrect on line <1>.","<1<=(<MSG.NumberOfLine>)","DI.FIL.001","EC.FIL.105","RC.FIL.105",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,1]
[1,"VR.FIL.001.106","End Date cannot be before Start Date","<MSG>.InputData.PeriodEnd < <MSG>.InputData.PeriodStart","reference","Y","GUI","End Date cannot be before Start Date","Line <3>: Period end <1> cannot be before period start <2>.","<1>=MSG.InputData.PeriodEnd <2>=MSG.InputData.PeriodStart <3>=MSG.NumberOfLine","DI.FIL.001","EC.FIL.106","RC.FIL.106",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,1]
[1,"VR.FIL.001.107","number of lines in input file does not exceed certain configurable parameter","count{number of rows in {<MSG>.InputData) > CP_SMTBDCMCB_MAX_NUMBER_OF_LINES","Calculation","Y","GUI","number of lines in input file does not exceed certain configurable parameter","Number of the rows <1> in input file has exceed the maximum number of <2>.","<1>=MSG.ValidationLineNumber <2>=<MSG.NumberOfLines>","DI.FIL.001","EC.FIL.107","RC.FIL.107",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,1]
[1,"VR.FIL.001.108","MGA exists in the datahub on correction time","NOT(EXISTS(MGA.MeteringGridAreaCode = <MSG>.InputData.MeteringGridAreaCode and <MSG>.InputData.CorrectionTime >= MGA.ValidFromDate","reference","N","GUI","MGA exists in the datahub on correction time","MGA <1> on line <3> does not exists in correction time <2>.","<1>=MSG.InputData.MeteringGridAreaCode <2>=MSG.InputData.CorrectionTime <3>=<MSG.NumberOfLine>","DI.FIL.001","EC.FIL.108","RC.FIL.108",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,1]
[1,"VR.FIL.001.109","Meteringpoint EAN exists in the datahub on correction time","NOT(EXISTS(MPT.MeteringPointEAN = <MSG>.InputData.MeteringPointEAN and <MSG>.InputData.CorrectionTime >= MPT.ValidFromDate","reference","Y","GUI","MeteringpointEAN exists in the datahub at correction time","MeteringpointEAN <1> on line <3> does not exists at correction time <2>.","<1>=MSG.InputData.MeteringPointEAN <2>=MSG.InputData.CorrectionTime <3>=<MSG.NumberOfLine>","DI.FIL.001","EC.FIL.109","RC.FIL.109",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,null,1]
[null,null,"Reporting"]
[{"$f":"EE768","v":2},"VR.CMD-RPT-003","Only specific Authority organisation ((i.e. using configuration parameter) is allowed to access this report. This is managed through a organisation specific identifier and validated through an additional validation rule to prevent an unauthorised organisations from getting access.","<MSG>.MarketRole = 'AUT' and <MSG>.JuridicalSenderIdentifier <> CP_RPT_ORGANISATION_AUT","Dependency","Y","GUI","Organisation identifier is the allowed one. ","Not allowed to request report",null,"DI.ORG.004","EC-CMD-RPT-001","RC-CMD-RPT-001",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,"x",{"$f":"COUNTIF(G768,\"State*\")+COUNTIF(N768:ED768,\"X*\")+COUNTIF(N768:ED768,\"T*\")","v":2}]
[1,"VR.CMD-RPT-002","Only Energy Authority organisation ((i.e. using configuration parameter) is allowed to access this report. This is managed through a organisation specific identifier and validated through an additional validation rule to prevent an unauthorised organisations from getting access.","<MSG>.MarketRole = 'AUT' and <MSG>.JuridicalSenderIdentifier <> CP_RPT_AWG_ENERGY_AUT","Dependency","Y","GUI","Organisation identifier is the allowed one. ","Not allowed to request report",null,"DI.ORG.004","EC-CMD-RPT-001","RC-CMD-RPT-001",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,{"$f":"COUNTIF(G769,\"State*\")+COUNTIF(N769:ED769,\"X*\")+COUNTIF(N769:ED769,\"T*\")","v":1}]
[1,"VR.CMD.RPT.004","Only Data Lake organisation ((i.e. using configuration parameter) is allowed to create this report. This is managed through a organisation specific identifier and validated through an additional validation rule to prevent an unauthorised organisations from getting access.","<MSG>.JuridicalSenderIdentifier <> CP_RPT_ORGANISATION_DLK ","Dependency","Y","GUI","Organisation identifier is the allowed one. ","Not allowed to request report",null,"DI.ORG.004","EC-CMD-RPT-001","RC-CMD-RPT-001",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"x",null,null,null,null,{"$f":"COUNTIF(G770,\"State*\")+COUNTIF(N770:ED770,\"X*\")+COUNTIF(N770:ED770,\"T*\")","v":1}]
[{"$f":"EE771","v":1},"VR.CMD.RPT.005","When reporting average consumption per reference group, the reported Effective Date is in accordance with the business process timelines (i.e. using applicable configuration parameters).","<MSG>.EffectiveDate >\nNow + CP_AVCPRG_MAX_PERIOD)","Dependency","Y","GUI","Report can be triggered maximum 6 months back. ","Reported time is allowed maximum 6 months back.",null,"DI.RPT.005","EC-CMD-RPT-005","RC-CMD-RPT-005",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"X",null,{"$f":"COUNTIF(G771,\"State*\")+COUNTIF(N771:ED771,\"X*\")+COUNTIF(N771:ED771,\"T*\")","v":1}]