b-viperdoc.w 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508
  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. { incl/tmpbrowser.i }
  28. {src/adm2/widgetprto.i}
  29. /* _UIB-CODE-BLOCK-END */
  30. &ANALYZE-RESUME
  31. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  32. /* ******************** Preprocessor Definitions ******************** */
  33. &Scoped-define PROCEDURE-TYPE SmartDataBrowser
  34. &Scoped-define DB-AWARE no
  35. &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
  36. /* Include file with RowObject temp-table definition */
  37. &Scoped-define DATA-FIELD-DEFS "d-viperdoc.i"
  38. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  39. &Scoped-define FRAME-NAME F-Main
  40. &Scoped-define BROWSE-NAME br_table
  41. /* Internal Tables (found by Frame, Query & Browse Queries) */
  42. &Scoped-define INTERNAL-TABLES rowObject
  43. /* Definitions for BROWSE br_table */
  44. &Scoped-define FIELDS-IN-QUERY-br_table rowObject.Benutzer ~
  45. rowObject.Formular rowObject.DokArt rowObject.Drucker rowObject.Template ~
  46. rowObject.Programm rowObject.Schacht_Original rowObject.Schacht_Kopie ~
  47. rowObject.Schacht_Besr rowObject.DruckKopie rowObject.Anzahl
  48. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  49. &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
  50. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
  51. &Scoped-define TABLES-IN-QUERY-br_table rowObject
  52. &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject
  53. /* Definitions for FRAME F-Main */
  54. /* Standard List Definitions */
  55. &Scoped-Define ENABLED-OBJECTS RECT-1 br_table
  56. /* Custom List Definitions */
  57. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  58. /* _UIB-PREPROCESSOR-BLOCK-END */
  59. &ANALYZE-RESUME
  60. /* ************************ Function Prototypes ********************** */
  61. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenfarbe bTableWin
  62. FUNCTION setZeilenfarbe RETURNS LOGICAL
  63. ( ipFarbe AS INT ) FORWARD.
  64. /* _UIB-CODE-BLOCK-END */
  65. &ANALYZE-RESUME
  66. /* *********************** Control Definitions ********************** */
  67. /* Definitions of the field level widgets */
  68. DEFINE RECTANGLE RECT-1
  69. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  70. SIZE 138 BY 7.14.
  71. /* Query definitions */
  72. &ANALYZE-SUSPEND
  73. DEFINE TEMP-TABLE RowObject NO-UNDO
  74. {{&DATA-FIELD-DEFS}}
  75. {src/adm2/robjflds.i}.
  76. DEFINE QUERY br_table FOR
  77. rowObject SCROLLING.
  78. &ANALYZE-RESUME
  79. /* Browse definitions */
  80. DEFINE BROWSE br_table
  81. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED
  82. QUERY br_table NO-LOCK DISPLAY
  83. rowObject.Benutzer FORMAT "x(40)":U WIDTH 20
  84. rowObject.Formular FORMAT "x(40)":U WIDTH 20
  85. rowObject.DokArt FORMAT "9999":U WIDTH 7
  86. rowObject.Drucker FORMAT "x(60)":U WIDTH 30
  87. rowObject.Template FORMAT "x(40)":U WIDTH 20
  88. rowObject.Programm FORMAT "x(20)":U
  89. rowObject.Schacht_Original COLUMN-LABEL "Orig" FORMAT "zzz9":U
  90. WIDTH 5
  91. rowObject.Schacht_Kopie COLUMN-LABEL "Kopie" FORMAT "zzz9":U
  92. WIDTH 5
  93. rowObject.Schacht_Besr COLUMN-LABEL "Besr" FORMAT "zzz9":U
  94. WIDTH 5
  95. rowObject.DruckKopie COLUMN-LABEL "DC" FORMAT "yes/no":U
  96. WIDTH 6
  97. rowObject.Anzahl COLUMN-LABEL "Anz" FORMAT "z9":U WIDTH 5
  98. /* _UIB-CODE-BLOCK-END */
  99. &ANALYZE-RESUME
  100. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 136 BY 6.67.
  101. /* ************************ Frame Definitions *********************** */
  102. DEFINE FRAME F-Main
  103. br_table AT ROW 1.48 COL 3 WIDGET-ID 200
  104. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2
  105. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  106. SIDE-LABELS NO-UNDERLINE THREE-D
  107. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  108. /* *********************** Procedure Settings ************************ */
  109. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  110. /* Settings for THIS-PROCEDURE
  111. Type: SmartDataBrowser
  112. Data Source: "d-viperdoc.w"
  113. Allow: Basic,Browse
  114. Frames: 1
  115. Add Fields to: Neither
  116. Other Settings: PERSISTENT-ONLY COMPILE
  117. */
  118. /* This procedure should always be RUN PERSISTENT. Report the error, */
  119. /* then cleanup and return. */
  120. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  121. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  122. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  123. RETURN.
  124. END.
  125. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  126. /* ************************* Create Window ************************** */
  127. &ANALYZE-SUSPEND _CREATE-WINDOW
  128. /* DESIGN Window definition (used by the UIB)
  129. CREATE WINDOW bTableWin ASSIGN
  130. HEIGHT = 7.62
  131. WIDTH = 140.
  132. /* END WINDOW DEFINITION */
  133. */
  134. &ANALYZE-RESUME
  135. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  136. /* ************************* Included-Libraries *********************** */
  137. {src/adm2/browser.i}
  138. /* _UIB-CODE-BLOCK-END */
  139. &ANALYZE-RESUME
  140. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  141. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  142. /* SETTINGS FOR WINDOW bTableWin
  143. NOT-VISIBLE,,RUN-PERSISTENT */
  144. /* SETTINGS FOR FRAME F-Main
  145. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  146. /* BROWSE-TAB br_table RECT-1 F-Main */
  147. ASSIGN
  148. FRAME F-Main:SCROLLABLE = FALSE
  149. FRAME F-Main:HIDDEN = TRUE.
  150. /* _RUN-TIME-ATTRIBUTES-END */
  151. &ANALYZE-RESUME
  152. /* Setting information for Queries and Browse Widgets fields */
  153. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  154. /* Query rebuild information for BROWSE br_table
  155. _TblList = "rowObject"
  156. _Options = "NO-LOCK INDEXED-REPOSITION"
  157. _FldNameList[1] > _<SDO>.rowObject.Benutzer
  158. "rowObject.Benutzer" ? ? "character" ? ? ? ? ? ? no "?" no no "20" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  159. _FldNameList[2] > _<SDO>.rowObject.Formular
  160. "rowObject.Formular" ? ? "character" ? ? ? ? ? ? no "?" no no "20" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  161. _FldNameList[3] > _<SDO>.rowObject.DokArt
  162. "rowObject.DokArt" ? ? "integer" ? ? ? ? ? ? no "?" no no "7" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  163. _FldNameList[4] > _<SDO>.rowObject.Drucker
  164. "rowObject.Drucker" ? ? "character" ? ? ? ? ? ? no "?" no no "30" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  165. _FldNameList[5] > _<SDO>.rowObject.Template
  166. "rowObject.Template" ? ? "character" ? ? ? ? ? ? no "?" no no "20" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  167. _FldNameList[6] = _<SDO>.rowObject.Programm
  168. _FldNameList[7] > _<SDO>.rowObject.Schacht_Original
  169. "rowObject.Schacht_Original" "Orig" ? "integer" ? ? ? ? ? ? no "?" no no "5" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  170. _FldNameList[8] > _<SDO>.rowObject.Schacht_Kopie
  171. "rowObject.Schacht_Kopie" "Kopie" ? "integer" ? ? ? ? ? ? no "?" no no "5" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  172. _FldNameList[9] > _<SDO>.rowObject.Schacht_Besr
  173. "rowObject.Schacht_Besr" "Besr" ? "integer" ? ? ? ? ? ? no "?" no no "5" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  174. _FldNameList[10] > _<SDO>.rowObject.DruckKopie
  175. "rowObject.DruckKopie" "DC" ? "logical" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  176. _FldNameList[11] > _<SDO>.rowObject.Anzahl
  177. "rowObject.Anzahl" "Anz" ? "integer" ? ? ? ? ? ? no ? no no "5" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  178. _Query is NOT OPENED
  179. */ /* BROWSE br_table */
  180. &ANALYZE-RESUME
  181. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  182. /* Query rebuild information for FRAME F-Main
  183. _Options = "NO-LOCK"
  184. _Query is NOT OPENED
  185. */ /* FRAME F-Main */
  186. &ANALYZE-RESUME
  187. /* ************************ Control Triggers ************************ */
  188. &Scoped-define BROWSE-NAME br_table
  189. &Scoped-define SELF-NAME br_table
  190. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  191. ON CTRL-END OF br_table IN FRAME F-Main
  192. DO:
  193. APPLY "END":U TO BROWSE {&BROWSE-NAME}.
  194. END.
  195. /* _UIB-CODE-BLOCK-END */
  196. &ANALYZE-RESUME
  197. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  198. ON CTRL-HOME OF br_table IN FRAME F-Main
  199. DO:
  200. APPLY "HOME":U TO BROWSE {&BROWSE-NAME}.
  201. END.
  202. /* _UIB-CODE-BLOCK-END */
  203. &ANALYZE-RESUME
  204. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  205. ON DEFAULT-ACTION OF br_table IN FRAME F-Main
  206. DO:
  207. {src/adm2/brsdefault.i}
  208. END.
  209. /* _UIB-CODE-BLOCK-END */
  210. &ANALYZE-RESUME
  211. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  212. ON END OF br_table IN FRAME F-Main
  213. DO:
  214. {src/adm2/brsend.i}
  215. END.
  216. /* _UIB-CODE-BLOCK-END */
  217. &ANALYZE-RESUME
  218. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  219. ON HOME OF br_table IN FRAME F-Main
  220. DO:
  221. {src/adm2/brshome.i}
  222. END.
  223. /* _UIB-CODE-BLOCK-END */
  224. &ANALYZE-RESUME
  225. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  226. ON LEFT-MOUSE-CLICK OF br_table IN FRAME F-Main
  227. DO:
  228. APPLY 'ENTRY' TO {&BROWSE-NAME}.
  229. END.
  230. /* _UIB-CODE-BLOCK-END */
  231. &ANALYZE-RESUME
  232. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  233. ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main
  234. DO:
  235. IF NOT VALID-HANDLE( hFenster ) THEN RETURN NO-APPLY.
  236. RUN TOOLBAR IN hFenster ( INPUT 'UPDATE' ).
  237. RETURN NO-APPLY.
  238. END.
  239. /* _UIB-CODE-BLOCK-END */
  240. &ANALYZE-RESUME
  241. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  242. ON OFF-END OF br_table IN FRAME F-Main
  243. DO:
  244. {src/adm2/brsoffnd.i}
  245. END.
  246. /* _UIB-CODE-BLOCK-END */
  247. &ANALYZE-RESUME
  248. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  249. ON OFF-HOME OF br_table IN FRAME F-Main
  250. DO:
  251. {src/adm2/brsoffhm.i}
  252. END.
  253. /* _UIB-CODE-BLOCK-END */
  254. &ANALYZE-RESUME
  255. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  256. ON ROW-ENTRY OF br_table IN FRAME F-Main
  257. DO:
  258. {src/adm2/brsentry.i}
  259. END.
  260. /* _UIB-CODE-BLOCK-END */
  261. &ANALYZE-RESUME
  262. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  263. ON ROW-LEAVE OF br_table IN FRAME F-Main
  264. DO:
  265. {src/adm2/brsleave.i}
  266. END.
  267. /* _UIB-CODE-BLOCK-END */
  268. &ANALYZE-RESUME
  269. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  270. ON SCROLL-NOTIFY OF br_table IN FRAME F-Main
  271. DO:
  272. {src/adm2/brsscrol.i}
  273. END.
  274. /* _UIB-CODE-BLOCK-END */
  275. &ANALYZE-RESUME
  276. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  277. ON START-SEARCH OF br_table IN FRAME F-Main
  278. DO:
  279. { incl/brwstartsearch.i }
  280. END.
  281. /* _UIB-CODE-BLOCK-END */
  282. &ANALYZE-RESUME
  283. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  284. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  285. DO:
  286. {src/adm2/brschnge.i}
  287. RUN refreshRow IN hDaten NO-ERROR.
  288. END.
  289. /* _UIB-CODE-BLOCK-END */
  290. &ANALYZE-RESUME
  291. &UNDEFINE SELF-NAME
  292. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  293. /* *************************** Main Block *************************** */
  294. { incl/brwmainblock.i }
  295. { incl/brwinternproc.i }
  296. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  297. RUN initializeObject.
  298. &ENDIF
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. /* ********************** Internal Procedures *********************** */
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject bTableWin
  303. PROCEDURE destroyObject :
  304. /*------------------------------------------------------------------------------
  305. Purpose: Super Override
  306. Parameters:
  307. Notes:
  308. ------------------------------------------------------------------------------*/
  309. DEF VAR hBrowser AS HANDLE NO-UNDO.
  310. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  311. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
  312. INPUT Sektion ) NO-ERROR.
  313. RUN SUPER.
  314. /* Code placed here will execute AFTER standard behavior. */
  315. END PROCEDURE.
  316. /* _UIB-CODE-BLOCK-END */
  317. &ANALYZE-RESUME
  318. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  319. PROCEDURE disable_UI :
  320. /*------------------------------------------------------------------------------
  321. Purpose: DISABLE the User Interface
  322. Parameters: <none>
  323. Notes: Here we clean-up the user-interface by deleting
  324. dynamic widgets we have created and/or hide
  325. frames. This procedure is usually called when
  326. we are ready to "clean-up" after running.
  327. ------------------------------------------------------------------------------*/
  328. /* Hide all frames. */
  329. HIDE FRAME F-Main.
  330. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  331. END PROCEDURE.
  332. /* _UIB-CODE-BLOCK-END */
  333. &ANALYZE-RESUME
  334. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE bTableWin
  335. PROCEDURE ENTRY_BROWSE :
  336. /*------------------------------------------------------------------------------
  337. Purpose:
  338. Parameters: <none>
  339. Notes:
  340. ------------------------------------------------------------------------------*/
  341. APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
  342. RETURN NO-APPLY.
  343. END PROCEDURE.
  344. /* _UIB-CODE-BLOCK-END */
  345. &ANALYZE-RESUME
  346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin
  347. PROCEDURE initializeObject :
  348. /*------------------------------------------------------------------------------
  349. Purpose: Super Override
  350. Parameters:
  351. Notes:
  352. ------------------------------------------------------------------------------*/
  353. { incl/brwinitialize.i }
  354. END PROCEDURE.
  355. /* _UIB-CODE-BLOCK-END */
  356. &ANALYZE-RESUME
  357. /* ************************ Function Implementations ***************** */
  358. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin
  359. FUNCTION setZeilenfarbe RETURNS LOGICAL
  360. ( ipFarbe AS INT ) :
  361. /*------------------------------------------------------------------------------
  362. Purpose:
  363. Notes:
  364. ------------------------------------------------------------------------------*/
  365. { incl/brwsetzeilenfarbe.i }
  366. END FUNCTION.
  367. /* _UIB-CODE-BLOCK-END */
  368. &ANALYZE-RESUME