b-zahlung.w 15 KB

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