f-savgebko.w 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. */
  5. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  6. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS fFrameWin
  7. /*------------------------------------------------------------------------
  8. File:
  9. Description: from cntnrfrm.w - ADM2 SmartFrame Template
  10. Input Parameters:
  11. <none>
  12. Output Parameters:
  13. <none>
  14. ------------------------------------------------------------------------*/
  15. /* This .W file was created with the Progress AppBuilder. */
  16. /*----------------------------------------------------------------------*/
  17. /* Create an unnamed pool to store all the widgets created
  18. by this procedure. This is a good default which assures
  19. that this procedure's triggers and internal procedures
  20. will execute in this procedure's storage, and that proper
  21. cleanup will occur on deletion of the procedure. */
  22. CREATE WIDGET-POOL.
  23. /* *************************** Definitions ************************** */
  24. /* Parameters Definitions --- */
  25. /* Local Variable Definitions --- */
  26. DEFINE VARIABLE Bez AS CHARACTER FORMAT "x(30)" NO-UNDO.
  27. DEFINE VARIABLE GeTot AS DECIMAL FORMAT "zzz9.999-" DECIMALS 4 NO-UNDO.
  28. DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
  29. DEFINE VARIABLE AdFirma AS CHARACTER NO-UNDO.
  30. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  31. DEFINE VARIABLE xTotal AS CHARACTER NO-UNDO.
  32. DEFINE VARIABLE VTotal AS DECIMAL DECIMALS 4 EXTENT 15 NO-UNDO.
  33. DEFINE VARIABLE SAktiv AS LOG NO-UNDO.
  34. DEFINE VARIABLE lView AS LOG INIT FALSE NO-UNDO.
  35. DEFINE VARIABLE xRecid AS RECID NO-UNDO.
  36. DEFINE VARIABLE ARecid AS RECID NO-UNDO.
  37. DEFINE VARIABLE LHandle AS HANDLE NO-UNDO.
  38. DEFINE VARIABLE wHandle AS HANDLE NO-UNDO.
  39. DEFINE VARIABLE Menge AS DECIMAL DECIMALS 4 NO-UNDO.
  40. DEFINE VARIABLE LKY AS INTEGER NO-UNDO.
  41. DEFINE VARIABLE FBez AS LOG INIT FALSE NO-UNDO.
  42. DEFINE VARIABLE cKonto AS CHARACTER NO-UNDO.
  43. DEFINE VARIABLE iLager AS INTEGER NO-UNDO.
  44. DEFINE VARIABLE fOpen AS LOG INIT TRUE NO-UNDO.
  45. DEFINE VARIABLE Progname AS CHARACTER NO-UNDO.
  46. DEFINE VARIABLE lMut AS LOG NO-UNDO.
  47. DEFINE VARIABLE hKontainer AS HANDLE NO-UNDO.
  48. DEFINE VARIABLE hQuery AS HANDLE NO-UNDO.
  49. DEFINE VARIABLE FMutFlag AS LOGICAL NO-UNDO.
  50. DEFINE TEMP-TABLE tGebRueck LIKE GebRueck.
  51. DEFINE TEMP-TABLE tGebKonto LIKE GebKonto.
  52. DEFINE TEMP-TABLE tGebinde
  53. FIELD Sort_Cd AS CHARACTER
  54. FIELD Geb_Cd AS CHARACTER
  55. FIELD cBez AS CHARACTER
  56. FIELD iAusgang AS INTEGER
  57. FIELD iEingang AS INTEGER
  58. FIELD nPreis AS DECIMAL DECIMALS 3
  59. FIELD nBetrAus AS DECIMAL
  60. FIELD nBetrEin AS DECIMAL
  61. FIELD iSaldo AS INTEGER
  62. FIELD nBetrag AS DECIMAL
  63. INDEX tGebinde-k1 IS PRIMARY
  64. Sort_Cd
  65. Geb_Cd
  66. .
  67. DEFINE VARIABLE htGebinde AS HANDLE NO-UNDO.
  68. htGebinde = TEMP-TABLE tGebinde:DEFAULT-BUFFER-HANDLE.
  69. /* _UIB-CODE-BLOCK-END */
  70. &ANALYZE-RESUME
  71. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  72. /* ******************** Preprocessor Definitions ******************** */
  73. &Scoped-define PROCEDURE-TYPE SmartFrame
  74. &Scoped-define DB-AWARE no
  75. &Scoped-define ADM-CONTAINER FRAME
  76. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  77. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  78. &Scoped-define FRAME-NAME fMain
  79. &Scoped-define BROWSE-NAME Br_Gebinde
  80. /* Internal Tables (found by Frame, Query & Browse Queries) */
  81. &Scoped-define INTERNAL-TABLES tGebinde
  82. /* Definitions for BROWSE Br_Gebinde */
  83. &Scoped-define FIELDS-IN-QUERY-Br_Gebinde cBez iAusgang iEingang iSaldo nPreis nBetrag
  84. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Gebinde
  85. &Scoped-define SELF-NAME Br_Gebinde
  86. &Scoped-define QUERY-STRING-Br_Gebinde FOR EACH tGebinde
  87. &Scoped-define OPEN-QUERY-Br_Gebinde OPEN QUERY {&SELF-NAME} FOR EACH tGebinde.
  88. &Scoped-define TABLES-IN-QUERY-Br_Gebinde tGebinde
  89. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Gebinde tGebinde
  90. /* Definitions for FRAME fMain */
  91. /* Standard List Definitions */
  92. &Scoped-Define ENABLED-OBJECTS Br_Gebinde F_Kunde F_Zahbetr F_ZahSko F_WW ~
  93. F_Gebinde F_Recycling F_MWST F_Total F_Skonto F_Netto F_Saldo F_Bezahlt ~
  94. F_Skonto_Bez RECT-39
  95. &Scoped-Define DISPLAYED-OBJECTS F_Kunde E_Adresse F_Zahbetr F_ZahSko ~
  96. CB_ZAHLART F_WW F_Gebinde F_Recycling F_MWST F_Total F_Skonto F_Netto ~
  97. F_Saldo F_Bezahlt F_Skonto_Bez
  98. /* Custom List Definitions */
  99. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  100. &Scoped-define List-6 F_Kunde E_Adresse F_Zahbetr F_ZahSko F_WW F_Gebinde ~
  101. F_Recycling F_MWST F_Total F_Skonto F_Netto F_Saldo F_Bezahlt F_Skonto_Bez
  102. /* _UIB-PREPROCESSOR-BLOCK-END */
  103. &ANALYZE-RESUME
  104. /* ************************ Function Prototypes ********************** */
  105. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getBez fFrameWin
  106. FUNCTION getBez RETURNS CHARACTER
  107. ( ipGeb_Cd AS CHARACTER ) FORWARD.
  108. /* _UIB-CODE-BLOCK-END */
  109. &ANALYZE-RESUME
  110. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getTotalBetr fFrameWin
  111. FUNCTION getTotalBetr RETURNS DECIMAL
  112. ( Betr_1 AS DECIMAL, Betr_2 AS DECIMAL, Betr_3 AS DECIMAL ) FORWARD.
  113. /* _UIB-CODE-BLOCK-END */
  114. &ANALYZE-RESUME
  115. /* *********************** Control Definitions ********************** */
  116. /* Definitions of the field level widgets */
  117. DEFINE VARIABLE CB_ZAHLART AS CHARACTER FORMAT "X(256)":U
  118. LABEL "Zahlungsart"
  119. VIEW-AS COMBO-BOX INNER-LINES 5
  120. LIST-ITEM-PAIRS "Item 1","Item 1"
  121. DROP-DOWN-LIST
  122. SIZE 36 BY 1
  123. BGCOLOR 15 NO-UNDO.
  124. DEFINE VARIABLE E_Adresse AS CHARACTER
  125. VIEW-AS EDITOR NO-WORD-WRAP SCROLLBAR-HORIZONTAL SCROLLBAR-VERTICAL
  126. SIZE 50 BY 7
  127. BGCOLOR 15 NO-UNDO.
  128. DEFINE VARIABLE F_Bezahlt AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  129. LABEL "Bezahlt"
  130. VIEW-AS FILL-IN NATIVE
  131. SIZE 18 BY 1
  132. BGCOLOR 14 NO-UNDO.
  133. DEFINE VARIABLE F_Gebinde AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0
  134. LABEL "Gebinde"
  135. VIEW-AS FILL-IN NATIVE
  136. SIZE 18 BY 1
  137. BGCOLOR 15 NO-UNDO.
  138. DEFINE VARIABLE F_Kunde AS CHARACTER FORMAT "X(256)":U
  139. VIEW-AS FILL-IN NATIVE
  140. SIZE 141.2 BY 1
  141. BGCOLOR 15 FONT 6 NO-UNDO.
  142. DEFINE VARIABLE F_MWST AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0
  143. LABEL "Mehrwertst."
  144. VIEW-AS FILL-IN NATIVE
  145. SIZE 18 BY 1
  146. BGCOLOR 15 NO-UNDO.
  147. DEFINE VARIABLE F_Netto AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  148. LABEL "Nettobetrag"
  149. VIEW-AS FILL-IN NATIVE
  150. SIZE 18 BY 1
  151. BGCOLOR 15 NO-UNDO.
  152. DEFINE VARIABLE F_Recycling AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0
  153. LABEL "Gebühren"
  154. VIEW-AS FILL-IN NATIVE
  155. SIZE 18 BY 1
  156. BGCOLOR 15 NO-UNDO.
  157. DEFINE VARIABLE F_Saldo AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  158. LABEL "Saldo"
  159. VIEW-AS FILL-IN NATIVE
  160. SIZE 18 BY 1
  161. BGCOLOR 14 NO-UNDO.
  162. DEFINE VARIABLE F_Skonto AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  163. LABEL "Skonto"
  164. VIEW-AS FILL-IN NATIVE
  165. SIZE 18 BY 1
  166. BGCOLOR 15 NO-UNDO.
  167. DEFINE VARIABLE F_Skonto_Bez AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  168. LABEL "Skontoabzug"
  169. VIEW-AS FILL-IN NATIVE
  170. SIZE 17 BY 1
  171. BGCOLOR 14 NO-UNDO.
  172. DEFINE VARIABLE F_Total AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  173. LABEL "Totalbetrag"
  174. VIEW-AS FILL-IN NATIVE
  175. SIZE 18 BY 1
  176. BGCOLOR 8 NO-UNDO.
  177. DEFINE VARIABLE F_WW AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0
  178. LABEL "Warenwert"
  179. VIEW-AS FILL-IN NATIVE
  180. SIZE 18 BY 1
  181. BGCOLOR 15 NO-UNDO.
  182. DEFINE VARIABLE F_Zahbetr AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  183. LABEL "Zahlbetrag"
  184. VIEW-AS FILL-IN NATIVE
  185. SIZE 18 BY 1
  186. BGCOLOR 15 FGCOLOR 12 NO-UNDO.
  187. DEFINE VARIABLE F_ZahSko AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  188. LABEL "Skonto"
  189. VIEW-AS FILL-IN NATIVE
  190. SIZE 17 BY 1
  191. BGCOLOR 15 FGCOLOR 12 NO-UNDO.
  192. DEFINE RECTANGLE RECT-39
  193. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  194. SIZE 146 BY 25.95.
  195. /* Query definitions */
  196. &ANALYZE-SUSPEND
  197. DEFINE QUERY Br_Gebinde FOR
  198. tGebinde SCROLLING.
  199. &ANALYZE-RESUME
  200. /* Browse definitions */
  201. DEFINE BROWSE Br_Gebinde
  202. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Gebinde fFrameWin _FREEFORM
  203. QUERY Br_Gebinde DISPLAY
  204. cBez LABEL 'Gebinde' FORMAT 'x(15)'
  205. iAusgang LABEL 'Gel' FORMAT 'zzz9-'
  206. iEingang LABEL 'Retour' FORMAT 'zzz9-'
  207. iSaldo LABEL 'Saldo' FORMAT 'zzz9-'
  208. nPreis LABEL 'Preis' FORMAT 'zz9.99'
  209. nBetrag LABEL 'Preis' FORMAT 'z,zz9.99-'
  210. /* _UIB-CODE-BLOCK-END */
  211. &ANALYZE-RESUME
  212. WITH NO-ROW-MARKERS SEPARATORS SIZE 57.2 BY 20.
  213. /* ************************ Frame Definitions *********************** */
  214. DEFINE FRAME fMain
  215. Br_Gebinde AT ROW 3 COL 5 WIDGET-ID 100
  216. F_Kunde AT ROW 1.52 COL 3 COLON-ALIGNED NO-LABEL WIDGET-ID 4 NO-TAB-STOP
  217. E_Adresse AT ROW 3 COL 80 NO-LABEL WIDGET-ID 2 NO-TAB-STOP
  218. F_Zahbetr AT ROW 19.14 COL 78 COLON-ALIGNED
  219. F_ZahSko AT ROW 19.14 COL 112 COLON-ALIGNED
  220. CB_ZAHLART AT ROW 21.52 COL 94 COLON-ALIGNED NO-TAB-STOP
  221. F_WW AT ROW 11.14 COL 78 COLON-ALIGNED NO-TAB-STOP
  222. F_Gebinde AT ROW 12.14 COL 78 COLON-ALIGNED NO-TAB-STOP
  223. F_Recycling AT ROW 13.14 COL 78 COLON-ALIGNED NO-TAB-STOP
  224. F_MWST AT ROW 14.14 COL 78 COLON-ALIGNED NO-TAB-STOP
  225. F_Total AT ROW 15.14 COL 78 COLON-ALIGNED NO-TAB-STOP
  226. F_Skonto AT ROW 16.14 COL 78 COLON-ALIGNED NO-TAB-STOP
  227. F_Netto AT ROW 17.14 COL 78 COLON-ALIGNED NO-TAB-STOP
  228. F_Saldo AT ROW 18.14 COL 78 COLON-ALIGNED NO-TAB-STOP
  229. F_Bezahlt AT ROW 20.14 COL 78 COLON-ALIGNED NO-TAB-STOP
  230. F_Skonto_Bez AT ROW 20.14 COL 112 COLON-ALIGNED NO-TAB-STOP
  231. RECT-39 AT ROW 1.24 COL 2
  232. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  233. SIDE-LABELS NO-UNDERLINE THREE-D
  234. AT COL 1 ROW 1
  235. SIZE 148.6 BY 26.48.
  236. /* *********************** Procedure Settings ************************ */
  237. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  238. /* Settings for THIS-PROCEDURE
  239. Type: SmartFrame
  240. Allow: Basic,Browse,DB-Fields,Query,Smart
  241. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  242. Other Settings: PERSISTENT-ONLY COMPILE
  243. */
  244. /* This procedure should always be RUN PERSISTENT. Report the error, */
  245. /* then cleanup and return. */
  246. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  247. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  248. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  249. RETURN.
  250. END.
  251. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  252. /* ************************* Create Window ************************** */
  253. &ANALYZE-SUSPEND _CREATE-WINDOW
  254. /* DESIGN Window definition (used by the UIB)
  255. CREATE WINDOW fFrameWin ASSIGN
  256. HEIGHT = 26.48
  257. WIDTH = 148.6.
  258. /* END WINDOW DEFINITION */
  259. */
  260. &ANALYZE-RESUME
  261. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB fFrameWin
  262. /* ************************* Included-Libraries *********************** */
  263. {src/adm2/containr.i}
  264. /* _UIB-CODE-BLOCK-END */
  265. &ANALYZE-RESUME
  266. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  267. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  268. /* SETTINGS FOR WINDOW fFrameWin
  269. VISIBLE,,RUN-PERSISTENT */
  270. /* SETTINGS FOR FRAME fMain
  271. NOT-VISIBLE FRAME-NAME Custom */
  272. /* BROWSE-TAB Br_Gebinde 1 fMain */
  273. ASSIGN
  274. FRAME fMain:HIDDEN = TRUE.
  275. /* SETTINGS FOR COMBO-BOX CB_ZAHLART IN FRAME fMain
  276. NO-ENABLE */
  277. /* SETTINGS FOR EDITOR E_Adresse IN FRAME fMain
  278. NO-ENABLE 6 */
  279. ASSIGN
  280. E_Adresse:RETURN-INSERTED IN FRAME fMain = TRUE
  281. E_Adresse:READ-ONLY IN FRAME fMain = TRUE.
  282. /* SETTINGS FOR FILL-IN F_Bezahlt IN FRAME fMain
  283. 6 */
  284. ASSIGN
  285. F_Bezahlt:READ-ONLY IN FRAME fMain = TRUE.
  286. /* SETTINGS FOR FILL-IN F_Gebinde IN FRAME fMain
  287. 6 */
  288. ASSIGN
  289. F_Gebinde:READ-ONLY IN FRAME fMain = TRUE.
  290. /* SETTINGS FOR FILL-IN F_Kunde IN FRAME fMain
  291. 6 */
  292. ASSIGN
  293. F_Kunde:READ-ONLY IN FRAME fMain = TRUE.
  294. /* SETTINGS FOR FILL-IN F_MWST IN FRAME fMain
  295. 6 */
  296. ASSIGN
  297. F_MWST:READ-ONLY IN FRAME fMain = TRUE.
  298. /* SETTINGS FOR FILL-IN F_Netto IN FRAME fMain
  299. 6 */
  300. ASSIGN
  301. F_Netto:READ-ONLY IN FRAME fMain = TRUE.
  302. /* SETTINGS FOR FILL-IN F_Recycling IN FRAME fMain
  303. 6 */
  304. ASSIGN
  305. F_Recycling:READ-ONLY IN FRAME fMain = TRUE.
  306. /* SETTINGS FOR FILL-IN F_Saldo IN FRAME fMain
  307. 6 */
  308. ASSIGN
  309. F_Saldo:READ-ONLY IN FRAME fMain = TRUE.
  310. /* SETTINGS FOR FILL-IN F_Skonto IN FRAME fMain
  311. 6 */
  312. ASSIGN
  313. F_Skonto:READ-ONLY IN FRAME fMain = TRUE.
  314. /* SETTINGS FOR FILL-IN F_Skonto_Bez IN FRAME fMain
  315. 6 */
  316. ASSIGN
  317. F_Skonto_Bez:READ-ONLY IN FRAME fMain = TRUE.
  318. /* SETTINGS FOR FILL-IN F_Total IN FRAME fMain
  319. 6 */
  320. ASSIGN
  321. F_Total:READ-ONLY IN FRAME fMain = TRUE.
  322. /* SETTINGS FOR FILL-IN F_WW IN FRAME fMain
  323. 6 */
  324. ASSIGN
  325. F_WW:READ-ONLY IN FRAME fMain = TRUE.
  326. /* SETTINGS FOR FILL-IN F_Zahbetr IN FRAME fMain
  327. 6 */
  328. ASSIGN
  329. F_Zahbetr:READ-ONLY IN FRAME fMain = TRUE.
  330. /* SETTINGS FOR FILL-IN F_ZahSko IN FRAME fMain
  331. 6 */
  332. ASSIGN
  333. F_ZahSko:READ-ONLY IN FRAME fMain = TRUE.
  334. /* _RUN-TIME-ATTRIBUTES-END */
  335. &ANALYZE-RESUME
  336. /* Setting information for Queries and Browse Widgets fields */
  337. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Gebinde
  338. /* Query rebuild information for BROWSE Br_Gebinde
  339. _START_FREEFORM
  340. OPEN QUERY {&SELF-NAME} FOR EACH tGebinde.
  341. _END_FREEFORM
  342. _Query is NOT OPENED
  343. */ /* BROWSE Br_Gebinde */
  344. &ANALYZE-RESUME
  345. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME fMain
  346. /* Query rebuild information for FRAME fMain
  347. _Options = ""
  348. _Query is NOT OPENED
  349. */ /* FRAME fMain */
  350. &ANALYZE-RESUME
  351. /* ************************ Control Triggers ************************ */
  352. &Scoped-define SELF-NAME CB_ZAHLART
  353. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_ZAHLART fFrameWin
  354. ON RETURN OF CB_ZAHLART IN FRAME fMain /* Zahlungsart */
  355. DO:
  356. APPLY 'TAB' TO SELF.
  357. RETURN NO-APPLY.
  358. END.
  359. /* _UIB-CODE-BLOCK-END */
  360. &ANALYZE-RESUME
  361. &Scoped-define SELF-NAME F_Zahbetr
  362. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zahbetr fFrameWin
  363. ON RETURN OF F_Zahbetr IN FRAME fMain /* Zahlbetrag */
  364. DO:
  365. APPLY 'TAB' TO SELF.
  366. RETURN NO-APPLY.
  367. END.
  368. /* _UIB-CODE-BLOCK-END */
  369. &ANALYZE-RESUME
  370. &Scoped-define SELF-NAME F_ZahSko
  371. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_ZahSko fFrameWin
  372. ON RETURN OF F_ZahSko IN FRAME fMain /* Skonto */
  373. DO:
  374. APPLY 'TAB' TO SELF.
  375. RETURN NO-APPLY.
  376. END.
  377. /* _UIB-CODE-BLOCK-END */
  378. &ANALYZE-RESUME
  379. &Scoped-define BROWSE-NAME Br_Gebinde
  380. &UNDEFINE SELF-NAME
  381. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK fFrameWin
  382. /* *************************** Main Block *************************** */
  383. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  384. Firma = DYNAMIC-FUNCTION('getMandant':U) NO-ERROR.
  385. fOpen = FALSE.
  386. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  387. /* Now enable the interface if in test mode - otherwise this happens when
  388. the object is explicitly initialized from its container. */
  389. RUN initializeObject.
  390. &ENDIF
  391. /* _UIB-CODE-BLOCK-END */
  392. &ANALYZE-RESUME
  393. /* ********************** Internal Procedures *********************** */
  394. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects fFrameWin _ADM-CREATE-OBJECTS
  395. PROCEDURE adm-create-objects :
  396. /*------------------------------------------------------------------------------
  397. Purpose: Create handles for all SmartObjects used in this procedure.
  398. After SmartObjects are initialized, then SmartLinks are added.
  399. Parameters: <none>
  400. ------------------------------------------------------------------------------*/
  401. END PROCEDURE.
  402. /* _UIB-CODE-BLOCK-END */
  403. &ANALYZE-RESUME
  404. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DETAILS fFrameWin
  405. PROCEDURE DETAILS :
  406. /*------------------------------------------------------------------------------
  407. Purpose:
  408. Parameters: <none>
  409. Notes:
  410. ------------------------------------------------------------------------------*/
  411. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  412. DEFINE VARIABLE VKonto AS CHARACTER NO-UNDO.
  413. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  414. DEFINE BUFFER bSavko FOR savko .
  415. DEFINE BUFFER bSavGebKo FOR SavGebKo.
  416. DEFINE BUFFER bGebKonto FOR GebKonto.
  417. DEFINE BUFFER bAdresse FOR Adresse .
  418. DEFINE BUFFER bSteuer FOR Steuer .
  419. FIND bSteuer NO-LOCK
  420. WHERE bSteuer.Firma = Firma.
  421. AdFirma = bSteuer.AdFirma.
  422. ASSIGN
  423. E_Adresse = ''
  424. F_Bezahlt = 0.00
  425. F_Kunde = ''
  426. F_MWST = 0.00
  427. F_Netto = 0.00
  428. F_Recycling = 0.00
  429. F_Saldo = 0.00
  430. F_Skonto = 0.00
  431. F_Total = 0.00
  432. F_WW = 0.00
  433. F_Zahbetr = 0.00
  434. F_ZahSko = 0.00
  435. F_Gebinde = 0.00.
  436. FIND bSavko NO-LOCK
  437. WHERE bSavko.Firma = Firma
  438. AND bSavko.Aufnr = iAufnr NO-ERROR.
  439. iAufnr = bSavko.Aufnr.
  440. iLager = bSavko.Lager.
  441. ARecid = RECID(bSavko).
  442. DO WITH FRAME {&FRAME-NAME}:
  443. VTotal = 0.
  444. cString = DYNAMIC-FUNCTION('getVerbuchtTotale':U, Firma, iAufnr, OUTPUT VTotal ) NO-ERROR.
  445. F_WW = VTotal[01].
  446. F_Gebinde = VTotal[11].
  447. F_Recycling = VTotal[12].
  448. F_MWST = VTotal[09].
  449. F_Total = VTotal[10].
  450. F_Skonto = 0.
  451. F_ZahBetr = 0.
  452. F_ZahSko = 0.
  453. VKonto = ''.
  454. IF VKonto = '' THEN VKonto = cKonto.
  455. F_Bezahlt = bSavko.Bar_Betr.
  456. F_Skonto_Bez = bSavko.Bar_Skonto.
  457. VKonto = bSavko.Bar_Konto.
  458. FIND bAdresse NO-LOCK
  459. WHERE bAdresse.Firma = AdFirma
  460. AND bAdresse.Knr = bSavko.Knr.
  461. DO ix = 11 TO 5 BY -1:
  462. E_Adresse = bADresse.Anschrift[ix]
  463. + (IF E_Adresse = '' THEN '' ELSE CHR(10))
  464. + E_Adresse.
  465. END.
  466. F_Kunde = STRING(bAdresse.Knr,'999999') + ' / ' + bAdresse.Anzeig_Br.
  467. E_Adresse = CHR(10)
  468. + SUBSTITUTE('Knr.: &1 / iAufnr.: &2', bSavko.Knr, bSavko.Aufnr)
  469. + E_Adresse.
  470. CB_Zahlart:SCREEN-VALUE = VKonto NO-ERROR.
  471. F_Netto = F_Total - F_Skonto.
  472. F_Saldo = F_Total - F_Bezahlt - F_Skonto.
  473. RELEASE bAdresse.
  474. RELEASE bSavko.
  475. DISPLAY {&List-6}.
  476. END.
  477. END PROCEDURE.
  478. /* _UIB-CODE-BLOCK-END */
  479. &ANALYZE-RESUME
  480. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI fFrameWin _DEFAULT-DISABLE
  481. PROCEDURE disable_UI :
  482. /*------------------------------------------------------------------------------
  483. Purpose: DISABLE the User Interface
  484. Parameters: <none>
  485. Notes: Here we clean-up the user-interface by deleting
  486. dynamic widgets we have created and/or hide
  487. frames. This procedure is usually called when
  488. we are ready to "clean-up" after running.
  489. ------------------------------------------------------------------------------*/
  490. /* Hide all frames. */
  491. HIDE FRAME fMain.
  492. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  493. END PROCEDURE.
  494. /* _UIB-CODE-BLOCK-END */
  495. &ANALYZE-RESUME
  496. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject fFrameWin
  497. PROCEDURE enableObject :
  498. /*------------------------------------------------------------------------------
  499. Purpose: Super Override
  500. Parameters:
  501. Notes:
  502. ------------------------------------------------------------------------------*/
  503. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  504. DEFINE VARIABLE cKey AS CHARACTER NO-UNDO.
  505. DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO.
  506. RUN SUPER.
  507. DO WITH FRAME {&FRAME-NAME}:
  508. /* SavGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE.*/
  509. /* {&BROWSE-NAME}:READ-ONLY = TRUE. */
  510. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  511. END.
  512. IF sAktiv THEN
  513. DO:
  514. RUN COMBO_ZAHLUNGSART ( CB_Zahlart:HANDLE ) NO-ERROR.
  515. CREATE QUERY hQuery.
  516. hQuery:SET-BUFFERS ( htGebinde ).
  517. BROWSE {&BROWSE-NAME}:QUERY = hQuery.
  518. END.
  519. EMPTY TEMP-TABLE tGebRueck.
  520. FOR EACH GebRueck WHERE GebRueck.Firma = Firma NO-LOCK:
  521. CREATE tGebRueck.
  522. BUFFER-COPY GebRueck TO tGebRueck.
  523. END.
  524. EMPTY TEMP-TABLE tGebKonto.
  525. FOR EACH GebKonto WHERE GebKonto.Firma = Firma NO-LOCK:
  526. CREATE tGebKonto.
  527. BUFFER-COPY GebKonto TO tGebKonto.
  528. END.
  529. END PROCEDURE.
  530. /* _UIB-CODE-BLOCK-END */
  531. &ANALYZE-RESUME
  532. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI fFrameWin _DEFAULT-ENABLE
  533. PROCEDURE enable_UI :
  534. /*------------------------------------------------------------------------------
  535. Purpose: ENABLE the User Interface
  536. Parameters: <none>
  537. Notes: Here we display/view/enable the widgets in the
  538. user-interface. In addition, OPEN all queries
  539. associated with each FRAME and BROWSE.
  540. These statements here are based on the "Other
  541. Settings" section of the widget Property Sheets.
  542. ------------------------------------------------------------------------------*/
  543. DISPLAY F_Kunde E_Adresse F_Zahbetr F_ZahSko CB_ZAHLART F_WW F_Gebinde
  544. F_Recycling F_MWST F_Total F_Skonto F_Netto F_Saldo F_Bezahlt
  545. F_Skonto_Bez
  546. WITH FRAME fMain.
  547. ENABLE Br_Gebinde F_Kunde F_Zahbetr F_ZahSko F_WW F_Gebinde F_Recycling
  548. F_MWST F_Total F_Skonto F_Netto F_Saldo F_Bezahlt F_Skonto_Bez RECT-39
  549. WITH FRAME fMain.
  550. {&OPEN-BROWSERS-IN-QUERY-fMain}
  551. END PROCEDURE.
  552. /* _UIB-CODE-BLOCK-END */
  553. &ANALYZE-RESUME
  554. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject fFrameWin
  555. PROCEDURE initializeObject :
  556. /*------------------------------------------------------------------------------
  557. Purpose: Super Override
  558. Parameters:
  559. Notes:
  560. ------------------------------------------------------------------------------*/
  561. /* Code placed here will execute PRIOR to standard behavior. */
  562. RUN SUPER.
  563. /* Code placed here will execute AFTER standard behavior. */
  564. END PROCEDURE.
  565. /* _UIB-CODE-BLOCK-END */
  566. &ANALYZE-RESUME
  567. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENSAVGEBKO fFrameWin
  568. PROCEDURE OPENSAVGEBKO :
  569. /*------------------------------------------------------------------------------
  570. Purpose:
  571. Parameters: <none>
  572. Notes:
  573. ------------------------------------------------------------------------------*/
  574. DEFINE VARIABLE cWhere AS CHARACTER NO-UNDO.
  575. IF NOT fOpen THEN RETURN.
  576. EMPTY TEMP-TABLE tGebinde.
  577. FOR EACH SavGKon NO-LOCK
  578. WHERE SavGKon.Firma = Firma
  579. AND SavGKon.Aufnr = iAufnr
  580. AND SavGKon.Depot > 0:
  581. CREATE tGebinde.
  582. ASSIGN
  583. tGebinde.Geb_Cd = SavGKon.Geb_Cd
  584. tGebinde.Sort_Cd = SavGKon.Sort_Cd
  585. tGebinde.cBez = DYNAMIC-FUNCTION('getBez':U IN THIS-PROCEDURE, SavGKon.Geb_Cd )
  586. tGebinde.nPreis = SavGKon.Depot
  587. tGebinde.iAusgang = SavGKon.Ausgang
  588. tGebinde.iEingang = SavGKon.Eingang
  589. tGebinde.iSaldo = tGebinde.iAusgang - tGebinde.iEingang
  590. tGebinde.nBetrAus = SavGKon.Ausgang * SavGKon.Depot
  591. tGebinde.nBetrEin = SavGKon.Eingang * SavGKon.Depot
  592. tGebinde.nBetrag = tGebinde.nBetrAus - tGebinde.nBetrEin.
  593. END.
  594. cWhere = 'FOR EACH tGebinde NO-LOCK USE-INDEX tGebinde-k1 '.
  595. hQuery:QUERY-PREPARE(cWhere).
  596. hQuery:QUERY-OPEN().
  597. END PROCEDURE.
  598. /* _UIB-CODE-BLOCK-END */
  599. &ANALYZE-RESUME
  600. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_AUFNR fFrameWin
  601. PROCEDURE SET_AUFNR :
  602. /*------------------------------------------------------------------------------
  603. Purpose:
  604. Notes:
  605. ------------------------------------------------------------------------------*/
  606. DEFINE INPUT PARAMETER ipiAufnr AS INTEGER NO-UNDO.
  607. iAufnr = ipiAufnr.
  608. fOpen = TRUE.
  609. RUN OPENSAVGEBKO.
  610. RUN DETAILS.
  611. END PROCEDURE.
  612. /* _UIB-CODE-BLOCK-END */
  613. &ANALYZE-RESUME
  614. /* ************************ Function Implementations ***************** */
  615. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getBez fFrameWin
  616. FUNCTION getBez RETURNS CHARACTER
  617. ( ipGeb_Cd AS CHARACTER ) :
  618. /*------------------------------------------------------------------------------
  619. Purpose:
  620. Notes:
  621. ------------------------------------------------------------------------------*/
  622. FIND GebKonto USE-INDEX GebKonto-k1
  623. WHERE GebKonto.Firma = Firma
  624. AND GebKonto.Geb_Cd = ipGeb_Cd NO-LOCK NO-ERROR.
  625. IF AVAILABLE GebKonto THEN Bez = GebKonto.Bez.
  626. ELSE Bez = SUBSTITUTE("??&1??", ipGeb_Cd).
  627. RETURN Bez.
  628. END FUNCTION.
  629. /* _UIB-CODE-BLOCK-END */
  630. &ANALYZE-RESUME
  631. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getTotalBetr fFrameWin
  632. FUNCTION getTotalBetr RETURNS DECIMAL
  633. ( Betr_1 AS DECIMAL, Betr_2 AS DECIMAL, Betr_3 AS DECIMAL ) :
  634. /*------------------------------------------------------------------------------
  635. Purpose:
  636. Notes:
  637. ------------------------------------------------------------------------------*/
  638. GeTot = Betr_1 + Betr_2 + Betr_3.
  639. RETURN GeTot.
  640. END FUNCTION.
  641. /* _UIB-CODE-BLOCK-END */
  642. &ANALYZE-RESUME