{ "version":0, "uniqueName":"RebateRecordFeeder", "label":null, "validAfter":"2016-04-01", "status":"ACTIVE", "simulationSet":null, "elements":[ { "combinationType":"INFO", "elementName":"StartDate", "elementLabel":null, "elementDescription":null, "elementGroups":null, "conditionElementName":null, "displayOptions":0, "formatType":null, "elementSuffix":null, "formulaExpression":"DateUserEntry(\"Start Date\")", "typedId":null, "version":0, "criticalAlert":null, "redAlert":null, "yellowAlert":null, "hideWarnings":false, "elementTimeout":0, "allowOverride":false, "summarize":false, "hideOnNull":false, "userGroup":null, "cssProperties":null }, { "combinationType":"INFO", "elementName":"EndDate", "elementLabel":null, "elementDescription":null, "elementGroups":null, "conditionElementName":null, "displayOptions":0, "formatType":null, "elementSuffix":null, "formulaExpression":"DateUserEntry(\"End Date\")", "typedId":null, "version":0, "criticalAlert":null, "redAlert":null, "yellowAlert":null, "hideWarnings":false, "elementTimeout":0, "allowOverride":false, "summarize":false, "hideOnNull":false, "userGroup":null, "cssProperties":null }, { "combinationType":"FUNCTION", "elementName":"RebateRecords", "elementLabel":null, "elementDescription":null, "elementGroups":null, "conditionElementName":null, "displayOptions":0, "formatType":null, "elementSuffix":null, "formulaExpression":"api.logInfo(\"currentItem\", api.currentItem())\n\ndef startDate = api.getElement(\"StartDate\")\ndef endDate = api.getElement(\"EndDate\")\n\n// period\nif (startDate == null){\n startDate = api.currentItem(\"incCalculationDate\")\n api.logInfo(\"incStartDate\", startDate)\n api.trace(\"incStartDate\", null, startDate)\n}\n\ndef dateFilter = (startDate != null)?\n \t\t\t\t\t Filter.greaterOrEqual(\"lastUpdateDate\", startDate) :\n\t\t\t\t\t Filter.isNotNull(\"lastUpdateDate\")\n\nif (endDate != null){\n dateFilter = Filter.and(dateFilter, Filter.lessOrEqual(\"endDate\", endDate))\n}\napi.logInfo(\"period\", dateFilter)\napi.trace(\"period\", null, dateFilter)\n\n// RA's status needs to be DRAFT\ndef statusFilter = Filter.equal(\"rebateAgreementStatus\", \"DRAFT\")\n\ndef rebateAgreements = api.find(\"RBA\", 0,0, \"lastUpdateDate\", dateFilter, statusFilter)\nfor (def rba : rebateAgreements){\n api.logInfo(\"rba\", rba)\n \n def rbaFilter = Filter.equal(\"sourceId\", rba.uniqueName)\n def rebateRecords = api.find(\"RR\", 0,0, \"rank\", [\"id\"], rbaFilter)\n for (def rr : rebateRecords){\n \tapi.emit(rr.id)\n\tapi.logInfo(\"emitted rr\", rr)\n\tapi.trace(\"emitted rr\", null, rr)\n }\n}\n\n", "typedId":null, "version":0, "criticalAlert":null, "redAlert":null, "yellowAlert":null, "hideWarnings":false, "elementTimeout":0, "allowOverride":false, "summarize":false, "hideOnNull":false, "userGroup":null, "cssProperties":null } ], "userGroupEdit":null, "userGroupViewDetails":null, "formulaNature":null, "lastUpdateByName":"pfx_support", "inputDescriptors":[ ], "formulaType":"PRICING", "library":false, "typedId":null, "createDate":"2016-04-05T18:38:57", "lastUpdateDate":"2016-04-05T21:25:04" }