g-invent-vorber.w 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gInventVor
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gInventVor
  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. DEF VAR MaxPage AS INT NO-UNDO.
  28. DEF VAR AktSeite AS INT NO-UNDO.
  29. DEF VAR FMutFlag AS LOG NO-UNDO.
  30. DEF VAR FwSprcd AS INT NO-UNDO.
  31. DEF VAR Firma AS CHAR NO-UNDO.
  32. DEF VAR iLager AS INT NO-UNDO.
  33. /* _UIB-CODE-BLOCK-END */
  34. &ANALYZE-RESUME
  35. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  36. /* ******************** Preprocessor Definitions ******************** */
  37. &Scoped-define PROCEDURE-TYPE SmartDialog
  38. &Scoped-define DB-AWARE no
  39. &Scoped-define ADM-CONTAINER DIALOG-BOX
  40. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  41. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  42. &Scoped-define FRAME-NAME gInventVor
  43. /* Standard List Definitions */
  44. &Scoped-Define ENABLED-OBJECTS CB_Lager T_Suchen E_Text F_Datum F_Artnr_V ~
  45. F_Artnr_B F_Inhalt_V F_Inhalt_B F_Jahr_V F_Jahr_B F_Wgr_V F_Wgr_B Btn_Start ~
  46. Btn_Cancel RECT-36
  47. &Scoped-Define DISPLAYED-OBJECTS CB_Lager T_Suchen E_Text F_Datum F_Artnr_V ~
  48. F_Artnr_B F_Inhalt_V F_Inhalt_B F_Jahr_V F_Jahr_B F_Wgr_V F_Wgr_B ~
  49. F_Fortschritt
  50. /* Custom List Definitions */
  51. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  52. &Scoped-define List-1 F_Datum F_Artnr_V F_Artnr_B F_Inhalt_V F_Inhalt_B ~
  53. F_Jahr_V F_Jahr_B F_Wgr_V F_Wgr_B
  54. &Scoped-define List-6 T_Suchen F_Datum F_Artnr_V F_Artnr_B F_Inhalt_V ~
  55. F_Inhalt_B F_Jahr_V F_Jahr_B F_Wgr_V F_Wgr_B
  56. /* _UIB-PREPROCESSOR-BLOCK-END */
  57. &ANALYZE-RESUME
  58. /* *********************** Control Definitions ********************** */
  59. /* Define a dialog box */
  60. /* Definitions of the field level widgets */
  61. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  62. LABEL "&Abbrechen"
  63. SIZE 15 BY 1.
  64. DEFINE BUTTON Btn_Start
  65. LABEL "&Start"
  66. SIZE 15 BY 1.
  67. DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U
  68. LABEL "Lager"
  69. VIEW-AS COMBO-BOX INNER-LINES 5
  70. LIST-ITEM-PAIRS "Item 1","Item 1"
  71. DROP-DOWN-LIST
  72. SIZE 30 BY 1 NO-UNDO.
  73. DEFINE VARIABLE E_Text AS CHARACTER
  74. VIEW-AS EDITOR
  75. SIZE 60 BY 5
  76. BGCOLOR 15 FONT 6 NO-UNDO.
  77. DEFINE VARIABLE F_Artnr_B AS INTEGER FORMAT "999999" INITIAL 0
  78. LABEL "--"
  79. VIEW-AS FILL-IN NATIVE
  80. SIZE 11 BY 1
  81. BGCOLOR 15 .
  82. DEFINE VARIABLE F_Artnr_V AS INTEGER FORMAT "999999" INITIAL 0
  83. LABEL "Artikelnummer"
  84. VIEW-AS FILL-IN NATIVE
  85. SIZE 11 BY 1
  86. BGCOLOR 15 .
  87. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999"
  88. LABEL "Inventardatum"
  89. VIEW-AS FILL-IN NATIVE
  90. SIZE 16 BY 1
  91. BGCOLOR 15 .
  92. DEFINE VARIABLE F_Fortschritt AS CHARACTER FORMAT "X(256)":U
  93. VIEW-AS FILL-IN NATIVE
  94. SIZE 60 BY 1
  95. BGCOLOR 8 NO-UNDO.
  96. DEFINE VARIABLE F_Inhalt_B AS INTEGER FORMAT "9999" INITIAL 0
  97. LABEL "--"
  98. VIEW-AS FILL-IN NATIVE
  99. SIZE 8 BY 1
  100. BGCOLOR 15 .
  101. DEFINE VARIABLE F_Inhalt_V AS INTEGER FORMAT "9999" INITIAL 0
  102. LABEL "Inhalt"
  103. VIEW-AS FILL-IN NATIVE
  104. SIZE 8 BY 1
  105. BGCOLOR 15 .
  106. DEFINE VARIABLE F_Jahr_B AS INTEGER FORMAT "9999" INITIAL 0
  107. LABEL "--"
  108. VIEW-AS FILL-IN NATIVE
  109. SIZE 8 BY 1
  110. BGCOLOR 15 .
  111. DEFINE VARIABLE F_Jahr_V AS INTEGER FORMAT "9999" INITIAL 0
  112. LABEL "Jahr"
  113. VIEW-AS FILL-IN NATIVE
  114. SIZE 8 BY 1
  115. BGCOLOR 15 .
  116. DEFINE VARIABLE F_Wgr_B AS INTEGER FORMAT "9999" INITIAL 0
  117. LABEL "--"
  118. VIEW-AS FILL-IN NATIVE
  119. SIZE 8 BY 1
  120. BGCOLOR 15 .
  121. DEFINE VARIABLE F_Wgr_V AS INTEGER FORMAT "9999" INITIAL 0
  122. LABEL "Warengruppe"
  123. VIEW-AS FILL-IN NATIVE
  124. SIZE 8 BY 1
  125. BGCOLOR 15 .
  126. DEFINE RECTANGLE RECT-36
  127. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  128. SIZE 70 BY 16.19.
  129. DEFINE VARIABLE T_Suchen AS LOGICAL INITIAL no
  130. LABEL "sind bereits wieder Bewegungen getätigt worden"
  131. VIEW-AS TOGGLE-BOX
  132. SIZE 50 BY 1 NO-UNDO.
  133. /* ************************ Frame Definitions *********************** */
  134. DEFINE FRAME gInventVor
  135. CB_Lager AT ROW 7 COL 18 COLON-ALIGNED WIDGET-ID 2
  136. T_Suchen AT ROW 13.05 COL 20
  137. E_Text AT ROW 1.48 COL 7 NO-LABEL
  138. F_Datum AT ROW 8 COL 18 COLON-ALIGNED
  139. F_Artnr_V AT ROW 9 COL 18 COLON-ALIGNED
  140. F_Artnr_B AT ROW 9 COL 33 COLON-ALIGNED
  141. F_Inhalt_V AT ROW 10 COL 18 COLON-ALIGNED
  142. F_Inhalt_B AT ROW 10 COL 33 COLON-ALIGNED
  143. F_Jahr_V AT ROW 11 COL 18 COLON-ALIGNED
  144. F_Jahr_B AT ROW 11 COL 33 COLON-ALIGNED
  145. F_Wgr_V AT ROW 12 COL 18 COLON-ALIGNED
  146. F_Wgr_B AT ROW 12 COL 33 COLON-ALIGNED
  147. Btn_Start AT ROW 16 COL 7
  148. Btn_Cancel AT ROW 16 COL 52
  149. F_Fortschritt AT ROW 14.52 COL 7 NO-LABEL
  150. RECT-36 AT ROW 1.24 COL 2
  151. SPACE(1.79) SKIP(0.47)
  152. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  153. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  154. TITLE "Inventarvorbereitung"
  155. CANCEL-BUTTON Btn_Cancel.
  156. /* *********************** Procedure Settings ************************ */
  157. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  158. /* Settings for THIS-PROCEDURE
  159. Type: SmartDialog
  160. Allow: Basic,Browse,DB-Fields,Query,Smart
  161. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  162. Design Page: 1
  163. Other Settings: COMPILE
  164. */
  165. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  166. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gInventVor
  167. /* ************************* Included-Libraries *********************** */
  168. {src/adm2/containr.i}
  169. /* _UIB-CODE-BLOCK-END */
  170. &ANALYZE-RESUME
  171. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  172. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  173. /* SETTINGS FOR DIALOG-BOX gInventVor
  174. FRAME-NAME Custom */
  175. ASSIGN
  176. FRAME gInventVor:SCROLLABLE = FALSE
  177. FRAME gInventVor:HIDDEN = TRUE.
  178. ASSIGN
  179. E_Text:READ-ONLY IN FRAME gInventVor = TRUE.
  180. /* SETTINGS FOR FILL-IN F_Artnr_B IN FRAME gInventVor
  181. 1 6 */
  182. /* SETTINGS FOR FILL-IN F_Artnr_V IN FRAME gInventVor
  183. 1 6 */
  184. /* SETTINGS FOR FILL-IN F_Datum IN FRAME gInventVor
  185. 1 6 */
  186. /* SETTINGS FOR FILL-IN F_Fortschritt IN FRAME gInventVor
  187. NO-ENABLE ALIGN-L */
  188. /* SETTINGS FOR FILL-IN F_Inhalt_B IN FRAME gInventVor
  189. 1 6 */
  190. /* SETTINGS FOR FILL-IN F_Inhalt_V IN FRAME gInventVor
  191. 1 6 */
  192. /* SETTINGS FOR FILL-IN F_Jahr_B IN FRAME gInventVor
  193. 1 6 */
  194. /* SETTINGS FOR FILL-IN F_Jahr_V IN FRAME gInventVor
  195. 1 6 */
  196. /* SETTINGS FOR FILL-IN F_Wgr_B IN FRAME gInventVor
  197. 1 6 */
  198. /* SETTINGS FOR FILL-IN F_Wgr_V IN FRAME gInventVor
  199. 1 6 */
  200. /* SETTINGS FOR TOGGLE-BOX T_Suchen IN FRAME gInventVor
  201. 6 */
  202. /* _RUN-TIME-ATTRIBUTES-END */
  203. &ANALYZE-RESUME
  204. /* Setting information for Queries and Browse Widgets fields */
  205. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gInventVor
  206. /* Query rebuild information for DIALOG-BOX gInventVor
  207. _Options = "SHARE-LOCK"
  208. _Query is NOT OPENED
  209. */ /* DIALOG-BOX gInventVor */
  210. &ANALYZE-RESUME
  211. /* ************************ Control Triggers ************************ */
  212. &Scoped-define SELF-NAME gInventVor
  213. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gInventVor gInventVor
  214. ON END-ERROR OF FRAME gInventVor /* Inventarvorbereitung */
  215. DO:
  216. RUN ENDE.
  217. RETURN NO-APPLY.
  218. END.
  219. /* _UIB-CODE-BLOCK-END */
  220. &ANALYZE-RESUME
  221. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gInventVor gInventVor
  222. ON GO OF FRAME gInventVor /* Inventarvorbereitung */
  223. DO:
  224. /*
  225. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  226. */
  227. END.
  228. /* _UIB-CODE-BLOCK-END */
  229. &ANALYZE-RESUME
  230. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gInventVor gInventVor
  231. ON WINDOW-CLOSE OF FRAME gInventVor /* Inventarvorbereitung */
  232. DO:
  233. RUN ENDE.
  234. RETURN NO-APPLY.
  235. END.
  236. /* _UIB-CODE-BLOCK-END */
  237. &ANALYZE-RESUME
  238. &Scoped-define SELF-NAME Btn_Cancel
  239. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gInventVor
  240. ON CHOOSE OF Btn_Cancel IN FRAME gInventVor /* Abbrechen */
  241. DO:
  242. RUN ENDE.
  243. RETURN NO-APPLY.
  244. END.
  245. /* _UIB-CODE-BLOCK-END */
  246. &ANALYZE-RESUME
  247. &Scoped-define SELF-NAME Btn_Start
  248. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Start gInventVor
  249. ON CHOOSE OF Btn_Start IN FRAME gInventVor /* Start */
  250. DO:
  251. DEF VAR Eingang AS DEC DECIMALS 3 NO-UNDO.
  252. DEF VAR Ausgang AS DEC DECIMALS 3 NO-UNDO.
  253. DEF VAR io AS LOG NO-UNDO.
  254. DO WITH FRAME {&FRAME-NAME}:
  255. ASSIGN {&List-6}.
  256. iLager = INTEGER(CB_Lager:SCREEN-VALUE).
  257. IF F_Artnr_B < F_Artnr_V THEN F_Artnr_B = F_Artnr_V .
  258. IF F_Inhalt_B < F_Inhalt_V THEN F_Inhalt_B = F_Inhalt_V .
  259. IF F_Jahr_B < F_Jahr_V THEN F_Jahr_B = F_Jahr_V .
  260. IF F_Wgr_B < F_Wgr_V THEN F_Wgr_B = F_Wgr_V .
  261. DISPLAY {&List-6}.
  262. RUN DATUMTEST.
  263. DISABLE Btn_Start
  264. Btn_Cancel.
  265. FOR EACH Artst USE-INDEX Artst-k1
  266. WHERE Artst.Firma = Firma
  267. AND Artst.Artnr >= F_Artnr_V
  268. AND Artst.Artnr <= F_Artnr_B
  269. AND Artst.Inhalt >= F_Inhalt_V
  270. AND Artst.Inhalt <= F_Inhalt_B
  271. AND Artst.Jahr >= F_Jahr_V
  272. AND Artst.Jahr <= F_Jahr_B
  273. AND Artst.Wg_Grp >= F_Wgr_V
  274. AND Artst.Wg_Grp <= F_Wgr_B
  275. AND Artst.Lager = TRUE TRANSACTION:
  276. F_Fortschritt:SCREEN-VALUE = STRING(Artst.Artnr,"999999") + " " + Artst.Bez.
  277. FIND ArtLager USE-INDEX ArtLager-k1
  278. WHERE ArtLager.Firma = Artst.Firma
  279. AND ArtLager.Artnr = Artst.Artnr
  280. AND ArtLager.Inhalt = Artst.Inhalt
  281. AND ArtLager.Jahr = Artst.Jahr
  282. AND ArtLager.Lager = iLager NO-ERROR.
  283. IF NOT AVAILABLE ArtLager THEN DO:
  284. CREATE ArtLager.
  285. ASSIGN ArtLager.Firma = Artst.Firma
  286. ArtLager.Artnr = Artst.Artnr
  287. ArtLager.Inhalt = Artst.Inhalt
  288. ArtLager.Jahr = Artst.Jahr
  289. ArtLager.Lager = iLager
  290. ArtLager.Inv_Best = 0
  291. ArtLager.Datum_Inv = F_Datum.
  292. END.
  293. IF ArtLager.Datum_inv <> ? AND
  294. ArtLager.Datum_inv = F_Datum THEN NEXT.
  295. Eingang = 0.
  296. Ausgang = 0.
  297. io = TRUE.
  298. DO WHILE Artst.Aktiv = FALSE :
  299. IF ArtLager.Datum_Inv = ? THEN LEAVE.
  300. IF ArtLager.Datum_Inv = F_Datum THEN LEAVE.
  301. FOR EACH ArtLager OF Artst WHERE ArtLager.Lager = iLager NO-LOCK:
  302. Eingang = Eingang + ArtLager.Eingang.
  303. Ausgang = Ausgang + ArtLager.Ausgang.
  304. END.
  305. IF Eingang <> 0 OR
  306. Ausgang <> 0 THEN LEAVE.
  307. io = FALSE.
  308. LEAVE.
  309. END.
  310. IF NOT io THEN NEXT.
  311. FOR EACH ArtLager OF Artst WHERE ArtLager.Lager = iLager:
  312. IF ArtLager.Datum_Inv = F_Datum THEN NEXT.
  313. ASSIGN ArtLager.Bestand_Alt = ArtLager.Bestand
  314. ArtLager.Inv_Alt = ArtLager.Inv_Best
  315. ArtLager.Eingang = 0
  316. ArtLager.Ausgang = 0
  317. ArtLager.Inv_Best = 0
  318. ArtLager.Datum_Inv = F_Datum.
  319. END.
  320. IF NOT T_Suchen THEN NEXT.
  321. FOR EACH Artbw USE-INDEX Artbw-k2
  322. WHERE Artbw.Firma = Artst.Firma
  323. AND Artbw.Artnr = Artst.Artnr
  324. AND Artbw.Inhalt = Artst.Inhalt
  325. AND Artbw.Jahr = Artst.Jahr
  326. AND Artbw.Lager = iLager
  327. AND Artbw.Datum > F_Datum NO-LOCK:
  328. IF Artbw.Tr_Art > 20 THEN NEXT.
  329. IF NOT Artbw.Lag_Buch THEN NEXT.
  330. FIND ArtLager USE-INDEX ArtLager-k1
  331. WHERE ArtLager.Firma = Artbw.Firma
  332. AND ArtLager.Artnr = Artbw.Artnr
  333. AND ArtLager.Inhalt = Artbw.Inhalt
  334. AND ArtLager.Jahr = Artbw.Jahr
  335. AND ArtLager.Lager = Artbw.Lager.
  336. IF Artbw.Tr_Art < 11 THEN ArtLager.Ausgang = ArtLager.Ausgang + Artbw.Menge.
  337. ELSE ArtLager.Eingang = ArtLager.Eingang + Artbw.Menge.
  338. IF Artbw.Tr_Art < 11 THEN ArtLager.Bestand_Alt = ArtLager.Bestand_Alt + Artbw.Menge.
  339. ELSE ArtLager.Bestand_Alt = ArtLager.Bestand_Alt - Artbw.Menge.
  340. END.
  341. FOR EACH LotLager
  342. WHERE LotLager.Firma = Artst.Firma
  343. AND LotLager.Artnr = Artst.Artnr
  344. AND LotLager.Inhalt = Artst.Inhalt
  345. AND LotLager.Jahr = Artst.Jahr
  346. AND LotLager.Lager = iLager:
  347. DELETE LotLager.
  348. END.
  349. FOR EACH HoReLager
  350. WHERE HoReLager.Firma = Artst.Firma
  351. AND HoReLager.Artnr = Artst.Artnr
  352. AND HoReLager.Inhalt = Artst.Inhalt
  353. AND HoReLager.Jahr = Artst.Jahr
  354. AND HoReLager.Lager = iLager:
  355. ASSIGN HoReLager.Bestand = 0
  356. HoReLager.iStatus = 1.
  357. END.
  358. END.
  359. ENABLE Btn_Start
  360. Btn_Cancel.
  361. F_Fortschritt:SCREEN-VALUE = ''.
  362. F_Artnr_V = 0.
  363. F_Artnr_B = 0.
  364. F_Inhalt_V = 0.
  365. F_Inhalt_B = 9999.
  366. F_Jahr_V = 0.
  367. F_Jahr_B = 9999.
  368. F_Wgr_V = 0.
  369. F_Wgr_B = 9999.
  370. DISPLAY {&List-6}.
  371. APPLY 'ENTRY' TO F_Datum.
  372. IF (F_Artnr_B - F_Artnr_V) < 2 THEN RETURN NO-APPLY.
  373. END.
  374. RUN ENDE.
  375. RETURN NO-APPLY.
  376. END.
  377. /* _UIB-CODE-BLOCK-END */
  378. &ANALYZE-RESUME
  379. &Scoped-define SELF-NAME CB_Lager
  380. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager gInventVor
  381. ON VALUE-CHANGED OF CB_Lager IN FRAME gInventVor /* Lager */
  382. DO:
  383. iLager = INTEGER(CB_Lager:SCREEN-VALUE).
  384. END.
  385. /* _UIB-CODE-BLOCK-END */
  386. &ANALYZE-RESUME
  387. &Scoped-define SELF-NAME F_Datum
  388. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum gInventVor
  389. ON LEAVE OF F_Datum IN FRAME gInventVor /* Inventardatum */
  390. DO:
  391. ASSIGN {&List-6}.
  392. RUN DATUMTEST.
  393. END.
  394. /* _UIB-CODE-BLOCK-END */
  395. &ANALYZE-RESUME
  396. &UNDEFINE SELF-NAME
  397. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gInventVor
  398. /* *************************** Main Block *************************** */
  399. MaxPage = 1.
  400. AktSeite = 1.
  401. FwSprcd = DYNAMIC-FUNCTION('GETFWSPRCD':U) NO-ERROR.
  402. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  403. SESSION:DATA-ENTRY-RETURN = TRUE.
  404. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  405. /* TRIGGERS ------------------------------------------------------ */
  406. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  407. DO:
  408. RUN NEXTPAGE.
  409. END.
  410. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  411. DO:
  412. RUN PREVPAGE.
  413. END.
  414. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  415. DO:
  416. RUN ENTRY_CURSOR.
  417. END.
  418. /*
  419. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  420. DO:
  421. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  422. END.
  423. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  424. DO:
  425. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  426. END.
  427. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  428. DO:
  429. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  430. END.
  431. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  432. DO:
  433. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  434. END.
  435. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  436. DO:
  437. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  438. END.
  439. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  440. DO:
  441. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  442. END.
  443. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  444. DO:
  445. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  446. END.
  447. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  448. DO:
  449. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  450. END.
  451. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  452. DO:
  453. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  454. END.
  455. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  456. DO:
  457. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  458. IF FMutFlag = FALSE THEN DO:
  459. RUN ENDE.
  460. RETURN NO-APPLY.
  461. END.
  462. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  463. RETURN NO-APPLY.
  464. END.
  465. */
  466. /* ------------------------------------------------------------------ */
  467. {src/adm2/dialogmn.i}
  468. /* _UIB-CODE-BLOCK-END */
  469. &ANALYZE-RESUME
  470. /* ********************** Internal Procedures *********************** */
  471. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gInventVor _ADM-CREATE-OBJECTS
  472. PROCEDURE adm-create-objects :
  473. /*------------------------------------------------------------------------------
  474. Purpose: Create handles for all SmartObjects used in this procedure.
  475. After SmartObjects are initialized, then SmartLinks are added.
  476. Parameters: <none>
  477. ------------------------------------------------------------------------------*/
  478. END PROCEDURE.
  479. /* _UIB-CODE-BLOCK-END */
  480. &ANALYZE-RESUME
  481. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gInventVor
  482. PROCEDURE changePage :
  483. /*------------------------------------------------------------------------------
  484. Purpose: Super Override
  485. Parameters:
  486. Notes:
  487. ------------------------------------------------------------------------------*/
  488. /* Code placed here will execute PRIOR to standard behavior. */
  489. RUN SUPER.
  490. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  491. CASE AktSeite:
  492. WHEN 1 THEN DO:
  493. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  494. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  495. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  496. RUN ENTRY_CURSOR.
  497. END.
  498. WHEN 2 THEN DO:
  499. RUN ENTRY_CURSOR.
  500. END.
  501. END CASE.
  502. END PROCEDURE.
  503. /* _UIB-CODE-BLOCK-END */
  504. &ANALYZE-RESUME
  505. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATUMTEST gInventVor
  506. PROCEDURE DATUMTEST :
  507. /*------------------------------------------------------------------------------
  508. Purpose:
  509. Parameters: <none>
  510. Notes:
  511. ------------------------------------------------------------------------------*/
  512. DO WITH FRAME {&FRAME-NAME}:
  513. IF F_Datum = ? OR
  514. F_Datum < TODAY - 60 OR
  515. F_Datum > TODAY + 60 THEN DO:
  516. RUN FEHLER ( INPUT 0096 ).
  517. APPLY 'ENTRY' TO F_Datum.
  518. RETURN NO-APPLY.
  519. END.
  520. RETURN.
  521. END.
  522. END PROCEDURE.
  523. /* _UIB-CODE-BLOCK-END */
  524. &ANALYZE-RESUME
  525. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gInventVor _DEFAULT-DISABLE
  526. PROCEDURE disable_UI :
  527. /*------------------------------------------------------------------------------
  528. Purpose: DISABLE the User Interface
  529. Parameters: <none>
  530. Notes: Here we clean-up the user-interface by deleting
  531. dynamic widgets we have created and/or hide
  532. frames. This procedure is usually called when
  533. we are ready to "clean-up" after running.
  534. ------------------------------------------------------------------------------*/
  535. /* Hide all frames. */
  536. HIDE FRAME gInventVor.
  537. END PROCEDURE.
  538. /* _UIB-CODE-BLOCK-END */
  539. &ANALYZE-RESUME
  540. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gInventVor
  541. PROCEDURE enableObject :
  542. /*------------------------------------------------------------------------------
  543. Purpose: Super Override
  544. Parameters:
  545. Notes:
  546. ------------------------------------------------------------------------------*/
  547. DEF VAR ix AS INT NO-UNDO.
  548. /* Code placed here will execute PRIOR to standard behavior. */
  549. RUN SUPER.
  550. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  551. DO WITH FRAME {&FRAME-NAME}:
  552. iLager = DYNAMIC-FUNCTION('getBenLager':U) NO-ERROR.
  553. RUN COMBO_LAGER ( CB_Lager:HANDLE ).
  554. CB_Lager:SCREEN-VALUE = STRING(iLager,'999999').
  555. F_Datum = TODAY.
  556. F_Artnr_V = 0.
  557. F_Artnr_B = 0.
  558. F_Inhalt_V = 0.
  559. F_Inhalt_B = 9999.
  560. F_Jahr_V = 0.
  561. F_Jahr_B = 9999.
  562. F_Wgr_V = 0.
  563. F_Wgr_B = 9999.
  564. E_Text = ''.
  565. FOR EACH LiBild USE-INDEX LiBild-k1
  566. WHERE LiBild.Sprcd = FwSprcd
  567. AND LiBild.Prog = 'HELPInventar'
  568. AND LiBild.Tenr > 0 NO-LOCK ix = 1 TO 20:
  569. E_Text = E_Text + LiBild.Litext + CHR(10).
  570. END.
  571. DISPLAY E_Text
  572. {&List-6} WITH FRAME {&FRAME-NAME}.
  573. END.
  574. APPLY 'ENTRY' TO F_Datum IN FRAME {&FRAME-NAME}.
  575. END PROCEDURE.
  576. /* _UIB-CODE-BLOCK-END */
  577. &ANALYZE-RESUME
  578. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gInventVor _DEFAULT-ENABLE
  579. PROCEDURE enable_UI :
  580. /*------------------------------------------------------------------------------
  581. Purpose: ENABLE the User Interface
  582. Parameters: <none>
  583. Notes: Here we display/view/enable the widgets in the
  584. user-interface. In addition, OPEN all queries
  585. associated with each FRAME and BROWSE.
  586. These statements here are based on the "Other
  587. Settings" section of the widget Property Sheets.
  588. ------------------------------------------------------------------------------*/
  589. DISPLAY CB_Lager T_Suchen E_Text F_Datum F_Artnr_V F_Artnr_B F_Inhalt_V
  590. F_Inhalt_B F_Jahr_V F_Jahr_B F_Wgr_V F_Wgr_B F_Fortschritt
  591. WITH FRAME gInventVor.
  592. ENABLE CB_Lager T_Suchen E_Text F_Datum F_Artnr_V F_Artnr_B F_Inhalt_V
  593. F_Inhalt_B F_Jahr_V F_Jahr_B F_Wgr_V F_Wgr_B Btn_Start Btn_Cancel
  594. RECT-36
  595. WITH FRAME gInventVor.
  596. VIEW FRAME gInventVor.
  597. {&OPEN-BROWSERS-IN-QUERY-gInventVor}
  598. END PROCEDURE.
  599. /* _UIB-CODE-BLOCK-END */
  600. &ANALYZE-RESUME
  601. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gInventVor
  602. PROCEDURE ENDE :
  603. /*------------------------------------------------------------------------------
  604. Purpose:
  605. Parameters: <none>
  606. Notes:
  607. ------------------------------------------------------------------------------*/
  608. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  609. IF AktSeite > 1 THEN DO:
  610. RUN selectPage ( INPUT 1 ).
  611. RETURN NO-APPLY.
  612. END.
  613. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  614. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  615. RETURN NO-APPLY.
  616. END PROCEDURE.
  617. /* _UIB-CODE-BLOCK-END */
  618. &ANALYZE-RESUME
  619. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gInventVor
  620. PROCEDURE ENTRY_CURSOR :
  621. /*------------------------------------------------------------------------------
  622. Purpose:
  623. Parameters: <none>
  624. Notes:
  625. ------------------------------------------------------------------------------*/
  626. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  627. CASE AktSeite:
  628. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  629. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  630. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  631. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  632. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  633. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  634. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  635. END CASE.
  636. RETURN NO-APPLY.
  637. END PROCEDURE.
  638. /* _UIB-CODE-BLOCK-END */
  639. &ANALYZE-RESUME
  640. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gInventVor
  641. PROCEDURE exitObject :
  642. /*------------------------------------------------------------------------------
  643. Purpose: Super Override
  644. Parameters:
  645. Notes:
  646. ------------------------------------------------------------------------------*/
  647. RUN ENDE.
  648. RETURN NO-APPLY.
  649. END PROCEDURE.
  650. /* _UIB-CODE-BLOCK-END */
  651. &ANALYZE-RESUME
  652. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gInventVor
  653. PROCEDURE NEXTPAGE :
  654. /*------------------------------------------------------------------------------
  655. Purpose:
  656. Parameters: <none>
  657. Notes:
  658. ------------------------------------------------------------------------------*/
  659. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  660. IF AktSeite = MaxPage THEN AktSeite = 1.
  661. ELSE AktSeite = AktSeite + 1.
  662. RUN selectPage ( INPUT AktSeite ).
  663. END PROCEDURE.
  664. /* _UIB-CODE-BLOCK-END */
  665. &ANALYZE-RESUME
  666. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gInventVor
  667. PROCEDURE PREVPAGE :
  668. /*------------------------------------------------------------------------------
  669. Purpose:
  670. Parameters: <none>
  671. Notes:
  672. ------------------------------------------------------------------------------*/
  673. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  674. IF AktSeite = 1 THEN AktSeite = MaxPage.
  675. ELSE AktSeite = AktSeite - 1.
  676. RUN selectPage ( INPUT AktSeite ).
  677. END PROCEDURE.
  678. /* _UIB-CODE-BLOCK-END */
  679. &ANALYZE-RESUME
  680. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gInventVor
  681. PROCEDURE selectPage :
  682. /*------------------------------------------------------------------------------
  683. Purpose: Super Override
  684. Parameters:
  685. Notes:
  686. ------------------------------------------------------------------------------*/
  687. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  688. DEF VAR FMutFlag AS LOG NO-UNDO.
  689. DEF VAR MutProg AS CHAR NO-UNDO.
  690. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  691. DO WHILE TRUE:
  692. IF NOT FMutFlag THEN LEAVE.
  693. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  694. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  695. RETURN NO-APPLY.
  696. END.
  697. CASE piPageNum:
  698. END CASE.
  699. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  700. CASE AktSeite:
  701. WHEN 1 THEN DO:
  702. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  703. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  704. END.
  705. END CASE.
  706. RUN SUPER( INPUT piPageNum).
  707. END PROCEDURE.
  708. /* _UIB-CODE-BLOCK-END */
  709. &ANALYZE-RESUME
  710. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gInventVor
  711. PROCEDURE TOOLBAR :
  712. /*------------------------------------------------------------------------------
  713. Purpose:
  714. Parameters: <none>
  715. Notes:
  716. ------------------------------------------------------------------------------*/
  717. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  718. /*
  719. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  720. */
  721. END PROCEDURE.
  722. /* _UIB-CODE-BLOCK-END */
  723. &ANALYZE-RESUME