b-artlief.w 15 KB

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