Adjustments to FM Call report, reorder layout, section headers.
[capital-apms-progress.git] / lnk / v-lnknde.w
blob3f2dd0aa2ee4df5b4222fc384dcb71b68f16aa3f
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 Description:
11 ------------------------------------------------------------------------*/
12 CREATE WIDGET-POOL.
13 /* *************************** Definitions ************************** */
15 DEF VAR adding-new-record AS LOGICAL INITIAL no NO-UNDO.
17 /* _UIB-CODE-BLOCK-END */
18 &ANALYZE-RESUME
21 &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
23 /* ******************** Preprocessor Definitions ******************** */
25 &Scoped-define PROCEDURE-TYPE SmartViewer
27 &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
29 /* Name of first Frame and/or Browse and/or first Query */
30 &Scoped-define FRAME-NAME F-Main
32 /* External Tables */
33 &Scoped-define EXTERNAL-TABLES LinkNode
34 &Scoped-define FIRST-EXTERNAL-TABLE LinkNode
37 /* Need to scope the external tables to this procedure */
38 DEFINE QUERY external_tables FOR LinkNode.
39 /* Standard List Definitions */
40 &Scoped-Define ENABLED-FIELDS LinkNode.NodeType LinkNode.Description ~
41 LinkNode.File LinkNode.RunFile
42 &Scoped-define FIELD-PAIRS~
43 ~{&FP1}Description ~{&FP2}Description ~{&FP3}~
44 ~{&FP1}File ~{&FP2}File ~{&FP3}~
45 ~{&FP1}RunFile ~{&FP2}RunFile ~{&FP3}
46 &Scoped-define ENABLED-TABLES LinkNode
47 &Scoped-define FIRST-ENABLED-TABLE LinkNode
48 &Scoped-Define ENABLED-OBJECTS RECT-21 cmb_runfile Btn_OK Btn_Cancel
49 &Scoped-Define DISPLAYED-FIELDS LinkNode.NodeType LinkNode.Description ~
50 LinkNode.File LinkNode.RunFile
51 &Scoped-Define DISPLAYED-OBJECTS cmb_runfile
53 /* Custom List Definitions */
54 /* ADM-CREATE-FIELDS,ADM-ASSIGN-FIELDS,List-3,List-4,List-5,List-6 */
56 /* _UIB-PREPROCESSOR-BLOCK-END */
57 &ANALYZE-RESUME
61 /* *********************** Control Definitions ********************** */
64 /* Definitions of the field level widgets */
65 DEFINE BUTTON Btn_Cancel AUTO-END-KEY DEFAULT
66 LABEL "&Cancel"
67 SIZE 7.14 BY 1.05
68 BGCOLOR 8 FONT 9.
70 DEFINE BUTTON Btn_OK AUTO-GO DEFAULT
71 LABEL "&OK"
72 SIZE 4 BY 1.05
73 BGCOLOR 8 FONT 9.
75 DEFINE VARIABLE cmb_runfile AS CHARACTER FORMAT "X(256)":U
76 VIEW-AS COMBO-BOX INNER-LINES 5
77 LIST-ITEMS "win/drl/w-defdrl.w","win/w-defsel.w","win/w-defwiz.w","win/w-defmnt.w","win/w-defmnu.w"
78 SIZE 40 BY 1.05 NO-UNDO.
80 DEFINE RECTANGLE RECT-21
81 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
82 SIZE 50 BY 5.25.
85 /* ************************ Frame Definitions *********************** */
87 DEFINE FRAME F-Main
88 LinkNode.NodeType AT ROW 1.5 COL 10 NO-LABEL
89 VIEW-AS COMBO-BOX
90 LIST-ITEMS "DW","MW","SW","MN","MV"
91 SIZE 8 BY 1
92 FONT 10
93 LinkNode.Description AT ROW 2.5 COL 10 NO-LABEL
94 VIEW-AS FILL-IN
95 SIZE 40 BY 1
96 FONT 10
97 LinkNode.File AT ROW 4 COL 8 COLON-ALIGNED NO-LABEL FORMAT "X(50)"
98 VIEW-AS FILL-IN
99 SIZE 40.14 BY 1
100 FONT 10
101 cmb_runfile AT ROW 5 COL 8.14 COLON-ALIGNED NO-LABEL
102 LinkNode.RunFile AT ROW 5 COL 8.14 COLON-ALIGNED NO-LABEL FORMAT "X(50)"
103 VIEW-AS FILL-IN
104 SIZE 37.72 BY 1
105 FONT 10
106 Btn_OK AT ROW 6.5 COL 39.57
107 Btn_Cancel AT ROW 6.5 COL 43.86
108 RECT-21 AT ROW 1 COL 1
109 "Type:" VIEW-AS TEXT
110 SIZE 8 BY 1 AT ROW 1.5 COL 2
111 FONT 10
112 "Desc:" VIEW-AS TEXT
113 SIZE 8 BY 1 AT ROW 2.5 COL 2
114 FONT 10
115 "File:" VIEW-AS TEXT
116 SIZE 5 BY 1 AT ROW 4 COL 2
117 FONT 10
118 "RunFile:" VIEW-AS TEXT
119 SIZE 7 BY 1 AT ROW 5.15 COL 2
120 FONT 10
121 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
122 SIDE-LABELS NO-UNDERLINE THREE-D
123 AT COL 1 ROW 1 SCROLLABLE
124 FONT 10
125 DEFAULT-BUTTON Btn_OK CANCEL-BUTTON Btn_Cancel.
128 /* *********************** Procedure Settings ************************ */
130 &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
131 /* Settings for THIS-PROCEDURE
132 Type: SmartViewer
133 External Tables: TTPL.LinkNode
134 Allow: Basic,DB-Fields
135 Frames: 1
136 Add Fields to: EXTERNAL-TABLES
137 Other Settings: PERSISTENT-ONLY COMPILE
140 /* This procedure should always be RUN PERSISTENT. Report the error, */
141 /* then cleanup and return. */
142 IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
143 MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT."
144 VIEW-AS ALERT-BOX ERROR BUTTONS OK.
145 RETURN.
146 END.
148 &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
150 /* ************************* Create Window ************************** */
152 &ANALYZE-SUSPEND _CREATE-WINDOW
153 /* DESIGN Window definition (used by the UIB)
154 CREATE WINDOW V-table-Win ASSIGN
155 HEIGHT = 6.7
156 WIDTH = 50.43.
157 /* END WINDOW DEFINITION */
159 &ANALYZE-RESUME
162 /* *************** Runtime Attributes and UIB Settings ************** */
164 &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
165 /* SETTINGS FOR WINDOW V-table-Win
166 VISIBLE,,RUN-PERSISTENT */
167 /* SETTINGS FOR FRAME F-Main
168 NOT-VISIBLE Size-to-Fit */
169 ASSIGN
170 FRAME F-Main:SCROLLABLE = FALSE
171 FRAME F-Main:HIDDEN = TRUE.
173 /* SETTINGS FOR FILL-IN LinkNode.Description IN FRAME F-Main
174 ALIGN-L EXP-LABEL */
175 /* SETTINGS FOR FILL-IN LinkNode.File IN FRAME F-Main
176 EXP-LABEL EXP-FORMAT */
177 /* SETTINGS FOR COMBO-BOX LinkNode.NodeType IN FRAME F-Main
178 ALIGN-L EXP-LABEL */
179 /* SETTINGS FOR FILL-IN LinkNode.RunFile IN FRAME F-Main
180 EXP-LABEL EXP-FORMAT */
181 /* _RUN-TIME-ATTRIBUTES-END */
182 &ANALYZE-RESUME
185 /* Setting information for Queries and Browse Widgets fields */
187 &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
188 /* Query rebuild information for FRAME F-Main
189 _Options = "NO-LOCK"
190 _Query is NOT OPENED
191 */ /* FRAME F-Main */
192 &ANALYZE-RESUME
197 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB V-table-Win
198 /* ************************* Included-Libraries *********************** */
200 {src/adm/method/viewer.i}
202 /* _UIB-CODE-BLOCK-END */
203 &ANALYZE-RESUME
208 /* ************************ Control Triggers ************************ */
210 &Scoped-define SELF-NAME Btn_Cancel
211 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel V-table-Win
212 ON CHOOSE OF Btn_Cancel IN FRAME F-Main /* Cancel */
214 IF adding-new-record THEN DO TRANSACTION:
215 FIND CURRENT LinkNode EXCLUSIVE-LOCK.
216 DELETE LinkNode.
217 END.
219 RUN dispatch( 'exit':U ).
220 END.
222 /* _UIB-CODE-BLOCK-END */
223 &ANALYZE-RESUME
226 &Scoped-define SELF-NAME Btn_OK
227 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK V-table-Win
228 ON CHOOSE OF Btn_OK IN FRAME F-Main /* OK */
230 RUN dispatch( 'update-record':U ).
231 IF adding-new-record THEN RUN dispatch( 'open-query,Record-Source':U ).
232 RUN dispatch( 'exit':U ).
233 END.
235 /* _UIB-CODE-BLOCK-END */
236 &ANALYZE-RESUME
239 &Scoped-define SELF-NAME cmb_runfile
240 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL cmb_runfile V-table-Win
241 ON VALUE-CHANGED OF cmb_runfile IN FRAME F-Main
243 ASSIGN LinkNode.RunFile:SCREEN-VALUE = SELF:SCREEN-VALUE.
244 END.
246 /* _UIB-CODE-BLOCK-END */
247 &ANALYZE-RESUME
250 &UNDEFINE SELF-NAME
252 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK V-table-Win
255 /* *************************** Main Block *************************** */
257 &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
258 RUN dispatch IN THIS-PROCEDURE ('initialize':U).
259 &ENDIF
261 /************************ INTERNAL PROCEDURES ********************/
263 /* _UIB-CODE-BLOCK-END */
264 &ANALYZE-RESUME
267 /* ********************** Internal Procedures *********************** */
269 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available V-table-Win _ADM-ROW-AVAILABLE
270 PROCEDURE adm-row-available :
271 /*------------------------------------------------------------------------------
272 Purpose: Dispatched to this procedure when the Record-
273 Source has a new row available. This procedure
274 tries to get the new row (or foriegn keys) from
275 the Record-Source and process it.
276 Parameters: <none>
277 ------------------------------------------------------------------------------*/
279 /* Define variables needed by this internal procedure. */
280 {src/adm/template/row-head.i}
282 /* Create a list of all the tables that we need to get. */
283 {src/adm/template/row-list.i "LinkNode"}
285 /* Get the record ROWID's from the RECORD-SOURCE. */
286 {src/adm/template/row-get.i}
288 /* FIND each record specified by the RECORD-SOURCE. */
289 {src/adm/template/row-find.i "LinkNode"}
291 /* Process the newly available records (i.e. display fields,
292 open queries, and/or pass records on to any RECORD-TARGETS). */
293 {src/adm/template/row-end.i}
295 END PROCEDURE.
297 /* _UIB-CODE-BLOCK-END */
298 &ANALYZE-RESUME
301 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI V-table-Win _DEFAULT-DISABLE
302 PROCEDURE disable_UI :
303 /*------------------------------------------------------------------------------
304 Purpose: DISABLE the User Interface
305 Parameters: <none>
306 Notes: Here we clean-up the user-interface by deleting
307 dynamic widgets we have created and/or hide
308 frames. This procedure is usually called when
309 we are ready to "clean-up" after running.
310 ------------------------------------------------------------------------------*/
311 /* Hide all frames. */
312 HIDE FRAME F-Main.
313 IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
314 END PROCEDURE.
316 /* _UIB-CODE-BLOCK-END */
317 &ANALYZE-RESUME
320 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-add-record V-table-Win
321 PROCEDURE local-add-record :
322 /*------------------------------------------------------------------------------
323 Purpose: Override standard ADM method
324 Notes:
325 ------------------------------------------------------------------------------*/
326 adding-new-record = yes.
327 CREATE LinkNode.
328 RUN dispatch( 'display-fields':U ).
329 RUN dispatch( 'enable-fields':U ).
331 END PROCEDURE.
333 /* _UIB-CODE-BLOCK-END */
334 &ANALYZE-RESUME
337 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-enable-fields V-table-Win
338 PROCEDURE local-enable-fields :
339 /*------------------------------------------------------------------------------
340 Purpose: Override standard ADM method
341 Notes:
342 ------------------------------------------------------------------------------*/
344 /* Code placed here will execute PRIOR to standard behavior. */
346 /* Dispatch standard ADM method. */
347 RUN dispatch IN THIS-PROCEDURE ( INPUT 'enable-fields':U ) .
349 /* Code placed here will execute AFTER standard behavior. */
350 IF cmb_runfile:MOVE-TO-BOTTOM() IN FRAME {&FRAME-NAME} THEN.
351 IF LinkNode.RunFile:MOVE-TO-TOP() IN FRAME {&FRAME-NAME} THEN.
353 END PROCEDURE.
355 /* _UIB-CODE-BLOCK-END */
356 &ANALYZE-RESUME
359 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records V-table-Win _ADM-SEND-RECORDS
360 PROCEDURE send-records :
361 /*------------------------------------------------------------------------------
362 Purpose: Send record ROWID's for all tables used by
363 this file.
364 Parameters: see template/snd-head.i
365 ------------------------------------------------------------------------------*/
367 /* Define variables needed by this internal procedure. */
368 {src/adm/template/snd-head.i}
370 /* For each requested table, put it's ROWID in the output list. */
371 {src/adm/template/snd-list.i "LinkNode"}
373 /* Deal with any unexpected table requests before closing. */
374 {src/adm/template/snd-end.i}
376 END PROCEDURE.
378 /* _UIB-CODE-BLOCK-END */
379 &ANALYZE-RESUME
382 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed V-table-Win
383 PROCEDURE state-changed :
384 /* -----------------------------------------------------------
385 Purpose:
386 Parameters: <none>
387 Notes:
388 -------------------------------------------------------------*/
389 DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
390 DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
392 CASE p-state:
393 /* Object instance CASEs can go here to replace standard behavior
394 or add new cases. */
395 {src/adm/template/vstates.i}
396 END CASE.
397 END PROCEDURE.
399 /* _UIB-CODE-BLOCK-END */
400 &ANALYZE-RESUME