cpee 1.3.196 → 1.3.197

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,550 @@
1
+ <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
+ <attributes>
3
+ <uuid>9fc06103-9922-498f-bba4-231738847696</uuid>
4
+ <theme>default</theme>
5
+ <info>ss</info>
6
+ <modeltype>CPEE</modeltype>
7
+ </attributes>
8
+ <state>ready</state>
9
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
10
+ <positions/>
11
+ <dataelements/>
12
+ <endpoints>
13
+ <timeout>http://promise.wst.univie.ac.at:9301/timeout</timeout>
14
+ <timeout1>http://promise.wst.univie.ac.at:9301/timeout/1</timeout1>
15
+ <timeout2>http://promise.wst.univie.ac.at:9301/timeout/16</timeout2>
16
+ <timeout3>http://promise.wst.univie.ac.at:9301/timeout/41</timeout3>
17
+ <preminder1>http://promise.wst.univie.ac.at:9301/preminder/1</preminder1>
18
+ <preminder2>http://promise.wst.univie.ac.at:9301/preminder/2</preminder2>
19
+ <sreminder1>http://promise.wst.univie.ac.at:9301/sreminder/1</sreminder1>
20
+ <sreminder2>http://promise.wst.univie.ac.at:9301/sreminder/2</sreminder2>
21
+ <inkasso>http://promise.wst.univie.ac.at:9301/inkasso</inkasso>
22
+ <customer>http://promise.wst.univie.ac.at:9301/customer</customer>
23
+ <credit>http://promise.wst.univie.ac.at:9301/credit</credit>
24
+ <credit_worthy>http://promise.wst.univie.ac.at:9301/credit/worthy</credit_worthy>
25
+ <activation>http://promise.wst.univie.ac.at:9301/activation</activation>
26
+ <zaehler>http://promise.wst.univie.ac.at:9301/zaehler</zaehler>
27
+ <update>http://promise.wst.univie.ac.at:9301/update</update>
28
+ <consume>http://promise.wst.univie.ac.at:9301/consume</consume>
29
+ <decide>http://promise.wst.univie.ac.at:9301/decide</decide>
30
+ <credit_consume>http://promise.wst.univie.ac.at:9301/credit/consume</credit_consume>
31
+ <credit_activate>http://promise.wst.univie.ac.at:9301/credit/activate</credit_activate>
32
+ </endpoints>
33
+ <dsl>call :a20, :customer, parameters: { :label =&gt; "\"Generate Customer\"", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END
34
+ data.knr=result[0].value;data.status="normal";data.zaehlerid=result[1].value
35
+ END
36
+ call :a10, :sreminder1, parameters: { :label =&gt; "\"Sendung erste Mahnung\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr}, :type =&gt; :task, :mid =&gt; 'sid-5CD9191C-7233-414F-8EF4-A4E1A8D39E07' }
37
+ parallel :wait =&gt; 1 do
38
+ parallel_branch do
39
+ call :a14, :timeout1, parameters: { :label =&gt; "\"2-woechige Frist\"", :method =&gt; :post, :arguments =&gt; {:timeout =&gt; 2} }
40
+ call :a11, :sreminder2, parameters: { :label =&gt; "\"Senden zweite Mahnung\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr}, :type =&gt; :task, :mid =&gt; 'sid-8417E18E-016C-4F87-86FC-216475C1C029' }
41
+ parallel :wait =&gt; 1 do
42
+ parallel_branch do
43
+ call :a7, :timeout2, parameters: { :label =&gt; "\"2-woechige Frist\"", :method =&gt; :post, :arguments =&gt; {:timeout =&gt; 2} }
44
+ call :a1, :inkasso, parameters: { :label =&gt; "\"Registrierung als Inkassokunde\"", :method =&gt; :put, :arguments =&gt; {:status =&gt; data.status} }, finalize: &lt;&lt;-END
45
+ data.status=result[0].value;data.zaehler_status='normal'
46
+ END
47
+ parallel :wait =&gt; -1 do
48
+ parallel_branch do
49
+ call :a4, :activation, parameters: { :label =&gt; "\"Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)\"", :method =&gt; :post, :type =&gt; :task, :mid =&gt; 'sid-032C8450-4DF9-435B-8105-F0C13734A7A8', :arguments =&gt; {:knr =&gt; data.knr} }
50
+ end
51
+ parallel_branch do
52
+ call :a2, :inkasso, parameters: { :label =&gt; "\"Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb\"", :method =&gt; :put, :arguments =&gt; {:zaehlerid =&gt; data.zaehlerid, :status =&gt; data.zaehler_status} }, finalize: &lt;&lt;-END
53
+ data.zaehler_status=result[0].value
54
+ END
55
+ end
56
+ end
57
+ call :a6, :update, parameters: { :label =&gt; "\"Aktualisierung Guthaben\"", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END
58
+ data.wartefrist="ok";data.guthaben=result[0].value.to_i
59
+ END
60
+ call :a3, :timeout3, parameters: { :label =&gt; "\"Aufladen\"", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END
61
+ p data.guthaben
62
+ END
63
+ loop pre_test{data.wartefrist!='verstrichen'} do
64
+ loop pre_test{data.guthaben&gt;0} do
65
+ call :a5, :consume, parameters: { :label =&gt; "\"Verbrauchen\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr} }, finalize: &lt;&lt;-END
66
+ data.guthaben=data.guthaben-result[0].value.to_i
67
+ END
68
+ end
69
+ call :a13, :decide, parameters: { :label =&gt; "\"Gesetzl. Frist\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr} }, finalize: &lt;&lt;-END
70
+ data.wartefrist="verstrichen" if result[0].name == 'wartefrist';data.guthaben=result[0].value.to_i if result[0].name == "balance"
71
+ END
72
+ end
73
+ call :a17, :timeout, parameters: { :label =&gt; "\"Abschaltung\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr} }, finalize: &lt;&lt;-END
74
+ data.zaehler_status='off'
75
+ END
76
+ call :a8, :credit_worthy, parameters: { :label =&gt; "\"Kreditwuerdig\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr} }, finalize: &lt;&lt;-END
77
+ data.kreditf=result[0].value;data.kredit_wanted="true"
78
+ END
79
+ choose :exclusive do
80
+ alternative "data.kreditf=='true'" do
81
+ call :a12, :timeout, parameters: { :label =&gt; "\"activate parametrizable credit function and credit offer\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr} }
82
+ choose :exclusive do
83
+ alternative "data.kredit_wanted=='true'" do
84
+ call :a18, :credit_activate, parameters: { :label =&gt; "\"activate meter\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; knr=data.knr} }, finalize: &lt;&lt;-END
85
+ data.kredit=result[0].value.to_i
86
+ END
87
+ loop pre_test{data.kredit&gt;0} do
88
+ call :a19, :credit_consume, parameters: { :label =&gt; "\"Consume credit\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; knr=data.knr} }, finalize: &lt;&lt;-END
89
+ data.kredit=data.kredit-result[0].value.to_i
90
+ END
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
97
+ parallel_branch do
98
+ call :a9, :preminder2, parameters: { :label =&gt; "\"Kunde zahlt\"", :method =&gt; :post, :arguments =&gt; nil }
99
+ end
100
+ end
101
+ end
102
+ parallel_branch do
103
+ call :a15, :preminder1, parameters: { :label =&gt; "\"Kunde zahlt\"", :method =&gt; :post, :arguments =&gt; nil }
104
+ end
105
+ end
106
+ </dsl>
107
+ <dslx>
108
+ <description xmlns="http://cpee.org/ns/description/1.0">
109
+ <call id="a20" endpoint="customer" svg-label="Generate Customer">
110
+ <parameters>
111
+ <label>"Generate Customer"</label>
112
+ <method>:post</method>
113
+ <arguments/>
114
+ </parameters>
115
+ <finalize>data.knr=result[0].value;data.status="normal";data.zaehlerid=result[1].value</finalize>
116
+ </call>
117
+ <call id="a10" endpoint="sreminder1" svg-label="Sendung erste Mahnung">
118
+ <parameters>
119
+ <label>"Sendung erste Mahnung"</label>
120
+ <method>:post</method>
121
+ <arguments>
122
+ <knr>data.knr</knr>
123
+ </arguments>
124
+ <type>:task</type>
125
+ <mid>'sid-5CD9191C-7233-414F-8EF4-A4E1A8D39E07'</mid>
126
+ </parameters>
127
+ </call>
128
+ <parallel wait="1" svg-label="">
129
+ <parallel_branch svg-label="">
130
+ <call id="a14" endpoint="timeout1" svg-label="2-woechige Frist">
131
+ <parameters>
132
+ <label>"2-woechige Frist"</label>
133
+ <method>:post</method>
134
+ <arguments>
135
+ <timeout>2</timeout>
136
+ </arguments>
137
+ </parameters>
138
+ </call>
139
+ <call id="a11" endpoint="sreminder2" svg-label="Senden zweite Mahnung">
140
+ <parameters>
141
+ <label>"Senden zweite Mahnung"</label>
142
+ <method>:post</method>
143
+ <arguments>
144
+ <knr>data.knr</knr>
145
+ </arguments>
146
+ <type>:task</type>
147
+ <mid>'sid-8417E18E-016C-4F87-86FC-216475C1C029'</mid>
148
+ </parameters>
149
+ </call>
150
+ <parallel wait="1" svg-label="">
151
+ <parallel_branch svg-label="">
152
+ <call id="a7" endpoint="timeout2" svg-label="2-woechige Frist">
153
+ <parameters>
154
+ <label>"2-woechige Frist"</label>
155
+ <method>:post</method>
156
+ <arguments>
157
+ <timeout>2</timeout>
158
+ </arguments>
159
+ </parameters>
160
+ </call>
161
+ <call id="a1" endpoint="inkasso" svg-label="Registrierung als Inkassokunde">
162
+ <parameters>
163
+ <label>"Registrierung als Inkassokunde"</label>
164
+ <method>:put</method>
165
+ <arguments>
166
+ <status>data.status</status>
167
+ </arguments>
168
+ </parameters>
169
+ <finalize>data.status=result[0].value;data.zaehler_status='normal'</finalize>
170
+ </call>
171
+ <parallel wait="-1" svg-label="">
172
+ <parallel_branch svg-label="">
173
+ <call id="a4" endpoint="activation" svg-label="Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)">
174
+ <parameters>
175
+ <label>"Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)"</label>
176
+ <method>:post</method>
177
+ <type>:task</type>
178
+ <mid>'sid-032C8450-4DF9-435B-8105-F0C13734A7A8'</mid>
179
+ <arguments>
180
+ <knr>data.knr</knr>
181
+ </arguments>
182
+ </parameters>
183
+ </call>
184
+ </parallel_branch>
185
+ <parallel_branch svg-label="">
186
+ <call id="a2" endpoint="inkasso" svg-label="Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb">
187
+ <parameters>
188
+ <label>"Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb"</label>
189
+ <method>:put</method>
190
+ <arguments>
191
+ <zaehlerid>data.zaehlerid</zaehlerid>
192
+ <status>data.zaehler_status</status>
193
+ </arguments>
194
+ </parameters>
195
+ <finalize>data.zaehler_status=result[0].value</finalize>
196
+ </call>
197
+ </parallel_branch>
198
+ </parallel>
199
+ <call id="a6" endpoint="update" svg-label="Aktualisierung Guthaben">
200
+ <parameters>
201
+ <label>"Aktualisierung Guthaben"</label>
202
+ <method>:post</method>
203
+ <arguments/>
204
+ </parameters>
205
+ <finalize>data.wartefrist="ok";data.guthaben=result[0].value.to_i</finalize>
206
+ </call>
207
+ <call id="a3" endpoint="timeout3" svg-label="Aufladen">
208
+ <parameters>
209
+ <label>"Aufladen"</label>
210
+ <method>:post</method>
211
+ <arguments/>
212
+ </parameters>
213
+ <finalize>p data.guthaben</finalize>
214
+ </call>
215
+ <loop mode="pre_test" condition="data.wartefrist!='verstrichen'" svg-label="">
216
+ <loop mode="pre_test" condition="data.guthaben&gt;0" svg-label="">
217
+ <call id="a5" endpoint="consume" svg-label="Verbrauchen">
218
+ <parameters>
219
+ <label>"Verbrauchen"</label>
220
+ <method>:post</method>
221
+ <arguments>
222
+ <knr>data.knr</knr>
223
+ </arguments>
224
+ </parameters>
225
+ <finalize>data.guthaben=data.guthaben-result[0].value.to_i</finalize>
226
+ </call>
227
+ </loop>
228
+ <call id="a13" endpoint="decide" svg-label="Gesetzl. Frist">
229
+ <parameters>
230
+ <label>"Gesetzl. Frist"</label>
231
+ <method>:post</method>
232
+ <arguments>
233
+ <knr>data.knr</knr>
234
+ </arguments>
235
+ </parameters>
236
+ <finalize>data.wartefrist="verstrichen" if result[0].name == 'wartefrist';data.guthaben=result[0].value.to_i if result[0].name == "balance"</finalize>
237
+ </call>
238
+ </loop>
239
+ <call id="a17" endpoint="timeout" svg-label="Abschaltung">
240
+ <parameters>
241
+ <label>"Abschaltung"</label>
242
+ <method>:post</method>
243
+ <arguments>
244
+ <knr>data.knr</knr>
245
+ </arguments>
246
+ </parameters>
247
+ <finalize>data.zaehler_status='off'</finalize>
248
+ </call>
249
+ <call id="a8" endpoint="credit_worthy" svg-label="Kreditwuerdig">
250
+ <parameters>
251
+ <label>"Kreditwuerdig"</label>
252
+ <method>:post</method>
253
+ <arguments>
254
+ <knr>data.knr</knr>
255
+ </arguments>
256
+ </parameters>
257
+ <finalize>data.kreditf=result[0].value;data.kredit_wanted="true"</finalize>
258
+ </call>
259
+ <choose mode="exclusive" svg-label="">
260
+ <alternative condition="data.kreditf=='true'" svg-label="">
261
+ <call id="a12" endpoint="timeout" svg-label="activate parametrizable credit function and credit offer">
262
+ <parameters>
263
+ <label>"activate parametrizable credit function and credit offer"</label>
264
+ <method>:post</method>
265
+ <arguments>
266
+ <knr>data.knr</knr>
267
+ </arguments>
268
+ </parameters>
269
+ </call>
270
+ <choose mode="exclusive" svg-label="">
271
+ <alternative condition="data.kredit_wanted=='true'" svg-label="">
272
+ <call id="a18" endpoint="credit_activate" svg-label="activate meter">
273
+ <parameters>
274
+ <label>"activate meter"</label>
275
+ <method>:post</method>
276
+ <arguments>
277
+ <knr>knr=data.knr</knr>
278
+ </arguments>
279
+ </parameters>
280
+ <finalize>data.kredit=result[0].value.to_i</finalize>
281
+ </call>
282
+ <loop mode="pre_test" condition="data.kredit&gt;0" svg-label="">
283
+ <call id="a19" endpoint="credit_consume" svg-label="Consume credit">
284
+ <parameters>
285
+ <label>"Consume credit"</label>
286
+ <method>:post</method>
287
+ <arguments>
288
+ <knr>knr=data.knr</knr>
289
+ </arguments>
290
+ </parameters>
291
+ <finalize>data.kredit=data.kredit-result[0].value.to_i</finalize>
292
+ </call>
293
+ </loop>
294
+ </alternative>
295
+ <otherwise svg-label=""/>
296
+ </choose>
297
+ </alternative>
298
+ <otherwise svg-label=""/>
299
+ </choose>
300
+ </parallel_branch>
301
+ <parallel_branch svg-label="">
302
+ <call id="a9" endpoint="preminder2" svg-label="Kunde zahlt">
303
+ <parameters>
304
+ <label>"Kunde zahlt"</label>
305
+ <method>:post</method>
306
+ <arguments/>
307
+ </parameters>
308
+ </call>
309
+ </parallel_branch>
310
+ </parallel>
311
+ </parallel_branch>
312
+ <parallel_branch svg-label="">
313
+ <call id="a15" endpoint="preminder1" svg-label="Kunde zahlt">
314
+ <parameters>
315
+ <label>"Kunde zahlt"</label>
316
+ <method>:post</method>
317
+ <arguments/>
318
+ </parameters>
319
+ </call>
320
+ </parallel_branch>
321
+ </parallel>
322
+ </description>
323
+ </dslx>
324
+ <status>
325
+ <id>0</id>
326
+ <message>undefined</message>
327
+ </status>
328
+ <description>
329
+ <description xmlns="http://cpee.org/ns/description/1.0">
330
+ <call id="a20" endpoint="customer" svg-label="Generate Customer">
331
+ <parameters>
332
+ <label>"Generate Customer"</label>
333
+ <method>:post</method>
334
+ <arguments/>
335
+ </parameters>
336
+ <finalize>data.knr=result[0].value;data.status="normal";data.zaehlerid=result[1].value</finalize>
337
+ </call>
338
+ <call id="a10" endpoint="sreminder1" svg-label="Sendung erste Mahnung">
339
+ <parameters>
340
+ <label>"Sendung erste Mahnung"</label>
341
+ <method>:post</method>
342
+ <arguments>
343
+ <knr>data.knr</knr>
344
+ </arguments>
345
+ <type>:task</type>
346
+ <mid>'sid-5CD9191C-7233-414F-8EF4-A4E1A8D39E07'</mid>
347
+ </parameters>
348
+ </call>
349
+ <parallel wait="1" svg-label="">
350
+ <parallel_branch svg-label="">
351
+ <call id="a14" endpoint="timeout1" svg-label="2-woechige Frist">
352
+ <parameters>
353
+ <label>"2-woechige Frist"</label>
354
+ <method>:post</method>
355
+ <arguments>
356
+ <timeout>2</timeout>
357
+ </arguments>
358
+ </parameters>
359
+ </call>
360
+ <call id="a11" endpoint="sreminder2" svg-label="Senden zweite Mahnung">
361
+ <parameters>
362
+ <label>"Senden zweite Mahnung"</label>
363
+ <method>:post</method>
364
+ <arguments>
365
+ <knr>data.knr</knr>
366
+ </arguments>
367
+ <type>:task</type>
368
+ <mid>'sid-8417E18E-016C-4F87-86FC-216475C1C029'</mid>
369
+ </parameters>
370
+ </call>
371
+ <parallel wait="1" svg-label="">
372
+ <parallel_branch svg-label="">
373
+ <call id="a7" endpoint="timeout2" svg-label="2-woechige Frist">
374
+ <parameters>
375
+ <label>"2-woechige Frist"</label>
376
+ <method>:post</method>
377
+ <arguments>
378
+ <timeout>2</timeout>
379
+ </arguments>
380
+ </parameters>
381
+ </call>
382
+ <call id="a1" endpoint="inkasso" svg-label="Registrierung als Inkassokunde">
383
+ <parameters>
384
+ <label>"Registrierung als Inkassokunde"</label>
385
+ <method>:put</method>
386
+ <arguments>
387
+ <status>data.status</status>
388
+ </arguments>
389
+ </parameters>
390
+ <finalize>data.status=result[0].value;data.zaehler_status='normal'</finalize>
391
+ </call>
392
+ <parallel wait="-1" svg-label="">
393
+ <parallel_branch svg-label="">
394
+ <call id="a4" endpoint="activation" svg-label="Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)">
395
+ <parameters>
396
+ <label>"Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)"</label>
397
+ <method>:post</method>
398
+ <type>:task</type>
399
+ <mid>'sid-032C8450-4DF9-435B-8105-F0C13734A7A8'</mid>
400
+ <arguments>
401
+ <knr>data.knr</knr>
402
+ </arguments>
403
+ </parameters>
404
+ </call>
405
+ </parallel_branch>
406
+ <parallel_branch svg-label="">
407
+ <call id="a2" endpoint="inkasso" svg-label="Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb">
408
+ <parameters>
409
+ <label>"Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb"</label>
410
+ <method>:put</method>
411
+ <arguments>
412
+ <zaehlerid>data.zaehlerid</zaehlerid>
413
+ <status>data.zaehler_status</status>
414
+ </arguments>
415
+ </parameters>
416
+ <finalize>data.zaehler_status=result[0].value</finalize>
417
+ </call>
418
+ </parallel_branch>
419
+ </parallel>
420
+ <call id="a6" endpoint="update" svg-label="Aktualisierung Guthaben">
421
+ <parameters>
422
+ <label>"Aktualisierung Guthaben"</label>
423
+ <method>:post</method>
424
+ <arguments/>
425
+ </parameters>
426
+ <finalize>data.wartefrist="ok";data.guthaben=result[0].value.to_i</finalize>
427
+ </call>
428
+ <call id="a3" endpoint="timeout3" svg-label="Aufladen">
429
+ <parameters>
430
+ <label>"Aufladen"</label>
431
+ <method>:post</method>
432
+ <arguments/>
433
+ </parameters>
434
+ <finalize>p data.guthaben</finalize>
435
+ </call>
436
+ <loop mode="pre_test" condition="data.wartefrist!='verstrichen'" svg-label="">
437
+ <loop mode="pre_test" condition="data.guthaben&gt;0" svg-label="">
438
+ <call id="a5" endpoint="consume" svg-label="Verbrauchen">
439
+ <parameters>
440
+ <label>"Verbrauchen"</label>
441
+ <method>:post</method>
442
+ <arguments>
443
+ <knr>data.knr</knr>
444
+ </arguments>
445
+ </parameters>
446
+ <finalize>data.guthaben=data.guthaben-result[0].value.to_i</finalize>
447
+ </call>
448
+ </loop>
449
+ <call id="a13" endpoint="decide" svg-label="Gesetzl. Frist">
450
+ <parameters>
451
+ <label>"Gesetzl. Frist"</label>
452
+ <method>:post</method>
453
+ <arguments>
454
+ <knr>data.knr</knr>
455
+ </arguments>
456
+ </parameters>
457
+ <finalize>data.wartefrist="verstrichen" if result[0].name == 'wartefrist';data.guthaben=result[0].value.to_i if result[0].name == "balance"</finalize>
458
+ </call>
459
+ </loop>
460
+ <call id="a17" endpoint="timeout" svg-label="Abschaltung">
461
+ <parameters>
462
+ <label>"Abschaltung"</label>
463
+ <method>:post</method>
464
+ <arguments>
465
+ <knr>data.knr</knr>
466
+ </arguments>
467
+ </parameters>
468
+ <finalize>data.zaehler_status='off'</finalize>
469
+ </call>
470
+ <call id="a8" endpoint="credit_worthy" svg-label="Kreditwuerdig">
471
+ <parameters>
472
+ <label>"Kreditwuerdig"</label>
473
+ <method>:post</method>
474
+ <arguments>
475
+ <knr>data.knr</knr>
476
+ </arguments>
477
+ </parameters>
478
+ <finalize>data.kreditf=result[0].value;data.kredit_wanted="true"</finalize>
479
+ </call>
480
+ <choose mode="exclusive" svg-label="">
481
+ <alternative condition="data.kreditf=='true'" svg-label="">
482
+ <call id="a12" endpoint="timeout" svg-label="activate parametrizable credit function and credit offer">
483
+ <parameters>
484
+ <label>"activate parametrizable credit function and credit offer"</label>
485
+ <method>:post</method>
486
+ <arguments>
487
+ <knr>data.knr</knr>
488
+ </arguments>
489
+ </parameters>
490
+ </call>
491
+ <choose mode="exclusive" svg-label="">
492
+ <alternative condition="data.kredit_wanted=='true'" svg-label="">
493
+ <call id="a18" endpoint="credit_activate" svg-label="activate meter">
494
+ <parameters>
495
+ <label>"activate meter"</label>
496
+ <method>:post</method>
497
+ <arguments>
498
+ <knr>knr=data.knr</knr>
499
+ </arguments>
500
+ </parameters>
501
+ <finalize>data.kredit=result[0].value.to_i</finalize>
502
+ </call>
503
+ <loop mode="pre_test" condition="data.kredit&gt;0" svg-label="">
504
+ <call id="a19" endpoint="credit_consume" svg-label="Consume credit">
505
+ <parameters>
506
+ <label>"Consume credit"</label>
507
+ <method>:post</method>
508
+ <arguments>
509
+ <knr>knr=data.knr</knr>
510
+ </arguments>
511
+ </parameters>
512
+ <finalize>data.kredit=data.kredit-result[0].value.to_i</finalize>
513
+ </call>
514
+ </loop>
515
+ </alternative>
516
+ <otherwise svg-label=""/>
517
+ </choose>
518
+ </alternative>
519
+ <otherwise svg-label=""/>
520
+ </choose>
521
+ </parallel_branch>
522
+ <parallel_branch svg-label="">
523
+ <call id="a9" endpoint="preminder2" svg-label="Kunde zahlt">
524
+ <parameters>
525
+ <label>"Kunde zahlt"</label>
526
+ <method>:post</method>
527
+ <arguments/>
528
+ </parameters>
529
+ </call>
530
+ </parallel_branch>
531
+ </parallel>
532
+ </parallel_branch>
533
+ <parallel_branch svg-label="">
534
+ <call id="a15" endpoint="preminder1" svg-label="Kunde zahlt">
535
+ <parameters>
536
+ <label>"Kunde zahlt"</label>
537
+ <method>:post</method>
538
+ <arguments/>
539
+ </parameters>
540
+ </call>
541
+ </parallel_branch>
542
+ </parallel>
543
+ </description>
544
+ </description>
545
+ <transformation>
546
+ <description type="copy"/>
547
+ <dataelements type="none"/>
548
+ <endpoints type="none"/>
549
+ </transformation>
550
+ </properties>