b-ansprech.w 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS bTableWin
  8. /*------------------------------------------------------------------------
  9. File: adm2\src\browser.w
  10. Description: SmartDataBrowser Object
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. /* _UIB-CODE-BLOCK-END */
  28. &ANALYZE-RESUME
  29. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  30. /* ******************** Preprocessor Definitions ******************** */
  31. &Scoped-define PROCEDURE-TYPE SmartDataBrowser
  32. &Scoped-define DB-AWARE no
  33. &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
  34. /* Include file with RowObject temp-table definition */
  35. &Scoped-define DATA-FIELD-DEFS "d-ansprech.i"
  36. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  37. &Scoped-define FRAME-NAME F-Main
  38. &Scoped-define BROWSE-NAME br_table
  39. /* Internal Tables (found by Frame, Query & Browse Queries) */
  40. &Scoped-define INTERNAL-TABLES rowObject
  41. /* Definitions for BROWSE br_table */
  42. &Scoped-define FIELDS-IN-QUERY-br_table rowObject.Ind rowObject.Funktion ~
  43. rowObject.Name rowObject.Vorname rowObject.Tel-1 rowObject.Tel-3 ~
  44. rowObject.Natel rowObject.Mail rowObject.Tel-2 rowObject.Tel-4
  45. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  46. &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
  47. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
  48. &Scoped-define TABLES-IN-QUERY-br_table rowObject
  49. &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject
  50. /* Definitions for FRAME F-Main */
  51. /* Standard List Definitions */
  52. &Scoped-Define ENABLED-OBJECTS RECT-38 br_table
  53. /* Custom List Definitions */
  54. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  55. /* _UIB-PREPROCESSOR-BLOCK-END */
  56. &ANALYZE-RESUME
  57. /* *********************** Control Definitions ********************** */
  58. /* Definitions of the field level widgets */
  59. DEFINE RECTANGLE RECT-38
  60. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  61. SIZE 136 BY 7.14.
  62. /* Query definitions */
  63. &ANALYZE-SUSPEND
  64. DEFINE TEMP-TABLE RowObject NO-UNDO
  65. {{&DATA-FIELD-DEFS}}
  66. {src/adm2/robjflds.i}.
  67. DEFINE QUERY br_table FOR
  68. rowObject SCROLLING.
  69. &ANALYZE-RESUME
  70. /* Browse definitions */
  71. DEFINE BROWSE br_table
  72. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED
  73. QUERY br_table NO-LOCK DISPLAY
  74. rowObject.Ind FORMAT "99":U
  75. rowObject.Funktion FORMAT "x(30)":U
  76. rowObject.Name FORMAT "X(30)":U
  77. rowObject.Vorname FORMAT "X(20)":U
  78. rowObject.Tel-1 COLUMN-LABEL "Telefon G" FORMAT "X(20)":U
  79. rowObject.Tel-3 COLUMN-LABEL "Fax G" FORMAT "X(20)":U
  80. rowObject.Natel FORMAT "x(20)":U
  81. rowObject.Mail FORMAT "x(40)":U
  82. rowObject.Tel-2 COLUMN-LABEL "Telefon P" FORMAT "X(20)":U
  83. rowObject.Tel-4 COLUMN-LABEL "Fax P" FORMAT "X(20)":U
  84. /* _UIB-CODE-BLOCK-END */
  85. &ANALYZE-RESUME
  86. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 134 BY 6.67
  87. BGCOLOR 15 FIT-LAST-COLUMN.
  88. /* ************************ Frame Definitions *********************** */
  89. DEFINE FRAME F-Main
  90. br_table AT ROW 1.48 COL 3
  91. RECT-38 AT ROW 1.24 COL 2 WIDGET-ID 2
  92. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  93. SIDE-LABELS NO-UNDERLINE THREE-D
  94. AT COL 1 ROW 1 SCROLLABLE .
  95. /* *********************** Procedure Settings ************************ */
  96. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  97. /* Settings for THIS-PROCEDURE
  98. Type: SmartDataBrowser
  99. Data Source: "d-ansprech.w"
  100. Allow: Basic,Browse
  101. Frames: 1
  102. Add Fields to: Neither
  103. Other Settings: PERSISTENT-ONLY COMPILE
  104. */
  105. /* This procedure should always be RUN PERSISTENT. Report the error, */
  106. /* then cleanup and return. */
  107. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  108. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  109. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  110. RETURN.
  111. END.
  112. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  113. /* ************************* Create Window ************************** */
  114. &ANALYZE-SUSPEND _CREATE-WINDOW
  115. /* DESIGN Window definition (used by the UIB)
  116. CREATE WINDOW bTableWin ASSIGN
  117. HEIGHT = 7.62
  118. WIDTH = 138.
  119. /* END WINDOW DEFINITION */
  120. */
  121. &ANALYZE-RESUME
  122. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  123. /* ************************* Included-Libraries *********************** */
  124. {src/adm2/browser.i}
  125. /* _UIB-CODE-BLOCK-END */
  126. &ANALYZE-RESUME
  127. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  128. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  129. /* SETTINGS FOR WINDOW bTableWin
  130. NOT-VISIBLE,,RUN-PERSISTENT */
  131. /* SETTINGS FOR FRAME F-Main
  132. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  133. /* BROWSE-TAB br_table RECT-38 F-Main */
  134. ASSIGN
  135. FRAME F-Main:SCROLLABLE = FALSE
  136. FRAME F-Main:HIDDEN = TRUE.
  137. ASSIGN
  138. br_table:COLUMN-RESIZABLE IN FRAME F-Main = TRUE
  139. br_table:COLUMN-MOVABLE IN FRAME F-Main = TRUE.
  140. /* _RUN-TIME-ATTRIBUTES-END */
  141. &ANALYZE-RESUME
  142. /* Setting information for Queries and Browse Widgets fields */
  143. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  144. /* Query rebuild information for BROWSE br_table
  145. _TblList = "rowObject"
  146. _Options = "NO-LOCK INDEXED-REPOSITION"
  147. _FldNameList[1] > _<SDO>.rowObject.Ind
  148. "rowObject.Ind" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  149. _FldNameList[2] > _<SDO>.rowObject.Funktion
  150. "rowObject.Funktion" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  151. _FldNameList[3] > _<SDO>.rowObject.Name
  152. "rowObject.Name" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  153. _FldNameList[4] > _<SDO>.rowObject.Vorname
  154. "rowObject.Vorname" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  155. _FldNameList[5] > _<SDO>.rowObject.Tel-1
  156. "rowObject.Tel-1" "Telefon G" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  157. _FldNameList[6] > _<SDO>.rowObject.Tel-3
  158. "rowObject.Tel-3" "Fax G" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  159. _FldNameList[7] > _<SDO>.rowObject.Natel
  160. "rowObject.Natel" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  161. _FldNameList[8] > _<SDO>.rowObject.Mail
  162. "rowObject.Mail" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  163. _FldNameList[9] > _<SDO>.rowObject.Tel-2
  164. "rowObject.Tel-2" "Telefon P" ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  165. _FldNameList[10] > _<SDO>.rowObject.Tel-4
  166. "rowObject.Tel-4" "Fax P" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  167. _Query is NOT OPENED
  168. */ /* BROWSE br_table */
  169. &ANALYZE-RESUME
  170. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  171. /* Query rebuild information for FRAME F-Main
  172. _Options = "NO-LOCK"
  173. _Query is NOT OPENED
  174. */ /* FRAME F-Main */
  175. &ANALYZE-RESUME
  176. /* ************************ Control Triggers ************************ */
  177. &Scoped-define BROWSE-NAME br_table
  178. &Scoped-define SELF-NAME br_table
  179. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  180. ON CTRL-END OF br_table IN FRAME F-Main
  181. DO:
  182. APPLY "END":U TO BROWSE br_table.
  183. END.
  184. /* _UIB-CODE-BLOCK-END */
  185. &ANALYZE-RESUME
  186. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  187. ON CTRL-HOME OF br_table IN FRAME F-Main
  188. DO:
  189. APPLY "HOME":U TO BROWSE br_table.
  190. END.
  191. /* _UIB-CODE-BLOCK-END */
  192. &ANALYZE-RESUME
  193. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  194. ON END OF br_table IN FRAME F-Main
  195. DO:
  196. {src/adm2/brsend.i}
  197. END.
  198. /* _UIB-CODE-BLOCK-END */
  199. &ANALYZE-RESUME
  200. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  201. ON HOME OF br_table IN FRAME F-Main
  202. DO:
  203. {src/adm2/brshome.i}
  204. END.
  205. /* _UIB-CODE-BLOCK-END */
  206. &ANALYZE-RESUME
  207. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  208. ON OFF-END OF br_table IN FRAME F-Main
  209. DO:
  210. {src/adm2/brsoffnd.i}
  211. END.
  212. /* _UIB-CODE-BLOCK-END */
  213. &ANALYZE-RESUME
  214. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  215. ON OFF-HOME OF br_table IN FRAME F-Main
  216. DO:
  217. {src/adm2/brsoffhm.i}
  218. END.
  219. /* _UIB-CODE-BLOCK-END */
  220. &ANALYZE-RESUME
  221. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  222. ON ROW-ENTRY OF br_table IN FRAME F-Main
  223. DO:
  224. {src/adm2/brsentry.i}
  225. END.
  226. /* _UIB-CODE-BLOCK-END */
  227. &ANALYZE-RESUME
  228. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  229. ON ROW-LEAVE OF br_table IN FRAME F-Main
  230. DO:
  231. {src/adm2/brsleave.i}
  232. END.
  233. /* _UIB-CODE-BLOCK-END */
  234. &ANALYZE-RESUME
  235. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  236. ON SCROLL-NOTIFY OF br_table IN FRAME F-Main
  237. DO:
  238. {src/adm2/brsscrol.i}
  239. END.
  240. /* _UIB-CODE-BLOCK-END */
  241. &ANALYZE-RESUME
  242. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  243. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  244. DO:
  245. {src/adm2/brschnge.i}
  246. END.
  247. /* _UIB-CODE-BLOCK-END */
  248. &ANALYZE-RESUME
  249. &UNDEFINE SELF-NAME
  250. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  251. /* *************************** Main Block *************************** */
  252. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  253. RUN initializeObject.
  254. &ENDIF
  255. /* _UIB-CODE-BLOCK-END */
  256. &ANALYZE-RESUME
  257. /* ********************** Internal Procedures *********************** */
  258. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  259. PROCEDURE disable_UI :
  260. /*------------------------------------------------------------------------------
  261. Purpose: DISABLE the User Interface
  262. Parameters: <none>
  263. Notes: Here we clean-up the user-interface by deleting
  264. dynamic widgets we have created and/or hide
  265. frames. This procedure is usually called when
  266. we are ready to "clean-up" after running.
  267. ------------------------------------------------------------------------------*/
  268. /* Hide all frames. */
  269. HIDE FRAME F-Main.
  270. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  271. END PROCEDURE.
  272. /* _UIB-CODE-BLOCK-END */
  273. &ANALYZE-RESUME
  274. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject bTableWin
  275. PROCEDURE enableObject :
  276. /*------------------------------------------------------------------------------
  277. Purpose: Super Override
  278. Parameters:
  279. Notes:
  280. ------------------------------------------------------------------------------*/
  281. DEF VAR hColumn AS HANDLE NO-UNDO.
  282. DEF VAR fAttrib AS CHAR NO-UNDO.
  283. DEF VAR i1 AS INT NO-UNDO.
  284. DEF VAR nColumn AS INT NO-UNDO.
  285. DEF VAR dBreite AS DEC NO-UNDO.
  286. DEF VAR cFelder AS CHAR NO-UNDO.
  287. DEF VAR Feld AS CHAR NO-UNDO.
  288. GET-KEY-VALUE SECTION 'AnsprechBrowser' KEY ? VALUE cFelder.
  289. IF cFelder = ? THEN cFelder = ''.
  290. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  291. IF NUM-ENTRIES(cFelder, ';') = 0 THEN LEAVE.
  292. hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
  293. i1 = 0.
  294. DO WHILE VALID-HANDLE(hColumn):
  295. i1 = i1 + 1.
  296. DO WHILE TRUE:
  297. IF LOOKUP(hColumn:NAME, cFelder, ',') = 0 THEN LEAVE.
  298. GET-KEY-VALUE SECTION 'AnsprechBrowser'
  299. KEY hColumn:NAME
  300. VALUE fAttrib.
  301. IF NUM-ENTRIES(fAttrib, ';') < 2 THEN LEAVE.
  302. nColumn = 0.
  303. dBreite = 0.
  304. nColumn = INTEGER(ENTRY(1,fAttrib, ';')).
  305. dBreite = DECIMAL(ENTRY(2,fAttrib, ';')).
  306. IF nColumn = ? THEN LEAVE.
  307. IF nColumn = 0 THEN LEAVE.
  308. IF dBreite = ? THEN LEAVE.
  309. IF dBreite = 0 THEN LEAVE.
  310. IF hColumn:WIDTH <> dBreite THEN hColumn:WIDTH = dBreite.
  311. IF i1 = nColumn THEN LEAVE.
  312. {&BROWSE-NAME}:MOVE-COLUMN(i1, nColumn).
  313. hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
  314. i1 = 0.
  315. LEAVE.
  316. END.
  317. IF i1 > 0 THEN hColumn = hColumn:NEXT-COLUMN.
  318. END.
  319. LEAVE.
  320. END.
  321. RUN SUPER.
  322. /* Code placed here will execute AFTER standard behavior. */
  323. END PROCEDURE.
  324. /* _UIB-CODE-BLOCK-END */
  325. &ANALYZE-RESUME
  326. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE hideObject bTableWin
  327. PROCEDURE hideObject :
  328. /*------------------------------------------------------------------------------
  329. Purpose: Super Override
  330. Parameters:
  331. Notes:
  332. ------------------------------------------------------------------------------*/
  333. DEF VAR hColumn AS HANDLE NO-UNDO.
  334. DEF VAR fAttrib AS CHAR NO-UNDO.
  335. DEF VAR i1 AS INT NO-UNDO.
  336. DO WITH FRAME {&FRAME-NAME}:
  337. hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
  338. i1 = 0.
  339. DO WHILE VALID-HANDLE(hColumn):
  340. i1 = i1 + 1.
  341. fAttrib = STRING(i1) + ';'
  342. + STRING(hColumn:WIDTH).
  343. PUT-KEY-VALUE SECTION 'AnsprechBrowser'
  344. KEY hColumn:NAME
  345. VALUE fAttrib.
  346. hColumn = hColumn:NEXT-COLUMN.
  347. END.
  348. END.
  349. RUN SUPER.
  350. /* Code placed here will execute AFTER standard behavior. */
  351. END PROCEDURE.
  352. /* _UIB-CODE-BLOCK-END */
  353. &ANALYZE-RESUME