g-gebindemenge.w 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gDialog
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gDialog
  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. DEF INPUT-OUTPUT PARAMETER VDaten AS CHAR NO-UNDO.
  27. /* Local Variable Definitions --- */
  28. DEF VAR VKGeb_Cd AS CHAR NO-UNDO.
  29. DEF VAR VVGeb_Cd AS CHAR NO-UNDO.
  30. DEF VAR VGGeb_Cd AS CHAR NO-UNDO.
  31. DEF VAR VKGeb_Me AS DEC DECIMALS 4 NO-UNDO.
  32. DEF VAR VVGeb_Me AS DEC DECIMALS 4 NO-UNDO.
  33. DEF VAR VGGeb_Me AS DEC DECIMALS 4 NO-UNDO.
  34. DEF VAR VKGeb_Be AS DEC DECIMALS 4 NO-UNDO.
  35. DEF VAR VVGeb_Be AS DEC DECIMALS 4 NO-UNDO.
  36. DEF VAR VGGeb_Be AS DEC DECIMALS 4 NO-UNDO.
  37. DEF VAR ARecid AS RECID NO-UNDO.
  38. DEF VAR LagBuch AS LOG NO-UNDO.
  39. DEF VAR fOfferte AS LOG NO-UNDO.
  40. DEF VAR lRueckstand AS LOG NO-UNDO.
  41. DEF VAR iLager AS INT NO-UNDO.
  42. DEF VAR MaxPage AS INT NO-UNDO.
  43. DEF VAR AktSeite AS INT NO-UNDO.
  44. DEF VAR FMutFlag AS LOG NO-UNDO.
  45. DEF VAR Firma AS CHAR NO-UNDO.
  46. DEF VAR Ja AS LOG NO-UNDO.
  47. DEF VAR FAbbruch AS LOG NO-UNDO.
  48. DEF BUFFER bArtst FOR Artst.
  49. DEF BUFFER bArtbez FOR Artbez.
  50. DEF BUFFER bArtLager FOR ArtLager.
  51. DEF BUFFER bKGebinde FOR KGebinde.
  52. DEF BUFFER bVGebinde FOR VGebinde.
  53. DEF BUFFER bGGebinde FOR GGebinde.
  54. /* _UIB-CODE-BLOCK-END */
  55. &ANALYZE-RESUME
  56. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  57. /* ******************** Preprocessor Definitions ******************** */
  58. &Scoped-define PROCEDURE-TYPE SmartDialog
  59. &Scoped-define DB-AWARE no
  60. &Scoped-define ADM-CONTAINER DIALOG-BOX
  61. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  62. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  63. &Scoped-define FRAME-NAME gDialog
  64. /* Standard List Definitions */
  65. &Scoped-Define ENABLED-OBJECTS F_Menge-1 F_Menge-2 F_Menge-3 F_Artikel ~
  66. F_KGebinde F_Bestand F_Bestellt F_Best_Neu RECT-38 RECT-39
  67. &Scoped-Define DISPLAYED-OBJECTS T_Lager F_Menge-1 F_Menge-2 CB_Lager ~
  68. F_Menge-3 F_Artikel F_KGebinde F_Bestand F_Bestellt F_Best_Neu F_Geli-Text
  69. /* Custom List Definitions */
  70. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  71. &Scoped-define List-4 F_Be_Menge-1 F_Be_Menge-2 F_Be_Menge-3
  72. &Scoped-define List-5 F_Bestand F_Bestellt F_Best_Neu
  73. &Scoped-define List-6 T_Lager F_Menge-1 F_Menge-2 F_Menge-3 F_Artikel ~
  74. F_KGebinde F_Bestand F_Bestellt F_Best_Neu
  75. /* _UIB-PREPROCESSOR-BLOCK-END */
  76. &ANALYZE-RESUME
  77. /* *********************** Control Definitions ********************** */
  78. /* Define a dialog box */
  79. /* Definitions of the field level widgets */
  80. DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U
  81. LABEL "Lager"
  82. VIEW-AS COMBO-BOX INNER-LINES 5
  83. LIST-ITEM-PAIRS "Item 1","Item 1"
  84. DROP-DOWN-LIST
  85. SIZE 25 BY 1 NO-UNDO.
  86. DEFINE VARIABLE F_Artikel AS CHARACTER FORMAT "X(256)":U
  87. VIEW-AS FILL-IN NATIVE
  88. SIZE 63 BY 1
  89. BGCOLOR 15 FONT 6 NO-UNDO.
  90. DEFINE VARIABLE F_Best-Text AS CHARACTER FORMAT "X(256)":U INITIAL "Bestellt"
  91. VIEW-AS TEXT
  92. SIZE 8 BY 1 NO-UNDO.
  93. DEFINE VARIABLE F_Bestand AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  94. VIEW-AS FILL-IN NATIVE
  95. SIZE 19.6 BY 1
  96. BGCOLOR 15 NO-UNDO.
  97. DEFINE VARIABLE F_Bestellt AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  98. VIEW-AS FILL-IN NATIVE
  99. SIZE 19.6 BY 1
  100. BGCOLOR 15 NO-UNDO.
  101. DEFINE VARIABLE F_Best_Neu AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  102. VIEW-AS FILL-IN NATIVE
  103. SIZE 19.6 BY 1
  104. BGCOLOR 15 NO-UNDO.
  105. DEFINE VARIABLE F_Be_Menge-1 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  106. LABEL ""
  107. VIEW-AS FILL-IN NATIVE
  108. SIZE 12 BY 1
  109. BGCOLOR 15 NO-UNDO.
  110. DEFINE VARIABLE F_Be_Menge-2 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  111. LABEL ""
  112. VIEW-AS FILL-IN NATIVE
  113. SIZE 12 BY 1
  114. BGCOLOR 15 NO-UNDO.
  115. DEFINE VARIABLE F_Be_Menge-3 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  116. LABEL ""
  117. VIEW-AS FILL-IN NATIVE
  118. SIZE 12 BY 1
  119. BGCOLOR 15 NO-UNDO.
  120. DEFINE VARIABLE F_Geli-Text AS CHARACTER FORMAT "X(256)":U INITIAL "Geliefert"
  121. VIEW-AS TEXT
  122. SIZE 8 BY 1 NO-UNDO.
  123. DEFINE VARIABLE F_KGebinde AS CHARACTER FORMAT "X(256)":U
  124. VIEW-AS FILL-IN NATIVE
  125. SIZE 15 BY 1
  126. BGCOLOR 15 FONT 6 NO-UNDO.
  127. DEFINE VARIABLE F_Menge-1 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  128. LABEL ""
  129. VIEW-AS FILL-IN NATIVE
  130. SIZE 12 BY 1
  131. BGCOLOR 15 NO-UNDO.
  132. DEFINE VARIABLE F_Menge-2 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  133. LABEL ""
  134. VIEW-AS FILL-IN NATIVE
  135. SIZE 12 BY 1
  136. BGCOLOR 15 NO-UNDO.
  137. DEFINE VARIABLE F_Menge-3 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  138. LABEL ""
  139. VIEW-AS FILL-IN NATIVE
  140. SIZE 12 BY 1
  141. BGCOLOR 15 NO-UNDO.
  142. DEFINE RECTANGLE RECT-38
  143. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  144. SIZE 68 BY 8.1.
  145. DEFINE RECTANGLE RECT-39
  146. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  147. SIZE 68 BY 2.86.
  148. DEFINE VARIABLE T_Lager AS LOGICAL INITIAL yes
  149. LABEL "Lager aktiv ?"
  150. VIEW-AS TOGGLE-BOX
  151. SIZE 20 BY 1 NO-UNDO.
  152. /* ************************ Frame Definitions *********************** */
  153. DEFINE FRAME gDialog
  154. T_Lager AT ROW 3.52 COL 46.2 WIDGET-ID 6
  155. F_Be_Menge-1 AT ROW 6 COL 23 COLON-ALIGNED WIDGET-ID 10
  156. F_Be_Menge-2 AT ROW 7 COL 23 COLON-ALIGNED WIDGET-ID 16
  157. F_Be_Menge-3 AT ROW 8 COL 23 COLON-ALIGNED WIDGET-ID 14
  158. F_Menge-1 AT ROW 6 COL 53 COLON-ALIGNED
  159. F_Menge-2 AT ROW 7 COL 53 COLON-ALIGNED
  160. CB_Lager AT ROW 1.52 COL 39 COLON-ALIGNED WIDGET-ID 8 NO-TAB-STOP
  161. F_Menge-3 AT ROW 8 COL 53 COLON-ALIGNED
  162. F_Artikel AT ROW 2.52 COL 1 COLON-ALIGNED NO-LABEL WIDGET-ID 2 NO-TAB-STOP
  163. F_KGebinde AT ROW 3.52 COL 3 NO-LABEL WIDGET-ID 4 NO-TAB-STOP
  164. F_Bestand AT ROW 10.76 COL 1.8 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  165. F_Bestellt AT ROW 10.76 COL 24.2 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  166. F_Best_Neu AT ROW 10.76 COL 46.6 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  167. F_Best-Text AT ROW 5 COL 26 COLON-ALIGNED NO-LABEL WIDGET-ID 22 NO-TAB-STOP
  168. F_Geli-Text AT ROW 5 COL 55.4 COLON-ALIGNED NO-LABEL WIDGET-ID 24 NO-TAB-STOP
  169. " Bestand" VIEW-AS TEXT
  170. SIZE 19.6 BY .81 AT ROW 9.95 COL 3.8
  171. FONT 6
  172. "Neuer Bestand" VIEW-AS TEXT
  173. SIZE 19.6 BY .81 AT ROW 9.95 COL 48.6
  174. FONT 6
  175. " Bestellt" VIEW-AS TEXT
  176. SIZE 19.6 BY .81 AT ROW 9.95 COL 26.2
  177. FONT 6
  178. RECT-38 AT ROW 1.24 COL 2
  179. RECT-39 AT ROW 9.52 COL 2
  180. SPACE(0.99) SKIP(0.18)
  181. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  182. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  183. TITLE "Gebindemengen".
  184. /* *********************** Procedure Settings ************************ */
  185. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  186. /* Settings for THIS-PROCEDURE
  187. Type: SmartDialog
  188. Allow: Basic,Browse,DB-Fields,Query,Smart
  189. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  190. Design Page: 1
  191. Other Settings: COMPILE
  192. */
  193. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  194. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gDialog
  195. /* ************************* Included-Libraries *********************** */
  196. {src/adm2/containr.i}
  197. /* _UIB-CODE-BLOCK-END */
  198. &ANALYZE-RESUME
  199. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  200. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  201. /* SETTINGS FOR DIALOG-BOX gDialog
  202. FRAME-NAME Custom */
  203. ASSIGN
  204. FRAME gDialog:SCROLLABLE = FALSE
  205. FRAME gDialog:HIDDEN = TRUE.
  206. /* SETTINGS FOR COMBO-BOX CB_Lager IN FRAME gDialog
  207. NO-ENABLE */
  208. /* SETTINGS FOR FILL-IN F_Artikel IN FRAME gDialog
  209. 6 */
  210. ASSIGN
  211. F_Artikel:READ-ONLY IN FRAME gDialog = TRUE.
  212. /* SETTINGS FOR FILL-IN F_Best-Text IN FRAME gDialog
  213. NO-DISPLAY NO-ENABLE */
  214. ASSIGN
  215. F_Best-Text:HIDDEN IN FRAME gDialog = TRUE
  216. F_Best-Text:READ-ONLY IN FRAME gDialog = TRUE.
  217. /* SETTINGS FOR FILL-IN F_Bestand IN FRAME gDialog
  218. 5 6 */
  219. ASSIGN
  220. F_Bestand:READ-ONLY IN FRAME gDialog = TRUE.
  221. /* SETTINGS FOR FILL-IN F_Bestellt IN FRAME gDialog
  222. 5 6 */
  223. ASSIGN
  224. F_Bestellt:READ-ONLY IN FRAME gDialog = TRUE.
  225. /* SETTINGS FOR FILL-IN F_Best_Neu IN FRAME gDialog
  226. 5 6 */
  227. ASSIGN
  228. F_Best_Neu:READ-ONLY IN FRAME gDialog = TRUE.
  229. /* SETTINGS FOR FILL-IN F_Be_Menge-1 IN FRAME gDialog
  230. NO-DISPLAY NO-ENABLE 4 */
  231. ASSIGN
  232. F_Be_Menge-1:HIDDEN IN FRAME gDialog = TRUE
  233. F_Be_Menge-1:READ-ONLY IN FRAME gDialog = TRUE.
  234. /* SETTINGS FOR FILL-IN F_Be_Menge-2 IN FRAME gDialog
  235. NO-DISPLAY NO-ENABLE 4 */
  236. ASSIGN
  237. F_Be_Menge-2:HIDDEN IN FRAME gDialog = TRUE
  238. F_Be_Menge-2:READ-ONLY IN FRAME gDialog = TRUE.
  239. /* SETTINGS FOR FILL-IN F_Be_Menge-3 IN FRAME gDialog
  240. NO-DISPLAY NO-ENABLE 4 */
  241. ASSIGN
  242. F_Be_Menge-3:HIDDEN IN FRAME gDialog = TRUE
  243. F_Be_Menge-3:READ-ONLY IN FRAME gDialog = TRUE.
  244. /* SETTINGS FOR FILL-IN F_Geli-Text IN FRAME gDialog
  245. NO-ENABLE */
  246. ASSIGN
  247. F_Geli-Text:READ-ONLY IN FRAME gDialog = TRUE.
  248. /* SETTINGS FOR FILL-IN F_KGebinde IN FRAME gDialog
  249. ALIGN-L 6 */
  250. ASSIGN
  251. F_KGebinde:READ-ONLY IN FRAME gDialog = TRUE.
  252. /* SETTINGS FOR FILL-IN F_Menge-1 IN FRAME gDialog
  253. 6 */
  254. ASSIGN
  255. F_Menge-1:READ-ONLY IN FRAME gDialog = TRUE.
  256. /* SETTINGS FOR FILL-IN F_Menge-2 IN FRAME gDialog
  257. 6 */
  258. ASSIGN
  259. F_Menge-2:READ-ONLY IN FRAME gDialog = TRUE.
  260. /* SETTINGS FOR FILL-IN F_Menge-3 IN FRAME gDialog
  261. 6 */
  262. ASSIGN
  263. F_Menge-3:READ-ONLY IN FRAME gDialog = TRUE.
  264. /* SETTINGS FOR TOGGLE-BOX T_Lager IN FRAME gDialog
  265. NO-ENABLE 6 */
  266. /* _RUN-TIME-ATTRIBUTES-END */
  267. &ANALYZE-RESUME
  268. /* Setting information for Queries and Browse Widgets fields */
  269. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gDialog
  270. /* Query rebuild information for DIALOG-BOX gDialog
  271. _Options = "SHARE-LOCK"
  272. _Query is NOT OPENED
  273. */ /* DIALOG-BOX gDialog */
  274. &ANALYZE-RESUME
  275. /* ************************ Control Triggers ************************ */
  276. &Scoped-define SELF-NAME gDialog
  277. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDialog gDialog
  278. ON END-ERROR OF FRAME gDialog /* Gebindemengen */
  279. DO:
  280. FAbbruch = TRUE.
  281. RUN ENDE.
  282. RETURN NO-APPLY.
  283. END.
  284. /* _UIB-CODE-BLOCK-END */
  285. &ANALYZE-RESUME
  286. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDialog gDialog
  287. ON GO OF FRAME gDialog /* Gebindemengen */
  288. DO:
  289. /*
  290. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  291. */
  292. END.
  293. /* _UIB-CODE-BLOCK-END */
  294. &ANALYZE-RESUME
  295. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDialog gDialog
  296. ON WINDOW-CLOSE OF FRAME gDialog /* Gebindemengen */
  297. DO:
  298. fAbbruch = TRUE.
  299. RUN ENDE.
  300. RETURN NO-APPLY.
  301. END.
  302. /* _UIB-CODE-BLOCK-END */
  303. &ANALYZE-RESUME
  304. &Scoped-define SELF-NAME F_Be_Menge-1
  305. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-1 gDialog
  306. ON CURSOR-DOWN OF F_Be_Menge-1 IN FRAME gDialog
  307. DO:
  308. APPLY 'TAB' TO SELF.
  309. RETURN NO-APPLY.
  310. END.
  311. /* _UIB-CODE-BLOCK-END */
  312. &ANALYZE-RESUME
  313. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-1 gDialog
  314. ON LEAVE OF F_Be_Menge-1 IN FRAME gDialog
  315. DO:
  316. DO WITH FRAME {&FRAME-NAME}:
  317. IF fAbbruch THEN RETURN.
  318. ASSIGN {&List-4}.
  319. IF SELF:MODIFIED THEN DO:
  320. IF F_Be_Menge-1 <> 0 THEN DO:
  321. IF AVAILABLE bGGebinde THEN F_Be_Menge-2 = F_Be_Menge-1 * bGGebinde.Inhalt.
  322. IF AVAILABLE bVGebinde THEN F_Be_Menge-3 = F_Be_Menge-2 * bVGebinde.Inhalt.
  323. ASSIGN F_Menge-1 = F_Be_Menge-1
  324. F_Menge-2 = F_Be_Menge-2
  325. F_Menge-3 = F_Be_Menge-3.
  326. END.
  327. END.
  328. DISPLAY {&List-4}.
  329. DISPLAY {&List-6}.
  330. SELF:MODIFIED = FALSE.
  331. IF bArtst.Lager = FALSE THEN RETURN.
  332. F_Best_Neu = F_Bestand - F_Menge-3.
  333. IF F_Best_Neu < 0 THEN DO:
  334. F_Best_Neu:BGCOLOR = 14.
  335. END.
  336. DISPLAY {&List-5}.
  337. END.
  338. END.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &Scoped-define SELF-NAME F_Be_Menge-2
  342. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-2 gDialog
  343. ON CURSOR-DOWN OF F_Be_Menge-2 IN FRAME gDialog
  344. DO:
  345. APPLY 'TAB' TO SELF.
  346. RETURN NO-APPLY.
  347. END.
  348. /* _UIB-CODE-BLOCK-END */
  349. &ANALYZE-RESUME
  350. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-2 gDialog
  351. ON CURSOR-UP OF F_Be_Menge-2 IN FRAME gDialog
  352. DO:
  353. APPLY 'BACK-TAB' TO SELF.
  354. RETURN NO-APPLY.
  355. END.
  356. /* _UIB-CODE-BLOCK-END */
  357. &ANALYZE-RESUME
  358. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-2 gDialog
  359. ON LEAVE OF F_Be_Menge-2 IN FRAME gDialog
  360. DO:
  361. DO WITH FRAME {&FRAME-NAME}:
  362. IF fAbbruch THEN RETURN.
  363. ASSIGN {&List-4}.
  364. IF SELF:MODIFIED THEN DO:
  365. IF F_Be_Menge-2 <> 0 THEN DO:
  366. IF AVAILABLE bVGebinde THEN F_Be_Menge-3 = F_Be_Menge-2 * bVGebinde.Inhalt.
  367. ASSIGN F_Menge-2 = F_Be_Menge-2
  368. F_Menge-3 = F_Be_Menge-3.
  369. END.
  370. END.
  371. DISPLAY {&List-4}.
  372. DISPLAY {&List-6}.
  373. SELF:MODIFIED = FALSE.
  374. IF bArtst.Lager = FALSE THEN RETURN.
  375. F_Best_Neu = F_Bestand - F_Menge-3.
  376. IF F_Best_Neu < 0 THEN DO:
  377. F_Best_Neu:BGCOLOR = 14.
  378. END.
  379. DISPLAY {&List-5}.
  380. END.
  381. END.
  382. /* _UIB-CODE-BLOCK-END */
  383. &ANALYZE-RESUME
  384. &Scoped-define SELF-NAME F_Be_Menge-3
  385. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-3 gDialog
  386. ON CURSOR-DOWN OF F_Be_Menge-3 IN FRAME gDialog
  387. DO:
  388. APPLY 'TAB' TO SELF.
  389. RETURN NO-APPLY.
  390. END.
  391. /* _UIB-CODE-BLOCK-END */
  392. &ANALYZE-RESUME
  393. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-3 gDialog
  394. ON CURSOR-UP OF F_Be_Menge-3 IN FRAME gDialog
  395. DO:
  396. APPLY 'BACK-TAB' TO SELF.
  397. RETURN NO-APPLY.
  398. END.
  399. /* _UIB-CODE-BLOCK-END */
  400. &ANALYZE-RESUME
  401. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-3 gDialog
  402. ON LEAVE OF F_Be_Menge-3 IN FRAME gDialog
  403. DO:
  404. DEF VAR cName AS CHAR NO-UNDO.
  405. DEF VAR cMenge AS CHAR NO-UNDO.
  406. DEF VAR dMenge AS DEC DECIMALS 4 NO-UNDO.
  407. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN.
  408. IF KEYFUNCTION(LASTKEY) = 'CURSOR-UP' THEN RETURN.
  409. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  410. IF KEYFUNCTION(LASTKEY) = 'CURSOR-DOWN' THEN RETURN.
  411. DO WITH FRAME {&FRAME-NAME}:
  412. IF fAbbruch THEN RETURN.
  413. ASSIGN {&List-6}.
  414. ASSIGN {&List-4}.
  415. IF bArtst.Lager = FALSE THEN T_Lager = FALSE.
  416. IF NOT T_Lager THEN DO:
  417. FAbbruch = FALSE.
  418. RUN ENDE.
  419. RETURN NO-APPLY.
  420. END.
  421. IF T_Lager THEN F_Best_Neu = F_Bestand - F_Menge-3.
  422. DISPLAY {&List-5}.
  423. IF F_Best_Neu < 0 THEN DO:
  424. F_Best_Neu:BGCOLOR = 14.
  425. Ja = DYNAMIC-FUNCTION('ANTWORT_JA':U, INPUT 1063 ) NO-ERROR.
  426. IF NOT Ja THEN DO:
  427. F_Menge-3 = F_Bestand.
  428. IF F_Menge-2 <> 0 AND
  429. AVAILABLE bVGebinde THEN DO:
  430. dMenge = F_Menge-3 / bVGebinde.Inhalt.
  431. cMenge = STRING(dMenge,'999999.999-').
  432. dMenge = DECIMAL(SUBSTRING(cMenge,01,06)).
  433. F_Menge-2 = dMenge.
  434. END.
  435. IF F_Menge-1 <> 0 AND
  436. AVAILABLE bGGebinde THEN DO:
  437. dMenge = F_Menge-2 / bGGebinde.Inhalt.
  438. cMenge = STRING(dMenge,'999999.999-').
  439. dMenge = DECIMAL(SUBSTRING(cMenge,01,06)).
  440. F_Menge-1 = dMenge.
  441. END.
  442. DISPLAY {&List-6}.
  443. APPLY 'ENTRY' TO F_Menge-3.
  444. RETURN NO-APPLY.
  445. END.
  446. END.
  447. F_Best_Neu:BGCOLOR = ?.
  448. F_Best_Neu:FGCOLOR = ?.
  449. FAbbruch = FALSE.
  450. RUN ENDE.
  451. RETURN NO-APPLY.
  452. END.
  453. END.
  454. /* _UIB-CODE-BLOCK-END */
  455. &ANALYZE-RESUME
  456. &Scoped-define SELF-NAME F_Menge-1
  457. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-1 gDialog
  458. ON CURSOR-DOWN OF F_Menge-1 IN FRAME gDialog
  459. DO:
  460. APPLY 'TAB' TO SELF.
  461. RETURN NO-APPLY.
  462. END.
  463. /* _UIB-CODE-BLOCK-END */
  464. &ANALYZE-RESUME
  465. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-1 gDialog
  466. ON CURSOR-UP OF F_Menge-1 IN FRAME gDialog
  467. DO:
  468. APPLY 'BACK-TAB' TO SELF.
  469. RETURN NO-APPLY.
  470. END.
  471. /* _UIB-CODE-BLOCK-END */
  472. &ANALYZE-RESUME
  473. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-1 gDialog
  474. ON LEAVE OF F_Menge-1 IN FRAME gDialog
  475. DO:
  476. DO WITH FRAME {&FRAME-NAME}:
  477. IF fAbbruch THEN RETURN.
  478. ASSIGN {&List-6}.
  479. IF SELF:MODIFIED THEN DO:
  480. IF F_Menge-1 <> 0 THEN DO:
  481. IF AVAILABLE bGGebinde THEN F_Menge-2 = F_Menge-1 * bGGebinde.Inhalt.
  482. IF AVAILABLE bVGebinde THEN F_Menge-3 = F_Menge-2 * bVGebinde.Inhalt.
  483. END.
  484. IF NOT lRueckstand THEN DO:
  485. ASSIGN F_Be_Menge-1:SCREEN-VALUE = STRING(F_Menge-1)
  486. F_Be_Menge-2:SCREEN-VALUE = STRING(F_Menge-2)
  487. F_Be_Menge-3:SCREEN-VALUE = STRING(F_Menge-3).
  488. END.
  489. END.
  490. DISPLAY {&List-6}.
  491. SELF:MODIFIED = FALSE.
  492. IF bArtst.Lager = FALSE THEN RETURN.
  493. F_Best_Neu = F_Bestand - F_Menge-3.
  494. IF F_Best_Neu < 0 THEN DO:
  495. F_Best_Neu:BGCOLOR = 14.
  496. END.
  497. DISPLAY {&List-5}.
  498. END.
  499. END.
  500. /* _UIB-CODE-BLOCK-END */
  501. &ANALYZE-RESUME
  502. &Scoped-define SELF-NAME F_Menge-2
  503. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-2 gDialog
  504. ON CURSOR-DOWN OF F_Menge-2 IN FRAME gDialog
  505. DO:
  506. APPLY 'TAB' TO SELF.
  507. RETURN NO-APPLY.
  508. END.
  509. /* _UIB-CODE-BLOCK-END */
  510. &ANALYZE-RESUME
  511. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-2 gDialog
  512. ON CURSOR-UP OF F_Menge-2 IN FRAME gDialog
  513. DO:
  514. APPLY 'BACK-TAB' TO SELF.
  515. RETURN NO-APPLY.
  516. END.
  517. /* _UIB-CODE-BLOCK-END */
  518. &ANALYZE-RESUME
  519. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-2 gDialog
  520. ON LEAVE OF F_Menge-2 IN FRAME gDialog
  521. DO:
  522. DO WITH FRAME {&FRAME-NAME}:
  523. IF fAbbruch THEN RETURN.
  524. ASSIGN {&List-6}.
  525. IF SELF:MODIFIED THEN DO:
  526. IF F_Menge-2 <> 0 THEN DO:
  527. IF AVAILABLE bVGebinde THEN F_Menge-3 = F_Menge-2 * bVGebinde.Inhalt.
  528. END.
  529. IF NOT lRueckstand THEN DO:
  530. ASSIGN F_Be_Menge-1:SCREEN-VALUE = STRING(F_Menge-1)
  531. F_Be_Menge-2:SCREEN-VALUE = STRING(F_Menge-2)
  532. F_Be_Menge-3:SCREEN-VALUE = STRING(F_Menge-3).
  533. END.
  534. END.
  535. DISPLAY {&List-6}.
  536. SELF:MODIFIED = FALSE.
  537. IF BArtst.Lager = FALSE THEN RETURN.
  538. F_Best_Neu = F_Bestand - F_Menge-3.
  539. IF F_Best_Neu < 0 THEN DO:
  540. F_Best_Neu:BGCOLOR = 14.
  541. END.
  542. DISPLAY {&List-5}.
  543. END.
  544. END.
  545. /* _UIB-CODE-BLOCK-END */
  546. &ANALYZE-RESUME
  547. &Scoped-define SELF-NAME F_Menge-3
  548. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-3 gDialog
  549. ON CURSOR-UP OF F_Menge-3 IN FRAME gDialog
  550. DO:
  551. APPLY 'BACK-TAB' TO SELF.
  552. RETURN NO-APPLY.
  553. END.
  554. /* _UIB-CODE-BLOCK-END */
  555. &ANALYZE-RESUME
  556. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-3 gDialog
  557. ON LEAVE OF F_Menge-3 IN FRAME gDialog
  558. DO:
  559. DEF VAR cName AS CHAR NO-UNDO.
  560. DEF VAR cMenge AS CHAR NO-UNDO.
  561. DEF VAR dMenge AS DEC DECIMALS 4 NO-UNDO.
  562. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN.
  563. IF KEYFUNCTION(LASTKEY) = 'CURSOR-UP' THEN RETURN.
  564. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  565. DO WITH FRAME {&FRAME-NAME}:
  566. IF fAbbruch THEN RETURN.
  567. ASSIGN {&List-6}.
  568. ASSIGN {&List-5}.
  569. ASSIGN {&List-4}.
  570. IF BArtst.Lager = FALSE THEN T_Lager = FALSE.
  571. IF NOT T_Lager THEN DO:
  572. FAbbruch = FALSE.
  573. RUN ENDE.
  574. RETURN NO-APPLY.
  575. END.
  576. IF T_Lager THEN F_Best_Neu = F_Bestand - F_Menge-3.
  577. DISPLAY {&List-5}.
  578. IF F_Best_Neu < 0 THEN DO:
  579. F_Best_Neu:BGCOLOR = 14.
  580. Ja = DYNAMIC-FUNCTION('ANTWORT_JA':U, INPUT 1063 ) NO-ERROR.
  581. IF NOT Ja THEN DO:
  582. F_Menge-3 = F_Bestand.
  583. IF F_Menge-2 <> 0 AND
  584. AVAILABLE bVGebinde THEN DO:
  585. dMenge = F_Menge-3 / bVGebinde.Inhalt.
  586. cMenge = STRING(dMenge,'999999.999-').
  587. dMenge = DECIMAL(SUBSTRING(cMenge,01,06)).
  588. F_Menge-2 = dMenge.
  589. END.
  590. IF F_Menge-1 <> 0 AND
  591. AVAILABLE bGGebinde THEN DO:
  592. dMenge = F_Menge-2 / bGGebinde.Inhalt.
  593. cMenge = STRING(dMenge,'999999.999-').
  594. dMenge = DECIMAL(SUBSTRING(cMenge,01,06)).
  595. F_Menge-1 = dMenge.
  596. END.
  597. DISPLAY {&List-6}.
  598. APPLY 'ENTRY' TO SELF.
  599. RETURN NO-APPLY.
  600. END.
  601. END.
  602. F_Best_Neu:BGCOLOR = ?.
  603. F_Best_Neu:FGCOLOR = ?.
  604. FAbbruch = FALSE.
  605. RUN ENDE.
  606. RETURN NO-APPLY.
  607. END.
  608. END.
  609. /* _UIB-CODE-BLOCK-END */
  610. &ANALYZE-RESUME
  611. &UNDEFINE SELF-NAME
  612. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gDialog
  613. /* *************************** Main Block *************************** */
  614. MaxPage = 1.
  615. AktSeite = 1.
  616. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  617. FAbbruch = FALSE .
  618. SESSION:DATA-ENTRY-RETURN = TRUE.
  619. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  620. /* TRIGGERS ------------------------------------------------------ */
  621. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  622. DO:
  623. RUN NEXTPAGE.
  624. END.
  625. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  626. DO:
  627. RUN PREVPAGE.
  628. END.
  629. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  630. DO:
  631. RUN ENTRY_CURSOR.
  632. END.
  633. /*
  634. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  635. DO:
  636. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  637. END.
  638. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  639. DO:
  640. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  641. END.
  642. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  643. DO:
  644. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  645. END.
  646. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  647. DO:
  648. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  649. END.
  650. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  651. DO:
  652. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  653. END.
  654. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  655. DO:
  656. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  657. END.
  658. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  659. DO:
  660. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  661. END.
  662. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  663. DO:
  664. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  665. END.
  666. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  667. DO:
  668. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  669. END.
  670. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  671. DO:
  672. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  673. IF FMutFlag = FALSE THEN DO:
  674. RUN ENDE.
  675. RETURN NO-APPLY.
  676. END.
  677. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  678. RETURN NO-APPLY.
  679. END.
  680. */
  681. /* ------------------------------------------------------------------ */
  682. {src/adm2/dialogmn.i}
  683. /* _UIB-CODE-BLOCK-END */
  684. &ANALYZE-RESUME
  685. /* ********************** Internal Procedures *********************** */
  686. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gDialog _ADM-CREATE-OBJECTS
  687. PROCEDURE adm-create-objects :
  688. /*------------------------------------------------------------------------------
  689. Purpose: Create handles for all SmartObjects used in this procedure.
  690. After SmartObjects are initialized, then SmartLinks are added.
  691. Parameters: <none>
  692. ------------------------------------------------------------------------------*/
  693. END PROCEDURE.
  694. /* _UIB-CODE-BLOCK-END */
  695. &ANALYZE-RESUME
  696. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gDialog
  697. PROCEDURE changePage :
  698. /*------------------------------------------------------------------------------
  699. Purpose: Super Override
  700. Parameters:
  701. Notes:
  702. ------------------------------------------------------------------------------*/
  703. /* Code placed here will execute PRIOR to standard behavior. */
  704. RUN SUPER.
  705. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  706. CASE AktSeite:
  707. WHEN 1 THEN DO:
  708. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  709. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  710. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  711. RUN ENTRY_CURSOR.
  712. END.
  713. WHEN 2 THEN DO:
  714. RUN ENTRY_CURSOR.
  715. END.
  716. END CASE.
  717. END PROCEDURE.
  718. /* _UIB-CODE-BLOCK-END */
  719. &ANALYZE-RESUME
  720. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gDialog _DEFAULT-DISABLE
  721. PROCEDURE disable_UI :
  722. /*------------------------------------------------------------------------------
  723. Purpose: DISABLE the User Interface
  724. Parameters: <none>
  725. Notes: Here we clean-up the user-interface by deleting
  726. dynamic widgets we have created and/or hide
  727. frames. This procedure is usually called when
  728. we are ready to "clean-up" after running.
  729. ------------------------------------------------------------------------------*/
  730. /* Hide all frames. */
  731. HIDE FRAME gDialog.
  732. END PROCEDURE.
  733. /* _UIB-CODE-BLOCK-END */
  734. &ANALYZE-RESUME
  735. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gDialog
  736. PROCEDURE enableObject :
  737. /*------------------------------------------------------------------------------
  738. Purpose: Super Override
  739. Parameters:
  740. Notes:
  741. ------------------------------------------------------------------------------*/
  742. VKGeb_Cd = ENTRY( 1, VDaten, ';').
  743. VVGeb_Cd = ENTRY( 2, VDaten, ';').
  744. VGGeb_Cd = ENTRY( 3, VDaten, ';').
  745. VKGeb_Me = DEC(ENTRY( 4, VDaten, ';')).
  746. VVGeb_Me = DEC(ENTRY( 5, VDaten, ';')).
  747. VGGeb_Me = DEC(ENTRY( 6, VDaten, ';')).
  748. ARecid = INT(ENTRY( 7, VDaten, ';')).
  749. LagBuch = (IF ENTRY( 8, VDaten, ';') BEGINS 'n' THEN FALSE ELSE TRUE).
  750. iLager = INT(ENTRY( 9, VDaten, ';')).
  751. fOfferte = (IF ENTRY(10, VDaten, ';') BEGINS 'n' THEN FALSE ELSE TRUE).
  752. VKGeb_Be = DEC(ENTRY(11, VDaten, ';')).
  753. VVGeb_Be = DEC(ENTRY(12, VDaten, ';')).
  754. VGGeb_Be = DEC(ENTRY(13, VDaten, ';')).
  755. IF VGGeb_Be < VGGeb_Me THEN VGGeb_Be = VGGeb_Me.
  756. IF VVGeb_Be < VVGeb_Me THEN VVGeb_Be = VVGeb_Me.
  757. IF VKGeb_Be < VKGeb_Me THEN VKGeb_Be = VKGeb_Me.
  758. DO WITH FRAME {&FRAME-NAME}:
  759. RUN COMBO_LAGER ( CB_Lager:HANDLE ) NO-ERROR.
  760. CB_Lager:SCREEN-VALUE = STRING(iLager,'999999').
  761. END.
  762. lRueckstand = DYNAMIC-FUNCTION('isMakeRueckstand':U) NO-ERROR.
  763. VDaten = ''.
  764. DO WITH FRAME {&FRAME-NAME}:
  765. FIND bArtst WHERE RECID(bArtst) = ARecid NO-LOCK NO-ERROR.
  766. FIND FIRST bArtbez OF bArtst NO-LOCK NO-ERROR.
  767. FIND bGGebinde
  768. WHERE bGGebinde.Firma = Firma
  769. AND bGGebinde.Geb_Cd = VGGeb_Cd NO-LOCK NO-ERROR.
  770. FIND bVGebinde
  771. WHERE bVGebinde.Firma = Firma
  772. AND bVGebinde.Geb_Cd = VVGeb_Cd NO-LOCK NO-ERROR.
  773. FIND bKGebinde
  774. WHERE bKGebinde.Firma = Firma
  775. AND bKGebinde.Geb_Cd = VKGeb_Cd NO-LOCK NO-ERROR.
  776. FIND bArtLager NO-LOCK
  777. WHERE bArtLager.Firma = bArtst.Firma
  778. AND bArtLager.Artnr = bArtst.Artnr
  779. AND bArtLager.Inhalt = bArtst.Inhalt
  780. AND bArtLager.Jahr = bArtst.Jahr
  781. AND bArtLager.Lager = iLager NO-ERROR.
  782. IF NOT AVAILABLE bArtLager THEN DO:
  783. MESSAGE 'Kein Lager für diesen Artikel' VIEW-AS ALERT-BOX ERROR.
  784. END.
  785. IF lRueckstand THEN DO:
  786. F_Best-Text :HIDDEN = FALSE.
  787. F_Be_Menge-1:HIDDEN = FALSE.
  788. F_Be_Menge-1:SENSITIVE = TRUE .
  789. F_Be_Menge-2:HIDDEN = FALSE.
  790. F_Be_Menge-2:SENSITIVE = TRUE .
  791. F_Be_Menge-3:HIDDEN = FALSE.
  792. F_Be_Menge-3:SENSITIVE = TRUE .
  793. END.
  794. DO WHILE TRUE:
  795. IF NOT AVAILABLE bGGebinde THEN LEAVE.
  796. F_Menge-1:TAB-STOP = TRUE.
  797. F_Menge-1:READ-ONLY = FALSE.
  798. F_Menge-1:LABEL = bGGebinde.KBez.
  799. IF lRueckstand THEN DO:
  800. F_Be_Menge-1:TAB-STOP = TRUE.
  801. F_Be_Menge-1:READ-ONLY = FALSE.
  802. F_Be_Menge-1:LABEL = bGGebinde.KBez.
  803. END.
  804. LEAVE.
  805. END.
  806. DO WHILE TRUE:
  807. IF NOT AVAILABLE bVGebinde THEN LEAVE.
  808. F_Menge-2:TAB-STOP = TRUE.
  809. F_Menge-2:READ-ONLY = FALSE.
  810. F_Menge-2:LABEL = bVGebinde.KBez.
  811. IF lRueckstand THEN DO:
  812. F_Be_Menge-2:TAB-STOP = TRUE.
  813. F_Be_Menge-2:READ-ONLY = FALSE.
  814. F_Be_Menge-2:LABEL = bVGebinde.KBez.
  815. END.
  816. LEAVE.
  817. END.
  818. DO WHILE TRUE:
  819. IF NOT AVAILABLE bKGebinde THEN LEAVE.
  820. F_Menge-3:TAB-STOP = TRUE.
  821. F_Menge-3:READ-ONLY = FALSE.
  822. F_Menge-3:LABEL = bKGebinde.KBez.
  823. IF lRueckstand THEN DO:
  824. F_Be_Menge-3:TAB-STOP = TRUE.
  825. F_Be_Menge-3:READ-ONLY = FALSE.
  826. F_Be_Menge-3:LABEL = bKGebinde.KBez.
  827. END.
  828. LEAVE.
  829. END.
  830. F_Menge-1 = VGGeb_Me.
  831. F_Menge-2 = VVGeb_Me.
  832. F_Menge-3 = VKGeb_Me.
  833. F_Be_Menge-1 = VGGeb_Be.
  834. F_Be_Menge-2 = VVGeb_Be.
  835. F_Be_Menge-3 = VKGeb_Be.
  836. IF AVAILABLE bArtLager THEN DO:
  837. ASSIGN F_Bestand = bArtLager.Bestand + F_Menge-3
  838. F_Bestellt = bArtLager.Bestellt
  839. F_Best_Neu = bArtLager.Bestand.
  840. END.
  841. ELSE DO:
  842. ASSIGN F_Bestand = 0 F_Menge-3
  843. F_Bestellt = 0
  844. F_Best_Neu = 0.
  845. END.
  846. F_Artikel = bArtbez.Bez1 + ' ' + bArtbez.Bez2.
  847. F_KGebinde = bKGebinde.KBez.
  848. T_Lager = LagBuch.
  849. IF NOT bArtst.Lager THEN T_Lager = FALSE.
  850. IF F_Best_Neu < 0 THEN F_Best_Neu:BGCOLOR = 14.
  851. DISPLAY {&List-6}.
  852. IF lRueckstand THEN DISPLAY {&List-4} f_bEST-tEXT.
  853. IF bArtst.Lager THEN T_Lager:SENSITIVE = TRUE.
  854. END.
  855. RUN SUPER.
  856. DO WITH FRAME {&FRAME-NAME}:
  857. F_Menge-1:MODIFIED = FALSE.
  858. F_Menge-2:MODIFIED = FALSE.
  859. F_Menge-3:MODIFIED = FALSE.
  860. IF fOfferte THEN DISABLE T_Lager.
  861. F_Be_Menge-1:MODIFIED = FALSE.
  862. F_Be_Menge-2:MODIFIED = FALSE.
  863. F_Be_Menge-3:MODIFIED = FALSE.
  864. END.
  865. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  866. END PROCEDURE.
  867. /* _UIB-CODE-BLOCK-END */
  868. &ANALYZE-RESUME
  869. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gDialog _DEFAULT-ENABLE
  870. PROCEDURE enable_UI :
  871. /*------------------------------------------------------------------------------
  872. Purpose: ENABLE the User Interface
  873. Parameters: <none>
  874. Notes: Here we display/view/enable the widgets in the
  875. user-interface. In addition, OPEN all queries
  876. associated with each FRAME and BROWSE.
  877. These statements here are based on the "Other
  878. Settings" section of the widget Property Sheets.
  879. ------------------------------------------------------------------------------*/
  880. DISPLAY T_Lager F_Menge-1 F_Menge-2 CB_Lager F_Menge-3 F_Artikel F_KGebinde
  881. F_Bestand F_Bestellt F_Best_Neu F_Geli-Text
  882. WITH FRAME gDialog.
  883. ENABLE F_Menge-1 F_Menge-2 F_Menge-3 F_Artikel F_KGebinde F_Bestand
  884. F_Bestellt F_Best_Neu RECT-38 RECT-39
  885. WITH FRAME gDialog.
  886. VIEW FRAME gDialog.
  887. {&OPEN-BROWSERS-IN-QUERY-gDialog}
  888. END PROCEDURE.
  889. /* _UIB-CODE-BLOCK-END */
  890. &ANALYZE-RESUME
  891. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gDialog
  892. PROCEDURE ENDE :
  893. /*------------------------------------------------------------------------------
  894. Purpose:
  895. Parameters: <none>
  896. Notes:
  897. ------------------------------------------------------------------------------*/
  898. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  899. IF AktSeite > 1 THEN DO:
  900. RUN selectPage ( INPUT 1 ).
  901. RETURN NO-APPLY.
  902. END.
  903. IF NOT FAbbruch THEN DO WITH FRAME {&FRAME-NAME}:
  904. ASSIGN {&List-4}.
  905. ASSIGN {&List-6}.
  906. IF NOT lRueckstand THEN DO:
  907. ASSIGN F_Be_Menge-1 = F_Menge-1
  908. F_Be_Menge-2 = F_Menge-2
  909. F_Be_Menge-3 = F_Menge-3.
  910. END.
  911. ELSE DO:
  912. IF F_Menge-1 < 0 THEN F_Be_Menge-1 = F_Menge-1.
  913. IF F_Menge-2 < 0 THEN F_Be_Menge-2 = F_Menge-2.
  914. IF F_Menge-3 < 0 THEN F_Be_Menge-3 = F_Menge-3.
  915. IF F_Menge-1 > F_Be_Menge-1 THEN F_Be_Menge-1 = F_Menge-1.
  916. IF F_Menge-2 > F_Be_Menge-2 THEN F_Be_Menge-2 = F_Menge-2.
  917. IF F_Menge-3 > F_Be_Menge-3 THEN F_Be_Menge-3 = F_Menge-3.
  918. END.
  919. LagBuch = T_Lager.
  920. IF F_Be_Menge-3 = 0 THEN DO:
  921. RUN FEHLER ( INPUT 1064 ).
  922. APPLY 'ENTRY' TO F_Menge-3.
  923. RETURN NO-APPLY.
  924. END.
  925. VDaten = STRING(F_Menge-1) + ';'
  926. + STRING(F_Menge-2) + ';'
  927. + STRING(F_Menge-3) + ';'
  928. + STRING(LagBuch,'y/n') + ';'
  929. + STRING(F_Be_Menge-1) + ';'
  930. + STRING(F_Be_Menge-2) + ';'
  931. + STRING(F_Be_Menge-3)
  932. .
  933. END.
  934. ELSE Vdaten = ''.
  935. RELEASE bArtst.
  936. RELEASE bArtbez.
  937. RELEASE bArtLager.
  938. RELEASE bKGebinde.
  939. RELEASE bVGebinde.
  940. RELEASE bGGebinde.
  941. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  942. RETURN NO-APPLY.
  943. END PROCEDURE.
  944. /* _UIB-CODE-BLOCK-END */
  945. &ANALYZE-RESUME
  946. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gDialog
  947. PROCEDURE ENTRY_CURSOR :
  948. /*------------------------------------------------------------------------------
  949. Purpose:
  950. Parameters: <none>
  951. Notes:
  952. ------------------------------------------------------------------------------*/
  953. DO WITH FRAME {&FRAME-NAME}:
  954. IF VGGeb_Me <> 0 THEN APPLY 'ENTRY' TO F_Menge-1.
  955. ELSE APPLY 'ENTRY' TO F_Menge-2.
  956. END.
  957. RETURN NO-APPLY.
  958. END PROCEDURE.
  959. /* _UIB-CODE-BLOCK-END */
  960. &ANALYZE-RESUME
  961. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gDialog
  962. PROCEDURE exitObject :
  963. /*------------------------------------------------------------------------------
  964. Purpose: Super Override
  965. Parameters:
  966. Notes:
  967. ------------------------------------------------------------------------------*/
  968. RUN ENDE.
  969. RETURN NO-APPLY.
  970. END PROCEDURE.
  971. /* _UIB-CODE-BLOCK-END */
  972. &ANALYZE-RESUME
  973. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gDialog
  974. PROCEDURE NEXTPAGE :
  975. /*------------------------------------------------------------------------------
  976. Purpose:
  977. Parameters: <none>
  978. Notes:
  979. ------------------------------------------------------------------------------*/
  980. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  981. IF AktSeite = MaxPage THEN AktSeite = 1.
  982. ELSE AktSeite = AktSeite + 1.
  983. RUN selectPage ( INPUT AktSeite ).
  984. END PROCEDURE.
  985. /* _UIB-CODE-BLOCK-END */
  986. &ANALYZE-RESUME
  987. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gDialog
  988. PROCEDURE PREVPAGE :
  989. /*------------------------------------------------------------------------------
  990. Purpose:
  991. Parameters: <none>
  992. Notes:
  993. ------------------------------------------------------------------------------*/
  994. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  995. IF AktSeite = 1 THEN AktSeite = MaxPage.
  996. ELSE AktSeite = AktSeite - 1.
  997. RUN selectPage ( INPUT AktSeite ).
  998. END PROCEDURE.
  999. /* _UIB-CODE-BLOCK-END */
  1000. &ANALYZE-RESUME
  1001. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gDialog
  1002. PROCEDURE selectPage :
  1003. /*------------------------------------------------------------------------------
  1004. Purpose: Super Override
  1005. Parameters:
  1006. Notes:
  1007. ------------------------------------------------------------------------------*/
  1008. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  1009. DEF VAR FMutFlag AS LOG NO-UNDO.
  1010. DEF VAR MutProg AS CHAR NO-UNDO.
  1011. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  1012. DO WHILE TRUE:
  1013. IF NOT FMutFlag THEN LEAVE.
  1014. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  1015. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  1016. RETURN NO-APPLY.
  1017. END.
  1018. CASE piPageNum:
  1019. END CASE.
  1020. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  1021. CASE AktSeite:
  1022. WHEN 1 THEN DO:
  1023. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  1024. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  1025. END.
  1026. END CASE.
  1027. RUN SUPER( INPUT piPageNum).
  1028. END PROCEDURE.
  1029. /* _UIB-CODE-BLOCK-END */
  1030. &ANALYZE-RESUME
  1031. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gDialog
  1032. PROCEDURE TOOLBAR :
  1033. /*------------------------------------------------------------------------------
  1034. Purpose:
  1035. Parameters: <none>
  1036. Notes:
  1037. ------------------------------------------------------------------------------*/
  1038. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  1039. /*
  1040. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  1041. */
  1042. END PROCEDURE.
  1043. /* _UIB-CODE-BLOCK-END */
  1044. &ANALYZE-RESUME
  1045. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject gDialog
  1046. PROCEDURE viewObject :
  1047. /*------------------------------------------------------------------------------
  1048. Purpose: Super Override
  1049. Parameters:
  1050. Notes:
  1051. ------------------------------------------------------------------------------*/
  1052. RUN SUPER.
  1053. RUN ENTRY_CURSOR.
  1054. END PROCEDURE.
  1055. /* _UIB-CODE-BLOCK-END */
  1056. &ANALYZE-RESUME