b-p_debop.w 65 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034
  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 VKnr LIKE Debop.Knr.
  40. DEF VAR BKnr LIKE Debop.Knr.
  41. DEF VAR VFaknr LIKE Debop.Faknr.
  42. DEF VAR BFaknr LIKE Debop.Faknr.
  43. DEF VAR VSuchbe LIKE Adresse.Suchbe.
  44. DEF VAR BSuchbe LIKE Adresse.Suchbe.
  45. DEF VAR VDatum LIKE Debop.FakDat.
  46. DEF VAR BDatum LIKE Debop.FakDat.
  47. DEF VAR VNull AS LOG FORMAT "1/0".
  48. DEF VAR VTotal AS LOG FORMAT "1/0".
  49. DEF VAR FSaldo AS LOG FORMAT "1/0".
  50. DEF VAR VAnzOP AS INT.
  51. DEF VAR VDruDat AS DATE FORMAT "99.99.9999".
  52. DEF VAR VZeile AS CHAR FORMAT "x(200)".
  53. DEF VAR RRand AS INT INIT 0.
  54. DEF VAR VFakBetr AS DEC.
  55. DEF VAR VZahBetr AS DEC.
  56. DEF VAR VSkonto AS DEC.
  57. DEF VAR VSaldo AS DEC.
  58. DEF VAR TFakBetr AS DEC.
  59. DEF VAR TZahBetr AS DEC.
  60. DEF VAR TSkonto AS DEC.
  61. DEF VAR TSaldo AS DEC.
  62. DEF VAR VTot AS DEC EXTENT 10 NO-UNDO.
  63. DEF VAR VFX AS CHAR FORMAT "x(04)" NO-UNDO.
  64. DEF VAR VFN AS INT NO-UNDO.
  65. DEF VAR XTage AS CHAR FORMAT "x(04)" NO-UNDO.
  66. DEF VAR FSeite AS LOG INIT TRUE NO-UNDO.
  67. DEF VAR XAdresse AS CHAR NO-UNDO.
  68. DEF VAR FIRST_Knr AS LOG.
  69. DEF VAR LAST_Knr AS LOG.
  70. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  71. DEF VAR cDrucker AS CHAR NO-UNDO.
  72. DEF BUFFER BAdresse FOR Adresse.
  73. DEF BUFFER BDebst FOR Debst.
  74. DEF BUFFER Debwu FOR Debwu.
  75. DEF WORKFILE WKonto FIELD Konto LIKE Debop.Konto
  76. FIELD Saldo LIKE Debop.Saldo.
  77. DEF WORKFILE WWust FIELD WuCd AS INT
  78. FIELD Proz AS DEC
  79. FIELD Wpfl AS DEC
  80. FIELD Wust AS DEC.
  81. DEF TEMP-TABLE tDebop LIKE Debop.
  82. /* ---------- Globale Variablen ---------------------------------- */
  83. { v8/globvar.i" " " " "SHARED" }
  84. { v8/debivar.i " " " " "SHARED" }
  85. { v8/artivar.i " " " " "SHARED" }
  86. { v8/contvar.i " " " " "SHARED" }
  87. { v8/listtitv.i "NEW" "SHARED" }
  88. /* _UIB-CODE-BLOCK-END */
  89. &ANALYZE-RESUME
  90. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  91. /* ******************** Preprocessor Definitions ******************** */
  92. &Scoped-define PROCEDURE-TYPE SmartBrowser
  93. &Scoped-define DB-AWARE no
  94. &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
  95. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  96. &Scoped-define FRAME-NAME F-Main
  97. &Scoped-define BROWSE-NAME Br_Druckername
  98. /* Internal Tables (found by Frame, Query & Browse Queries) */
  99. &Scoped-define INTERNAL-TABLES XSchrift Schrift
  100. /* Define KEY-PHRASE in case it is used by any query. */
  101. &Scoped-define KEY-PHRASE TRUE
  102. /* Definitions for BROWSE Br_Druckername */
  103. &Scoped-define FIELDS-IN-QUERY-Br_Druckername XSchrift.Schname
  104. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Druckername
  105. &Scoped-define QUERY-STRING-Br_Druckername FOR EACH XSchrift WHERE ~{&KEY-PHRASE} NO-LOCK ~
  106. ~{&SORTBY-PHRASE}
  107. &Scoped-define OPEN-QUERY-Br_Druckername OPEN QUERY Br_Druckername FOR EACH XSchrift WHERE ~{&KEY-PHRASE} NO-LOCK ~
  108. ~{&SORTBY-PHRASE}.
  109. &Scoped-define TABLES-IN-QUERY-Br_Druckername XSchrift
  110. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Druckername XSchrift
  111. /* Definitions for BROWSE Br_Schriftbild */
  112. &Scoped-define FIELDS-IN-QUERY-Br_Schriftbild Schrift.Schbild
  113. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Schriftbild
  114. &Scoped-define QUERY-STRING-Br_Schriftbild FOR EACH Schrift NO-LOCK ~
  115. BY Schrift.Schbild
  116. &Scoped-define OPEN-QUERY-Br_Schriftbild OPEN QUERY Br_Schriftbild FOR EACH Schrift NO-LOCK ~
  117. BY Schrift.Schbild.
  118. &Scoped-define TABLES-IN-QUERY-Br_Schriftbild Schrift
  119. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Schriftbild Schrift
  120. /* Definitions for FRAME F-Main */
  121. /* Standard List Definitions */
  122. &Scoped-Define ENABLED-FIELDS Listen.VNr[1] Listen.BNr[1] Listen.VNr[2] ~
  123. Listen.BNr[2] Listen.VDa[1] Listen.BDa[1] Listen.VFl[1] Listen.VCh[1] ~
  124. Listen.BCh[1] Listen.VFl[2]
  125. &Scoped-define ENABLED-TABLES Listen
  126. &Scoped-define FIRST-ENABLED-TABLE Listen
  127. &Scoped-Define ENABLED-OBJECTS RECT-10 RECT-11 RECT-12 RECT-13 RECT-17 ~
  128. Br_Druckername Br_Schriftbild F_Sort F_TZZ F_KZZ F_FZZ F_LQ F_KOPIE ~
  129. F_SCHACHT F_Preisgruppen F_Vertreter Btn_Start Btn_Ende
  130. &Scoped-Define DISPLAYED-FIELDS Listen.VNr[1] Listen.BNr[1] Listen.VNr[2] ~
  131. Listen.BNr[2] Listen.VDa[1] Listen.BDa[1] Listen.VFl[1] Listen.VCh[1] ~
  132. Listen.BCh[1] Listen.VFl[2]
  133. &Scoped-define DISPLAYED-TABLES Listen
  134. &Scoped-define FIRST-DISPLAYED-TABLE Listen
  135. &Scoped-Define DISPLAYED-OBJECTS F_USER F_Programm F_Zeichen F_Sort F_TZZ ~
  136. F_KZZ F_FZZ F_LQ F_KOPIE F_SCHACHT F_Preisgruppen F_Vertreter
  137. /* Custom List Definitions */
  138. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  139. &Scoped-define List-1 F_Sort F_TZZ F_KZZ F_FZZ
  140. &Scoped-define List-2 Listen.VNr[1] Listen.BNr[1] F_Preisgruppen ~
  141. F_Vertreter Listen.VNr[2] Listen.BNr[2] Listen.VDa[1] Listen.BDa[1] ~
  142. Listen.VFl[1] Listen.VCh[1] Listen.BCh[1] Listen.VFl[2]
  143. /* _UIB-PREPROCESSOR-BLOCK-END */
  144. &ANALYZE-RESUME
  145. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  146. /* Actions: ? adm/support/keyedit.w ? ? ? */
  147. /* STRUCTURED-DATA
  148. <KEY-OBJECT>
  149. &BROWSE-NAME
  150. </KEY-OBJECT>
  151. <FOREIGN-KEYS>
  152. </FOREIGN-KEYS
  153. ><EXECUTING-CODE>
  154. **************************
  155. * Set attributes related to FOREIGN KEYS
  156. */
  157. RUN set-attribute-list (
  158. 'Keys-Accepted = "",
  159. Keys-Supplied = ""':U).
  160. /**************************
  161. </EXECUTING-CODE> */
  162. /* _UIB-CODE-BLOCK-END */
  163. &ANALYZE-RESUME
  164. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  165. /* Actions: ? adm/support/advqedit.w ? ? ? */
  166. /* STRUCTURED-DATA
  167. <KEY-OBJECT>
  168. &BROWSE-NAME
  169. </KEY-OBJECT>
  170. <SORTBY-OPTIONS>
  171. </SORTBY-OPTIONS>
  172. <SORTBY-RUN-CODE>
  173. ************************
  174. * Set attributes related to SORTBY-OPTIONS */
  175. RUN set-attribute-list (
  176. 'SortBy-Options = ""':U).
  177. /************************
  178. </SORTBY-RUN-CODE>
  179. <FILTER-ATTRIBUTES>
  180. </FILTER-ATTRIBUTES> */
  181. /* _UIB-CODE-BLOCK-END */
  182. &ANALYZE-RESUME
  183. /* *********************** Control Definitions ********************** */
  184. /* Definitions of the field level widgets */
  185. DEFINE BUTTON Btn_Ende
  186. LABEL "&Ende"
  187. SIZE 14 BY 1.
  188. DEFINE BUTTON Btn_Start
  189. LABEL "&Starten"
  190. SIZE 14 BY 1.
  191. DEFINE VARIABLE F_FZZ AS INTEGER FORMAT "999":U INITIAL 0
  192. LABEL "Fusszeilen"
  193. VIEW-AS FILL-IN NATIVE
  194. SIZE 6 BY 1.05 TOOLTIP "Wieviele Zeilen müssen am Ende der Seite leer bleiben"
  195. BGCOLOR 15 NO-UNDO.
  196. DEFINE VARIABLE F_KOPIE AS INTEGER FORMAT "9":U INITIAL 0
  197. LABEL "Anz. Kopien"
  198. VIEW-AS FILL-IN NATIVE
  199. SIZE 4 BY 1.05 TOOLTIP "Anzahl Listenkopien"
  200. BGCOLOR 15 NO-UNDO.
  201. DEFINE VARIABLE F_KZZ AS INTEGER FORMAT "999":U INITIAL 0
  202. LABEL "Kopfzeilen"
  203. VIEW-AS FILL-IN NATIVE
  204. SIZE 6 BY 1.05 TOOLTIP "Wieviele leere Kopfzeilen müssen gedruckt werden"
  205. BGCOLOR 15 NO-UNDO.
  206. DEFINE VARIABLE F_LQ AS LOGICAL FORMAT "j/n":U INITIAL NO
  207. LABEL "Schönschrift"
  208. VIEW-AS FILL-IN NATIVE
  209. SIZE 4 BY 1.05 TOOLTIP "Wieviele Zeilen müssen am Ende der Seite leer bleiben"
  210. BGCOLOR 15 NO-UNDO.
  211. DEFINE VARIABLE F_Preisgruppen AS CHARACTER FORMAT "x(256)":U
  212. LABEL "Preisgrp."
  213. VIEW-AS FILL-IN NATIVE
  214. SIZE 30 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  215. BGCOLOR 15 NO-UNDO.
  216. DEFINE VARIABLE F_Programm AS CHARACTER FORMAT "X(20)":U INITIAL "DEBOP"
  217. LABEL "Programm"
  218. VIEW-AS FILL-IN NATIVE
  219. SIZE 20 BY 1
  220. BGCOLOR 15 NO-UNDO.
  221. DEFINE VARIABLE F_SCHACHT AS INTEGER FORMAT "9":U INITIAL 0
  222. LABEL "Schacht"
  223. VIEW-AS FILL-IN NATIVE
  224. SIZE 4 BY 1.05 TOOLTIP "Welcher Schacht muss angesteuer werden"
  225. BGCOLOR 15 NO-UNDO.
  226. DEFINE VARIABLE F_TZZ AS INTEGER FORMAT "999":U INITIAL 0
  227. LABEL "Zeilen"
  228. VIEW-AS FILL-IN NATIVE
  229. SIZE 6 BY 1.05 TOOLTIP "Wieviele Zeilen hat die ganze Seite"
  230. BGCOLOR 15 NO-UNDO.
  231. DEFINE VARIABLE F_USER AS CHARACTER FORMAT "X(20)":U
  232. LABEL "Benutzer"
  233. VIEW-AS FILL-IN NATIVE
  234. SIZE 20 BY 1
  235. BGCOLOR 15 NO-UNDO.
  236. DEFINE VARIABLE F_Vertreter AS CHARACTER FORMAT "x(256)":U
  237. LABEL "Vertreter"
  238. VIEW-AS FILL-IN NATIVE
  239. SIZE 30 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  240. BGCOLOR 15 NO-UNDO.
  241. DEFINE VARIABLE F_Zeichen AS INTEGER FORMAT "zzz,zzz,zz9":U INITIAL 0
  242. LABEL "Anz. Zeichen"
  243. VIEW-AS FILL-IN NATIVE
  244. SIZE 20 BY 1
  245. BGCOLOR 15 NO-UNDO.
  246. DEFINE VARIABLE F_Sort AS INTEGER
  247. VIEW-AS RADIO-SET VERTICAL
  248. RADIO-BUTTONS
  249. "Kundennummer", 1,
  250. "Suchbegriff", 2,
  251. "Excel", 3
  252. SIZE 29 BY 2.57 NO-UNDO.
  253. DEFINE RECTANGLE RECT-10
  254. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  255. SIZE 40 BY 4.14.
  256. DEFINE RECTANGLE RECT-11
  257. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  258. SIZE 95 BY 9.33.
  259. DEFINE RECTANGLE RECT-12
  260. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  261. SIZE 40 BY 4.52.
  262. DEFINE RECTANGLE RECT-13
  263. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  264. SIZE 115.6 BY 1.81.
  265. DEFINE RECTANGLE RECT-17
  266. EDGE-PIXELS 5 GRAPHIC-EDGE NO-FILL
  267. SIZE 143 BY 17.52.
  268. /* Query definitions */
  269. &ANALYZE-SUSPEND
  270. DEFINE QUERY Br_Druckername FOR
  271. XSchrift SCROLLING.
  272. DEFINE QUERY Br_Schriftbild FOR
  273. Schrift SCROLLING.
  274. &ANALYZE-RESUME
  275. /* Browse definitions */
  276. DEFINE BROWSE Br_Druckername
  277. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Druckername B-table-Win _STRUCTURED
  278. QUERY Br_Druckername NO-LOCK DISPLAY
  279. XSchrift.Schname COLUMN-LABEL "Drucker" FORMAT "x(50)":U
  280. /* _UIB-CODE-BLOCK-END */
  281. &ANALYZE-RESUME
  282. WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 50 BY 8.57
  283. BGCOLOR 15 .
  284. DEFINE BROWSE Br_Schriftbild
  285. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Schriftbild B-table-Win _STRUCTURED
  286. QUERY Br_Schriftbild DISPLAY
  287. Schrift.Schbild FORMAT "x(30)":U
  288. /* _UIB-CODE-BLOCK-END */
  289. &ANALYZE-RESUME
  290. WITH NO-ROW-MARKERS SEPARATORS SIZE 35 BY 8.57
  291. BGCOLOR 15 .
  292. /* ************************ Frame Definitions *********************** */
  293. DEFINE FRAME F-Main
  294. Br_Druckername AT ROW 1.67 COL 5
  295. Br_Schriftbild AT ROW 1.67 COL 60
  296. F_USER AT ROW 2.14 COL 110 COLON-ALIGNED
  297. F_Programm AT ROW 3.19 COL 110 COLON-ALIGNED
  298. F_Zeichen AT ROW 4.33 COL 110 COLON-ALIGNED
  299. F_Sort AT ROW 7 COL 105 NO-LABEL
  300. F_TZZ AT ROW 11.67 COL 10.4 COLON-ALIGNED
  301. F_KZZ AT ROW 11.67 COL 30.2 COLON-ALIGNED
  302. F_FZZ AT ROW 11.67 COL 49.4 COLON-ALIGNED
  303. F_LQ AT ROW 11.67 COL 71.4 COLON-ALIGNED
  304. F_KOPIE AT ROW 11.67 COL 90.2 COLON-ALIGNED
  305. F_SCHACHT AT ROW 11.67 COL 108.2 COLON-ALIGNED
  306. Listen.VNr[1] AT ROW 13.38 COL 34 COLON-ALIGNED HELP
  307. ""
  308. LABEL "von - bis Fakturanummer" FORMAT "9999999"
  309. VIEW-AS FILL-IN NATIVE
  310. SIZE 11 BY 1.05
  311. BGCOLOR 15
  312. Listen.BNr[1] AT ROW 13.38 COL 56.4 COLON-ALIGNED HELP
  313. "" NO-LABEL FORMAT "9999999"
  314. VIEW-AS FILL-IN NATIVE
  315. SIZE 11 BY 1.05
  316. BGCOLOR 15
  317. F_Preisgruppen AT ROW 13.38 COL 84.4 COLON-ALIGNED
  318. F_Vertreter AT ROW 14.38 COL 84.4 COLON-ALIGNED
  319. Listen.VNr[2] AT ROW 14.62 COL 34 COLON-ALIGNED
  320. LABEL "von - bis Kundennummer" FORMAT "999999"
  321. VIEW-AS FILL-IN NATIVE
  322. SIZE 11 BY 1.05
  323. BGCOLOR 15
  324. Listen.BNr[2] AT ROW 14.62 COL 56.4 COLON-ALIGNED NO-LABEL FORMAT "999999"
  325. VIEW-AS FILL-IN NATIVE
  326. SIZE 11 BY 1.05
  327. BGCOLOR 15
  328. Btn_Start AT ROW 15.67 COL 102
  329. Listen.VDa[1] AT ROW 15.86 COL 34 COLON-ALIGNED AUTO-RETURN
  330. LABEL "von - bis Fakturadatum" FORMAT "99.99.9999"
  331. VIEW-AS FILL-IN NATIVE
  332. SIZE 16 BY 1.05
  333. BGCOLOR 15
  334. Listen.BDa[1] AT ROW 15.86 COL 56.4 COLON-ALIGNED NO-LABEL FORMAT "99.99.9999"
  335. VIEW-AS FILL-IN NATIVE
  336. SIZE 16 BY 1.05
  337. BGCOLOR 15
  338. Listen.VFl[1] AT ROW 15.86 COL 77.4
  339. LABEL "Nur mit Saldo ?"
  340. VIEW-AS TOGGLE-BOX
  341. SIZE 23.8 BY 1.05
  342. Btn_Ende AT ROW 16.91 COL 102
  343. Listen.VCh[1] AT ROW 17.14 COL 34 COLON-ALIGNED
  344. LABEL "von - bis Suchbegriff" FORMAT "x(15)"
  345. VIEW-AS FILL-IN NATIVE
  346. SIZE 16 BY 1.05
  347. BGCOLOR 15
  348. Listen.BCh[1] AT ROW 17.14 COL 56.4 COLON-ALIGNED NO-LABEL FORMAT "x(15)"
  349. VIEW-AS FILL-IN NATIVE
  350. SIZE 16 BY 1.05
  351. BGCOLOR 15
  352. Listen.VFl[2] AT ROW 17.14 COL 77.4 HELP
  353. ""
  354. LABEL "Saldo per Data ?"
  355. VIEW-AS TOGGLE-BOX
  356. SIZE 23.8 BY 1.05
  357. "--" VIEW-AS TEXT
  358. SIZE 1.4 BY 1.05 AT ROW 17.14 COL 55.6
  359. "--" VIEW-AS TEXT
  360. SIZE 1.4 BY 1.05 AT ROW 13.38 COL 55.6
  361. "--" VIEW-AS TEXT
  362. SIZE 1.4 BY 1.05 AT ROW 14.62 COL 55.6
  363. "--" VIEW-AS TEXT
  364. SIZE 1.4 BY 1.05 AT ROW 15.86 COL 55.6
  365. RECT-10 AT ROW 1.86 COL 100
  366. RECT-11 AT ROW 1.48 COL 3
  367. RECT-12 AT ROW 6.38 COL 100
  368. RECT-13 AT ROW 11.33 COL 3.8
  369. RECT-17 AT ROW 1 COL 1
  370. WITH 1 DOWN KEEP-TAB-ORDER OVERLAY
  371. SIDE-LABELS NO-UNDERLINE THREE-D
  372. AT COL 1 ROW 1 SCROLLABLE
  373. TITLE "Drucken Offene Posten".
  374. /* *********************** Procedure Settings ************************ */
  375. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  376. /* Settings for THIS-PROCEDURE
  377. Type: SmartBrowser
  378. Allow: Basic,Browse
  379. Frames: 1
  380. Add Fields to: EXTERNAL-TABLES
  381. Other Settings: PERSISTENT-ONLY COMPILE
  382. Temp-Tables and Buffers:
  383. TABLE: XSchrift T "?" NO-UNDO Anadat Schrift
  384. TABLE: XTermOut T "NEW SHARED" NO-UNDO AnaDat TermOut
  385. END-TABLES.
  386. */
  387. /* This procedure should always be RUN PERSISTENT. Report the error, */
  388. /* then cleanup and return. */
  389. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  390. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  391. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  392. RETURN.
  393. END.
  394. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  395. /* ************************* Create Window ************************** */
  396. &ANALYZE-SUSPEND _CREATE-WINDOW
  397. /* DESIGN Window definition (used by the UIB)
  398. CREATE WINDOW B-table-Win ASSIGN
  399. HEIGHT = 18.52
  400. WIDTH = 144.
  401. /* END WINDOW DEFINITION */
  402. */
  403. &ANALYZE-RESUME
  404. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  405. /* ************************* Included-Libraries *********************** */
  406. {src/adm/method/browser.i}
  407. /* _UIB-CODE-BLOCK-END */
  408. &ANALYZE-RESUME
  409. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  410. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  411. /* SETTINGS FOR WINDOW B-table-Win
  412. NOT-VISIBLE,,RUN-PERSISTENT */
  413. /* SETTINGS FOR FRAME F-Main
  414. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  415. /* BROWSE-TAB Br_Druckername RECT-17 F-Main */
  416. /* BROWSE-TAB Br_Schriftbild Br_Druckername F-Main */
  417. ASSIGN
  418. FRAME F-Main:SCROLLABLE = FALSE
  419. FRAME F-Main:HIDDEN = TRUE.
  420. /* SETTINGS FOR FILL-IN Listen.BCh[1] IN FRAME F-Main
  421. 2 EXP-LABEL EXP-FORMAT */
  422. /* SETTINGS FOR FILL-IN Listen.BDa[1] IN FRAME F-Main
  423. 2 EXP-LABEL EXP-FORMAT */
  424. /* SETTINGS FOR FILL-IN Listen.BNr[1] IN FRAME F-Main
  425. 2 EXP-LABEL EXP-FORMAT EXP-HELP */
  426. /* SETTINGS FOR FILL-IN Listen.BNr[2] IN FRAME F-Main
  427. 2 EXP-LABEL EXP-FORMAT */
  428. /* SETTINGS FOR FILL-IN F_FZZ IN FRAME F-Main
  429. 1 */
  430. /* SETTINGS FOR FILL-IN F_KZZ IN FRAME F-Main
  431. 1 */
  432. /* SETTINGS FOR FILL-IN F_Preisgruppen IN FRAME F-Main
  433. 2 */
  434. /* SETTINGS FOR FILL-IN F_Programm IN FRAME F-Main
  435. NO-ENABLE */
  436. /* SETTINGS FOR RADIO-SET F_Sort IN FRAME F-Main
  437. 1 */
  438. /* SETTINGS FOR FILL-IN F_TZZ IN FRAME F-Main
  439. 1 */
  440. /* SETTINGS FOR FILL-IN F_USER IN FRAME F-Main
  441. NO-ENABLE */
  442. /* SETTINGS FOR FILL-IN F_Vertreter IN FRAME F-Main
  443. 2 */
  444. /* SETTINGS FOR FILL-IN F_Zeichen IN FRAME F-Main
  445. NO-ENABLE */
  446. /* SETTINGS FOR FILL-IN Listen.VCh[1] IN FRAME F-Main
  447. 2 EXP-LABEL EXP-FORMAT */
  448. /* SETTINGS FOR FILL-IN Listen.VDa[1] IN FRAME F-Main
  449. 2 EXP-LABEL EXP-FORMAT */
  450. /* SETTINGS FOR TOGGLE-BOX Listen.VFl[1] IN FRAME F-Main
  451. 2 EXP-LABEL */
  452. /* SETTINGS FOR TOGGLE-BOX Listen.VFl[2] IN FRAME F-Main
  453. 2 EXP-LABEL EXP-HELP */
  454. /* SETTINGS FOR FILL-IN Listen.VNr[1] IN FRAME F-Main
  455. 2 EXP-LABEL EXP-FORMAT EXP-HELP */
  456. /* SETTINGS FOR FILL-IN Listen.VNr[2] IN FRAME F-Main
  457. 2 EXP-LABEL EXP-FORMAT */
  458. /* _RUN-TIME-ATTRIBUTES-END */
  459. &ANALYZE-RESUME
  460. /* Setting information for Queries and Browse Widgets fields */
  461. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Druckername
  462. /* Query rebuild information for BROWSE Br_Druckername
  463. _TblList = "Temp-Tables.XSchrift"
  464. _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
  465. _FldNameList[1] > Temp-Tables.XSchrift.Schname
  466. "XSchrift.Schname" "Drucker" "x(50)" "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  467. _Query is NOT OPENED
  468. */ /* BROWSE Br_Druckername */
  469. &ANALYZE-RESUME
  470. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Schriftbild
  471. /* Query rebuild information for BROWSE Br_Schriftbild
  472. _TblList = "Anadat.Schrift"
  473. _OrdList = "Anadat.Schrift.Schbild|yes"
  474. _FldNameList[1] = Anadat.Schrift.Schbild
  475. _Query is NOT OPENED
  476. */ /* BROWSE Br_Schriftbild */
  477. &ANALYZE-RESUME
  478. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  479. /* Query rebuild information for FRAME F-Main
  480. _Options = "NO-LOCK"
  481. _Query is NOT OPENED
  482. */ /* FRAME F-Main */
  483. &ANALYZE-RESUME
  484. /* ************************ Control Triggers ************************ */
  485. &Scoped-define SELF-NAME F-Main
  486. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main B-table-Win
  487. ON GO OF FRAME F-Main /* Drucken Offene Posten */
  488. DO:
  489. DO TRANSACTION:
  490. FIND Listen WHERE RECID(Listen) = ARecid.
  491. Listen.Listfl = ''.
  492. END.
  493. RUN new-state ('drucken_ende':U).
  494. END.
  495. /* _UIB-CODE-BLOCK-END */
  496. &ANALYZE-RESUME
  497. &Scoped-define BROWSE-NAME Br_Druckername
  498. &Scoped-define SELF-NAME Br_Druckername
  499. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
  500. ON ROW-ENTRY OF Br_Druckername IN FRAME F-Main
  501. DO:
  502. /* This code displays initial values for newly added or copied rows. */
  503. {src/adm/template/brsentry.i}
  504. END.
  505. /* _UIB-CODE-BLOCK-END */
  506. &ANALYZE-RESUME
  507. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
  508. ON ROW-LEAVE OF Br_Druckername IN FRAME F-Main
  509. DO:
  510. /* Do not disable this code or no updates will take place except
  511. by pressing the Save button on an Update SmartPanel. */
  512. {src/adm/template/brsleave.i}
  513. END.
  514. /* _UIB-CODE-BLOCK-END */
  515. &ANALYZE-RESUME
  516. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
  517. ON VALUE-CHANGED OF Br_Druckername IN FRAME F-Main
  518. DO:
  519. {src/adm/template/brschnge.i}
  520. ASchname = XSchrift.Schname.
  521. OPEN QUERY Br_Schriftbild
  522. FOR EACH Schrift WHERE Schrift.Schname = ASchname NO-LOCK.
  523. FIND BSchrift WHERE BSchrift.Schname = ASchname
  524. AND BSchrift.Schbild = ASchbild NO-LOCK NO-ERROR.
  525. IF AVAILABLE BSchrift THEN DO:
  526. REPOSITION Br_Schriftbild TO RECID RECID(BSchrift) NO-ERROR.
  527. Br_Schriftbild:SELECT-FOCUSED-ROW() IN FRAME {&FRAME-NAME}.
  528. Br_Schriftbild:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
  529. END.
  530. ELSE DO:
  531. APPLY 'VALUE-CHANGED' TO BROWSE Br_Schriftbild.
  532. END.
  533. END.
  534. /* _UIB-CODE-BLOCK-END */
  535. &ANALYZE-RESUME
  536. &Scoped-define BROWSE-NAME Br_Schriftbild
  537. &Scoped-define SELF-NAME Br_Schriftbild
  538. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
  539. ON ROW-ENTRY OF Br_Schriftbild IN FRAME F-Main
  540. DO:
  541. /* This code displays initial values for newly added or copied rows. */
  542. {src/adm/template/brsentry.i}
  543. END.
  544. /* _UIB-CODE-BLOCK-END */
  545. &ANALYZE-RESUME
  546. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
  547. ON ROW-LEAVE OF Br_Schriftbild IN FRAME F-Main
  548. DO:
  549. /* Do not disable this code or no updates will take place except
  550. by pressing the Save button on an Update SmartPanel. */
  551. {src/adm/template/brsleave.i}
  552. END.
  553. /* _UIB-CODE-BLOCK-END */
  554. &ANALYZE-RESUME
  555. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
  556. ON VALUE-CHANGED OF Br_Schriftbild IN FRAME F-Main
  557. DO:
  558. {src/adm/template/brschnge.i}
  559. IF ASchbild <> Schrift.Schbild THEN DO:
  560. ASSIGN F_TZZ = Schrift.Schzztot
  561. F_KZZ = Schrift.Schzzbeg
  562. F_FZZ = Schrift.Schzzend.
  563. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  564. END.
  565. ASchbild = Schrift.Schbild.
  566. END.
  567. /* _UIB-CODE-BLOCK-END */
  568. &ANALYZE-RESUME
  569. &Scoped-define SELF-NAME Btn_Ende
  570. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ende B-table-Win
  571. ON CHOOSE OF Btn_Ende IN FRAME F-Main /* Ende */
  572. DO:
  573. DO TRANSACTION:
  574. FIND Listen WHERE RECID(Listen) = ARecid.
  575. Listen.Listfl = ''.
  576. END.
  577. { v8/druck_ende.i }
  578. RUN new-state ('Seite_1':U).
  579. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  580. END.
  581. /* _UIB-CODE-BLOCK-END */
  582. &ANALYZE-RESUME
  583. &Scoped-define SELF-NAME Btn_Start
  584. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Start B-table-Win
  585. ON CHOOSE OF Btn_Start IN FRAME F-Main /* Starten */
  586. DO:
  587. DO TRANSACTION WITH FRAME {&FRAME-NAME}:
  588. ASSIGN {&List-1}.
  589. FIND Listen WHERE RECID(Listen) = ARecid.
  590. FIND LiDruck WHERE RECID(LiDruck) = BRecid.
  591. ASSIGN Breite = F_Zeichen
  592. Listen.Sort = F_Sort
  593. LiDruck.Listtzz = F_TZZ
  594. LiDruck.Listkzz = F_KZZ
  595. LiDruck.Listfzz = F_FZZ
  596. LiDruck.Listlq = F_LQ
  597. LiDruck.ListCopy = F_KOPIE
  598. LiDruck.Schacht = F_SCHACHT
  599. LiDruck.Listdru = XSchrift.Schname
  600. LiDruck.Listbild = Schrift.Schbild.
  601. IF LiDruck.ListCopy = 0 THEN LiDruck.ListCopy = 1.
  602. ASSIGN {&List-2}.
  603. IF VNr[01] = 0 AND BNr[01] = 0 THEN Bnr[01] = 999999.
  604. IF VNr[01] > BNr[01] THEN BNr[01] = VNr[01].
  605. IF VNr[02] = 0 AND BNr[02] = 0 THEN Bnr[02] = 999999.
  606. IF VNr[02] > BNr[02] THEN BNr[02] = VNr[02].
  607. IF VDa[01] = ? THEN VDa[01] = 01/01/1901.
  608. IF BDa[01] = ? THEN BDa[01] = DATE(31,12,YEAR(TODAY)).
  609. IF VCh[01] = '' AND BCh[01] = '' THEN BCh[01] = FILL('z', 15).
  610. IF VCh[01] > BCh[01] THEN BCh[01] = VCh[01].
  611. IF F_Preisgruppen <> '' THEN DO:
  612. Linktext = ''.
  613. i1 = NUM-ENTRIES(F_Preisgruppen).
  614. DO ix = 1 TO i1:
  615. Linktext = Linktext + STRING(INTEGER(ENTRY(ix, F_Preisgruppen)),"999") + ",".
  616. END.
  617. F_Preisgruppen = SUBSTRING(Linktext,01, LENGTH(Linktext) - 1).
  618. DISPLAY F_Preisgruppen WITH FRAME {&FRAME-NAME}.
  619. END.
  620. ECh[01] = F_Preisgruppen.
  621. IF F_Vertreter <> '' THEN DO:
  622. Linktext = ''.
  623. i1 = NUM-ENTRIES(F_Vertreter).
  624. DO ix = 1 TO i1:
  625. Linktext = Linktext + STRING(INTEGER(ENTRY(ix, F_Vertreter)),"999") + ",".
  626. END.
  627. F_Vertreter = SUBSTRING(Linktext,01, LENGTH(Linktext) - 1).
  628. DISPLAY F_Vertreter WITH FRAME {&FRAME-NAME}.
  629. END.
  630. ECh[02] = F_Vertreter.
  631. DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}.
  632. ASSIGN LiDruck.ProgWahl = Listen.ProgWahl
  633. LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99').
  634. RELEASE Listen .
  635. RELEASE LiDruck.
  636. END.
  637. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK.
  638. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK.
  639. DISABLE Btn_Start WITH FRAME {&FRAME-NAME}.
  640. DISABLE Btn_Ende WITH FRAME {&FRAME-NAME}.
  641. RUN LIBILD.
  642. SESSION:SET-WAIT-STATE('GENERAL').
  643. RUN DRUCKEN.
  644. SESSION:SET-WAIT-STATE('').
  645. DO TRANSACTION WITH FRAME {&FRAME-NAME}:
  646. FIND Listen WHERE RECID(Listen) = ARecid.
  647. ASSIGN Listen.Listfl = ''.
  648. RELEASE Listen .
  649. END.
  650. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK.
  651. ENABLE Btn_Start WITH FRAME {&FRAME-NAME}.
  652. ENABLE Btn_Ende WITH FRAME {&FRAME-NAME}.
  653. RETURN NO-APPLY.
  654. END.
  655. /* _UIB-CODE-BLOCK-END */
  656. &ANALYZE-RESUME
  657. &Scoped-define SELF-NAME F_Preisgruppen
  658. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preisgruppen B-table-Win
  659. ON LEFT-MOUSE-DBLCLICK OF F_Preisgruppen IN FRAME F-Main /* Preisgrp. */
  660. OR HELP OF F_Preisgruppen IN FRAME {&FRAME-NAME}
  661. DO:
  662. LVRecArt = 'PREGRP'.
  663. LVTitel = 'Preisgruppen'.
  664. LVFirma = GVFirma.
  665. Linktext = SELF:SCREEN-VALUE.
  666. RUN "v8/d-ausw-tabel.w".
  667. SELF:SCREEN-VALUE = Linktext.
  668. Linktext = ''.
  669. END.
  670. /* _UIB-CODE-BLOCK-END */
  671. &ANALYZE-RESUME
  672. &Scoped-define SELF-NAME F_Vertreter
  673. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Vertreter B-table-Win
  674. ON LEFT-MOUSE-DBLCLICK OF F_Vertreter IN FRAME F-Main /* Vertreter */
  675. OR HELP OF F_Vertreter IN FRAME {&FRAME-NAME}
  676. DO:
  677. LVRecArt = 'VERTR'.
  678. LVTitel = 'Vertreter'.
  679. LVFirma = GVFirma.
  680. Linktext = SELF:SCREEN-VALUE.
  681. RUN "v8/d-ausw-tabel.w".
  682. SELF:SCREEN-VALUE = Linktext.
  683. Linktext = ''.
  684. END.
  685. /* _UIB-CODE-BLOCK-END */
  686. &ANALYZE-RESUME
  687. &Scoped-define BROWSE-NAME Br_Druckername
  688. &UNDEFINE SELF-NAME
  689. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  690. /* *************************** Main Block *************************** */
  691. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  692. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  693. &ENDIF
  694. ON END-ERROR ANYWHERE
  695. DO:
  696. DO TRANSACTION:
  697. FIND Listen WHERE RECID(Listen) = ARecid.
  698. Listen.Listfl = ''.
  699. RELEASE Listen.
  700. END.
  701. END.
  702. /* _UIB-CODE-BLOCK-END */
  703. &ANALYZE-RESUME
  704. /* ********************** Internal Procedures *********************** */
  705. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABSCHLUSS B-table-Win
  706. PROCEDURE ABSCHLUSS :
  707. /*------------------------------------------------------------------------------
  708. Purpose:
  709. Parameters: <none>
  710. Notes:
  711. ------------------------------------------------------------------------------*/
  712. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  713. PUT "" SKIP(3).
  714. Zuszz = 9.
  715. FOR EACH WKonto NO-LOCK:
  716. Zuszz = Zuszz + 1.
  717. END.
  718. IF FSaldo THEN DO:
  719. FOR EACH WWust:
  720. Zuszz = Zuszz + 1.
  721. END.
  722. END.
  723. RUN LISTTIT2.
  724. SUBSTRING(VZeile,030) = TRIM(Helptext[12]).
  725. SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[13],01,20)).
  726. SUBSTRING(VZeile,091) = STRING(VTot[01],"zzz,zzz,zz9.99-").
  727. SUBSTRING(VZeile,107) = " ".
  728. { v8/putzeile.i "1" }
  729. SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[13],21,20)).
  730. SUBSTRING(VZeile,091) = STRING(VTot[02],"zzz,zzz,zz9.99-").
  731. SUBSTRING(VZeile,107) = "* ".
  732. { v8/putzeile.i "1" }
  733. SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[13],41,20)).
  734. SUBSTRING(VZeile,091) = STRING(VTot[03],"zzz,zzz,zz9.99-").
  735. SUBSTRING(VZeile,107) = "** ".
  736. { v8/putzeile.i "1" }
  737. SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[14],01,20)).
  738. SUBSTRING(VZeile,091) = STRING(VTot[04],"zzz,zzz,zz9.99-").
  739. SUBSTRING(VZeile,107) = "*** ".
  740. { v8/putzeile.i "1" }
  741. SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[14],21,20)).
  742. SUBSTRING(VZeile,091) = STRING(VTot[05],"zzz,zzz,zz9.99-").
  743. SUBSTRING(VZeile,107) = "****".
  744. { v8/putzeile.i "1" }
  745. SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[15],01,20)).
  746. SUBSTRING(VZeile,091) = STRING(VTot[10],"zzz,zzz,zz9.99-").
  747. SUBSTRING(VZeile,107) = " ".
  748. { v8/putzeilf.i "3" }
  749. i1 = 0.
  750. FOR EACH WKonto:
  751. IF i1 = 0 THEN DO:
  752. SUBSTRING(VZeile,030) = TRIM(Helptext[16]).
  753. END.
  754. SUBSTRING(VZeile,070) = STRING(WKonto.Konto,"x(12)").
  755. SUBSTRING(VZeile,091) = STRING(WKonto.Saldo,"zzz,zzz,zz9.99-").
  756. { v8/putzeile.i "1" }
  757. i1 = 1.
  758. END.
  759. DO WHILE TRUE:
  760. /* IF NOT FSaldo THEN LEAVE. */
  761. { v8/putzeile.i "2" }
  762. i1 = 0.
  763. FOR EACH WWust BY WWust.WuCd
  764. BY WWust.Proz:
  765. IF i1 = 0 THEN DO:
  766. SUBSTRING(VZeile,030) = 'Mehrwertsteuer : '.
  767. END.
  768. SUBSTRING(VZeile,052) = STRING(WWust.WuCd,"z9").
  769. IF WWust.Wust = 0 THEN DO:
  770. SUBSTRING(VZeile,056) = STRING(WWust.Proz,"zz9.99% inkl").
  771. SUBSTRING(VZeile,070) = STRING(WWust.Wpfl,"zzz,zzz,zz9.99-").
  772. END.
  773. ELSE DO:
  774. SUBSTRING(VZeile,056) = STRING(WWust.Proz,"zz9.99% exkl").
  775. SUBSTRING(VZeile,070) = STRING(WWust.Wpfl,"zzz,zzz,zz9.99-").
  776. SUBSTRING(VZeile,095) = STRING(WWust.Wust,"zzz,zz9.99-").
  777. END.
  778. { v8/putzeile.i "1" }
  779. i1 = 1.
  780. END.
  781. LEAVE.
  782. END.
  783. TiDruck = TRUE.
  784. END PROCEDURE.
  785. /* _UIB-CODE-BLOCK-END */
  786. &ANALYZE-RESUME
  787. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  788. PROCEDURE adm-row-available :
  789. /*------------------------------------------------------------------------------
  790. Purpose: Dispatched to this procedure when the Record-
  791. Source has a new row available. This procedure
  792. tries to get the new row (or foriegn keys) from
  793. the Record-Source and process it.
  794. Parameters: <none>
  795. ------------------------------------------------------------------------------*/
  796. /* Define variables needed by this internal procedure. */
  797. {src/adm/template/row-head.i}
  798. /* Process the newly available records (i.e. display fields,
  799. open queries, and/or pass records on to any RECORD-TARGETS). */
  800. {src/adm/template/row-end.i}
  801. END PROCEDURE.
  802. /* _UIB-CODE-BLOCK-END */
  803. &ANALYZE-RESUME
  804. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE B-table-Win
  805. PROCEDURE AUSGABE :
  806. /*------------------------------------------------------------------------------
  807. Purpose:
  808. Parameters: <none>
  809. Notes:
  810. ------------------------------------------------------------------------------*/
  811. DEF VAR cAdresse AS CHAR NO-UNDO.
  812. DEF VAR j1 AS INT NO-UNDO.
  813. DEF VAR j2 AS INT NO-UNDO.
  814. IF FIRST_Knr THEN DO:
  815. Ueber4 = "".
  816. Ueber5 = "".
  817. VFakBetr = 0.
  818. VZahBetr = 0.
  819. VSkonto = 0.
  820. VSaldo = 0.
  821. VAnzOP = 0.
  822. cAdresse = ''.
  823. DO WHILE TRUE:
  824. IF NOT BDebst.Passant THEN DO:
  825. cAdresse = BAdresse.Anzeig_Br.
  826. LEAVE.
  827. END.
  828. FIND Passant USE-INDEX Passant-k1
  829. WHERE Passant.Firma = tDebop.Firma
  830. AND Passant.Knr = tDebop.Knr
  831. AND Passant.Faknr = tDebop.Faknr NO-LOCK NO-ERROR.
  832. IF NOT AVAILABLE Passant THEN DO:
  833. cAdresse = BAdresse.Anzeig_Br.
  834. LEAVE.
  835. END.
  836. DO j2 = 5 TO 1 BY -1:
  837. IF Passant.Adr[j2] = '' THEN NEXT.
  838. LEAVE.
  839. END.
  840. IF j2 = 0 THEN DO:
  841. cAdresse = '????????????????????'.
  842. LEAVE.
  843. END.
  844. IF j2 = 1 THEN DO:
  845. cAdresse = Passant.Adr[01].
  846. LEAVE.
  847. END.
  848. IF j2 = 2 THEN DO:
  849. cAdresse = Passant.Adr[01] + ', ' + Passant.Adr[02].
  850. LEAVE.
  851. END.
  852. cAdresse = Passant.Adr[01] + ', '.
  853. DO j1 = 2 TO (j2 - 1):
  854. IF Passant.Adr[j1] = '' THEN NEXT.
  855. cAdresse = cAdresse + Passant.Adr[j1] + ', '.
  856. END.
  857. cAdresse = cAdresse + Passant.Adr[j2].
  858. LEAVE.
  859. END.
  860. IF FSeite THEN TiDruck = TRUE.
  861. ELSE Zuszz = 10.
  862. TiGedru = FALSE.
  863. RUN LISTTIT2.
  864. IF NOT TiGedru THEN DO:
  865. PUT "" SKIP(1).
  866. END.
  867. VZeile = "".
  868. SUBSTRING(VZeile,001) = STRING(tDebop.Knr ,"9999999").
  869. SUBSTRING(VZeile,010) = TRIM (cAdresse).
  870. IF NOT BDebst.Passant
  871. THEN SUBSTRING(VZeile,091) = STRING(BDebst.Saldo,"zzz,zzz,zz9.99-").
  872. { v8/putzeilf.i "1" }
  873. Ueber4 = STRING(tDebop.Knr,"9999999 ") + cAdresse.
  874. Ueber4 = TRIM(SUBSTRING(Ueber4,01,Breite)).
  875. Ueber4 = Drufettb + Ueber4 + Drufette.
  876. END.
  877. SUBSTRING(VZeile,001) = STRING(tDebop.Faknr ,"9999999").
  878. SUBSTRING(VZeile,009) = STRING(tDebop.FakDat ,"99.99.9999").
  879. SUBSTRING(VZeile,021) = STRING(tDebop.Faellig,"99.99.9999").
  880. SUBSTRING(VZeile,033) = STRING(tDebop.Kte ,"x(04)").
  881. SUBSTRING(VZeile,037) = STRING(tDebop.FakBetr,"zzz,zzz,zz9.99-").
  882. SUBSTRING(VZeile,091) = STRING(tDebop.Saldo ,"zzz,zzz,zz9.99-").
  883. IF tDebop.ZahDat <> ? THEN
  884. SUBSTRING(VZeile,054) = STRING(tDebop.ZahDat ,"99.99.9999").
  885. IF tDebop.ZahBetr <> 0 THEN
  886. SUBSTRING(VZeile,064) = STRING(tDebop.ZahBetr,"zzz,zzz,zz9.99-").
  887. IF tDebop.Skonto <> 0 THEN
  888. SUBSTRING(VZeile,079) = STRING(tDebop.Skonto ,"zzzz,zz9.99-").
  889. VFX = "".
  890. IF (VDruDat - tDebop.Faellig) > 0 THEN DO:
  891. XTage = STRING((VDruDat - tDebop.Faellig) / 30,"zzzz9.99").
  892. VFN = INTEGER(SUBSTRING(XTage,01,05)).
  893. VFN = VFN + 1.
  894. VFX = FILL("*", VFN).
  895. VFN = VFN + 1.
  896. END.
  897. ELSE DO:
  898. VFN = 1.
  899. END.
  900. IF VFN > 5 THEN VFN = 5.
  901. SUBSTRING(VZeile,107) = STRING(VFX,"x(04)").
  902. { v8/putzeile.i "1" }
  903. VFakBetr = VFakBetr + tDebop.FakBetr.
  904. VZahBetr = VZahBetr + tDebop.ZahBetr.
  905. VSkonto = VSkonto + tDebop.Skonto.
  906. VSaldo = VSaldo + tDebop.Saldo.
  907. VTot[VFN] = VTot[VFN] + tDebop.Saldo.
  908. VTot[10] = VTot[10] + tDebop.Saldo.
  909. VAnzOP = VAnzOp + 1.
  910. FIND FIRST WKonto WHERE WKonto.Konto = tDebop.Konto NO-ERROR.
  911. IF NOT AVAILABLE WKonto THEN DO:
  912. CREATE WKonto.
  913. ASSIGN WKonto.Konto = tDebop.Konto.
  914. END.
  915. WKonto.Saldo = WKonto.Saldo + tDebop.Saldo.
  916. DO ix = 1 TO 11:
  917. IF tDebop.FakWpfl[ix] = 0 THEN NEXT.
  918. FIND FIRST WWust WHERE WWust.WuCd = ix
  919. AND WWust.Proz = tDebop.FakWPro[ix] NO-ERROR.
  920. IF NOT AVAILABLE WWust THEN DO:
  921. CREATE WWust.
  922. ASSIGN WWust.WuCd = ix
  923. WWust.Proz = tDebop.FakWPro[ix].
  924. END.
  925. WWust.Wpfl = WWust.Wpfl + tDebop.FakWpfl[ix] - tDebop.ZahWpfl[ix].
  926. WWust.Wust = WWust.Wust + tDebop.FakWust[ix] - tDebop.ZahWust[ix].
  927. END.
  928. IF NOT VTotal THEN NEXT.
  929. IF NOT LAST_Knr THEN NEXT.
  930. IF VAnzOP < 2 THEN NEXT.
  931. SUBSTRING(VZeile,037) = STRING(VFakBetr,"zzz,zzz,zz9.99-").
  932. SUBSTRING(VZeile,064) = STRING(VZahBetr,"zzz,zzz,zz9.99-").
  933. SUBSTRING(VZeile,079) = STRING(VSkonto ,"zzzz,zz9.99-").
  934. SUBSTRING(VZeile,091) = STRING(VSaldo ,"zzz,zzz,zz9.99-").
  935. { v8/putzeilf.i "1" }
  936. END PROCEDURE.
  937. /* _UIB-CODE-BLOCK-END */
  938. &ANALYZE-RESUME
  939. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_EXCEL B-table-Win
  940. PROCEDURE AUSGABE_EXCEL :
  941. /*------------------------------------------------------------------------------
  942. Purpose:
  943. Parameters: <none>
  944. Notes:
  945. ------------------------------------------------------------------------------*/
  946. DEF VAR i1 AS INT NO-UNDO.
  947. DEF VAR cZeile AS CHAR NO-UNDO.
  948. DEF VAR cAdresse AS CHAR NO-UNDO.
  949. DEF VAR XTage AS CHAR NO-UNDO.
  950. ASSIGN TFakBetr = 0
  951. TZahBetr = 0
  952. TSkonto = 0
  953. TSaldo = 0.
  954. FOR EACH tDebop USE-INDEX Debop-k1
  955. BREAK BY tDebop.Firma
  956. BY tDebop.Knr
  957. BY tDebop.Faknr :
  958. IF FIRST-OF ( tDebop.Knr ) THEN DO:
  959. FIND Adresse USE-INDEX Adresse-k1
  960. WHERE Adresse.Firma = AdFirma
  961. AND Adresse.Knr = tDebop.Knr NO-LOCK NO-ERROR.
  962. IF AVAILABLE Adresse THEN cAdresse = Adresse.Anzeig_Br.
  963. ELSE cAdresse = '??????????'.
  964. ASSIGN VFakBetr = 0
  965. VZahBetr = 0
  966. VSkonto = 0
  967. VSaldo = 0
  968. VAnzOP = 0.
  969. END.
  970. VFX = "".
  971. IF (VDruDat - tDebop.Faellig) > 0 THEN DO:
  972. XTage = STRING((VDruDat - tDebop.Faellig) / 30,"zzzz9.99").
  973. VFN = INTEGER(SUBSTRING(XTage,01,05)).
  974. VFN = VFN + 1.
  975. VFX = FILL("*", VFN).
  976. VFN = VFN + 1.
  977. END.
  978. ELSE DO:
  979. VFN = 1.
  980. END.
  981. IF VFN > 6 THEN VFN = 6.
  982. ASSIGN VFakBetr = VFakBetr + tDebop.Fakbetr
  983. VZahBetr = VZahBetr + tDebop.ZahBetr
  984. VSkonto = VSkonto + tDebop.Skonto
  985. VSaldo = VSaldo + tDebop.Saldo
  986. VAnzOP = VAnzOP + 1
  987. TFakBetr = TFakBetr + tDebop.Fakbetr
  988. TZahBetr = TZahBetr + tDebop.ZahBetr
  989. TSkonto = TSkonto + tDebop.Skonto
  990. TSaldo = TSaldo + tDebop.Saldo
  991. VTot[VFN] = VTot[VFN] + tDebop.Saldo
  992. VTot[10] = VTot[10] + tDebop.Saldo.
  993. cZeile = '£'
  994. + STRING(tDebop.Knr,'999999') + '£'
  995. + cAdresse + '£'
  996. + STRING(tDebop.Faknr,'999999') + '£'
  997. + STRING(tDebop.Fakdat,'99.99.9999') + '£'
  998. + string(tDebop.Faellig,'99.99.9999') + '£'
  999. + tDebop.Kte + '£'
  1000. + TRIM(STRING(tDebop.Fakbetr,'->>>>>>>>9.99')) + '£'.
  1001. IF tDebop.ZahDat <> ? THEN cZeile = cZeile + STRING(tDebop.ZahDat,'99.99.9999').
  1002. cZeile = cZeile + '£'
  1003. + TRIM(STRING(tDebop.ZahBetr,'->>>>>>>>9.99')) + '£'
  1004. + TRIM(STRING(tDebop.Skonto ,'->>>>>>>>9.99')) + '£'
  1005. + TRIM(STRING(tDebop.Saldo ,'->>>>>>>>9.99')) + '£'
  1006. + TRIM(SUBSTRING(VFX,01,05)).
  1007. PUT CONTROL cZeile CHR(10).
  1008. DO WHILE TRUE:
  1009. IF NOT LAST-OF ( tDebop.Knr ) THEN LEAVE.
  1010. IF VAnzOP < 2 THEN LEAVE.
  1011. cZeile = 'Total Kunde£££££££'
  1012. + TRIM(STRING(VFakBetr,"->>>>>>>>>9.99")) + '££'
  1013. + TRIM(STRING(VZahBetr,"->>>>>>>>>9.99")) + '£'
  1014. + TRIM(STRING(VSkonto ,"->>>>>>>>>9.99")) + '£'
  1015. + TRIM(STRING(VSaldo ,"->>>>>>>>>9.99")).
  1016. PUT CONTROL cZeile CHR(10).
  1017. LEAVE.
  1018. END.
  1019. IF LAST-OF (tDebop.Knr) THEN PUT CONTROL '£' CHR(10).
  1020. END.
  1021. cZeile = 'Gesamt-Total£££££££'
  1022. + TRIM(STRING(TFakBetr,"->>>>>>>>>9.99")) + '££'
  1023. + TRIM(STRING(TZahBetr,"->>>>>>>>>9.99")) + '£'
  1024. + TRIM(STRING(TSkonto ,"->>>>>>>>>9.99")) + '£'
  1025. + TRIM(STRING(TSaldo ,"->>>>>>>>>9.99")).
  1026. PUT CONTROL cZeile CHR(10).
  1027. PUT CONTROL '£££££££££££'
  1028. TRIM(STRING(VTot[01],'->>>>>>>>>9.99')) '£01 - 30 Tage *' CHR(10)
  1029. '£££££££££££'
  1030. TRIM(STRING(VTot[02],'->>>>>>>>>9.99')) '£31 - 60 Tage **' CHR(10)
  1031. '£££££££££££'
  1032. TRIM(STRING(VTot[03],'->>>>>>>>>9.99')) '£61 - 90 Tage ***' CHR(10)
  1033. '£££££££££££'
  1034. TRIM(STRING(VTot[04],'->>>>>>>>>9.99')) '£91 -120 Tage ****' CHR(10)
  1035. '£££££££££££'
  1036. TRIM(STRING(VTot[05],'->>>>>>>>>9.99')) '£121-150 Tage *****' CHR(10)
  1037. '£££££££££££'
  1038. TRIM(STRING(VTot[06],'->>>>>>>>>9.99')) '£> 150 ******' CHR(10)
  1039. '£££££££££££'
  1040. TRIM(STRING(VTot[10],'->>>>>>>>>9.99')) '£Gesamttotal' CHR(10).
  1041. END PROCEDURE.
  1042. /* _UIB-CODE-BLOCK-END */
  1043. &ANALYZE-RESUME
  1044. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  1045. PROCEDURE disable_UI :
  1046. /*------------------------------------------------------------------------------
  1047. Purpose: DISABLE the User Interface
  1048. Parameters: <none>
  1049. Notes: Here we clean-up the user-interface by deleting
  1050. dynamic widgets we have created and/or hide
  1051. frames. This procedure is usually called when
  1052. we are ready to "clean-up" after running.
  1053. ------------------------------------------------------------------------------*/
  1054. /* Hide all frames. */
  1055. HIDE FRAME F-Main.
  1056. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  1057. END PROCEDURE.
  1058. /* _UIB-CODE-BLOCK-END */
  1059. &ANALYZE-RESUME
  1060. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN B-table-Win
  1061. PROCEDURE DRUCKEN :
  1062. /*------------------------------------------------------------------------------
  1063. Purpose:
  1064. Parameters: <none>
  1065. Notes:
  1066. ------------------------------------------------------------------------------*/
  1067. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  1068. VSort = Listen.Sort.
  1069. VFaknr = Listen.VNr[01].
  1070. BFaknr = Listen.BNr[01].
  1071. VKnr = Listen.VNr[02].
  1072. BKnr = Listen.BNr[02].
  1073. VDatum = Listen.VDa[01].
  1074. BDatum = Listen.BDa[01].
  1075. VSuchbe = Listen.VCh[01].
  1076. BSuchbe = Listen.BCh[01].
  1077. VNull = Listen.VFl[01].
  1078. FSaldo = Listen.VFl[02].
  1079. VDruDat = TODAY.
  1080. IF FSaldo THEN DO:
  1081. VDatum = 01/01/0001.
  1082. VDruDat = BDatum.
  1083. END.
  1084. RUN TEMPFILE.
  1085. IF FSaldo THEN DO:
  1086. Tittxt = 'Saldo per : ' + STRING(BDatum,"99.99.9999").
  1087. END.
  1088. ELSE DO:
  1089. Tittxt = STRING(VDatum,"99.99.9999") + " - " + STRING(BDatum,"99.99.9999").
  1090. END.
  1091. RUN LISTTIT1.
  1092. XDruDat = VDruDat.
  1093. /* ========================================================================== */
  1094. IF VSort = 1 THEN DO: /* SORT NACH KUNDENNUMMER */
  1095. DO PRESELECT
  1096. EACH tDebop USE-INDEX Debop-k1 NO-LOCK,
  1097. FIRST BDebst USE-INDEX Debst-k1
  1098. WHERE BDebst.Firma = tDebop.Firma
  1099. AND BDebst.Knr = tDebop.Knr NO-LOCK,
  1100. FIRST BAdresse WHERE BAdresse.Firma = AdFirma
  1101. AND BAdresse.Knr = tDebop.Knr NO-LOCK
  1102. BREAK BY tDebop.Knr
  1103. BY tDebop.Faknr:
  1104. DO VCopy = 1 TO LiDruck.ListCopy:
  1105. LNeu = TRUE.
  1106. /* -------------------------------------------------------------------------- */
  1107. { v8/opendruck.i }
  1108. /* -------------------------------------------------------------------------- */
  1109. VLine = 0.
  1110. VRand = 0.
  1111. RRand = 0.
  1112. VTot = 0.
  1113. VZeile = "".
  1114. FSeite = FALSE.
  1115. FOR EACH WKonto:
  1116. DELETE WKonto.
  1117. END.
  1118. FOR EACH WWust:
  1119. DELETE WWust.
  1120. END.
  1121. REPEAT:
  1122. IF LNeu THEN FIND FIRST BAdresse NO-ERROR.
  1123. ELSE FIND NEXT BAdresse NO-ERROR.
  1124. IF NOT AVAILABLE BAdresse THEN LEAVE.
  1125. LNeu = FALSE.
  1126. IF FIRST-OF(tDebop.Knr) THEN FIRST_Knr = TRUE.
  1127. ELSE FIRST_Knr = FALSE.
  1128. IF LAST-OF (tDebop.Knr) THEN LAST_Knr = TRUE.
  1129. ELSE LAST_Knr = FALSE.
  1130. IF BDebst.Passant THEN ASSIGN FIRST_Knr = TRUE
  1131. LAST_Knr = TRUE.
  1132. RUN AUSGABE.
  1133. END.
  1134. Ueber4 = "".
  1135. Ueber5 = "".
  1136. RUN ABSCHLUSS.
  1137. TiDruck = TRUE.
  1138. IF DOpen = TRUE THEN DO:
  1139. OUTPUT CLOSE.
  1140. IF lPDF THEN RUN datei2viper.p ( cDrucker ).
  1141. END.
  1142. ELSE DO:
  1143. RUN "v8/d-liste.w" ( INPUT Helptext[02] ).
  1144. END.
  1145. END. /* Kopien */
  1146. END. /* PRESELECT */
  1147. END. /* SORT KUNDENNUMMER */
  1148. /* ========================================================================== */
  1149. IF VSort = 2 THEN DO: /* SORT NACH SUCHBEGRIFF */
  1150. DO PRESELECT
  1151. EACH tDebop USE-INDEX Debop-k1 NO-LOCK,
  1152. FIRST BDebst USE-INDEX Debst-k1
  1153. WHERE BDebst.Firma = tDebop.Firma
  1154. AND BDebst.Knr = tDebop.Knr NO-LOCK,
  1155. FIRST BAdresse WHERE BAdresse.Firma = AdFirma
  1156. AND BAdresse.Knr = tDebop.Knr
  1157. AND BAdresse.Suchbe >= VSuchbe
  1158. AND BAdresse.Suchbe <= BSuchbe NO-LOCK
  1159. BREAK BY BAdresse.Suchbe
  1160. BY tDebop.Knr
  1161. BY tDebop.Faknr:
  1162. DO VCopy = 1 TO LiDruck.ListCopy:
  1163. LNeu = TRUE.
  1164. /* -------------------------------------------------------------------------- */
  1165. { v8/opendruck.i }
  1166. /* -------------------------------------------------------------------------- */
  1167. VLine = 0.
  1168. VRand = 0.
  1169. RRand = 0.
  1170. VTot = 0.
  1171. VZeile = "".
  1172. FSeite = FALSE.
  1173. FOR EACH WKonto:
  1174. DELETE WKonto.
  1175. END.
  1176. REPEAT:
  1177. IF LNeu THEN FIND FIRST BAdresse NO-ERROR.
  1178. ELSE FIND NEXT BAdresse NO-ERROR.
  1179. IF NOT AVAILABLE BAdresse THEN LEAVE.
  1180. LNeu = FALSE.
  1181. IF FIRST-OF(tDebop.Knr) THEN FIRST_Knr = TRUE.
  1182. ELSE FIRST_Knr = FALSE.
  1183. IF LAST-OF (tDebop.Knr) THEN LAST_Knr = TRUE.
  1184. ELSE LAST_Knr = FALSE.
  1185. IF BDebst.Passant THEN ASSIGN FIRST_Knr = TRUE
  1186. LAST_Knr = TRUE.
  1187. RUN AUSGABE.
  1188. END.
  1189. Ueber4 = "".
  1190. Ueber5 = "".
  1191. RUN ABSCHLUSS.
  1192. TiDruck = TRUE.
  1193. IF DOpen = TRUE THEN DO:
  1194. OUTPUT CLOSE.
  1195. IF lPDF THEN RUN datei2viper.p ( cDrucker ).
  1196. END.
  1197. ELSE DO:
  1198. RUN "v8/d-liste.w" ( INPUT Helptext[02] ).
  1199. END.
  1200. END. /* Kopien */
  1201. END. /* PRESELECT */
  1202. END. /* SORT SUCHBEGRIFF */
  1203. /* ========================================================================== */
  1204. IF VSort = 3 THEN RUN EXCEL. /* EXCEL-Ausgabe */
  1205. APPLY 'CHOOSE' TO Btn_Ende IN FRAME {&FRAME-NAME}.
  1206. RETURN NO-APPLY.
  1207. END PROCEDURE.
  1208. /* _UIB-CODE-BLOCK-END */
  1209. &ANALYZE-RESUME
  1210. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL B-table-Win
  1211. PROCEDURE EXCEL :
  1212. /*------------------------------------------------------------------------------
  1213. Purpose:
  1214. Parameters: <none>
  1215. Notes:
  1216. ------------------------------------------------------------------------------*/
  1217. DEF VAR cVorlage AS CHAR NO-UNDO.
  1218. DEF VAR cDokument AS CHAR NO-UNDO.
  1219. DEF VAR cDaten AS CHAR NO-UNDO.
  1220. DEF VAR cDateiName AS CHAR NO-UNDO.
  1221. DEF VAR Zelle AS CHAR NO-UNDO.
  1222. FIND FIRST tDebop NO-LOCK NO-ERROR.
  1223. IF NOT AVAILABLE tDebop THEN DO:
  1224. MESSAGE 'Keine Daten selektiert ! ' VIEW-AS ALERT-BOX.
  1225. RETURN.
  1226. END.
  1227. cVorlage = 'Debop.xls'.
  1228. cDokument = 'Debop.xls'.
  1229. cDaten = 'Debop.txt'.
  1230. cDateiName = cDokument + CHR(01) + cVorlage.
  1231. RUN CREATEDATEI ( INPUT cDateiName ).
  1232. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  1233. cDokument = RETURN-VALUE.
  1234. cDateiName = cDaten.
  1235. RUN CREATEDATEI ( INPUT cDateiName ).
  1236. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  1237. cDaten = RETURN-VALUE.
  1238. OUTPUT TO VALUE(cDaten).
  1239. RUN AUSGABE_EXCEL.
  1240. OUTPUT CLOSE.
  1241. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  1242. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  1243. RUN FEHLER ( INPUT 1035 ).
  1244. RETURN.
  1245. END.
  1246. RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
  1247. IF NOT ja THEN DO:
  1248. RUN FEHLER ( INPUT 1040 ).
  1249. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  1250. RETURN NO-APPLY.
  1251. END.
  1252. Zelle = 'A5'.
  1253. excelAppl:Range(Zelle):SELECT.
  1254. excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
  1255. excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
  1256. RUN KOPF ( INPUT excelAppl ).
  1257. Zelle = 'A1'.
  1258. excelAppl:Range(Zelle):SELECT.
  1259. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  1260. END PROCEDURE.
  1261. /* _UIB-CODE-BLOCK-END */
  1262. &ANALYZE-RESUME
  1263. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF B-table-Win
  1264. PROCEDURE KOPF :
  1265. /*------------------------------------------------------------------------------
  1266. Purpose:
  1267. Parameters: <none>
  1268. Notes:
  1269. ------------------------------------------------------------------------------*/
  1270. DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
  1271. DEF VAR Zelle AS CHAR NO-UNDO.
  1272. DEF VAR rechts AS INT NO-UNDO.
  1273. DEF VAR mitte AS INT NO-UNDO.
  1274. DEF VAR i1 AS INT NO-UNDO.
  1275. DEF VAR i2 AS INT NO-UNDO.
  1276. DEF VAR Breite AS DEC DECIMALS 4 NO-UNDO.
  1277. DEF VAR TotBre AS DEC DECIMALS 4 NO-UNDO.
  1278. DEF VAR DifBre AS DEC DECIMALS 4 NO-UNDO.
  1279. DEF VAR FHoch AS LOG NO-UNDO.
  1280. DEF VAR cMonate AS CHAR NO-UNDO
  1281. INIT 'Jan;Feb;Mar;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez;Kum'.
  1282. DEF VAR lDatum AS DATE NO-UNDO.
  1283. eh:Range('A1'):Select.
  1284. eh:Selection:ColumnWidth = 0.2.
  1285. FIND Steuer USE-INDEX Steuer-k1
  1286. WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  1287. Zelle = 'B1'.
  1288. eh:Range(Zelle):Select.
  1289. eh:Selection:Value = Steuer.Firma1.
  1290. Zelle = 'B2'.
  1291. eh:Range(Zelle):Select.
  1292. eh:Selection:Value = Steuer.Ort.
  1293. /* ------------------------------------------------------ */
  1294. Zelle = 'G1'.
  1295. eh:Range(Zelle):Select.
  1296. eh:Selection:Value = 'Debitoren Offene Posten'.
  1297. IF FSaldo THEN DO:
  1298. Zelle = 'G2'.
  1299. eh:Range(Zelle):Select.
  1300. eh:Selection:Value = 'Saldo per : '
  1301. + STRING(BDatum,'99.99.9999').
  1302. END.
  1303. /* ------------------------------------------------------ */
  1304. Zelle = 'M1'.
  1305. eh:Range(Zelle):Select.
  1306. eh:Selection:Value = 'Datum : ' + STRING(TODAY,'99.99.9999').
  1307. Zelle = 'M2'.
  1308. eh:Range(Zelle):Select.
  1309. eh:Selection:Value = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  1310. END PROCEDURE.
  1311. /* _UIB-CODE-BLOCK-END */
  1312. &ANALYZE-RESUME
  1313. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD B-table-Win
  1314. PROCEDURE LIBILD :
  1315. /*------------------------------------------------------------------------------
  1316. Purpose:
  1317. Parameters: <none>
  1318. Notes:
  1319. ------------------------------------------------------------------------------*/
  1320. { v8/libild.i }
  1321. END PROCEDURE.
  1322. /* _UIB-CODE-BLOCK-END */
  1323. &ANALYZE-RESUME
  1324. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT1 B-table-Win
  1325. PROCEDURE LISTTIT1 :
  1326. /*------------------------------------------------------------------------------
  1327. Purpose:
  1328. Parameters: <none>
  1329. Notes:
  1330. ------------------------------------------------------------------------------*/
  1331. { v8/listtit1.i }
  1332. END PROCEDURE.
  1333. /* _UIB-CODE-BLOCK-END */
  1334. &ANALYZE-RESUME
  1335. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT2 B-table-Win
  1336. PROCEDURE LISTTIT2 :
  1337. /*------------------------------------------------------------------------------
  1338. Purpose:
  1339. Parameters: <none>
  1340. Notes:
  1341. ------------------------------------------------------------------------------*/
  1342. { v8/listtit2.i }
  1343. END PROCEDURE.
  1344. /* _UIB-CODE-BLOCK-END */
  1345. &ANALYZE-RESUME
  1346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win
  1347. PROCEDURE local-display-fields :
  1348. /*------------------------------------------------------------------------------
  1349. Purpose: Override standard ADM method
  1350. Notes:
  1351. ------------------------------------------------------------------------------*/
  1352. RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) .
  1353. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  1354. IF ARecid > -1 THEN DO:
  1355. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
  1356. F_Preisgruppen = Listen.ECh[01].
  1357. F_Vertreter = Listen.ECh[02].
  1358. DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}.
  1359. END.
  1360. ENABLE {&List-2} WITH FRAME {&FRAME-NAME}.
  1361. END PROCEDURE.
  1362. /* _UIB-CODE-BLOCK-END */
  1363. &ANALYZE-RESUME
  1364. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
  1365. PROCEDURE local-hide :
  1366. /*------------------------------------------------------------------------------
  1367. Purpose: Override standard ADM method
  1368. Notes:
  1369. ------------------------------------------------------------------------------*/
  1370. DO TRANSACTION:
  1371. FIND Listen WHERE RECID(Listen) = ARecid.
  1372. Listen.Listfl = ''.
  1373. END.
  1374. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  1375. END PROCEDURE.
  1376. /* _UIB-CODE-BLOCK-END */
  1377. &ANALYZE-RESUME
  1378. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
  1379. PROCEDURE local-initialize :
  1380. /*------------------------------------------------------------------------------
  1381. Purpose: Override standard ADM method
  1382. Notes:
  1383. ------------------------------------------------------------------------------*/
  1384. DEF BUFFER BListen FOR Listen.
  1385. DEF VAR VListnr LIKE Listen.Listnr.
  1386. F_USER = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
  1387. QOpen = FALSE.
  1388. FInit = TRUE.
  1389. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  1390. VProgname = TRIM(F_USER) + '!' + TRIM(F_Programm).
  1391. FIND FIRST Listen USE-INDEX Listen-k1
  1392. WHERE Listen.Firma = GVFirma
  1393. AND Listen.Progname = VProgname
  1394. AND Listen.Listfl = '' NO-LOCK NO-ERROR.
  1395. DO TRANSACTION:
  1396. IF NOT AVAILABLE Listen THEN DO:
  1397. FIND LAST BListen USE-INDEX Listen-k1
  1398. WHERE BListen.Firma = GVFirma NO-LOCK NO-ERROR.
  1399. IF AVAILABLE BListen THEN VListnr = BListen.Listnr + 1.
  1400. ELSE VListnr = 1.
  1401. CREATE Listen.
  1402. ASSIGN Listen.Firma = GVFirma
  1403. Listen.Listnr = VListnr
  1404. Listen.Progname = VProgname
  1405. Listen.Listfl = ''
  1406. Listen.Jahr = GVJahr
  1407. Listen.Sprcd = GVSprcd
  1408. Listen.Sort = 1
  1409. Listen.ProgWahl = 1.
  1410. END.
  1411. ARecid = RECID(Listen).
  1412. FIND LiDruck USE-INDEX LiDruck-k1
  1413. WHERE LiDruck.Firma = GVFirma
  1414. AND LiDruck.Listnr = Listen.Listnr
  1415. AND LiDruck.ProgWahl = Listen.ProgWahl NO-LOCK NO-ERROR.
  1416. IF NOT AVAILABLE LiDruck THEN DO:
  1417. CREATE LiDruck.
  1418. ASSIGN LiDruck.Firma = GVFirma
  1419. LiDruck.Listnr = Listen.Listnr
  1420. LiDruck.ProgWahl = Listen.ProgWahl
  1421. LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99')
  1422. LiDruck.ListCopy = 1
  1423. LiDruck.Schacht = 0
  1424. LiDruck.Listlq = FALSE.
  1425. END.
  1426. BRecid = RECID(LiDruck).
  1427. FIND Listen WHERE RECID(Listen) = ARecid.
  1428. Listen.Listfl = 'A'.
  1429. RELEASE Listen.
  1430. RELEASE LiDruck.
  1431. END. /* TRANSACTION */
  1432. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
  1433. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK.
  1434. FOpen = TRUE.
  1435. ASchname = LiDruck.ListDru.
  1436. ASchbild = LiDruck.ListBild.
  1437. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  1438. FIND FIRST XSchrift WHERE XSchrift.Schname = ASchname NO-LOCK NO-ERROR.
  1439. IF AVAILABLE XSchrift THEN DO:
  1440. REPOSITION Br_Druckername TO RECID RECID(XSchrift) NO-ERROR.
  1441. Br_Druckername:SELECT-FOCUSED-ROW() IN FRAME {&FRAME-NAME}.
  1442. Br_Druckername:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
  1443. END.
  1444. ELSE DO:
  1445. Br_Druckername:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
  1446. END.
  1447. APPLY 'VALUE-CHANGED' TO BROWSE Br_Druckername.
  1448. RUN LIBILD.
  1449. F_Zeichen = Breite.
  1450. F_Sort = Listen.Sort.
  1451. F_TZZ = LiDruck.Listtzz.
  1452. F_KZZ = LiDruck.Listkzz.
  1453. F_FZZ = LiDruck.Listfzz.
  1454. F_LQ = LiDruck.Listlq.
  1455. F_KOPIE = LiDruck.ListCopy.
  1456. F_SCHACHT = LiDruck.Schacht.
  1457. OBreite = Breite.
  1458. RUN dispatch IN THIS-PROCEDURE ('display-fields':U).
  1459. END PROCEDURE.
  1460. /* _UIB-CODE-BLOCK-END */
  1461. &ANALYZE-RESUME
  1462. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
  1463. PROCEDURE local-open-query :
  1464. /*------------------------------------------------------------------------------
  1465. Purpose: Override standard ADM method
  1466. Notes:
  1467. ------------------------------------------------------------------------------*/
  1468. IF FOpen = FALSE THEN RETURN NO-APPLY.
  1469. IF QOpen = TRUE THEN DO:
  1470. CLOSE QUERY Br_Druckername.
  1471. CLOSE QUERY Br_Schriftbild.
  1472. END.
  1473. QOpen = FALSE.
  1474. FOR EACH XSchrift:
  1475. DELETE XSchrift.
  1476. END.
  1477. AltSchname = ''.
  1478. FOR EACH Schrift NO-LOCK:
  1479. IF Schrift.Schname = AltSchname THEN NEXT.
  1480. CREATE XSchrift.
  1481. BUFFER-COPY Schrift TO XSchrift.
  1482. AltSchname = Schrift.Schname.
  1483. END.
  1484. OPEN QUERY Br_Druckername
  1485. FOR EACH XSchrift NO-LOCK.
  1486. QOpen = TRUE.
  1487. END PROCEDURE.
  1488. /* _UIB-CODE-BLOCK-END */
  1489. &ANALYZE-RESUME
  1490. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-row-changed B-table-Win
  1491. PROCEDURE local-row-changed :
  1492. /*------------------------------------------------------------------------------
  1493. Purpose: Override standard ADM method
  1494. Notes:
  1495. ------------------------------------------------------------------------------*/
  1496. RUN dispatch IN THIS-PROCEDURE ( INPUT 'row-changed':U ) .
  1497. OPEN QUERY Br_Schriftbild
  1498. FOR EACH Schrift WHERE Schrift.Schname = XSchrift.Schname NO-LOCK.
  1499. IF AVAILABLE LiDruck THEN DO:
  1500. FIND BSchrift WHERE BSchrift.Schname = LiDruck.ListDru
  1501. AND BSchrift.Schbild = LiDruck.ListBild NO-LOCK NO-ERROR.
  1502. IF AVAILABLE BSchrift THEN DO:
  1503. REPOSITION Br_Schriftbild TO RECID RECID(BSchrift) NO-ERROR.
  1504. END.
  1505. END.
  1506. APPLY 'VALUE-CHANGED' TO BROWSE Br_Schriftbild.
  1507. END PROCEDURE.
  1508. /* _UIB-CODE-BLOCK-END */
  1509. &ANALYZE-RESUME
  1510. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  1511. PROCEDURE local-view :
  1512. /*------------------------------------------------------------------------------
  1513. Purpose: Override standard ADM method
  1514. Notes:
  1515. ------------------------------------------------------------------------------*/
  1516. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  1517. IF ARecid < 0 THEN RETURN.
  1518. DO TRANSACTION:
  1519. FIND Listen WHERE RECID(Listen) = ARecid.
  1520. ASSIGN Listen.VNr[01] = XVAufnr
  1521. Listen.BNr[01] = XVAufnr.
  1522. RELEASE Listen.
  1523. END.
  1524. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
  1525. RUN dispatch IN THIS-PROCEDURE ('display-fields':U).
  1526. END PROCEDURE.
  1527. /* _UIB-CODE-BLOCK-END */
  1528. &ANALYZE-RESUME
  1529. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  1530. PROCEDURE send-records :
  1531. /*------------------------------------------------------------------------------
  1532. Purpose: Send record ROWID's for all tables used by
  1533. this file.
  1534. Parameters: see template/snd-head.i
  1535. ------------------------------------------------------------------------------*/
  1536. /* Define variables needed by this internal procedure. */
  1537. {src/adm/template/snd-head.i}
  1538. /* For each requested table, put it's ROWID in the output list. */
  1539. {src/adm/template/snd-list.i "Schrift"}
  1540. {src/adm/template/snd-list.i "XSchrift"}
  1541. /* Deal with any unexpected table requests before closing. */
  1542. {src/adm/template/snd-end.i}
  1543. END PROCEDURE.
  1544. /* _UIB-CODE-BLOCK-END */
  1545. &ANALYZE-RESUME
  1546. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  1547. PROCEDURE state-changed :
  1548. /* -----------------------------------------------------------
  1549. Purpose:
  1550. Parameters: <none>
  1551. Notes:
  1552. -------------------------------------------------------------*/
  1553. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  1554. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  1555. CASE p-state:
  1556. /* Object instance CASEs can go here to replace standard behavior
  1557. or add new cases. */
  1558. {src/adm/template/bstates.i}
  1559. END CASE.
  1560. END PROCEDURE.
  1561. /* _UIB-CODE-BLOCK-END */
  1562. &ANALYZE-RESUME
  1563. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEMPFILE B-table-Win
  1564. PROCEDURE TEMPFILE :
  1565. /*------------------------------------------------------------------------------
  1566. Purpose:
  1567. Parameters: <none>
  1568. Notes:
  1569. ------------------------------------------------------------------------------*/
  1570. DEF VAR lJa AS LOG NO-UNDO.
  1571. EMPTY TEMP-TABLE tDebop.
  1572. FOR EACH Debop NO-LOCK USE-INDEX Debop-k1
  1573. WHERE Debop.Firma = GVFirma
  1574. AND Debop.Knr >= VKnr
  1575. AND Debop.Knr <= BKnr
  1576. AND Debop.Faknr >= VFaknr
  1577. AND Debop.Faknr <= BFaknr
  1578. AND Debop.FakDat >= VDatum
  1579. AND Debop.FakDat <= BDatum
  1580. BREAK BY Debop.Knr
  1581. BY Debop.Faknr :
  1582. IF FIRST-OF ( Debop.Knr ) THEN DO:
  1583. lJa = TRUE.
  1584. FIND Debst NO-LOCK USE-INDEX Debst-k1
  1585. WHERE Debst.Firma = Debop.Firma
  1586. AND Debst.Knr = Debop.Knr NO-ERROR.
  1587. IF NOT AVAILABLE Debst THEN DO:
  1588. lJa = FALSE.
  1589. NEXT.
  1590. END.
  1591. IF F_Preisgruppen <> '' THEN DO:
  1592. IF LOOKUP(STRING(Debst.Preis_Grp,"999"), F_Preisgruppen) = 0 THEN lJa = FALSE.
  1593. END.
  1594. IF F_Vertreter <> '' THEN DO:
  1595. IF LOOKUP(STRING(Debst.Vertr ,"999"), F_Vertreter ) = 0 THEN lJa = FALSE.
  1596. END.
  1597. END.
  1598. IF NOT lJa THEN NEXT.
  1599. CREATE tDebop.
  1600. BUFFER-COPY Debop TO tDebop.
  1601. IF FSaldo THEN DO:
  1602. FOR EACH Debza NO-LOCK USE-INDEX Debza-k1
  1603. WHERE Debza.Firma = Debop.Firma
  1604. AND Debza.Knr = Debop.Knr
  1605. AND Debza.Faknr = Debop.Faknr :
  1606. IF Debza.ZahDat <= BDatum THEN NEXT.
  1607. tDebop.ZahBetr = tDebop.ZahBetr - Debza.ZahBetr.
  1608. tDebop.Skonto = tDebop.ZahBetr - Debza.Skonto.
  1609. tDebop.Saldo = tDebop.Saldo + Debza.ZahBetr + Debza.Skonto.
  1610. DO ix = 1 TO 12:
  1611. tDebop.ZahWpfl[ix] = tDebop.ZahWpfl[ix] - Debza.ZahWpfl[ix].
  1612. tDebop.ZahWust[ix] = tDebop.ZahWust[ix] - Debza.ZahWust[ix].
  1613. END.
  1614. END.
  1615. END.
  1616. IF NOT VNull THEN NEXT.
  1617. IF tDebop.Saldo <> 0 THEN NEXT.
  1618. DELETE tDebop.
  1619. END.
  1620. END PROCEDURE.
  1621. /* _UIB-CODE-BLOCK-END */
  1622. &ANALYZE-RESUME