d-bonusbuchen.w 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME D-Dialog
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS D-Dialog
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrdlg.w - ADM SmartDialog Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. Author:
  14. Created:
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress UIB. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. DEF SHARED VAR VBuchen AS DEC EXTENT 10.
  28. DEF SHARED VAR VAnsatz AS DEC EXTENT 10.
  29. DEF VAR VFaknr AS INT NO-UNDO.
  30. DEF VAR VBuchtxt1 AS CHAR NO-UNDO.
  31. DEF VAR VBuchtxt2 AS CHAR NO-UNDO.
  32. DEF VAR VWpfl AS DEC EXTENT 12 NO-UNDO.
  33. DEF VAR VWust AS DEC EXTENT 12 NO-UNDO.
  34. DEF VAR VWW AS DEC NO-UNDO.
  35. DEF VAR VFakBetr AS DEC NO-UNDO.
  36. DEF VAR VKto_De AS CHAR NO-UNDO.
  37. DEF VAR VKto_Ar AS CHAR NO-UNDO.
  38. DEF VAR VKto_Wu AS CHAR NO-UNDO.
  39. DEF VAR VTrNr1 AS INT NO-UNDO.
  40. DEF VAR VTrNr2 AS INT NO-UNDO.
  41. DEF VAR ok AS LOG NO-UNDO.
  42. DEF VAR cMwstCB AS CHAR NO-UNDO.
  43. DEF WORKFILE WFile FIELD Kto1 AS CHAR FORMAT "x(12)"
  44. FIELD Kto2 AS CHAR FORMAT "x(12)"
  45. FIELD Betrag AS DEC
  46. FIELD MWST_Cd AS INT.
  47. DEF BUFFER BBonusAbr FOR BonusAbr.
  48. DEF BUFFER BSteuer FOR Steuer.
  49. DEF TEMP-TABLE tAnsatz NO-UNDO
  50. FIELD Ansatz AS DEC
  51. FIELD MWST_Cd AS INT
  52. FIELD Betrag AS DEC.
  53. /* ---------- Globale Variablen ---------------------------------- */
  54. { v8/globvar.i " " " " "SHARED" }
  55. { v8/debivar.i " " " " "SHARED" }
  56. { v8/artivar.i " " " " "SHARED" }
  57. { v8/contvar.i " " " " "SHARED" }
  58. /* _UIB-CODE-BLOCK-END */
  59. &ANALYZE-RESUME
  60. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  61. /* ******************** Preprocessor Definitions ******************** */
  62. &Scoped-define PROCEDURE-TYPE SmartDialog
  63. &Scoped-define DB-AWARE no
  64. &Scoped-define ADM-CONTAINER DIALOG-BOX
  65. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  66. &Scoped-define FRAME-NAME D-Dialog
  67. /* Standard List Definitions */
  68. &Scoped-Define ENABLED-OBJECTS RECT-1 CB_MWST_1 F_Betrag_1 F_MWST_1 ~
  69. CB_MWST_2 F_Betrag_2 F_MWST_2 CB_MWST_3 F_Betrag_3 F_MWST_3 CB_MWST_4 ~
  70. F_Betrag_4 F_MWST_4 Btn_OK Btn_Cancel F_Betrag_5 F_Datum F_FibuKonto
  71. &Scoped-Define DISPLAYED-OBJECTS CB_MWST_1 F_Betrag_1 F_MWST_1 CB_MWST_2 ~
  72. F_Betrag_2 F_MWST_2 CB_MWST_3 F_Betrag_3 F_MWST_3 CB_MWST_4 F_Betrag_4 ~
  73. F_MWST_4 F_Betrag_5 F_Datum F_FibuKonto
  74. /* Custom List Definitions */
  75. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  76. &Scoped-define List-1 F_Betrag_1 F_MWST_1 F_Betrag_2 F_MWST_2 F_Betrag_3 ~
  77. F_MWST_3 F_Betrag_4 F_MWST_4 F_Betrag_5 F_Datum F_FibuKonto
  78. /* _UIB-PREPROCESSOR-BLOCK-END */
  79. &ANALYZE-RESUME
  80. /* *********************** Control Definitions ********************** */
  81. /* Define a dialog box */
  82. /* Definitions of the field level widgets */
  83. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  84. LABEL "&Abbrechen"
  85. SIZE 18.2 BY 1.24
  86. BGCOLOR 8 .
  87. DEFINE BUTTON Btn_OK AUTO-GO
  88. LABEL "OK"
  89. SIZE 18.2 BY 1.24
  90. BGCOLOR 8 .
  91. DEFINE VARIABLE CB_MWST_1 AS CHARACTER FORMAT "X(256)":U
  92. VIEW-AS COMBO-BOX INNER-LINES 5
  93. LIST-ITEM-PAIRS "Item1","Item1"
  94. DROP-DOWN-LIST
  95. SIZE 35 BY 1
  96. BGCOLOR 15 NO-UNDO.
  97. DEFINE VARIABLE CB_MWST_2 AS CHARACTER FORMAT "X(256)":U
  98. VIEW-AS COMBO-BOX INNER-LINES 5
  99. LIST-ITEM-PAIRS "Item1","Item1"
  100. DROP-DOWN-LIST
  101. SIZE 35 BY 1
  102. BGCOLOR 15 NO-UNDO.
  103. DEFINE VARIABLE CB_MWST_3 AS CHARACTER FORMAT "X(256)":U
  104. VIEW-AS COMBO-BOX INNER-LINES 5
  105. LIST-ITEM-PAIRS "Item1","Item1"
  106. DROP-DOWN-LIST
  107. SIZE 35 BY 1
  108. BGCOLOR 15 NO-UNDO.
  109. DEFINE VARIABLE CB_MWST_4 AS CHARACTER FORMAT "X(256)":U
  110. VIEW-AS COMBO-BOX INNER-LINES 5
  111. LIST-ITEM-PAIRS "Item1","Item1"
  112. DROP-DOWN-LIST
  113. SIZE 35 BY 1
  114. BGCOLOR 15 NO-UNDO.
  115. DEFINE VARIABLE F_Betrag_1 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  116. VIEW-AS FILL-IN NATIVE
  117. SIZE 21 BY 1
  118. BGCOLOR 15 NO-UNDO.
  119. DEFINE VARIABLE F_Betrag_2 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  120. VIEW-AS FILL-IN NATIVE
  121. SIZE 21 BY 1
  122. BGCOLOR 15 NO-UNDO.
  123. DEFINE VARIABLE F_Betrag_3 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  124. VIEW-AS FILL-IN NATIVE
  125. SIZE 21 BY 1
  126. BGCOLOR 15 NO-UNDO.
  127. DEFINE VARIABLE F_Betrag_4 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  128. VIEW-AS FILL-IN NATIVE
  129. SIZE 21 BY 1
  130. BGCOLOR 15 NO-UNDO.
  131. DEFINE VARIABLE F_Betrag_5 AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  132. VIEW-AS FILL-IN NATIVE
  133. SIZE 20 BY 1
  134. BGCOLOR 15 FGCOLOR 12 NO-UNDO.
  135. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
  136. LABEL "Rechnungsdatum"
  137. VIEW-AS FILL-IN NATIVE
  138. SIZE 20 BY 1
  139. BGCOLOR 15 NO-UNDO.
  140. DEFINE VARIABLE F_FibuKonto AS CHARACTER FORMAT "x(12)":U
  141. LABEL "FibuKonto (ER)"
  142. VIEW-AS FILL-IN NATIVE
  143. SIZE 20 BY 1
  144. BGCOLOR 15 NO-UNDO.
  145. DEFINE VARIABLE F_MWST_1 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0
  146. VIEW-AS FILL-IN NATIVE
  147. SIZE 16 BY 1
  148. BGCOLOR 15 NO-UNDO.
  149. DEFINE VARIABLE F_MWST_2 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0
  150. VIEW-AS FILL-IN NATIVE
  151. SIZE 16 BY 1
  152. BGCOLOR 15 NO-UNDO.
  153. DEFINE VARIABLE F_MWST_3 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0
  154. VIEW-AS FILL-IN NATIVE
  155. SIZE 16 BY 1
  156. BGCOLOR 15 NO-UNDO.
  157. DEFINE VARIABLE F_MWST_4 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0
  158. VIEW-AS FILL-IN NATIVE
  159. SIZE 16 BY 1
  160. BGCOLOR 15 NO-UNDO.
  161. DEFINE RECTANGLE RECT-1
  162. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  163. SIZE 122 BY 10.
  164. /* ************************ Frame Definitions *********************** */
  165. DEFINE FRAME D-Dialog
  166. CB_MWST_1 AT ROW 2.52 COL 6 COLON-ALIGNED NO-LABEL
  167. F_Betrag_1 AT ROW 2.52 COL 68 COLON-ALIGNED NO-LABEL
  168. F_MWST_1 AT ROW 2.52 COL 103 COLON-ALIGNED NO-LABEL
  169. CB_MWST_2 AT ROW 3.52 COL 6 COLON-ALIGNED NO-LABEL
  170. F_Betrag_2 AT ROW 3.52 COL 68 COLON-ALIGNED NO-LABEL
  171. F_MWST_2 AT ROW 3.52 COL 103 COLON-ALIGNED NO-LABEL
  172. CB_MWST_3 AT ROW 4.52 COL 6 COLON-ALIGNED NO-LABEL
  173. F_Betrag_3 AT ROW 4.52 COL 68 COLON-ALIGNED NO-LABEL
  174. F_MWST_3 AT ROW 4.52 COL 103 COLON-ALIGNED NO-LABEL
  175. CB_MWST_4 AT ROW 5.52 COL 6 COLON-ALIGNED NO-LABEL
  176. F_Betrag_4 AT ROW 5.52 COL 68 COLON-ALIGNED NO-LABEL
  177. F_MWST_4 AT ROW 5.52 COL 103 COLON-ALIGNED NO-LABEL
  178. Btn_OK AT ROW 7.52 COL 9.4
  179. Btn_Cancel AT ROW 7.52 COL 29
  180. F_Betrag_5 AT ROW 7.52 COL 99 COLON-ALIGNED NO-LABEL
  181. F_Datum AT ROW 8.52 COL 99 COLON-ALIGNED
  182. F_FibuKonto AT ROW 9.52 COL 99 COLON-ALIGNED
  183. RECT-1 AT ROW 1.24 COL 2
  184. SPACE(0.99) SKIP(0.37)
  185. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  186. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  187. TITLE "OP-Gutschrift Buchen"
  188. CANCEL-BUTTON Btn_Cancel.
  189. /* *********************** Procedure Settings ************************ */
  190. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  191. /* Settings for THIS-PROCEDURE
  192. Type: SmartDialog
  193. Allow: Basic,Browse,DB-Fields,Query,Smart
  194. Other Settings: COMPILE
  195. */
  196. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  197. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB D-Dialog
  198. /* ************************* Included-Libraries *********************** */
  199. {src/adm/method/containr.i}
  200. /* _UIB-CODE-BLOCK-END */
  201. &ANALYZE-RESUME
  202. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  203. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  204. /* SETTINGS FOR DIALOG-BOX D-Dialog
  205. FRAME-NAME L-To-R */
  206. ASSIGN
  207. FRAME D-Dialog:SCROLLABLE = FALSE
  208. FRAME D-Dialog:HIDDEN = TRUE.
  209. /* SETTINGS FOR FILL-IN F_Betrag_1 IN FRAME D-Dialog
  210. 1 */
  211. /* SETTINGS FOR FILL-IN F_Betrag_2 IN FRAME D-Dialog
  212. 1 */
  213. /* SETTINGS FOR FILL-IN F_Betrag_3 IN FRAME D-Dialog
  214. 1 */
  215. /* SETTINGS FOR FILL-IN F_Betrag_4 IN FRAME D-Dialog
  216. 1 */
  217. /* SETTINGS FOR FILL-IN F_Betrag_5 IN FRAME D-Dialog
  218. 1 */
  219. /* SETTINGS FOR FILL-IN F_Datum IN FRAME D-Dialog
  220. 1 */
  221. /* SETTINGS FOR FILL-IN F_FibuKonto IN FRAME D-Dialog
  222. 1 */
  223. /* SETTINGS FOR FILL-IN F_MWST_1 IN FRAME D-Dialog
  224. 1 */
  225. /* SETTINGS FOR FILL-IN F_MWST_2 IN FRAME D-Dialog
  226. 1 */
  227. /* SETTINGS FOR FILL-IN F_MWST_3 IN FRAME D-Dialog
  228. 1 */
  229. /* SETTINGS FOR FILL-IN F_MWST_4 IN FRAME D-Dialog
  230. 1 */
  231. /* _RUN-TIME-ATTRIBUTES-END */
  232. &ANALYZE-RESUME
  233. /* Setting information for Queries and Browse Widgets fields */
  234. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX D-Dialog
  235. /* Query rebuild information for DIALOG-BOX D-Dialog
  236. _Options = "SHARE-LOCK"
  237. _Query is NOT OPENED
  238. */ /* DIALOG-BOX D-Dialog */
  239. &ANALYZE-RESUME
  240. /* ************************ Control Triggers ************************ */
  241. &Scoped-define SELF-NAME D-Dialog
  242. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL D-Dialog D-Dialog
  243. ON WINDOW-CLOSE OF FRAME D-Dialog /* OP-Gutschrift Buchen */
  244. DO:
  245. /* Add Trigger to equate WINDOW-CLOSE to END-ERROR. */
  246. APPLY "END-ERROR":U TO SELF.
  247. END.
  248. /* _UIB-CODE-BLOCK-END */
  249. &ANALYZE-RESUME
  250. &Scoped-define SELF-NAME Btn_OK
  251. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK D-Dialog
  252. ON CHOOSE OF Btn_OK IN FRAME D-Dialog /* OK */
  253. DO:
  254. DO WITH FRAME {&FRAME-NAME}:
  255. ASSIGN {&List-1}.
  256. IF F_Betrag_1 = 0 AND
  257. F_Betrag_2 = 0 AND
  258. F_Betrag_3 = 0 AND
  259. F_Betrag_4 = 0 THEN RETURN NO-APPLY.
  260. IF F_Datum = ? THEN F_Datum = TODAY.
  261. END.
  262. DISABLE Btn_OK WITH FRAME {&FRAME-NAME}.
  263. DISABLE Btn_Cancel WITH FRAME {&FRAME-NAME}.
  264. RUN OP_BUCHEN.
  265. ENABLE Btn_OK WITH FRAME {&FRAME-NAME}.
  266. ENABLE Btn_Cancel WITH FRAME {&FRAME-NAME}.
  267. END.
  268. /* _UIB-CODE-BLOCK-END */
  269. &ANALYZE-RESUME
  270. &Scoped-define SELF-NAME CB_MWST_1
  271. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST_1 D-Dialog
  272. ON VALUE-CHANGED OF CB_MWST_1 IN FRAME D-Dialog
  273. DO:
  274. i1 = INTEGER(SELF:SCREEN-VALUE).
  275. FIND FIRST tAnsatz
  276. WHERE tAnsatz.MWSt_Cd = i1
  277. AND tAnsatz.Ansatz = VAnsatz[01] NO-ERROR.
  278. IF NOT AVAILABLE tAnsatz THEN DO:
  279. FIND FIRST tAnsatz
  280. WHERE tAnsatz.Ansatz = VAnsatz[01] NO-ERROR.
  281. END.
  282. IF AVAILABLE tAnsatz THEN SELF:SCREEN-VALUE = STRING(tAnsatz.Mwst_Cd,'99').
  283. ELSE RETURN.
  284. VAnsatz[01] = tAnsatz.Ansatz.
  285. RUN RECHNEN.
  286. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  287. END.
  288. /* _UIB-CODE-BLOCK-END */
  289. &ANALYZE-RESUME
  290. &Scoped-define SELF-NAME CB_MWST_2
  291. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST_2 D-Dialog
  292. ON VALUE-CHANGED OF CB_MWST_2 IN FRAME D-Dialog
  293. DO:
  294. i1 = INTEGER(SELF:SCREEN-VALUE).
  295. FIND FIRST tAnsatz
  296. WHERE tAnsatz.MWSt_Cd = i1
  297. AND tAnsatz.Ansatz = VAnsatz[02] NO-ERROR.
  298. IF NOT AVAILABLE tAnsatz THEN DO:
  299. FIND FIRST tAnsatz
  300. WHERE tAnsatz.Ansatz = VAnsatz[02] NO-ERROR.
  301. END.
  302. IF AVAILABLE tAnsatz THEN SELF:SCREEN-VALUE = STRING(tAnsatz.Mwst_Cd,'99').
  303. ELSE RETURN.
  304. VAnsatz[02] = tAnsatz.Ansatz.
  305. RUN RECHNEN.
  306. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  307. END.
  308. /* _UIB-CODE-BLOCK-END */
  309. &ANALYZE-RESUME
  310. &Scoped-define SELF-NAME CB_MWST_3
  311. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST_3 D-Dialog
  312. ON VALUE-CHANGED OF CB_MWST_3 IN FRAME D-Dialog
  313. DO:
  314. i1 = INTEGER(SELF:SCREEN-VALUE).
  315. FIND FIRST tAnsatz
  316. WHERE tAnsatz.MWSt_Cd = i1
  317. AND tAnsatz.Ansatz = VAnsatz[03] NO-ERROR.
  318. IF NOT AVAILABLE tAnsatz THEN DO:
  319. FIND FIRST tAnsatz
  320. WHERE tAnsatz.Ansatz = VAnsatz[03] NO-ERROR.
  321. END.
  322. IF AVAILABLE tAnsatz THEN SELF:SCREEN-VALUE = STRING(tAnsatz.Mwst_Cd,'99').
  323. ELSE RETURN.
  324. VAnsatz[03] = tAnsatz.Ansatz.
  325. RUN RECHNEN.
  326. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  327. END.
  328. /* _UIB-CODE-BLOCK-END */
  329. &ANALYZE-RESUME
  330. &Scoped-define SELF-NAME CB_MWST_4
  331. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWST_4 D-Dialog
  332. ON VALUE-CHANGED OF CB_MWST_4 IN FRAME D-Dialog
  333. DO:
  334. i1 = INTEGER(SELF:SCREEN-VALUE).
  335. FIND FIRST tAnsatz
  336. WHERE tAnsatz.MWSt_Cd = i1
  337. AND tAnsatz.Ansatz = VAnsatz[04] NO-ERROR.
  338. IF NOT AVAILABLE tAnsatz THEN DO:
  339. FIND FIRST tAnsatz
  340. WHERE tAnsatz.Ansatz = VAnsatz[04] NO-ERROR.
  341. END.
  342. IF AVAILABLE tAnsatz THEN SELF:SCREEN-VALUE = STRING(tAnsatz.Mwst_Cd,'99').
  343. ELSE RETURN.
  344. VAnsatz[04] = tAnsatz.Ansatz.
  345. RUN RECHNEN.
  346. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  347. END.
  348. /* _UIB-CODE-BLOCK-END */
  349. &ANALYZE-RESUME
  350. &Scoped-define SELF-NAME F_Betrag_5
  351. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betrag_5 D-Dialog
  352. ON ENTRY OF F_Betrag_5 IN FRAME D-Dialog
  353. DO:
  354. APPLY 'TAB' TO SELF.
  355. END.
  356. /* _UIB-CODE-BLOCK-END */
  357. &ANALYZE-RESUME
  358. &UNDEFINE SELF-NAME
  359. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK D-Dialog
  360. /* *************************** Main Block *************************** */
  361. DEF VAR abDatum AS DATE FORMAT "99.99.9999" NO-UNDO.
  362. DEF VAR MwstDat AS DATE FORMAT "99.99.9999" NO-UNDO.
  363. FIND BSteuer USE-INDEX Steuer-k1
  364. WHERE BSteuer.Firma = GVFirma NO-LOCK NO-ERROR.
  365. DO WITH FRAME {&FRAME-NAME}:
  366. CB_MWST_1:DELIMITER = ";".
  367. CB_MWST_2:DELIMITER = ";".
  368. CB_MWST_3:DELIMITER = ";".
  369. CB_MWST_4:DELIMITER = ";".
  370. cMwstCB = ''.
  371. abDatum = DATE(01,01,YEAR(TODAY) - 1).
  372. FOR EACH Wust NO-LOCK USE-INDEX Wust-k2
  373. WHERE Wust.WuCd < 12
  374. AND Wust.Incl = FALSE:
  375. FIND LAST MWSTAns NO-LOCK
  376. WHERE MWSTAns.Mwst_Cd = Wust.WuCd
  377. AND MWSTAns.Datum <= TODAY NO-ERROR.
  378. IF NOT AVAILABLE MWSTAns THEN NEXT.
  379. MwstDat = MWSTAns.Datum.
  380. cMwstCB = cMwstCB + (IF cMwstCB = '' THEN '' ELSE ';')
  381. + MWSTAns.Bez
  382. + ';'
  383. + STRING(MWSTAns.Mwst_Cd,'99').
  384. CREATE tAnsatz.
  385. ASSIGN tAnsatz.Ansatz = MWSTAns.Ansatz
  386. tAnsatz.MWST_Cd = MWSTAns.MWSt_Cd.
  387. FIND LAST MWSTAns NO-LOCK
  388. WHERE MWSTAns.Mwst_Cd = Wust.WuCd
  389. AND MWSTAns.Datum < MwstDat NO-ERROR.
  390. IF NOT AVAILABLE MWSTAns THEN NEXT.
  391. IF MWSTAns.Datum < abDatum THEN NEXT.
  392. cMwstCB = cMwstCB + (IF cMwstCB = '' THEN '' ELSE ';')
  393. + MWSTAns.Bez
  394. + ';'
  395. + STRING(MWSTAns.Mwst_Cd,'99').
  396. CREATE tAnsatz.
  397. ASSIGN tAnsatz.Ansatz = MWSTAns.Ansatz
  398. tAnsatz.MWST_Cd = MWSTAns.MWSt_Cd.
  399. END.
  400. ASSIGN CB_MWST_1:LIST-ITEM-PAIRS = cMwstCB
  401. CB_MWST_2:LIST-ITEM-PAIRS = cMwstCB
  402. CB_MWST_3:LIST-ITEM-PAIRS = cMwstCB
  403. CB_MWST_4:LIST-ITEM-PAIRS = cMwstCB.
  404. DISPLAY {&List-1}.
  405. END.
  406. {src/adm/template/dialogmn.i}
  407. /* _UIB-CODE-BLOCK-END */
  408. &ANALYZE-RESUME
  409. /* ********************** Internal Procedures *********************** */
  410. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects D-Dialog _ADM-CREATE-OBJECTS
  411. PROCEDURE adm-create-objects :
  412. /*------------------------------------------------------------------------------
  413. Purpose: Create handles for all SmartObjects used in this procedure.
  414. After SmartObjects are initialized, then SmartLinks are added.
  415. Parameters: <none>
  416. ------------------------------------------------------------------------------*/
  417. END PROCEDURE.
  418. /* _UIB-CODE-BLOCK-END */
  419. &ANALYZE-RESUME
  420. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available D-Dialog _ADM-ROW-AVAILABLE
  421. PROCEDURE adm-row-available :
  422. /*------------------------------------------------------------------------------
  423. Purpose: Dispatched to this procedure when the Record-
  424. Source has a new row available. This procedure
  425. tries to get the new row (or foriegn keys) from
  426. the Record-Source and process it.
  427. Parameters: <none>
  428. ------------------------------------------------------------------------------*/
  429. /* Define variables needed by this internal procedure. */
  430. {src/adm/template/row-head.i}
  431. /* Process the newly available records (i.e. display fields,
  432. open queries, and/or pass records on to any RECORD-TARGETS). */
  433. {src/adm/template/row-end.i}
  434. END PROCEDURE.
  435. /* _UIB-CODE-BLOCK-END */
  436. &ANALYZE-RESUME
  437. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI D-Dialog _DEFAULT-DISABLE
  438. PROCEDURE disable_UI :
  439. /*------------------------------------------------------------------------------
  440. Purpose: DISABLE the User Interface
  441. Parameters: <none>
  442. Notes: Here we clean-up the user-interface by deleting
  443. dynamic widgets we have created and/or hide
  444. frames. This procedure is usually called when
  445. we are ready to "clean-up" after running.
  446. ------------------------------------------------------------------------------*/
  447. /* Hide all frames. */
  448. HIDE FRAME D-Dialog.
  449. END PROCEDURE.
  450. /* _UIB-CODE-BLOCK-END */
  451. &ANALYZE-RESUME
  452. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI D-Dialog _DEFAULT-ENABLE
  453. PROCEDURE enable_UI :
  454. /*------------------------------------------------------------------------------
  455. Purpose: ENABLE the User Interface
  456. Parameters: <none>
  457. Notes: Here we display/view/enable the widgets in the
  458. user-interface. In addition, OPEN all queries
  459. associated with each FRAME and BROWSE.
  460. These statements here are based on the "Other
  461. Settings" section of the widget Property Sheets.
  462. ------------------------------------------------------------------------------*/
  463. DISPLAY CB_MWST_1 F_Betrag_1 F_MWST_1 CB_MWST_2 F_Betrag_2 F_MWST_2 CB_MWST_3
  464. F_Betrag_3 F_MWST_3 CB_MWST_4 F_Betrag_4 F_MWST_4 F_Betrag_5 F_Datum
  465. F_FibuKonto
  466. WITH FRAME D-Dialog.
  467. ENABLE RECT-1 CB_MWST_1 F_Betrag_1 F_MWST_1 CB_MWST_2 F_Betrag_2 F_MWST_2
  468. CB_MWST_3 F_Betrag_3 F_MWST_3 CB_MWST_4 F_Betrag_4 F_MWST_4 Btn_OK
  469. Btn_Cancel F_Betrag_5 F_Datum F_FibuKonto
  470. WITH FRAME D-Dialog.
  471. VIEW FRAME D-Dialog.
  472. {&OPEN-BROWSERS-IN-QUERY-D-Dialog}
  473. END PROCEDURE.
  474. /* _UIB-CODE-BLOCK-END */
  475. &ANALYZE-RESUME
  476. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INTERFACE D-Dialog
  477. PROCEDURE INTERFACE :
  478. /*------------------------------------------------------------------------------
  479. Purpose:
  480. Parameters: <none>
  481. Notes:
  482. ------------------------------------------------------------------------------*/
  483. FOR EACH WFile WHERE WFile.Betrag <> 0
  484. BY WFile.Kto1:
  485. FIND LAST Interf USE-INDEX Interf-k1
  486. WHERE Interf.Firma = BSteuer.FBFirma
  487. AND Interf.TrNr1 = VTrNr1
  488. AND Interf.TrNr2 = VTrNr2 NO-LOCK NO-ERROR.
  489. IF AVAILABLE Interf THEN ix = Interf.Trnr + 1.
  490. ELSE ix = 1.
  491. CREATE Interf.
  492. ASSIGN Interf.Firma = BSteuer.FBFirma
  493. Interf.TrNr1 = VTrNr1
  494. Interf.TrNr2 = VTrNr2
  495. Interf.TrNr = ix
  496. Interf.Kto1 = WFile.Kto1
  497. Interf.Kto2 = WFile.Kto2
  498. Interf.Herk = TransNr.Herk
  499. Interf.Datum = F_Datum
  500. Interf.Buchtxt1 = VBuchtxt1
  501. Interf.Buchtxt2 = VBuchtxt2
  502. Interf.Betrag = WFile.Betrag
  503. Interf.Betrag_Frw = WFile.Betrag
  504. Interf.FRW = Debop.FRW
  505. Interf.Faktor = Debop.Faktor
  506. Interf.Kurs = Debop.Kurs
  507. Interf.Verbucht = FALSE
  508. Interf.Faknr = STRING(Debop.Faknr,"9999999")
  509. Interf.Knr = Debop.Knr
  510. Interf.MWST_Nr = ""
  511. Interf.MWST_Cd = WFile.MWST_Cd
  512. Interf.HKFirma = Debop.Firma.
  513. DELETE WFile.
  514. END.
  515. END PROCEDURE.
  516. /* _UIB-CODE-BLOCK-END */
  517. &ANALYZE-RESUME
  518. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view D-Dialog
  519. PROCEDURE local-view :
  520. /*------------------------------------------------------------------------------
  521. Purpose: Override standard ADM method
  522. Notes:
  523. ------------------------------------------------------------------------------*/
  524. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  525. {&WINDOW-NAME}:MOVE-TO-TOP().
  526. DO WITH FRAME {&FRAME-NAME}:
  527. F_Betrag_1 = VBuchen[01].
  528. F_Betrag_2 = VBuchen[02].
  529. F_Betrag_3 = VBuchen[03].
  530. F_Betrag_4 = VBuchen[04].
  531. F_Datum = TODAY.
  532. RUN RECHNEN.
  533. DO ix = 1 TO 4 WITH FRAME {&FRAME-NAME}:
  534. IF VBuchen[ix] = 0 THEN LEAVE.
  535. FIND FIRST tAnsatz WHERE tAnsatz.Ansatz = VAnsatz[ix] NO-ERROR.
  536. IF NOT AVAILABLE tAnsatz THEN NEXT.
  537. CASE ix:
  538. WHEN 1 THEN CB_MWST_1:SCREEN-VALUE = STRING(tAnsatz.MWSt_Cd,'99').
  539. WHEN 2 THEN CB_MWST_2:SCREEN-VALUE = STRING(tAnsatz.MWSt_Cd,'99').
  540. WHEN 3 THEN CB_MWST_3:SCREEN-VALUE = STRING(tAnsatz.MWSt_Cd,'99').
  541. WHEN 4 THEN CB_MWST_4:SCREEN-VALUE = STRING(tAnsatz.MWSt_Cd,'99').
  542. END CASE.
  543. END.
  544. FIND SteuNr USE-INDEX SteuNr-k1
  545. WHERE SteuNr.Firma = GVFirma NO-LOCK.
  546. F_FibuKonto = SteuNr.Konto_Ertrag.
  547. DEF VAR xKonto AS CHAR NO-UNDO.
  548. GET-KEY-VALUE SECTION 'Grundeinstellungen'
  549. KEY 'Bonuskonto'
  550. VALUE xKonto.
  551. IF xKonto <> ? AND
  552. xKonto <> '' THEN F_FibuKonto = xKonto.
  553. DISPLAY {&List-1}.
  554. IF VBuchen[01] = 0 THEN DISABLE CB_MWST_1 F_Betrag_1 F_MWST_1.
  555. IF VBuchen[02] = 0 THEN DISABLE CB_MWST_2 F_Betrag_2 F_MWST_2.
  556. IF VBuchen[03] = 0 THEN DISABLE CB_MWST_3 F_Betrag_3 F_MWST_3.
  557. IF VBuchen[04] = 0 THEN DISABLE CB_MWST_4 F_Betrag_4 F_MWST_4.
  558. END.
  559. {&WINDOW-NAME}:MOVE-TO-BOTTOM().
  560. END PROCEDURE.
  561. /* _UIB-CODE-BLOCK-END */
  562. &ANALYZE-RESUME
  563. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OP_BUCHEN D-Dialog
  564. PROCEDURE OP_BUCHEN :
  565. /*------------------------------------------------------------------------------
  566. Purpose:
  567. Parameters: <none>
  568. Notes:
  569. ------------------------------------------------------------------------------*/
  570. VWpfl = 0.
  571. VWust = 0.
  572. VWW = 0.
  573. Rundbetr = 0.
  574. FOR EACH WFile:
  575. DELETE WFile.
  576. END.
  577. FIND BonusAbr WHERE RECID(BonusAbr) = LVRecid NO-LOCK.
  578. FIND Steuer USE-INDEX Steuer-k1
  579. WHERE Steuer.Firma = GVFirma NO-LOCK.
  580. FIND SteuNr USE-INDEX SteuNr-k1
  581. WHERE SteuNr.Firma = GVFirma NO-LOCK.
  582. VKto_De = SteuNr.Konto_Debit.
  583. VKto_Ar = F_FibuKonto.
  584. IF VKto_Ar = '' THEN VKto_Ar = SteuNr.Konto_Ertrag.
  585. PUT-KEY-VALUE SECTION 'Grundeinstellungen'
  586. KEY 'Bonuskonto'
  587. VALUE VKto_Ar.
  588. DO WITH FRAME {&FRAME-NAME}:
  589. IF F_Betrag_1 <> 0 THEN DO:
  590. i1 = INTEGER(SUBSTRING(CB_MWST_1:SCREEN-VALUE,01,02)).
  591. VWpfl[i1] = VWpfl[i1] + F_Betrag_1.
  592. VWust[i1] = VWust[i1] + F_MWST_1.
  593. END.
  594. IF F_Betrag_2 <> 0 THEN DO:
  595. i1 = INTEGER(SUBSTRING(CB_MWST_2:SCREEN-VALUE,01,02)).
  596. VWpfl[i1] = VWpfl[i1] + F_Betrag_2.
  597. VWust[i1] = VWust[i1] + F_MWST_2.
  598. END.
  599. IF F_Betrag_3 <> 0 THEN DO:
  600. i1 = INTEGER(SUBSTRING(CB_MWST_3:SCREEN-VALUE,01,02)).
  601. VWpfl[i1] = VWpfl[i1] + F_Betrag_3.
  602. VWust[i1] = VWust[i1] + F_MWST_3.
  603. END.
  604. IF F_Betrag_4 <> 0 THEN DO:
  605. i1 = INTEGER(SUBSTRING(CB_MWST_4:SCREEN-VALUE,01,02)).
  606. VWpfl[i1] = VWpfl[i1] + F_Betrag_4.
  607. VWust[i1] = VWust[i1] + F_MWST_4.
  608. END.
  609. END.
  610. DO ix = 1 TO 12:
  611. VWpfl[ix] = - VWpfl[ix].
  612. VWust[ix] = - VWust[ix].
  613. VWW = VWW + VWpfl[ix].
  614. Rundbetr = Rundbetr + VWpfl[ix] + VWust[ix].
  615. END.
  616. Rundcode = 1.
  617. RUN "v8/runden.p".
  618. VFakbetr = Rundbetr.
  619. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  620. RUN "v8/steunr.p" ( INPUT 2, OUTPUT VFaknr ).
  621. IF RETURN-VALUE <> '' THEN RETURN.
  622. FIND Adresse USE-INDEX Adresse-k1
  623. WHERE Adresse.Firma = AdFirma
  624. AND Adresse.Knr = LVKnr NO-LOCK NO-ERROR.
  625. FIND Debst USE-INDEX Debst-k1
  626. WHERE Debst.Firma = GVFirma
  627. AND Debst.Knr = LVKnr.
  628. VBuchtxt1 = 'Bonusgutschrift:'
  629. + STRING(VFaknr," 999999").
  630. VBuchtxt2 = Adresse.Anzeig_Br.
  631. FIND Kondi USE-INDEX Kondi-k1
  632. WHERE Kondi.Sprcd = GVSprcd
  633. AND Kondi.Kond = Debst.Kond NO-LOCK NO-ERROR.
  634. IF NOT AVAILABLE Kondi THEN DO:
  635. FIND Kondi USE-INDEX Kondi-k1
  636. WHERE Kondi.Sprcd = GVSprcd
  637. AND Kondi.Kond = 1 NO-LOCK NO-ERROR.
  638. END.
  639. FIND LAST TransNr USE-INDEX TransNr-k1
  640. WHERE TransNr.Firma = StFirma NO-LOCK NO-ERROR.
  641. IF AVAILABLE TransNr THEN DO:
  642. VTrNr1 = TransNr.TrNr1 + 1.
  643. VTrNr2 = 1.
  644. END.
  645. ELSE DO:
  646. VTrNr1 = 1.
  647. VTrNr2 = 1.
  648. END.
  649. CREATE TransNr.
  650. ASSIGN TransNr.Firma = StFirma
  651. TransNr.TrNr1 = VTrNr1
  652. TransNr.TrNr2 = VTrNr2
  653. TransNr.Herk = 51.
  654. CREATE Debop.
  655. ASSIGN Debop.Firma = GVFirma
  656. Debop.Knr = LVKnr
  657. Debop.Faknr = VFaknr
  658. Debop.Fakdat = F_Datum
  659. Debop.Faellig = F_Datum + Kondi.Faellig
  660. Debop.Skber = 0
  661. Debop.WW = VWW
  662. Debop.Fakbetr = VFakBetr
  663. Debop.Saldo = VFakBetr
  664. Debop.Kond = Debst.Kond
  665. Debop.Transp = 0
  666. Debop.Porto = 0
  667. Debop.Verpack = 0
  668. Debop.Konto = VKto_De
  669. Debop.Vertr = Debst.Vertr
  670. Debop.Kte = 'BON'
  671. Debop.TrNr1 = VTrNr1
  672. Debop.TrNr2 = VTrNr2
  673. Debop.FRW = Steuer.Fwc03
  674. Debop.Kurs = 1.0
  675. Debop.Faktor = 1.
  676. IF Steuer.MWST = 0 THEN Debop.WustAbr = TRUE. /* vereinbahrt */
  677. ELSE Debop.WustAbr = FALSE. /* vereinnahmt */
  678. DO ix = 1 TO 12:
  679. FIND FIRST Wust USE-INDEX Wust-k2
  680. WHERE Wust.WuCd = ix NO-LOCK NO-ERROR.
  681. ASSIGN Debop.FakWpfl[ix] = VWpfl[ix]
  682. Debop.FakWust[ix] = VWust[ix].
  683. IF AVAILABLE Wust THEN DO:
  684. ASSIGN Debop.FakWPro[ix] = Wust.Proz
  685. Debop.FakIncl[ix] = Wust.Incl.
  686. END.
  687. END.
  688. CREATE Debfa.
  689. ASSIGN Debfa.Firma = Debop.Firma
  690. Debfa.Knr = Debop.Knr
  691. Debfa.Faknr = Debop.Faknr
  692. Debfa.Fakdat = Debop.Fakdat
  693. Debfa.Faellig = Debop.Faellig
  694. Debfa.Fakbetr = Debop.Fakbetr
  695. Debfa.Skber = Debop.Skber
  696. Debfa.WW = Debop.WW
  697. Debfa.Transp = Debop.Transp
  698. Debfa.Porto = Debop.Porto
  699. Debfa.Verpack = Debop.Verpack
  700. Debfa.Konto = Debop.Konto
  701. Debfa.Vertr = Debop.Vertr
  702. Debfa.Kte = Debop.Kte
  703. Debfa.TrNr1 = Debop.TrNr1
  704. Debfa.TrNr2 = Debop.TrNr2
  705. Debfa.FRW = Debop.FRW
  706. Debfa.Kurs = Debop.Kurs
  707. Debfa.Faktor = 1.
  708. DO ix = 1 TO 12:
  709. ASSIGN Debfa.FakWpfl[ix] = Debop.FakWpfl[ix]
  710. Debfa.FakWust[ix] = Debop.FakWust[ix].
  711. END.
  712. FIND LAST Debhi USE-INDEX Debhi-k1
  713. WHERE Debhi.Firma = Debop.Firma
  714. AND Debhi.Knr = Debop.Knr NO-LOCK NO-ERROR.
  715. IF AVAILABLE Debhi THEN ix = Debhi.Trnr + 1.
  716. ELSE ix = 1.
  717. CREATE Debhi.
  718. ASSIGN Debhi.Firma = Debop.Firma
  719. Debhi.Knr = Debop.Knr
  720. Debhi.Trnr = ix
  721. Debhi.Datum = Debop.Fakdat
  722. Debhi.Faknr = Debop.Faknr
  723. Debhi.Kte = Debop.Kte
  724. Debhi.Soll = Debop.Fakbetr
  725. Debhi.Transp = Debop.Transp
  726. Debhi.Porto = Debop.Porto
  727. Debhi.Verpack = Debop.Verpack
  728. Debhi.Konto = Debop.Konto
  729. Debhi.TrNr1 = Debop.TrNr1
  730. Debhi.TrNr2 = Debop.TrNr2
  731. Debhi.FRW = Debop.FRW
  732. Debhi.Kurs = 1.0
  733. Debhi.Faktor = 1
  734. Debhi.Saldo = Debst.Saldo + Debop.Fakbetr.
  735. IF Steuer.MWST = 0 THEN DO: /* Mehrwertsteuer vereinbart */
  736. CREATE Debwu.
  737. ASSIGN Debwu.Firma = Debop.Firma
  738. Debwu.Knr = Debop.Knr
  739. Debwu.Faknr = Debop.Faknr
  740. Debwu.Trnr = 1
  741. Debwu.Datum = Debop.Fakdat
  742. Debwu.Betrag = Debop.Fakbetr
  743. Debwu.Konto = Debop.Konto
  744. Debwu.Kte = Debop.Kte
  745. Debwu.TrNr1 = Debop.TrNr1
  746. Debwu.TrNr2 = Debop.TrNr2
  747. Debwu.FRW = Debop.FRW
  748. Debwu.Kurs = 1.0
  749. Debwu.Faktor = 1.
  750. DO ix = 1 TO 12:
  751. IF Debop.FakWpfl[ix] = 0 THEN NEXT.
  752. ASSIGN Debwu.Wustpfl[ix] = Debop.FakWpfl[ix]
  753. Debwu.Wust [ix] = Debop.FakWust[ix].
  754. END.
  755. END.
  756. /* ---- Interface fuer Mehrwertsteuer -------------------------------------- */
  757. DO ix = 1 TO 10:
  758. IF VWpfl[ix] = 0 THEN NEXT.
  759. FIND FIRST Wust USE-INDEX Wust-k2
  760. WHERE Wust.WuCd = ix NO-LOCK.
  761. IF Steuer.MWST = 0 THEN VKto_Wu = Wust.Konto.
  762. ELSE VKto_Wu = SteuNr.Konto_Wust_H.
  763. IF Wust.incl THEN DO:
  764. IF VKto_Ar <> VKto_Wu THEN DO:
  765. RundBetr = VWpfl[ix] / (100 + Wust.Proz) * Wust.Proz.
  766. Rundcode = 1.
  767. RUN "v8/runden.p".
  768. FIND FIRST WFile WHERE WFile.Kto1 = VKto_Ar
  769. AND WFile.Kto2 = VKto_Wu NO-ERROR.
  770. IF NOT AVAILABLE WFile THEN DO:
  771. CREATE WFile.
  772. ASSIGN WFile.Kto1 = VKto_Ar
  773. WFile.Kto2 = VKto_Wu
  774. WFile.MWST_Cd = 0.
  775. END.
  776. ASSIGN WFile.Betrag = WFile.Betrag + Rundbetr.
  777. END.
  778. END.
  779. ELSE DO:
  780. FIND FIRST WFile WHERE WFile.Kto1 = VKto_De
  781. AND WFile.Kto2 = VKto_Wu NO-ERROR.
  782. IF NOT AVAILABLE WFile THEN DO:
  783. CREATE WFile.
  784. ASSIGN WFile.Kto1 = VKto_De
  785. WFile.Kto2 = VKto_Wu
  786. WFile.MWST_Cd = 0.
  787. END.
  788. ASSIGN WFile.Betrag = WFile.Betrag + VWust[ix].
  789. END.
  790. END.
  791. RUN INTERFACE.
  792. Debst.Saldo = Debst.Saldo + Debop.Fakbetr.
  793. LVDat = BonusAbr.VonDatum.
  794. FOR EACH BBonusAbr USE-INDEX BonusAbr-k1
  795. WHERE BBonusAbr.Firma = GVFirma
  796. AND BBonusAbr.Bon_Sta = 0
  797. AND BBonusAbr.Knr = LVKnr
  798. AND BBonusAbr.VonDatum = LVDat.
  799. BBonusAbr.Bon_Sta = 1.
  800. END.
  801. LEAVE.
  802. END.
  803. END PROCEDURE.
  804. /* _UIB-CODE-BLOCK-END */
  805. &ANALYZE-RESUME
  806. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RECHNEN D-Dialog
  807. PROCEDURE RECHNEN :
  808. /*------------------------------------------------------------------------------
  809. Purpose:
  810. Parameters: <none>
  811. Notes:
  812. ------------------------------------------------------------------------------*/
  813. F_MWST_1 = F_Betrag_1 * VAnsatz[01] / 100.
  814. F_MWST_2 = F_Betrag_2 * VAnsatz[02] / 100.
  815. F_MWST_3 = F_Betrag_3 * VAnsatz[03] / 100.
  816. F_MWST_4 = F_Betrag_4 * VAnsatz[04] / 100.
  817. Rundbetr = F_Betrag_1 + F_Betrag_2 + F_Betrag_3 + F_Betrag_4
  818. + F_MWST_1 + F_MWST_2 + F_MWST_3 + F_MWST_4.
  819. Rundcode = 1.
  820. RUN "v8/runden.p".
  821. F_Betrag_5 = Rundbetr.
  822. END PROCEDURE.
  823. /* _UIB-CODE-BLOCK-END */
  824. &ANALYZE-RESUME
  825. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records D-Dialog _ADM-SEND-RECORDS
  826. PROCEDURE send-records :
  827. /*------------------------------------------------------------------------------
  828. Purpose: Send record ROWID's for all tables used by
  829. this file.
  830. Parameters: see template/snd-head.i
  831. ------------------------------------------------------------------------------*/
  832. /* SEND-RECORDS does nothing because there are no External
  833. Tables specified for this SmartDialog, and there are no
  834. tables specified in any contained Browse, Query, or Frame. */
  835. END PROCEDURE.
  836. /* _UIB-CODE-BLOCK-END */
  837. &ANALYZE-RESUME
  838. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed D-Dialog
  839. PROCEDURE state-changed :
  840. /* -----------------------------------------------------------
  841. Purpose:
  842. Parameters: <none>
  843. Notes:
  844. -------------------------------------------------------------*/
  845. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  846. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  847. END PROCEDURE.
  848. /* _UIB-CODE-BLOCK-END */
  849. &ANALYZE-RESUME