b-p_debwu.w 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. /* Temp-Table and Buffer definitions */
  8. DEFINE TEMP-TABLE XSchrift NO-UNDO LIKE Schrift.
  9. DEFINE NEW SHARED TEMP-TABLE XTermOut NO-UNDO LIKE TermOut.
  10. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS B-table-Win
  11. /*------------------------------------------------------------------------
  12. File:
  13. Description: from BROWSER.W - Basic SmartBrowser Object Template
  14. Input Parameters:
  15. <none>
  16. Output Parameters:
  17. <none>
  18. ------------------------------------------------------------------------*/
  19. /* This .W file was created with the Progress UIB. */
  20. /*----------------------------------------------------------------------*/
  21. /* Create an unnamed pool to store all the widgets created
  22. by this procedure. This is a good default which assures
  23. that this procedure's triggers and internal procedures
  24. will execute in this procedure's storage, and that proper
  25. cleanup will occur on deletion of the procedure. */
  26. CREATE WIDGET-POOL.
  27. /* *************************** Definitions ************************** */
  28. /* Parameters Definitions --- */
  29. /* Local Variable Definitions --- */
  30. DEF VAR AltSchname LIKE Schrift.Schname NO-UNDO.
  31. DEF VAR QOpen AS LOG NO-UNDO.
  32. DEF VAR FOpen AS LOG NO-UNDO.
  33. DEF VAR OBreite AS INT.
  34. DEF VAR VProgname AS CHAR NO-UNDO.
  35. DEF VAR ARecid AS RECID INIT -1 NO-UNDO.
  36. DEF VAR BRecid AS RECID INIT -1 NO-UNDO.
  37. DEF VAR FInit AS LOG NO-UNDO.
  38. /* ------------------------------------------------------------------------- */
  39. DEF VAR VFaknr LIKE Debza.Faknr FORMAT "9999999".
  40. DEF VAR BFaknr LIKE Debza.Faknr FORMAT "9999999".
  41. DEF VAR VKnr LIKE Debza.Knr.
  42. DEF VAR BKnr LIKE Debza.Knr.
  43. DEF VAR VSuchbe LIKE Adresse.Suchbe.
  44. DEF VAR BSuchbe LIKE Adresse.Suchbe.
  45. DEF VAR VDatum LIKE Debwu.Datum.
  46. DEF VAR BDatum LIKE Debwu.Datum.
  47. DEF VAR VKto LIKE Debwu.Konto.
  48. DEF VAR BKto LIKE Debwu.Konto.
  49. DEF VAR VBetrag AS INT FORMAT "99999999-".
  50. DEF VAR BBetrag AS INT FORMAT "99999999-".
  51. DEF VAR VRekap AS LOG FORMAT "1/0".
  52. DEF VAR VDruDat AS DATE FORMAT "99.99.9999".
  53. DEF VAR XDatum AS DATE.
  54. DEF VAR VZeile AS CHAR FORMAT "x(200)".
  55. DEF VAR RRand AS INT INIT 0.
  56. DEF VAR VUebertrag AS DEC.
  57. DEF VAR VUeberSko AS DEC.
  58. DEF VAR VSkonto AS DEC.
  59. DEF VAR cDrucker AS CHAR NO-UNDO.
  60. DEF BUFFER BAdresse FOR Adresse.
  61. DEF BUFFER BDebwu FOR Debwu.
  62. DEF TEMP-TABLE TMWST FIELD Cd AS INT
  63. FIELD Ansatz AS DEC
  64. FIELD Wpfl AS DEC
  65. FIELD Wust AS DEC
  66. FIELD Skon AS DEC
  67. FIELD Inkl AS LOG
  68. FIELD TotB AS DEC.
  69. /* ---------- Globale Variablen ---------------------------------- */
  70. { v8/globvar.i" " " " "SHARED" }
  71. { v8/debivar.i " " " " "SHARED" }
  72. { v8/artivar.i " " " " "SHARED" }
  73. { v8/contvar.i " " " " "SHARED" }
  74. { v8/listtitv.i "NEW" "SHARED" }
  75. /* _UIB-CODE-BLOCK-END */
  76. &ANALYZE-RESUME
  77. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  78. /* ******************** Preprocessor Definitions ******************** */
  79. &Scoped-define PROCEDURE-TYPE SmartBrowser
  80. &Scoped-define DB-AWARE no
  81. &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
  82. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  83. &Scoped-define FRAME-NAME F-Main
  84. &Scoped-define BROWSE-NAME Br_Druckername
  85. /* Internal Tables (found by Frame, Query & Browse Queries) */
  86. &Scoped-define INTERNAL-TABLES XSchrift Schrift
  87. /* Define KEY-PHRASE in case it is used by any query. */
  88. &Scoped-define KEY-PHRASE TRUE
  89. /* Definitions for BROWSE Br_Druckername */
  90. &Scoped-define FIELDS-IN-QUERY-Br_Druckername XSchrift.Schname
  91. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Druckername
  92. &Scoped-define QUERY-STRING-Br_Druckername FOR EACH XSchrift WHERE ~{&KEY-PHRASE} NO-LOCK ~
  93. ~{&SORTBY-PHRASE}
  94. &Scoped-define OPEN-QUERY-Br_Druckername OPEN QUERY Br_Druckername FOR EACH XSchrift WHERE ~{&KEY-PHRASE} NO-LOCK ~
  95. ~{&SORTBY-PHRASE}.
  96. &Scoped-define TABLES-IN-QUERY-Br_Druckername XSchrift
  97. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Druckername XSchrift
  98. /* Definitions for BROWSE Br_Schriftbild */
  99. &Scoped-define FIELDS-IN-QUERY-Br_Schriftbild Schrift.Schbild
  100. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Schriftbild
  101. &Scoped-define QUERY-STRING-Br_Schriftbild FOR EACH Schrift NO-LOCK ~
  102. BY Schrift.Schbild
  103. &Scoped-define OPEN-QUERY-Br_Schriftbild OPEN QUERY Br_Schriftbild FOR EACH Schrift NO-LOCK ~
  104. BY Schrift.Schbild.
  105. &Scoped-define TABLES-IN-QUERY-Br_Schriftbild Schrift
  106. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Schriftbild Schrift
  107. /* Definitions for FRAME F-Main */
  108. /* Standard List Definitions */
  109. &Scoped-Define ENABLED-FIELDS Listen.VNr[1] Listen.BNr[1] Listen.VNr[2] ~
  110. Listen.BNr[2] Listen.VDa[1] Listen.BDa[1]
  111. &Scoped-define ENABLED-TABLES Listen
  112. &Scoped-define FIRST-ENABLED-TABLE Listen
  113. &Scoped-Define ENABLED-OBJECTS Br_Schriftbild Br_Druckername F_Sort F_TZZ ~
  114. F_KZZ F_FZZ F_LQ F_KOPIE F_SCHACHT Btn_Start Btn_Ende RECT-10 RECT-11 ~
  115. RECT-12 RECT-13 RECT-17
  116. &Scoped-Define DISPLAYED-FIELDS Listen.VNr[1] Listen.BNr[1] Listen.VNr[2] ~
  117. Listen.BNr[2] Listen.VDa[1] Listen.BDa[1]
  118. &Scoped-define DISPLAYED-TABLES Listen
  119. &Scoped-define FIRST-DISPLAYED-TABLE Listen
  120. &Scoped-Define DISPLAYED-OBJECTS F_USER F_Programm F_Zeichen F_Sort F_TZZ ~
  121. F_KZZ F_FZZ F_LQ F_KOPIE F_SCHACHT
  122. /* Custom List Definitions */
  123. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  124. &Scoped-define List-1 F_Sort F_TZZ F_KZZ F_FZZ
  125. &Scoped-define List-2 Listen.VNr[1] Listen.BNr[1] Listen.VNr[2] ~
  126. Listen.BNr[2] Listen.VDa[1] Listen.BDa[1]
  127. /* _UIB-PREPROCESSOR-BLOCK-END */
  128. &ANALYZE-RESUME
  129. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  130. /* Actions: ? adm/support/keyedit.w ? ? ? */
  131. /* STRUCTURED-DATA
  132. <KEY-OBJECT>
  133. &BROWSE-NAME
  134. </KEY-OBJECT>
  135. <FOREIGN-KEYS>
  136. </FOREIGN-KEYS
  137. ><EXECUTING-CODE>
  138. **************************
  139. * Set attributes related to FOREIGN KEYS
  140. */
  141. RUN set-attribute-list (
  142. 'Keys-Accepted = "",
  143. Keys-Supplied = ""':U).
  144. /**************************
  145. </EXECUTING-CODE> */
  146. /* _UIB-CODE-BLOCK-END */
  147. &ANALYZE-RESUME
  148. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  149. /* Actions: ? adm/support/advqedit.w ? ? ? */
  150. /* STRUCTURED-DATA
  151. <KEY-OBJECT>
  152. &BROWSE-NAME
  153. </KEY-OBJECT>
  154. <SORTBY-OPTIONS>
  155. </SORTBY-OPTIONS>
  156. <SORTBY-RUN-CODE>
  157. ************************
  158. * Set attributes related to SORTBY-OPTIONS */
  159. RUN set-attribute-list (
  160. 'SortBy-Options = ""':U).
  161. /************************
  162. </SORTBY-RUN-CODE>
  163. <FILTER-ATTRIBUTES>
  164. </FILTER-ATTRIBUTES> */
  165. /* _UIB-CODE-BLOCK-END */
  166. &ANALYZE-RESUME
  167. /* *********************** Control Definitions ********************** */
  168. /* Definitions of the field level widgets */
  169. DEFINE BUTTON Btn_Ende
  170. LABEL "&Ende"
  171. SIZE 14 BY 1.
  172. DEFINE BUTTON Btn_Start
  173. LABEL "&Starten"
  174. SIZE 14 BY 1.
  175. DEFINE VARIABLE F_FZZ AS INTEGER FORMAT "999":U INITIAL 0
  176. LABEL "Fusszeilen"
  177. VIEW-AS FILL-IN NATIVE
  178. SIZE 6 BY 1.05 TOOLTIP "Wieviele Zeilen müssen am Ende der Seite leer bleiben"
  179. BGCOLOR 15 NO-UNDO.
  180. DEFINE VARIABLE F_KOPIE AS INTEGER FORMAT "9":U INITIAL 0
  181. LABEL "Anz. Kopien"
  182. VIEW-AS FILL-IN NATIVE
  183. SIZE 4.2 BY 1.05 TOOLTIP "Anzahl Listenkopien"
  184. BGCOLOR 15 NO-UNDO.
  185. DEFINE VARIABLE F_KZZ AS INTEGER FORMAT "999":U INITIAL 0
  186. LABEL "Kopfzeilen"
  187. VIEW-AS FILL-IN NATIVE
  188. SIZE 6 BY 1.05 TOOLTIP "Wieviele leere Kopfzeilen müssen gedruckt werden"
  189. BGCOLOR 15 NO-UNDO.
  190. DEFINE VARIABLE F_LQ AS LOGICAL FORMAT "j/n":U INITIAL NO
  191. LABEL "Schönschrift"
  192. VIEW-AS FILL-IN NATIVE
  193. SIZE 4.2 BY 1.05 TOOLTIP "Wieviele Zeilen müssen am Ende der Seite leer bleiben"
  194. BGCOLOR 15 NO-UNDO.
  195. DEFINE VARIABLE F_Programm AS CHARACTER FORMAT "X(20)":U INITIAL "DEBWU"
  196. LABEL "Programm"
  197. VIEW-AS FILL-IN NATIVE
  198. SIZE 20 BY 1
  199. BGCOLOR 15 NO-UNDO.
  200. DEFINE VARIABLE F_SCHACHT AS INTEGER FORMAT "9":U INITIAL 0
  201. LABEL "Schacht"
  202. VIEW-AS FILL-IN NATIVE
  203. SIZE 4.2 BY 1.05 TOOLTIP "Welcher Schacht muss angesteuer werden"
  204. BGCOLOR 15 NO-UNDO.
  205. DEFINE VARIABLE F_TZZ AS INTEGER FORMAT "999":U INITIAL 0
  206. LABEL "Zeilen"
  207. VIEW-AS FILL-IN NATIVE
  208. SIZE 6 BY 1.05 TOOLTIP "Wieviele Zeilen hat die ganze Seite"
  209. BGCOLOR 15 NO-UNDO.
  210. DEFINE VARIABLE F_USER AS CHARACTER FORMAT "X(20)":U
  211. LABEL "Benutzer"
  212. VIEW-AS FILL-IN NATIVE
  213. SIZE 20 BY 1
  214. BGCOLOR 15 NO-UNDO.
  215. DEFINE VARIABLE F_Zeichen AS INTEGER FORMAT "zzz,zzz,zz9":U INITIAL 0
  216. LABEL "Anz. Zeichen"
  217. VIEW-AS FILL-IN NATIVE
  218. SIZE 20 BY 1
  219. BGCOLOR 15 NO-UNDO.
  220. DEFINE VARIABLE F_Sort AS INTEGER
  221. VIEW-AS RADIO-SET VERTICAL
  222. RADIO-BUTTONS
  223. "Fakturanummer", 1,
  224. "Kundennummer", 2,
  225. "Zahlungsdatum", 3
  226. SIZE 29 BY 2.48 NO-UNDO.
  227. DEFINE RECTANGLE RECT-10
  228. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  229. SIZE 40 BY 4.14.
  230. DEFINE RECTANGLE RECT-11
  231. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  232. SIZE 95 BY 9.33.
  233. DEFINE RECTANGLE RECT-12
  234. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  235. SIZE 40 BY 4.52.
  236. DEFINE RECTANGLE RECT-13
  237. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  238. SIZE 123.2 BY 1.81.
  239. DEFINE RECTANGLE RECT-17
  240. EDGE-PIXELS 5 GRAPHIC-EDGE NO-FILL
  241. SIZE 143 BY 17.
  242. /* Query definitions */
  243. &ANALYZE-SUSPEND
  244. DEFINE QUERY Br_Druckername FOR
  245. XSchrift SCROLLING.
  246. DEFINE QUERY Br_Schriftbild FOR
  247. Schrift SCROLLING.
  248. &ANALYZE-RESUME
  249. /* Browse definitions */
  250. DEFINE BROWSE Br_Druckername
  251. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Druckername B-table-Win _STRUCTURED
  252. QUERY Br_Druckername NO-LOCK DISPLAY
  253. XSchrift.Schname COLUMN-LABEL "Drucker" FORMAT "x(50)":U
  254. /* _UIB-CODE-BLOCK-END */
  255. &ANALYZE-RESUME
  256. WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 50 BY 8.57
  257. BGCOLOR 15 .
  258. DEFINE BROWSE Br_Schriftbild
  259. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Schriftbild B-table-Win _STRUCTURED
  260. QUERY Br_Schriftbild DISPLAY
  261. Schrift.Schbild FORMAT "x(30)":U
  262. /* _UIB-CODE-BLOCK-END */
  263. &ANALYZE-RESUME
  264. WITH NO-ROW-MARKERS SEPARATORS SIZE 35 BY 8.57
  265. BGCOLOR 15 .
  266. /* ************************ Frame Definitions *********************** */
  267. DEFINE FRAME F-Main
  268. Br_Schriftbild AT ROW 1.67 COL 60
  269. Br_Druckername AT ROW 1.67 COL 5
  270. F_USER AT ROW 1.81 COL 110 COLON-ALIGNED
  271. F_Programm AT ROW 2.91 COL 110 COLON-ALIGNED
  272. F_Zeichen AT ROW 4.05 COL 110 COLON-ALIGNED
  273. F_Sort AT ROW 7 COL 105 NO-LABEL
  274. F_TZZ AT ROW 11.67 COL 11.4 COLON-ALIGNED
  275. F_KZZ AT ROW 11.67 COL 31 COLON-ALIGNED
  276. F_FZZ AT ROW 11.67 COL 49.8 COLON-ALIGNED
  277. F_LQ AT ROW 11.67 COL 70.2 COLON-ALIGNED
  278. F_KOPIE AT ROW 11.67 COL 90.2 COLON-ALIGNED
  279. F_SCHACHT AT ROW 11.67 COL 105.8 COLON-ALIGNED
  280. Listen.VNr[1] AT ROW 13.38 COL 34 COLON-ALIGNED HELP
  281. ""
  282. LABEL "von - bis Fakturanummer" FORMAT "9999999"
  283. VIEW-AS FILL-IN NATIVE
  284. SIZE 11 BY 1.05
  285. BGCOLOR 15
  286. Listen.BNr[1] AT ROW 13.38 COL 56.4 COLON-ALIGNED HELP
  287. "" NO-LABEL FORMAT "9999999"
  288. VIEW-AS FILL-IN NATIVE
  289. SIZE 11 BY 1.05
  290. BGCOLOR 15
  291. Listen.VNr[2] AT ROW 14.62 COL 34 COLON-ALIGNED
  292. LABEL "von - bis Kundennummer" FORMAT "999999"
  293. VIEW-AS FILL-IN NATIVE
  294. SIZE 11 BY 1.05
  295. BGCOLOR 15
  296. Listen.BNr[2] AT ROW 14.62 COL 56.4 COLON-ALIGNED NO-LABEL FORMAT "999999"
  297. VIEW-AS FILL-IN NATIVE
  298. SIZE 11 BY 1.05
  299. BGCOLOR 15
  300. Listen.VDa[1] AT ROW 15.86 COL 34 COLON-ALIGNED
  301. LABEL "von - bis Datum" FORMAT "99.99.9999"
  302. VIEW-AS FILL-IN NATIVE
  303. SIZE 16 BY 1.05
  304. BGCOLOR 15
  305. Listen.BDa[1] AT ROW 15.86 COL 56.4 COLON-ALIGNED NO-LABEL FORMAT "99.99.9999"
  306. VIEW-AS FILL-IN NATIVE
  307. SIZE 16 BY 1.05
  308. BGCOLOR 15
  309. Btn_Start AT ROW 13.67 COL 111.4
  310. Btn_Ende AT ROW 15.19 COL 111.4
  311. "--" VIEW-AS TEXT
  312. SIZE 1.4 BY 1.05 AT ROW 13.38 COL 55.6
  313. "--" VIEW-AS TEXT
  314. SIZE 1.4 BY 1.05 AT ROW 14.62 COL 55.6
  315. "--" VIEW-AS TEXT
  316. SIZE 1.4 BY 1.05 AT ROW 15.86 COL 55.6
  317. RECT-10 AT ROW 1.48 COL 100
  318. RECT-11 AT ROW 1.48 COL 3
  319. RECT-12 AT ROW 6.38 COL 100
  320. RECT-13 AT ROW 11.33 COL 3.8
  321. RECT-17 AT ROW 1 COL 1
  322. WITH 1 DOWN KEEP-TAB-ORDER OVERLAY
  323. SIDE-LABELS NO-UNDERLINE THREE-D
  324. AT COL 1 ROW 1 SCROLLABLE
  325. TITLE "Drucken Mehrwertsteuerjournal".
  326. /* *********************** Procedure Settings ************************ */
  327. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  328. /* Settings for THIS-PROCEDURE
  329. Type: SmartBrowser
  330. Allow: Basic,Browse
  331. Frames: 1
  332. Add Fields to: EXTERNAL-TABLES
  333. Other Settings: PERSISTENT-ONLY COMPILE
  334. Temp-Tables and Buffers:
  335. TABLE: XSchrift T "?" NO-UNDO Anadat Schrift
  336. TABLE: XTermOut T "NEW SHARED" NO-UNDO AnaDat TermOut
  337. END-TABLES.
  338. */
  339. /* This procedure should always be RUN PERSISTENT. Report the error, */
  340. /* then cleanup and return. */
  341. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  342. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  343. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  344. RETURN.
  345. END.
  346. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  347. /* ************************* Create Window ************************** */
  348. &ANALYZE-SUSPEND _CREATE-WINDOW
  349. /* DESIGN Window definition (used by the UIB)
  350. CREATE WINDOW B-table-Win ASSIGN
  351. HEIGHT = 18
  352. WIDTH = 144.
  353. /* END WINDOW DEFINITION */
  354. */
  355. &ANALYZE-RESUME
  356. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  357. /* ************************* Included-Libraries *********************** */
  358. {src/adm/method/browser.i}
  359. /* _UIB-CODE-BLOCK-END */
  360. &ANALYZE-RESUME
  361. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  362. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  363. /* SETTINGS FOR WINDOW B-table-Win
  364. NOT-VISIBLE,,RUN-PERSISTENT */
  365. /* SETTINGS FOR FRAME F-Main
  366. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  367. /* BROWSE-TAB Br_Schriftbild 1 F-Main */
  368. /* BROWSE-TAB Br_Druckername Br_Schriftbild F-Main */
  369. ASSIGN
  370. FRAME F-Main:SCROLLABLE = FALSE
  371. FRAME F-Main:HIDDEN = TRUE.
  372. /* SETTINGS FOR FILL-IN Listen.BDa[1] IN FRAME F-Main
  373. 2 EXP-LABEL EXP-FORMAT */
  374. /* SETTINGS FOR FILL-IN Listen.BNr[1] IN FRAME F-Main
  375. 2 EXP-LABEL EXP-FORMAT EXP-HELP */
  376. /* SETTINGS FOR FILL-IN Listen.BNr[2] IN FRAME F-Main
  377. 2 EXP-LABEL EXP-FORMAT */
  378. /* SETTINGS FOR FILL-IN F_FZZ IN FRAME F-Main
  379. 1 */
  380. /* SETTINGS FOR FILL-IN F_KZZ IN FRAME F-Main
  381. 1 */
  382. /* SETTINGS FOR FILL-IN F_Programm IN FRAME F-Main
  383. NO-ENABLE */
  384. /* SETTINGS FOR RADIO-SET F_Sort IN FRAME F-Main
  385. 1 */
  386. /* SETTINGS FOR FILL-IN F_TZZ IN FRAME F-Main
  387. 1 */
  388. /* SETTINGS FOR FILL-IN F_USER IN FRAME F-Main
  389. NO-ENABLE */
  390. /* SETTINGS FOR FILL-IN F_Zeichen IN FRAME F-Main
  391. NO-ENABLE */
  392. /* SETTINGS FOR FILL-IN Listen.VDa[1] IN FRAME F-Main
  393. 2 EXP-LABEL EXP-FORMAT */
  394. /* SETTINGS FOR FILL-IN Listen.VNr[1] IN FRAME F-Main
  395. 2 EXP-LABEL EXP-FORMAT EXP-HELP */
  396. /* SETTINGS FOR FILL-IN Listen.VNr[2] IN FRAME F-Main
  397. 2 EXP-LABEL EXP-FORMAT */
  398. /* _RUN-TIME-ATTRIBUTES-END */
  399. &ANALYZE-RESUME
  400. /* Setting information for Queries and Browse Widgets fields */
  401. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Druckername
  402. /* Query rebuild information for BROWSE Br_Druckername
  403. _TblList = "Temp-Tables.XSchrift"
  404. _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
  405. _FldNameList[1] > Temp-Tables.XSchrift.Schname
  406. "XSchrift.Schname" "Drucker" "x(50)" "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  407. _Query is NOT OPENED
  408. */ /* BROWSE Br_Druckername */
  409. &ANALYZE-RESUME
  410. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Schriftbild
  411. /* Query rebuild information for BROWSE Br_Schriftbild
  412. _TblList = "Anadat.Schrift"
  413. _OrdList = "Anadat.Schrift.Schbild|yes"
  414. _FldNameList[1] = Anadat.Schrift.Schbild
  415. _Query is NOT OPENED
  416. */ /* BROWSE Br_Schriftbild */
  417. &ANALYZE-RESUME
  418. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  419. /* Query rebuild information for FRAME F-Main
  420. _Options = "NO-LOCK"
  421. _Query is NOT OPENED
  422. */ /* FRAME F-Main */
  423. &ANALYZE-RESUME
  424. /* ************************ Control Triggers ************************ */
  425. &Scoped-define SELF-NAME F-Main
  426. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main B-table-Win
  427. ON GO OF FRAME F-Main /* Drucken Mehrwertsteuerjournal */
  428. DO:
  429. DO TRANSACTION:
  430. FIND Listen WHERE RECID(Listen) = ARecid.
  431. Listen.Listfl = ''.
  432. END.
  433. RUN new-state ('drucken_ende':U).
  434. END.
  435. /* _UIB-CODE-BLOCK-END */
  436. &ANALYZE-RESUME
  437. &Scoped-define BROWSE-NAME Br_Druckername
  438. &Scoped-define SELF-NAME Br_Druckername
  439. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
  440. ON ROW-ENTRY OF Br_Druckername IN FRAME F-Main
  441. DO:
  442. /* This code displays initial values for newly added or copied rows. */
  443. {src/adm/template/brsentry.i}
  444. END.
  445. /* _UIB-CODE-BLOCK-END */
  446. &ANALYZE-RESUME
  447. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
  448. ON ROW-LEAVE OF Br_Druckername IN FRAME F-Main
  449. DO:
  450. /* Do not disable this code or no updates will take place except
  451. by pressing the Save button on an Update SmartPanel. */
  452. {src/adm/template/brsleave.i}
  453. END.
  454. /* _UIB-CODE-BLOCK-END */
  455. &ANALYZE-RESUME
  456. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
  457. ON VALUE-CHANGED OF Br_Druckername IN FRAME F-Main
  458. DO:
  459. {src/adm/template/brschnge.i}
  460. ASchname = XSchrift.Schname.
  461. OPEN QUERY Br_Schriftbild
  462. FOR EACH Schrift WHERE Schrift.Schname = ASchname NO-LOCK.
  463. FIND BSchrift WHERE BSchrift.Schname = ASchname
  464. AND BSchrift.Schbild = ASchbild NO-LOCK NO-ERROR.
  465. IF AVAILABLE BSchrift THEN DO:
  466. REPOSITION Br_Schriftbild TO RECID RECID(BSchrift) NO-ERROR.
  467. Br_Schriftbild:SELECT-FOCUSED-ROW() IN FRAME {&FRAME-NAME}.
  468. Br_Schriftbild:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
  469. END.
  470. ELSE DO:
  471. APPLY 'VALUE-CHANGED' TO BROWSE Br_Schriftbild.
  472. END.
  473. END.
  474. /* _UIB-CODE-BLOCK-END */
  475. &ANALYZE-RESUME
  476. &Scoped-define BROWSE-NAME Br_Schriftbild
  477. &Scoped-define SELF-NAME Br_Schriftbild
  478. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
  479. ON ROW-ENTRY OF Br_Schriftbild IN FRAME F-Main
  480. DO:
  481. /* This code displays initial values for newly added or copied rows. */
  482. {src/adm/template/brsentry.i}
  483. END.
  484. /* _UIB-CODE-BLOCK-END */
  485. &ANALYZE-RESUME
  486. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
  487. ON ROW-LEAVE OF Br_Schriftbild IN FRAME F-Main
  488. DO:
  489. /* Do not disable this code or no updates will take place except
  490. by pressing the Save button on an Update SmartPanel. */
  491. {src/adm/template/brsleave.i}
  492. END.
  493. /* _UIB-CODE-BLOCK-END */
  494. &ANALYZE-RESUME
  495. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
  496. ON VALUE-CHANGED OF Br_Schriftbild IN FRAME F-Main
  497. DO:
  498. {src/adm/template/brschnge.i}
  499. IF ASchbild <> Schrift.Schbild THEN DO:
  500. ASSIGN F_TZZ = Schrift.Schzztot
  501. F_KZZ = Schrift.Schzzbeg
  502. F_FZZ = Schrift.Schzzend.
  503. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  504. END.
  505. ASchbild = Schrift.Schbild.
  506. END.
  507. /* _UIB-CODE-BLOCK-END */
  508. &ANALYZE-RESUME
  509. &Scoped-define SELF-NAME Btn_Ende
  510. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ende B-table-Win
  511. ON CHOOSE OF Btn_Ende IN FRAME F-Main /* Ende */
  512. DO:
  513. DO TRANSACTION:
  514. FIND Listen WHERE RECID(Listen) = ARecid.
  515. Listen.Listfl = ''.
  516. END.
  517. { v8/druck_ende.i }
  518. RUN new-state ('Seite_1':U).
  519. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  520. END.
  521. /* _UIB-CODE-BLOCK-END */
  522. &ANALYZE-RESUME
  523. &Scoped-define SELF-NAME Btn_Start
  524. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Start B-table-Win
  525. ON CHOOSE OF Btn_Start IN FRAME F-Main /* Starten */
  526. DO:
  527. DO TRANSACTION WITH FRAME {&FRAME-NAME}:
  528. ASSIGN {&List-1}.
  529. FIND Listen WHERE RECID(Listen) = ARecid.
  530. FIND LiDruck WHERE RECID(LiDruck) = BRecid.
  531. ASSIGN Breite = F_Zeichen
  532. Listen.Sort = F_Sort
  533. Listen.ProgWahl = F_Sort
  534. LiDruck.Listtzz = F_TZZ
  535. LiDruck.Listkzz = F_KZZ
  536. LiDruck.Listfzz = F_FZZ
  537. LiDruck.Listlq = F_LQ
  538. LiDruck.ListCopy = F_KOPIE
  539. LiDruck.Schacht = F_SCHACHT
  540. LiDruck.Listdru = XSchrift.Schname
  541. LiDruck.Listbild = Schrift.Schbild.
  542. IF LiDruck.ListCopy = 0 THEN LiDruck.ListCopy = 1.
  543. ASSIGN {&List-2}.
  544. IF VNr[01] = 0 AND BNr[01] = 0 THEN Bnr[01] = 999999.
  545. IF VNr[01] > BNr[01] THEN BNr[01] = VNr[01].
  546. IF VNr[02] = 0 AND BNr[02] = 0 THEN Bnr[02] = 999999.
  547. IF VNr[02] > BNr[02] THEN BNr[02] = VNr[02].
  548. IF VDa[01] = ? THEN VDa[01] = 01/01/1901.
  549. IF BDa[01] = ? THEN BDa[01] = DATE(31,12,YEAR(TODAY)).
  550. DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}.
  551. ASSIGN LiDruck.ProgWahl = Listen.ProgWahl
  552. LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99').
  553. RELEASE Listen .
  554. RELEASE LiDruck.
  555. END.
  556. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK.
  557. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK.
  558. DISABLE Btn_Start WITH FRAME {&FRAME-NAME}.
  559. DISABLE Btn_Ende WITH FRAME {&FRAME-NAME}.
  560. RUN LIBILD.
  561. RUN DRUCKEN.
  562. DO TRANSACTION WITH FRAME {&FRAME-NAME}:
  563. FIND Listen WHERE RECID(Listen) = ARecid.
  564. ASSIGN Listen.Listfl = ''.
  565. RELEASE Listen .
  566. END.
  567. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK.
  568. ENABLE Btn_Start WITH FRAME {&FRAME-NAME}.
  569. ENABLE Btn_Ende WITH FRAME {&FRAME-NAME}.
  570. RETURN NO-APPLY.
  571. END.
  572. /* _UIB-CODE-BLOCK-END */
  573. &ANALYZE-RESUME
  574. &Scoped-define BROWSE-NAME Br_Druckername
  575. &UNDEFINE SELF-NAME
  576. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  577. /* *************************** Main Block *************************** */
  578. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  579. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  580. &ENDIF
  581. ON END-ERROR ANYWHERE
  582. DO:
  583. DO TRANSACTION:
  584. FIND Listen WHERE RECID(Listen) = ARecid.
  585. Listen.Listfl = ''.
  586. RELEASE Listen.
  587. END.
  588. END.
  589. /* _UIB-CODE-BLOCK-END */
  590. &ANALYZE-RESUME
  591. /* ********************** Internal Procedures *********************** */
  592. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABSCHLUSS B-table-Win
  593. PROCEDURE ABSCHLUSS :
  594. /*------------------------------------------------------------------------------
  595. Purpose:
  596. Parameters: <none>
  597. Notes:
  598. ------------------------------------------------------------------------------*/
  599. IF VUebertrag = 0 THEN RETURN.
  600. { v8/putzeile.i "1" }
  601. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(Helptext[12],21,20)).
  602. SUBSTRING(VZeile,072) = STRING(VUebertrag,"z,zzz,zz9.99-").
  603. { v8/putzeilf.i "2" }
  604. Zuszz = 1.
  605. FOR EACH TMWST:
  606. Zuszz = Zuszz + 1.
  607. END.
  608. RUN LISTTIT2.
  609. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(Helptext[13],01,30)).
  610. FOR EACH TMWST BY TMWST.Cd
  611. BY TMWST.Ansatz :
  612. IF TMWST.Cd = 11 THEN DO:
  613. SUBSTRING(VZeile,048) = STRING('Steuerfrei',"x(10)").
  614. END.
  615. IF TMWST.Cd = 10 THEN DO:
  616. SUBSTRING(VZeile,048) = STRING('Export ',"x(10)").
  617. END.
  618. IF TMWST.Cd < 10 THEN DO:
  619. SUBSTRING(VZeile,048) = STRING('MWSt ' + STRING(TMWST.inkl,"inkl/exkl"),"x(10)").
  620. SUBSTRING(VZeile,059) = STRING(TMWST.Ansatz,"z9.99%").
  621. END.
  622. IF TMWST.Cd < 12 THEN SUBSTRING(VZeile,110) = STRING(TMWST.Cd,"z9").
  623. IF TMWST.TotB <> 0 THEN
  624. SUBSTRING(VZeile,072) = STRING(TMWST.TotB ,"z,zzz,zz9.99-").
  625. IF TMWST.Wpfl <> 0 THEN
  626. SUBSTRING(VZeile,085) = STRING(TMWST.Wpfl ,"z,zzz,zz9.99-").
  627. IF TMWST.Wust <> 0 THEN
  628. SUBSTRING(VZeile,098) = STRING(TMWST.Wust ,"zzz,zz9.99-").
  629. IF TMWST.Cd < 12 THEN DO:
  630. { v8/putzeile.i "1" }
  631. END.
  632. ELSE DO:
  633. { v8/putzeilf.i "1" }
  634. END.
  635. END.
  636. END PROCEDURE.
  637. /* _UIB-CODE-BLOCK-END */
  638. &ANALYZE-RESUME
  639. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  640. PROCEDURE adm-row-available :
  641. /*------------------------------------------------------------------------------
  642. Purpose: Dispatched to this procedure when the Record-
  643. Source has a new row available. This procedure
  644. tries to get the new row (or foriegn keys) from
  645. the Record-Source and process it.
  646. Parameters: <none>
  647. ------------------------------------------------------------------------------*/
  648. /* Define variables needed by this internal procedure. */
  649. {src/adm/template/row-head.i}
  650. /* Process the newly available records (i.e. display fields,
  651. open queries, and/or pass records on to any RECORD-TARGETS). */
  652. {src/adm/template/row-end.i}
  653. END PROCEDURE.
  654. /* _UIB-CODE-BLOCK-END */
  655. &ANALYZE-RESUME
  656. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE B-table-Win
  657. PROCEDURE AUSGABE :
  658. /*------------------------------------------------------------------------------
  659. Purpose:
  660. Parameters: <none>
  661. Notes:
  662. ------------------------------------------------------------------------------*/
  663. DEF VAR dAnsatz AS DEC NO-UNDO.
  664. DEF VAR fInkl AS LOG NO-UNDO.
  665. DEF VAR cAdresse AS CHAR NO-UNDO.
  666. DEF VAR j1 AS INT NO-UNDO.
  667. DEF VAR j2 AS INT NO-UNDO.
  668. VSkonto = 0.
  669. DO ix = 1 TO 11:
  670. VSkonto = VSkonto + BDebwu.Skonto[ix].
  671. END.
  672. FIND Debop WHERE Debop.Firma = BDebwu.Firma
  673. AND Debop.Knr = BDebwu.Knr
  674. AND Debop.Faknr = BDebwu.Faknr NO-LOCK NO-ERROR.
  675. FIND Debst WHERE Debst.Firma = BDebwu.Firma
  676. AND Debst.Knr = BDebwu.Knr NO-LOCK NO-ERROR.
  677. cAdresse = ''.
  678. DO WHILE TRUE:
  679. IF NOT Debst.Passant THEN DO:
  680. cAdresse = BAdresse.Anzeig_Br.
  681. LEAVE.
  682. END.
  683. FIND Passant USE-INDEX Passant-k1
  684. WHERE Passant.Firma = BDebwu.Firma
  685. AND Passant.Knr = BDebwu.Knr
  686. AND Passant.Faknr = BDebwu.Faknr NO-LOCK NO-ERROR.
  687. IF NOT AVAILABLE Passant THEN DO:
  688. cAdresse = BAdresse.Anzeig_Br.
  689. LEAVE.
  690. END.
  691. DO j2 = 5 TO 1 BY -1:
  692. IF Passant.Adr[j2] = '' THEN NEXT.
  693. LEAVE.
  694. END.
  695. IF j2 = 0 THEN DO:
  696. cAdresse = '????????????????????'.
  697. LEAVE.
  698. END.
  699. IF j2 = 1 THEN DO:
  700. cAdresse = Passant.Adr[01].
  701. LEAVE.
  702. END.
  703. IF j2 = 2 THEN DO:
  704. cAdresse = Passant.Adr[01] + ', ' + Passant.Adr[02].
  705. LEAVE.
  706. END.
  707. cAdresse = Passant.Adr[01] + ', '.
  708. DO j1 = 2 TO (j2 - 1):
  709. IF Passant.Adr[j1] = '' THEN NEXT.
  710. cAdresse = cAdresse + Passant.Adr[j1] + ', '.
  711. END.
  712. cAdresse = cAdresse + Passant.Adr[j2].
  713. LEAVE.
  714. END.
  715. IF VSort = 1 THEN DO:
  716. SUBSTRING(VZeile,001) = STRING(BDebwu.Faknr ,"9999999").
  717. SUBSTRING(VZeile,009) = STRING(BDebwu.Knr ,"9999999").
  718. SUBSTRING(VZeile,017) = STRING(cAdresse ,"x(40)").
  719. SUBSTRING(VZeile,060) = STRING(BDebwu.Datum ,"99.99.9999").
  720. END.
  721. IF VSort = 2 THEN DO:
  722. SUBSTRING(VZeile,001) = STRING(BDebwu.Knr ,"9999999").
  723. SUBSTRING(VZeile,009) = STRING(cAdresse ,"x(40)").
  724. SUBSTRING(VZeile,052) = STRING(BDebwu.Faknr ,"9999999").
  725. SUBSTRING(VZeile,060) = STRING(BDebwu.Datum ,"99.99.9999").
  726. END.
  727. IF VSort = 3 THEN DO:
  728. SUBSTRING(VZeile,001) = STRING(BDebwu.Datum ,"99.99.9999").
  729. SUBSTRING(VZeile,013) = STRING(BDebwu.Faknr ,"9999999").
  730. SUBSTRING(VZeile,021) = STRING(BDebwu.Knr ,"9999999").
  731. SUBSTRING(VZeile,029) = STRING(cAdresse ,"x(40)").
  732. END.
  733. IF BDebwu.Betrag <> 0 THEN
  734. SUBSTRING(VZeile,072) = STRING(BDebwu.Betrag,"z,zzz,zz9.99-").
  735. RUN LISTTIT2.
  736. DO ix = 1 TO 11:
  737. IF BDebwu.Wustpfl[ix] = 0 AND
  738. BDebwu.Skonto [ix] = 0 THEN NEXT.
  739. dAnsatz = 0.
  740. fInkl = FALSE.
  741. IF AVAILABLE Debop THEN ASSIGN dAnsatz = Debop.FakWPro[ix]
  742. fInkl = Debop.FakIncl[ix].
  743. ELSE DO:
  744. FIND LAST MWSTAns NO-LOCK USE-INDEX MWSTAns-k1
  745. WHERE MWSTAns.MWSt_Cd = ix
  746. AND MWSTAns.Datum <= BDebwu.Datum NO-ERROR.
  747. IF AVAILABLE MWSTAns THEN ASSIGN dAnsatz = MWSTAns.Ansatz.
  748. FIND FIRST Wust NO-LOCK USE-INDEX Wust-k2
  749. WHERE Wust.WuCd = ix NO-ERROR.
  750. IF AVAILABLE Wust THEN fInkl = Wust.Incl.
  751. END.
  752. FIND FIRST TMWST WHERE TMWST.Cd = ix
  753. AND TMWST.Ansatz = dAnsatz
  754. AND TMWST.Inkl = fInkl NO-ERROR.
  755. IF NOT AVAILABLE TMWST THEN DO:
  756. CREATE TMWST.
  757. ASSIGN TMWST.Cd = ix
  758. TMWST.Ansatz = dAnsatz
  759. TMWST.Inkl = fInkl.
  760. END.
  761. IF TMWST.Inkl THEN DO:
  762. Rundbetr = BDebwu.Wustpfl[ix] / (100 + TMWST.Ansatz) * TMWST.Ansatz.
  763. END.
  764. ELSE DO:
  765. Rundbetr = BDebwu.Wust[ix].
  766. END.
  767. SUBSTRING(VZeile,085) = STRING(BDebwu.Wustpfl[ix],"z,zzz,zz9.99-").
  768. SUBSTRING(VZeile,110) = STRING(ix ,"z9").
  769. IF Rundbetr <> 0 THEN
  770. SUBSTRING(VZeile,098) = STRING(Rundbetr ,"zzz,zz9.99-").
  771. { v8/putzeile.i "1" }
  772. TMWST.Wpfl = TMWST.Wpfl + BDebwu.Wustpfl[ix].
  773. TMWST.Wust = TMWST.Wust + Rundbetr .
  774. TMWST.Skon = TMWST.Skon + BDebwu.Skonto [ix].
  775. IF NOT TMWST.Inkl THEN DO:
  776. TMWST.TotB = TMWST.TotB + BDebwu.Wustpfl[ix] + Rundbetr.
  777. END.
  778. FIND FIRST TMWST WHERE TMWST.Cd = 12
  779. AND TMWST.Ansatz = 0.0 NO-ERROR.
  780. IF NOT AVAILABLE TMWST THEN DO:
  781. CREATE TMWST.
  782. ASSIGN TMWST.Cd = 12
  783. TMWST.Ansatz = 0.0
  784. TMWST.Inkl = TRUE.
  785. END.
  786. TMWST.Wpfl = TMWST.Wpfl + BDebwu.Wustpfl[ix].
  787. TMWST.Wust = TMWST.Wust + Rundbetr .
  788. TMWST.Skon = TMWST.Skon + BDebwu.Skonto [ix].
  789. IF NOT TMWST.Inkl THEN DO:
  790. TMWST.TotB = TMWST.TotB + BDebwu.Wustpfl[ix] + Rundbetr.
  791. END.
  792. END.
  793. IF VZeile <> '' THEN DO:
  794. { v8/putzeile.i "1" }
  795. END.
  796. VUebertrag = VUebertrag + BDebwu.Betrag.
  797. VUeberSko = VUeberSko + VSkonto.
  798. Uebertrag = "".
  799. SUBSTRING(Uebertrag,001) = TRIM(SUBSTRING(Helptext[12],01,20)).
  800. SUBSTRING(Uebertrag,072) = STRING(VUebertrag,"z,zzz,zz9.99-").
  801. END PROCEDURE.
  802. /* _UIB-CODE-BLOCK-END */
  803. &ANALYZE-RESUME
  804. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  805. PROCEDURE disable_UI :
  806. /*------------------------------------------------------------------------------
  807. Purpose: DISABLE the User Interface
  808. Parameters: <none>
  809. Notes: Here we clean-up the user-interface by deleting
  810. dynamic widgets we have created and/or hide
  811. frames. This procedure is usually called when
  812. we are ready to "clean-up" after running.
  813. ------------------------------------------------------------------------------*/
  814. /* Hide all frames. */
  815. HIDE FRAME F-Main.
  816. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  817. END PROCEDURE.
  818. /* _UIB-CODE-BLOCK-END */
  819. &ANALYZE-RESUME
  820. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN B-table-Win
  821. PROCEDURE DRUCKEN :
  822. /*------------------------------------------------------------------------------
  823. Purpose:
  824. Parameters: <none>
  825. Notes:
  826. ------------------------------------------------------------------------------*/
  827. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  828. VSort = Listen.Sort.
  829. VFaknr = Listen.VNr[01].
  830. BFaknr = Listen.BNr[01].
  831. VKnr = Listen.VNr[02].
  832. BKnr = Listen.BNr[02].
  833. VDatum = Listen.VDa[01].
  834. BDatum = Listen.BDa[01].
  835. Tittxt = STRING(VDatum,"99.99.9999") + " - " + STRING(BDatum,"99.99.9999").
  836. RUN LISTTIT1.
  837. /* ---------------------------------------------------------------------- */
  838. /* sortiert nach Fakturanummer */
  839. /* ---------------------------------------------------------------------- */
  840. IF VSort = 1 THEN DO:
  841. DO PRESELECT
  842. EACH BDebwu USE-INDEX Debwu-k2
  843. WHERE BDebwu.Firma = GVFirma
  844. AND BDebwu.Faknr >= VFaknr
  845. AND BDebwu.Faknr <= BFaknr
  846. AND BDebwu.Datum >= VDatum
  847. AND BDebwu.Datum <= BDatum
  848. AND BDebwu.Knr >= VKnr
  849. AND BDebwu.Knr <= BKnr NO-LOCK,
  850. FIRST BAdresse WHERE BAdresse.Firma = AdFirma
  851. AND BAdresse.Knr = BDebwu.Knr NO-LOCK :
  852. DO VCopy = 1 TO LiDruck.ListCopy:
  853. LNeu = TRUE.
  854. VUebertrag = 0.
  855. VUeberSko = 0.
  856. VZeile = "".
  857. VLine = 0.
  858. VSkonto = 0.
  859. FOR EACH TMWST:
  860. DELETE TMWST.
  861. END.
  862. { v8/opendruck.i }
  863. REPEAT:
  864. IF LNeu THEN FIND FIRST BAdresse NO-ERROR.
  865. ELSE FIND NEXT BAdresse NO-ERROR.
  866. IF NOT AVAILABLE BAdresse THEN LEAVE.
  867. LNeu = FALSE.
  868. RUN AUSGABE.
  869. END. /* FIND NEXT */
  870. RUN ABSCHLUSS.
  871. TiDruck = TRUE.
  872. IF DOpen = TRUE THEN DO:
  873. OUTPUT CLOSE.
  874. IF lPDF THEN RUN datei2viper.p ( cDrucker ).
  875. END.
  876. ELSE DO:
  877. RUN "v8/d-liste.w" ( INPUT Helptext[02] ).
  878. END.
  879. END. /* Kopien */
  880. END. /* PRESELECT */
  881. END. /* SORT - IF */
  882. /* ---------------------------------------------------------------------- */
  883. /* sortiert nach Kundennummer */
  884. /* ---------------------------------------------------------------------- */
  885. IF VSort = 2 THEN DO:
  886. DO PRESELECT
  887. EACH BDebwu USE-INDEX Debwu-k1
  888. WHERE BDebwu.Firma = GVFirma
  889. AND BDebwu.Faknr >= VFaknr
  890. AND BDebwu.Faknr <= BFaknr
  891. AND BDebwu.Datum >= VDatum
  892. AND BDebwu.Datum <= BDatum
  893. AND BDebwu.Knr >= VKnr
  894. AND BDebwu.Knr <= BKnr NO-LOCK,
  895. FIRST BAdresse WHERE BAdresse.Firma = AdFirma
  896. AND BAdresse.Knr = BDebwu.Knr NO-LOCK :
  897. DO VCopy = 1 TO LiDruck.ListCopy:
  898. LNeu = TRUE.
  899. VUebertrag = 0.
  900. VUeberSko = 0.
  901. VZeile = "".
  902. VLine = 0.
  903. VSkonto = 0.
  904. { v8/opendruck.i }
  905. REPEAT:
  906. IF LNeu THEN FIND FIRST BAdresse NO-ERROR.
  907. ELSE FIND NEXT BAdresse NO-ERROR.
  908. IF NOT AVAILABLE BAdresse THEN LEAVE.
  909. LNeu = FALSE.
  910. RUN AUSGABE.
  911. END. /* FIND NEXT */
  912. RUN ABSCHLUSS.
  913. TiDruck = TRUE.
  914. IF DOpen = TRUE THEN DO:
  915. OUTPUT CLOSE.
  916. IF lPDF THEN RUN datei2viper.p ( cDrucker ).
  917. END.
  918. ELSE DO:
  919. RUN "v8/d-liste.w" ( INPUT Helptext[02] ).
  920. END.
  921. END. /* Kopien */
  922. END. /* PRESELECT */
  923. END. /* SORT - IF */
  924. /* ---------------------------------------------------------------------- */
  925. /* sortiert nach Zahlungsdatum */
  926. /* ---------------------------------------------------------------------- */
  927. IF VSort = 3 THEN DO:
  928. DO PRESELECT
  929. EACH BDebwu USE-INDEX Debwu-k3
  930. WHERE BDebwu.Firma = GVFirma
  931. AND BDebwu.Faknr >= VFaknr
  932. AND BDebwu.Faknr <= BFaknr
  933. AND BDebwu.Datum >= VDatum
  934. AND BDebwu.Datum <= BDatum
  935. AND BDebwu.Knr >= VKnr
  936. AND BDebwu.Knr <= BKnr NO-LOCK,
  937. FIRST BAdresse WHERE BAdresse.Firma = AdFirma
  938. AND BAdresse.Knr = BDebwu.Knr NO-LOCK :
  939. DO VCopy = 1 TO LiDruck.ListCopy:
  940. LNeu = TRUE.
  941. VUebertrag = 0.
  942. VUeberSko = 0.
  943. VZeile = "".
  944. VLine = 0.
  945. VSkonto = 0.
  946. { v8/opendruck.i }
  947. REPEAT:
  948. IF LNeu THEN FIND FIRST BAdresse NO-ERROR.
  949. ELSE FIND NEXT BAdresse NO-ERROR.
  950. IF NOT AVAILABLE BAdresse THEN LEAVE.
  951. LNeu = FALSE.
  952. RUN AUSGABE.
  953. END. /* FIND NEXT */
  954. RUN ABSCHLUSS.
  955. TiDruck = TRUE.
  956. IF DOpen = TRUE THEN DO:
  957. OUTPUT CLOSE.
  958. IF lPDF THEN RUN datei2viper.p ( cDrucker ).
  959. END.
  960. ELSE DO:
  961. RUN "v8/d-liste.w" ( INPUT Helptext[02] ).
  962. END.
  963. END. /* Kopien */
  964. END. /* PRESELECT */
  965. END. /* SORT - IF */
  966. APPLY 'CHOOSE' TO Btn_Ende IN FRAME {&FRAME-NAME}.
  967. RETURN NO-APPLY.
  968. END PROCEDURE.
  969. /* _UIB-CODE-BLOCK-END */
  970. &ANALYZE-RESUME
  971. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD B-table-Win
  972. PROCEDURE LIBILD :
  973. /*------------------------------------------------------------------------------
  974. Purpose:
  975. Parameters: <none>
  976. Notes:
  977. ------------------------------------------------------------------------------*/
  978. { v8/libild.i }
  979. END PROCEDURE.
  980. /* _UIB-CODE-BLOCK-END */
  981. &ANALYZE-RESUME
  982. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT1 B-table-Win
  983. PROCEDURE LISTTIT1 :
  984. /*------------------------------------------------------------------------------
  985. Purpose:
  986. Parameters: <none>
  987. Notes:
  988. ------------------------------------------------------------------------------*/
  989. { v8/listtit1.i }
  990. END PROCEDURE.
  991. /* _UIB-CODE-BLOCK-END */
  992. &ANALYZE-RESUME
  993. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT2 B-table-Win
  994. PROCEDURE LISTTIT2 :
  995. /*------------------------------------------------------------------------------
  996. Purpose:
  997. Parameters: <none>
  998. Notes:
  999. ------------------------------------------------------------------------------*/
  1000. { v8/listtit2.i }
  1001. END PROCEDURE.
  1002. /* _UIB-CODE-BLOCK-END */
  1003. &ANALYZE-RESUME
  1004. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win
  1005. PROCEDURE local-display-fields :
  1006. /*------------------------------------------------------------------------------
  1007. Purpose: Override standard ADM method
  1008. Notes:
  1009. ------------------------------------------------------------------------------*/
  1010. RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) .
  1011. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  1012. IF ARecid > -1 THEN DO:
  1013. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
  1014. DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}.
  1015. END.
  1016. ENABLE {&List-2} WITH FRAME {&FRAME-NAME}.
  1017. END PROCEDURE.
  1018. /* _UIB-CODE-BLOCK-END */
  1019. &ANALYZE-RESUME
  1020. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
  1021. PROCEDURE local-hide :
  1022. /*------------------------------------------------------------------------------
  1023. Purpose: Override standard ADM method
  1024. Notes:
  1025. ------------------------------------------------------------------------------*/
  1026. DO TRANSACTION:
  1027. FIND Listen WHERE RECID(Listen) = ARecid.
  1028. Listen.Listfl = ''.
  1029. END.
  1030. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  1031. END PROCEDURE.
  1032. /* _UIB-CODE-BLOCK-END */
  1033. &ANALYZE-RESUME
  1034. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
  1035. PROCEDURE local-initialize :
  1036. /*------------------------------------------------------------------------------
  1037. Purpose: Override standard ADM method
  1038. Notes:
  1039. ------------------------------------------------------------------------------*/
  1040. DEF BUFFER BListen FOR Listen.
  1041. DEF VAR VListnr LIKE Listen.Listnr.
  1042. F_USER = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
  1043. QOpen = FALSE.
  1044. FInit = TRUE.
  1045. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  1046. VProgname = TRIM(F_USER) + '!' + TRIM(F_Programm).
  1047. FIND FIRST Listen USE-INDEX Listen-k1
  1048. WHERE Listen.Firma = GVFirma
  1049. AND Listen.Progname = VProgname
  1050. AND Listen.Listfl = '' NO-LOCK NO-ERROR.
  1051. DO TRANSACTION:
  1052. IF NOT AVAILABLE Listen THEN DO:
  1053. FIND LAST BListen USE-INDEX Listen-k1
  1054. WHERE BListen.Firma = GVFirma NO-LOCK NO-ERROR.
  1055. IF AVAILABLE BListen THEN VListnr = BListen.Listnr + 1.
  1056. ELSE VListnr = 1.
  1057. CREATE Listen.
  1058. ASSIGN Listen.Firma = GVFirma
  1059. Listen.Listnr = VListnr
  1060. Listen.Progname = VProgname
  1061. Listen.Listfl = ''
  1062. Listen.Jahr = GVJahr
  1063. Listen.Sprcd = GVSprcd
  1064. Listen.Sort = 1
  1065. Listen.ProgWahl = 1.
  1066. END.
  1067. ARecid = RECID(Listen).
  1068. FIND LiDruck USE-INDEX LiDruck-k1
  1069. WHERE LiDruck.Firma = GVFirma
  1070. AND LiDruck.Listnr = Listen.Listnr
  1071. AND LiDruck.ProgWahl = Listen.ProgWahl NO-LOCK NO-ERROR.
  1072. IF NOT AVAILABLE LiDruck THEN DO:
  1073. CREATE LiDruck.
  1074. ASSIGN LiDruck.Firma = GVFirma
  1075. LiDruck.Listnr = Listen.Listnr
  1076. LiDruck.ProgWahl = Listen.ProgWahl
  1077. LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99')
  1078. LiDruck.ListCopy = 1
  1079. LiDruck.Schacht = 0
  1080. LiDruck.Listlq = FALSE.
  1081. END.
  1082. BRecid = RECID(LiDruck).
  1083. FIND Listen WHERE RECID(Listen) = ARecid.
  1084. Listen.Listfl = 'A'.
  1085. RELEASE Listen.
  1086. RELEASE LiDruck.
  1087. END. /* TRANSACTION */
  1088. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
  1089. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK.
  1090. FOpen = TRUE.
  1091. ASchname = LiDruck.ListDru.
  1092. ASchbild = LiDruck.ListBild.
  1093. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  1094. FIND FIRST XSchrift WHERE XSchrift.Schname = ASchname NO-LOCK NO-ERROR.
  1095. IF AVAILABLE XSchrift THEN DO:
  1096. REPOSITION Br_Druckername TO RECID RECID(XSchrift) NO-ERROR.
  1097. Br_Druckername:SELECT-FOCUSED-ROW() IN FRAME {&FRAME-NAME}.
  1098. Br_Druckername:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
  1099. END.
  1100. ELSE DO:
  1101. Br_Druckername:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
  1102. END.
  1103. APPLY 'VALUE-CHANGED' TO BROWSE Br_Druckername.
  1104. RUN LIBILD.
  1105. F_Zeichen = Breite.
  1106. F_Sort = Listen.Sort.
  1107. F_TZZ = LiDruck.Listtzz.
  1108. F_KZZ = LiDruck.Listkzz.
  1109. F_FZZ = LiDruck.Listfzz.
  1110. F_LQ = LiDruck.Listlq.
  1111. F_KOPIE = LiDruck.ListCopy.
  1112. F_SCHACHT = LiDruck.Schacht.
  1113. OBreite = Breite.
  1114. RUN dispatch IN THIS-PROCEDURE ('display-fields':U).
  1115. END PROCEDURE.
  1116. /* _UIB-CODE-BLOCK-END */
  1117. &ANALYZE-RESUME
  1118. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
  1119. PROCEDURE local-open-query :
  1120. /*------------------------------------------------------------------------------
  1121. Purpose: Override standard ADM method
  1122. Notes:
  1123. ------------------------------------------------------------------------------*/
  1124. IF FOpen = FALSE THEN RETURN NO-APPLY.
  1125. IF QOpen = TRUE THEN DO:
  1126. CLOSE QUERY Br_Druckername.
  1127. CLOSE QUERY Br_Schriftbild.
  1128. END.
  1129. QOpen = FALSE.
  1130. FOR EACH XSchrift:
  1131. DELETE XSchrift.
  1132. END.
  1133. AltSchname = ''.
  1134. FOR EACH Schrift NO-LOCK:
  1135. IF Schrift.Schname = AltSchname THEN NEXT.
  1136. CREATE XSchrift.
  1137. BUFFER-COPY Schrift TO XSchrift.
  1138. AltSchname = Schrift.Schname.
  1139. END.
  1140. OPEN QUERY Br_Druckername
  1141. FOR EACH XSchrift NO-LOCK.
  1142. QOpen = TRUE.
  1143. END PROCEDURE.
  1144. /* _UIB-CODE-BLOCK-END */
  1145. &ANALYZE-RESUME
  1146. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-row-changed B-table-Win
  1147. PROCEDURE local-row-changed :
  1148. /*------------------------------------------------------------------------------
  1149. Purpose: Override standard ADM method
  1150. Notes:
  1151. ------------------------------------------------------------------------------*/
  1152. RUN dispatch IN THIS-PROCEDURE ( INPUT 'row-changed':U ) .
  1153. OPEN QUERY Br_Schriftbild
  1154. FOR EACH Schrift WHERE Schrift.Schname = XSchrift.Schname NO-LOCK.
  1155. IF AVAILABLE LiDruck THEN DO:
  1156. FIND BSchrift WHERE BSchrift.Schname = LiDruck.ListDru
  1157. AND BSchrift.Schbild = LiDruck.ListBild NO-LOCK NO-ERROR.
  1158. IF AVAILABLE BSchrift THEN DO:
  1159. REPOSITION Br_Schriftbild TO RECID RECID(BSchrift) NO-ERROR.
  1160. END.
  1161. END.
  1162. APPLY 'VALUE-CHANGED' TO BROWSE Br_Schriftbild.
  1163. END PROCEDURE.
  1164. /* _UIB-CODE-BLOCK-END */
  1165. &ANALYZE-RESUME
  1166. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  1167. PROCEDURE local-view :
  1168. /*------------------------------------------------------------------------------
  1169. Purpose: Override standard ADM method
  1170. Notes:
  1171. ------------------------------------------------------------------------------*/
  1172. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  1173. IF ARecid < 0 THEN RETURN.
  1174. DO TRANSACTION:
  1175. FIND Listen WHERE RECID(Listen) = ARecid.
  1176. ASSIGN Listen.VNr[01] = XVAufnr
  1177. Listen.BNr[01] = XVAufnr.
  1178. RELEASE Listen.
  1179. END.
  1180. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
  1181. RUN dispatch IN THIS-PROCEDURE ('display-fields':U).
  1182. END PROCEDURE.
  1183. /* _UIB-CODE-BLOCK-END */
  1184. &ANALYZE-RESUME
  1185. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  1186. PROCEDURE send-records :
  1187. /*------------------------------------------------------------------------------
  1188. Purpose: Send record ROWID's for all tables used by
  1189. this file.
  1190. Parameters: see template/snd-head.i
  1191. ------------------------------------------------------------------------------*/
  1192. /* Define variables needed by this internal procedure. */
  1193. {src/adm/template/snd-head.i}
  1194. /* For each requested table, put it's ROWID in the output list. */
  1195. {src/adm/template/snd-list.i "Schrift"}
  1196. {src/adm/template/snd-list.i "XSchrift"}
  1197. /* Deal with any unexpected table requests before closing. */
  1198. {src/adm/template/snd-end.i}
  1199. END PROCEDURE.
  1200. /* _UIB-CODE-BLOCK-END */
  1201. &ANALYZE-RESUME
  1202. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  1203. PROCEDURE state-changed :
  1204. /* -----------------------------------------------------------
  1205. Purpose:
  1206. Parameters: <none>
  1207. Notes:
  1208. -------------------------------------------------------------*/
  1209. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  1210. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  1211. CASE p-state:
  1212. /* Object instance CASEs can go here to replace standard behavior
  1213. or add new cases. */
  1214. {src/adm/template/bstates.i}
  1215. END CASE.
  1216. END PROCEDURE.
  1217. /* _UIB-CODE-BLOCK-END */
  1218. &ANALYZE-RESUME