b-artikel.w 15 KB

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