v-reorgdebjou.w 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS V-table-Win
  5. /*------------------------------------------------------------------------
  6. File:
  7. Description: from VIEWER.W - Template for SmartViewer Objects
  8. Input Parameters:
  9. <none>
  10. Output Parameters:
  11. <none>
  12. ------------------------------------------------------------------------*/
  13. /* This .W file was created with the Progress UIB. */
  14. /*----------------------------------------------------------------------*/
  15. /* Create an unnamed pool to store all the widgets created
  16. by this procedure. This is a good default which assures
  17. that this procedure's triggers and internal procedures
  18. will execute in this procedure's storage, and that proper
  19. cleanup will occur on deletion of the procedure. */
  20. CREATE WIDGET-POOL.
  21. /* *************************** Definitions ************************** */
  22. /* Parameters Definitions --- */
  23. /* Local Variable Definitions --- */
  24. /* ---------- Globale Variablen ---------------------------------- */
  25. { v8/globvar.i" " " " "SHARED" }
  26. { v8/debivar.i " " " " "SHARED" }
  27. { v8/artivar.i " " " " "SHARED" }
  28. { v8/contvar.i " " " " "SHARED" }
  29. /* _UIB-CODE-BLOCK-END */
  30. &ANALYZE-RESUME
  31. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  32. /* ******************** Preprocessor Definitions ******************** */
  33. &Scoped-define PROCEDURE-TYPE SmartViewer
  34. &Scoped-define DB-AWARE no
  35. &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
  36. /* Name of first Frame and/or Browse and/or first Query */
  37. &Scoped-define FRAME-NAME F-Main
  38. /* Standard List Definitions */
  39. &Scoped-Define ENABLED-OBJECTS F_VKnr F_BKnr F_VFaknr F_BFaknr F_VDatum ~
  40. F_BDatum T_DEBFA T_DEBZA T_DEBWU T_DEBOP T_DEBHI Btn_Start RECT-23 RECT-24 ~
  41. RECT-25
  42. &Scoped-Define DISPLAYED-OBJECTS F_VKnr F_BKnr F_VFaknr F_BFaknr F_VDatum ~
  43. F_BDatum T_DEBFA T_DEBZA T_DEBWU T_DEBOP T_DEBHI
  44. /* Custom List Definitions */
  45. /* ADM-CREATE-FIELDS,ADM-ASSIGN-FIELDS,List-3,List-4,List-5,List-6 */
  46. &Scoped-define List-6 F_VKnr F_BKnr F_VFaknr F_BFaknr F_VDatum F_BDatum ~
  47. T_DEBFA T_DEBZA T_DEBWU T_DEBOP T_DEBHI
  48. /* _UIB-PREPROCESSOR-BLOCK-END */
  49. &ANALYZE-RESUME
  50. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" V-table-Win _INLINE
  51. /* Actions: ? adm/support/keyedit.w ? ? ? */
  52. /* STRUCTURED-DATA
  53. <KEY-OBJECT>
  54. THIS-PROCEDURE
  55. </KEY-OBJECT>
  56. <FOREIGN-KEYS>
  57. </FOREIGN-KEYS>
  58. <EXECUTING-CODE>
  59. **************************
  60. * Set attributes related to FOREIGN KEYS
  61. */
  62. RUN set-attribute-list (
  63. 'Keys-Accepted = "",
  64. Keys-Supplied = ""':U).
  65. /**************************
  66. </EXECUTING-CODE> */
  67. /* _UIB-CODE-BLOCK-END */
  68. &ANALYZE-RESUME
  69. /* *********************** Control Definitions ********************** */
  70. /* Definitions of the field level widgets */
  71. DEFINE BUTTON Btn_Start
  72. LABEL "&Start"
  73. SIZE 15.6 BY 1.
  74. DEFINE VARIABLE F_BDatum AS DATE FORMAT "99.99.9999":U INITIAL 12/31/9999
  75. VIEW-AS FILL-IN NATIVE
  76. SIZE 16 BY 1.05
  77. BGCOLOR 15 NO-UNDO.
  78. DEFINE VARIABLE F_BFaknr AS INTEGER FORMAT "9999999":U INITIAL 0
  79. VIEW-AS FILL-IN NATIVE
  80. SIZE 11 BY 1.05
  81. BGCOLOR 15 NO-UNDO.
  82. DEFINE VARIABLE F_BKnr AS INTEGER FORMAT "999999":U INITIAL 0
  83. VIEW-AS FILL-IN NATIVE
  84. SIZE 11 BY 1.05
  85. BGCOLOR 15 NO-UNDO.
  86. DEFINE VARIABLE F_VDatum AS DATE FORMAT "99.99.9999":U INITIAL 01/01/1901
  87. LABEL "Datum"
  88. VIEW-AS FILL-IN NATIVE
  89. SIZE 16 BY 1.05
  90. BGCOLOR 15 NO-UNDO.
  91. DEFINE VARIABLE F_VFaknr AS INTEGER FORMAT "9999999":U INITIAL 0
  92. LABEL "Fakturanummer"
  93. VIEW-AS FILL-IN NATIVE
  94. SIZE 11 BY 1.05
  95. BGCOLOR 15 NO-UNDO.
  96. DEFINE VARIABLE F_VKnr AS INTEGER FORMAT "999999":U INITIAL 0
  97. LABEL "Kundennummer"
  98. VIEW-AS FILL-IN NATIVE
  99. SIZE 11 BY 1.05
  100. BGCOLOR 15 NO-UNDO.
  101. DEFINE RECTANGLE RECT-23
  102. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  103. SIZE 64.4 BY 4.33.
  104. DEFINE RECTANGLE RECT-24
  105. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  106. SIZE 87.6 BY 1.81.
  107. DEFINE RECTANGLE RECT-25
  108. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  109. SIZE 89.6 BY 7.71.
  110. DEFINE VARIABLE T_DEBFA AS LOGICAL INITIAL no
  111. LABEL "Faktura"
  112. VIEW-AS TOGGLE-BOX
  113. SIZE 14.2 BY .95 TOOLTIP "Reorg des Fakturajournals" NO-UNDO.
  114. DEFINE VARIABLE T_DEBHI AS LOGICAL INITIAL no
  115. LABEL "Kontoblatt"
  116. VIEW-AS TOGGLE-BOX
  117. SIZE 16.8 BY .95 TOOLTIP "Reorg des Fakturajournals" NO-UNDO.
  118. DEFINE VARIABLE T_DEBOP AS LOGICAL INITIAL no
  119. LABEL "Off. Posten"
  120. VIEW-AS TOGGLE-BOX
  121. SIZE 18 BY .95 TOOLTIP "Reorg der offenen Posten" NO-UNDO.
  122. DEFINE VARIABLE T_DEBWU AS LOGICAL INITIAL no
  123. LABEL "Mehrwertst."
  124. VIEW-AS TOGGLE-BOX
  125. SIZE 17 BY .95 TOOLTIP "Reorg des Mehrwertsteuerjournals" NO-UNDO.
  126. DEFINE VARIABLE T_DEBZA AS LOGICAL INITIAL no
  127. LABEL "Zahlung"
  128. VIEW-AS TOGGLE-BOX
  129. SIZE 14.2 BY .95 TOOLTIP "Reorg des Zahlungjournals" NO-UNDO.
  130. /* ************************ Frame Definitions *********************** */
  131. DEFINE FRAME F-Main
  132. F_VKnr AT ROW 1.95 COL 22.8 COLON-ALIGNED
  133. F_BKnr AT ROW 1.95 COL 46 COLON-ALIGNED NO-LABEL
  134. F_VFaknr AT ROW 3.14 COL 22.8 COLON-ALIGNED
  135. F_BFaknr AT ROW 3.14 COL 46 COLON-ALIGNED NO-LABEL
  136. F_VDatum AT ROW 4.33 COL 22.8 COLON-ALIGNED
  137. F_BDatum AT ROW 4.33 COL 46 COLON-ALIGNED NO-LABEL
  138. T_DEBFA AT ROW 7.38 COL 5
  139. T_DEBZA AT ROW 7.38 COL 20.6
  140. T_DEBWU AT ROW 7.38 COL 35.8
  141. T_DEBOP AT ROW 7.38 COL 54
  142. T_DEBHI AT ROW 7.38 COL 73
  143. Btn_Start AT ROW 4.33 COL 72.6
  144. RECT-23 AT ROW 1.57 COL 3.6
  145. RECT-24 AT ROW 6.91 COL 3.6
  146. RECT-25 AT ROW 1.29 COL 2.6
  147. "--" VIEW-AS TEXT
  148. SIZE 2 BY 1.05 AT ROW 1.95 COL 44.4
  149. "--" VIEW-AS TEXT
  150. SIZE 2 BY 1.05 AT ROW 3.14 COL 44.4
  151. "--" VIEW-AS TEXT
  152. SIZE 2 BY 1.05 AT ROW 4.33 COL 44.4
  153. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  154. SIDE-LABELS NO-UNDERLINE THREE-D
  155. AT COL 1 ROW 1 SCROLLABLE .
  156. /* *********************** Procedure Settings ************************ */
  157. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  158. /* Settings for THIS-PROCEDURE
  159. Type: SmartViewer
  160. Allow: Basic,DB-Fields
  161. Frames: 1
  162. Add Fields to: EXTERNAL-TABLES
  163. Other Settings: PERSISTENT-ONLY COMPILE
  164. */
  165. /* This procedure should always be RUN PERSISTENT. Report the error, */
  166. /* then cleanup and return. */
  167. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  168. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  169. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  170. RETURN.
  171. END.
  172. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  173. /* ************************* Create Window ************************** */
  174. &ANALYZE-SUSPEND _CREATE-WINDOW
  175. /* DESIGN Window definition (used by the UIB)
  176. CREATE WINDOW V-table-Win ASSIGN
  177. HEIGHT = 8.48
  178. WIDTH = 92.2.
  179. /* END WINDOW DEFINITION */
  180. */
  181. &ANALYZE-RESUME
  182. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB V-table-Win
  183. /* ************************* Included-Libraries *********************** */
  184. {src/adm/method/viewer.i}
  185. /* _UIB-CODE-BLOCK-END */
  186. &ANALYZE-RESUME
  187. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  188. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  189. /* SETTINGS FOR WINDOW V-table-Win
  190. VISIBLE,,RUN-PERSISTENT */
  191. /* SETTINGS FOR FRAME F-Main
  192. NOT-VISIBLE Size-to-Fit Custom */
  193. ASSIGN
  194. FRAME F-Main:SCROLLABLE = FALSE
  195. FRAME F-Main:HIDDEN = TRUE.
  196. /* SETTINGS FOR FILL-IN F_BDatum IN FRAME F-Main
  197. 6 */
  198. /* SETTINGS FOR FILL-IN F_BFaknr IN FRAME F-Main
  199. 6 */
  200. /* SETTINGS FOR FILL-IN F_BKnr IN FRAME F-Main
  201. 6 */
  202. /* SETTINGS FOR FILL-IN F_VDatum IN FRAME F-Main
  203. 6 */
  204. /* SETTINGS FOR FILL-IN F_VFaknr IN FRAME F-Main
  205. 6 */
  206. /* SETTINGS FOR FILL-IN F_VKnr IN FRAME F-Main
  207. 6 */
  208. /* SETTINGS FOR TOGGLE-BOX T_DEBFA IN FRAME F-Main
  209. 6 */
  210. /* SETTINGS FOR TOGGLE-BOX T_DEBHI IN FRAME F-Main
  211. 6 */
  212. /* SETTINGS FOR TOGGLE-BOX T_DEBOP IN FRAME F-Main
  213. 6 */
  214. /* SETTINGS FOR TOGGLE-BOX T_DEBWU IN FRAME F-Main
  215. 6 */
  216. /* SETTINGS FOR TOGGLE-BOX T_DEBZA IN FRAME F-Main
  217. 6 */
  218. /* _RUN-TIME-ATTRIBUTES-END */
  219. &ANALYZE-RESUME
  220. /* Setting information for Queries and Browse Widgets fields */
  221. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  222. /* Query rebuild information for FRAME F-Main
  223. _Options = "NO-LOCK"
  224. _Query is NOT OPENED
  225. */ /* FRAME F-Main */
  226. &ANALYZE-RESUME
  227. /* ************************ Control Triggers ************************ */
  228. &Scoped-define SELF-NAME F-Main
  229. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main V-table-Win
  230. ON END-ERROR OF FRAME F-Main
  231. DO:
  232. RUN new-state ( INPUT 'ENDE, MAIN':U ).
  233. RETURN NO-APPLY.
  234. END.
  235. /* _UIB-CODE-BLOCK-END */
  236. &ANALYZE-RESUME
  237. &Scoped-define SELF-NAME Btn_Start
  238. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Start V-table-Win
  239. ON CHOOSE OF Btn_Start IN FRAME F-Main /* Start */
  240. DO:
  241. DISABLE Btn_Start WITH FRAME {&FRAME-NAME}.
  242. RUN REORG.
  243. ENABLE Btn_Start WITH FRAME {&FRAME-NAME}.
  244. END.
  245. /* _UIB-CODE-BLOCK-END */
  246. &ANALYZE-RESUME
  247. &UNDEFINE SELF-NAME
  248. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK V-table-Win
  249. /* *************************** Main Block *************************** */
  250. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  251. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  252. &ENDIF
  253. /************************ INTERNAL PROCEDURES ********************/
  254. /* _UIB-CODE-BLOCK-END */
  255. &ANALYZE-RESUME
  256. /* ********************** Internal Procedures *********************** */
  257. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available V-table-Win _ADM-ROW-AVAILABLE
  258. PROCEDURE adm-row-available :
  259. /*------------------------------------------------------------------------------
  260. Purpose: Dispatched to this procedure when the Record-
  261. Source has a new row available. This procedure
  262. tries to get the new row (or foriegn keys) from
  263. the Record-Source and process it.
  264. Parameters: <none>
  265. ------------------------------------------------------------------------------*/
  266. /* Define variables needed by this internal procedure. */
  267. {src/adm/template/row-head.i}
  268. /* Process the newly available records (i.e. display fields,
  269. open queries, and/or pass records on to any RECORD-TARGETS). */
  270. {src/adm/template/row-end.i}
  271. END PROCEDURE.
  272. /* _UIB-CODE-BLOCK-END */
  273. &ANALYZE-RESUME
  274. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI V-table-Win _DEFAULT-DISABLE
  275. PROCEDURE disable_UI :
  276. /*------------------------------------------------------------------------------
  277. Purpose: DISABLE the User Interface
  278. Parameters: <none>
  279. Notes: Here we clean-up the user-interface by deleting
  280. dynamic widgets we have created and/or hide
  281. frames. This procedure is usually called when
  282. we are ready to "clean-up" after running.
  283. ------------------------------------------------------------------------------*/
  284. /* Hide all frames. */
  285. HIDE FRAME F-Main.
  286. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  287. END PROCEDURE.
  288. /* _UIB-CODE-BLOCK-END */
  289. &ANALYZE-RESUME
  290. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REORG V-table-Win
  291. PROCEDURE REORG :
  292. /*------------------------------------------------------------------------------
  293. Purpose:
  294. Parameters: <none>
  295. Notes:
  296. ------------------------------------------------------------------------------*/
  297. DO WITH FRAME {&FRAME-NAME}:
  298. ASSIGN {&List-6}.
  299. IF F_VKnr = 0 AND
  300. F_BKnr = 0 THEN F_BKnr = 9999999.
  301. IF F_BKnr < F_VKnr THEN F_BKnr = F_VKnr.
  302. IF F_VFaknr = 0 AND
  303. F_BFaknr = 0 THEN F_BFaknr = 999999.
  304. IF F_BFaknr < F_VFaknr THEN F_BFaknr = F_VFaknr.
  305. IF F_VDatum = ? THEN F_VDatum = 01/01/0001.
  306. IF F_BDatum = ? THEN F_BDatum = TODAY - 1.
  307. IF F_BDatum < F_VDatum THEN F_BDatum = F_VDatum.
  308. DISPLAY {&List-6}.
  309. DO WHILE T_DEBFA:
  310. DISABLE T_DEBFA.
  311. FOR EACH Debfa USE-INDEX Debfa-k3
  312. WHERE Debfa.Firma = GVFirma
  313. AND Debfa.FakDat >= F_VDatum
  314. AND Debfa.FakDat <= F_BDatum
  315. AND Debfa.Faknr >= F_VFaknr
  316. AND Debfa.Faknr <= F_BFaknr
  317. AND Debfa.Knr >= F_VKnr
  318. AND Debfa.Knr <= F_BKnr :
  319. DELETE Debfa.
  320. END.
  321. ENABLE T_DEBFA.
  322. LEAVE.
  323. END.
  324. DO WHILE T_DEBZA:
  325. DISABLE T_DEBZA.
  326. FOR EACH Debza USE-INDEX Debza-k3
  327. WHERE Debza.Firma = GVFirma
  328. AND Debza.ZahDat >= F_VDatum
  329. AND Debza.ZahDat <= F_BDatum
  330. AND Debza.Faknr >= F_VFaknr
  331. AND Debza.Faknr <= F_BFaknr
  332. AND Debza.Knr >= F_VKnr
  333. AND Debza.Knr <= F_BKnr :
  334. DELETE Debza.
  335. END.
  336. ENABLE T_DEBZA.
  337. LEAVE.
  338. END.
  339. DO WHILE T_DEBWU:
  340. DISABLE T_DEBWU.
  341. FOR EACH Debwu USE-INDEX Debwu-k3
  342. WHERE Debwu.Firma = GVFirma
  343. AND Debwu.Datum >= F_VDatum
  344. AND Debwu.Datum <= F_BDatum
  345. AND Debwu.Faknr >= F_VFaknr
  346. AND Debwu.Faknr <= F_BFaknr
  347. AND Debwu.Knr >= F_VKnr
  348. AND Debwu.Knr <= F_BKnr :
  349. DELETE Debwu.
  350. END.
  351. ENABLE T_DEBWU.
  352. LEAVE.
  353. END.
  354. DO WHILE T_DEBOP:
  355. DISABLE T_DEBOP.
  356. FOR EACH Debop USE-INDEX Debop-k1
  357. WHERE Debop.Firma = GVFirma
  358. AND Debop.Knr >= F_VKnr
  359. AND Debop.Knr <= F_BKnr
  360. AND Debop.Faknr >= F_VFaknr
  361. AND Debop.Faknr <= F_BFaknr
  362. AND Debop.FakDat >= F_VDatum
  363. AND Debop.FakDat <= F_BDatum
  364. AND Debop.Saldo = 0 :
  365. IF Debop.Faknr = 999999 THEN NEXT.
  366. DELETE Debop.
  367. END.
  368. ENABLE T_DEBOP.
  369. LEAVE.
  370. END.
  371. DO WHILE T_DEBHI:
  372. DISABLE T_DEBHI.
  373. FOR EACH Debhi USE-INDEX Debhi-k2
  374. WHERE Debhi.Firma = GVFirma
  375. AND Debhi.Knr >= F_VKnr
  376. AND Debhi.Knr <= F_BKnr
  377. AND Debhi.Datum >= F_VDatum
  378. AND Debhi.Datum <= F_BDatum
  379. AND Debhi.Faknr >= F_VFaknr
  380. AND Debhi.Faknr <= F_BFaknr :
  381. DELETE Debhi.
  382. END.
  383. ENABLE T_DEBHI.
  384. LEAVE.
  385. END.
  386. END.
  387. END PROCEDURE.
  388. /* _UIB-CODE-BLOCK-END */
  389. &ANALYZE-RESUME
  390. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records V-table-Win _ADM-SEND-RECORDS
  391. PROCEDURE send-records :
  392. /*------------------------------------------------------------------------------
  393. Purpose: Send record ROWID's for all tables used by
  394. this file.
  395. Parameters: see template/snd-head.i
  396. ------------------------------------------------------------------------------*/
  397. /* SEND-RECORDS does nothing because there are no External
  398. Tables specified for this SmartViewer, and there are no
  399. tables specified in any contained Browse, Query, or Frame. */
  400. END PROCEDURE.
  401. /* _UIB-CODE-BLOCK-END */
  402. &ANALYZE-RESUME
  403. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed V-table-Win
  404. PROCEDURE state-changed :
  405. /* -----------------------------------------------------------
  406. Purpose:
  407. Parameters: <none>
  408. Notes:
  409. -------------------------------------------------------------*/
  410. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  411. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  412. CASE p-state:
  413. /* Object instance CASEs can go here to replace standard behavior
  414. or add new cases. */
  415. {src/adm/template/vstates.i}
  416. END CASE.
  417. END PROCEDURE.
  418. /* _UIB-CODE-BLOCK-END */
  419. &ANALYZE-RESUME