g-lagerhueter.w 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gMutArt
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gMutArt
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrdlg.w - ADM2 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 AppBuilder. */
  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. DEFINE VARIABLE MaxPage AS INTEGER NO-UNDO.
  28. DEFINE VARIABLE AktSeite AS INTEGER NO-UNDO.
  29. DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
  30. DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
  31. /* _UIB-CODE-BLOCK-END */
  32. &ANALYZE-RESUME
  33. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  34. /* ******************** Preprocessor Definitions ******************** */
  35. &Scoped-define PROCEDURE-TYPE SmartDialog
  36. &Scoped-define DB-AWARE no
  37. &Scoped-define ADM-CONTAINER DIALOG-BOX
  38. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  39. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  40. &Scoped-define FRAME-NAME gMutArt
  41. /* Standard List Definitions */
  42. &Scoped-Define ENABLED-OBJECTS RECT-3 R_Art F_Datum Btn_OK Btn_Cancel
  43. &Scoped-Define DISPLAYED-OBJECTS R_Art F_Datum
  44. /* Custom List Definitions */
  45. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  46. &Scoped-define List-6 R_Art F_Datum
  47. /* _UIB-PREPROCESSOR-BLOCK-END */
  48. &ANALYZE-RESUME
  49. /* *********************** Control Definitions ********************** */
  50. /* Define a dialog box */
  51. /* Definitions of the field level widgets */
  52. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  53. LABEL "Abbrechen"
  54. SIZE 14 BY 1.
  55. DEFINE BUTTON Btn_OK AUTO-GO
  56. LABEL "Start"
  57. SIZE 14 BY 1.
  58. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
  59. LABEL "keine Verkäufe seit"
  60. VIEW-AS FILL-IN NATIVE
  61. SIZE 16 BY 1
  62. BGCOLOR 15 NO-UNDO.
  63. DEFINE VARIABLE R_Art AS INTEGER
  64. VIEW-AS RADIO-SET VERTICAL
  65. RADIO-BUTTONS
  66. "nur Artikel mit Bestand", 1,
  67. "alle Artikel", 2
  68. SIZE 30 BY 1.86 NO-UNDO.
  69. DEFINE RECTANGLE RECT-3
  70. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  71. SIZE 68 BY 5.86.
  72. /* ************************ Frame Definitions *********************** */
  73. DEFINE FRAME gMutArt
  74. R_Art AT ROW 1.52 COL 20 NO-LABELS
  75. F_Datum AT ROW 4 COL 35.6 COLON-ALIGNED
  76. Btn_OK AT ROW 5.52 COL 21
  77. Btn_Cancel AT ROW 5.52 COL 39.8
  78. RECT-3 AT ROW 1.24 COL 2
  79. SPACE(0.99) SKIP(0.22)
  80. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  81. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  82. TITLE "Liste der (nicht) mutierten Artikel"
  83. DEFAULT-BUTTON Btn_OK CANCEL-BUTTON Btn_Cancel.
  84. /* *********************** Procedure Settings ************************ */
  85. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  86. /* Settings for THIS-PROCEDURE
  87. Type: SmartDialog
  88. Allow: Basic,Browse,DB-Fields,Query,Smart
  89. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  90. Design Page: 1
  91. Other Settings: COMPILE
  92. */
  93. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  94. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gMutArt
  95. /* ************************* Included-Libraries *********************** */
  96. {src/adm2/containr.i}
  97. /* _UIB-CODE-BLOCK-END */
  98. &ANALYZE-RESUME
  99. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  100. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  101. /* SETTINGS FOR DIALOG-BOX gMutArt
  102. FRAME-NAME */
  103. ASSIGN
  104. FRAME gMutArt:SCROLLABLE = FALSE
  105. FRAME gMutArt:HIDDEN = TRUE.
  106. /* SETTINGS FOR FILL-IN F_Datum IN FRAME gMutArt
  107. 6 */
  108. /* SETTINGS FOR RADIO-SET R_Art IN FRAME gMutArt
  109. 6 */
  110. /* _RUN-TIME-ATTRIBUTES-END */
  111. &ANALYZE-RESUME
  112. /* Setting information for Queries and Browse Widgets fields */
  113. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gMutArt
  114. /* Query rebuild information for DIALOG-BOX gMutArt
  115. _Options = "SHARE-LOCK"
  116. _Query is NOT OPENED
  117. */ /* DIALOG-BOX gMutArt */
  118. &ANALYZE-RESUME
  119. /* ************************ Control Triggers ************************ */
  120. &Scoped-define SELF-NAME gMutArt
  121. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gMutArt gMutArt
  122. ON END-ERROR OF FRAME gMutArt /* Liste der (nicht) mutierten Artikel */
  123. DO:
  124. RUN ENDE.
  125. RETURN NO-APPLY.
  126. END.
  127. /* _UIB-CODE-BLOCK-END */
  128. &ANALYZE-RESUME
  129. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gMutArt gMutArt
  130. ON GO OF FRAME gMutArt /* Liste der (nicht) mutierten Artikel */
  131. DO:
  132. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  133. END.
  134. /* _UIB-CODE-BLOCK-END */
  135. &ANALYZE-RESUME
  136. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gMutArt gMutArt
  137. ON WINDOW-CLOSE OF FRAME gMutArt /* Liste der (nicht) mutierten Artikel */
  138. DO:
  139. RUN ENDE.
  140. RETURN NO-APPLY.
  141. END.
  142. /* _UIB-CODE-BLOCK-END */
  143. &ANALYZE-RESUME
  144. &Scoped-define SELF-NAME Btn_Cancel
  145. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gMutArt
  146. ON CHOOSE OF Btn_Cancel IN FRAME gMutArt /* Abbrechen */
  147. DO:
  148. RUN ENDE.
  149. RETURN NO-APPLY.
  150. END.
  151. /* _UIB-CODE-BLOCK-END */
  152. &ANALYZE-RESUME
  153. &Scoped-define SELF-NAME Btn_OK
  154. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gMutArt
  155. ON CHOOSE OF Btn_OK IN FRAME gMutArt /* Start */
  156. DO:
  157. RUN REPORT.
  158. ENABLE Btn_OK
  159. Btn_Cancel WITH FRAME {&FRAME-NAME}.
  160. RUN ENDE.
  161. RETURN NO-APPLY.
  162. END.
  163. /* _UIB-CODE-BLOCK-END */
  164. &ANALYZE-RESUME
  165. &UNDEFINE SELF-NAME
  166. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gMutArt
  167. /* *************************** Main Block *************************** */
  168. MaxPage = 1.
  169. AktSeite = 1.
  170. SESSION:DATA-ENTRY-RETURN = TRUE.
  171. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  172. /* TRIGGERS ------------------------------------------------------ */
  173. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  174. DO:
  175. RUN NEXTPAGE.
  176. END.
  177. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  178. DO:
  179. RUN PREVPAGE.
  180. END.
  181. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  182. DO:
  183. RUN ENTRY_CURSOR.
  184. END.
  185. /*
  186. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  187. DO:
  188. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  189. END.
  190. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  191. DO:
  192. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  193. END.
  194. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  195. DO:
  196. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  197. END.
  198. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  199. DO:
  200. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  201. END.
  202. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  203. DO:
  204. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  205. END.
  206. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  207. DO:
  208. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  209. END.
  210. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  211. DO:
  212. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  213. END.
  214. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  215. DO:
  216. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  217. END.
  218. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  219. DO:
  220. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  221. END.
  222. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  223. DO:
  224. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  225. IF FMutFlag = FALSE THEN DO:
  226. RUN ENDE.
  227. RETURN NO-APPLY.
  228. END.
  229. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  230. RETURN NO-APPLY.
  231. END.
  232. */
  233. /* ------------------------------------------------------------------ */
  234. {src/adm2/dialogmn.i}
  235. /* _UIB-CODE-BLOCK-END */
  236. &ANALYZE-RESUME
  237. /* ********************** Internal Procedures *********************** */
  238. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gMutArt _ADM-CREATE-OBJECTS
  239. PROCEDURE adm-create-objects :
  240. /*------------------------------------------------------------------------------
  241. Purpose: Create handles for all SmartObjects used in this procedure.
  242. After SmartObjects are initialized, then SmartLinks are added.
  243. Parameters: <none>
  244. ------------------------------------------------------------------------------*/
  245. END PROCEDURE.
  246. /* _UIB-CODE-BLOCK-END */
  247. &ANALYZE-RESUME
  248. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gMutArt
  249. PROCEDURE changePage :
  250. /*------------------------------------------------------------------------------
  251. Purpose: Super Override
  252. Parameters:
  253. Notes:
  254. ------------------------------------------------------------------------------*/
  255. /* Code placed here will execute PRIOR to standard behavior. */
  256. RUN SUPER.
  257. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  258. CASE AktSeite:
  259. WHEN 1 THEN
  260. DO:
  261. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  262. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  263. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  264. RUN ENTRY_CURSOR.
  265. END.
  266. WHEN 2 THEN
  267. DO:
  268. RUN ENTRY_CURSOR.
  269. END.
  270. END CASE.
  271. END PROCEDURE.
  272. /* _UIB-CODE-BLOCK-END */
  273. &ANALYZE-RESUME
  274. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gMutArt _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 gMutArt.
  286. END PROCEDURE.
  287. /* _UIB-CODE-BLOCK-END */
  288. &ANALYZE-RESUME
  289. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gMutArt
  290. PROCEDURE enableObject :
  291. /*------------------------------------------------------------------------------
  292. Purpose: Super Override
  293. Parameters:
  294. Notes:
  295. ------------------------------------------------------------------------------*/
  296. /* Code placed here will execute PRIOR to standard behavior. */
  297. RUN SUPER.
  298. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  299. END PROCEDURE.
  300. /* _UIB-CODE-BLOCK-END */
  301. &ANALYZE-RESUME
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gMutArt _DEFAULT-ENABLE
  303. PROCEDURE enable_UI :
  304. /*------------------------------------------------------------------------------
  305. Purpose: ENABLE the User Interface
  306. Parameters: <none>
  307. Notes: Here we display/view/enable the widgets in the
  308. user-interface. In addition, OPEN all queries
  309. associated with each FRAME and BROWSE.
  310. These statements here are based on the "Other
  311. Settings" section of the widget Property Sheets.
  312. ------------------------------------------------------------------------------*/
  313. DISPLAY R_Art F_Datum
  314. WITH FRAME gMutArt.
  315. ENABLE RECT-3 R_Art F_Datum Btn_OK Btn_Cancel
  316. WITH FRAME gMutArt.
  317. VIEW FRAME gMutArt.
  318. {&OPEN-BROWSERS-IN-QUERY-gMutArt}
  319. END PROCEDURE.
  320. /* _UIB-CODE-BLOCK-END */
  321. &ANALYZE-RESUME
  322. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gMutArt
  323. PROCEDURE ENDE :
  324. /*------------------------------------------------------------------------------
  325. Purpose:
  326. Parameters: <none>
  327. Notes:
  328. ------------------------------------------------------------------------------*/
  329. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  330. IF AktSeite > 1 THEN
  331. DO:
  332. RUN selectPage ( INPUT 1 ).
  333. RETURN NO-APPLY.
  334. END.
  335. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  336. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  337. RETURN NO-APPLY.
  338. END PROCEDURE.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gMutArt
  342. PROCEDURE ENTRY_CURSOR :
  343. /*------------------------------------------------------------------------------
  344. Purpose:
  345. Parameters: <none>
  346. Notes:
  347. ------------------------------------------------------------------------------*/
  348. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  349. CASE AktSeite:
  350. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  351. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  352. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  353. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  354. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  355. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  356. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  357. END CASE.
  358. RETURN NO-APPLY.
  359. END PROCEDURE.
  360. /* _UIB-CODE-BLOCK-END */
  361. &ANALYZE-RESUME
  362. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gMutArt
  363. PROCEDURE exitObject :
  364. /*------------------------------------------------------------------------------
  365. Purpose: Super Override
  366. Parameters:
  367. Notes:
  368. ------------------------------------------------------------------------------*/
  369. RUN ENDE.
  370. RETURN NO-APPLY.
  371. END PROCEDURE.
  372. /* _UIB-CODE-BLOCK-END */
  373. &ANALYZE-RESUME
  374. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gMutArt
  375. PROCEDURE KOPF :
  376. /*------------------------------------------------------------------------------
  377. Purpose:
  378. Parameters: <none>
  379. Notes:
  380. ------------------------------------------------------------------------------*/
  381. DEFINE INPUT PARAMETER eh AS COMPONENT-HANDLE NO-UNDO.
  382. DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
  383. /*
  384. eh:APPLICATION:RUN('FormatKopf').
  385. */
  386. FIND Steuer USE-INDEX Steuer-k1
  387. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  388. Zelle = 'A1'.
  389. eh:Range(Zelle):SELECT.
  390. eh:SELECTION:VALUE = Steuer.Firma1.
  391. Zelle = 'E1'.
  392. eh:Range(Zelle):SELECT.
  393. IF R_Art = 1 THEN eh:SELECTION:VALUE = 'Lagerhüter seit mind. '
  394. + STRING(F_Datum,'99.99.9999').
  395. Zelle = 'L1'.
  396. eh:Range(Zelle):SELECT.
  397. eh:SELECTION:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
  398. Zelle = 'A2'.
  399. eh:Range(Zelle):SELECT.
  400. eh:SELECTION:VALUE = Steuer.Ort.
  401. Zelle = 'L2'.
  402. eh:Range(Zelle):SELECT.
  403. eh:SELECTION:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  404. END PROCEDURE.
  405. /* _UIB-CODE-BLOCK-END */
  406. &ANALYZE-RESUME
  407. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gMutArt
  408. PROCEDURE NEXTPAGE :
  409. /*------------------------------------------------------------------------------
  410. Purpose:
  411. Parameters: <none>
  412. Notes:
  413. ------------------------------------------------------------------------------*/
  414. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  415. IF AktSeite = MaxPage THEN AktSeite = 1.
  416. ELSE AktSeite = AktSeite + 1.
  417. RUN selectPage ( INPUT AktSeite ).
  418. END PROCEDURE.
  419. /* _UIB-CODE-BLOCK-END */
  420. &ANALYZE-RESUME
  421. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gMutArt
  422. PROCEDURE PREVPAGE :
  423. /*------------------------------------------------------------------------------
  424. Purpose:
  425. Parameters: <none>
  426. Notes:
  427. ------------------------------------------------------------------------------*/
  428. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  429. IF AktSeite = 1 THEN AktSeite = MaxPage.
  430. ELSE AktSeite = AktSeite - 1.
  431. RUN selectPage ( INPUT AktSeite ).
  432. END PROCEDURE.
  433. /* _UIB-CODE-BLOCK-END */
  434. &ANALYZE-RESUME
  435. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gMutArt
  436. PROCEDURE REPORT :
  437. /*------------------------------------------------------------------------------
  438. Purpose:
  439. Parameters: <none>
  440. Notes:
  441. ------------------------------------------------------------------------------*/
  442. DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
  443. DEFINE VARIABLE DatenName AS CHARACTER NO-UNDO.
  444. DEFINE VARIABLE DateiName AS CHARACTER NO-UNDO.
  445. DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
  446. DEFINE VARIABLE xText AS CHARACTER NO-UNDO.
  447. DEFINE VARIABLE Ja AS LOG NO-UNDO.
  448. DEFINE VARIABLE KGeb AS CHARACTER NO-UNDO.
  449. DEFINE VARIABLE VGeb AS CHARACTER NO-UNDO.
  450. DEFINE VARIABLE GGeb AS CHARACTER NO-UNDO.
  451. DEFINE VARIABLE sHerst AS CHARACTER NO-UNDO.
  452. DEFINE VARIABLE iTage AS INTEGER NO-UNDO.
  453. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  454. DatenName = 'LagerHueterArtikel.txt'.
  455. DateiName = 'LagerHueterArtikel.xls' + CHR(01) + 'LagerHueterArtikel.xls'.
  456. DO WITH FRAME {&FRAME-NAME}:
  457. ASSIGN {&List-6}.
  458. IF F_Datum = ? THEN F_Datum = TODAY.
  459. DISPLAY {&List-6}.
  460. DISABLE Btn_OK
  461. Btn_Cancel.
  462. DO WHILE TRUE:
  463. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  464. IF NOT VALID-HANDLE(excelAppl) THEN
  465. DO:
  466. RUN FEHLER ( INPUT 1035 ).
  467. RETURN NO-APPLY.
  468. END.
  469. LEAVE.
  470. END.
  471. DO WHILE TRUE:
  472. RUN CREATEDATEI ( INPUT DateiName ).
  473. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  474. CASE RETURN-VALUE:
  475. WHEN 'ERROR-PARAMETER' THEN
  476. DO:
  477. RUN FEHLER ( INPUT 1036 ).
  478. RETURN NO-APPLY.
  479. END.
  480. WHEN 'ERROR-LOESCHEN' THEN
  481. DO:
  482. RUN FEHLER ( INPUT 1037 ).
  483. RETURN NO-APPLY.
  484. END.
  485. WHEN 'ERROR-VORLAGE' THEN
  486. DO:
  487. RUN FEHLER ( INPUT 1038 ).
  488. RETURN NO-APPLY.
  489. END.
  490. OTHERWISE
  491. DO:
  492. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  493. RETURN NO-APPLY.
  494. END.
  495. END CASE.
  496. LEAVE.
  497. END.
  498. DateiName = RETURN-VALUE.
  499. DO WHILE TRUE:
  500. RUN CREATEDATEI ( INPUT DatenName ).
  501. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  502. CASE RETURN-VALUE:
  503. WHEN 'ERROR-PARAMETER' THEN
  504. DO:
  505. RUN FEHLER ( INPUT 1036 ).
  506. RETURN NO-APPLY.
  507. END.
  508. WHEN 'ERROR-LOESCHEN' THEN
  509. DO:
  510. RUN FEHLER ( INPUT 1037 ).
  511. RETURN NO-APPLY.
  512. END.
  513. WHEN 'ERROR-VORLAGE' THEN
  514. DO:
  515. RUN FEHLER ( INPUT 1038 ).
  516. RETURN NO-APPLY.
  517. END.
  518. OTHERWISE
  519. DO:
  520. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  521. RETURN NO-APPLY.
  522. END.
  523. END CASE.
  524. LEAVE.
  525. END.
  526. DatenName = RETURN-VALUE.
  527. OUTPUT TO VALUE(DatenName) APPEND.
  528. PUT CONTROL
  529. '£Artnr£Bezeichnung£Jahr£Hersteller£KGebinde£VGebinde£'
  530. 'GGebinde£Bestand£Lagerplatz£Anz.Tg.£Lagerplatz' CHR(10) CHR(10).
  531. FOR EACH Artst NO-LOCK USE-INDEX Artst-k1
  532. WHERE Artst.Firma = Firma
  533. AND Artst.Aktiv = TRUE
  534. AND Artst.Ausverk < 9,
  535. FIRST ArtLager NO-LOCK OF Artst :
  536. Ja = FALSE.
  537. CASE R_Art:
  538. WHEN 1 THEN
  539. DO:
  540. IF ArtLager.Bestand <= 0 THEN NEXT.
  541. END.
  542. WHEN 2 THEN
  543. DO:
  544. END.
  545. END CASE.
  546. iTage = 9999.
  547. FIND LAST Artbw NO-LOCK USE-INDEX Artbw-k2
  548. WHERE Artbw.Firma = Artst.Firma
  549. AND Artbw.Artnr = Artst.Artnr
  550. AND Artbw.Inhalt = Artst.Inhalt
  551. AND Artbw.Jahr = Artst.Jahr
  552. AND Artbw.Tr_Art = 01 NO-ERROR.
  553. IF NOT AVAILABLE Artbw THEN
  554. DO:
  555. Ja = TRUE.
  556. END.
  557. ELSE
  558. IF Artbw.Datum < F_Datum THEN
  559. DO:
  560. Ja = TRUE.
  561. iTage = (TODAY - Artbw.Datum).
  562. END.
  563. IF NOT Ja THEN NEXT.
  564. FIND KGebinde USE-INDEX KGebinde-k1
  565. WHERE KGebinde.Firma = Firma
  566. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK NO-ERROR.
  567. IF AVAILABLE KGebinde THEN KGeb = KGebinde.KBez.
  568. ELSE KGeb = FILL('?', 10).
  569. FIND VGebinde USE-INDEX VGebinde-k1
  570. WHERE VGebinde.Firma = Firma
  571. AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-LOCK NO-ERROR.
  572. IF AVAILABLE VGebinde THEN VGeb = VGebinde.KBez.
  573. ELSE VGeb = FILL('?', 10).
  574. FIND GGebinde USE-INDEX GGebinde-k1
  575. WHERE GGebinde.Firma = Firma
  576. AND GGebinde.Geb_Cd = Artst.GGeb_Cd NO-LOCK NO-ERROR.
  577. IF AVAILABLE GGebinde THEN GGeb = GGebinde.KBez.
  578. ELSE GGeb = FILL('?', 10).
  579. sHerst = '??????????'.
  580. RUN FIND_HERSTELLER ( INPUT Artst.Herst , OUTPUT sHerst) NO-ERROR.
  581. IF sHerst <> '' AND
  582. sHerst <> '?' THEN sHerst = ENTRY(2, sHerst, CHR(01)).
  583. FOR EACH HoReLager NO-LOCK
  584. WHERE HoReLager.Firma = Artst.Firma
  585. AND HoReLager.Lager = 0
  586. AND HoReLager.Artnr = Artst.Artnr
  587. AND HoReLager.Inhalt = Artst.Inhalt:
  588. PUT CONTROL '£'.
  589. PUT CONTROL
  590. STRING(Artst.Artnr,'999999') '£'
  591. Artst.Bez '£'
  592. STRING(Artst.Jahr ,'zzzz') '£'
  593. sHerst '£'
  594. KGeb '£'
  595. VGeb '£'
  596. GGeb '£'
  597. STRING(ArtLager.Bestand,'->>>>>>9') '£'
  598. ArtLager.Ort '£'
  599. STRING(iTage ,'zzzzz9') '£'
  600. HoReLager.cSort CHR(10).
  601. END.
  602. END.
  603. OUTPUT CLOSE.
  604. RUN OPENEXCEL ( INPUT excelAppl,
  605. INPUT DateiName,
  606. INPUT '',
  607. OUTPUT Ja ).
  608. IF NOT Ja THEN
  609. DO:
  610. RUN FEHLER ( INPUT 1040 ).
  611. RETURN NO-APPLY.
  612. END.
  613. Zelle = 'A3'.
  614. excelAppl:Range(Zelle):SELECT.
  615. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + DatenName.
  616. excelAppl:Application:RUN ( 'DateiEinfügen' ).
  617. RUN KOPF ( INPUT excelAppl ) NO-ERROR.
  618. Zelle = 'A1'.
  619. excelAppl:Range(Zelle):SELECT.
  620. excelAppl:Selection:ColumnWidth = 0.3.
  621. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  622. END.
  623. END PROCEDURE.
  624. /* _UIB-CODE-BLOCK-END */
  625. &ANALYZE-RESUME
  626. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gMutArt
  627. PROCEDURE selectPage :
  628. /*------------------------------------------------------------------------------
  629. Purpose: Super Override
  630. Parameters:
  631. Notes:
  632. ------------------------------------------------------------------------------*/
  633. DEFINE INPUT PARAMETER piPageNum AS INTEGER NO-UNDO.
  634. DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
  635. DEFINE VARIABLE MutProg AS CHARACTER NO-UNDO.
  636. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  637. DO WHILE TRUE:
  638. IF NOT FMutFlag THEN LEAVE.
  639. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  640. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  641. RETURN NO-APPLY.
  642. END.
  643. CASE piPageNum:
  644. END CASE.
  645. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  646. CASE AktSeite:
  647. WHEN 1 THEN
  648. DO:
  649. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  650. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  651. END.
  652. END CASE.
  653. RUN SUPER( INPUT piPageNum).
  654. END PROCEDURE.
  655. /* _UIB-CODE-BLOCK-END */
  656. &ANALYZE-RESUME
  657. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gMutArt
  658. PROCEDURE TOOLBAR :
  659. /*------------------------------------------------------------------------------
  660. Purpose:
  661. Parameters: <none>
  662. Notes:
  663. ------------------------------------------------------------------------------*/
  664. DEFINE INPUT PARAMETER pcAction AS CHARACTER NO-UNDO.
  665. /*
  666. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  667. */
  668. END PROCEDURE.
  669. /* _UIB-CODE-BLOCK-END */
  670. &ANALYZE-RESUME