b-artstaff.w 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  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-artstaff.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 Menge Rabatt VK_Netto VK_Brutto ~
  45. Marge
  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 64 BY 9.29.
  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. Menge FORMAT "zzz,zz9":U
  82. Rabatt FORMAT "zz9.9999-":U
  83. VK_Netto COLUMN-LABEL "Netto (exkl)" FORMAT "zzz,zz9.9999":U
  84. VK_Brutto COLUMN-LABEL "Brutto (inkl)" FORMAT "zzz,zz9.9999":U
  85. Marge FORMAT "zz9.9999-":U
  86. /* _UIB-CODE-BLOCK-END */
  87. &ANALYZE-RESUME
  88. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 62 BY 7.62.
  89. /* ************************ Frame Definitions *********************** */
  90. DEFINE FRAME F-Main
  91. br_table AT ROW 2.52 COL 3 WIDGET-ID 200
  92. "Staffelungen" VIEW-AS TEXT
  93. SIZE 24 BY .81 AT ROW 1.48 COL 3 WIDGET-ID 4
  94. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2
  95. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  96. SIDE-LABELS NO-UNDERLINE THREE-D
  97. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  98. /* *********************** Procedure Settings ************************ */
  99. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  100. /* Settings for THIS-PROCEDURE
  101. Type: SmartDataBrowser
  102. Data Source: "d-artstaff.w"
  103. Allow: Basic,Browse
  104. Frames: 1
  105. Add Fields to: Neither
  106. Other Settings: PERSISTENT-ONLY COMPILE
  107. */
  108. /* This procedure should always be RUN PERSISTENT. Report the error, */
  109. /* then cleanup and return. */
  110. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  111. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  112. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  113. RETURN.
  114. END.
  115. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  116. /* ************************* Create Window ************************** */
  117. &ANALYZE-SUSPEND _CREATE-WINDOW
  118. /* DESIGN Window definition (used by the UIB)
  119. CREATE WINDOW bTableWin ASSIGN
  120. HEIGHT = 9.76
  121. WIDTH = 66.
  122. /* END WINDOW DEFINITION */
  123. */
  124. &ANALYZE-RESUME
  125. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  126. /* ************************* Included-Libraries *********************** */
  127. {src/adm2/browser.i}
  128. /* _UIB-CODE-BLOCK-END */
  129. &ANALYZE-RESUME
  130. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  131. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  132. /* SETTINGS FOR WINDOW bTableWin
  133. NOT-VISIBLE,,RUN-PERSISTENT */
  134. /* SETTINGS FOR FRAME F-Main
  135. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  136. /* BROWSE-TAB br_table RECT-1 F-Main */
  137. ASSIGN
  138. FRAME F-Main:SCROLLABLE = FALSE
  139. FRAME F-Main:HIDDEN = 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.Menge
  148. "Menge" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  149. _FldNameList[2] > _<SDO>.rowObject.Rabatt
  150. "Rabatt" ? ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  151. _FldNameList[3] > _<SDO>.rowObject.VK_Netto
  152. "VK_Netto" "Netto (exkl)" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  153. _FldNameList[4] > _<SDO>.rowObject.VK_Brutto
  154. "VK_Brutto" "Brutto (inkl)" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  155. _FldNameList[5] = _<SDO>.rowObject.Marge
  156. _Query is NOT OPENED
  157. */ /* BROWSE br_table */
  158. &ANALYZE-RESUME
  159. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  160. /* Query rebuild information for FRAME F-Main
  161. _Options = "NO-LOCK"
  162. _Query is NOT OPENED
  163. */ /* FRAME F-Main */
  164. &ANALYZE-RESUME
  165. /* ************************ Control Triggers ************************ */
  166. &Scoped-define BROWSE-NAME br_table
  167. &Scoped-define SELF-NAME br_table
  168. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  169. ON CTRL-END OF br_table IN FRAME F-Main
  170. DO:
  171. APPLY "END":U TO BROWSE {&BROWSE-NAME}.
  172. END.
  173. /* _UIB-CODE-BLOCK-END */
  174. &ANALYZE-RESUME
  175. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  176. ON CTRL-HOME OF br_table IN FRAME F-Main
  177. DO:
  178. APPLY "HOME":U TO BROWSE {&BROWSE-NAME}.
  179. END.
  180. /* _UIB-CODE-BLOCK-END */
  181. &ANALYZE-RESUME
  182. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  183. ON DEFAULT-ACTION OF br_table IN FRAME F-Main
  184. DO:
  185. {src/adm2/brsdefault.i}
  186. END.
  187. /* _UIB-CODE-BLOCK-END */
  188. &ANALYZE-RESUME
  189. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  190. ON END OF br_table IN FRAME F-Main
  191. DO:
  192. {src/adm2/brsend.i}
  193. END.
  194. /* _UIB-CODE-BLOCK-END */
  195. &ANALYZE-RESUME
  196. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  197. ON HOME OF br_table IN FRAME F-Main
  198. DO:
  199. {src/adm2/brshome.i}
  200. END.
  201. /* _UIB-CODE-BLOCK-END */
  202. &ANALYZE-RESUME
  203. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  204. ON LEFT-MOUSE-CLICK OF br_table IN FRAME F-Main
  205. DO:
  206. APPLY 'ENTRY' TO {&BROWSE-NAME}.
  207. END.
  208. /* _UIB-CODE-BLOCK-END */
  209. &ANALYZE-RESUME
  210. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  211. ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main
  212. DO:
  213. IF NOT VALID-HANDLE( hFenster ) THEN RETURN NO-APPLY.
  214. RUN TOOLBAR IN hFenster ( INPUT 'UPDATE' ).
  215. RETURN NO-APPLY.
  216. END.
  217. /* _UIB-CODE-BLOCK-END */
  218. &ANALYZE-RESUME
  219. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  220. ON OFF-END OF br_table IN FRAME F-Main
  221. DO:
  222. {src/adm2/brsoffnd.i}
  223. END.
  224. /* _UIB-CODE-BLOCK-END */
  225. &ANALYZE-RESUME
  226. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  227. ON OFF-HOME OF br_table IN FRAME F-Main
  228. DO:
  229. {src/adm2/brsoffhm.i}
  230. END.
  231. /* _UIB-CODE-BLOCK-END */
  232. &ANALYZE-RESUME
  233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  234. ON ROW-ENTRY OF br_table IN FRAME F-Main
  235. DO:
  236. {src/adm2/brsentry.i}
  237. END.
  238. /* _UIB-CODE-BLOCK-END */
  239. &ANALYZE-RESUME
  240. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  241. ON ROW-LEAVE OF br_table IN FRAME F-Main
  242. DO:
  243. {src/adm2/brsleave.i}
  244. END.
  245. /* _UIB-CODE-BLOCK-END */
  246. &ANALYZE-RESUME
  247. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  248. ON SCROLL-NOTIFY OF br_table IN FRAME F-Main
  249. DO:
  250. {src/adm2/brsscrol.i}
  251. END.
  252. /* _UIB-CODE-BLOCK-END */
  253. &ANALYZE-RESUME
  254. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  255. ON START-SEARCH OF br_table IN FRAME F-Main
  256. DO:
  257. { incl/brwstartsearch.i }
  258. END.
  259. /* _UIB-CODE-BLOCK-END */
  260. &ANALYZE-RESUME
  261. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  262. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  263. DO:
  264. {src/adm2/brschnge.i}
  265. END.
  266. /* _UIB-CODE-BLOCK-END */
  267. &ANALYZE-RESUME
  268. &UNDEFINE SELF-NAME
  269. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  270. /* *************************** Main Block *************************** */
  271. { incl/brwmainblock.i }
  272. { incl/brwinternproc.i }
  273. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  274. RUN initializeObject.
  275. &ENDIF
  276. /* _UIB-CODE-BLOCK-END */
  277. &ANALYZE-RESUME
  278. /* ********************** Internal Procedures *********************** */
  279. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject bTableWin
  280. PROCEDURE destroyObject :
  281. /*------------------------------------------------------------------------------
  282. Purpose: Super Override
  283. Parameters:
  284. Notes:
  285. ------------------------------------------------------------------------------*/
  286. DEF VAR hBrowser AS HANDLE NO-UNDO.
  287. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  288. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
  289. INPUT Sektion ) NO-ERROR.
  290. RUN SUPER.
  291. /* Code placed here will execute AFTER standard behavior. */
  292. END PROCEDURE.
  293. /* _UIB-CODE-BLOCK-END */
  294. &ANALYZE-RESUME
  295. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  296. PROCEDURE disable_UI :
  297. /*------------------------------------------------------------------------------
  298. Purpose: DISABLE the User Interface
  299. Parameters: <none>
  300. Notes: Here we clean-up the user-interface by deleting
  301. dynamic widgets we have created and/or hide
  302. frames. This procedure is usually called when
  303. we are ready to "clean-up" after running.
  304. ------------------------------------------------------------------------------*/
  305. /* Hide all frames. */
  306. HIDE FRAME F-Main.
  307. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  308. END PROCEDURE.
  309. /* _UIB-CODE-BLOCK-END */
  310. &ANALYZE-RESUME
  311. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE bTableWin
  312. PROCEDURE ENTRY_BROWSE :
  313. /*------------------------------------------------------------------------------
  314. Purpose:
  315. Parameters: <none>
  316. Notes:
  317. ------------------------------------------------------------------------------*/
  318. APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
  319. RETURN NO-APPLY.
  320. END PROCEDURE.
  321. /* _UIB-CODE-BLOCK-END */
  322. &ANALYZE-RESUME
  323. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin
  324. PROCEDURE initializeObject :
  325. /*------------------------------------------------------------------------------
  326. Purpose: Super Override
  327. Parameters:
  328. Notes:
  329. ------------------------------------------------------------------------------*/
  330. { incl/brwinitialize.i }
  331. END PROCEDURE.
  332. /* _UIB-CODE-BLOCK-END */
  333. &ANALYZE-RESUME
  334. /* ************************ Function Implementations ***************** */
  335. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin
  336. FUNCTION setZeilenfarbe RETURNS LOGICAL
  337. ( ipFarbe AS INT ) :
  338. /*------------------------------------------------------------------------------
  339. Purpose:
  340. Notes:
  341. ------------------------------------------------------------------------------*/
  342. { incl/brwsetzeilenfarbe.i }
  343. END FUNCTION.
  344. /* _UIB-CODE-BLOCK-END */
  345. &ANALYZE-RESUME