g-reorg-artikel.w 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &Scoped-define FRAME-NAME gLoeschArtikel
  8. /* Temp-Table and Buffer definitions */
  9. DEFINE TEMP-TABLE TArtst NO-UNDO LIKE Artst.
  10. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gLoeschArtikel
  11. /*------------------------------------------------------------------------
  12. File:
  13. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  14. Input Parameters:
  15. <none>
  16. Output Parameters:
  17. <none>
  18. Author:
  19. Created:
  20. ------------------------------------------------------------------------*/
  21. /* This .W file was created with the Progress AppBuilder. */
  22. /*----------------------------------------------------------------------*/
  23. /* Create an unnamed pool to store all the widgets created
  24. by this procedure. This is a good default which assures
  25. that this procedure's triggers and internal procedures
  26. will execute in this procedure's storage, and that proper
  27. cleanup will occur on deletion of the procedure. */
  28. CREATE WIDGET-POOL.
  29. /* *************************** Definitions ************************** */
  30. /* Parameters Definitions --- */
  31. /* Local Variable Definitions --- */
  32. DEF VAR MaxPage AS INT NO-UNDO.
  33. DEF VAR AktSeite AS INT NO-UNDO.
  34. DEF VAR FMutFlag AS LOG NO-UNDO.
  35. DEF VAR Firma AS CHAR NO-UNDO.
  36. DEF VAR AdFirma AS CHAR NO-UNDO.
  37. DEF VAR Artnr AS INT NO-UNDO.
  38. DEF VAR Inhalt AS INT NO-UNDO.
  39. DEF VAR Jahr AS INT NO-UNDO.
  40. DEF VAR fJa AS LOG NO-UNDO.
  41. DEF TEMP-TABLE TDateien
  42. FIELD Datei AS CHAR
  43. FIELD Firma AS LOG.
  44. /* _UIB-CODE-BLOCK-END */
  45. &ANALYZE-RESUME
  46. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  47. /* ******************** Preprocessor Definitions ******************** */
  48. &Scoped-define PROCEDURE-TYPE SmartDialog
  49. &Scoped-define DB-AWARE no
  50. &Scoped-define ADM-CONTAINER DIALOG-BOX
  51. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  52. /* Name of first Frame and/or Browse and/or first Query */
  53. &Scoped-define FRAME-NAME gLoeschArtikel
  54. &Scoped-define BROWSE-NAME Br_Artikel
  55. /* Internal Tables (found by Frame, Query & Browse Queries) */
  56. &Scoped-define INTERNAL-TABLES TArtst
  57. /* Definitions for BROWSE Br_Artikel */
  58. &Scoped-define FIELDS-IN-QUERY-Br_Artikel TArtst.Artnr TArtst.Inhalt ~
  59. TArtst.Jahr TArtst.Bez TArtst.Bestand TArtst.Letzt_Ausg TArtst.Letzt_Eing
  60. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Artikel
  61. &Scoped-define OPEN-QUERY-Br_Artikel OPEN QUERY Br_Artikel FOR EACH TArtst NO-LOCK INDEXED-REPOSITION.
  62. &Scoped-define TABLES-IN-QUERY-Br_Artikel TArtst
  63. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Artikel TArtst
  64. /* Definitions for DIALOG-BOX gLoeschArtikel */
  65. /* Standard List Definitions */
  66. &Scoped-Define ENABLED-OBJECTS F_Datum Br_Artikel Btn_OK Btn_Cancel RECT-41
  67. &Scoped-Define DISPLAYED-OBJECTS F_Datum F_Status
  68. /* Custom List Definitions */
  69. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  70. &Scoped-define List-6 F_Datum
  71. /* _UIB-PREPROCESSOR-BLOCK-END */
  72. &ANALYZE-RESUME
  73. /* *********************** Control Definitions ********************** */
  74. /* Define a dialog box */
  75. /* Definitions of the field level widgets */
  76. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  77. LABEL "&Abbrechen"
  78. SIZE 15 BY 1.
  79. DEFINE BUTTON Btn_OK
  80. LABEL "&Start"
  81. SIZE 15 BY 1.
  82. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
  83. LABEL "keine Bewegungen mehr seit ?"
  84. VIEW-AS FILL-IN NATIVE
  85. SIZE 16.8 BY 1
  86. BGCOLOR 15 NO-UNDO.
  87. DEFINE VARIABLE F_Status AS CHARACTER FORMAT "X(80)":U
  88. VIEW-AS FILL-IN NATIVE
  89. SIZE 98 BY 1
  90. BGCOLOR 14 FONT 6 NO-UNDO.
  91. DEFINE RECTANGLE RECT-41
  92. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  93. SIZE 108 BY 15.24.
  94. /* Query definitions */
  95. &ANALYZE-SUSPEND
  96. DEFINE QUERY Br_Artikel FOR
  97. TArtst SCROLLING.
  98. &ANALYZE-RESUME
  99. /* Browse definitions */
  100. DEFINE BROWSE Br_Artikel
  101. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Artikel gLoeschArtikel _STRUCTURED
  102. QUERY Br_Artikel NO-LOCK DISPLAY
  103. TArtst.Artnr FORMAT "999999":U WIDTH 8
  104. TArtst.Inhalt FORMAT "9999":U WIDTH 6
  105. TArtst.Jahr FORMAT "9999":U WIDTH 6
  106. TArtst.Bez FORMAT "x(30)":U
  107. TArtst.Bestand FORMAT "zzzzz,zz9-":U WIDTH 10
  108. TArtst.Letzt_Ausg COLUMN-LABEL "Letzt. Verkauf" FORMAT "99.99.9999":U
  109. WIDTH 14
  110. TArtst.Letzt_Eing COLUMN-LABEL "Letzt. Eingang" FORMAT "99.99.9999":U
  111. WIDTH 14
  112. /* _UIB-CODE-BLOCK-END */
  113. &ANALYZE-RESUME
  114. WITH NO-ROW-MARKERS SEPARATORS SIZE 98 BY 8.52.
  115. /* ************************ Frame Definitions *********************** */
  116. DEFINE FRAME gLoeschArtikel
  117. F_Datum AT ROW 2 COL 36.2 COLON-ALIGNED
  118. Br_Artikel AT ROW 3.52 COL 8
  119. F_Status AT ROW 12.52 COL 6 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  120. Btn_OK AT ROW 14.81 COL 14.2
  121. Btn_Cancel AT ROW 14.81 COL 62.2
  122. RECT-41 AT ROW 1.24 COL 2
  123. SPACE(0.99) SKIP(0.22)
  124. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  125. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  126. TITLE "definitives Löschen inaktiver Artikel"
  127. CANCEL-BUTTON Btn_Cancel.
  128. /* *********************** Procedure Settings ************************ */
  129. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  130. /* Settings for THIS-PROCEDURE
  131. Type: SmartDialog
  132. Allow: Basic,Browse,DB-Fields,Query,Smart
  133. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  134. Design Page: 1
  135. Other Settings: COMPILE
  136. Temp-Tables and Buffers:
  137. TABLE: TArtst T "?" NO-UNDO AnaDat Artst
  138. END-TABLES.
  139. */
  140. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  141. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gLoeschArtikel
  142. /* ************************* Included-Libraries *********************** */
  143. {src/adm2/containr.i}
  144. /* _UIB-CODE-BLOCK-END */
  145. &ANALYZE-RESUME
  146. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  147. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  148. /* SETTINGS FOR DIALOG-BOX gLoeschArtikel
  149. */
  150. /* BROWSE-TAB Br_Artikel F_Datum gLoeschArtikel */
  151. ASSIGN
  152. FRAME gLoeschArtikel:SCROLLABLE = FALSE
  153. FRAME gLoeschArtikel:HIDDEN = TRUE.
  154. /* SETTINGS FOR FILL-IN F_Datum IN FRAME gLoeschArtikel
  155. 6 */
  156. /* SETTINGS FOR FILL-IN F_Status IN FRAME gLoeschArtikel
  157. NO-ENABLE */
  158. ASSIGN
  159. F_Status:HIDDEN IN FRAME gLoeschArtikel = TRUE
  160. F_Status:READ-ONLY IN FRAME gLoeschArtikel = TRUE.
  161. /* _RUN-TIME-ATTRIBUTES-END */
  162. &ANALYZE-RESUME
  163. /* Setting information for Queries and Browse Widgets fields */
  164. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Artikel
  165. /* Query rebuild information for BROWSE Br_Artikel
  166. _TblList = "Temp-Tables.TArtst"
  167. _Options = "NO-LOCK INDEXED-REPOSITION"
  168. _FldNameList[1] > Temp-Tables.TArtst.Artnr
  169. "TArtst.Artnr" ? ? "integer" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" ""
  170. _FldNameList[2] > Temp-Tables.TArtst.Inhalt
  171. "TArtst.Inhalt" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" ""
  172. _FldNameList[3] > Temp-Tables.TArtst.Jahr
  173. "TArtst.Jahr" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" ""
  174. _FldNameList[4] = Temp-Tables.TArtst.Bez
  175. _FldNameList[5] > Temp-Tables.TArtst.Bestand
  176. "TArtst.Bestand" ? ? "integer" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" ""
  177. _FldNameList[6] > Temp-Tables.TArtst.Letzt_Ausg
  178. "TArtst.Letzt_Ausg" "Letzt. Verkauf" ? "date" ? ? ? ? ? ? no ? no no "14" yes no no "U" "" ""
  179. _FldNameList[7] > Temp-Tables.TArtst.Letzt_Eing
  180. "TArtst.Letzt_Eing" "Letzt. Eingang" ? "date" ? ? ? ? ? ? no ? no no "14" yes no no "U" "" ""
  181. _Query is NOT OPENED
  182. */ /* BROWSE Br_Artikel */
  183. &ANALYZE-RESUME
  184. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gLoeschArtikel
  185. /* Query rebuild information for DIALOG-BOX gLoeschArtikel
  186. _Options = "SHARE-LOCK"
  187. _Query is NOT OPENED
  188. */ /* DIALOG-BOX gLoeschArtikel */
  189. &ANALYZE-RESUME
  190. /* ************************ Control Triggers ************************ */
  191. &Scoped-define SELF-NAME gLoeschArtikel
  192. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gLoeschArtikel gLoeschArtikel
  193. ON END-ERROR OF FRAME gLoeschArtikel /* definitives Löschen inaktiver Artikel */
  194. DO:
  195. RUN ENDE.
  196. RETURN NO-APPLY.
  197. END.
  198. /* _UIB-CODE-BLOCK-END */
  199. &ANALYZE-RESUME
  200. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gLoeschArtikel gLoeschArtikel
  201. ON GO OF FRAME gLoeschArtikel /* definitives Löschen inaktiver Artikel */
  202. DO:
  203. /*
  204. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  205. */
  206. END.
  207. /* _UIB-CODE-BLOCK-END */
  208. &ANALYZE-RESUME
  209. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gLoeschArtikel gLoeschArtikel
  210. ON WINDOW-CLOSE OF FRAME gLoeschArtikel /* definitives Löschen inaktiver Artikel */
  211. DO:
  212. RUN ENDE.
  213. RETURN NO-APPLY.
  214. END.
  215. /* _UIB-CODE-BLOCK-END */
  216. &ANALYZE-RESUME
  217. &Scoped-define SELF-NAME Btn_Cancel
  218. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gLoeschArtikel
  219. ON CHOOSE OF Btn_Cancel IN FRAME gLoeschArtikel /* Abbrechen */
  220. DO:
  221. DO WITH FRAME {&FRAME-NAME}:
  222. IF Btn_OK:LABEL = 'Reorg' THEN
  223. DO:
  224. Btn_OK:LABEL = 'Start'.
  225. FOR EACH tArtst:
  226. DELETE tArtst.
  227. END.
  228. RUN OPEN_ZU_LOESCHENDE_ARTIKEL.
  229. APPLY 'ENTRY' TO F_Datum.
  230. RETURN NO-APPLY.
  231. END.
  232. END.
  233. RUN ENDE.
  234. RETURN NO-APPLY.
  235. END.
  236. /* _UIB-CODE-BLOCK-END */
  237. &ANALYZE-RESUME
  238. &Scoped-define SELF-NAME Btn_OK
  239. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gLoeschArtikel
  240. ON CHOOSE OF Btn_OK IN FRAME gLoeschArtikel /* Start */
  241. DO:
  242. IF SELF:LABEL = 'Reorg' THEN
  243. DO:
  244. fJa = DYNAMIC-FUNCTION('ANTWORT_NEIN':U, INPUT 1084 ) NO-ERROR.
  245. IF NOT fJa THEN RETURN NO-APPLY.
  246. RUN REORGANISATION.
  247. RUN ENDE.
  248. END.
  249. ELSE
  250. DO:
  251. RUN SAMMELN.
  252. END.
  253. RETURN NO-APPLY.
  254. END.
  255. /* _UIB-CODE-BLOCK-END */
  256. &ANALYZE-RESUME
  257. &Scoped-define SELF-NAME F_Datum
  258. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum gLoeschArtikel
  259. ON VALUE-CHANGED OF F_Datum IN FRAME gLoeschArtikel /* keine Bewegungen mehr seit ? */
  260. DO:
  261. IF Btn_OK:LABEL <> 'Start' THEN Btn_OK:LABEL = 'Start'.
  262. END.
  263. /* _UIB-CODE-BLOCK-END */
  264. &ANALYZE-RESUME
  265. &Scoped-define BROWSE-NAME Br_Artikel
  266. &UNDEFINE SELF-NAME
  267. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gLoeschArtikel
  268. /* *************************** Main Block *************************** */
  269. MaxPage = 1.
  270. AktSeite = 1.
  271. Firma = DYNAMIC-FUNCTION('GETMANDANT':U ) NO-ERROR.
  272. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  273. SESSION:DATA-ENTRY-RETURN = TRUE.
  274. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  275. /* TRIGGERS ------------------------------------------------------ */
  276. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  277. DO:
  278. RUN ENDE.
  279. RETURN NO-APPLY.
  280. END.
  281. /* ------------------------------------------------------------------ */
  282. {src/adm2/dialogmn.i}
  283. /* _UIB-CODE-BLOCK-END */
  284. &ANALYZE-RESUME
  285. /* ********************** Internal Procedures *********************** */
  286. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gLoeschArtikel _ADM-CREATE-OBJECTS
  287. PROCEDURE adm-create-objects :
  288. /*------------------------------------------------------------------------------
  289. Purpose: Create handles for all SmartObjects used in this procedure.
  290. After SmartObjects are initialized, then SmartLinks are added.
  291. Parameters: <none>
  292. ------------------------------------------------------------------------------*/
  293. END PROCEDURE.
  294. /* _UIB-CODE-BLOCK-END */
  295. &ANALYZE-RESUME
  296. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gLoeschArtikel _DEFAULT-DISABLE
  297. PROCEDURE disable_UI :
  298. /*------------------------------------------------------------------------------
  299. Purpose: DISABLE the User Interface
  300. Parameters: <none>
  301. Notes: Here we clean-up the user-interface by deleting
  302. dynamic widgets we have created and/or hide
  303. frames. This procedure is usually called when
  304. we are ready to "clean-up" after running.
  305. ------------------------------------------------------------------------------*/
  306. /* Hide all frames. */
  307. HIDE FRAME gLoeschArtikel.
  308. END PROCEDURE.
  309. /* _UIB-CODE-BLOCK-END */
  310. &ANALYZE-RESUME
  311. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gLoeschArtikel
  312. PROCEDURE enableObject :
  313. /*------------------------------------------------------------------------------
  314. Purpose: Super Override
  315. Parameters:
  316. Notes:
  317. ------------------------------------------------------------------------------*/
  318. /* Code placed here will execute PRIOR to standard behavior. */
  319. RUN SUPER.
  320. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  321. END PROCEDURE.
  322. /* _UIB-CODE-BLOCK-END */
  323. &ANALYZE-RESUME
  324. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gLoeschArtikel _DEFAULT-ENABLE
  325. PROCEDURE enable_UI :
  326. /*------------------------------------------------------------------------------
  327. Purpose: ENABLE the User Interface
  328. Parameters: <none>
  329. Notes: Here we display/view/enable the widgets in the
  330. user-interface. In addition, OPEN all queries
  331. associated with each FRAME and BROWSE.
  332. These statements here are based on the "Other
  333. Settings" section of the widget Property Sheets.
  334. ------------------------------------------------------------------------------*/
  335. DISPLAY F_Datum F_Status
  336. WITH FRAME gLoeschArtikel.
  337. ENABLE F_Datum Br_Artikel Btn_OK Btn_Cancel RECT-41
  338. WITH FRAME gLoeschArtikel.
  339. VIEW FRAME gLoeschArtikel.
  340. {&OPEN-BROWSERS-IN-QUERY-gLoeschArtikel}
  341. END PROCEDURE.
  342. /* _UIB-CODE-BLOCK-END */
  343. &ANALYZE-RESUME
  344. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gLoeschArtikel
  345. PROCEDURE ENDE :
  346. /*------------------------------------------------------------------------------
  347. Purpose:
  348. Parameters: <none>
  349. Notes:
  350. ------------------------------------------------------------------------------*/
  351. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  352. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  353. RETURN NO-APPLY.
  354. END PROCEDURE.
  355. /* _UIB-CODE-BLOCK-END */
  356. &ANALYZE-RESUME
  357. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gLoeschArtikel
  358. PROCEDURE exitObject :
  359. /*------------------------------------------------------------------------------
  360. Purpose: Super Override
  361. Parameters:
  362. Notes:
  363. ------------------------------------------------------------------------------*/
  364. RUN ENDE.
  365. RETURN NO-APPLY.
  366. END PROCEDURE.
  367. /* _UIB-CODE-BLOCK-END */
  368. &ANALYZE-RESUME
  369. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN gLoeschArtikel
  370. PROCEDURE LOESCHEN :
  371. /*------------------------------------------------------------------------------
  372. Purpose:
  373. Parameters: <none>
  374. Notes:
  375. ------------------------------------------------------------------------------*/
  376. DEF VAR bHandle AS WIDGET-HANDLE NO-UNDO.
  377. DEF VAR dHandle AS WIDGET-HANDLE NO-UNDO.
  378. DEF VAR qHandle AS WIDGET-HANDLE NO-UNDO.
  379. DEF VAR sSelektion AS CHAR NO-UNDO.
  380. DEF VAR fErst AS LOG NO-UNDO.
  381. DO WITH FRAME {&FRAME-NAME}:
  382. Btn_OK :SENSITIVE = FALSE.
  383. Btn_Cancel:SENSITIVE = FALSE.
  384. F_Status :HIDDEN = FALSE.
  385. F_Status :SENSITIVE = TRUE.
  386. END.
  387. SESSION:IMMEDIATE-DISPLAY = TRUE.
  388. CREATE QUERY qHandle.
  389. DO WITH FRAME {&FRAME-NAME}:
  390. FOR EACH TDateien NO-LOCK
  391. BY TDateien.Datei:
  392. IF TDateien.Datei = 'Artst' THEN NEXT.
  393. CREATE BUFFER bHandle FOR TABLE TDateien.Datei.
  394. qHandle:SET-BUFFERS(bHandle).
  395. IF TDateien.Firma = TRUE THEN
  396. DO:
  397. sSelektion = 'FOR EACH '
  398. + TDateien.Datei
  399. + ' WHERE '
  400. + TDateien.Datei + '.Firma = "' + Firma + '" AND '
  401. + TDateien.Datei + '.Artnr = ' + STRING(Artnr) + ' AND '
  402. + TDateien.Datei + '.Inhalt = ' + STRING(Inhalt) + ' AND '
  403. + TDateien.Datei + '.Jahr = ' + STRING(Jahr).
  404. END.
  405. ELSE
  406. DO:
  407. sSelektion = 'FOR EACH '
  408. + TDateien.Datei
  409. + ' WHERE '
  410. + TDateien.Datei + '.Artnr = ' + STRING(Artnr) + ' AND '
  411. + TDateien.Datei + '.Inhalt = ' + STRING(Inhalt) + ' AND '
  412. + TDateien.Datei + '.Jahr = ' + STRING(Jahr).
  413. END.
  414. qHandle:QUERY-PREPARE(sSelektion).
  415. qHandle:QUERY-OPEN().
  416. F_Status = 'Löschen der Tabelle -> "' + bHandle:NAME
  417. + '" mit '
  418. + ' Artnr = ' + STRING(Artnr)
  419. + ' Inhalt = ' + STRING(Inhalt)
  420. + ' Jahrgang = ' + STRING(Jahr).
  421. F_Status:SCREEN-VALUE = F_Status.
  422. fErst = TRUE.
  423. REPEAT TRANSACTION:
  424. IF fErst THEN qHandle:GET-FIRST(EXCLUSIVE-LOCK).
  425. ELSE qHandle:GET-NEXT (EXCLUSIVE-LOCK).
  426. IF qHandle:QUERY-OFF-END THEN LEAVE.
  427. dHandle = qHandle:GET-BUFFER-HANDLE().
  428. dHandle:BUFFER-DELETE().
  429. END.
  430. qHandle:QUERY-CLOSE().
  431. DELETE OBJECT bHandle.
  432. END.
  433. REPEAT TRANSACTION:
  434. FIND Artst USE-INDEX Artst-k1
  435. WHERE Artst.Firma = Firma
  436. AND Artst.Artnr = Artnr
  437. AND Artst.Inhalt = Inhalt
  438. AND Artst.Jahr = Jahr.
  439. DELETE Artst.
  440. LEAVE.
  441. END.
  442. END.
  443. DELETE OBJECT qHandle.
  444. SESSION:IMMEDIATE-DISPLAY = FALSE.
  445. DO WITH FRAME {&FRAME-NAME}:
  446. Btn_OK :SENSITIVE = TRUE.
  447. Btn_Cancel:SENSITIVE = TRUE.
  448. Btn_OK :LABEL = 'Start'.
  449. APPLY 'ENTRY' TO Btn_OK.
  450. END.
  451. END PROCEDURE.
  452. /* _UIB-CODE-BLOCK-END */
  453. &ANALYZE-RESUME
  454. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_ZU_LOESCHENDE_ARTIKEL gLoeschArtikel
  455. PROCEDURE OPEN_ZU_LOESCHENDE_ARTIKEL :
  456. /*------------------------------------------------------------------------------
  457. Purpose:
  458. Parameters: <none>
  459. Notes:
  460. ------------------------------------------------------------------------------*/
  461. OPEN QUERY {&BROWSE-NAME}
  462. FOR EACH tArtst NO-LOCK.
  463. END PROCEDURE.
  464. /* _UIB-CODE-BLOCK-END */
  465. &ANALYZE-RESUME
  466. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REORGANISATION gLoeschArtikel
  467. PROCEDURE REORGANISATION :
  468. /*------------------------------------------------------------------------------
  469. Purpose:
  470. Parameters: <none>
  471. Notes:
  472. ------------------------------------------------------------------------------*/
  473. DEF VAR ja AS LOG NO-UNDO.
  474. SESSION:SET-WAIT-STATE('GENERAL').
  475. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  476. IF NUM-RESULTS('{&BROWSE-NAME}') = ? THEN LEAVE.
  477. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN LEAVE.
  478. ja = {&BROWSE-NAME}:SELECT-ROW(1).
  479. ja = {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  480. F_Status:HIDDEN = FALSE.
  481. F_Status:SENSITIVE = TRUE.
  482. Btn_OK :SENSITIVE = FALSE.
  483. Btn_Cancel:SENSITIVE = FALSE.
  484. F_Datum :READ-ONLY = TRUE .
  485. EMPTY TEMP-TABLE TDateien.
  486. FOR EACH _Field WHERE _Field._Field-Name BEGINS 'Artnr' NO-LOCK:
  487. FIND _File OF _Field NO-LOCK.
  488. CREATE TDateien.
  489. ASSIGN
  490. TDateien.Datei = _File._File-Name
  491. TDateien.Firma = FALSE.
  492. END.
  493. FOR EACH _Field WHERE _Field._Field-Name = 'Firma' NO-LOCK:
  494. FIND _File OF _Field NO-LOCK.
  495. FIND FIRST TDateien WHERE TDateien.Datei = _File._File-Name NO-LOCK NO-ERROR.
  496. IF NOT AVAILABLE TDateien THEN NEXT.
  497. TDateien.Firma = TRUE.
  498. END.
  499. DO WHILE ja:
  500. Artnr = tArtst.Artnr .
  501. Inhalt = tArtst.Inhalt .
  502. Jahr = tArtst.Jahr .
  503. RUN LOESCHEN.
  504. ja = {&BROWSE-NAME}:SELECT-NEXT-ROW().
  505. END.
  506. Btn_OK :SENSITIVE = TRUE .
  507. Btn_Cancel:SENSITIVE = TRUE .
  508. F_Datum :READ-ONLY = FALSE.
  509. LEAVE.
  510. END.
  511. SESSION:SET-WAIT-STATE('').
  512. END PROCEDURE.
  513. /* _UIB-CODE-BLOCK-END */
  514. &ANALYZE-RESUME
  515. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMELN gLoeschArtikel
  516. PROCEDURE SAMMELN :
  517. /*------------------------------------------------------------------------------
  518. Purpose:
  519. Parameters: <none>
  520. Notes:
  521. ------------------------------------------------------------------------------*/
  522. DEF VAR ja AS LOG NO-UNDO.
  523. DO WITH FRAME {&FRAME-NAME}:
  524. ASSIGN {&List-6}.
  525. IF F_Datum = ? THEN RETURN NO-APPLY.
  526. SESSION:SET-WAIT-STATE('GENERAL').
  527. Btn_OK :SENSITIVE = FALSE.
  528. Btn_Cancel:SENSITIVE = FALSE.
  529. F_Datum :READ-ONLY = TRUE .
  530. EMPTY TEMP-TABLE tArtst.
  531. FOR EACH Artst USE-INDEX Artst-k1
  532. WHERE Artst.Firma = Firma
  533. AND Artst.Bestand <= 0
  534. AND Artst.Aktiv = FALSE NO-LOCK:
  535. CREATE tArtst.
  536. BUFFER-COPY Artst TO tArtst.
  537. END.
  538. FOR EACH tArtst:
  539. FIND FIRST Artbw NO-LOCK USE-INDEX Artbw-k9
  540. WHERE Artbw.Firma = tArtst.Firma
  541. AND Artbw.Artnr = tArtst.Artnr
  542. AND Artbw.Inhalt = tArtst.Inhalt
  543. AND Artbw.Jahr = tArtst.Jahr
  544. AND Artbw.Tr_Art = 01 NO-ERROR.
  545. IF AVAILABLE Artbw THEN tArtst.Letzt_Ausg = (IF Artbw.Fak_Dat <> ? THEN Artbw.Fak_Dat ELSE Artbw.Datum).
  546. ELSE tArtst.Letzt_Ausg = 01/01/1901.
  547. FIND FIRST Artbw NO-LOCK USE-INDEX Artbw-k9
  548. WHERE Artbw.Firma = tArtst.Firma
  549. AND Artbw.Artnr = tArtst.Artnr
  550. AND Artbw.Inhalt = tArtst.Inhalt
  551. AND Artbw.Jahr = tArtst.Jahr
  552. AND Artbw.Tr_Art > 10
  553. AND Artbw.Tr_Art < 20 NO-ERROR.
  554. IF AVAILABLE Artbw THEN tArtst.Letzt_Eing = Artbw.Datum.
  555. ELSE tArtst.Letzt_Eing = 01/01/1901.
  556. IF tArtst.Letzt_Ausg >= F_Datum OR
  557. tArtst.Letzt_Eing >= F_Datum THEN
  558. DO:
  559. DELETE tArtst.
  560. NEXT.
  561. END.
  562. END.
  563. RUN OPEN_ZU_LOESCHENDE_ARTIKEL.
  564. SESSION:SET-WAIT-STATE('').
  565. Btn_OK :SENSITIVE = TRUE.
  566. Btn_Cancel:SENSITIVE = TRUE.
  567. Btn_OK :LABEL = 'Reorg'.
  568. F_Datum :READ-ONLY = FALSE.
  569. APPLY 'ENTRY' TO Btn_OK.
  570. END.
  571. END PROCEDURE.
  572. /* _UIB-CODE-BLOCK-END */
  573. &ANALYZE-RESUME