b-offenposten.w 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  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 B-table-Win
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from BROWSER.W - Basic SmartBrowser Object Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress UIB. */
  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 VAdresse AS CHAR NO-UNDO.
  28. /* ---------- Globale Variablen ---------------------------------- */
  29. { v8/globvar.i" " " " "SHARED" }
  30. { v8/debivar.i " " " " "SHARED" }
  31. { v8/artivar.i " " " " "SHARED" }
  32. { v8/contvar.i " " " " "SHARED" }
  33. /* _UIB-CODE-BLOCK-END */
  34. &ANALYZE-RESUME
  35. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  36. /* ******************** Preprocessor Definitions ******************** */
  37. &Scoped-define PROCEDURE-TYPE SmartBrowser
  38. &Scoped-define DB-AWARE no
  39. &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
  40. /* Name of first Frame and/or Browse and/or first Query */
  41. &Scoped-define FRAME-NAME F-Main
  42. &Scoped-define BROWSE-NAME br_table
  43. /* Internal Tables (found by Frame, Query & Browse Queries) */
  44. &Scoped-define INTERNAL-TABLES Debop
  45. /* Define KEY-PHRASE in case it is used by any query. */
  46. &Scoped-define KEY-PHRASE TRUE
  47. /* Definitions for BROWSE br_table */
  48. &Scoped-define FIELDS-IN-QUERY-br_table Debop.Knr VAdresse @ VAdresse ~
  49. Debop.Faknr Debop.Fakdat Debop.Faellig Debop.Fakbetr Debop.Zahbetr ~
  50. Debop.Skonto Debop.Saldo
  51. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  52. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH Debop WHERE ~{&KEY-PHRASE} ~
  53. AND Debop.Firma = GVFirma ~
  54. AND Debop.Knr >= F_Knr ~
  55. AND Debop.Saldo <> 0 NO-LOCK ~
  56. BY Debop.Knr ~
  57. BY Debop.Faknr.
  58. &Scoped-define TABLES-IN-QUERY-br_table Debop
  59. &Scoped-define FIRST-TABLE-IN-QUERY-br_table Debop
  60. /* Definitions for FRAME F-Main */
  61. &Scoped-define OPEN-BROWSERS-IN-QUERY-F-Main ~
  62. ~{&OPEN-QUERY-br_table}
  63. /* Standard List Definitions */
  64. &Scoped-Define ENABLED-OBJECTS br_table F_Knr RECT-35
  65. &Scoped-Define DISPLAYED-OBJECTS F_Knr F_Total
  66. /* Custom List Definitions */
  67. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  68. /* _UIB-PREPROCESSOR-BLOCK-END */
  69. &ANALYZE-RESUME
  70. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  71. /* Actions: ? adm/support/keyedit.w ? ? ? */
  72. /* STRUCTURED-DATA
  73. <KEY-OBJECT>
  74. &BROWSE-NAME
  75. </KEY-OBJECT>
  76. <FOREIGN-KEYS>
  77. </FOREIGN-KEYS>
  78. <EXECUTING-CODE>
  79. **************************
  80. * Set attributes related to FOREIGN KEYS
  81. */
  82. RUN set-attribute-list (
  83. 'Keys-Accepted = "",
  84. Keys-Supplied = ""':U).
  85. /**************************
  86. </EXECUTING-CODE> */
  87. /* _UIB-CODE-BLOCK-END */
  88. &ANALYZE-RESUME
  89. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  90. /* Actions: ? adm/support/advqedit.w ? ? ? */
  91. /* STRUCTURED-DATA
  92. <KEY-OBJECT>
  93. &BROWSE-NAME
  94. </KEY-OBJECT>
  95. <SORTBY-OPTIONS>
  96. </SORTBY-OPTIONS>
  97. <SORTBY-RUN-CODE>
  98. ************************
  99. * Set attributes related to SORTBY-OPTIONS */
  100. RUN set-attribute-list (
  101. 'SortBy-Options = ""':U).
  102. /************************
  103. </SORTBY-RUN-CODE>
  104. <FILTER-ATTRIBUTES>
  105. </FILTER-ATTRIBUTES> */
  106. /* _UIB-CODE-BLOCK-END */
  107. &ANALYZE-RESUME
  108. /* *********************** Control Definitions ********************** */
  109. /* Definitions of the field level widgets */
  110. DEFINE VARIABLE F_Knr AS INTEGER FORMAT "999999":U INITIAL 0
  111. LABEL "Knr"
  112. VIEW-AS FILL-IN NATIVE
  113. SIZE 12.6 BY 1
  114. BGCOLOR 15 NO-UNDO.
  115. DEFINE VARIABLE F_Total AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0
  116. LABEL "Totalsaldo"
  117. VIEW-AS FILL-IN NATIVE
  118. SIZE 23 BY 1
  119. BGCOLOR 15 NO-UNDO.
  120. DEFINE RECTANGLE RECT-35
  121. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  122. SIZE 117 BY 10.81.
  123. /* Query definitions */
  124. &ANALYZE-SUSPEND
  125. DEFINE QUERY br_table FOR
  126. Debop SCROLLING.
  127. &ANALYZE-RESUME
  128. /* Browse definitions */
  129. DEFINE BROWSE br_table
  130. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _STRUCTURED
  131. QUERY br_table NO-LOCK DISPLAY
  132. Debop.Knr FORMAT "999999":U
  133. VAdresse @ VAdresse COLUMN-LABEL "Kunde" FORMAT "x(25)":U
  134. Debop.Faknr FORMAT "9999999":U
  135. Debop.Fakdat COLUMN-LABEL "Fak.Datum" FORMAT "99.99.9999":U
  136. Debop.Faellig FORMAT "99.99.9999":U
  137. Debop.Fakbetr COLUMN-LABEL "Betrag" FORMAT "zzz,zz9.99-":U
  138. Debop.Zahbetr COLUMN-LABEL "Bezahlt" FORMAT "zzz,zz9.99-":U
  139. Debop.Skonto FORMAT "zzz9.99-":U
  140. Debop.Saldo FORMAT "zzz,zz9.99-":U
  141. /* _UIB-CODE-BLOCK-END */
  142. &ANALYZE-RESUME
  143. WITH NO-ASSIGN SEPARATORS SIZE 115 BY 8.57
  144. BGCOLOR 15 .
  145. /* ************************ Frame Definitions *********************** */
  146. DEFINE FRAME F-Main
  147. br_table AT ROW 1.48 COL 3
  148. F_Knr AT ROW 10.52 COL 6 COLON-ALIGNED
  149. F_Total AT ROW 10.52 COL 91 COLON-ALIGNED
  150. RECT-35 AT ROW 1.24 COL 2
  151. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  152. SIDE-LABELS NO-UNDERLINE THREE-D
  153. AT COL 1 ROW 1 SCROLLABLE .
  154. /* *********************** Procedure Settings ************************ */
  155. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  156. /* Settings for THIS-PROCEDURE
  157. Type: SmartBrowser
  158. Allow: Basic,Browse
  159. Frames: 1
  160. Add Fields to: EXTERNAL-TABLES
  161. Other Settings: PERSISTENT-ONLY COMPILE
  162. */
  163. /* This procedure should always be RUN PERSISTENT. Report the error, */
  164. /* then cleanup and return. */
  165. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  166. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  167. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  168. RETURN.
  169. END.
  170. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  171. /* ************************* Create Window ************************** */
  172. &ANALYZE-SUSPEND _CREATE-WINDOW
  173. /* DESIGN Window definition (used by the UIB)
  174. CREATE WINDOW B-table-Win ASSIGN
  175. HEIGHT = 11.52
  176. WIDTH = 121.2.
  177. /* END WINDOW DEFINITION */
  178. */
  179. &ANALYZE-RESUME
  180. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  181. /* ************************* Included-Libraries *********************** */
  182. {src/adm/method/browser.i}
  183. /* _UIB-CODE-BLOCK-END */
  184. &ANALYZE-RESUME
  185. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  186. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  187. /* SETTINGS FOR WINDOW B-table-Win
  188. NOT-VISIBLE,,RUN-PERSISTENT */
  189. /* SETTINGS FOR FRAME F-Main
  190. NOT-VISIBLE Size-to-Fit */
  191. /* BROWSE-TAB br_table 1 F-Main */
  192. ASSIGN
  193. FRAME F-Main:SCROLLABLE = FALSE
  194. FRAME F-Main:HIDDEN = TRUE.
  195. ASSIGN
  196. br_table:MAX-DATA-GUESS IN FRAME F-Main = 5000.
  197. /* SETTINGS FOR FILL-IN F_Total IN FRAME F-Main
  198. NO-ENABLE */
  199. /* _RUN-TIME-ATTRIBUTES-END */
  200. &ANALYZE-RESUME
  201. /* Setting information for Queries and Browse Widgets fields */
  202. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  203. /* Query rebuild information for BROWSE br_table
  204. _TblList = "AnaDat.Debop"
  205. _Options = "NO-LOCK KEY-PHRASE"
  206. _OrdList = "AnaDat.Debop.Knr|yes,AnaDat.Debop.Faknr|yes"
  207. _Where[1] = "Debop.Firma = GVFirma
  208. AND Debop.Knr >= F_Knr
  209. AND Debop.Saldo <> 0"
  210. _FldNameList[1] = AnaDat.Debop.Knr
  211. _FldNameList[2] > "_<CALC>"
  212. "VAdresse @ VAdresse" "Kunde" "x(25)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  213. _FldNameList[3] > AnaDat.Debop.Faknr
  214. "Debop.Faknr" ? "999999" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  215. _FldNameList[4] > AnaDat.Debop.Fakdat
  216. "Debop.Fakdat" "Fak.Datum" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  217. _FldNameList[5] = AnaDat.Debop.Faellig
  218. _FldNameList[6] > AnaDat.Debop.Fakbetr
  219. "Debop.Fakbetr" "Betrag" "zzz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  220. _FldNameList[7] > AnaDat.Debop.Zahbetr
  221. "Debop.Zahbetr" "Bezahlt" "zzz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  222. _FldNameList[8] > AnaDat.Debop.Skonto
  223. "Debop.Skonto" ? "zzz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  224. _FldNameList[9] > AnaDat.Debop.Saldo
  225. "Debop.Saldo" ? "zzz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  226. _Query is OPENED
  227. */ /* BROWSE br_table */
  228. &ANALYZE-RESUME
  229. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  230. /* Query rebuild information for FRAME F-Main
  231. _Options = "NO-LOCK"
  232. _Query is NOT OPENED
  233. */ /* FRAME F-Main */
  234. &ANALYZE-RESUME
  235. /* ************************ Control Triggers ************************ */
  236. &Scoped-define BROWSE-NAME br_table
  237. &Scoped-define SELF-NAME br_table
  238. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  239. ON ROW-DISPLAY OF br_table IN FRAME F-Main
  240. DO:
  241. VAdresse = ''.
  242. IF NOT AVAILABLE Debop THEN RETURN.
  243. FIND Adresse USE-INDEX Adresse-k1
  244. WHERE Adresse.Firma = AdFirma
  245. AND Adresse.Knr = Debop.Knr NO-LOCK NO-ERROR.
  246. IF AVAILABLE Adresse THEN VAdresse = Adresse.Anzeig_Br.
  247. ELSE VAdresse = FILL('?', 20).
  248. END.
  249. /* _UIB-CODE-BLOCK-END */
  250. &ANALYZE-RESUME
  251. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  252. ON ROW-ENTRY OF br_table IN FRAME F-Main
  253. DO:
  254. /* This code displays initial values for newly added or copied rows. */
  255. {src/adm/template/brsentry.i}
  256. END.
  257. /* _UIB-CODE-BLOCK-END */
  258. &ANALYZE-RESUME
  259. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  260. ON ROW-LEAVE OF br_table IN FRAME F-Main
  261. DO:
  262. /* Do not disable this code or no updates will take place except
  263. by pressing the Save button on an Update SmartPanel. */
  264. {src/adm/template/brsleave.i}
  265. END.
  266. /* _UIB-CODE-BLOCK-END */
  267. &ANALYZE-RESUME
  268. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  269. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  270. DO:
  271. /* This ADM trigger code must be preserved in order to notify other
  272. objects when the browser's current row changes. */
  273. {src/adm/template/brschnge.i}
  274. END.
  275. /* _UIB-CODE-BLOCK-END */
  276. &ANALYZE-RESUME
  277. &Scoped-define SELF-NAME F_Knr
  278. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr B-table-Win
  279. ON LEAVE OF F_Knr IN FRAME F-Main /* Knr */
  280. DO:
  281. DO WITH FRAME {&FRAME-NAME}:
  282. ASSIGN F_Knr.
  283. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  284. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  285. RETURN NO-APPLY.
  286. END.
  287. END.
  288. /* _UIB-CODE-BLOCK-END */
  289. &ANALYZE-RESUME
  290. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr B-table-Win
  291. ON RETURN OF F_Knr IN FRAME F-Main /* Knr */
  292. DO:
  293. APPLY 'TAB' TO SELF.
  294. RETURN NO-APPLY.
  295. END.
  296. /* _UIB-CODE-BLOCK-END */
  297. &ANALYZE-RESUME
  298. &UNDEFINE SELF-NAME
  299. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  300. /* *************************** Main Block *************************** */
  301. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  302. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  303. &ENDIF
  304. F_Knr = 0.
  305. ON RETURN OF BROWSE {&BROWSE-NAME}
  306. OR LEFT-MOUSE-DBLCLICK OF BROWSE {&BROWSE-NAME}
  307. DO:
  308. DO WITH FRAME {&FRAME-NAME}:
  309. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN.
  310. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN.
  311. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  312. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  313. Linknr = Adresse.Knr.
  314. DVKnr = Adresse.Knr.
  315. RUN new-state ( 'kunde_ok, MAIN':U ).
  316. RETURN NO-APPLY.
  317. END.
  318. END.
  319. /* _UIB-CODE-BLOCK-END */
  320. &ANALYZE-RESUME
  321. /* ********************** Internal Procedures *********************** */
  322. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  323. PROCEDURE adm-row-available :
  324. /*------------------------------------------------------------------------------
  325. Purpose: Dispatched to this procedure when the Record-
  326. Source has a new row available. This procedure
  327. tries to get the new row (or foriegn keys) from
  328. the Record-Source and process it.
  329. Parameters: <none>
  330. ------------------------------------------------------------------------------*/
  331. /* Define variables needed by this internal procedure. */
  332. {src/adm/template/row-head.i}
  333. /* Process the newly available records (i.e. display fields,
  334. open queries, and/or pass records on to any RECORD-TARGETS). */
  335. {src/adm/template/row-end.i}
  336. END PROCEDURE.
  337. /* _UIB-CODE-BLOCK-END */
  338. &ANALYZE-RESUME
  339. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  340. PROCEDURE disable_UI :
  341. /*------------------------------------------------------------------------------
  342. Purpose: DISABLE the User Interface
  343. Parameters: <none>
  344. Notes: Here we clean-up the user-interface by deleting
  345. dynamic widgets we have created and/or hide
  346. frames. This procedure is usually called when
  347. we are ready to "clean-up" after running.
  348. ------------------------------------------------------------------------------*/
  349. /* Hide all frames. */
  350. HIDE FRAME F-Main.
  351. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  352. END PROCEDURE.
  353. /* _UIB-CODE-BLOCK-END */
  354. &ANALYZE-RESUME
  355. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  356. PROCEDURE local-view :
  357. /*------------------------------------------------------------------------------
  358. Purpose: Override standard ADM method
  359. Notes:
  360. ------------------------------------------------------------------------------*/
  361. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  362. Rundbetr = 0.
  363. FOR EACH Debop USE-INDEX Debop-k1
  364. WHERE Debop.Firma = GVFirma
  365. AND DebOP.Saldo <> 0 NO-LOCK:
  366. Rundbetr = Rundbetr + Debop.Saldo.
  367. END.
  368. F_Total = Rundbetr.
  369. DISPLAY F_Total WITH FRAME {&FRAME-NAME}.
  370. END PROCEDURE.
  371. /* _UIB-CODE-BLOCK-END */
  372. &ANALYZE-RESUME
  373. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  374. PROCEDURE send-records :
  375. /*------------------------------------------------------------------------------
  376. Purpose: Send record ROWID's for all tables used by
  377. this file.
  378. Parameters: see template/snd-head.i
  379. ------------------------------------------------------------------------------*/
  380. /* Define variables needed by this internal procedure. */
  381. {src/adm/template/snd-head.i}
  382. /* For each requested table, put it's ROWID in the output list. */
  383. {src/adm/template/snd-list.i "Debop"}
  384. /* Deal with any unexpected table requests before closing. */
  385. {src/adm/template/snd-end.i}
  386. END PROCEDURE.
  387. /* _UIB-CODE-BLOCK-END */
  388. &ANALYZE-RESUME
  389. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  390. PROCEDURE state-changed :
  391. /* -----------------------------------------------------------
  392. Purpose:
  393. Parameters: <none>
  394. Notes:
  395. -------------------------------------------------------------*/
  396. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  397. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  398. CASE p-state:
  399. /* Object instance CASEs can go here to replace standard behavior
  400. or add new cases. */
  401. {src/adm/template/bstates.i}
  402. END CASE.
  403. END PROCEDURE.
  404. /* _UIB-CODE-BLOCK-END */
  405. &ANALYZE-RESUME