f-abhgebko.w 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS F-Frame-Win
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from cntnrfrm.w - ADM SmartFrame Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  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. /* Local Variable Definitions --- */
  27. DEF VAR VAuf_Sta AS INT NO-UNDO.
  28. DEF VAR VFak_Art AS INT NO-UNDO.
  29. DEF VAR VWert AS CHAR NO-UNDO.
  30. DEF VAR AInhalt AS CHAR NO-UNDO.
  31. DEF VAR NInhalt AS CHAR NO-UNDO.
  32. DEF VAR GRecid AS RECID NO-UNDO.
  33. DEF VAR Vorhanden AS LOG NO-UNDO.
  34. DEF VAR VAufnr AS INT NO-UNDO.
  35. DEF VAR VText AS CHAR NO-UNDO.
  36. DEF VAR VBetrag AS DEC DECIMALS 4 NO-UNDO.
  37. DEF VAR MutStatus AS INT NO-UNDO.
  38. DEF BUFFER BAufGebKo FOR AufGebKo.
  39. /* ---------- Globale Variablen ---------------------------------- */
  40. { v8/globvar.i" " " " "SHARED" }
  41. { v8/debivar.i " " " " "SHARED" }
  42. { v8/artivar.i " " " " "SHARED" }
  43. { v8/contvar.i " " " " "SHARED" }
  44. /* _UIB-CODE-BLOCK-END */
  45. &ANALYZE-RESUME
  46. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  47. /* ******************** Preprocessor Definitions ******************** */
  48. &Scoped-define PROCEDURE-TYPE SmartFrame
  49. &Scoped-define DB-AWARE no
  50. &Scoped-define ADM-CONTAINER FRAME
  51. /* Name of first Frame and/or Browse and/or first Query */
  52. &Scoped-define FRAME-NAME F-Main
  53. &Scoped-define BROWSE-NAME Br_AbhGebko
  54. /* Internal Tables (found by Frame, Query & Browse Queries) */
  55. &Scoped-define INTERNAL-TABLES AufGebKo
  56. /* Definitions for BROWSE Br_AbhGebko */
  57. &Scoped-define FIELDS-IN-QUERY-Br_AbhGebko AufGebKo.Menge VText @ VText ~
  58. VBetrag @ VBetrag
  59. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_AbhGebko AufGebKo.Menge
  60. &Scoped-define ENABLED-TABLES-IN-QUERY-Br_AbhGebko AufGebKo
  61. &Scoped-define FIRST-ENABLED-TABLE-IN-QUERY-Br_AbhGebko AufGebKo
  62. &Scoped-define OPEN-QUERY-Br_AbhGebko OPEN QUERY Br_AbhGebko FOR EACH AufGebKo NO-LOCK.
  63. &Scoped-define TABLES-IN-QUERY-Br_AbhGebko AufGebKo
  64. &Scoped-define FIRST-TABLE-IN-QUERY-Br_AbhGebko AufGebKo
  65. /* Definitions for FRAME F-Main */
  66. /* Standard List Definitions */
  67. &Scoped-Define ENABLED-OBJECTS Br_AbhGebko
  68. &Scoped-Define DISPLAYED-OBJECTS F_Feld
  69. /* Custom List Definitions */
  70. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  71. /* _UIB-PREPROCESSOR-BLOCK-END */
  72. &ANALYZE-RESUME
  73. /* *********************** Control Definitions ********************** */
  74. /* Definitions of the field level widgets */
  75. DEFINE VARIABLE F_Feld AS CHARACTER FORMAT "X(256)":U
  76. VIEW-AS FILL-IN NATIVE
  77. SIZE 8.2 BY 1.24
  78. BGCOLOR 15 NO-UNDO.
  79. /* Query definitions */
  80. &ANALYZE-SUSPEND
  81. DEFINE QUERY Br_AbhGebko FOR
  82. AufGebKo SCROLLING.
  83. &ANALYZE-RESUME
  84. /* Browse definitions */
  85. DEFINE BROWSE Br_AbhGebko
  86. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_AbhGebko F-Frame-Win _STRUCTURED
  87. QUERY Br_AbhGebko DISPLAY
  88. AufGebKo.Menge FORMAT "zz,zz9-":U WIDTH 8
  89. VText @ VText COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U
  90. VBetrag @ VBetrag COLUMN-LABEL "Betrag" FORMAT "zzz,zz9.99-":U
  91. WIDTH 16
  92. ENABLE
  93. AufGebKo.Menge
  94. /* _UIB-CODE-BLOCK-END */
  95. &ANALYZE-RESUME
  96. WITH NO-ROW-MARKERS SEPARATORS SIZE 60.4 BY 21.05
  97. BGCOLOR 15 .
  98. /* ************************ Frame Definitions *********************** */
  99. DEFINE FRAME F-Main
  100. Br_AbhGebko AT ROW 1.48 COL 3
  101. F_Feld AT ROW 5.48 COL 18.6 COLON-ALIGNED NO-LABEL
  102. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  103. SIDE-LABELS NO-UNDERLINE THREE-D
  104. AT COL 1 ROW 1
  105. SIZE 64.2 BY 21.95.
  106. /* *********************** Procedure Settings ************************ */
  107. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  108. /* Settings for THIS-PROCEDURE
  109. Type: SmartFrame
  110. Allow: Basic,Browse,DB-Fields,Query,Smart
  111. Design Page: 1
  112. Other Settings: PERSISTENT-ONLY
  113. */
  114. /* This procedure should always be RUN PERSISTENT. Report the error, */
  115. /* then cleanup and return. */
  116. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  117. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  118. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  119. RETURN.
  120. END.
  121. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  122. /* ************************* Create Window ************************** */
  123. &ANALYZE-SUSPEND _CREATE-WINDOW
  124. /* DESIGN Window definition (used by the UIB)
  125. CREATE WINDOW F-Frame-Win ASSIGN
  126. HEIGHT = 21.95
  127. WIDTH = 64.2.
  128. /* END WINDOW DEFINITION */
  129. */
  130. &ANALYZE-RESUME
  131. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB F-Frame-Win
  132. /* ************************* Included-Libraries *********************** */
  133. {src/adm/method/containr.i}
  134. /* _UIB-CODE-BLOCK-END */
  135. &ANALYZE-RESUME
  136. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  137. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  138. /* SETTINGS FOR WINDOW F-Frame-Win
  139. VISIBLE,,RUN-PERSISTENT */
  140. /* SETTINGS FOR FRAME F-Main
  141. NOT-VISIBLE */
  142. /* BROWSE-TAB Br_AbhGebko 1 F-Main */
  143. /* SETTINGS FOR FILL-IN F_Feld IN FRAME F-Main
  144. NO-ENABLE */
  145. ASSIGN
  146. F_Feld:HIDDEN IN FRAME F-Main = TRUE.
  147. /* _RUN-TIME-ATTRIBUTES-END */
  148. &ANALYZE-RESUME
  149. /* Setting information for Queries and Browse Widgets fields */
  150. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_AbhGebko
  151. /* Query rebuild information for BROWSE Br_AbhGebko
  152. _TblList = "AnaDat.AufGebKo"
  153. _FldNameList[1] > AnaDat.AufGebKo.Menge
  154. "Menge" ? ? "decimal" ? ? ? ? ? ? yes ? no no "8" yes no no "U" "" ""
  155. _FldNameList[2] > "_<CALC>"
  156. "VText @ VText" "Bezeichnung" "x(30)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  157. _FldNameList[3] > "_<CALC>"
  158. "VBetrag @ VBetrag" "Betrag" "zzz,zz9.99-" ? ? ? ? ? ? ? no ? no no "16" yes no no "U" "" ""
  159. _Query is NOT OPENED
  160. */ /* BROWSE Br_AbhGebko */
  161. &ANALYZE-RESUME
  162. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  163. /* Query rebuild information for FRAME F-Main
  164. _Options = ""
  165. _Query is NOT OPENED
  166. */ /* FRAME F-Main */
  167. &ANALYZE-RESUME
  168. /* ************************ Control Triggers ************************ */
  169. &Scoped-define SELF-NAME F-Main
  170. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main F-Frame-Win
  171. ON ENTRY OF FRAME F-Main
  172. DO:
  173. IF MutStatus = 0 THEN RETURN.
  174. RUN ABBRECHEN.
  175. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  176. RETURN NO-APPLY.
  177. END.
  178. /* _UIB-CODE-BLOCK-END */
  179. &ANALYZE-RESUME
  180. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main F-Frame-Win
  181. ON LEAVE OF FRAME F-Main
  182. DO:
  183. RUN TASTENANALYSE.
  184. END.
  185. /* _UIB-CODE-BLOCK-END */
  186. &ANALYZE-RESUME
  187. &Scoped-define BROWSE-NAME Br_AbhGebko
  188. &Scoped-define SELF-NAME Br_AbhGebko
  189. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_AbhGebko F-Frame-Win
  190. ON LEAVE OF Br_AbhGebko IN FRAME F-Main
  191. DO:
  192. RUN TASTENANALYSE.
  193. END.
  194. /* _UIB-CODE-BLOCK-END */
  195. &ANALYZE-RESUME
  196. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_AbhGebko F-Frame-Win
  197. ON ROW-DISPLAY OF Br_AbhGebko IN FRAME F-Main
  198. DO:
  199. IF NOT AVAILABLE AufGebKo THEN RETURN.
  200. RUN ANZEIGEN.
  201. IF AufGebKo.Menge <> 0 THEN DO:
  202. AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  203. VText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  204. VBetrag:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  205. END.
  206. ELSE DO:
  207. AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  208. VText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  209. VBetrag:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  210. END.
  211. END.
  212. /* _UIB-CODE-BLOCK-END */
  213. &ANALYZE-RESUME
  214. &Scoped-define SELF-NAME AufGebKo.Menge
  215. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL AufGebKo.Menge Br_AbhGebko _BROWSE-COLUMN F-Frame-Win
  216. ON ANY-KEY OF AufGebKo.Menge IN BROWSE Br_AbhGebko /* Menge */
  217. DO:
  218. MESSAGE KEYFUNCTION(LASTKEY) VIEW-AS ALERT-BOX.
  219. END.
  220. /* _UIB-CODE-BLOCK-END */
  221. &ANALYZE-RESUME
  222. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL AufGebKo.Menge Br_AbhGebko _BROWSE-COLUMN F-Frame-Win
  223. ON END-ERROR OF AufGebKo.Menge IN BROWSE Br_AbhGebko /* Menge */
  224. DO:
  225. IF MutStatus = 0 THEN RETURN.
  226. SELF:SCREEN-VALUE = STRING(AufGebKo.Menge).
  227. RUN ABBRECHEN.
  228. END.
  229. /* _UIB-CODE-BLOCK-END */
  230. &ANALYZE-RESUME
  231. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL AufGebKo.Menge Br_AbhGebko _BROWSE-COLUMN F-Frame-Win
  232. ON LEAVE OF AufGebKo.Menge IN BROWSE Br_AbhGebko /* Menge */
  233. DO:
  234. RUN TASTENANALYSE.
  235. /* IF MutStatus = 0 THEN RETURN.
  236. *
  237. * CASE KEYFUNCTION(LASTKEY):
  238. * WHEN 'RETURN' THEN.
  239. * WHEN 'CURSOR-UP' THEN.
  240. * WHEN 'CURSOR-DOWN' THEN.
  241. * OTHERWISE DO:
  242. * SELF:SCREEN-VALUE = STRING(AufGebKo.Menge).
  243. * RUN ABBRECHEN.
  244. * RETURN NO-APPLY.
  245. * END.
  246. * END CASE.
  247. *
  248. * AInhalt = STRING(AufGebKo.Menge).
  249. * NInhalt = SELF:SCREEN-VALUE.
  250. * RUN MUTIEREN.*/
  251. END.
  252. /* _UIB-CODE-BLOCK-END */
  253. &ANALYZE-RESUME
  254. &UNDEFINE SELF-NAME
  255. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK F-Frame-Win
  256. /* *************************** Main Block *************************** */
  257. GET-KEY-VALUE SECTION 'Abholverkauf'
  258. KEY 'Auftragsstatus'
  259. VALUE VWert.
  260. IF VWert = ? THEN VWert = '9'.
  261. VAuf_Sta = INTEGER(VWert).
  262. GET-KEY-VALUE SECTION 'Abholverkauf'
  263. KEY 'Fakturaart'
  264. VALUE VWert.
  265. IF VWert = ? THEN VWert = '80'.
  266. VFak_Art = INTEGER(VWert).
  267. ON "RETURN":U OF BROWSE Br_AbhGebKo
  268. DO:
  269. IF MutStatus > 0 THEN RETURN.
  270. RUN MUTATION.
  271. END.
  272. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  273. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  274. &ENDIF
  275. /* _UIB-CODE-BLOCK-END */
  276. &ANALYZE-RESUME
  277. /* ********************** Internal Procedures *********************** */
  278. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABBRECHEN F-Frame-Win
  279. PROCEDURE ABBRECHEN :
  280. /*------------------------------------------------------------------------------
  281. Purpose:
  282. Parameters: <none>
  283. Notes:
  284. ------------------------------------------------------------------------------*/
  285. IF MutStatus = 0 THEN RETURN.
  286. DO WITH FRAME {&FRAME-NAME}:
  287. F_Feld:HIDDEN = FALSE.
  288. F_Feld:SENSITIVE = TRUE.
  289. APPLY 'ENTRY' TO F_Feld.
  290. AufGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE.
  291. F_Feld:SENSITIVE = FALSE.
  292. F_Feld:HIDDEN = TRUE.
  293. MutStatus = 0.
  294. RUN new-state ( 'MutEnde, AUFGEBKO':U ).
  295. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  296. END.
  297. END PROCEDURE.
  298. /* _UIB-CODE-BLOCK-END */
  299. &ANALYZE-RESUME
  300. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects F-Frame-Win _ADM-CREATE-OBJECTS
  301. PROCEDURE adm-create-objects :
  302. /*------------------------------------------------------------------------------
  303. Purpose: Create handles for all SmartObjects used in this procedure.
  304. After SmartObjects are initialized, then SmartLinks are added.
  305. Parameters: <none>
  306. ------------------------------------------------------------------------------*/
  307. END PROCEDURE.
  308. /* _UIB-CODE-BLOCK-END */
  309. &ANALYZE-RESUME
  310. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available F-Frame-Win _ADM-ROW-AVAILABLE
  311. PROCEDURE adm-row-available :
  312. /*------------------------------------------------------------------------------
  313. Purpose: Dispatched to this procedure when the Record-
  314. Source has a new row available. This procedure
  315. tries to get the new row (or foriegn keys) from
  316. the Record-Source and process it.
  317. Parameters: <none>
  318. ------------------------------------------------------------------------------*/
  319. /* Define variables needed by this internal procedure. */
  320. {src/adm/template/row-head.i}
  321. /* Process the newly available records (i.e. display fields,
  322. open queries, and/or pass records on to any RECORD-TARGETS). */
  323. {src/adm/template/row-end.i}
  324. END PROCEDURE.
  325. /* _UIB-CODE-BLOCK-END */
  326. &ANALYZE-RESUME
  327. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGEN F-Frame-Win
  328. PROCEDURE ANZEIGEN :
  329. /*------------------------------------------------------------------------------
  330. Purpose:
  331. Parameters: <none>
  332. Notes:
  333. ------------------------------------------------------------------------------*/
  334. VText = ''.
  335. IF AVAILABLE AufGebKo THEN DO:
  336. FIND GebRueck USE-INDEX GebRueck-k1
  337. WHERE GebRueck.Firma = GVFirma
  338. AND GebRueck.Geb_Cd = AufGebKo.Geb_Cd NO-LOCK NO-ERROR.
  339. IF AVAILABLE GebRueck THEN VText = GebRueck.Bez.
  340. ELSE VText = FILL('?', 20).
  341. VBetrag = AufGebKo.Betrag_1 + AufGebKo.Betrag_2 + AufGebKo.Betrag_3.
  342. END.
  343. END PROCEDURE.
  344. /* _UIB-CODE-BLOCK-END */
  345. &ANALYZE-RESUME
  346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CREATE_AUFGEBKO F-Frame-Win
  347. PROCEDURE CREATE_AUFGEBKO :
  348. /*------------------------------------------------------------------------------
  349. Purpose:
  350. Parameters: <none>
  351. Notes:
  352. ------------------------------------------------------------------------------*/
  353. FIND FIRST AufGebKo USE-INDEX AufGebKo-k1
  354. WHERE AufGebKo.Firma = GVFirma
  355. AND AufGebKo.Aufnr = VAufnr NO-LOCK NO-ERROR.
  356. IF NOT AVAILABLE AufGebKo THEN DO:
  357. FOR EACH GebRueck USE-INDEX GebRueck-k1
  358. WHERE GebRueck.Firma = GVFirma NO-LOCK TRANSACTION:
  359. CREATE AufGebKo.
  360. ASSIGN AufGebKo.Firma = GVFirma
  361. AufGebKo.Aufnr = VAufnr
  362. AufGebKo.Sort_Cd = GebRueck.Sort_Cd
  363. AufGebKo.Geb_Cd = GebRueck.Geb_Cd
  364. AufGebKo.Anz_1 = GebRueck.Anz_1
  365. AufGebKo.Kto_Cd1 = GebRueck.Kto_Cd1
  366. AufGebKo.Anz_2 = GebRueck.Anz_2
  367. AufGebKo.Kto_Cd2 = GebRueck.Kto_Cd2
  368. AufGebKo.Anz_3 = GebRueck.Anz_3
  369. AufGebKo.Kto_Cd3 = GebRueck.Kto_Cd3.
  370. IF AufGebKo.Kto_Cd1 <> '' THEN DO:
  371. FIND GebKonto USE-INDEX GebKonto-k1
  372. WHERE GebKonto.Firma = GVFirma
  373. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd1 NO-LOCK.
  374. AufGebKo.Wert_1 = GebKonto.Depot.
  375. END.
  376. IF AufGebKo.Kto_Cd2 <> '' THEN DO:
  377. FIND GebKonto USE-INDEX GebKonto-k1
  378. WHERE GebKonto.Firma = GVFirma
  379. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd2 NO-LOCK.
  380. AufGebKo.Wert_2 = GebKonto.Depot.
  381. END.
  382. IF AufGebKo.Kto_Cd3 <> '' THEN DO:
  383. FIND GebKonto USE-INDEX GebKonto-k1
  384. WHERE GebKonto.Firma = GVFirma
  385. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd3 NO-LOCK.
  386. AufGebKo.Wert_3 = GebKonto.Depot.
  387. END.
  388. END.
  389. END.
  390. END PROCEDURE.
  391. /* _UIB-CODE-BLOCK-END */
  392. &ANALYZE-RESUME
  393. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI F-Frame-Win _DEFAULT-DISABLE
  394. PROCEDURE disable_UI :
  395. /*------------------------------------------------------------------------------
  396. Purpose: DISABLE the User Interface
  397. Parameters: <none>
  398. Notes: Here we clean-up the user-interface by deleting
  399. dynamic widgets we have created and/or hide
  400. frames. This procedure is usually called when
  401. we are ready to "clean-up" after running.
  402. ------------------------------------------------------------------------------*/
  403. /* Hide all frames. */
  404. HIDE FRAME F-Main.
  405. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  406. END PROCEDURE.
  407. /* _UIB-CODE-BLOCK-END */
  408. &ANALYZE-RESUME
  409. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI F-Frame-Win _DEFAULT-ENABLE
  410. PROCEDURE enable_UI :
  411. /*------------------------------------------------------------------------------
  412. Purpose: ENABLE the User Interface
  413. Parameters: <none>
  414. Notes: Here we display/view/enable the widgets in the
  415. user-interface. In addition, OPEN all queries
  416. associated with each FRAME and BROWSE.
  417. These statements here are based on the "Other
  418. Settings" section of the widget Property Sheets.
  419. ------------------------------------------------------------------------------*/
  420. DISPLAY F_Feld
  421. WITH FRAME F-Main.
  422. ENABLE Br_AbhGebko
  423. WITH FRAME F-Main.
  424. {&OPEN-BROWSERS-IN-QUERY-F-Main}
  425. END PROCEDURE.
  426. /* _UIB-CODE-BLOCK-END */
  427. &ANALYZE-RESUME
  428. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_KONTO F-Frame-Win
  429. PROCEDURE GEBINDE_KONTO :
  430. /*------------------------------------------------------------------------------
  431. Purpose:
  432. Parameters: <none>
  433. Notes:
  434. ------------------------------------------------------------------------------*/
  435. DEF VAR MW AS INT.
  436. DEF INPUT PARAMETER Art AS INT.
  437. DO WHILE AufGebKo.Kto_Cd1 <> '':
  438. IF AufGebKo.Anz_1 = 0 THEN LEAVE.
  439. FIND GebKonto USE-INDEX GebKonto-k1
  440. WHERE GebKonto.Firma = GVFirma
  441. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd1 NO-LOCK.
  442. IF GebKonto.MWST_Art = 0 THEN MW = 11.
  443. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd.
  444. IF GebKonto.MWST_Art = 1 THEN DO:
  445. FIND FIRST AufGKon USE-INDEX AufGKon-k1
  446. WHERE AufGKon.Firma = GVFirma
  447. AND AufGKon.Aufnr = AufGebKo.Aufnr
  448. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd NO-LOCK NO-ERROR.
  449. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd.
  450. ELSE MW = 11.
  451. END.
  452. FIND AufGKon USE-INDEX AufGKon-k1
  453. WHERE AufGKon.Firma = GVFirma
  454. AND AufGKon.Aufnr = AufGebKo.Aufnr
  455. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd
  456. AND AufGKon.MWSt_Cd = MW NO-ERROR.
  457. IF NOT AVAILABLE AufGKon THEN DO:
  458. CREATE AufGKon.
  459. ASSIGN AufGKon.Firma = AufGebKo.Firma
  460. AufGKon.Aufnr = AufGebKo.Aufnr
  461. AufGKon.Geb_Cd = GebKonto.Geb_Cd
  462. AufGKon.MWSt_Cd = MW
  463. AufGKon.Gebuehr = GebKonto.Gebuehr
  464. AufGKon.Depot = GebKonto.Depot
  465. AufGKon.Sort_Cd = GebKonto.Sort_Cd.
  466. END.
  467. IF Art = 1 THEN AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_1 * AufGebKo.Menge).
  468. IF Art = 2 THEN AufGKon.Eingang = AufGKon.Eingang - (AufGebKo.Anz_1 * AufGebKo.Menge).
  469. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang)
  470. * (AufGKon.Depot + AufGKon.Gebuehr).
  471. LEAVE.
  472. END.
  473. DO WHILE AufGebKo.Kto_Cd2 <> '':
  474. IF AufGebKo.Anz_2 = 0 THEN LEAVE.
  475. FIND GebKonto USE-INDEX GebKonto-k1
  476. WHERE GebKonto.Firma = GVFirma
  477. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd2 NO-LOCK.
  478. IF GebKonto.MWST_Art = 0 THEN MW = 11.
  479. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd.
  480. IF GebKonto.MWST_Art = 1 THEN DO:
  481. FIND FIRST AufGKon USE-INDEX AufGKon-k1
  482. WHERE AufGKon.Firma = GVFirma
  483. AND AufGKon.Aufnr = AufGebKo.Aufnr
  484. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd NO-LOCK NO-ERROR.
  485. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd.
  486. ELSE MW = 11.
  487. END.
  488. FIND AufGKon USE-INDEX AufGKon-k1
  489. WHERE AufGKon.Firma = GVFirma
  490. AND AufGKon.Aufnr = AufGebKo.Aufnr
  491. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd
  492. AND AufGKon.MWSt_Cd = MW NO-ERROR.
  493. IF NOT AVAILABLE AufGKon THEN DO:
  494. CREATE AufGKon.
  495. ASSIGN AufGKon.Firma = AufGebKo.Firma
  496. AufGKon.Aufnr = AufGebKo.Aufnr
  497. AufGKon.Geb_Cd = GebKonto.Geb_Cd
  498. AufGKon.MWSt_Cd = MW
  499. AufGKon.Gebuehr = GebKonto.Gebuehr
  500. AufGKon.Depot = GebKonto.Depot
  501. AufGKon.Sort_Cd = GebKonto.Sort_Cd.
  502. END.
  503. IF Art = 1 THEN AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_2 * AufGebKo.Menge).
  504. IF Art = 2 THEN AufGKon.Eingang = AufGKon.Eingang - (AufGebKo.Anz_2 * AufGebKo.Menge).
  505. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang)
  506. * (AufGKon.Depot + AufGKon.Gebuehr).
  507. LEAVE.
  508. END.
  509. DO WHILE AufGebKo.Kto_Cd3 <> '':
  510. IF AufGebKo.Anz_3 = 0 THEN LEAVE.
  511. FIND GebKonto USE-INDEX GebKonto-k1
  512. WHERE GebKonto.Firma = GVFirma
  513. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd3 NO-LOCK.
  514. IF GebKonto.MWST_Art = 0 THEN MW = 11.
  515. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd.
  516. IF GebKonto.MWST_Art = 1 THEN DO:
  517. FIND FIRST AufGKon USE-INDEX AufGKon-k1
  518. WHERE AufGKon.Firma = GVFirma
  519. AND AufGKon.Aufnr = AufGebKo.Aufnr
  520. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd NO-LOCK NO-ERROR.
  521. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd.
  522. ELSE MW = 11.
  523. END.
  524. FIND AufGKon USE-INDEX AufGKon-k1
  525. WHERE AufGKon.Firma = GVFirma
  526. AND AufGKon.Aufnr = AufGebKo.Aufnr
  527. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd
  528. AND AufGKon.MWSt_Cd = MW NO-ERROR.
  529. IF NOT AVAILABLE AufGKon THEN DO:
  530. CREATE AufGKon.
  531. ASSIGN AufGKon.Firma = AufGebKo.Firma
  532. AufGKon.Aufnr = AufGebKo.Aufnr
  533. AufGKon.Geb_Cd = GebKonto.Geb_Cd
  534. AufGKon.MWSt_Cd = MW
  535. AufGKon.Gebuehr = GebKonto.Gebuehr
  536. AufGKon.Depot = GebKonto.Depot
  537. AufGKon.Sort_Cd = GebKonto.Sort_Cd.
  538. END.
  539. IF Art = 1 THEN AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_3 * AufGebKo.Menge).
  540. IF Art = 2 THEN AufGKon.Eingang = AufGKon.Eingang - (AufGebKo.Anz_3 * AufGebKo.Menge).
  541. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang)
  542. * (AufGKon.Depot + AufGKon.Gebuehr).
  543. LEAVE.
  544. END.
  545. RETURN.
  546. END PROCEDURE.
  547. /* _UIB-CODE-BLOCK-END */
  548. &ANALYZE-RESUME
  549. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view F-Frame-Win
  550. PROCEDURE local-view :
  551. /*------------------------------------------------------------------------------
  552. Purpose: Override standard ADM method
  553. Notes:
  554. ------------------------------------------------------------------------------*/
  555. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  556. DO WITH FRAME {&FRAME-NAME}:
  557. F_Feld:SENSITIVE = TRUE.
  558. APPLY 'ENTRY' TO F_Feld.
  559. AufGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE.
  560. F_Feld:SENSITIVE = FALSE.
  561. F_Feld:HIDDEN = TRUE.
  562. END.
  563. END PROCEDURE.
  564. /* _UIB-CODE-BLOCK-END */
  565. &ANALYZE-RESUME
  566. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MUTATION F-Frame-Win
  567. PROCEDURE MUTATION :
  568. /*------------------------------------------------------------------------------
  569. Purpose:
  570. Parameters: <none>
  571. Notes:
  572. ------------------------------------------------------------------------------*/
  573. DO WITH FRAME {&FRAME-NAME}:
  574. F_Feld:HIDDEN = FALSE.
  575. F_Feld:SENSITIVE = TRUE.
  576. APPLY 'ENTRY' TO F_Feld.
  577. AufGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = FALSE.
  578. F_Feld:SENSITIVE = FALSE.
  579. F_Feld:HIDDEN = TRUE.
  580. MutStatus = 2.
  581. RUN new-state ( 'Mutation, AUFGEBKO':U ).
  582. RUN dispatch IN THIS-PROCEDURE ('apply-entry':U).
  583. END.
  584. END PROCEDURE.
  585. /* _UIB-CODE-BLOCK-END */
  586. &ANALYZE-RESUME
  587. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MUTIEREN F-Frame-Win
  588. PROCEDURE MUTIEREN :
  589. /*------------------------------------------------------------------------------
  590. Purpose:
  591. Parameters: <none>
  592. Notes:
  593. ------------------------------------------------------------------------------*/
  594. END PROCEDURE.
  595. /* _UIB-CODE-BLOCK-END */
  596. &ANALYZE-RESUME
  597. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_AUFGEBKO F-Frame-Win
  598. PROCEDURE OPEN_AUFGEBKO :
  599. /*------------------------------------------------------------------------------
  600. Purpose:
  601. Parameters: <none>
  602. Notes:
  603. ------------------------------------------------------------------------------*/
  604. IF NUM-RESULTS('Br_AbhGebko') <> ? THEN CLOSE QUERY Br_AbhGebko.
  605. OPEN QUERY Br_AbhGebko
  606. FOR EACH AufGebKo USE-INDEX AufGebKo-k1
  607. WHERE AufGebKo.Firma = GVFirma
  608. AND AufGebKo.Aufnr = VAufnr NO-LOCK.
  609. IF NUM-RESULTS('Br_AbhGebKo') > 0 THEN Vorhanden = TRUE.
  610. ELSE Vorhanden = FALSE.
  611. END PROCEDURE.
  612. /* _UIB-CODE-BLOCK-END */
  613. &ANALYZE-RESUME
  614. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_GEBINDE F-Frame-Win
  615. PROCEDURE OPEN_GEBINDE :
  616. /*------------------------------------------------------------------------------
  617. Purpose:
  618. Parameters: <none>
  619. Notes:
  620. ------------------------------------------------------------------------------*/
  621. DEF INPUT PARAMETER XAufnr AS INT NO-UNDO.
  622. VAufnr = XAufnr.
  623. FIND Aufko USE-INDEX Aufko-k1
  624. WHERE Aufko.Firma = GVFirma
  625. AND Aufko.Aufnr = VAufnr
  626. AND Aufko.Auf_Sta = VAuf_Sta
  627. AND Aufko.Fak_Art = VFak_Art NO-LOCK NO-ERROR.
  628. IF NOT AVAILABLE Aufko THEN DO:
  629. RUN new-state ( INPUT 'GeheZuSeite_1, AUFGEBKO':U ).
  630. RETURN NO-APPLY.
  631. END.
  632. FIND FIRST AufGebKo USE-INDEX AufGebKo-k1
  633. WHERE AufGebKo.Firma = GVFirma
  634. AND AufGebKo.Aufnr = VAufnr NO-LOCK NO-ERROR.
  635. IF NOT AVAILABLE AufGebKo THEN RUN CREATE_AUFGEBKO.
  636. RUN OPEN_AUFGEBKO.
  637. END PROCEDURE.
  638. /* _UIB-CODE-BLOCK-END */
  639. &ANALYZE-RESUME
  640. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records F-Frame-Win _ADM-SEND-RECORDS
  641. PROCEDURE send-records :
  642. /*------------------------------------------------------------------------------
  643. Purpose: Send record ROWID's for all tables used by
  644. this file.
  645. Parameters: see template/snd-head.i
  646. ------------------------------------------------------------------------------*/
  647. /* Define variables needed by this internal procedure. */
  648. {src/adm/template/snd-head.i}
  649. /* For each requested table, put it's ROWID in the output list. */
  650. {src/adm/template/snd-list.i "AufGebKo"}
  651. /* Deal with any unexpected table requests before closing. */
  652. {src/adm/template/snd-end.i}
  653. END PROCEDURE.
  654. /* _UIB-CODE-BLOCK-END */
  655. &ANALYZE-RESUME
  656. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed F-Frame-Win
  657. PROCEDURE state-changed :
  658. /* -----------------------------------------------------------
  659. Purpose:
  660. Parameters: <none>
  661. Notes:
  662. -------------------------------------------------------------*/
  663. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  664. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  665. END PROCEDURE.
  666. /* _UIB-CODE-BLOCK-END */
  667. &ANALYZE-RESUME
  668. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TASTENANALYSE F-Frame-Win
  669. PROCEDURE TASTENANALYSE :
  670. /*------------------------------------------------------------------------------
  671. Purpose:
  672. Parameters: <none>
  673. Notes:
  674. ------------------------------------------------------------------------------*/
  675. IF MutStatus = 0 THEN RETURN.
  676. DEF VAR EHandle AS HANDLE NO-UNDO.
  677. EHandle = LAST-EVENT:WIDGET-ENTER.
  678. IF VALID-HANDLE(EHandle) THEN DO:
  679. IF EHandle:TYPE = 'FILL-IN' THEN RETURN.
  680. END.
  681. AufGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(AufGebKo.Menge).
  682. RUN ABBRECHEN.
  683. END PROCEDURE.
  684. /* _UIB-CODE-BLOCK-END */
  685. &ANALYZE-RESUME