b-kunbest.w 15 KB

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