f-besgebko.w 48 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DECLARATIONS fFrameWin
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from cntnrfrm.w - ADM2 SmartFrame Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. DEFINE VARIABLE Bez AS CHARACTER FORMAT "x(30)" NO-UNDO.
  28. DEFINE VARIABLE GeTot AS DECIMAL FORMAT "zzz9.999-" DECIMALS 4 NO-UNDO.
  29. DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
  30. DEFINE VARIABLE iBesnr AS INTEGER NO-UNDO.
  31. DEFINE VARIABLE aBesnr AS INTEGER NO-UNDO.
  32. DEFINE VARIABLE iLager AS INTEGER NO-UNDO.
  33. DEFINE VARIABLE VTotal AS DECIMAL NO-UNDO DECIMALS 4 EXTENT 10.
  34. DEFINE VARIABLE SAktiv AS LOG NO-UNDO.
  35. DEFINE VARIABLE lView AS LOG NO-UNDO INIT FALSE.
  36. DEFINE VARIABLE xRecid AS RECID NO-UNDO.
  37. DEFINE VARIABLE ARecid AS RECID NO-UNDO.
  38. DEFINE VARIABLE LHandle AS HANDLE NO-UNDO.
  39. DEFINE VARIABLE wHandle AS HANDLE NO-UNDO.
  40. DEFINE VARIABLE Menge AS DECIMAL DECIMALS 4 NO-UNDO.
  41. DEFINE VARIABLE LKY AS INTEGER NO-UNDO.
  42. DEFINE VARIABLE FBez AS LOG INIT FALSE NO-UNDO.
  43. DEFINE VARIABLE fOpen AS LOG INIT TRUE NO-UNDO.
  44. DEFINE VARIABLE Progname AS CHARACTER NO-UNDO.
  45. DEFINE VARIABLE lMut AS LOG NO-UNDO.
  46. DEFINE VARIABLE hKontainer AS HANDLE NO-UNDO.
  47. DEFINE VARIABLE hDaten AS HANDLE NO-UNDO.
  48. DEFINE VARIABLE hQuery AS HANDLE NO-UNDO.
  49. DEFINE VARIABLE hSaldo AS HANDLE NO-UNDO.
  50. DEFINE VARIABLE FMutFlag AS LOGICAL NO-UNDO.
  51. DEFINE VARIABLE iStatus AS INTEGER NO-UNDO.
  52. DEFINE VARIABLE GlobKon AS CHARACTER NO-UNDO.
  53. DEFINE VARIABLE GlobFir AS CHARACTER NO-UNDO.
  54. DEFINE VARIABLE GlobFil AS CHARACTER NO-UNDO.
  55. DEFINE VARIABLE ADFirma AS CHARACTER NO-UNDO.
  56. DEFINE VARIABLE FBFirma AS CHARACTER NO-UNDO.
  57. DEFINE VARIABLE Sektion AS CHARACTER NO-UNDO.
  58. DEFINE VARIABLE Farbe AS INTEGER NO-UNDO.
  59. DEFINE VARIABLE hFenster AS HANDLE NO-UNDO.
  60. DEFINE VARIABLE cInstallation AS CHARACTER NO-UNDO.
  61. DEFINE TEMP-TABLE tBrowser NO-UNDO
  62. FIELD Feld AS CHARACTER
  63. FIELD Pos AS INTEGER
  64. FIELD Breit AS DECIMAL
  65. FIELD fAktiv AS LOG
  66. FIELD fVisible AS LOG
  67. FIELD PosAkt AS INTEGER
  68. FIELD BreitAkt AS DECIMAL
  69. FIELD hCol AS HANDLE
  70. FIELD cType AS CHARACTER
  71. FIELD cFormat AS CHARACTER
  72. FIELD cInitial AS CHARACTER
  73. FIELD cLabel AS CHARACTER.
  74. DEFINE VARIABLE htBrowser AS HANDLE NO-UNDO.
  75. htBrowser = TEMP-TABLE tBrowser:DEFAULT-BUFFER-HANDLE.
  76. DEFINE TEMP-TABLE tGebRueck LIKE GebRueck.
  77. DEFINE TEMP-TABLE tGebKonto LIKE GebKonto.
  78. DEFINE TEMP-TABLE tAufGKon LIKE AufGKon
  79. FIELD Bez AS CHARACTER FORMAT "x(20)"
  80. FIELD Saldo AS INTEGER
  81. INDEX tAufGKon-k1 IS PRIMARY
  82. Firma
  83. Aufnr
  84. Mwst_Cd
  85. Geb_Cd.
  86. DEFINE VARIABLE htAufGKon AS HANDLE NO-UNDO.
  87. htAufGKon = TEMP-TABLE tAufGKon:DEFAULT-BUFFER-HANDLE.
  88. /* _UIB-CODE-BLOCK-END */
  89. &ANALYZE-RESUME
  90. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS fFrameWin
  91. /*------------------------------------------------------------------------
  92. File:
  93. Description:
  94. Input Parameters:
  95. <none>
  96. Output Parameters:
  97. <none>
  98. Author:
  99. Created: 06/10/20 - 8:11 am
  100. ------------------------------------------------------------------------*/
  101. /* This .W file was created with the Progress AppBuilder. */
  102. /*----------------------------------------------------------------------*/
  103. /* *************************** Definitions ************************** */
  104. /* Parameters Definitions --- */
  105. /* Local Variable Definitions --- */
  106. /* _UIB-CODE-BLOCK-END */
  107. &ANALYZE-RESUME
  108. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  109. /* ******************** Preprocessor Definitions ******************** */
  110. &Scoped-define PROCEDURE-TYPE SmartFrame
  111. &Scoped-define DB-AWARE no
  112. &Scoped-define ADM-CONTAINER FRAME
  113. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  114. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  115. &Scoped-define FRAME-NAME fMain
  116. &Scoped-define BROWSE-NAME Br_BesGebKo
  117. /* Internal Tables (found by Frame, Query & Browse Queries) */
  118. &Scoped-define INTERNAL-TABLES BesGebKo tAufGKon
  119. /* Definitions for BROWSE Br_BesGebKo */
  120. &Scoped-define FIELDS-IN-QUERY-Br_BesGebKo BesGebKo.Menge Bez @ Bez ~
  121. GeTot @ GeTot
  122. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_BesGebKo BesGebKo.Menge
  123. &Scoped-define ENABLED-TABLES-IN-QUERY-Br_BesGebKo BesGebKo
  124. &Scoped-define FIRST-ENABLED-TABLE-IN-QUERY-Br_BesGebKo BesGebKo
  125. &Scoped-define QUERY-STRING-Br_BesGebKo FOR EACH BesGebKo NO-LOCK INDEXED-REPOSITION
  126. &Scoped-define OPEN-QUERY-Br_BesGebKo OPEN QUERY Br_BesGebKo FOR EACH BesGebKo NO-LOCK INDEXED-REPOSITION.
  127. &Scoped-define TABLES-IN-QUERY-Br_BesGebKo BesGebKo
  128. &Scoped-define FIRST-TABLE-IN-QUERY-Br_BesGebKo BesGebKo
  129. /* Definitions for BROWSE Br_GebindeSaldo */
  130. &Scoped-define FIELDS-IN-QUERY-Br_GebindeSaldo tAufGKon.Geb_Cd tAufGKon.Bez tAufGKon.Eingang tAufGKon.Ausgang tAufGKon.Saldo tAufGKon.Betrag
  131. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_GebindeSaldo
  132. &Scoped-define SELF-NAME Br_GebindeSaldo
  133. &Scoped-define QUERY-STRING-Br_GebindeSaldo FOR EACH tAufGKon
  134. &Scoped-define OPEN-QUERY-Br_GebindeSaldo OPEN QUERY {&SELF-NAME} FOR EACH tAufGKon.
  135. &Scoped-define TABLES-IN-QUERY-Br_GebindeSaldo tAufGKon
  136. &Scoped-define FIRST-TABLE-IN-QUERY-Br_GebindeSaldo tAufGKon
  137. /* Definitions for FRAME fMain */
  138. /* Standard List Definitions */
  139. &Scoped-Define ENABLED-OBJECTS Br_BesGebKo Br_GebindeSaldo F_WW F_Gebinde ~
  140. F_Recycling F_Spesen F_Total F_Retour RECT-39
  141. &Scoped-Define DISPLAYED-OBJECTS F_WW F_Gebinde F_Recycling F_Spesen ~
  142. F_Total F_Retour
  143. /* Custom List Definitions */
  144. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  145. &Scoped-define List-6 F_WW F_Gebinde F_Recycling F_Spesen F_Total F_Retour
  146. /* _UIB-PREPROCESSOR-BLOCK-END */
  147. &ANALYZE-RESUME
  148. /* ************************ Function Prototypes ********************** */
  149. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD calculateEingangsGebinde fFrameWin
  150. FUNCTION calculateEingangsGebinde RETURNS LOGICAL
  151. ( ipiRecid AS RECID ) FORWARD.
  152. /* _UIB-CODE-BLOCK-END */
  153. &ANALYZE-RESUME
  154. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD calculateRetourenGebinde fFrameWin
  155. FUNCTION calculateRetourenGebinde RETURNS LOGICAL
  156. ( ipiRecid AS RECID ) FORWARD.
  157. /* _UIB-CODE-BLOCK-END */
  158. &ANALYZE-RESUME
  159. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getBez fFrameWin
  160. FUNCTION getBez RETURNS CHARACTER
  161. ( ipGeb_Cd AS CHARACTER ) FORWARD.
  162. /* _UIB-CODE-BLOCK-END */
  163. &ANALYZE-RESUME
  164. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getTotalBetr fFrameWin
  165. FUNCTION getTotalBetr RETURNS DECIMAL
  166. ( Betr_1 AS DECIMAL, Betr_2 AS DECIMAL, Betr_3 AS DECIMAL ) FORWARD.
  167. /* _UIB-CODE-BLOCK-END */
  168. &ANALYZE-RESUME
  169. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenFarbe fFrameWin
  170. FUNCTION setZeilenFarbe RETURNS LOGICAL
  171. ( ipFarbe AS INTEGER ) FORWARD.
  172. /* _UIB-CODE-BLOCK-END */
  173. &ANALYZE-RESUME
  174. /* *********************** Control Definitions ********************** */
  175. /* Definitions of the field level widgets */
  176. DEFINE VARIABLE F_Gebinde AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0
  177. LABEL "Gebinde"
  178. VIEW-AS FILL-IN NATIVE
  179. SIZE 18 BY 1
  180. BGCOLOR 15 NO-UNDO.
  181. DEFINE VARIABLE F_Recycling AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0
  182. LABEL "Gebühren"
  183. VIEW-AS FILL-IN NATIVE
  184. SIZE 18 BY 1
  185. BGCOLOR 15 NO-UNDO.
  186. DEFINE VARIABLE F_Retour AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0
  187. LABEL "Gebinderetouren"
  188. VIEW-AS FILL-IN NATIVE
  189. SIZE 18 BY 1
  190. BGCOLOR 15 NO-UNDO.
  191. DEFINE VARIABLE F_Spesen AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0
  192. LABEL "Spesen"
  193. VIEW-AS FILL-IN NATIVE
  194. SIZE 18 BY 1
  195. BGCOLOR 15 NO-UNDO.
  196. DEFINE VARIABLE F_Total AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0
  197. LABEL "Totalbetrag"
  198. VIEW-AS FILL-IN NATIVE
  199. SIZE 18 BY 1
  200. BGCOLOR 8 NO-UNDO.
  201. DEFINE VARIABLE F_WW AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0
  202. LABEL "Warenwert"
  203. VIEW-AS FILL-IN NATIVE
  204. SIZE 18 BY 1
  205. BGCOLOR 15 NO-UNDO.
  206. DEFINE RECTANGLE RECT-39
  207. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  208. SIZE 146 BY 24.29.
  209. /* Query definitions */
  210. &ANALYZE-SUSPEND
  211. DEFINE QUERY Br_BesGebKo FOR
  212. BesGebKo SCROLLING.
  213. DEFINE QUERY Br_GebindeSaldo FOR
  214. tAufGKon SCROLLING.
  215. &ANALYZE-RESUME
  216. /* Browse definitions */
  217. DEFINE BROWSE Br_BesGebKo
  218. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_BesGebKo fFrameWin _STRUCTURED
  219. QUERY Br_BesGebKo NO-LOCK DISPLAY
  220. BesGebKo.Menge FORMAT "zz,zz9-":U
  221. Bez @ Bez COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U WIDTH 28
  222. GeTot @ GeTot COLUMN-LABEL "Betrag" FORMAT "zzz9.999-":U
  223. ENABLE
  224. BesGebKo.Menge
  225. /* _UIB-CODE-BLOCK-END */
  226. &ANALYZE-RESUME
  227. WITH NO-ROW-MARKERS SEPARATORS SIZE 56 BY 23.81
  228. BGCOLOR 15 .
  229. DEFINE BROWSE Br_GebindeSaldo
  230. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_GebindeSaldo fFrameWin _FREEFORM
  231. QUERY Br_GebindeSaldo DISPLAY
  232. tAufGKon.Geb_Cd FORMAT "x(05)" LABEL 'Konto'
  233. tAufGKon.Bez FORMAT "x(20)" LABEL 'Kontobezeichnung'
  234. tAufGKon.Eingang FORMAT "zzz,zz9-" LABEL 'Eingang'
  235. tAufGKon.Ausgang FORMAT "zzz,zz9-" LABEL 'Ausgang'
  236. tAufGKon.Saldo FORMAT "zzz,zz9-" LABEL 'Saldo'
  237. tAufGKon.Betrag FORMAT "zzz,zz9.99-" LABEL 'Betrag'
  238. /* _UIB-CODE-BLOCK-END */
  239. &ANALYZE-RESUME
  240. WITH NO-ROW-MARKERS SEPARATORS SIZE 79 BY 13.57.
  241. /* ************************ Frame Definitions *********************** */
  242. DEFINE FRAME fMain
  243. Br_BesGebKo AT ROW 1.48 COL 3
  244. Br_GebindeSaldo AT ROW 11.24 COL 64 WIDGET-ID 100
  245. F_WW AT ROW 2 COL 83 COLON-ALIGNED NO-TAB-STOP
  246. F_Gebinde AT ROW 3 COL 83 COLON-ALIGNED NO-TAB-STOP
  247. F_Recycling AT ROW 4 COL 83 COLON-ALIGNED NO-TAB-STOP
  248. F_Spesen AT ROW 7 COL 83 COLON-ALIGNED NO-TAB-STOP
  249. F_Total AT ROW 8.52 COL 83 COLON-ALIGNED NO-TAB-STOP
  250. F_Retour AT ROW 5.52 COL 83 COLON-ALIGNED WIDGET-ID 2 NO-TAB-STOP
  251. RECT-39 AT ROW 1.24 COL 2
  252. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  253. SIDE-LABELS NO-UNDERLINE THREE-D
  254. AT COL 1 ROW 1
  255. SIZE 148.6 BY 24.76.
  256. /* *********************** Procedure Settings ************************ */
  257. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  258. /* Settings for THIS-PROCEDURE
  259. Type: SmartFrame
  260. Allow: Basic,Browse,DB-Fields,Query,Smart
  261. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  262. Design Page: 3
  263. Other Settings: PERSISTENT-ONLY COMPILE
  264. */
  265. /* This procedure should always be RUN PERSISTENT. Report the error, */
  266. /* then cleanup and return. */
  267. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  268. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  269. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  270. RETURN.
  271. END.
  272. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  273. /* ************************* Create Window ************************** */
  274. &ANALYZE-SUSPEND _CREATE-WINDOW
  275. /* DESIGN Window definition (used by the UIB)
  276. CREATE WINDOW fFrameWin ASSIGN
  277. HEIGHT = 24.71
  278. WIDTH = 148.6.
  279. /* END WINDOW DEFINITION */
  280. */
  281. &ANALYZE-RESUME
  282. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB fFrameWin
  283. /* ************************* Included-Libraries *********************** */
  284. {src/adm2/containr.i}
  285. /* _UIB-CODE-BLOCK-END */
  286. &ANALYZE-RESUME
  287. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  288. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  289. /* SETTINGS FOR WINDOW fFrameWin
  290. VISIBLE,,RUN-PERSISTENT */
  291. /* SETTINGS FOR FRAME fMain
  292. NOT-VISIBLE FRAME-NAME Custom */
  293. /* BROWSE-TAB Br_BesGebKo 1 fMain */
  294. /* BROWSE-TAB Br_GebindeSaldo Br_BesGebKo fMain */
  295. ASSIGN
  296. FRAME fMain:HIDDEN = TRUE.
  297. ASSIGN
  298. Br_BesGebKo:COLUMN-RESIZABLE IN FRAME fMain = TRUE.
  299. /* SETTINGS FOR FILL-IN F_Gebinde IN FRAME fMain
  300. 6 */
  301. ASSIGN
  302. F_Gebinde:READ-ONLY IN FRAME fMain = TRUE.
  303. /* SETTINGS FOR FILL-IN F_Recycling IN FRAME fMain
  304. 6 */
  305. ASSIGN
  306. F_Recycling:READ-ONLY IN FRAME fMain = TRUE.
  307. /* SETTINGS FOR FILL-IN F_Retour IN FRAME fMain
  308. 6 */
  309. ASSIGN
  310. F_Retour:READ-ONLY IN FRAME fMain = TRUE.
  311. /* SETTINGS FOR FILL-IN F_Spesen IN FRAME fMain
  312. 6 */
  313. ASSIGN
  314. F_Spesen:READ-ONLY IN FRAME fMain = TRUE.
  315. /* SETTINGS FOR FILL-IN F_Total IN FRAME fMain
  316. 6 */
  317. ASSIGN
  318. F_Total:READ-ONLY IN FRAME fMain = TRUE.
  319. /* SETTINGS FOR FILL-IN F_WW IN FRAME fMain
  320. 6 */
  321. ASSIGN
  322. F_WW:READ-ONLY IN FRAME fMain = TRUE.
  323. /* _RUN-TIME-ATTRIBUTES-END */
  324. &ANALYZE-RESUME
  325. /* Setting information for Queries and Browse Widgets fields */
  326. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_BesGebKo
  327. /* Query rebuild information for BROWSE Br_BesGebKo
  328. _TblList = "AnaDat.BesGebKo"
  329. _Options = "NO-LOCK INDEXED-REPOSITION"
  330. _FldNameList[1] > AnaDat.BesGebKo.Menge
  331. "BesGebKo.Menge" ? ? "decimal" ? ? ? ? ? ? yes ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  332. _FldNameList[2] > "_<CALC>"
  333. "Bez @ Bez" "Bezeichnung" "x(30)" ? ? ? ? ? ? ? no ? no no "28" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  334. _FldNameList[3] > "_<CALC>"
  335. "GeTot @ GeTot" "Betrag" "zzz9.999-" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  336. _Query is NOT OPENED
  337. */ /* BROWSE Br_BesGebKo */
  338. &ANALYZE-RESUME
  339. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_GebindeSaldo
  340. /* Query rebuild information for BROWSE Br_GebindeSaldo
  341. _START_FREEFORM
  342. OPEN QUERY {&SELF-NAME} FOR EACH tAufGKon.
  343. _END_FREEFORM
  344. _Query is NOT OPENED
  345. */ /* BROWSE Br_GebindeSaldo */
  346. &ANALYZE-RESUME
  347. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME fMain
  348. /* Query rebuild information for FRAME fMain
  349. _Options = ""
  350. _Query is NOT OPENED
  351. */ /* FRAME fMain */
  352. &ANALYZE-RESUME
  353. /* ************************ Control Triggers ************************ */
  354. &Scoped-define BROWSE-NAME Br_BesGebKo
  355. &Scoped-define SELF-NAME Br_BesGebKo
  356. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_BesGebKo fFrameWin
  357. ON RETURN OF Br_BesGebKo IN FRAME fMain
  358. DO:
  359. IF iStatus <> 2 THEN
  360. DO:
  361. DYNAMIC-FUNCTION ('fehlerMeldung':U, 1109, '' ) NO-ERROR.
  362. RETURN NO-APPLY.
  363. END.
  364. DO WITH FRAME {&FRAME-NAME}:
  365. APPLY 'ENTRY' TO FRAME {&FRAME-NAME}.
  366. {&BROWSE-NAME}:READ-ONLY = FALSE.
  367. BesGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = FALSE.
  368. DYNAMIC-FUNCTION('SetMutflag':U, INPUT TRUE , Progname ) NO-ERROR.
  369. APPLY 'ENTRY' TO BesGebKo.Menge IN BROWSE {&BROWSE-NAME}.
  370. END.
  371. END.
  372. /* _UIB-CODE-BLOCK-END */
  373. &ANALYZE-RESUME
  374. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_BesGebKo fFrameWin
  375. ON ROW-DISPLAY OF Br_BesGebKo IN FRAME fMain
  376. DO:
  377. DYNAMIC-FUNCTION('getBez':U IN THIS-PROCEDURE,
  378. INPUT BesGebKo.Geb_Cd
  379. ) NO-ERROR.
  380. DYNAMIC-FUNCTION('getTotalBetr':U IN THIS-PROCEDURE,
  381. INPUT BesGebKo.Betrag_1,
  382. INPUT BesGebKo.Betrag_2,
  383. INPUT BesGebKo.Betrag_3
  384. ) NO-ERROR.
  385. RUN FARBE.
  386. END.
  387. /* _UIB-CODE-BLOCK-END */
  388. &ANALYZE-RESUME
  389. &Scoped-define SELF-NAME BesGebKo.Menge
  390. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL BesGebKo.Menge Br_BesGebKo _BROWSE-COLUMN fFrameWin
  391. ON LEAVE OF BesGebKo.Menge IN BROWSE Br_BesGebKo /* Menge */
  392. DO:
  393. DO WITH FRAME {&FRAME-NAME}:
  394. xRecid = RECID(BesGebko).
  395. RUN MUTATION ( INPUT xRecid,
  396. INPUT DECIMAL(BesGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME}) ).
  397. FIND BesGebKo WHERE RECID(BesGebKo) = xRecid NO-LOCK.
  398. DYNAMIC-FUNCTION('GETTOTALBETR':U,
  399. INPUT BesGebKo.Betrag_1,
  400. INPUT BesGebKo.Betrag_2,
  401. INPUT BesGebKo.Betrag_3
  402. ) NO-ERROR.
  403. GeTot:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(GeTot).
  404. BesGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(BesGebKo.Menge).
  405. RUN FARBE.
  406. END.
  407. END.
  408. /* _UIB-CODE-BLOCK-END */
  409. &ANALYZE-RESUME
  410. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL BesGebKo.Menge Br_BesGebKo _BROWSE-COLUMN fFrameWin
  411. ON RETURN OF BesGebKo.Menge IN BROWSE Br_BesGebKo /* Menge */
  412. DO:
  413. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  414. DO WITH FRAME {&FRAME-NAME}:
  415. xRecid = RECID(BesGebko).
  416. RUN MUTATION ( INPUT xRecid,
  417. INPUT DECIMAL(BesGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME}) ).
  418. FIND BesGebKo WHERE RECID(BesGebKo) = xRecid NO-LOCK.
  419. DYNAMIC-FUNCTION('GETTOTALBETR':U,
  420. INPUT BesGebKo.Betrag_1,
  421. INPUT BesGebKo.Betrag_2,
  422. INPUT BesGebKo.Betrag_3
  423. ) NO-ERROR.
  424. GeTot:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(GeTot).
  425. BesGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(BesGebKo.Menge).
  426. RUN FARBE.
  427. APPLY 'ENTRY' TO FRAME {&FRAME-NAME}.
  428. SELF:READ-ONLY = TRUE.
  429. {&BROWSE-NAME}:READ-ONLY = TRUE.
  430. DYNAMIC-FUNCTION('SetMutflag':U, INPUT FALSE , Progname ) NO-ERROR.
  431. PUBLISH 'GET_CURRENT_BESKO' ( OUTPUT iBesnr ).
  432. FIND Besko NO-LOCK
  433. WHERE Besko.Firma = Firma
  434. AND Besko.Besnr = iBesnr.
  435. iRecid = RECID(Besko).
  436. RELEASE Besko.
  437. DYNAMIC-FUNCTION ('calculateRetourenGebinde':U IN THIS-PROCEDURE, iRecid ) NO-ERROR.
  438. hSaldo:QUERY-OPEN().
  439. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  440. RETURN NO-APPLY.
  441. END.
  442. END.
  443. /* _UIB-CODE-BLOCK-END */
  444. &ANALYZE-RESUME
  445. &UNDEFINE SELF-NAME
  446. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK fFrameWin
  447. /* *************************** Main Block *************************** */
  448. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  449. Firma = DYNAMIC-FUNCTION('getMandant':U) NO-ERROR.
  450. lView = FALSE.
  451. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  452. DO:
  453. RUN ENDE IN hKontainer.
  454. RETURN NO-APPLY.
  455. END.
  456. ON 'END-ERROR':U OF BROWSE {&BROWSE-NAME}
  457. DO:
  458. RUN ENDE IN hKontainer.
  459. RETURN NO-APPLY.
  460. END.
  461. ON 'ROW-DISPLAY':U OF BROWSE Br_GebindeSaldo
  462. DO:
  463. IF tAufGKon.Mwst_Cd = 1 THEN DYNAMIC-FUNCTION ('setZeilenFarbe':U, 8 ) NO-ERROR.
  464. ELSE DYNAMIC-FUNCTION ('setZeilenFarbe':U, 15) NO-ERROR.
  465. END.
  466. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  467. /* Now enable the interface if in test mode - otherwise this happens when
  468. the object is explicitly initialized from its container. */
  469. RUN initializeObject.
  470. &ENDIF
  471. /* _UIB-CODE-BLOCK-END */
  472. &ANALYZE-RESUME
  473. /* ********************** Internal Procedures *********************** */
  474. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects fFrameWin _ADM-CREATE-OBJECTS
  475. PROCEDURE adm-create-objects :
  476. /*------------------------------------------------------------------------------
  477. Purpose: Create handles for all SmartObjects used in this procedure.
  478. After SmartObjects are initialized, then SmartLinks are added.
  479. Parameters: <none>
  480. ------------------------------------------------------------------------------*/
  481. END PROCEDURE.
  482. /* _UIB-CODE-BLOCK-END */
  483. &ANALYZE-RESUME
  484. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject fFrameWin
  485. PROCEDURE destroyObject :
  486. /*------------------------------------------------------------------------------
  487. Purpose:
  488. Notes:
  489. ------------------------------------------------------------------------------*/
  490. IF VALID-HANDLE ( hSaldo ) THEN
  491. DO:
  492. hSaldo:QUERY-CLOSE() NO-ERROR.
  493. DELETE OBJECT hSaldo NO-ERROR.
  494. END.
  495. DEF VAR hBrowser AS HANDLE NO-UNDO.
  496. hBrowser = Br_GebindeSaldo:HANDLE IN FRAME {&FRAME-NAME}.
  497. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
  498. INPUT 'GebindeSaldo' ) NO-ERROR.
  499. RUN SUPER.
  500. /* Code placed here will execute AFTER standard behavior. */
  501. END PROCEDURE.
  502. /* _UIB-CODE-BLOCK-END */
  503. &ANALYZE-RESUME
  504. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DETAILS fFrameWin
  505. PROCEDURE DETAILS :
  506. /*------------------------------------------------------------------------------*/
  507. /* Purpose: */
  508. /* Parameters: <none> */
  509. /* Notes: */
  510. /*------------------------------------------------------------------------------*/
  511. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  512. DEFINE VARIABLE VKonto AS CHARACTER NO-UNDO.
  513. DEFINE VARIABLE iMenge AS INTEGER NO-UNDO.
  514. DEFINE BUFFER bBesko FOR Besko .
  515. DEFINE BUFFER bBesze FOR Besze .
  516. DEFINE BUFFER bBesGebKo FOR BesGebKo.
  517. DEFINE BUFFER bGebKonto FOR GebKonto.
  518. DEFINE BUFFER bAdresse FOR Adresse .
  519. IF NOT VALID-HANDLE ( hDaten ) THEN
  520. DO:
  521. IF VALID-HANDLE ( hKontainer) THEN RUN selectPage IN hKontainer ( 1 ).
  522. RETURN.
  523. END.
  524. ASSIGN
  525. F_Spesen = 0.00
  526. F_Recycling = 0.00
  527. F_Total = 0.00
  528. F_WW = 0.00
  529. F_Retour = 0.00
  530. F_Gebinde = 0.00.
  531. ARecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ).
  532. IF ARecid = ? THEN
  533. DO WITH FRAME {&FRAME-NAME}:
  534. RUN OPENBESGEBKO IN THIS-PROCEDURE.
  535. DISPLAY {&List-6}.
  536. RETURN.
  537. END.
  538. FIND bBesko NO-LOCK WHERE RECID(bBesko) = ARecid.
  539. iBesnr = bBesko.Besnr.
  540. aBesnr = bBesko.Besnr.
  541. iLager = bBesko.Lager.
  542. DO WHILE TRUE:
  543. FIND FIRST bBesGebKo NO-LOCK
  544. WHERE bBesGebKo.Firma = Firma
  545. AND bBesGebKo.Besnr = iBesnr NO-ERROR.
  546. IF AVAILABLE bBesGebKo THEN LEAVE.
  547. REPEAT TRANSACTION:
  548. FOR EACH tGebRueck:
  549. CREATE bBesGebKo.
  550. BUFFER-COPY tGebRueck TO bBesGebKo.
  551. ASSIGN
  552. bBesGebKo.Firma = Firma
  553. bBesGebKo.Besnr = iBesnr.
  554. IF bBesGebKo.Kto_Cd1 <> '' THEN
  555. DO:
  556. FIND bGebKonto NO-LOCK
  557. WHERE bGebKonto.Firma = bBesGebKo.Firma
  558. AND bGebKonto.Geb_Cd = bBesGebKo.Kto_Cd1.
  559. ASSIGN
  560. bBesGebKo.Wert_1 = bGebKonto.Depot + bGebKonto.Gebuehr.
  561. RELEASE bGebKonto.
  562. END.
  563. IF bBesGebKo.Kto_Cd2 <> '' THEN
  564. DO:
  565. FIND bGebKonto NO-LOCK
  566. WHERE bGebKonto.Firma = bBesGebKo.Firma
  567. AND bGebKonto.Geb_Cd = bBesGebKo.Kto_Cd2.
  568. ASSIGN
  569. bBesGebKo.Wert_2 = bGebKonto.Depot + bGebKonto.Gebuehr.
  570. RELEASE bGebKonto.
  571. END.
  572. IF bBesGebKo.Kto_Cd3 <> '' THEN
  573. DO:
  574. FIND bGebKonto NO-LOCK
  575. WHERE bGebKonto.Firma = bBesGebKo.Firma
  576. AND bGebKonto.Geb_Cd = bBesGebKo.Kto_Cd3.
  577. ASSIGN
  578. bBesGebKo.Wert_3 = bGebKonto.Depot + bGebKonto.Gebuehr.
  579. RELEASE bGebKonto.
  580. END.
  581. END.
  582. RELEASE bBesGebKo.
  583. LEAVE.
  584. END.
  585. LEAVE.
  586. END.
  587. RELEASE bBesGebKo.
  588. EMPTY TEMP-TABLE tAufGKon.
  589. DYNAMIC-FUNCTION ('calculateRetourenGebinde':U IN THIS-PROCEDURE, RECID(bBesko) ) NO-ERROR.
  590. DYNAMIC-FUNCTION ('calculateEingangsGebinde':U IN THIS-PROCEDURE, RECID(bBesko) ) NO-ERROR.
  591. RELEASE bBesko.
  592. RELEASE bBesGebKo.
  593. RELEASE bGebKonto.
  594. fOpen = TRUE.
  595. RUN OPENBESGEBKO IN THIS-PROCEDURE.
  596. DO WITH FRAME {&FRAME-NAME}:
  597. VTotal = 0.
  598. IF SAktiv THEN
  599. DO:
  600. DYNAMIC-FUNCTION('calculateBeskoTotal':U, Firma, iBesnr, OUTPUT VTotal ) NO-ERROR.
  601. END.
  602. F_WW = VTotal[01].
  603. F_Gebinde = VTotal[03].
  604. F_Recycling = VTotal[04].
  605. F_Spesen = VTotal[02].
  606. F_Retour = VTotal[05].
  607. F_Total = VTotal[10].
  608. DISPLAY {&List-6}.
  609. hSaldo:QUERY-OPEN().
  610. END.
  611. END PROCEDURE.
  612. /* _UIB-CODE-BLOCK-END */
  613. &ANALYZE-RESUME
  614. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI fFrameWin _DEFAULT-DISABLE
  615. PROCEDURE disable_UI :
  616. /*------------------------------------------------------------------------------
  617. Purpose: DISABLE the User Interface
  618. Parameters: <none>
  619. Notes: Here we clean-up the user-interface by deleting
  620. dynamic widgets we have created and/or hide
  621. frames. This procedure is usually called when
  622. we are ready to "clean-up" after running.
  623. ------------------------------------------------------------------------------*/
  624. /* Hide all frames. */
  625. HIDE FRAME fMain.
  626. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  627. END PROCEDURE.
  628. /* _UIB-CODE-BLOCK-END */
  629. &ANALYZE-RESUME
  630. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject fFrameWin
  631. PROCEDURE enableObject :
  632. /*------------------------------------------------------------------------------*/
  633. /* Purpose: Super Override */
  634. /* Parameters: */
  635. /* Notes: */
  636. /*------------------------------------------------------------------------------*/
  637. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  638. DEFINE VARIABLE cKey AS CHARACTER NO-UNDO.
  639. DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO.
  640. RUN SUPER.
  641. DO WITH FRAME {&FRAME-NAME}:
  642. BesGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE.
  643. {&BROWSE-NAME}:READ-ONLY = TRUE.
  644. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  645. END.
  646. IF sAktiv THEN
  647. DO:
  648. hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  649. hKontainer = DYNAMIC-FUNCTION('getContainerSource':U ) NO-ERROR.
  650. Progname = DYNAMIC-FUNCTION('getProgname':U IN hKontainer) NO-ERROR.
  651. hQuery = {&BROWSE-NAME}:QUERY.
  652. END.
  653. CREATE QUERY hSaldo.
  654. hSaldo:SET-BUFFERS ( htAufGKon ).
  655. hSaldo:QUERY-PREPARE ( 'FOR EACH tAufGKon NO-LOCK WHERE (tAufGKon.Eingang <> 0 OR tAufGKon.Ausgang <> 0)' ).
  656. BROWSE br_GebindeSaldo:QUERY = hSaldo.
  657. EMPTY TEMP-TABLE tGebRueck.
  658. FOR EACH GebRueck WHERE GebRueck.Firma = Firma NO-LOCK:
  659. CREATE tGebRueck.
  660. BUFFER-COPY GebRueck TO tGebRueck.
  661. END.
  662. EMPTY TEMP-TABLE tGebKonto.
  663. FOR EACH GebKonto WHERE GebKonto.Firma = Firma NO-LOCK:
  664. CREATE tGebKonto.
  665. BUFFER-COPY GebKonto TO tGebKonto.
  666. END.
  667. EMPTY TEMP-TABLE tBrowser.
  668. hBrowse = Br_GebindeSaldo:HANDLE IN FRAME {&FRAME-NAME}.
  669. hBrowse:COLUMN-MOVABLE = TRUE.
  670. DYNAMIC-FUNCTION ('getBrowserDaten':U, htBrowser, hBrowse, 'GebindeSaldo') NO-ERROR.
  671. END PROCEDURE.
  672. /* _UIB-CODE-BLOCK-END */
  673. &ANALYZE-RESUME
  674. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI fFrameWin _DEFAULT-ENABLE
  675. PROCEDURE enable_UI :
  676. /*------------------------------------------------------------------------------
  677. Purpose: ENABLE the User Interface
  678. Parameters: <none>
  679. Notes: Here we display/view/enable the widgets in the
  680. user-interface. In addition, OPEN all queries
  681. associated with each FRAME and BROWSE.
  682. These statements here are based on the "Other
  683. Settings" section of the widget Property Sheets.
  684. ------------------------------------------------------------------------------*/
  685. DISPLAY F_WW F_Gebinde F_Recycling F_Spesen F_Total F_Retour
  686. WITH FRAME fMain.
  687. ENABLE Br_BesGebKo Br_GebindeSaldo F_WW F_Gebinde F_Recycling F_Spesen
  688. F_Total F_Retour RECT-39
  689. WITH FRAME fMain.
  690. {&OPEN-BROWSERS-IN-QUERY-fMain}
  691. END PROCEDURE.
  692. /* _UIB-CODE-BLOCK-END */
  693. &ANALYZE-RESUME
  694. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FARBE fFrameWin
  695. PROCEDURE FARBE :
  696. /*------------------------------------------------------------------------------*/
  697. /* Purpose: Super Override */
  698. /* Parameters: */
  699. /* Notes: */
  700. /*------------------------------------------------------------------------------*/
  701. DO WITH FRAME {&FRAME-NAME}:
  702. IF BesGebKo.Menge <> 0 THEN
  703. DO:
  704. BesGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  705. Bez:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  706. GeTot:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  707. END.
  708. ELSE
  709. DO:
  710. BesGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  711. Bez:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  712. GeTot:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  713. END.
  714. END.
  715. END PROCEDURE.
  716. /* _UIB-CODE-BLOCK-END */
  717. &ANALYZE-RESUME
  718. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE hideObject fFrameWin
  719. PROCEDURE hideObject :
  720. /*------------------------------------------------------------------------------*/
  721. /* Purpose: Super Override */
  722. /* Parameters: */
  723. /* Notes: */
  724. /*------------------------------------------------------------------------------*/
  725. RUN SUPER.
  726. FOpen = FALSE.
  727. END PROCEDURE.
  728. /* _UIB-CODE-BLOCK-END */
  729. &ANALYZE-RESUME
  730. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject fFrameWin
  731. PROCEDURE initializeObject :
  732. /*------------------------------------------------------------------------------*/
  733. /* Purpose: Super Override */
  734. /* Parameters: */
  735. /* Notes: */
  736. /*------------------------------------------------------------------------------*/
  737. RUN SUPER.
  738. END PROCEDURE.
  739. /* _UIB-CODE-BLOCK-END */
  740. &ANALYZE-RESUME
  741. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MUTATION fFrameWin
  742. PROCEDURE MUTATION :
  743. /*------------------------------------------------------------------------------*/
  744. /* Purpose: Super Override */
  745. /* Parameters: */
  746. /* Notes: */
  747. /*------------------------------------------------------------------------------*/
  748. DEFINE INPUT PARAMETER ipRecid AS RECID NO-UNDO.
  749. DEFINE INPUT PARAMETER ipMenge AS DECIMAL DECIMALS 4 NO-UNDO.
  750. DEFINE BUFFER bBesGebKo FOR BesGebKo.
  751. DEFINE VARIABLE DiffMenge AS INTEGER NO-UNDO.
  752. DEFINE VARIABLE MW AS INTEGER NO-UNDO.
  753. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
  754. FIND bBesGebKo WHERE RECID(bBesGebKo) = ipRecid.
  755. VTotal[10] = VTotal[10] + bBesGebKo.Betrag_1 + bBesGebKo.Betrag_2 + bBesGebKo.Betrag_3.
  756. VTotal[05] = VTotal[05] + bBesGebKo.Betrag_1 + bBesGebKo.Betrag_2 + bBesGebKo.Betrag_3.
  757. DiffMenge = ipMenge - bBesGebKo.Menge.
  758. IF DiffMenge = 0 THEN
  759. DO:
  760. RELEASE bBesGebKo.
  761. LEAVE.
  762. END.
  763. bBesGebKo.Menge = ipMenge.
  764. ASSIGN
  765. bBesGebKo.Betrag_1 = bBesGebKo.Anz_1 * bBesGebKo.Wert_1 * bBesGebKo.Menge
  766. bBesGebKo.Betrag_2 = bBesGebKo.Anz_2 * bBesGebKo.Wert_2 * bBesGebKo.Menge
  767. bBesGebKo.Betrag_3 = bBesGebKo.Anz_3 * bBesGebKo.Wert_3 * bBesGebKo.Menge.
  768. VTotal[10] = VTotal[10] - bBesGebKo.Betrag_1 - bBesGebKo.Betrag_2 - bBesGebKo.Betrag_3.
  769. VTotal[05] = VTotal[05] - bBesGebKo.Betrag_1 - bBesGebKo.Betrag_2 - bBesGebKo.Betrag_3.
  770. RELEASE bBesGebKo.
  771. F_WW = VTotal[01].
  772. F_Gebinde = VTotal[03].
  773. F_Recycling = VTotal[04].
  774. F_Spesen = VTotal[02].
  775. F_Retour = VTotal[05].
  776. F_Total = VTotal[10].
  777. DISPLAY {&List-6}.
  778. LEAVE.
  779. END.
  780. END PROCEDURE.
  781. /* _UIB-CODE-BLOCK-END */
  782. &ANALYZE-RESUME
  783. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENBESGEBKO fFrameWin
  784. PROCEDURE OPENBESGEBKO :
  785. /*------------------------------------------------------------------------------*/
  786. /* Purpose: Super Override */
  787. /* Parameters: */
  788. /* Notes: */
  789. /*------------------------------------------------------------------------------*/
  790. DEFINE VARIABLE cWhere AS CHARACTER NO-UNDO.
  791. IF NOT fOpen THEN RETURN.
  792. cWhere = 'FOR EACH BesGebKo NO-LOCK '
  793. + 'WHERE BesGebKo.Firma = "&1" '
  794. + 'AND BesGebKo.Besnr = &2 BY BesGebKo.Sort_Cd '.
  795. cWhere = SUBSTITUTE(cWhere, Firma, iBesnr).
  796. hQuery:QUERY-PREPARE(cWhere).
  797. hQuery:QUERY-OPEN().
  798. END PROCEDURE.
  799. /* _UIB-CODE-BLOCK-END */
  800. &ANALYZE-RESUME
  801. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject fFrameWin
  802. PROCEDURE viewObject :
  803. /*------------------------------------------------------------------------------*/
  804. /* Purpose: Super Override */
  805. /* Parameters: */
  806. /* Notes: */
  807. /*------------------------------------------------------------------------------*/
  808. fOpen = TRUE.
  809. iStatus = DYNAMIC-FUNCTION ('getStatus':U IN hKontainer ) NO-ERROR.
  810. RUN SUPER.
  811. RUN DETAILS.
  812. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  813. END PROCEDURE.
  814. /* _UIB-CODE-BLOCK-END */
  815. &ANALYZE-RESUME
  816. /* ************************ Function Implementations ***************** */
  817. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION calculateEingangsGebinde fFrameWin
  818. FUNCTION calculateEingangsGebinde RETURNS LOGICAL
  819. ( ipiRecid AS RECID ):
  820. /*------------------------------------------------------------------------------
  821. Purpose:
  822. Notes:
  823. ------------------------------------------------------------------------------*/
  824. DEFINE VARIABLE iMenge AS INTEGER NO-UNDO.
  825. DEFINE BUFFER bBesko FOR Besko.
  826. DEFINE BUFFER bBesze FOR Besze.
  827. FIND bBesko NO-LOCK WHERE RECID(bBesko) = ipiRecid.
  828. FOR EACH tAufGKon
  829. WHERE tAufGKon.Firma = bBesko.Firma
  830. AND tAufGKon.Aufnr = bBesko.Besnr:
  831. ASSIGN
  832. tAufGKon.Eingang = 0.
  833. END.
  834. FOR EACH bBesze NO-LOCK
  835. WHERE bBesze.Firma = bBesko.Firma
  836. AND bBesze.Besnr = bBesko.Besnr
  837. AND bBesze.Artnr > 0:
  838. iMenge = (IF bBesze.MGel <> 0 THEN bBesze.GGeb_EG ELSE bBesze.GGeb_Me).
  839. IF iMenge <> 0 THEN
  840. DO:
  841. FIND FIRST tAufGKon
  842. WHERE tAufGKon.Firma = bBesze.Firma
  843. AND tAufGKon.Aufnr = bBesze.Besnr
  844. AND tAufGKon.Geb_Cd = bBesze.GGebKto NO-ERROR.
  845. IF NOT AVAILABLE tAufGKon THEN
  846. DO:
  847. FIND GebKonto NO-LOCK
  848. WHERE GebKonto.Firma = bBesze.Firma
  849. AND GebKonto.Geb_Cd = bBesze.GGebKto NO-ERROR.
  850. CREATE tAufGKon.
  851. ASSIGN
  852. tAufGKon.Firma = bBesze.Firma
  853. tAufGKon.Aufnr = bBesze.Besnr
  854. tAufGKon.Geb_Cd = bBesze.GGebKto
  855. tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1)
  856. tAufGKon.Depot = GebKonto.Depot
  857. tAufGKon.Gebuehr = GebKonto.Gebuehr
  858. tAufGKon.Bez = GebKonto.Bez.
  859. END.
  860. ASSIGN
  861. tAufGKon.Eingang = tAufGKon.Eingang + iMenge
  862. tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang
  863. tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr).
  864. DO:
  865. END.
  866. END.
  867. iMenge = (IF bBesze.MGel <> 0 THEN bBesze.VGeb_EG ELSE bBesze.VGeb_Me).
  868. IF iMenge <> 0 THEN
  869. DO:
  870. FIND FIRST tAufGKon
  871. WHERE tAufGKon.Firma = bBesze.Firma
  872. AND tAufGKon.Aufnr = bBesze.Besnr
  873. AND tAufGKon.Geb_Cd = bBesze.VGebKto NO-ERROR.
  874. IF NOT AVAILABLE tAufGKon THEN
  875. DO:
  876. FIND GebKonto NO-LOCK
  877. WHERE GebKonto.Firma = bBesze.Firma
  878. AND GebKonto.Geb_Cd = bBesze.VGebKto NO-ERROR.
  879. CREATE tAufGKon.
  880. ASSIGN
  881. tAufGKon.Firma = bBesze.Firma
  882. tAufGKon.Aufnr = bBesze.Besnr
  883. tAufGKon.Geb_Cd = bBesze.VGebKto
  884. tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1)
  885. tAufGKon.Depot = GebKonto.Depot
  886. tAufGKon.Gebuehr = GebKonto.Gebuehr
  887. tAufGKon.Bez = GebKonto.Bez.
  888. END.
  889. ASSIGN
  890. tAufGKon.Eingang = tAufGKon.Eingang + iMenge
  891. tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang
  892. tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr).
  893. DO:
  894. END.
  895. END.
  896. iMenge = (IF bBesze.MGel <> 0 THEN bBesze.KGeb_EG ELSE bBesze.KGeb_Me).
  897. IF iMenge <> 0 THEN
  898. DO:
  899. FIND FIRST tAufGKon
  900. WHERE tAufGKon.Firma = bBesze.Firma
  901. AND tAufGKon.Aufnr = bBesze.Besnr
  902. AND tAufGKon.Geb_Cd = bBesze.KGebKto NO-ERROR.
  903. IF NOT AVAILABLE tAufGKon THEN
  904. DO:
  905. FIND GebKonto NO-LOCK
  906. WHERE GebKonto.Firma = bBesze.Firma
  907. AND GebKonto.Geb_Cd = bBesze.KGebKto NO-ERROR.
  908. CREATE tAufGKon.
  909. ASSIGN
  910. tAufGKon.Firma = bBesze.Firma
  911. tAufGKon.Aufnr = bBesze.Besnr
  912. tAufGKon.Geb_Cd = bBesze.KGebKto
  913. tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1)
  914. tAufGKon.Depot = GebKonto.Depot
  915. tAufGKon.Gebuehr = GebKonto.Gebuehr
  916. tAufGKon.Bez = GebKonto.Bez.
  917. END.
  918. ASSIGN
  919. tAufGKon.Eingang = tAufGKon.Eingang + iMenge
  920. tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang
  921. tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr).
  922. DO:
  923. END.
  924. END.
  925. END.
  926. RELEASE bBesko.
  927. RELEASE bBesze.
  928. RELEASE GebKonto.
  929. RETURN TRUE.
  930. END FUNCTION.
  931. /* _UIB-CODE-BLOCK-END */
  932. &ANALYZE-RESUME
  933. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION calculateRetourenGebinde fFrameWin
  934. FUNCTION calculateRetourenGebinde RETURNS LOGICAL
  935. ( ipiRecid AS RECID ):
  936. /*------------------------------------------------------------------------------
  937. Purpose:
  938. Notes:
  939. ------------------------------------------------------------------------------*/
  940. DEFINE BUFFER bBesko FOR Besko.
  941. DEFINE BUFFER bBesGebKo FOR BesGebKo.
  942. FIND bBesko NO-LOCK WHERE RECID(bBesko) = ipiRecid.
  943. FOR EACH tAufGKon
  944. WHERE tAufGKon.Firma = bBesko.Firma
  945. AND tAufGKon.Aufnr = bBesko.Besnr:
  946. ASSIGN
  947. tAufGKon.Ausgang = 0.
  948. END.
  949. FOR EACH bBesGebKo NO-LOCK
  950. WHERE bBesGebKo.Firma = bBesko.Firma
  951. AND bBesGebKo.Besnr = bBesko.Besnr:
  952. DO WHILE bBesGebKo.Kto_Cd1 <> '':
  953. FIND tAufGKon
  954. WHERE tAufGKon.Firma = bBesGebKo.Firma
  955. AND tAufGKon.Aufnr = bBesGebKo.Besnr
  956. AND tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd1 NO-ERROR.
  957. IF NOT AVAILABLE tAufGKon THEN
  958. DO:
  959. FIND GebKonto NO-LOCK
  960. WHERE GebKonto.Firma = bBesGebKo.Firma
  961. AND GebKonto.Geb_Cd = bBesGebKo.Kto_Cd1 NO-ERROR.
  962. CREATE tAufGKon.
  963. ASSIGN
  964. tAufGKon.Firma = bBesGebKo.Firma
  965. tAufGKon.Aufnr = bBesGebKo.Besnr
  966. tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd1
  967. tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1)
  968. tAufGKon.Depot = GebKonto.Depot
  969. tAufGKon.Gebuehr = GebKonto.Gebuehr
  970. tAufGKon.Bez = GebKonto.Bez.
  971. END.
  972. ASSIGN
  973. tAufGKon.Ausgang = tAufGKon.Ausgang + (bBesGebKo.Anz_1 * bBesGebKo.Menge)
  974. tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang
  975. tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr).
  976. LEAVE.
  977. END.
  978. DO WHILE bBesGebKo.Kto_Cd2 <> '':
  979. FIND tAufGKon
  980. WHERE tAufGKon.Firma = bBesGebKo.Firma
  981. AND tAufGKon.Aufnr = bBesGebKo.Besnr
  982. AND tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd2 NO-ERROR.
  983. IF NOT AVAILABLE tAufGKon THEN
  984. DO:
  985. FIND GebKonto NO-LOCK
  986. WHERE GebKonto.Firma = bBesGebKo.Firma
  987. AND GebKonto.Geb_Cd = bBesGebKo.Kto_Cd2 NO-ERROR.
  988. CREATE tAufGKon.
  989. ASSIGN
  990. tAufGKon.Firma = bBesGebKo.Firma
  991. tAufGKon.Aufnr = bBesGebKo.Besnr
  992. tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd2
  993. tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1)
  994. tAufGKon.Depot = GebKonto.Depot
  995. tAufGKon.Gebuehr = GebKonto.Gebuehr
  996. tAufGKon.Bez = GebKonto.Bez.
  997. END.
  998. ASSIGN
  999. tAufGKon.Ausgang = tAufGKon.Ausgang + (bBesGebKo.Anz_2 * bBesGebKo.Menge)
  1000. tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang
  1001. tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr).
  1002. LEAVE.
  1003. END.
  1004. DO WHILE bBesGebKo.Kto_Cd3 <> '':
  1005. FIND tAufGKon
  1006. WHERE tAufGKon.Firma = bBesGebKo.Firma
  1007. AND tAufGKon.Aufnr = bBesGebKo.Besnr
  1008. AND tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd3 NO-ERROR.
  1009. IF NOT AVAILABLE tAufGKon THEN
  1010. DO:
  1011. FIND GebKonto NO-LOCK
  1012. WHERE GebKonto.Firma = bBesGebKo.Firma
  1013. AND GebKonto.Geb_Cd = bBesGebKo.Kto_Cd3 NO-ERROR.
  1014. CREATE tAufGKon.
  1015. ASSIGN
  1016. tAufGKon.Firma = bBesGebKo.Firma
  1017. tAufGKon.Aufnr = bBesGebKo.Besnr
  1018. tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd3
  1019. tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1)
  1020. tAufGKon.Depot = GebKonto.Depot
  1021. tAufGKon.Gebuehr = GebKonto.Gebuehr
  1022. tAufGKon.Bez = GebKonto.Bez.
  1023. END.
  1024. ASSIGN
  1025. tAufGKon.Ausgang = tAufGKon.Ausgang + (bBesGebKo.Anz_3 * bBesGebKo.Menge)
  1026. tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang
  1027. tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr).
  1028. LEAVE.
  1029. END.
  1030. END.
  1031. RELEASE GebKonto.
  1032. RELEASE bBesko.
  1033. RELEASE bBesGebKo.
  1034. RETURN TRUE.
  1035. END FUNCTION.
  1036. /* _UIB-CODE-BLOCK-END */
  1037. &ANALYZE-RESUME
  1038. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getBez fFrameWin
  1039. FUNCTION getBez RETURNS CHARACTER
  1040. ( ipGeb_Cd AS CHARACTER ) :
  1041. /*------------------------------------------------------------------------------*/
  1042. /* Purpose: Super Override */
  1043. /* Parameters: */
  1044. /* Notes: */
  1045. /*------------------------------------------------------------------------------*/
  1046. FIND GebRueck USE-INDEX GebRueck-k1
  1047. WHERE GebRueck.Firma = Firma
  1048. AND GebRueck.Geb_Cd = ipGeb_Cd NO-LOCK NO-ERROR.
  1049. IF AVAILABLE GebRueck THEN Bez = GebRueck.Bez.
  1050. ELSE Bez = "??????????".
  1051. RETURN Bez.
  1052. END FUNCTION.
  1053. /* _UIB-CODE-BLOCK-END */
  1054. &ANALYZE-RESUME
  1055. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getTotalBetr fFrameWin
  1056. FUNCTION getTotalBetr RETURNS DECIMAL
  1057. ( Betr_1 AS DECIMAL, Betr_2 AS DECIMAL, Betr_3 AS DECIMAL ) :
  1058. /*------------------------------------------------------------------------------*/
  1059. /* Purpose: Super Override */
  1060. /* Parameters: */
  1061. /* Notes: */
  1062. /*------------------------------------------------------------------------------*/
  1063. GeTot = Betr_1 + Betr_2 + Betr_3.
  1064. RETURN GeTot.
  1065. END FUNCTION.
  1066. /* _UIB-CODE-BLOCK-END */
  1067. &ANALYZE-RESUME
  1068. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenFarbe fFrameWin
  1069. FUNCTION setZeilenFarbe RETURNS LOGICAL
  1070. ( ipFarbe AS INTEGER ):
  1071. /*------------------------------------------------------------------------------
  1072. Purpose:
  1073. Notes:
  1074. ------------------------------------------------------------------------------*/
  1075. { incl/brwsetzeilenfarbe.i }
  1076. END FUNCTION.
  1077. /* _UIB-CODE-BLOCK-END */
  1078. &ANALYZE-RESUME