d-gebinde-menge.w 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME D-Dialog
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS D-Dialog
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrdlg.w - ADM SmartDialog Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. Author:
  14. Created:
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress UIB. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. DEF INPUT-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 ARecid AS RECID NO-UNDO.
  35. DEF VAR Lag_Buch AS LOG NO-UNDO.
  36. /* ---------- Globale Variablen ---------------------------------- */
  37. { v8/globvar.i" " " " "SHARED" }
  38. { v8/debivar.i " " " " "SHARED" }
  39. { v8/artivar.i " " " " "SHARED" }
  40. { v8/contvar.i " " " " "SHARED" }
  41. /* _UIB-CODE-BLOCK-END */
  42. &ANALYZE-RESUME
  43. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  44. /* ******************** Preprocessor Definitions ******************** */
  45. &Scoped-define PROCEDURE-TYPE SmartDialog
  46. &Scoped-define DB-AWARE no
  47. &Scoped-define ADM-CONTAINER DIALOG-BOX
  48. /* Name of first Frame and/or Browse and/or first Query */
  49. &Scoped-define FRAME-NAME D-Dialog
  50. /* Standard List Definitions */
  51. &Scoped-Define ENABLED-OBJECTS T_Lager F_Geb_Cd-1 F_Menge-1 F_Geb_Cd-2 ~
  52. F_Menge-2 F_Geb_Cd-3 F_Menge-3 RECT-35
  53. &Scoped-Define DISPLAYED-OBJECTS T_Lager F_Geb_Cd-1 F_Menge-1 F_Geb_Cd-2 ~
  54. F_Menge-2 F_Geb_Cd-3 F_Menge-3
  55. /* Custom List Definitions */
  56. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  57. &Scoped-define List-1 T_Lager F_Geb_Cd-1 F_Menge-1 F_Geb_Cd-2 F_Menge-2 ~
  58. F_Geb_Cd-3 F_Menge-3
  59. &Scoped-define List-2 T_Lager F_Menge-1 F_Menge-2 F_Menge-3
  60. &Scoped-define List-6 F_Bestand F_Bestellt F_Best_Neu
  61. /* _UIB-PREPROCESSOR-BLOCK-END */
  62. &ANALYZE-RESUME
  63. /* *********************** Control Definitions ********************** */
  64. /* Define a dialog box */
  65. /* Definitions of the field level widgets */
  66. DEFINE VARIABLE F_Bestand AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  67. VIEW-AS FILL-IN NATIVE
  68. SIZE 19.6 BY 1
  69. BGCOLOR 15 NO-UNDO.
  70. DEFINE VARIABLE F_Bestellt AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  71. VIEW-AS FILL-IN NATIVE
  72. SIZE 19.6 BY 1
  73. BGCOLOR 15 NO-UNDO.
  74. DEFINE VARIABLE F_Best_Neu AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  75. VIEW-AS FILL-IN NATIVE
  76. SIZE 19.6 BY 1
  77. BGCOLOR 15 NO-UNDO.
  78. DEFINE VARIABLE F_Geb_Cd-1 AS CHARACTER FORMAT "X(12)":U
  79. LABEL "Gross-Geb."
  80. VIEW-AS FILL-IN NATIVE
  81. SIZE 19.6 BY 1
  82. BGCOLOR 15 FONT 6 NO-UNDO.
  83. DEFINE VARIABLE F_Geb_Cd-2 AS CHARACTER FORMAT "X(12)":U
  84. LABEL "Verkaufs-Geb."
  85. VIEW-AS FILL-IN NATIVE
  86. SIZE 19.6 BY 1
  87. BGCOLOR 15 FONT 6 NO-UNDO.
  88. DEFINE VARIABLE F_Geb_Cd-3 AS CHARACTER FORMAT "X(12)":U
  89. LABEL "Klein-Geb."
  90. VIEW-AS FILL-IN NATIVE
  91. SIZE 19.6 BY 1
  92. BGCOLOR 15 FONT 6 NO-UNDO.
  93. DEFINE VARIABLE F_Menge-1 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  94. LABEL "Menge"
  95. VIEW-AS FILL-IN NATIVE
  96. SIZE 12 BY 1
  97. BGCOLOR 15 NO-UNDO.
  98. DEFINE VARIABLE F_Menge-2 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  99. LABEL "Menge"
  100. VIEW-AS FILL-IN NATIVE
  101. SIZE 12 BY 1
  102. BGCOLOR 15 NO-UNDO.
  103. DEFINE VARIABLE F_Menge-3 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  104. LABEL "Menge"
  105. VIEW-AS FILL-IN NATIVE
  106. SIZE 12 BY 1
  107. BGCOLOR 15 NO-UNDO.
  108. DEFINE RECTANGLE RECT-35
  109. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  110. SIZE 67.4 BY 5.1.
  111. DEFINE VARIABLE T_Lager AS LOGICAL INITIAL no
  112. LABEL "Lager ja/nein ?"
  113. VIEW-AS TOGGLE-BOX
  114. SIZE 20.2 BY 1 NO-UNDO.
  115. /* ************************ Frame Definitions *********************** */
  116. DEFINE FRAME D-Dialog
  117. T_Lager AT ROW 2 COL 24
  118. F_Geb_Cd-1 AT ROW 3 COL 22 COLON-ALIGNED NO-TAB-STOP
  119. F_Menge-1 AT ROW 3 COL 55 COLON-ALIGNED
  120. F_Geb_Cd-2 AT ROW 4 COL 22 COLON-ALIGNED NO-TAB-STOP
  121. F_Menge-2 AT ROW 4 COL 55 COLON-ALIGNED
  122. F_Geb_Cd-3 AT ROW 5 COL 22 COLON-ALIGNED NO-TAB-STOP
  123. F_Menge-3 AT ROW 5 COL 55 COLON-ALIGNED
  124. F_Bestand AT ROW 8.43 COL 1.8 COLON-ALIGNED NO-LABEL
  125. F_Bestellt AT ROW 8.43 COL 24.2 COLON-ALIGNED NO-LABEL
  126. F_Best_Neu AT ROW 8.43 COL 46.6 COLON-ALIGNED NO-LABEL
  127. RECT-35 AT ROW 1.43 COL 3.6
  128. " Bestand" VIEW-AS TEXT
  129. SIZE 19.6 BY 1 AT ROW 7.19 COL 3.8
  130. " Bestellt" VIEW-AS TEXT
  131. SIZE 19.6 BY 1 AT ROW 7.19 COL 26.2
  132. "Neuer Bestand" VIEW-AS TEXT
  133. SIZE 19.6 BY 1 AT ROW 7.19 COL 48.6
  134. SPACE(4.99) SKIP(2.04)
  135. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  136. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  137. TITLE "Gebinde-Mengen".
  138. /* *********************** Procedure Settings ************************ */
  139. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  140. /* Settings for THIS-PROCEDURE
  141. Type: SmartDialog
  142. Allow: Basic,Browse,DB-Fields,Query,Smart
  143. Other Settings: COMPILE
  144. */
  145. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  146. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB D-Dialog
  147. /* ************************* Included-Libraries *********************** */
  148. {src/adm/method/containr.i}
  149. /* _UIB-CODE-BLOCK-END */
  150. &ANALYZE-RESUME
  151. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  152. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  153. /* SETTINGS FOR DIALOG-BOX D-Dialog
  154. */
  155. ASSIGN
  156. FRAME D-Dialog:SCROLLABLE = FALSE
  157. FRAME D-Dialog:HIDDEN = TRUE.
  158. /* SETTINGS FOR FILL-IN F_Bestand IN FRAME D-Dialog
  159. NO-DISPLAY NO-ENABLE 6 */
  160. /* SETTINGS FOR FILL-IN F_Bestellt IN FRAME D-Dialog
  161. NO-DISPLAY NO-ENABLE 6 */
  162. /* SETTINGS FOR FILL-IN F_Best_Neu IN FRAME D-Dialog
  163. NO-DISPLAY NO-ENABLE 6 */
  164. /* SETTINGS FOR FILL-IN F_Geb_Cd-1 IN FRAME D-Dialog
  165. 1 */
  166. ASSIGN
  167. F_Geb_Cd-1:READ-ONLY IN FRAME D-Dialog = TRUE.
  168. /* SETTINGS FOR FILL-IN F_Geb_Cd-2 IN FRAME D-Dialog
  169. 1 */
  170. ASSIGN
  171. F_Geb_Cd-2:READ-ONLY IN FRAME D-Dialog = TRUE.
  172. /* SETTINGS FOR FILL-IN F_Geb_Cd-3 IN FRAME D-Dialog
  173. 1 */
  174. ASSIGN
  175. F_Geb_Cd-3:READ-ONLY IN FRAME D-Dialog = TRUE.
  176. /* SETTINGS FOR FILL-IN F_Menge-1 IN FRAME D-Dialog
  177. 1 2 */
  178. /* SETTINGS FOR FILL-IN F_Menge-2 IN FRAME D-Dialog
  179. 1 2 */
  180. /* SETTINGS FOR FILL-IN F_Menge-3 IN FRAME D-Dialog
  181. 1 2 */
  182. /* SETTINGS FOR TOGGLE-BOX T_Lager IN FRAME D-Dialog
  183. 1 2 */
  184. /* _RUN-TIME-ATTRIBUTES-END */
  185. &ANALYZE-RESUME
  186. /* Setting information for Queries and Browse Widgets fields */
  187. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX D-Dialog
  188. /* Query rebuild information for DIALOG-BOX D-Dialog
  189. _Options = "SHARE-LOCK"
  190. _Query is NOT OPENED
  191. */ /* DIALOG-BOX D-Dialog */
  192. &ANALYZE-RESUME
  193. /* ************************ Control Triggers ************************ */
  194. &Scoped-define SELF-NAME D-Dialog
  195. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL D-Dialog D-Dialog
  196. ON GO OF FRAME D-Dialog /* Gebinde-Mengen */
  197. DO:
  198. DO WITH FRAME {&FRAME-NAME}:
  199. ASSIGN {&List-2}.
  200. IF F_Menge-3 = 0 THEN DO:
  201. { v8/fehler.i "0328" }
  202. APPLY 'ENTRY' TO F_Menge-3.
  203. RETURN NO-APPLY.
  204. END.
  205. VDaten = STRING(F_Menge-1) + ';'
  206. + STRING(F_Menge-2) + ';'
  207. + STRING(F_Menge-3) + ';'
  208. + STRING(T_Lager,'yes/no').
  209. END.
  210. END.
  211. /* _UIB-CODE-BLOCK-END */
  212. &ANALYZE-RESUME
  213. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL D-Dialog D-Dialog
  214. ON WINDOW-CLOSE OF FRAME D-Dialog /* Gebinde-Mengen */
  215. DO:
  216. APPLY "END-ERROR":U TO SELF.
  217. END.
  218. /* _UIB-CODE-BLOCK-END */
  219. &ANALYZE-RESUME
  220. &Scoped-define SELF-NAME F_Menge-1
  221. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-1 D-Dialog
  222. ON CURSOR-DOWN OF F_Menge-1 IN FRAME D-Dialog /* Menge */
  223. DO:
  224. APPLY 'ENTRY' TO F_Menge-2 IN FRAME {&FRAME-NAME}.
  225. RETURN NO-APPLY.
  226. END.
  227. /* _UIB-CODE-BLOCK-END */
  228. &ANALYZE-RESUME
  229. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-1 D-Dialog
  230. ON CURSOR-UP OF F_Menge-1 IN FRAME D-Dialog /* Menge */
  231. DO:
  232. APPLY 'ENTRY' TO F_Menge-3 IN FRAME {&FRAME-NAME}.
  233. RETURN NO-APPLY.
  234. END.
  235. /* _UIB-CODE-BLOCK-END */
  236. &ANALYZE-RESUME
  237. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-1 D-Dialog
  238. ON LEAVE OF F_Menge-1 IN FRAME D-Dialog /* Menge */
  239. DO:
  240. DO WITH FRAME {&FRAME-NAME}:
  241. ASSIGN {&List-2}.
  242. IF SELF:MODIFIED THEN DO:
  243. IF F_Menge-1 <> 0 THEN DO:
  244. IF AVAILABLE GGebinde THEN F_Menge-2 = F_Menge-1 * GGebinde.Inhalt.
  245. IF AVAILABLE VGebinde THEN F_Menge-3 = F_Menge-2 * VGebinde.Inhalt.
  246. END.
  247. END.
  248. DISPLAY {&List-2}.
  249. SELF:MODIFIED = FALSE.
  250. IF Artst.Lager = FALSE THEN RETURN.
  251. IF T_Lager = FALSE THEN RETURN.
  252. F_Best_Neu = Artst.Bestand - F_Menge-3.
  253. IF F_Best_Neu < 0 THEN DO:
  254. F_Best_Neu:BGCOLOR = 14.
  255. END.
  256. DISPLAY {&List-6}.
  257. END.
  258. END.
  259. /* _UIB-CODE-BLOCK-END */
  260. &ANALYZE-RESUME
  261. &Scoped-define SELF-NAME F_Menge-2
  262. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-2 D-Dialog
  263. ON CURSOR-DOWN OF F_Menge-2 IN FRAME D-Dialog /* Menge */
  264. DO:
  265. APPLY 'ENTRY' TO F_Menge-3 IN FRAME {&FRAME-NAME}.
  266. RETURN NO-APPLY.
  267. END.
  268. /* _UIB-CODE-BLOCK-END */
  269. &ANALYZE-RESUME
  270. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-2 D-Dialog
  271. ON CURSOR-UP OF F_Menge-2 IN FRAME D-Dialog /* Menge */
  272. DO:
  273. APPLY 'ENTRY' TO F_Menge-1 IN FRAME {&FRAME-NAME}.
  274. RETURN NO-APPLY.
  275. END.
  276. /* _UIB-CODE-BLOCK-END */
  277. &ANALYZE-RESUME
  278. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-2 D-Dialog
  279. ON LEAVE OF F_Menge-2 IN FRAME D-Dialog /* Menge */
  280. DO:
  281. DO WITH FRAME {&FRAME-NAME}:
  282. ASSIGN {&List-2}.
  283. IF SELF:MODIFIED THEN DO:
  284. IF F_Menge-2 <> 0 THEN DO:
  285. IF AVAILABLE VGebinde THEN F_Menge-3 = F_Menge-2 * VGebinde.Inhalt.
  286. END.
  287. END.
  288. DISPLAY {&List-2}.
  289. SELF:MODIFIED = FALSE.
  290. IF Artst.Lager = FALSE THEN RETURN.
  291. IF T_Lager = FALSE THEN RETURN.
  292. F_Best_Neu = Artst.Bestand - F_Menge-3.
  293. IF F_Best_Neu < 0 THEN DO:
  294. F_Best_Neu:BGCOLOR = 14.
  295. END.
  296. DISPLAY {&List-6}.
  297. END.
  298. END.
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. &Scoped-define SELF-NAME F_Menge-3
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-3 D-Dialog
  303. ON CURSOR-DOWN OF F_Menge-3 IN FRAME D-Dialog /* Menge */
  304. DO:
  305. APPLY 'ENTRY' TO F_Menge-1 IN FRAME {&FRAME-NAME}.
  306. RETURN NO-APPLY.
  307. END.
  308. /* _UIB-CODE-BLOCK-END */
  309. &ANALYZE-RESUME
  310. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-3 D-Dialog
  311. ON CURSOR-UP OF F_Menge-3 IN FRAME D-Dialog /* Menge */
  312. DO:
  313. APPLY 'ENTRY' TO F_Menge-2 IN FRAME {&FRAME-NAME}.
  314. RETURN NO-APPLY.
  315. END.
  316. /* _UIB-CODE-BLOCK-END */
  317. &ANALYZE-RESUME
  318. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-3 D-Dialog
  319. ON LEAVE OF F_Menge-3 IN FRAME D-Dialog /* Menge */
  320. DO:
  321. LKY = LASTKEY.
  322. IF KEYFUNCTION(LASTKEY) = 'CURSOR-UP' THEN RETURN.
  323. DO WITH FRAME {&FRAME-NAME}:
  324. ASSIGN {&List-2}.
  325. IF Artst.Lager = FALSE THEN RETURN.
  326. IF T_Lager = FALSE THEN RETURN.
  327. F_Best_Neu = F_Bestand - F_Menge-3.
  328. DISPLAY {&List-6}.
  329. IF F_Best_Neu < 0 THEN DO:
  330. F_Best_Neu:BGCOLOR = 14.
  331. i5 = FRAME {&FRAME-NAME}:ROW.
  332. i4 = FRAME {&FRAME-NAME}:COLUMN.
  333. FRAME {&FRAME-NAME}:ROW = 2.
  334. FRAME {&FRAME-NAME}:COLUMN = 10.
  335. Ja = TRUE.
  336. { v8/antwort.i "0310" }
  337. IF NOT Ja THEN DO:
  338. FRAME {&FRAME-NAME}:ROW = i5.
  339. FRAME {&FRAME-NAME}:COLUMN = i4.
  340. APPLY 'ENTRY' TO F_Menge-3.
  341. RETURN NO-APPLY.
  342. END.
  343. END.
  344. F_Best_Neu:BGCOLOR = ?.
  345. F_Best_Neu:FGCOLOR = ?.
  346. RETURN.
  347. END.
  348. END.
  349. /* _UIB-CODE-BLOCK-END */
  350. &ANALYZE-RESUME
  351. &Scoped-define SELF-NAME T_Lager
  352. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Lager D-Dialog
  353. ON RETURN OF T_Lager IN FRAME D-Dialog /* Lager ja/nein ? */
  354. DO:
  355. APPLY 'TAB' TO SELF.
  356. END.
  357. /* _UIB-CODE-BLOCK-END */
  358. &ANALYZE-RESUME
  359. &UNDEFINE SELF-NAME
  360. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK D-Dialog
  361. /* *************************** Main Block *************************** */
  362. VKGeb_Cd = ENTRY(1, VDaten, ';').
  363. VVGeb_Cd = ENTRY(2, VDaten, ';').
  364. VGGeb_Cd = ENTRY(3, VDaten, ';').
  365. VKGeb_Me = DEC(ENTRY(4, VDaten, ';')).
  366. VVGeb_Me = DEC(ENTRY(5, VDaten, ';')).
  367. VGGeb_Me = DEC(ENTRY(6, VDaten, ';')).
  368. ARecid = INT(ENTRY(7, VDaten, ';')).
  369. IF ENTRY(8, VDaten, ';') BEGINS 'n' THEN Lag_Buch = FALSE.
  370. ELSE Lag_Buch = TRUE.
  371. VDaten = ''.
  372. FIND Artst WHERE RECID(Artst) = ARecid NO-LOCK NO-ERROR.
  373. F_Geb_Cd-1 = VGGeb_Cd.
  374. F_Geb_Cd-2 = VVGeb_Cd.
  375. F_Geb_Cd-3 = VKGeb_Cd.
  376. F_Menge-1 = VGGeb_Me.
  377. F_Menge-2 = VVGeb_Me.
  378. F_Menge-3 = VKGeb_Me.
  379. T_Lager = Lag_Buch.
  380. F_Bestellt = Artst.Bestellt.
  381. IF T_Lager THEN DO:
  382. F_Bestand = Artst.Bestand + F_Menge-3.
  383. F_Best_Neu = Artst.Bestand - F_Menge-3.
  384. END.
  385. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  386. AND GGebinde.Geb_Cd = VGGeb_Cd NO-LOCK NO-ERROR.
  387. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  388. AND VGebinde.Geb_Cd = VVGeb_Cd NO-LOCK NO-ERROR.
  389. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  390. AND KGebinde.Geb_Cd = VKGeb_Cd NO-LOCK NO-ERROR.
  391. IF AVAILABLE GGebinde THEN F_Geb_Cd-1 = GGebinde.KBez.
  392. IF AVAILABLE VGebinde THEN F_Geb_Cd-2 = VGebinde.KBez.
  393. IF AVAILABLE KGebinde THEN F_Geb_Cd-3 = KGebinde.KBez.
  394. DO WITH FRAME {&FRAME-NAME}:
  395. IF F_Geb_Cd-1 = '' THEN DISABLE F_Menge-1.
  396. IF F_Geb_Cd-2 = '' THEN DISABLE F_Menge-2.
  397. IF F_Geb_Cd-3 = '' THEN DISABLE F_Menge-3.
  398. F_Menge-1:MODIFIED = FALSE.
  399. F_Menge-2:MODIFIED = FALSE.
  400. F_Menge-3:MODIFIED = FALSE.
  401. END.
  402. {src/adm/template/dialogmn.i}
  403. /* _UIB-CODE-BLOCK-END */
  404. &ANALYZE-RESUME
  405. /* ********************** Internal Procedures *********************** */
  406. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects D-Dialog _ADM-CREATE-OBJECTS
  407. PROCEDURE adm-create-objects :
  408. /*------------------------------------------------------------------------------
  409. Purpose: Create handles for all SmartObjects used in this procedure.
  410. After SmartObjects are initialized, then SmartLinks are added.
  411. Parameters: <none>
  412. ------------------------------------------------------------------------------*/
  413. END PROCEDURE.
  414. /* _UIB-CODE-BLOCK-END */
  415. &ANALYZE-RESUME
  416. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available D-Dialog _ADM-ROW-AVAILABLE
  417. PROCEDURE adm-row-available :
  418. /*------------------------------------------------------------------------------
  419. Purpose: Dispatched to this procedure when the Record-
  420. Source has a new row available. This procedure
  421. tries to get the new row (or foriegn keys) from
  422. the Record-Source and process it.
  423. Parameters: <none>
  424. ------------------------------------------------------------------------------*/
  425. /* Define variables needed by this internal procedure. */
  426. {src/adm/template/row-head.i}
  427. /* Process the newly available records (i.e. display fields,
  428. open queries, and/or pass records on to any RECORD-TARGETS). */
  429. {src/adm/template/row-end.i}
  430. END PROCEDURE.
  431. /* _UIB-CODE-BLOCK-END */
  432. &ANALYZE-RESUME
  433. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI D-Dialog _DEFAULT-DISABLE
  434. PROCEDURE disable_UI :
  435. /*------------------------------------------------------------------------------
  436. Purpose: DISABLE the User Interface
  437. Parameters: <none>
  438. Notes: Here we clean-up the user-interface by deleting
  439. dynamic widgets we have created and/or hide
  440. frames. This procedure is usually called when
  441. we are ready to "clean-up" after running.
  442. ------------------------------------------------------------------------------*/
  443. /* Hide all frames. */
  444. HIDE FRAME D-Dialog.
  445. END PROCEDURE.
  446. /* _UIB-CODE-BLOCK-END */
  447. &ANALYZE-RESUME
  448. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI D-Dialog _DEFAULT-ENABLE
  449. PROCEDURE enable_UI :
  450. /*------------------------------------------------------------------------------
  451. Purpose: ENABLE the User Interface
  452. Parameters: <none>
  453. Notes: Here we display/view/enable the widgets in the
  454. user-interface. In addition, OPEN all queries
  455. associated with each FRAME and BROWSE.
  456. These statements here are based on the "Other
  457. Settings" section of the widget Property Sheets.
  458. ------------------------------------------------------------------------------*/
  459. DISPLAY T_Lager F_Geb_Cd-1 F_Menge-1 F_Geb_Cd-2 F_Menge-2 F_Geb_Cd-3 F_Menge-3
  460. WITH FRAME D-Dialog.
  461. ENABLE T_Lager F_Geb_Cd-1 F_Menge-1 F_Geb_Cd-2 F_Menge-2 F_Geb_Cd-3 F_Menge-3
  462. RECT-35
  463. WITH FRAME D-Dialog.
  464. VIEW FRAME D-Dialog.
  465. {&OPEN-BROWSERS-IN-QUERY-D-Dialog}
  466. END PROCEDURE.
  467. /* _UIB-CODE-BLOCK-END */
  468. &ANALYZE-RESUME
  469. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view D-Dialog
  470. PROCEDURE local-view :
  471. /*------------------------------------------------------------------------------
  472. Purpose: Override standard ADM method
  473. Notes:
  474. ------------------------------------------------------------------------------*/
  475. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  476. DO WITH FRAME {&FRAME-NAME}:
  477. DISPLAY {&List-6}.
  478. F_Menge-1:MODIFIED = FALSE.
  479. F_Menge-2:MODIFIED = FALSE.
  480. F_Menge-3:MODIFIED = FALSE.
  481. APPLY 'ENTRY' TO F_Menge-2.
  482. END.
  483. Ja = FALSE.
  484. END PROCEDURE.
  485. /* _UIB-CODE-BLOCK-END */
  486. &ANALYZE-RESUME
  487. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records D-Dialog _ADM-SEND-RECORDS
  488. PROCEDURE send-records :
  489. /*------------------------------------------------------------------------------
  490. Purpose: Send record ROWID's for all tables used by
  491. this file.
  492. Parameters: see template/snd-head.i
  493. ------------------------------------------------------------------------------*/
  494. /* SEND-RECORDS does nothing because there are no External
  495. Tables specified for this SmartDialog, and there are no
  496. tables specified in any contained Browse, Query, or Frame. */
  497. END PROCEDURE.
  498. /* _UIB-CODE-BLOCK-END */
  499. &ANALYZE-RESUME
  500. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed D-Dialog
  501. PROCEDURE state-changed :
  502. /* -----------------------------------------------------------
  503. Purpose:
  504. Parameters: <none>
  505. Notes:
  506. -------------------------------------------------------------*/
  507. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  508. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  509. END PROCEDURE.
  510. /* _UIB-CODE-BLOCK-END */
  511. &ANALYZE-RESUME