Added capital works blank section. Synced calling screen.
[capital-apms-progress.git] / workflow / v-flow-task.w
blob4f54023d0ba6649402465bec575097b4eb2812bf
1 &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI
2 &ANALYZE-RESUME
3 /* Connected Databases
4 ttpl PROGRESS
5 */
6 &Scoped-define WINDOW-NAME CURRENT-WINDOW
7 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS V-table-Win
8 /*------------------------------------------------------------------------
9 File:
10 ------------------------------------------------------------------------*/
12 CREATE WIDGET-POOL.
14 /* *************************** Definitions ************************** */
16 DEF VAR mode AS CHAR NO-UNDO.
18 DEF VAR parent-key-type AS CHAR NO-UNDO.
19 DEF VAR parent-task-key AS CHAR NO-UNDO.
21 /* _UIB-CODE-BLOCK-END */
22 &ANALYZE-RESUME
25 &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
27 /* ******************** Preprocessor Definitions ******************** */
29 &Scoped-define PROCEDURE-TYPE SmartViewer
31 &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
33 /* Name of first Frame and/or Browse and/or first Query */
34 &Scoped-define FRAME-NAME F-Main
36 /* External Tables */
37 &Scoped-define EXTERNAL-TABLES FlowTask
38 &Scoped-define FIRST-EXTERNAL-TABLE FlowTask
41 /* Need to scope the external tables to this procedure */
42 DEFINE QUERY external_tables FOR FlowTask.
43 /* Standard List Definitions */
44 &Scoped-Define ENABLED-FIELDS FlowTask.DueDate FlowTask.Description ~
45 FlowTask.Priority FlowTask.EntityCode
46 &Scoped-define FIELD-PAIRS~
47 ~{&FP1}DueDate ~{&FP2}DueDate ~{&FP3}~
48 ~{&FP1}Description ~{&FP2}Description ~{&FP3}~
49 ~{&FP1}EntityCode ~{&FP2}EntityCode ~{&FP3}
50 &Scoped-define ENABLED-TABLES FlowTask
51 &Scoped-define FIRST-ENABLED-TABLE FlowTask
52 &Scoped-Define ENABLED-OBJECTS RECT-1 cmb_TaskType cmb_EntityType
53 &Scoped-Define DISPLAYED-FIELDS FlowTask.DueDate FlowTask.FlowTaskNo ~
54 FlowTask.JobLogNo FlowTask.Description FlowTask.Priority ~
55 FlowTask.EntityCode
56 &Scoped-Define DISPLAYED-OBJECTS cmb_TaskType cmb_EntityType fil_EntityName ~
57 fil_AllocatedTo
59 /* Custom List Definitions */
60 /* ADM-CREATE-FIELDS,ADM-ASSIGN-FIELDS,List-3,List-4,List-5,List-6 */
62 /* _UIB-PREPROCESSOR-BLOCK-END */
63 &ANALYZE-RESUME
66 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" V-table-Win _INLINE
67 /* Actions: ? adm/support/keyedit.w ? ? ? */
68 /* STRUCTURED-DATA
69 <KEY-OBJECT>
70 THIS-PROCEDURE
71 </KEY-OBJECT>
72 <FOREIGN-KEYS>
73 </FOREIGN-KEYS>
74 <EXECUTING-CODE>
75 **************************
76 * Set attributes related to FOREIGN KEYS
78 RUN set-attribute-list (
79 'Keys-Accepted = "",
80 Keys-Supplied = ""':U).
81 /**************************
82 </EXECUTING-CODE> */
84 /* _UIB-CODE-BLOCK-END */
85 &ANALYZE-RESUME
87 /* ************************ Function Prototypes ********************** */
89 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD find-parent-keytype V-table-Win
90 FUNCTION find-parent-keytype RETURNS CHARACTER
91 ( /* no parameters */ ) FORWARD.
93 /* _UIB-CODE-BLOCK-END */
94 &ANALYZE-RESUME
97 /* *********************** Control Definitions ********************** */
100 /* Definitions of the field level widgets */
101 DEFINE VARIABLE cmb_EntityType AS CHARACTER FORMAT "X(256)":U
102 LABEL "Entity"
103 VIEW-AS COMBO-BOX INNER-LINES 5
104 LIST-ITEMS "Item 1"
105 SIZE 14.86 BY 1 NO-UNDO.
107 DEFINE VARIABLE cmb_TaskType AS CHARACTER FORMAT "X(256)":U
108 LABEL "Task Type"
109 VIEW-AS COMBO-BOX INNER-LINES 25
110 LIST-ITEMS "Item 1"
111 SIZE 46.29 BY 1 NO-UNDO.
113 DEFINE VARIABLE fil_AllocatedTo AS CHARACTER FORMAT "X(256)":U
114 VIEW-AS FILL-IN
115 SIZE 53.14 BY 1
116 FONT 10 NO-UNDO.
118 DEFINE VARIABLE fil_EntityName AS CHARACTER FORMAT "X(256)":U
119 VIEW-AS FILL-IN
120 SIZE 36 BY 1.05 NO-UNDO.
122 DEFINE RECTANGLE RECT-1
123 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
124 SIZE 66.29 BY 8.8.
127 /* ************************ Frame Definitions *********************** */
129 DEFINE FRAME F-Main
130 FlowTask.DueDate AT ROW 1.2 COL 8.14 COLON-ALIGNED
131 LABEL "Due Date"
132 VIEW-AS FILL-IN
133 SIZE 10.86 BY 1.05
134 FlowTask.FlowTaskNo AT ROW 1.2 COL 31.57 COLON-ALIGNED
135 VIEW-AS FILL-IN
136 SIZE 7.14 BY 1.05
137 FlowTask.JobLogNo AT ROW 1.2 COL 53.86 COLON-ALIGNED
138 LABEL "Job number"
139 VIEW-AS FILL-IN
140 SIZE 8 BY 1.05
141 cmb_TaskType AT ROW 2.6 COL 8.14 COLON-ALIGNED
142 FlowTask.Description AT ROW 3.8 COL 8.14 COLON-ALIGNED
143 VIEW-AS FILL-IN
144 SIZE 46.29 BY 1.05
145 FlowTask.Priority AT ROW 5 COL 10.14 HELP
146 "Priority of task" NO-LABEL
147 VIEW-AS SLIDER MIN-VALUE -10 MAX-VALUE 10 HORIZONTAL
148 TIC-MARKS BOTTOM FREQUENCY 2
149 SIZE 42.29 BY 1.8 TOOLTIP "Adjust the priority of the task by moving the slider"
150 cmb_EntityType AT ROW 7.4 COL 8.14 COLON-ALIGNED
151 FlowTask.EntityCode AT ROW 7.4 COL 23 COLON-ALIGNED NO-LABEL
152 VIEW-AS FILL-IN
153 SIZE 5.72 BY 1.05
154 fil_EntityName AT ROW 7.4 COL 28.72 COLON-ALIGNED NO-LABEL
155 fil_AllocatedTo AT ROW 8.6 COL 11.57 COLON-ALIGNED NO-LABEL
156 "Person:" VIEW-AS TEXT
157 SIZE 5.14 BY 1 AT ROW 8.6 COL 4.43
158 "Relaxed" VIEW-AS TEXT
159 SIZE 6.29 BY 1 AT ROW 6 COL 4.43
160 "Urgent" VIEW-AS TEXT
161 SIZE 8 BY 1 AT ROW 6 COL 52.43
162 RECT-1 AT ROW 1 COL 1
163 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
164 SIDE-LABELS NO-UNDERLINE THREE-D
165 AT COL 1 ROW 1 SCROLLABLE
166 FONT 10.
169 /* *********************** Procedure Settings ************************ */
171 &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
172 /* Settings for THIS-PROCEDURE
173 Type: SmartViewer
174 External Tables: TTPL.FlowTask
175 Allow: Basic,DB-Fields
176 Frames: 1
177 Add Fields to: EXTERNAL-TABLES
178 Other Settings: PERSISTENT-ONLY COMPILE
181 /* This procedure should always be RUN PERSISTENT. Report the error, */
182 /* then cleanup and return. */
183 IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
184 MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT."
185 VIEW-AS ALERT-BOX ERROR BUTTONS OK.
186 RETURN.
187 END.
189 &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
191 /* ************************* Create Window ************************** */
193 &ANALYZE-SUSPEND _CREATE-WINDOW
194 /* DESIGN Window definition (used by the UIB)
195 CREATE WINDOW V-table-Win ASSIGN
196 HEIGHT = 12.05
197 WIDTH = 69.86.
198 /* END WINDOW DEFINITION */
200 &ANALYZE-RESUME
203 /* *************** Runtime Attributes and UIB Settings ************** */
205 &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
206 /* SETTINGS FOR WINDOW V-table-Win
207 VISIBLE,,RUN-PERSISTENT */
208 /* SETTINGS FOR FRAME F-Main
209 NOT-VISIBLE Size-to-Fit */
210 ASSIGN
211 FRAME F-Main:SCROLLABLE = FALSE
212 FRAME F-Main:HIDDEN = TRUE.
214 /* SETTINGS FOR FILL-IN FlowTask.DueDate IN FRAME F-Main
215 EXP-LABEL */
216 /* SETTINGS FOR FILL-IN FlowTask.EntityCode IN FRAME F-Main
217 EXP-LABEL */
218 /* SETTINGS FOR FILL-IN fil_AllocatedTo IN FRAME F-Main
219 NO-ENABLE */
220 /* SETTINGS FOR FILL-IN fil_EntityName IN FRAME F-Main
221 NO-ENABLE */
222 /* SETTINGS FOR FILL-IN FlowTask.FlowTaskNo IN FRAME F-Main
223 NO-ENABLE */
224 /* SETTINGS FOR FILL-IN FlowTask.JobLogNo IN FRAME F-Main
225 NO-ENABLE EXP-LABEL */
226 /* SETTINGS FOR SLIDER FlowTask.Priority IN FRAME F-Main
227 EXP-HELP */
228 /* _RUN-TIME-ATTRIBUTES-END */
229 &ANALYZE-RESUME
232 /* Setting information for Queries and Browse Widgets fields */
234 &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
235 /* Query rebuild information for FRAME F-Main
236 _Options = "NO-LOCK"
237 _Query is NOT OPENED
238 */ /* FRAME F-Main */
239 &ANALYZE-RESUME
244 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB V-table-Win
245 /* ************************* Included-Libraries *********************** */
247 {src/adm/method/viewer.i}
248 {inc/method/m-mntvwr.i}
249 {inc/entity.i}
251 /* _UIB-CODE-BLOCK-END */
252 &ANALYZE-RESUME
257 /* ************************ Control Triggers ************************ */
259 &Scoped-define SELF-NAME cmb_EntityType
260 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL cmb_EntityType V-table-Win
261 ON U1 OF cmb_EntityType IN FRAME F-Main /* Entity */
263 {inc/selcmb/scety1.i "FlowTask" "EntityType"}
264 END.
266 /* _UIB-CODE-BLOCK-END */
267 &ANALYZE-RESUME
270 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL cmb_EntityType V-table-Win
271 ON U2 OF cmb_EntityType IN FRAME F-Main /* Entity */
273 {inc/selcmb/scety2.i "FlowTask" "EntityType"}
274 END.
276 /* _UIB-CODE-BLOCK-END */
277 &ANALYZE-RESUME
280 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL cmb_EntityType V-table-Win
281 ON VALUE-CHANGED OF cmb_EntityType IN FRAME F-Main /* Entity */
283 DO WITH FRAME {&FRAME-NAME}:
284 APPLY "ENTRY":U TO FlowTask.EntityCode .
285 END.
286 END.
288 /* _UIB-CODE-BLOCK-END */
289 &ANALYZE-RESUME
292 &Scoped-define SELF-NAME cmb_TaskType
293 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL cmb_TaskType V-table-Win
294 ON U1 OF cmb_TaskType IN FRAME F-Main /* Task Type */
296 {workflow/inc/SCFwTskTyp1.i "FlowTask" "FlowTaskType"}
297 END.
299 /* _UIB-CODE-BLOCK-END */
300 &ANALYZE-RESUME
303 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL cmb_TaskType V-table-Win
304 ON U2 OF cmb_TaskType IN FRAME F-Main /* Task Type */
306 {workflow/inc/SCFwTskTyp2.i "FlowTask" "FlowTaskType"}
307 END.
309 /* _UIB-CODE-BLOCK-END */
310 &ANALYZE-RESUME
313 &Scoped-define SELF-NAME FlowTask.EntityCode
314 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL FlowTask.EntityCode V-table-Win
315 ON LEAVE OF FlowTask.EntityCode IN FRAME F-Main /* EntityCode */
317 RUN entity-changed.
318 END.
320 /* _UIB-CODE-BLOCK-END */
321 &ANALYZE-RESUME
324 &Scoped-define SELF-NAME fil_AllocatedTo
325 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL fil_AllocatedTo V-table-Win
326 ON U1 OF fil_AllocatedTo IN FRAME F-Main
328 {inc/selfil/sfpsn1.i "FlowTask" "AllocatedTo"}
329 END.
331 /* _UIB-CODE-BLOCK-END */
332 &ANALYZE-RESUME
335 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL fil_AllocatedTo V-table-Win
336 ON U2 OF fil_AllocatedTo IN FRAME F-Main
338 {inc/selfil/sfpsn2.i "FlowTask" "AllocatedTo"}
339 END.
341 /* _UIB-CODE-BLOCK-END */
342 &ANALYZE-RESUME
345 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL fil_AllocatedTo V-table-Win
346 ON U3 OF fil_AllocatedTo IN FRAME F-Main
348 {inc/selfil/sfpsn3.i "FlowTask" "AllocatedTo"}
349 END.
351 /* _UIB-CODE-BLOCK-END */
352 &ANALYZE-RESUME
355 &UNDEFINE SELF-NAME
357 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK V-table-Win
360 /* *************************** Main Block *************************** */
362 /* _UIB-CODE-BLOCK-END */
363 &ANALYZE-RESUME
366 /* ********************** Internal Procedures *********************** */
368 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available V-table-Win _ADM-ROW-AVAILABLE
369 PROCEDURE adm-row-available :
370 /*------------------------------------------------------------------------------
371 Purpose: Dispatched to this procedure when the Record-
372 Source has a new row available. This procedure
373 tries to get the new row (or foriegn keys) from
374 the Record-Source and process it.
375 Parameters: <none>
376 ------------------------------------------------------------------------------*/
378 /* Define variables needed by this internal procedure. */
379 {src/adm/template/row-head.i}
381 /* Create a list of all the tables that we need to get. */
382 {src/adm/template/row-list.i "FlowTask"}
384 /* Get the record ROWID's from the RECORD-SOURCE. */
385 {src/adm/template/row-get.i}
387 /* FIND each record specified by the RECORD-SOURCE. */
388 {src/adm/template/row-find.i "FlowTask"}
390 /* Process the newly available records (i.e. display fields,
391 open queries, and/or pass records on to any RECORD-TARGETS). */
392 {src/adm/template/row-end.i}
394 END PROCEDURE.
396 /* _UIB-CODE-BLOCK-END */
397 &ANALYZE-RESUME
400 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancel-changes V-table-Win
401 PROCEDURE cancel-changes :
402 /*------------------------------------------------------------------------------
403 Purpose: Quit without applying any changes
404 ------------------------------------------------------------------------------*/
405 IF mode = "Add" THEN DO TRANSACTION:
406 FIND CURRENT FlowTask NO-ERROR.
407 IF AVAILABLE(FlowTask) THEN DELETE FlowTask.
408 END.
410 RUN check-modified( 'clear':U ).
412 RUN dispatch( 'exit':U ).
414 END PROCEDURE.
416 /* _UIB-CODE-BLOCK-END */
417 &ANALYZE-RESUME
420 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE confirm-changes V-table-Win
421 PROCEDURE confirm-changes :
422 /*------------------------------------------------------------------------------
423 Purpose:
424 ------------------------------------------------------------------------------*/
425 RUN verify-flow-task.
426 IF RETURN-VALUE <> "" THEN RETURN.
428 RUN dispatch( 'update-record':U ).
429 RUN notify( 'open-query,record-source':U ).
431 RUN dispatch( 'exit':U ).
433 END PROCEDURE.
435 /* _UIB-CODE-BLOCK-END */
436 &ANALYZE-RESUME
439 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI V-table-Win _DEFAULT-DISABLE
440 PROCEDURE disable_UI :
441 /*------------------------------------------------------------------------------
442 Purpose: DISABLE the User Interface
443 Parameters: <none>
444 Notes: Here we clean-up the user-interface by deleting
445 dynamic widgets we have created and/or hide
446 frames. This procedure is usually called when
447 we are ready to "clean-up" after running.
448 ------------------------------------------------------------------------------*/
449 /* Hide all frames. */
450 HIDE FRAME F-Main.
451 IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
452 END PROCEDURE.
454 /* _UIB-CODE-BLOCK-END */
455 &ANALYZE-RESUME
458 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE entity-changed V-table-Win
459 PROCEDURE entity-changed :
460 /*------------------------------------------------------------------------------
461 Purpose:
462 ------------------------------------------------------------------------------*/
463 DO WITH FRAME {&FRAME-NAME}:
464 fil_EntityName:SCREEN-VALUE = get-entity-name( SUBSTRING(INPUT cmb_EntityType, 1, 1), INPUT FlowTask.EntityCode ).
465 END.
466 END PROCEDURE.
468 /* _UIB-CODE-BLOCK-END */
469 &ANALYZE-RESUME
472 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE inst-display-fields V-table-Win
473 PROCEDURE inst-display-fields :
474 /*------------------------------------------------------------------------------
475 Purpose:
476 ------------------------------------------------------------------------------*/
477 RUN entity-changed.
478 END PROCEDURE.
480 /* _UIB-CODE-BLOCK-END */
481 &ANALYZE-RESUME
484 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE inst-initialize V-table-Win
485 PROCEDURE inst-initialize :
486 /*------------------------------------------------------------------------------
487 Purpose:
488 ------------------------------------------------------------------------------*/
490 parent-key-type = find-parent-keytype().
491 IF mode = 'Add' THEN DO:
492 have-records = Yes.
493 RUN dispatch( 'add-record':U ).
494 END.
495 ELSE IF mode = "Maintain" THEN
496 RUN dispatch( 'enable-fields':U ).
497 ELSE
498 RUN dispatch( 'disable-fields':U ).
500 END PROCEDURE.
502 /* _UIB-CODE-BLOCK-END */
503 &ANALYZE-RESUME
506 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE override-add-record V-table-Win
507 PROCEDURE override-add-record :
508 /*------------------------------------------------------------------------------
509 Purpose:
510 ------------------------------------------------------------------------------*/
511 DO WITH FRAME {&FRAME-NAME}:
512 DEF VAR date-due AS DATE NO-UNDO.
513 DEF VAR task-no AS INT NO-UNDO INITIAL 0.
514 DEF VAR results AS CHAR NO-UNDO.
515 DEF VAR et AS CHAR NO-UNDO.
516 DEF VAR ec AS INT NO-UNDO.
518 date-due = TODAY + 28.
519 RUN workflow/update-task.p( INPUT-OUTPUT date-due, INPUT-OUTPUT task-no, "NewTask",
520 ",,EV", OUTPUT results ).
522 FIND FlowTask WHERE FlowTask.DueDate = date-due
523 AND FlowTask.FlowTaskNo = task-no NO-LOCK NO-ERROR.
524 IF NOT AVAILABLE( FlowTask ) THEN
525 MESSAGE "{&FILE-NAME}: Couldn't create new task?" SKIP results.
527 et = find-parent-key( "EntityType" ).
528 ec = INT( find-parent-key( "EntityCode" ) ).
530 DO TRANSACTION:
531 FIND CURRENT FlowTask EXCLUSIVE-LOCK.
532 IF et = "Person" THEN
533 FlowTask.AllocatedTo = ec.
534 ELSE ASSIGN
535 FlowTask.EntityType = et
536 FlowTask.EntityCode = ec.
537 FIND CURRENT FlowTask NO-LOCK.
538 END.
540 CURRENT-WINDOW:TITLE = "Adding a New Task".
541 RUN dispatch( 'display-fields':U ).
542 RUN dispatch( 'enable-fields':U ).
543 RUN dispatch( 'update-record':U ).
545 END.
547 END PROCEDURE.
549 /* _UIB-CODE-BLOCK-END */
550 &ANALYZE-RESUME
553 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE pre-assign-statement V-table-Win
554 PROCEDURE pre-assign-statement :
555 /*------------------------------------------------------------------------------
556 Purpose:
557 ------------------------------------------------------------------------------*/
558 DEF VAR due-date AS DATE NO-UNDO.
559 DEF VAR task-no AS INT NO-UNDO.
560 DEF VAR results AS CHAR NO-UNDO.
562 DO WITH FRAME {&FRAME-NAME}:
563 due-date = FlowTask.DueDate.
564 task-no = FlowTask.FlowTaskNo.
565 IF (INPUT FlowTask.DueDate <> due-date) THEN DO:
566 FIND CURRENT FlowTask NO-LOCK.
567 RUN workflow/update-task.p( INPUT-OUTPUT due-date, INPUT-OUTPUT task-no, "MoveTask",
568 STRING(INPUT FlowTask.DueDate,"99/99/9999"), OUTPUT results ).
569 FIND CURRENT FlowTask EXCLUSIVE-LOCK.
570 FlowTask.DueDate = due-date.
571 FlowTask.FlowTaskNo = task-no.
572 DISPLAY FlowTask.DueDate FlowTask.FlowTaskNo .
573 END.
575 END.
576 END PROCEDURE.
578 /* _UIB-CODE-BLOCK-END */
579 &ANALYZE-RESUME
582 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE pre-destroy V-table-Win
583 PROCEDURE pre-destroy :
584 /*------------------------------------------------------------------------------
585 Purpose:
586 ------------------------------------------------------------------------------*/
587 IF LAST-EVENT:FUNCTION = "WINDOW-CLOSE" THEN RUN cancel-changes.
588 END PROCEDURE.
590 /* _UIB-CODE-BLOCK-END */
591 &ANALYZE-RESUME
594 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records V-table-Win _ADM-SEND-RECORDS
595 PROCEDURE send-records :
596 /*------------------------------------------------------------------------------
597 Purpose: Send record ROWID's for all tables used by
598 this file.
599 Parameters: see template/snd-head.i
600 ------------------------------------------------------------------------------*/
602 /* Define variables needed by this internal procedure. */
603 {src/adm/template/snd-head.i}
605 /* For each requested table, put it's ROWID in the output list. */
606 {src/adm/template/snd-list.i "FlowTask"}
608 /* Deal with any unexpected table requests before closing. */
609 {src/adm/template/snd-end.i}
611 END PROCEDURE.
613 /* _UIB-CODE-BLOCK-END */
614 &ANALYZE-RESUME
617 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed V-table-Win
618 PROCEDURE state-changed :
619 /* -----------------------------------------------------------
620 Purpose:
621 Parameters: <none>
622 Notes:
623 -------------------------------------------------------------*/
624 DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
625 DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
627 CASE p-state:
628 /* Object instance CASEs can go here to replace standard behavior
629 or add new cases. */
630 {src/adm/template/vstates.i}
631 END CASE.
632 END PROCEDURE.
634 /* _UIB-CODE-BLOCK-END */
635 &ANALYZE-RESUME
638 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE use-Mode V-table-Win
639 PROCEDURE use-Mode :
640 /*------------------------------------------------------------------------------
641 Purpose:
642 ------------------------------------------------------------------------------*/
643 DEF INPUT PARAMETER new-mode AS CHAR NO-UNDO.
644 mode = new-mode.
645 END PROCEDURE.
647 /* _UIB-CODE-BLOCK-END */
648 &ANALYZE-RESUME
651 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE verify-flow-task V-table-Win
652 PROCEDURE verify-flow-task :
653 /*------------------------------------------------------------------------------
654 Purpose:
655 ------------------------------------------------------------------------------*/
657 DO WITH FRAME {&FRAME-NAME}:
659 IF TRIM(INPUT FlowTask.Description) = "" THEN DO:
660 MESSAGE "You must supply a description for the Task!"
661 VIEW-AS ALERT-BOX ERROR TITLE "Incomplete Description".
662 APPLY 'ENTRY':U TO FlowTask.Description.
663 RETURN "FAIL".
664 END.
666 END.
668 END PROCEDURE.
670 /* _UIB-CODE-BLOCK-END */
671 &ANALYZE-RESUME
674 /* ************************ Function Implementations ***************** */
676 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION find-parent-keytype V-table-Win
677 FUNCTION find-parent-keytype RETURNS CHARACTER
678 ( /* no parameters */ ) :
679 /*------------------------------------------------------------------------------
680 Purpose:
681 Notes:
682 ------------------------------------------------------------------------------*/
683 DEF VAR key-type AS CHAR NO-UNDO INITIAL ?.
684 DEF VAR curr-hdl AS HANDLE NO-UNDO.
685 DEF VAR c-rec-src AS CHAR NO-UNDO.
687 RUN get-link-handle IN adm-broker-hdl
688 ( THIS-PROCEDURE, 'RECORD-SOURCE':U, OUTPUT c-rec-src ).
689 ASSIGN curr-hdl = WIDGET-HANDLE( c-rec-src ) NO-ERROR.
691 IF VALID-HANDLE( curr-hdl ) THEN DO:
692 RUN get-attribute IN curr-hdl( 'Key-Name':U ).
693 key-type = RETURN-VALUE.
694 END.
696 RETURN key-type.
698 END FUNCTION.
700 /* _UIB-CODE-BLOCK-END */
701 &ANALYZE-RESUME