g-verbandsabr.w 34 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gVerband
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gVerband
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrdlg.w - ADM2 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 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 MaxPage AS INT NO-UNDO.
  28. DEF VAR AktSeite AS INT NO-UNDO.
  29. DEF VAR FMutFlag AS LOG NO-UNDO.
  30. DEF VAR Fenster AS HANDLE NO-UNDO.
  31. DEF VAR Verband_Grp AS INT NO-UNDO.
  32. DEF VAR Firma AS CHAR INIT '1000' NO-UNDO.
  33. DEF VAR AdFirma AS CHAR INIT '1000' NO-UNDO.
  34. DEF VAR Progname AS CHAR INIT '1000' NO-UNDO.
  35. DEF VAR FwSprcd AS INT NO-UNDO.
  36. DEF VAR RetVal AS CHAR NO-UNDO.
  37. DEF VAR Faknr AS INT NO-UNDO INIT 999999.
  38. DEF BUFFER BAdresse FOR Adresse.
  39. DEF BUFFER BDebst FOR Debst.
  40. DEF TEMP-TABLE TDebop LIKE Debop.
  41. DEF WORKFILE WDebop LIKE Debop.
  42. /* _UIB-CODE-BLOCK-END */
  43. &ANALYZE-RESUME
  44. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  45. /* ******************** Preprocessor Definitions ******************** */
  46. &Scoped-define PROCEDURE-TYPE SmartDialog
  47. &Scoped-define DB-AWARE no
  48. &Scoped-define ADM-CONTAINER DIALOG-BOX
  49. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  50. /* Name of first Frame and/or Browse and/or first Query */
  51. &Scoped-define FRAME-NAME gVerband
  52. /* Standard List Definitions */
  53. &Scoped-Define ENABLED-OBJECTS CB_Verband VonKnr BisKnr VonDatum BisDatum ~
  54. Fakturadatum FakKnr T_Verbuchen Btn_Excel F_Adresse RECT-37
  55. &Scoped-Define DISPLAYED-OBJECTS CB_Verband VonKnr BisKnr VonDatum BisDatum ~
  56. Fakturadatum FakKnr T_Verbuchen F_Adresse
  57. /* Custom List Definitions */
  58. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  59. &Scoped-define List-5 Btn_Excel
  60. &Scoped-define List-6 CB_Verband VonKnr BisKnr VonDatum BisDatum ~
  61. Fakturadatum FakKnr T_Verbuchen F_Adresse
  62. /* _UIB-PREPROCESSOR-BLOCK-END */
  63. &ANALYZE-RESUME
  64. /* *********************** Control Definitions ********************** */
  65. /* Define a dialog box */
  66. /* Definitions of the field level widgets */
  67. DEFINE BUTTON Btn_Excel
  68. IMAGE-UP FILE "grafik/results%.ico":U
  69. IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
  70. LABEL "Excel"
  71. SIZE 7 BY 1.81.
  72. DEFINE VARIABLE CB_Verband AS CHARACTER FORMAT "X(256)":U
  73. LABEL "Verband"
  74. VIEW-AS COMBO-BOX INNER-LINES 5
  75. LIST-ITEM-PAIRS "Item 1","Item 1"
  76. DROP-DOWN-LIST
  77. SIZE 46 BY 1
  78. BGCOLOR 15 NO-UNDO.
  79. DEFINE VARIABLE BisDatum AS DATE FORMAT "99.99.9999":U
  80. VIEW-AS FILL-IN NATIVE
  81. SIZE 16 BY 1
  82. BGCOLOR 15 NO-UNDO.
  83. DEFINE VARIABLE BisKnr AS INTEGER FORMAT "999999":U INITIAL 999999
  84. LABEL "-"
  85. VIEW-AS FILL-IN NATIVE
  86. SIZE 11 BY 1
  87. BGCOLOR 15 NO-UNDO.
  88. DEFINE VARIABLE FakKnr AS INTEGER FORMAT "999999":U INITIAL 0
  89. LABEL "Knr der Faktura"
  90. VIEW-AS FILL-IN NATIVE
  91. SIZE 11 BY 1
  92. BGCOLOR 15 NO-UNDO.
  93. DEFINE VARIABLE Fakturadatum AS DATE FORMAT "99.99.9999":U
  94. LABEL "Datum für Gesamtrechnung"
  95. VIEW-AS FILL-IN NATIVE
  96. SIZE 16 BY 1
  97. BGCOLOR 15 NO-UNDO.
  98. DEFINE VARIABLE F_Adresse AS CHARACTER FORMAT "X(256)":U
  99. VIEW-AS FILL-IN NATIVE
  100. SIZE 48 BY 1
  101. BGCOLOR 15 NO-UNDO.
  102. DEFINE VARIABLE VonDatum AS DATE FORMAT "99.99.9999":U INITIAL 01/01/00
  103. LABEL "von - bis Fakturadatum"
  104. VIEW-AS FILL-IN NATIVE
  105. SIZE 16 BY 1
  106. BGCOLOR 15 NO-UNDO.
  107. DEFINE VARIABLE VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
  108. LABEL "von - bis Kundennummer"
  109. VIEW-AS FILL-IN NATIVE
  110. SIZE 11 BY 1
  111. BGCOLOR 15 NO-UNDO.
  112. DEFINE RECTANGLE RECT-37
  113. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  114. SIZE 90 BY 9.05.
  115. DEFINE VARIABLE T_Verbuchen AS LOGICAL INITIAL no
  116. LABEL "Verbuchen nach Liste"
  117. VIEW-AS TOGGLE-BOX
  118. SIZE 45 BY 1 NO-UNDO.
  119. /* ************************ Frame Definitions *********************** */
  120. DEFINE FRAME gVerband
  121. CB_Verband AT ROW 2 COL 28 COLON-ALIGNED
  122. VonKnr AT ROW 3 COL 28 COLON-ALIGNED
  123. BisKnr AT ROW 3 COL 46 COLON-ALIGNED
  124. VonDatum AT ROW 4 COL 28 COLON-ALIGNED
  125. BisDatum AT ROW 4 COL 46 COLON-ALIGNED NO-LABEL
  126. Fakturadatum AT ROW 6 COL 28 COLON-ALIGNED
  127. FakKnr AT ROW 7 COL 28 COLON-ALIGNED
  128. T_Verbuchen AT ROW 8.33 COL 30
  129. Btn_Excel AT ROW 4 COL 82.2
  130. F_Adresse AT ROW 7 COL 39 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  131. RECT-37 AT ROW 1.24 COL 2
  132. SPACE(0.99) SKIP(0.22)
  133. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  134. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  135. TITLE "Verbandsabrechnung".
  136. /* *********************** Procedure Settings ************************ */
  137. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  138. /* Settings for THIS-PROCEDURE
  139. Type: SmartDialog
  140. Allow: Basic,Browse,DB-Fields,Query,Smart
  141. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  142. Design Page: 1
  143. Other Settings: COMPILE
  144. */
  145. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  146. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gVerband
  147. /* ************************* Included-Libraries *********************** */
  148. {src/adm2/containr.i}
  149. /* _UIB-CODE-BLOCK-END */
  150. &ANALYZE-RESUME
  151. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  152. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  153. /* SETTINGS FOR DIALOG-BOX gVerband
  154. Custom */
  155. ASSIGN
  156. FRAME gVerband:SCROLLABLE = FALSE
  157. FRAME gVerband:HIDDEN = TRUE.
  158. /* SETTINGS FOR FILL-IN BisDatum IN FRAME gVerband
  159. 6 */
  160. /* SETTINGS FOR FILL-IN BisKnr IN FRAME gVerband
  161. 6 */
  162. /* SETTINGS FOR BUTTON Btn_Excel IN FRAME gVerband
  163. 5 */
  164. /* SETTINGS FOR COMBO-BOX CB_Verband IN FRAME gVerband
  165. 6 */
  166. /* SETTINGS FOR FILL-IN FakKnr IN FRAME gVerband
  167. 6 */
  168. /* SETTINGS FOR FILL-IN Fakturadatum IN FRAME gVerband
  169. 6 */
  170. /* SETTINGS FOR FILL-IN F_Adresse IN FRAME gVerband
  171. 6 */
  172. ASSIGN
  173. F_Adresse:READ-ONLY IN FRAME gVerband = TRUE.
  174. /* SETTINGS FOR TOGGLE-BOX T_Verbuchen IN FRAME gVerband
  175. 6 */
  176. /* SETTINGS FOR FILL-IN VonDatum IN FRAME gVerband
  177. 6 */
  178. /* SETTINGS FOR FILL-IN VonKnr IN FRAME gVerband
  179. 6 */
  180. /* _RUN-TIME-ATTRIBUTES-END */
  181. &ANALYZE-RESUME
  182. /* Setting information for Queries and Browse Widgets fields */
  183. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gVerband
  184. /* Query rebuild information for DIALOG-BOX gVerband
  185. _Options = "SHARE-LOCK"
  186. _Query is NOT OPENED
  187. */ /* DIALOG-BOX gVerband */
  188. &ANALYZE-RESUME
  189. /* ************************ Control Triggers ************************ */
  190. &Scoped-define SELF-NAME gVerband
  191. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gVerband gVerband
  192. ON END-ERROR OF FRAME gVerband /* Verbandsabrechnung */
  193. DO:
  194. RUN ENDE.
  195. RETURN NO-APPLY.
  196. END.
  197. /* _UIB-CODE-BLOCK-END */
  198. &ANALYZE-RESUME
  199. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gVerband gVerband
  200. ON GO OF FRAME gVerband /* Verbandsabrechnung */
  201. DO:
  202. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  203. END.
  204. /* _UIB-CODE-BLOCK-END */
  205. &ANALYZE-RESUME
  206. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gVerband gVerband
  207. ON WINDOW-CLOSE OF FRAME gVerband /* Verbandsabrechnung */
  208. DO:
  209. RUN ENDE.
  210. RETURN NO-APPLY.
  211. END.
  212. /* _UIB-CODE-BLOCK-END */
  213. &ANALYZE-RESUME
  214. &Scoped-define SELF-NAME Btn_Excel
  215. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel gVerband
  216. ON CHOOSE OF Btn_Excel IN FRAME gVerband /* Excel */
  217. DO:
  218. DO WITH FRAME {&FRAME-NAME}:
  219. SESSION:SET-WAIT-STATE('GENEARL').
  220. Btn_Excel:VISIBLE = FALSE.
  221. RUN REPORT.
  222. Btn_Excel:VISIBLE = TRUE.
  223. SESSION:SET-WAIT-STATE('').
  224. RUN ENDE.
  225. END.
  226. END.
  227. /* _UIB-CODE-BLOCK-END */
  228. &ANALYZE-RESUME
  229. &Scoped-define SELF-NAME FakKnr
  230. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL FakKnr gVerband
  231. ON LEAVE OF FakKnr IN FRAME gVerband /* Knr der Faktura */
  232. DO:
  233. RUN KUNDE ( INPUT INTEGER(SELF:SCREEN-VALUE) ).
  234. IF RETURN-VALUE = 'ERROR' THEN DO:
  235. APPLY 'ENTRY' TO SELF.
  236. RETURN NO-APPLY.
  237. END.
  238. F_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = BAdresse.Anzeig_Br.
  239. END.
  240. /* _UIB-CODE-BLOCK-END */
  241. &ANALYZE-RESUME
  242. &UNDEFINE SELF-NAME
  243. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gVerband
  244. /* *************************** Main Block *************************** */
  245. MaxPage = 1.
  246. AktSeite = 1.
  247. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  248. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  249. ProgName = DYNAMIC-FUNCTION('MAKEPROGNAME':U, INPUT THIS-PROCEDURE) NO-ERROR.
  250. SESSION:DATA-ENTRY-RETURN = TRUE.
  251. /* TRIGGERS ------------------------------------------------------ */
  252. /* ------------------------------------------------------------------ */
  253. {src/adm2/dialogmn.i}
  254. /* _UIB-CODE-BLOCK-END */
  255. &ANALYZE-RESUME
  256. /* ********************** Internal Procedures *********************** */
  257. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gVerband _ADM-CREATE-OBJECTS
  258. PROCEDURE adm-create-objects :
  259. /*------------------------------------------------------------------------------
  260. Purpose: Create handles for all SmartObjects used in this procedure.
  261. After SmartObjects are initialized, then SmartLinks are added.
  262. Parameters: <none>
  263. ------------------------------------------------------------------------------*/
  264. END PROCEDURE.
  265. /* _UIB-CODE-BLOCK-END */
  266. &ANALYZE-RESUME
  267. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gVerband _DEFAULT-DISABLE
  268. PROCEDURE disable_UI :
  269. /*------------------------------------------------------------------------------
  270. Purpose: DISABLE the User Interface
  271. Parameters: <none>
  272. Notes: Here we clean-up the user-interface by deleting
  273. dynamic widgets we have created and/or hide
  274. frames. This procedure is usually called when
  275. we are ready to "clean-up" after running.
  276. ------------------------------------------------------------------------------*/
  277. /* Hide all frames. */
  278. HIDE FRAME gVerband.
  279. END PROCEDURE.
  280. /* _UIB-CODE-BLOCK-END */
  281. &ANALYZE-RESUME
  282. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gVerband
  283. PROCEDURE enableObject :
  284. /*------------------------------------------------------------------------------
  285. Purpose: Super Override
  286. Parameters:
  287. Notes:
  288. ------------------------------------------------------------------------------*/
  289. DEF VAR cString AS CHAR NO-UNDO.
  290. DO WITH FRAME {&FRAME-NAME}:
  291. RUN COMBO_VERBAND ( INPUT CB_Verband:HANDLE ).
  292. END.
  293. RUN SUPER.
  294. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  295. IF NOT VALID-HANDLE(Fenster)
  296. THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  297. IF VALID-HANDLE(Fenster) THEN Fenster = Fenster:FIRST-CHILD.
  298. DO WHILE VALID-HANDLE(Fenster).
  299. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  300. IF Fenster:TYPE = 'EDITOR' THEN LEAVE.
  301. IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
  302. IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
  303. IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
  304. GET-KEY-VALUE SECTION 'Verbandsabrechnung'
  305. KEY Fenster:NAME
  306. VALUE cString.
  307. IF cString = ? THEN LEAVE.
  308. Fenster:SCREEN-VALUE = cString NO-ERROR.
  309. LEAVE.
  310. END.
  311. Fenster = Fenster:NEXT-SIBLING.
  312. END.
  313. RUN LESENFWAUSWERTUNGEN ( INPUT FRAME {&FRAME-NAME}:HANDLE, INPUT Progname ) NO-ERROR.
  314. T_Verbuchen = FALSE.
  315. DISPLAY T_Verbuchen WITH FRAME {&FRAME-NAME}.
  316. END PROCEDURE.
  317. /* _UIB-CODE-BLOCK-END */
  318. &ANALYZE-RESUME
  319. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gVerband _DEFAULT-ENABLE
  320. PROCEDURE enable_UI :
  321. /*------------------------------------------------------------------------------
  322. Purpose: ENABLE the User Interface
  323. Parameters: <none>
  324. Notes: Here we display/view/enable the widgets in the
  325. user-interface. In addition, OPEN all queries
  326. associated with each FRAME and BROWSE.
  327. These statements here are based on the "Other
  328. Settings" section of the widget Property Sheets.
  329. ------------------------------------------------------------------------------*/
  330. DISPLAY CB_Verband VonKnr BisKnr VonDatum BisDatum Fakturadatum FakKnr
  331. T_Verbuchen F_Adresse
  332. WITH FRAME gVerband.
  333. ENABLE CB_Verband VonKnr BisKnr VonDatum BisDatum Fakturadatum FakKnr
  334. T_Verbuchen Btn_Excel F_Adresse RECT-37
  335. WITH FRAME gVerband.
  336. VIEW FRAME gVerband.
  337. {&OPEN-BROWSERS-IN-QUERY-gVerband}
  338. END PROCEDURE.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gVerband
  342. PROCEDURE ENDE :
  343. /*------------------------------------------------------------------------------
  344. Purpose:
  345. Parameters: <none>
  346. Notes:
  347. ------------------------------------------------------------------------------*/
  348. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  349. IF AktSeite > 1 THEN DO:
  350. RUN selectPage ( INPUT 1 ).
  351. RETURN NO-APPLY.
  352. END.
  353. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  354. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  355. RETURN NO-APPLY.
  356. END PROCEDURE.
  357. /* _UIB-CODE-BLOCK-END */
  358. &ANALYZE-RESUME
  359. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gVerband
  360. PROCEDURE exitObject :
  361. /*------------------------------------------------------------------------------
  362. Purpose: Super Override
  363. Parameters:
  364. Notes:
  365. ------------------------------------------------------------------------------*/
  366. RUN ENDE.
  367. RETURN NO-APPLY.
  368. END PROCEDURE.
  369. /* _UIB-CODE-BLOCK-END */
  370. &ANALYZE-RESUME
  371. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gVerband
  372. PROCEDURE KOPF :
  373. /*------------------------------------------------------------------------------
  374. Purpose:
  375. Parameters: <none>
  376. Notes:
  377. ------------------------------------------------------------------------------*/
  378. DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
  379. DEF VAR Zelle AS CHAR NO-UNDO.
  380. /*
  381. FIND Steuer USE-INDEX Steuer-k1
  382. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  383. Zelle = 'B1'.
  384. eh:Range(Zelle):SELECT.
  385. eh:SELECTION:VALUE = Steuer.Firma1.
  386. Zelle = 'D1'.
  387. eh:Range(Zelle):SELECT.
  388. eh:SELECTION:VALUE = 'Preisliste ' + xPreisgrp.
  389. Zelle = 'H1'.
  390. eh:Range(Zelle):SELECT.
  391. eh:SELECTION:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
  392. Zelle = 'B2'.
  393. eh:Range(Zelle):SELECT.
  394. eh:SELECTION:VALUE = Steuer.Ort.
  395. Zelle = 'D2'.
  396. eh:Range(Zelle):SELECT.
  397. eh:SELECTION:VALUE = ''.
  398. Zelle = 'H2'.
  399. eh:Range(Zelle):SELECT.
  400. eh:SELECTION:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  401. */
  402. END PROCEDURE.
  403. /* _UIB-CODE-BLOCK-END */
  404. &ANALYZE-RESUME
  405. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KUNDE gVerband
  406. PROCEDURE KUNDE :
  407. /*------------------------------------------------------------------------------
  408. Purpose:
  409. Parameters: <none>
  410. Notes:
  411. ------------------------------------------------------------------------------*/
  412. DEF INPUT PARAMETER ipKnr AS INT NO-UNDO.
  413. FIND BAdresse USE-INDEX Adresse-k1
  414. WHERE BAdresse.Firma = AdFirma
  415. AND BAdresse.Knr = ipKnr NO-LOCK NO-ERROR.
  416. IF NOT AVAILABLE BAdresse THEN RETURN 'ERROR'.
  417. IF NOT BAdresse.Aktiv THEN RETURN 'ERROR'.
  418. FIND BDebst USE-INDEX Debst-k1
  419. WHERE BDebst.Firma = Firma
  420. AND BDebst.Knr = ipKnr NO-LOCK NO-ERROR.
  421. IF NOT AVAILABLE BDebst THEN RETURN 'ERROR'.
  422. IF NOT BDebst.Aktiv THEN RETURN 'ERROR'.
  423. RETURN ''.
  424. END PROCEDURE.
  425. /* _UIB-CODE-BLOCK-END */
  426. &ANALYZE-RESUME
  427. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gVerband
  428. PROCEDURE REPORT :
  429. /*------------------------------------------------------------------------------
  430. Purpose:
  431. Parameters: <none>
  432. Notes:
  433. ------------------------------------------------------------------------------*/
  434. DEF VAR cString AS CHAR NO-UNDO.
  435. DEF VAR ix AS INT NO-UNDO.
  436. DEF VAR ii AS INT NO-UNDO.
  437. DEF VAR Betr1 AS DEC NO-UNDO EXTENT 3.
  438. DEF VAR Betr2 AS DEC NO-UNDO EXTENT 3.
  439. DEF VAR Betr3 AS DEC NO-UNDO EXTENT 3.
  440. DEF VAR Rab1 AS DEC NO-UNDO.
  441. DEF VAR Rab2 AS DEC NO-UNDO.
  442. DEF VAR Netto AS DEC NO-UNDO.
  443. DEF VAR VWpfl AS DEC NO-UNDO EXTENT 12.
  444. DEF VAR VWust AS DEC NO-UNDO EXTENT 12.
  445. DEF VAR OK AS LOG NO-UNDO.
  446. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  447. DEF VAR Vorlage AS CHAR NO-UNDO.
  448. DEF VAR Dokument AS CHAR NO-UNDO.
  449. DEF VAR Daten AS CHAR NO-UNDO.
  450. DEF VAR Zelle AS CHAR NO-UNDO.
  451. DO WITH FRAME {&FRAME-NAME}:
  452. ASSIGN {&List-6}.
  453. IF VonKnr = 0 AND BisKnr = 0 THEN BisKnr = 999999.
  454. IF VonDatum = ? THEN VonDatum = DATE(MONTH(TODAY),01,YEAR(TODAY)).
  455. IF BisDatum = ? THEN DO:
  456. BisDatum = VonDatum.
  457. DO WHILE MONTH(BisDatum) = MONTH(VonDatum):
  458. BisDatum = BisDatum + 1.
  459. END.
  460. BisDatum = BisDatum - 1.
  461. END.
  462. IF Fakturadatum = ? THEN Fakturadatum = TODAY.
  463. RUN KUNDE ( INPUT FakKnr ).
  464. IF RETURN-VALUE = 'ERROR' THEN RETURN.
  465. F_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = BAdresse.Anzeig_Br.
  466. Verband_Grp = INTEGER(CB_Verband:SCREEN-VALUE).
  467. DISPLAY {&List-6}.
  468. END.
  469. IF NOT VALID-HANDLE(Fenster)
  470. THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  471. IF VALID-HANDLE(Fenster) THEN Fenster = Fenster:FIRST-CHILD.
  472. DO WHILE VALID-HANDLE(Fenster).
  473. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  474. IF Fenster:TYPE = 'EDITOR' THEN LEAVE.
  475. IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
  476. IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
  477. IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
  478. cString = Fenster:SCREEN-VALUE.
  479. PUT-KEY-VALUE SECTION 'Verbandsabrechnung'
  480. KEY Fenster:NAME
  481. VALUE cString.
  482. LEAVE.
  483. END.
  484. Fenster = Fenster:NEXT-SIBLING.
  485. END.
  486. RUN SCHREIBENFWAUSWERTUNGEN
  487. ( INPUT FRAME {&FRAME-NAME}:HANDLE, INPUT Progname ) NO-ERROR.
  488. RUN SELEKTION.
  489. FIND FIRST TDebop NO-LOCK NO-ERROR.
  490. IF NOT AVAILABLE TDebop THEN RETURN.
  491. Vorlage = 'Verbandsabrechnung.xls'.
  492. Dokument = Vorlage + CHR(01) + Vorlage.
  493. Daten = 'Verbandsabrechnung.csv'.
  494. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  495. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  496. RUN FEHLER ( INPUT 1035 ).
  497. RETURN NO-APPLY.
  498. END.
  499. DO WHILE TRUE:
  500. RUN CREATEDATEI ( INPUT Dokument ).
  501. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  502. CASE RETURN-VALUE:
  503. WHEN 'ERROR-PARAMETER' THEN DO:
  504. RUN FEHLER ( INPUT 1036 ).
  505. RETURN NO-APPLY.
  506. END.
  507. WHEN 'ERROR-LOESCHEN' THEN DO:
  508. RUN FEHLER ( INPUT 1037 ).
  509. RETURN NO-APPLY.
  510. END.
  511. WHEN 'ERROR-VORLAGE' THEN DO:
  512. RUN FEHLER ( INPUT 1038 ).
  513. RETURN NO-APPLY.
  514. END.
  515. OTHERWISE DO:
  516. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  517. RETURN NO-APPLY.
  518. END.
  519. END CASE.
  520. LEAVE.
  521. END.
  522. Dokument = RETURN-VALUE.
  523. DO WHILE TRUE:
  524. RUN CREATEDATEI ( INPUT Daten ).
  525. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  526. CASE RETURN-VALUE:
  527. WHEN 'ERROR-PARAMETER' THEN DO:
  528. RUN FEHLER ( INPUT 1036 ).
  529. RETURN NO-APPLY.
  530. END.
  531. WHEN 'ERROR-LOESCHEN' THEN DO:
  532. RUN FEHLER ( INPUT 1037 ).
  533. RETURN NO-APPLY.
  534. END.
  535. WHEN 'ERROR-VORLAGE' THEN DO:
  536. RUN FEHLER ( INPUT 1038 ).
  537. RETURN NO-APPLY.
  538. END.
  539. OTHERWISE DO:
  540. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  541. RETURN NO-APPLY.
  542. END.
  543. END CASE.
  544. LEAVE.
  545. END.
  546. Daten = RETURN-VALUE.
  547. FIND Steuer USE-INDEX Steuer-k1
  548. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  549. IF T_Verbuchen THEN DO:
  550. RUN NUMMER_LOESEN ( INPUT 2, OUTPUT Faknr ).
  551. END.
  552. OUTPUT TO VALUE(Daten).
  553. PUT CONTROL '£' CHR(10).
  554. DO ix = 1 TO 11:
  555. CASE ix:
  556. WHEN 2 THEN PUT CONTROL '£' Steuer.Firma1 '££'.
  557. WHEN 3 THEN PUT CONTROL '£' Steuer.Firma2 '££'.
  558. WHEN 4 THEN PUT CONTROL '£' Steuer.Strasse '££'.
  559. WHEN 5 THEN PUT CONTROL '£' Steuer.Ort '££'.
  560. WHEN 6 THEN PUT CONTROL '£MWST-Nr : ' Steuer.MWST_Nr '££'.
  561. OTHERWISE PUT CONTROL '£££'.
  562. END CASE.
  563. PUT CONTROL BAdresse.Anschrift[ix] CHR(10).
  564. END.
  565. PUT CONTROL '£' CHR(10)
  566. '£' CHR(10)
  567. '£' CHR(10)
  568. '£Rechnung : '
  569. STRING(Faknr,'999999')
  570. '££'
  571. Steuer.Ort
  572. ', '
  573. STRING(Fakturadatum,'99.99.9999') CHR(10) '£' CHR(10).
  574. PUT CONTROL '£Knr£Filiale£Faknr£Ansatz1£Ansatz2£Total' CHR(10) '£' CHR(10).
  575. Betr1 = 0.
  576. Betr2 = 0.
  577. Betr3 = 0.
  578. VWpfl = 0.
  579. VWust = 0.
  580. FOR EACH TDebop USE-INDEX Debop-k1 NO-LOCK,
  581. FIRST Adresse USE-INDEX Adresse-k1
  582. WHERE Adresse.Firma = AdFirma
  583. AND Adresse.Knr = TDebop.Knr NO-LOCK
  584. BREAK BY TDebop.Knr
  585. BY TDebop.Faknr :
  586. IF FIRST-OF ( TDebop.Faknr ) THEN DO:
  587. Betr1[01] = 0.
  588. Betr2[01] = 0.
  589. Betr3[01] = 0.
  590. END.
  591. IF FIRST-OF ( TDebop.Knr ) THEN DO:
  592. Betr1[02] = 0.
  593. Betr2[02] = 0.
  594. Betr3[02] = 0.
  595. END.
  596. DO ix = 1 TO 11:
  597. VWpfl[ix] = VWpfl[ix] + TDebop.FakWpfl[ix].
  598. VWust[ix] = VWust[ix] + TDebop.FakWust[ix].
  599. IF ix = 11 THEN NEXT.
  600. IF TDebop.FakWpfl[ix] = 0 THEN NEXT.
  601. IF TDebop.FakWpro[ix] < 5 THEN ii = 1.
  602. ELSE ii = 2.
  603. CASE ii:
  604. WHEN 1 THEN DO:
  605. Betr1[01] = Betr1[01] + TDebop.FakWpfl[ix].
  606. Betr1[02] = Betr1[02] + TDebop.FakWpfl[ix].
  607. Betr1[03] = Betr1[03] + TDebop.FakWpfl[ix].
  608. END.
  609. WHEN 2 THEN DO:
  610. Betr2[01] = Betr2[01] + TDebop.FakWpfl[ix].
  611. Betr2[02] = Betr2[02] + TDebop.FakWpfl[ix].
  612. Betr2[03] = Betr2[03] + TDebop.FakWpfl[ix].
  613. END.
  614. END CASE.
  615. END.
  616. Betr3[01] = Betr3[01] + TDebop.FakBetr.
  617. Betr3[02] = Betr3[02] + TDebop.FakBetr.
  618. Betr3[03] = Betr3[03] + TDebop.FakBetr.
  619. PUT CONTROL '£'
  620. STRING(TDebop.Knr ,'999999') '£'
  621. Adresse.Anzeig_Br '£'
  622. STRING(TDebop.Faknr ,'999999') '£'
  623. TRIM(STRING(Betr1[01],'->>>>>>>>9.99')) '£'
  624. TRIM(STRING(Betr2[01],'->>>>>>>>9.99')) '£'
  625. TRIM(STRING(Betr3[01],'->>>>>>>>9.99')) CHR(10).
  626. END.
  627. PUT CONTROL '£' CHR(10)
  628. 'Total aller Rechnungen££££'
  629. TRIM(STRING(Betr1[03],'->>>>>>>>9.99')) '£'
  630. TRIM(STRING(Betr2[03],'->>>>>>>>9.99')) '£'
  631. TRIM(STRING(Betr3[03],'->>>>>>>>9.99')) CHR(10).
  632. Rab1 = Betr1[03] * 4.0 / 100 * -1.
  633. Rab2 = Betr2[03] * 3.2 / 100 * -1.
  634. Netto = Betr3[03] + Rab1 + Rab2.
  635. PUT CONTROL '£Rabatt 4.0% auf Ansatz 1£££££'
  636. TRIM(STRING(Rab1,'->>>>>>>>9.99')) CHR(10).
  637. PUT CONTROL '£Rabatt 3.2% auf Ansatz 2£££££'
  638. TRIM(STRING(Rab2,'->>>>>>>>9.99')) CHR(10).
  639. PUT CONTROL 'Netto-Rechnungsbetrag££££££'
  640. TRIM(STRING(Netto,'->>>>>>>>9.99')) CHR(10) '£' CHR(10).
  641. PUT CONTROL 'Mehrwertsteueraufstellung' CHR(10).
  642. DO ix = 1 TO 11:
  643. IF VWpfl[ix] = 0 THEN NEXT.
  644. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  645. WHERE MWSTAns.MWST_Cd = ix
  646. AND MWSTAns.Datum <= Fakturadatum NO-LOCK.
  647. PUT CONTROL '££'
  648. MWSTAns.Bez '££'
  649. TRIM(STRING(VWpfl[ix],'->>>>>>>>9.99')) '£'
  650. TRIM(STRING(MWSTAns.Ansatz,'z9.99')) '£'
  651. TRIM(STRING(VWust[ix],'->>>>>>>>9.99')) CHR(10).
  652. END.
  653. OUTPUT CLOSE.
  654. RUN OPENEXCEL ( INPUT excelAppl,
  655. INPUT Dokument,
  656. INPUT '',
  657. OUTPUT ok ).
  658. IF NOT ok THEN DO:
  659. RUN FEHLER ( INPUT 1040 ).
  660. RETURN NO-APPLY.
  661. END.
  662. Zelle = 'A1'.
  663. excelAppl:Range(Zelle):SELECT.
  664. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + Daten.
  665. excelAppl:Application:RUN ( 'DateiEinfügen' ).
  666. RUN KOPF ( INPUT excelAppl ).
  667. Zelle = 'A1'.
  668. excelAppl:Range(Zelle):SELECT.
  669. excelAppl:Selection:ColumnWidth = 0.3.
  670. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  671. IF T_Verbuchen THEN RUN VERBUCHEN.
  672. END PROCEDURE.
  673. /* _UIB-CODE-BLOCK-END */
  674. &ANALYZE-RESUME
  675. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION gVerband
  676. PROCEDURE SELEKTION :
  677. /*------------------------------------------------------------------------------
  678. Purpose:
  679. Parameters: <none>
  680. Notes:
  681. ------------------------------------------------------------------------------*/
  682. FOR EACH TDebop:
  683. DELETE TDebop.
  684. END.
  685. FOR EACH Debop USE-INDEX Debop-k1
  686. WHERE Debop.Firma = Firma
  687. AND Debop.Knr >= VonKnr
  688. AND Debop.Knr <= BisKnr
  689. AND Debop.FakDat >= VonDatum
  690. AND Debop.FakDat <= BisDatum
  691. AND Debop.Saldo = Debop.FakBetr NO-LOCK,
  692. FIRST Debst USE-INDEX Debst-k1
  693. WHERE Debst.Firma = Debop.Firma
  694. AND Debst.Knr = Debop.Knr
  695. AND Debst.Verband_Grp = Verband_Grp NO-LOCK:
  696. CREATE TDebop.
  697. BUFFER-COPY Debop TO TDebop.
  698. END.
  699. END PROCEDURE.
  700. /* _UIB-CODE-BLOCK-END */
  701. &ANALYZE-RESUME
  702. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERBUCHEN gVerband
  703. PROCEDURE VERBUCHEN :
  704. /*------------------------------------------------------------------------------
  705. Purpose:
  706. Parameters: <none>
  707. Notes:
  708. ------------------------------------------------------------------------------*/
  709. DEF VAR ix AS INT NO-UNDO.
  710. DEF VAR VTrNr1 AS INT NO-UNDO.
  711. DEF VAR VTrNr2 AS INT NO-UNDO.
  712. DEF VAR ja AS LOG NO-UNDO INIT FALSE.
  713. MESSAGE 'Wollen Sie die verbuchung starten ? '
  714. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  715. UPDATE ja.
  716. IF NOT Ja THEN RETURN.
  717. FIND FIRST Kondi USE-INDEX Kondi-k1
  718. WHERE Kondi.Kond = BDebst.Kond NO-LOCK NO-ERROR.
  719. REPEAT TRANSACTION:
  720. FIND LAST TransNr USE-INDEX TransNr-k1
  721. WHERE TransNr.Firma = '9999' NO-LOCK NO-ERROR.
  722. IF AVAILABLE TransNr THEN DO:
  723. VTrNr1 = TransNr.TrNr1 + 1.
  724. VTrNr2 = 1.
  725. END.
  726. ELSE DO:
  727. VTrNr1 = 1.
  728. VTrNr2 = 1.
  729. END.
  730. CREATE TransNr.
  731. ASSIGN TransNr.Firma = '9999'
  732. TransNr.TrNr1 = VTrNr1
  733. TransNr.TrNr2 = VTrNr2
  734. TransNr.Herk = 69.
  735. FOR EACH WDebop:
  736. DELETE WDebop.
  737. END.
  738. CREATE WDebop.
  739. ASSIGN WDebop.Firma = Firma
  740. WDebop.Knr = BDebst.Knr
  741. WDebop.Faknr = Faknr
  742. WDebop.Fakdat = Fakturadatum
  743. WDebop.Faellig = Fakturadatum + Kondi.Faellig
  744. WDebop.Kond = BDebst.Kond
  745. WDebop.Kte = 'VERB'
  746. WDebop.Vertr = 0
  747. WDebop.TrNr1 = VTrNr1
  748. WDebop.TrNr2 = VTrNr2.
  749. FIND FIRST TDebop NO-LOCK.
  750. ASSIGN WDebop.MahDat = ?
  751. WDebop.MahAnz = 0
  752. WDebop.MahStu = 0
  753. WDebop.Konto = TDebop.Konto
  754. WDebop.WustAbr = TDebop.WustAbr
  755. WDebop.FRW = TDebop.FRW
  756. WDebop.Kurs = TDebop.Kurs
  757. WDebop.Faktor = TDebop.Faktor.
  758. FOR EACH TDebop:
  759. FIND FIRST WDebop.
  760. ASSIGN WDebop.Saldo = WDebop.Saldo + TDebop.Saldo
  761. WDebop.Fakbetr = WDebop.Fakbetr + TDebop.Fakbetr
  762. WDebop.Zahbetr = WDebop.Zahbetr + TDebop.Zahbetr
  763. WDebop.Skonto = WDebop.Skonto + TDebop.Skonto
  764. WDebop.Skber = WDebop.Skber + TDebop.Skber
  765. WDebop.WW = WDebop.WW + TDebop.WW
  766. WDebop.Porto = WDebop.Porto + TDebop.Porto
  767. WDebop.Verpack = WDebop.Verpack + TDebop.Verpack
  768. WDebop.Transp = WDebop.Transp + TDebop.Transp.
  769. DO ix = 1 TO 12:
  770. IF TDebop.Fakwpfl[ix] = 0 THEN NEXT.
  771. ASSIGN WDebop.Fakwpfl[ix] = WDebop.Fakwpfl[ix] + TDebop.Fakwpfl[ix]
  772. WDebop.Fakwust[ix] = WDebop.Fakwust[ix] + TDebop.Fakwust[ix]
  773. WDebop.Fakwpro[ix] = TDebop.Fakwpro[ix]
  774. WDebop.Fakincl[ix] = TDebop.Fakincl[ix].
  775. END.
  776. FIND Debst WHERE Debst.Firma = TDebop.Firma
  777. AND Debst.Knr = TDebop.Knr.
  778. FIND Debop WHERE Debop.Firma = TDebop.Firma
  779. AND Debop.Knr = TDebop.Knr
  780. AND Debop.Faknr = TDebop.Faknr.
  781. Debst.Saldo = Debst.Saldo - TDebop.Saldo.
  782. FIND LAST Debhi USE-INDEX Debhi-k1
  783. WHERE Debhi.Firma = TDebop.Firma
  784. AND Debhi.Knr = TDebop.Knr NO-LOCK NO-ERROR.
  785. IF AVAILABLE Debhi THEN ix = Debhi.Trnr + 1.
  786. ELSE ix = 1.
  787. CREATE Debhi.
  788. ASSIGN Debhi.Firma = TDebop.Firma
  789. Debhi.Knr = TDebop.Knr
  790. Debhi.Trnr = ix
  791. Debhi.TrNr1 = VTrNr1
  792. Debhi.TrNr2 = VTrNr2
  793. Debhi.Datum = Fakturadatum
  794. Debhi.Faknr = TDebop.Faknr
  795. Debhi.Haben = TDebop.Saldo
  796. Debhi.Kte = 'VERB'
  797. Debhi.Konto = TDebop.Konto
  798. Debhi.Skonto = 0
  799. Debhi.Saldo = Debst.Saldo
  800. Debhi.FRW = TDebop.Frw
  801. Debhi.Kurs = TDebop.Kurs
  802. Debhi.Faktor = TDebop.Faktor.
  803. DELETE Debop.
  804. END.
  805. FIND FIRST WDebop.
  806. FIND Debst WHERE Debst.Firma = WDebop.Firma
  807. AND Debst.Knr = WDebop.Knr.
  808. Debst.Saldo = Debst.Saldo + WDebop.Saldo.
  809. CREATE Debop.
  810. BUFFER-COPY WDebop TO Debop.
  811. FIND LAST Debhi USE-INDEX Debhi-k1
  812. WHERE Debhi.Firma = WDebop.Firma
  813. AND Debhi.Knr = WDebop.Knr NO-LOCK NO-ERROR.
  814. IF AVAILABLE Debhi THEN ix = Debhi.Trnr + 1.
  815. ELSE ix = 1.
  816. CREATE Debhi.
  817. ASSIGN Debhi.Firma = WDebop.Firma
  818. Debhi.Knr = WDebop.Knr
  819. Debhi.Trnr = ix
  820. Debhi.TrNr1 = VTrNr1
  821. Debhi.TrNr2 = VTrNr2
  822. Debhi.Datum = Fakturadatum
  823. Debhi.Faknr = WDebop.Faknr
  824. Debhi.Haben = 0
  825. Debhi.Soll = WDebop.Saldo
  826. Debhi.Kte = 'VERB'
  827. Debhi.Konto = WDebop.Konto
  828. Debhi.Skonto = 0
  829. Debhi.Saldo = Debst.Saldo
  830. Debhi.FRW = WDebop.Frw
  831. Debhi.Kurs = WDebop.Kurs
  832. Debhi.Faktor = WDebop.Faktor.
  833. LEAVE.
  834. END.
  835. END PROCEDURE.
  836. /* _UIB-CODE-BLOCK-END */
  837. &ANALYZE-RESUME