Create Schedule by XAPI function

Input XML data examples for createSchedule XAPI function
XAPI function createSchedule can create a schedule based on XML input data. You can find 4 examples for TIMER, DAILY, WEEKLY and MONTHLY schedules. Input data taken from Exported schedule that look like as follows:
<?xml version="1.0" encoding="UTF-8"?>
<SI_RESOURCES xmlns="http://www.stercomm.com/SI/SI_IE_Resources" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" GISVersion="3207" FrameworkVersion="2">
<SCHEDULES>
<SCHEDULE>
<SCHEDULE_TYPE>2</SCHEDULE_TYPE>
<ASSOCIATED_BP_NAME>Alert</ASSOCIATED_BP_NAME>
<ASSOCIATED_SERVICE_NAME>Alert</ASSOCIATED_SERVICE_NAME>
<SCHEDULE_PARAMS/>
<SCHEDULE_ONSTARTUP>1</SCHEDULE_ONSTARTUP>
<SCHEDULE_EXECUTION_COUNT>-1</SCHEDULE_EXECUTION_COUNT>
<SCHEDULE_EXECUTION_CURRENT_COUNT>0</SCHEDULE_EXECUTION_CURRENT_COUNT>
<SCHEDULE_EXECUTION_STATUS>WAIT</SCHEDULE_EXECUTION_STATUS>
<SCHEDULE_STATUS>ACTIVE</SCHEDULE_STATUS>
<SCHEDULE_SYSTEMNAME>node1</SCHEDULE_SYSTEMNAME>
<SCHEDULE_USERID>admin</SCHEDULE_USERID>
<SCHEDULE_TIMINGXML><![CDATA[<timingxml><days><day ofMonth="1"><times><time>2200</time></times></day><day ofMonth="3"><times><time>2300</time></times></day><day ofMonth="10"><times><time>0000</time></times></day><day ofMonth="12"><times><time>1200</time></times></day><day ofMonth="24"><times><time>0100</time></times></day></days><excludedDates></excludedDates></timingxml>]]></SCHEDULE_TIMINGXML>
</SCHEDULE>
</SCHEDULES>
<BPDEFS>
<BPDEF>
<LangResource>SIB64ENCODEPHByb2Nlc3MgbmFtZT0iQWxlcnQiPgoJPHNlcXVlbmNlIG5hbWU9IkFsZXJ0TWFpbiI+CgkJPG9wZXJhdGlvbiBuYW1lPSJBbGVydExvY2siPgoJCQk8cGFydGljaXBhbnQgbmFtZT0iU3lzdGVtTG9ja1NlcnZpY2UiLz4KCQkJPG91dHB1dCBtZXNzYWdlPSJYb3V0Ij4KCQkJCTxhc3NpZ24gdG89IkxPQ0tfS0VZIj5BTEVSVExPQ0s8L2Fzc2lnbj4KCQkJCTxhc3NpZ24gdG89IkRVUkFUSU9OIj44NjQwMDAwMDwvYXNzaWduPgoJCQkJPGFzc2lnbiB0bz0iQ0xFQVJfT05fU1RBUlRfVVAiPnRydWU8L2Fzc2lnbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNzaWduIHRvPSJVU0VSIj5TeXN0ZW1Mb2NrU2VydmljZTwvYXNzaWduPgoJCQkJPGFzc2lnbiB0bz0iLiIgZnJvbT0iKiI+PC9hc3NpZ24+CgkJCTwvb3V0cHV0PgoJCQk8aW5wdXQgbWVzc2FnZT0iWGluIj4KCQkJCTxhc3NpZ24gdG89Ii4iIGZyb209IioiPjwvYXNzaWduPgoJCQk8L2lucHV0PgoJCTwvb3BlcmF0aW9uPgoJCgkJPG9wZXJhdGlvbiBuYW1lPSJBbGVydCBQcm9jZXNzIFJlcG9ydCI+CgkJCTxwYXJ0aWNpcGFudCBuYW1lPSJBbGVydFNlcnZpY2UiLz4KCQkJPG91dHB1dCBtZXNzYWdlPSJBbGVydFNlcnZpY2VUeXBlSW5wdXRNZXNzYWdlIj4KCQkJPC9vdXRwdXQ+CgkJCTxpbnB1dCBtZXNzYWdlPSJpbm1zZyI+CgkJCTwvaW5wdXQ+CgkJPC9vcGVyYXRpb24+CgkJCgkJPG9wZXJhdGlvbiBuYW1lPSJBbGVydFVuTG9jayI+CgkJPHBhcnRpY2lwYW50IG5hbWU9IlN5c3RlbUxvY2tTZXJ2aWNlIi8+CgkJPG91dHB1dCBtZXNzYWdlPSJYb3V0Ij4KCQkJPGFzc2lnbiB0bz0iQUNUSU9OIj51bmxvY2s8L2Fzc2lnbj4KCQkJPGFzc2lnbiB0bz0iTE9DS19LRVkiPkFMRVJUTE9DSzwvYXNzaWduPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNzaWduIHRvPSJVU0VSIj5TeXN0ZW1Mb2NrU2VydmljZTwvYXNzaWduPgoJCQk8YXNzaWduIHRvPSIuIiBmcm9tPSIqIj48L2Fzc2lnbj4KCQk8L291dHB1dD4KCQk8aW5wdXQgbWVzc2FnZT0iWGluIj4KCQkJPGFzc2lnbiB0bz0iLiIgZnJvbT0iKiI+PC9hc3NpZ24+CgkJPC9pbnB1dD4KCQk8L29wZXJhdGlvbj4KCQkKCQk8b25GYXVsdD4KCQkJPG9wZXJhdGlvbj4KCQkJPHBhcnRpY2lwYW50IG5hbWU9IlN5c3RlbUxvY2tTZXJ2aWNlIi8+CgkJCTxvdXRwdXQgbWVzc2FnZT0iWG91dCI+CgkJCQk8YXNzaWduIHRvPSJBQ1RJT04iPnVubG9jazwvYXNzaWduPgoJCQkJPGFzc2lnbiB0bz0iTE9DS19LRVkiPkFMRVJUTE9DSzwvYXNzaWduPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc3NpZ24gdG89IlVTRVIiPlN5c3RlbUxvY2tTZXJ2aWNlPC9hc3NpZ24+CgkJCQk8YXNzaWduIHRvPSIuIiBmcm9tPSIqIj48L2Fzc2lnbj4KCQkJPC9vdXRwdXQ+CgkJCTxpbnB1dCBtZXNzYWdlPSJYaW4iPgoJCQkJPGFzc2lnbiB0bz0iLiIgZnJvbT0iKiI+PC9hc3NpZ24+CgkJCTwvaW5wdXQ+CgkJCTwvb3BlcmF0aW9uPgoJCTwvb25GYXVsdD4KIAk8L3NlcXVlbmNlPgo8L3Byb2Nlc3M+CgoK</LangResource>
<ConfigResource>
<ConfDescription>created via command line</ConfDescription>
<ConfProcessName>Alert</ConfProcessName>
<ConfWFDID>645</ConfWFDID>
<ConfWFDVersion>1</ConfWFDVersion>
<OBJECT_VERSION>1</OBJECT_VERSION>
<SIResourceDefaultVersion>true</SIResourceDefaultVersion>
<ConfPersist>0</ConfPersist>
<ConfLifeSpan>-1</ConfLifeSpan>
<ConfRemoval>0</ConfRemoval>
<ConfDocStorage>4</ConfDocStorage>
<ConfPriority>4</ConfPriority>
<ConfRecoveryLevel>3</ConfRecoveryLevel>
<ConfOnfaultFlag>false</ConfOnfaultFlag>
<ConfStatus>1</ConfStatus>
<ConfLastUsed>Empty</ConfLastUsed>
<ConfEncoding>None</ConfEncoding>
<ConfType>1</ConfType>
<ConfDocTracking>false</ConfDocTracking>
<ConfDeadLineInterval>-1</ConfDeadLineInterval>
<ConfFirstNotifyInterval>-1</ConfFirstNotifyInterval>
<ConfSecondNotifyInterval>-1</ConfSecondNotifyInterval>
<ConfEventLevel>2</ConfEventLevel>
<ConfCategory/>
<ConfPreferredNode/>
<ConfMandatoryNode/>
<ConfTransaction>false</ConfTransaction>
<ConfCommitOnError>true</ConfCommitOnError>
</ConfigResource>
</BPDEF>
</BPDEFS>
</SI_RESOURCES>
In SCHEDULE_TIMINGXML element we can find an input for XAPI function.
- Example for Schedule based on Timer:

<Schedule
ExecutionTimer="TIMER"
ScheduleType="SCHEDULE_WORKFLOW"
Status="ACTIVE"
SystemName="node1"
ServiceName="UniqueScheduleName1"
WorkFlowName="TEST_assign"
UserID="admin">
<TimingXML>
<days>
<day ofWeek="-1">
<times>
<timeRange>
<range>0000-2359</range>
<interval>120</interval>
<onMinute>0</onMinute>
</timeRange>
</times>
</day>
</days>
<excludedDates/>
</TimingXML>
</Schedule>
- Example for Daily Schedule:

<Schedule
ExecutionTimer="DAILY_WEEKLY_MONTHLY"
ScheduleType="SCHEDULE_WORKFLOW"
Status="ACTIVE"
SystemName="node1"
ServiceName="UniqueScheduleName1"
WorkFlowName="TEST_assign"
UserID="admin">
<TimingXML>
<days>
<day ofWeek="-1">
<times>
<time>2200</time>
<time>2300</time>
<time>1000</time>
<time>1100</time>
</times>
</day>
</days>
<excludedDates/>
<excludedDates/>
</TimingXML>
</Schedule>
- Example for Weekly Schedule:

<Schedule
ExecutionTimer="DAILY_WEEKLY_MONTHLY"
ScheduleType="SCHEDULE_WORKFLOW"
Status="ACTIVE"
SystemName="node1"
ServiceName="CollectionCode5"
WorkFlowName="TEST_assign"
UserID="admin">
<TimingXML>
<days>
<day ofWeek="2">
<times>
<time>2200</time>
</times>
</day>
<day ofWeek="3">
<times>
<time>2300</time>
</times>
</day>
<day ofWeek="4">
<times>
<time>1200</time>
</times>
</day>
<day ofWeek="5">
<times>
<time>0000</time>
</times>
</day>
<day ofWeek="1">
<times>
<time>1400</time>
</times>
</day>
</days>
<excludedDates/>
</TimingXML>
</Schedule>
- Example for Monthly Schedule:

<Schedule
ExecutionTimer="DAILY_WEEKLY_MONTHLY"
ScheduleType="SCHEDULE_WORKFLOW"
Status="ACTIVE"
SystemName="node1"
ServiceName="CollectionCode5"
WorkFlowName="TEST_assign"
UserID="admin">
<TimingXML>
<days>
<day ofMonth="1">
<times>
<time>2200</time>
</times>
</day>
<day ofMonth="3">
<times>
<time>2300</time>
</times>
</day>
<day ofMonth="10">
<times>
<time>0000</time>
</times>
</day>
<day ofMonth="12">
<times>
<time>1200</time>
</times>
</day>
<day ofMonth="24">
<times>
<time>0100</time>
</times>
</day>
</days>
<excludedDates/>
</TimingXML>
</Schedule>
- BP that will run XAPI service to create a schedule:
<process name="default">
<sequence>
<operation name="XAPI Service">
<participant name="XAPIService"/>
<output message="XAPIServiceTypeInputMessage">
<assign to="." from="*"></assign>
<assign to="api">createSchedule</assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>