Adjustments to FM Call report, reorder layout, section headers.
[capital-apms-progress.git] / lnk / d-movlnk.w
blobf106d3ce913202ac30b6863bb15b03f47a55c3f8
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 &Scoped-define FRAME-NAME D-Dialog
8 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS D-Dialog
9 /*------------------------------------------------------------------------
11 File:
12 Author: Andrew McMillan
14 Created:
15 ------------------------------------------------------------------------*/
16 DEF INPUT PARAMETER group-name LIKE UsrGroup.GroupName NO-UNDO.
17 DEF INPUT PARAMETER node-code LIKE LinkNode.NodeCode NO-UNDO.
18 DEF INPUT PARAMETER link-code LIKE ProgramLink.LinkCode NO-UNDO.
20 CREATE WIDGET-POOL.
22 /* *************************** Definitions ************************** */
24 DEF VAR delim AS CHAR NO-UNDO INITIAL "|".
26 DEF VAR ret-value AS CHAR NO-UNDO INITIAL "".
28 /* _UIB-CODE-BLOCK-END */
29 &ANALYZE-RESUME
32 &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
34 /* ******************** Preprocessor Definitions ******************** */
36 &Scoped-define PROCEDURE-TYPE SmartDialog
38 &Scoped-define ADM-CONTAINER DIALOG-BOX
40 /* Name of first Frame and/or Browse and/or first Query */
41 &Scoped-define FRAME-NAME D-Dialog
43 /* Internal Tables (found by Frame, Query & Browse Queries) */
44 &Scoped-define INTERNAL-TABLES UsrGroupMenuItem
46 /* Definitions for DIALOG-BOX D-Dialog */
47 &Scoped-define FIELDS-IN-QUERY-D-Dialog UsrGroupMenuItem.MenuName ~
48 UsrGroupMenuItem.ButtonLabel UsrGroupMenuItem.LinkCode ~
49 UsrGroupMenuItem.SequenceCode
50 &Scoped-define OPEN-QUERY-D-Dialog OPEN QUERY D-Dialog FOR EACH UsrGroupMenuItem SHARE-LOCK.
51 &Scoped-define TABLES-IN-QUERY-D-Dialog UsrGroupMenuItem
52 &Scoped-define FIRST-TABLE-IN-QUERY-D-Dialog UsrGroupMenuItem
55 /* Standard List Definitions */
56 &Scoped-Define ENABLED-OBJECTS RECT-1 cmb_GroupName Btn_OK Btn_Cancel
57 &Scoped-Define DISPLAYED-FIELDS UsrGroupMenuItem.MenuName ~
58 UsrGroupMenuItem.ButtonLabel UsrGroupMenuItem.LinkCode ~
59 UsrGroupMenuItem.SequenceCode
60 &Scoped-Define DISPLAYED-OBJECTS cmb_GroupName
62 /* Custom List Definitions */
63 /* List-1,List-2,List-3,List-4,List-5,List-6 */
65 /* _UIB-PREPROCESSOR-BLOCK-END */
66 &ANALYZE-RESUME
70 /* *********************** Control Definitions ********************** */
72 /* Define a dialog box */
74 /* Definitions of the field level widgets */
75 DEFINE BUTTON Btn_Cancel AUTO-END-KEY
76 LABEL "Cancel"
77 SIZE 8 BY 1
78 BGCOLOR 8 .
80 DEFINE BUTTON Btn_OK AUTO-GO DEFAULT
81 LABEL "OK"
82 SIZE 8.57 BY 1
83 BGCOLOR 8 .
85 DEFINE VARIABLE cmb_GroupName AS CHARACTER FORMAT "X(256)":U
86 LABEL "Group"
87 VIEW-AS COMBO-BOX INNER-LINES 20
88 LIST-ITEMS "Item 1"
89 SIZE 70.29 BY 1
90 FONT 8 NO-UNDO.
92 DEFINE RECTANGLE RECT-1
93 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
94 SIZE 76.57 BY 3.8.
96 /* Query definitions */
97 &ANALYZE-SUSPEND
98 DEFINE QUERY D-Dialog FOR
99 UsrGroupMenuItem SCROLLING.
100 &ANALYZE-RESUME
102 /* ************************ Frame Definitions *********************** */
104 DEFINE FRAME D-Dialog
105 UsrGroupMenuItem.MenuName AT ROW 1.4 COL 5.29 COLON-ALIGNED
106 LABEL "Menu"
107 VIEW-AS FILL-IN
108 SIZE 39.43 BY 1.05
109 UsrGroupMenuItem.ButtonLabel AT ROW 1.4 COL 51.57 COLON-ALIGNED
110 LABEL "Label"
111 VIEW-AS FILL-IN
112 SIZE 24 BY 1.05
113 UsrGroupMenuItem.LinkCode AT ROW 2.6 COL 5.29 COLON-ALIGNED
114 LABEL "Link"
115 VIEW-AS FILL-IN
116 SIZE 8 BY 1.05
117 UsrGroupMenuItem.SequenceCode AT ROW 2.6 COL 35 COLON-ALIGNED
118 LABEL "Seq"
119 VIEW-AS FILL-IN
120 SIZE 2.86 BY 1.05
121 cmb_GroupName AT ROW 3.8 COL 5.29 COLON-ALIGNED
122 Btn_OK AT ROW 5.2 COL 1.57
123 Btn_Cancel AT ROW 5.2 COL 11.29
124 RECT-1 AT ROW 1.2 COL 1.57
125 SPACE(0.14) SKIP(1.24)
126 WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
127 SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
128 FONT 10
129 TITLE "Move ProgramLink"
130 DEFAULT-BUTTON Btn_OK CANCEL-BUTTON Btn_Cancel.
133 /* *********************** Procedure Settings ************************ */
135 &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
136 /* Settings for THIS-PROCEDURE
137 Type: SmartDialog
138 Allow: Basic,Browse,DB-Fields,Query,Smart
139 Other Settings: COMPILE
141 &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
144 /* *************** Runtime Attributes and UIB Settings ************** */
146 &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
147 /* SETTINGS FOR DIALOG-BOX D-Dialog
149 ASSIGN
150 FRAME D-Dialog:SCROLLABLE = FALSE
151 FRAME D-Dialog:HIDDEN = TRUE.
153 /* SETTINGS FOR FILL-IN UsrGroupMenuItem.ButtonLabel IN FRAME D-Dialog
154 NO-ENABLE EXP-LABEL */
155 /* SETTINGS FOR FILL-IN UsrGroupMenuItem.LinkCode IN FRAME D-Dialog
156 NO-ENABLE EXP-LABEL */
157 /* SETTINGS FOR FILL-IN UsrGroupMenuItem.MenuName IN FRAME D-Dialog
158 NO-ENABLE EXP-LABEL */
159 /* SETTINGS FOR FILL-IN UsrGroupMenuItem.SequenceCode IN FRAME D-Dialog
160 NO-ENABLE EXP-LABEL */
161 /* _RUN-TIME-ATTRIBUTES-END */
162 &ANALYZE-RESUME
165 /* Setting information for Queries and Browse Widgets fields */
167 &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX D-Dialog
168 /* Query rebuild information for DIALOG-BOX D-Dialog
169 _TblList = "TTPL.UsrGroupMenuItem"
170 _Options = "SHARE-LOCK"
171 _Query is NOT OPENED
172 */ /* DIALOG-BOX D-Dialog */
173 &ANALYZE-RESUME
178 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB D-Dialog
179 /* ************************* Included-Libraries *********************** */
181 {src/adm/method/containr.i}
183 /* _UIB-CODE-BLOCK-END */
184 &ANALYZE-RESUME
189 /* ************************ Control Triggers ************************ */
191 &Scoped-define SELF-NAME D-Dialog
192 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL D-Dialog D-Dialog
193 ON WINDOW-CLOSE OF FRAME D-Dialog /* Move ProgramLink */
194 DO:
195 /* Add Trigger to equate WINDOW-CLOSE to END-ERROR. */
196 APPLY "END-ERROR":U TO SELF.
197 END.
199 /* _UIB-CODE-BLOCK-END */
200 &ANALYZE-RESUME
203 &Scoped-define SELF-NAME Btn_OK
204 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK D-Dialog
205 ON CHOOSE OF Btn_OK IN FRAME D-Dialog /* OK */
207 RUN assign-changes.
208 END.
210 /* _UIB-CODE-BLOCK-END */
211 &ANALYZE-RESUME
214 &UNDEFINE SELF-NAME
216 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK D-Dialog
219 /* *************************** Main Block *************************** */
220 FIND UsrGroupMenu WHERE UsrGroupMenu.GroupName = group-name
221 AND UsrGroupMenu.NodeCode = node-code NO-LOCK.
222 FIND UsrGroupMenuItem OF UsrGroupMenu
223 WHERE UsrGroupMenuItem.LinkCode = link-code NO-LOCK.
225 RUN build-combo.
227 {src/adm/template/dialogmn.i}
229 RETURN ret-value.
231 /* _UIB-CODE-BLOCK-END */
232 &ANALYZE-RESUME
235 /* ********************** Internal Procedures *********************** */
237 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects D-Dialog _ADM-CREATE-OBJECTS
238 PROCEDURE adm-create-objects :
239 /*------------------------------------------------------------------------------
240 Purpose: Create handles for all SmartObjects used in this procedure.
241 After SmartObjects are initialized, then SmartLinks are added.
242 Parameters: <none>
243 ------------------------------------------------------------------------------*/
245 END PROCEDURE.
247 /* _UIB-CODE-BLOCK-END */
248 &ANALYZE-RESUME
251 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available D-Dialog _ADM-ROW-AVAILABLE
252 PROCEDURE adm-row-available :
253 /*------------------------------------------------------------------------------
254 Purpose: Dispatched to this procedure when the Record-
255 Source has a new row available. This procedure
256 tries to get the new row (or foriegn keys) from
257 the Record-Source and process it.
258 Parameters: <none>
259 ------------------------------------------------------------------------------*/
261 /* Define variables needed by this internal procedure. */
262 {src/adm/template/row-head.i}
264 /* Process the newly available records (i.e. display fields,
265 open queries, and/or pass records on to any RECORD-TARGETS). */
266 {src/adm/template/row-end.i}
268 END PROCEDURE.
270 /* _UIB-CODE-BLOCK-END */
271 &ANALYZE-RESUME
274 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE assign-changes D-Dialog
275 PROCEDURE assign-changes :
276 /*------------------------------------------------------------------------------
277 Purpose:
278 ------------------------------------------------------------------------------*/
279 DEF VAR new-group AS CHAR NO-UNDO.
281 DO WITH FRAME {&FRAME-NAME}:
283 new-group = ENTRY( cmb_GroupName:LOOKUP(cmb_GroupName:SCREEN-VALUE),
284 cmb_GroupName:PRIVATE-DATA).
286 IF AVAILABLE(UsrGroupMenuItem) AND group-name <> new-group THEN DO TRANSACTION:
287 FIND CURRENT UsrGroupMenuItem EXCLUSIVE-LOCK.
288 UsrGroupMenuItem.GroupName = new-group.
289 ret-value = "CHANGED".
290 FIND CURRENT UsrGroupMenuItem NO-LOCK.
291 END.
293 END.
295 END PROCEDURE.
297 /* _UIB-CODE-BLOCK-END */
298 &ANALYZE-RESUME
301 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE build-combo D-Dialog
302 PROCEDURE build-combo :
303 /*------------------------------------------------------------------------------
304 Purpose:
305 ------------------------------------------------------------------------------*/
306 DEF VAR ug-list AS CHAR NO-UNDO INITIAL "".
307 DEF VAR pv-list AS CHAR NO-UNDO INITIAL "".
308 DEF VAR ug-entry AS CHAR NO-UNDO INITIAL "".
309 DEF VAR scr-val AS CHAR NO-UNDO INITIAL "".
311 DO WITH FRAME {&FRAME-NAME}:
313 FOR EACH UsrGroup NO-LOCK:
314 ug-entry = STRING( UsrGroup.GroupName, "X(20)") + " - " + UsrGroup.Description.
315 ug-list = ug-list + ug-entry + delim.
316 pv-list = pv-list + UsrGroup.GroupName + ",".
317 IF UsrGroup.GroupName = group-name THEN scr-val = ug-entry.
318 END.
320 cmb_GroupName:DELIMITER = delim.
321 cmb_GroupName:LIST-ITEMS = TRIM( ug-list, cmb_GroupName:DELIMITER).
322 cmb_GroupName:PRIVATE-DATA = pv-list.
323 IF scr-val <> "" THEN cmb_GroupName:SCREEN-VALUE = scr-val.
325 END.
326 END PROCEDURE.
328 /* _UIB-CODE-BLOCK-END */
329 &ANALYZE-RESUME
332 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI D-Dialog _DEFAULT-DISABLE
333 PROCEDURE disable_UI :
334 /*------------------------------------------------------------------------------
335 Purpose: DISABLE the User Interface
336 Parameters: <none>
337 Notes: Here we clean-up the user-interface by deleting
338 dynamic widgets we have created and/or hide
339 frames. This procedure is usually called when
340 we are ready to "clean-up" after running.
341 ------------------------------------------------------------------------------*/
342 /* Hide all frames. */
343 HIDE FRAME D-Dialog.
344 END PROCEDURE.
346 /* _UIB-CODE-BLOCK-END */
347 &ANALYZE-RESUME
350 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI D-Dialog _DEFAULT-ENABLE
351 PROCEDURE enable_UI :
352 /*------------------------------------------------------------------------------
353 Purpose: ENABLE the User Interface
354 Parameters: <none>
355 Notes: Here we display/view/enable the widgets in the
356 user-interface. In addition, OPEN all queries
357 associated with each FRAME and BROWSE.
358 These statements here are based on the "Other
359 Settings" section of the widget Property Sheets.
360 ------------------------------------------------------------------------------*/
361 DISPLAY cmb_GroupName
362 WITH FRAME D-Dialog.
363 IF AVAILABLE UsrGroupMenuItem THEN
364 DISPLAY UsrGroupMenuItem.MenuName UsrGroupMenuItem.ButtonLabel
365 UsrGroupMenuItem.LinkCode UsrGroupMenuItem.SequenceCode
366 WITH FRAME D-Dialog.
367 ENABLE RECT-1 cmb_GroupName Btn_OK Btn_Cancel
368 WITH FRAME D-Dialog.
369 VIEW FRAME D-Dialog.
370 {&OPEN-BROWSERS-IN-QUERY-D-Dialog}
371 END PROCEDURE.
373 /* _UIB-CODE-BLOCK-END */
374 &ANALYZE-RESUME
377 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records D-Dialog _ADM-SEND-RECORDS
378 PROCEDURE send-records :
379 /*------------------------------------------------------------------------------
380 Purpose: Send record ROWID's for all tables used by
381 this file.
382 Parameters: see template/snd-head.i
383 ------------------------------------------------------------------------------*/
385 /* Define variables needed by this internal procedure. */
386 {src/adm/template/snd-head.i}
388 /* For each requested table, put it's ROWID in the output list. */
389 {src/adm/template/snd-list.i "UsrGroupMenuItem"}
391 /* Deal with any unexpected table requests before closing. */
392 {src/adm/template/snd-end.i}
394 END PROCEDURE.
396 /* _UIB-CODE-BLOCK-END */
397 &ANALYZE-RESUME
400 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed D-Dialog
401 PROCEDURE state-changed :
402 /* -----------------------------------------------------------
403 Purpose:
404 Parameters: <none>
405 Notes:
406 -------------------------------------------------------------*/
407 DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
408 DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
409 END PROCEDURE.
411 /* _UIB-CODE-BLOCK-END */
412 &ANALYZE-RESUME