d-fakauswahl.w 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME D-Dialog
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS D-Dialog
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrdlg.w - ADM SmartDialog Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. Author:
  14. Created:
  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. DEF INPUT PARAMETER FVerbucht AS LOG.
  27. /* Local Variable Definitions --- */
  28. DEF VAR ok AS LOG NO-UNDO.
  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 SmartDialog
  39. &Scoped-define DB-AWARE no
  40. &Scoped-define ADM-CONTAINER DIALOG-BOX
  41. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  42. &Scoped-define FRAME-NAME D-Dialog
  43. /* Standard List Definitions */
  44. &Scoped-Define ENABLED-OBJECTS CB_Fakart CB_Aufsta F_VKnr F_BKnr F_VDatum ~
  45. F_BDatum F_FDatum Btn_OK Btn_Cancel
  46. &Scoped-Define DISPLAYED-OBJECTS CB_Fakart CB_Aufsta F_VKnr F_BKnr F_VDatum ~
  47. F_BDatum F_FDatum
  48. /* Custom List Definitions */
  49. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  50. &Scoped-define List-1 CB_Aufsta F_VKnr F_BKnr F_VDatum F_BDatum F_FDatum
  51. /* _UIB-PREPROCESSOR-BLOCK-END */
  52. &ANALYZE-RESUME
  53. /* *********************** Control Definitions ********************** */
  54. /* Define a dialog box */
  55. /* Definitions of the field level widgets */
  56. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  57. LABEL "&Abbrechen"
  58. SIZE 12 BY 1
  59. BGCOLOR 8 .
  60. DEFINE BUTTON Btn_OK AUTO-GO
  61. LABEL "&OK"
  62. SIZE 12 BY 1
  63. BGCOLOR 8 .
  64. DEFINE VARIABLE CB_Aufsta AS CHARACTER FORMAT "X(256)":U
  65. LABEL "Auftragstatus"
  66. VIEW-AS COMBO-BOX INNER-LINES 5
  67. DROP-DOWN-LIST
  68. SIZE 42 BY 1
  69. BGCOLOR 15 NO-UNDO.
  70. DEFINE VARIABLE CB_Fakart AS CHARACTER FORMAT "X(256)":U
  71. LABEL "Fakturaart"
  72. VIEW-AS COMBO-BOX INNER-LINES 5
  73. DROP-DOWN-LIST
  74. SIZE 42 BY 1
  75. BGCOLOR 15 NO-UNDO.
  76. DEFINE VARIABLE F_BDatum AS DATE FORMAT "99.99.9999":U
  77. LABEL "-"
  78. VIEW-AS FILL-IN NATIVE
  79. SIZE 18.2 BY 1
  80. BGCOLOR 15 NO-UNDO.
  81. DEFINE VARIABLE F_BKnr AS INTEGER FORMAT "999999":U INITIAL 0
  82. LABEL "-"
  83. VIEW-AS FILL-IN NATIVE
  84. SIZE 12 BY 1
  85. BGCOLOR 15 NO-UNDO.
  86. DEFINE VARIABLE F_FDatum AS DATE FORMAT "99.99.9999":U
  87. LABEL "Fakturadatum"
  88. VIEW-AS FILL-IN NATIVE
  89. SIZE 18.2 BY 1
  90. BGCOLOR 15 NO-UNDO.
  91. DEFINE VARIABLE F_VDatum AS DATE FORMAT "99.99.9999":U
  92. LABEL "von - bis Lieferdatum"
  93. VIEW-AS FILL-IN NATIVE
  94. SIZE 18.2 BY 1
  95. BGCOLOR 15 NO-UNDO.
  96. DEFINE VARIABLE F_VKnr AS INTEGER FORMAT "999999":U INITIAL 0
  97. LABEL "von - bis Kundennummer"
  98. VIEW-AS FILL-IN NATIVE
  99. SIZE 12 BY 1
  100. BGCOLOR 15 NO-UNDO.
  101. /* ************************ Frame Definitions *********************** */
  102. DEFINE FRAME D-Dialog
  103. CB_Fakart AT ROW 2 COL 38 COLON-ALIGNED
  104. CB_Aufsta AT ROW 3 COL 38 COLON-ALIGNED
  105. F_VKnr AT ROW 4 COL 38 COLON-ALIGNED
  106. F_BKnr AT ROW 4 COL 62 COLON-ALIGNED
  107. F_VDatum AT ROW 5 COL 38 COLON-ALIGNED
  108. F_BDatum AT ROW 5 COL 62 COLON-ALIGNED
  109. F_FDatum AT ROW 6 COL 38 COLON-ALIGNED
  110. Btn_OK AT ROW 8 COL 16.6
  111. Btn_Cancel AT ROW 8 COL 59
  112. SPACE(21.39) SKIP(1.32)
  113. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  114. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  115. TITLE "Auswahl Dokumente"
  116. DEFAULT-BUTTON Btn_OK CANCEL-BUTTON Btn_Cancel.
  117. /* *********************** Procedure Settings ************************ */
  118. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  119. /* Settings for THIS-PROCEDURE
  120. Type: SmartDialog
  121. Allow: Basic,Browse,DB-Fields,Query,Smart
  122. Other Settings: COMPILE
  123. */
  124. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  125. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB D-Dialog
  126. /* ************************* Included-Libraries *********************** */
  127. {src/adm/method/containr.i}
  128. /* _UIB-CODE-BLOCK-END */
  129. &ANALYZE-RESUME
  130. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  131. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  132. /* SETTINGS FOR DIALOG-BOX D-Dialog
  133. FRAME-NAME */
  134. ASSIGN
  135. FRAME D-Dialog:SCROLLABLE = FALSE
  136. FRAME D-Dialog:HIDDEN = TRUE.
  137. /* SETTINGS FOR COMBO-BOX CB_Aufsta IN FRAME D-Dialog
  138. 1 */
  139. /* SETTINGS FOR FILL-IN F_BDatum IN FRAME D-Dialog
  140. 1 */
  141. /* SETTINGS FOR FILL-IN F_BKnr IN FRAME D-Dialog
  142. 1 */
  143. /* SETTINGS FOR FILL-IN F_FDatum IN FRAME D-Dialog
  144. 1 */
  145. /* SETTINGS FOR FILL-IN F_VDatum IN FRAME D-Dialog
  146. 1 */
  147. /* SETTINGS FOR FILL-IN F_VKnr IN FRAME D-Dialog
  148. 1 */
  149. /* _RUN-TIME-ATTRIBUTES-END */
  150. &ANALYZE-RESUME
  151. /* Setting information for Queries and Browse Widgets fields */
  152. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX D-Dialog
  153. /* Query rebuild information for DIALOG-BOX D-Dialog
  154. _Options = "SHARE-LOCK"
  155. _Query is NOT OPENED
  156. */ /* DIALOG-BOX D-Dialog */
  157. &ANALYZE-RESUME
  158. /* ************************ Control Triggers ************************ */
  159. &Scoped-define SELF-NAME D-Dialog
  160. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL D-Dialog D-Dialog
  161. ON WINDOW-CLOSE OF FRAME D-Dialog /* Auswahl Dokumente */
  162. DO:
  163. /* Add Trigger to equate WINDOW-CLOSE to END-ERROR. */
  164. APPLY "END-ERROR":U TO SELF.
  165. END.
  166. /* _UIB-CODE-BLOCK-END */
  167. &ANALYZE-RESUME
  168. &Scoped-define SELF-NAME Btn_OK
  169. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK D-Dialog
  170. ON CHOOSE OF Btn_OK IN FRAME D-Dialog /* OK */
  171. DO:
  172. DO WITH FRAME {&FRAME-NAME}:
  173. ASSIGN {&List-1}.
  174. IF F_VDatum = ? THEN DO:
  175. { v8/fehler.i "0096" }
  176. APPLY 'ENTRY' TO F_VDatum.
  177. RETURN NO-APPLY.
  178. END.
  179. IF F_BDatum = ? THEN DO:
  180. { v8/fehler.i "0096" }
  181. APPLY 'ENTRY' TO F_BDatum.
  182. RETURN NO-APPLY.
  183. END.
  184. IF F_VDatum > F_BDatum THEN DO:
  185. { v8/fehler.i "0096" }
  186. APPLY 'ENTRY' TO F_VDatum.
  187. RETURN NO-APPLY.
  188. END.
  189. IF F_FDatum = ? THEN DO:
  190. { v8/fehler.i "0096" }
  191. APPLY 'ENTRY' TO F_FDatum.
  192. RETURN NO-APPLY.
  193. END.
  194. IF F_FDatum < F_VDatum THEN DO:
  195. { v8/fehler.i "0096" }
  196. APPLY 'ENTRY' TO F_FDatum.
  197. RETURN NO-APPLY.
  198. END.
  199. Linktext = TRIM(SUBSTRING(CB_Fakart:SCREEN-VALUE,01,03))
  200. + ";"
  201. + TRIM(SUBSTRING(CB_Aufsta:SCREEN-VALUE,01,03))
  202. + ";"
  203. + STRING(F_VKnr,"999999")
  204. + ";"
  205. + STRING(F_BKnr,"999999")
  206. + ";"
  207. + STRING(F_VDatum,"99.99.9999")
  208. + ";"
  209. + STRING(F_BDatum,"99.99.9999")
  210. + ";"
  211. + STRING(F_FDatum,"99.99.9999").
  212. END.
  213. END.
  214. /* _UIB-CODE-BLOCK-END */
  215. &ANALYZE-RESUME
  216. &UNDEFINE SELF-NAME
  217. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK D-Dialog
  218. /* *************************** Main Block *************************** */
  219. DO WHILE FVerbucht:
  220. FIND Savko WHERE RECID(Savko) = INTEGER(Linktext) NO-LOCK NO-ERROR.
  221. Linktext = ''.
  222. F_VKnr = Savko.Fak_Knr.
  223. F_BKnr = Savko.Fak_Knr.
  224. F_VDatum = DATE(MONTH(Savko.Lief_Datum), 01, YEAR(Savko.Lief_Datum)).
  225. F_BDatum = F_VDatum + 27.
  226. DO ix = 1 TO 5:
  227. IF MONTH(F_BDatum + 1) <> MONTH(F_BDatum) THEN LEAVE.
  228. F_BDatum = F_BDatum + 1.
  229. END.
  230. IF Savko.Fak_Datum <> ? THEN F_FDatum = Savko.Fak_Datum.
  231. ELSE F_FDatum = F_BDatum.
  232. CB_Fakart:DELIMITER = ";".
  233. ok = TRUE.
  234. DO WHILE ok:
  235. ok = CB_Fakart:DELETE(1).
  236. END.
  237. ix = 0.
  238. i1 = 1.
  239. FOR EACH Tabel USE-INDEX Tabel-k2
  240. WHERE Tabel.Firma = GVFirma
  241. AND Tabel.RecArt = 'FAKART' NO-LOCK:
  242. ok = CB_Fakart:ADD-LAST(STRING(Tabel.CodeI,"zz9 ") + Tabel.Bez1).
  243. ix = ix + 1.
  244. IF Tabel.CodeI = Savko.Fak_Art THEN i1 = ix.
  245. END.
  246. CB_Fakart:SCREEN-VALUE = CB_Fakart:ENTRY(i1).
  247. CB_Aufsta:DELIMITER = ";".
  248. ok = TRUE.
  249. DO WHILE ok:
  250. ok = CB_Aufsta:DELETE(1).
  251. END.
  252. ix = 0.
  253. i1 = 1.
  254. FOR EACH Tabel USE-INDEX Tabel-k2
  255. WHERE Tabel.Firma = GVFirma
  256. AND Tabel.RecArt = 'AUFSTATUS' NO-LOCK:
  257. ok = CB_Aufsta:ADD-LAST(STRING(Tabel.CodeI,"zz9 ") + Tabel.Bez1).
  258. ix = ix + 1.
  259. IF Tabel.CodeI = Savko.Auf_Sta THEN i1 = ix.
  260. END.
  261. CB_Aufsta:SCREEN-VALUE = CB_Aufsta:ENTRY(i1).
  262. LEAVE.
  263. END.
  264. DO WHILE NOT FVerbucht:
  265. FIND Aufko WHERE RECID(Aufko) = INTEGER(Linktext) NO-LOCK NO-ERROR.
  266. Linktext = ''.
  267. F_VKnr = Aufko.Fak_Knr.
  268. F_BKnr = Aufko.Fak_Knr.
  269. F_VDatum = DATE(MONTH(Aufko.Lief_Datum), 01, YEAR(Aufko.Lief_Datum)).
  270. F_BDatum = F_VDatum + 27.
  271. DO ix = 1 TO 5:
  272. IF MONTH(F_BDatum + 1) <> MONTH(F_BDatum) THEN LEAVE.
  273. F_BDatum = F_BDatum + 1.
  274. END.
  275. IF Aufko.Fak_Datum <> ? THEN F_FDatum = Aufko.Fak_Datum.
  276. ELSE F_FDatum = F_BDatum.
  277. CB_Fakart:DELIMITER = ";".
  278. ok = TRUE.
  279. DO WHILE ok:
  280. ok = CB_Fakart:DELETE(1).
  281. END.
  282. ix = 0.
  283. i1 = 1.
  284. FOR EACH Tabel USE-INDEX Tabel-k2
  285. WHERE Tabel.Firma = GVFirma
  286. AND Tabel.RecArt = 'FAKART' NO-LOCK:
  287. ok = CB_Fakart:ADD-LAST(STRING(Tabel.CodeI,"zz9 ") + Tabel.Bez1).
  288. ix = ix + 1.
  289. IF Tabel.CodeI = Aufko.Fak_Art THEN i1 = ix.
  290. END.
  291. CB_Fakart:SCREEN-VALUE = CB_Fakart:ENTRY(i1).
  292. CB_Aufsta:DELIMITER = ";".
  293. ok = TRUE.
  294. DO WHILE ok:
  295. ok = CB_Aufsta:DELETE(1).
  296. END.
  297. ix = 0.
  298. i1 = 1.
  299. FOR EACH Tabel USE-INDEX Tabel-k2
  300. WHERE Tabel.Firma = GVFirma
  301. AND Tabel.RecArt = 'AUFSTATUS' NO-LOCK:
  302. ok = CB_Aufsta:ADD-LAST(STRING(Tabel.CodeI,"zz9 ") + Tabel.Bez1).
  303. ix = ix + 1.
  304. IF Tabel.CodeI = Aufko.Auf_Sta THEN i1 = ix.
  305. END.
  306. CB_Aufsta:SCREEN-VALUE = CB_Aufsta:ENTRY(i1).
  307. LEAVE.
  308. END.
  309. {src/adm/template/dialogmn.i}
  310. /* _UIB-CODE-BLOCK-END */
  311. &ANALYZE-RESUME
  312. /* ********************** Internal Procedures *********************** */
  313. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects D-Dialog _ADM-CREATE-OBJECTS
  314. PROCEDURE adm-create-objects :
  315. /*------------------------------------------------------------------------------
  316. Purpose: Create handles for all SmartObjects used in this procedure.
  317. After SmartObjects are initialized, then SmartLinks are added.
  318. Parameters: <none>
  319. ------------------------------------------------------------------------------*/
  320. END PROCEDURE.
  321. /* _UIB-CODE-BLOCK-END */
  322. &ANALYZE-RESUME
  323. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available D-Dialog _ADM-ROW-AVAILABLE
  324. PROCEDURE adm-row-available :
  325. /*------------------------------------------------------------------------------
  326. Purpose: Dispatched to this procedure when the Record-
  327. Source has a new row available. This procedure
  328. tries to get the new row (or foriegn keys) from
  329. the Record-Source and process it.
  330. Parameters: <none>
  331. ------------------------------------------------------------------------------*/
  332. /* Define variables needed by this internal procedure. */
  333. {src/adm/template/row-head.i}
  334. /* Process the newly available records (i.e. display fields,
  335. open queries, and/or pass records on to any RECORD-TARGETS). */
  336. {src/adm/template/row-end.i}
  337. END PROCEDURE.
  338. /* _UIB-CODE-BLOCK-END */
  339. &ANALYZE-RESUME
  340. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI D-Dialog _DEFAULT-DISABLE
  341. PROCEDURE disable_UI :
  342. /*------------------------------------------------------------------------------
  343. Purpose: DISABLE the User Interface
  344. Parameters: <none>
  345. Notes: Here we clean-up the user-interface by deleting
  346. dynamic widgets we have created and/or hide
  347. frames. This procedure is usually called when
  348. we are ready to "clean-up" after running.
  349. ------------------------------------------------------------------------------*/
  350. /* Hide all frames. */
  351. HIDE FRAME D-Dialog.
  352. END PROCEDURE.
  353. /* _UIB-CODE-BLOCK-END */
  354. &ANALYZE-RESUME
  355. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI D-Dialog _DEFAULT-ENABLE
  356. PROCEDURE enable_UI :
  357. /*------------------------------------------------------------------------------
  358. Purpose: ENABLE the User Interface
  359. Parameters: <none>
  360. Notes: Here we display/view/enable the widgets in the
  361. user-interface. In addition, OPEN all queries
  362. associated with each FRAME and BROWSE.
  363. These statements here are based on the "Other
  364. Settings" section of the widget Property Sheets.
  365. ------------------------------------------------------------------------------*/
  366. DISPLAY CB_Fakart CB_Aufsta F_VKnr F_BKnr F_VDatum F_BDatum F_FDatum
  367. WITH FRAME D-Dialog.
  368. ENABLE CB_Fakart CB_Aufsta F_VKnr F_BKnr F_VDatum F_BDatum F_FDatum Btn_OK
  369. Btn_Cancel
  370. WITH FRAME D-Dialog.
  371. VIEW FRAME D-Dialog.
  372. {&OPEN-BROWSERS-IN-QUERY-D-Dialog}
  373. END PROCEDURE.
  374. /* _UIB-CODE-BLOCK-END */
  375. &ANALYZE-RESUME
  376. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records D-Dialog _ADM-SEND-RECORDS
  377. PROCEDURE send-records :
  378. /*------------------------------------------------------------------------------
  379. Purpose: Send record ROWID's for all tables used by
  380. this file.
  381. Parameters: see template/snd-head.i
  382. ------------------------------------------------------------------------------*/
  383. /* SEND-RECORDS does nothing because there are no External
  384. Tables specified for this SmartDialog, and there are no
  385. tables specified in any contained Browse, Query, or Frame. */
  386. END PROCEDURE.
  387. /* _UIB-CODE-BLOCK-END */
  388. &ANALYZE-RESUME
  389. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed D-Dialog
  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. END PROCEDURE.
  399. /* _UIB-CODE-BLOCK-END */
  400. &ANALYZE-RESUME