f-aufgebko-abhol.w 45 KB

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