b-p_mahnung.w 59 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832
  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 PosSeite AS INT.
  35. DEF VAR ZeiSeite AS INT.
  36. DEF VAR DatBeg AS INT.
  37. DEF VAR DatEnd AS INT.
  38. DEF VAR DatSta AS INT.
  39. DEF VAR AllEnd AS INT.
  40. DEF VAR DatLer AS INT.
  41. DEF VAR VStern AS CHAR FORMAT "x(04)".
  42. DEF VAR VZins AS DEC.
  43. DEF VAR VZins% AS DEC.
  44. DEF VAR VMinBetr AS INT.
  45. DEF VAR cDateiname AS CHAR NO-UNDO.
  46. DEF VAR VProgname AS CHAR NO-UNDO.
  47. DEF VAR ARecid AS RECID INIT -1 NO-UNDO.
  48. DEF VAR BRecid AS RECID INIT -1 NO-UNDO.
  49. DEF VAR SRecid AS RECID INIT -1 NO-UNDO.
  50. DEF VAR FInit AS LOG NO-UNDO.
  51. DEF VAR xDichte AS CHAR NO-UNDO.
  52. DEF VAR cDichte AS CHAR NO-UNDO.
  53. /* ------------------------------------------------------------------------- */
  54. DEF VAR VKnr LIKE Adresse.Knr.
  55. DEF VAR BKnr LIKE Adresse.Knr.
  56. DEF VAR VStu AS INT FORMAT "9".
  57. DEF VAR BStu AS INT FORMAT "9".
  58. DEF VAR VBerueck AS DATE FORMAT "99.99.9999".
  59. DEF VAR VDatum AS DATE.
  60. DEF VAR VZeile AS CHAR FORMAT "x(180)".
  61. DEF VAR XSeite AS CHAR FORMAT "x(180)" EXTENT 72.
  62. DEF VAR VTexte AS CHAR FORMAT "x(120)" EXTENT 25.
  63. DEF VAR RRand AS INT INIT 0.
  64. DEF VAR VPage AS INT INIT 0.
  65. DEF VAR VTotal AS DEC EXTENT 10.
  66. DEF STREAM Inp_Stream.
  67. DEF STREAM Out_Stream.
  68. /* ---------- Globale Variablen ---------------------------------- */
  69. { v8/globvar.i" " " " "SHARED" }
  70. { v8/debivar.i " " " " "SHARED" }
  71. { v8/artivar.i " " " " "SHARED" }
  72. { v8/contvar.i " " " " "SHARED" }
  73. { v8/listtitv.i "NEW" "SHARED" }
  74. /* _UIB-CODE-BLOCK-END */
  75. &ANALYZE-RESUME
  76. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  77. /* ******************** Preprocessor Definitions ******************** */
  78. &Scoped-define PROCEDURE-TYPE SmartBrowser
  79. &Scoped-define DB-AWARE no
  80. &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
  81. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  82. &Scoped-define FRAME-NAME F-Main
  83. &Scoped-define BROWSE-NAME Br_Druckername
  84. /* Internal Tables (found by Frame, Query & Browse Queries) */
  85. &Scoped-define INTERNAL-TABLES XSchrift Schrift
  86. /* Define KEY-PHRASE in case it is used by any query. */
  87. &Scoped-define KEY-PHRASE TRUE
  88. /* Definitions for BROWSE Br_Druckername */
  89. &Scoped-define FIELDS-IN-QUERY-Br_Druckername XSchrift.Schname
  90. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Druckername
  91. &Scoped-define QUERY-STRING-Br_Druckername FOR EACH XSchrift WHERE ~{&KEY-PHRASE} NO-LOCK ~
  92. ~{&SORTBY-PHRASE}
  93. &Scoped-define OPEN-QUERY-Br_Druckername OPEN QUERY Br_Druckername FOR EACH XSchrift WHERE ~{&KEY-PHRASE} NO-LOCK ~
  94. ~{&SORTBY-PHRASE}.
  95. &Scoped-define TABLES-IN-QUERY-Br_Druckername XSchrift
  96. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Druckername XSchrift
  97. /* Definitions for BROWSE Br_Schriftbild */
  98. &Scoped-define FIELDS-IN-QUERY-Br_Schriftbild Schrift.Schbild
  99. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Schriftbild
  100. &Scoped-define QUERY-STRING-Br_Schriftbild FOR EACH Schrift NO-LOCK ~
  101. BY Schrift.Schbild
  102. &Scoped-define OPEN-QUERY-Br_Schriftbild OPEN QUERY Br_Schriftbild FOR EACH Schrift NO-LOCK ~
  103. BY Schrift.Schbild.
  104. &Scoped-define TABLES-IN-QUERY-Br_Schriftbild Schrift
  105. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Schriftbild Schrift
  106. /* Definitions for FRAME F-Main */
  107. /* Standard List Definitions */
  108. &Scoped-Define ENABLED-FIELDS Listen.VNr[1] Listen.BNr[1] Listen.VNr[2] ~
  109. Listen.BNr[2] Listen.EDa[1]
  110. &Scoped-define ENABLED-TABLES Listen
  111. &Scoped-define FIRST-ENABLED-TABLE Listen
  112. &Scoped-Define ENABLED-OBJECTS T_GleicheStufe Br_Druckername Br_Schriftbild ~
  113. F_Sort F_TZZ F_KZZ F_FZZ F_LQ F_KOPIE F_SCHACHT F_USER F_Programm F_Zeichen ~
  114. Btn_Start Btn_Ende Btn_PDF RECT-10 RECT-11 RECT-12 RECT-13 RECT-17
  115. &Scoped-Define DISPLAYED-FIELDS Listen.VNr[1] Listen.BNr[1] Listen.VNr[2] ~
  116. Listen.BNr[2] Listen.EDa[1]
  117. &Scoped-define DISPLAYED-TABLES Listen
  118. &Scoped-define FIRST-DISPLAYED-TABLE Listen
  119. &Scoped-Define DISPLAYED-OBJECTS T_GleicheStufe F_Sort F_TZZ F_KZZ F_FZZ ~
  120. F_LQ F_KOPIE F_SCHACHT F_USER F_Programm F_Zeichen
  121. /* Custom List Definitions */
  122. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  123. &Scoped-define List-1 T_GleicheStufe F_Sort F_TZZ F_KZZ F_FZZ
  124. &Scoped-define List-2 Listen.VNr[1] Listen.BNr[1] Listen.VNr[2] ~
  125. Listen.BNr[2] Listen.EDa[1]
  126. /* _UIB-PREPROCESSOR-BLOCK-END */
  127. &ANALYZE-RESUME
  128. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  129. /* Actions: ? adm/support/keyedit.w ? ? ? */
  130. /* STRUCTURED-DATA
  131. <KEY-OBJECT>
  132. &BROWSE-NAME
  133. </KEY-OBJECT>
  134. <FOREIGN-KEYS>
  135. </FOREIGN-KEYS
  136. ><EXECUTING-CODE>
  137. **************************
  138. * Set attributes related to FOREIGN KEYS
  139. */
  140. RUN set-attribute-list (
  141. 'Keys-Accepted = "",
  142. Keys-Supplied = ""':U).
  143. /**************************
  144. </EXECUTING-CODE> */
  145. /* _UIB-CODE-BLOCK-END */
  146. &ANALYZE-RESUME
  147. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  148. /* Actions: ? adm/support/advqedit.w ? ? ? */
  149. /* STRUCTURED-DATA
  150. <KEY-OBJECT>
  151. &BROWSE-NAME
  152. </KEY-OBJECT>
  153. <SORTBY-OPTIONS>
  154. </SORTBY-OPTIONS>
  155. <SORTBY-RUN-CODE>
  156. ************************
  157. * Set attributes related to SORTBY-OPTIONS */
  158. RUN set-attribute-list (
  159. 'SortBy-Options = ""':U).
  160. /************************
  161. </SORTBY-RUN-CODE>
  162. <FILTER-ATTRIBUTES>
  163. </FILTER-ATTRIBUTES> */
  164. /* _UIB-CODE-BLOCK-END */
  165. &ANALYZE-RESUME
  166. /* *********************** Control Definitions ********************** */
  167. /* Definitions of the field level widgets */
  168. DEFINE BUTTON Btn_Ende
  169. LABEL "&Ende"
  170. SIZE 14 BY 1.
  171. DEFINE BUTTON Btn_PDF
  172. LABEL "&PDF"
  173. SIZE 14 BY 1.
  174. DEFINE BUTTON Btn_Start
  175. LABEL "&Starten"
  176. SIZE 14 BY 1.
  177. DEFINE VARIABLE F_FZZ AS INTEGER FORMAT "999":U INITIAL 0
  178. LABEL "Fusszeilen"
  179. VIEW-AS FILL-IN NATIVE
  180. SIZE 6 BY 1.05 TOOLTIP "Wieviele Zeilen müssen am Ende der Seite leer bleiben"
  181. BGCOLOR 15 NO-UNDO.
  182. DEFINE VARIABLE F_KOPIE AS INTEGER FORMAT "9":U INITIAL 0
  183. LABEL "Anz. Kopien"
  184. VIEW-AS FILL-IN NATIVE
  185. SIZE 4 BY 1.05 TOOLTIP "Anzahl Listenkopien"
  186. BGCOLOR 15 NO-UNDO.
  187. DEFINE VARIABLE F_KZZ AS INTEGER FORMAT "999":U INITIAL 0
  188. LABEL "Kopfzeilen"
  189. VIEW-AS FILL-IN NATIVE
  190. SIZE 6 BY 1.05 TOOLTIP "Wieviele leere Kopfzeilen müssen gedruckt werden"
  191. BGCOLOR 15 NO-UNDO.
  192. DEFINE VARIABLE F_LQ AS LOGICAL FORMAT "j/n":U INITIAL NO
  193. LABEL "Schönschrift"
  194. VIEW-AS FILL-IN NATIVE
  195. SIZE 4 BY 1.05 TOOLTIP "Wieviele Zeilen müssen am Ende der Seite leer bleiben"
  196. BGCOLOR 15 NO-UNDO.
  197. DEFINE VARIABLE F_Programm AS CHARACTER FORMAT "X(20)":U INITIAL "MAHNUNG"
  198. LABEL "Programm"
  199. VIEW-AS FILL-IN NATIVE
  200. SIZE 18 BY 1
  201. BGCOLOR 15 NO-UNDO.
  202. DEFINE VARIABLE F_SCHACHT AS INTEGER FORMAT "9":U INITIAL 0
  203. LABEL "Schacht"
  204. VIEW-AS FILL-IN NATIVE
  205. SIZE 4 BY 1.05 TOOLTIP "Welcher Schacht muss angesteuer werden"
  206. BGCOLOR 15 NO-UNDO.
  207. DEFINE VARIABLE F_TZZ AS INTEGER FORMAT "999":U INITIAL 0
  208. LABEL "Zeilen"
  209. VIEW-AS FILL-IN NATIVE
  210. SIZE 6 BY 1.05 TOOLTIP "Wieviele Zeilen hat die ganze Seite"
  211. BGCOLOR 15 NO-UNDO.
  212. DEFINE VARIABLE F_USER AS CHARACTER FORMAT "X(20)":U
  213. LABEL "Benutzer"
  214. VIEW-AS FILL-IN NATIVE
  215. SIZE 18 BY 1
  216. BGCOLOR 15 NO-UNDO.
  217. DEFINE VARIABLE F_Zeichen AS INTEGER FORMAT "zzz,zzz,zz9":U INITIAL 0
  218. LABEL "Anz. Zeichen"
  219. VIEW-AS FILL-IN NATIVE
  220. SIZE 18 BY 1
  221. BGCOLOR 15 NO-UNDO.
  222. DEFINE VARIABLE F_Sort AS INTEGER
  223. VIEW-AS RADIO-SET VERTICAL
  224. RADIO-BUTTONS
  225. "Kundennummer", 1,
  226. "Suchbegriff", 2
  227. SIZE 25.8 BY 1.67 NO-UNDO.
  228. DEFINE RECTANGLE RECT-10
  229. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  230. SIZE 47.6 BY 4.14.
  231. DEFINE RECTANGLE RECT-11
  232. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  233. SIZE 90 BY 9.52.
  234. DEFINE RECTANGLE RECT-12
  235. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  236. SIZE 47.6 BY 4.52.
  237. DEFINE RECTANGLE RECT-13
  238. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  239. SIZE 138.8 BY 1.91.
  240. DEFINE RECTANGLE RECT-17
  241. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  242. SIZE 144 BY 16.19.
  243. DEFINE VARIABLE T_GleicheStufe AS LOGICAL INITIAL no
  244. LABEL "alle OP's auf Stufe Kontoauszug"
  245. VIEW-AS TOGGLE-BOX
  246. SIZE 44.2 BY 1 NO-UNDO.
  247. /* Query definitions */
  248. &ANALYZE-SUSPEND
  249. DEFINE QUERY Br_Druckername FOR
  250. XSchrift SCROLLING.
  251. DEFINE QUERY Br_Schriftbild FOR
  252. Schrift SCROLLING.
  253. &ANALYZE-RESUME
  254. /* Browse definitions */
  255. DEFINE BROWSE Br_Druckername
  256. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Druckername B-table-Win _STRUCTURED
  257. QUERY Br_Druckername NO-LOCK DISPLAY
  258. XSchrift.Schname COLUMN-LABEL "Drucker" FORMAT "x(50)":U
  259. WIDTH 55.8
  260. /* _UIB-CODE-BLOCK-END */
  261. &ANALYZE-RESUME
  262. WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 61.8 BY 9
  263. BGCOLOR 15 ROW-HEIGHT-CHARS .62.
  264. DEFINE BROWSE Br_Schriftbild
  265. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Schriftbild B-table-Win _STRUCTURED
  266. QUERY Br_Schriftbild DISPLAY
  267. Schrift.Schbild FORMAT "x(30)":U
  268. /* _UIB-CODE-BLOCK-END */
  269. &ANALYZE-RESUME
  270. WITH NO-ROW-MARKERS SEPARATORS SIZE 23.6 BY 9
  271. BGCOLOR 15 .
  272. /* ************************ Frame Definitions *********************** */
  273. DEFINE FRAME F-Main
  274. T_GleicheStufe AT ROW 9.52 COL 98 WIDGET-ID 4
  275. Br_Druckername AT ROW 1.95 COL 5.4
  276. Br_Schriftbild AT ROW 1.95 COL 69.2
  277. F_Sort AT ROW 6.81 COL 97.8 NO-LABEL
  278. F_TZZ AT ROW 11.95 COL 11.6 COLON-ALIGNED
  279. F_KZZ AT ROW 11.95 COL 31.6 COLON-ALIGNED
  280. F_FZZ AT ROW 11.95 COL 50.4 COLON-ALIGNED
  281. F_LQ AT ROW 11.95 COL 72.4 COLON-ALIGNED
  282. F_KOPIE AT ROW 11.95 COL 93.6 COLON-ALIGNED
  283. F_SCHACHT AT ROW 11.95 COL 112.8 COLON-ALIGNED
  284. Listen.VNr[1] AT ROW 13.86 COL 39.8 COLON-ALIGNED HELP
  285. ""
  286. LABEL "von - bis Kundennummer" FORMAT "999999"
  287. VIEW-AS FILL-IN NATIVE
  288. SIZE 11.2 BY 1
  289. BGCOLOR 15
  290. F_USER AT ROW 2.33 COL 109.6 COLON-ALIGNED NO-TAB-STOP
  291. F_Programm AT ROW 3.43 COL 109.6 COLON-ALIGNED NO-TAB-STOP
  292. Listen.BNr[1] AT ROW 13.86 COL 62.2 COLON-ALIGNED HELP
  293. "" NO-LABEL FORMAT "999999"
  294. VIEW-AS FILL-IN NATIVE
  295. SIZE 11.2 BY 1
  296. BGCOLOR 15
  297. F_Zeichen AT ROW 4.57 COL 109.6 COLON-ALIGNED NO-TAB-STOP
  298. Listen.VNr[2] AT ROW 14.86 COL 39.8 COLON-ALIGNED
  299. LABEL "von - bis Mahnstufe" FORMAT "99"
  300. VIEW-AS FILL-IN NATIVE
  301. SIZE 5.6 BY 1.05
  302. BGCOLOR 15
  303. Listen.BNr[2] AT ROW 14.86 COL 62.2 COLON-ALIGNED NO-LABEL FORMAT "99"
  304. VIEW-AS FILL-IN NATIVE
  305. SIZE 5.6 BY 1.05
  306. BGCOLOR 15
  307. Listen.EDa[1] AT ROW 15.91 COL 39.8 COLON-ALIGNED HELP
  308. ""
  309. LABEL "Zahlungen berücksichtigt bis" FORMAT "99.99.9999"
  310. VIEW-AS FILL-IN NATIVE
  311. SIZE 16 BY 1.05
  312. BGCOLOR 15
  313. Btn_Start AT ROW 14.14 COL 103.4
  314. Btn_Ende AT ROW 15.67 COL 103.4
  315. Btn_PDF AT ROW 14.14 COL 120.2 WIDGET-ID 2
  316. "--" VIEW-AS TEXT
  317. SIZE 1.4 BY 1 AT ROW 13.86 COL 61.4
  318. "--" VIEW-AS TEXT
  319. SIZE 1.4 BY 1 AT ROW 14.86 COL 61.4
  320. RECT-10 AT ROW 1.71 COL 96
  321. RECT-11 AT ROW 1.71 COL 4
  322. RECT-12 AT ROW 6.38 COL 96
  323. RECT-13 AT ROW 11.48 COL 4
  324. RECT-17 AT ROW 1.24 COL 2
  325. WITH 1 DOWN KEEP-TAB-ORDER OVERLAY
  326. SIDE-LABELS NO-UNDERLINE THREE-D
  327. AT COL 1 ROW 1 SCROLLABLE .
  328. /* *********************** Procedure Settings ************************ */
  329. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  330. /* Settings for THIS-PROCEDURE
  331. Type: SmartBrowser
  332. Allow: Basic,Browse
  333. Frames: 1
  334. Add Fields to: EXTERNAL-TABLES
  335. Other Settings: PERSISTENT-ONLY COMPILE
  336. Temp-Tables and Buffers:
  337. TABLE: XSchrift T "?" NO-UNDO AnaDat Schrift
  338. TABLE: XTermOut T "NEW SHARED" NO-UNDO AnaDat TermOut
  339. END-TABLES.
  340. */
  341. /* This procedure should always be RUN PERSISTENT. Report the error, */
  342. /* then cleanup and return. */
  343. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  344. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  345. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  346. RETURN.
  347. END.
  348. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  349. /* ************************* Create Window ************************** */
  350. &ANALYZE-SUSPEND _CREATE-WINDOW
  351. /* DESIGN Window definition (used by the UIB)
  352. CREATE WINDOW B-table-Win ASSIGN
  353. HEIGHT = 16.81
  354. WIDTH = 146.2.
  355. /* END WINDOW DEFINITION */
  356. */
  357. &ANALYZE-RESUME
  358. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  359. /* ************************* Included-Libraries *********************** */
  360. {src/adm/method/browser.i}
  361. /* _UIB-CODE-BLOCK-END */
  362. &ANALYZE-RESUME
  363. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  364. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  365. /* SETTINGS FOR WINDOW B-table-Win
  366. NOT-VISIBLE,,RUN-PERSISTENT */
  367. /* SETTINGS FOR FRAME F-Main
  368. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  369. /* BROWSE-TAB Br_Druckername 1 F-Main */
  370. /* BROWSE-TAB Br_Schriftbild Br_Druckername F-Main */
  371. ASSIGN
  372. FRAME F-Main:SCROLLABLE = FALSE
  373. FRAME F-Main:HIDDEN = TRUE.
  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 Listen.EDa[1] IN FRAME F-Main
  379. 2 EXP-LABEL EXP-FORMAT EXP-HELP */
  380. /* SETTINGS FOR FILL-IN F_FZZ IN FRAME F-Main
  381. 1 */
  382. /* SETTINGS FOR FILL-IN F_KZZ IN FRAME F-Main
  383. 1 */
  384. ASSIGN
  385. F_Programm:READ-ONLY IN FRAME F-Main = TRUE.
  386. /* SETTINGS FOR RADIO-SET F_Sort IN FRAME F-Main
  387. 1 */
  388. /* SETTINGS FOR FILL-IN F_TZZ IN FRAME F-Main
  389. 1 */
  390. ASSIGN
  391. F_USER:READ-ONLY IN FRAME F-Main = TRUE.
  392. ASSIGN
  393. F_Zeichen:READ-ONLY IN FRAME F-Main = TRUE.
  394. /* SETTINGS FOR TOGGLE-BOX T_GleicheStufe IN FRAME F-Main
  395. 1 */
  396. /* SETTINGS FOR FILL-IN Listen.VNr[1] IN FRAME F-Main
  397. 2 EXP-LABEL EXP-FORMAT EXP-HELP */
  398. /* SETTINGS FOR FILL-IN Listen.VNr[2] IN FRAME F-Main
  399. 2 EXP-LABEL EXP-FORMAT */
  400. /* _RUN-TIME-ATTRIBUTES-END */
  401. &ANALYZE-RESUME
  402. /* Setting information for Queries and Browse Widgets fields */
  403. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Druckername
  404. /* Query rebuild information for BROWSE Br_Druckername
  405. _TblList = "Temp-Tables.XSchrift"
  406. _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
  407. _FldNameList[1] > Temp-Tables.XSchrift.Schname
  408. "XSchrift.Schname" "Drucker" "x(50)" "character" ? ? ? ? ? ? no ? no no "55.8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  409. _Query is NOT OPENED
  410. */ /* BROWSE Br_Druckername */
  411. &ANALYZE-RESUME
  412. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Schriftbild
  413. /* Query rebuild information for BROWSE Br_Schriftbild
  414. _TblList = "AnaDat.Schrift"
  415. _OrdList = "AnaDat.Schrift.Schbild|yes"
  416. _FldNameList[1] = AnaDat.Schrift.Schbild
  417. _Query is NOT OPENED
  418. */ /* BROWSE Br_Schriftbild */
  419. &ANALYZE-RESUME
  420. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  421. /* Query rebuild information for FRAME F-Main
  422. _Options = "NO-LOCK"
  423. _Query is NOT OPENED
  424. */ /* FRAME F-Main */
  425. &ANALYZE-RESUME
  426. /* ************************ Control Triggers ************************ */
  427. &Scoped-define SELF-NAME F-Main
  428. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main B-table-Win
  429. ON GO OF FRAME F-Main
  430. DO:
  431. DO TRANSACTION:
  432. FIND Listen WHERE RECID(Listen) = ARecid.
  433. Listen.Listfl = ''.
  434. END.
  435. RUN new-state ('drucken_ende':U).
  436. END.
  437. /* _UIB-CODE-BLOCK-END */
  438. &ANALYZE-RESUME
  439. &Scoped-define BROWSE-NAME Br_Druckername
  440. &Scoped-define SELF-NAME Br_Druckername
  441. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
  442. ON ROW-ENTRY OF Br_Druckername IN FRAME F-Main
  443. DO:
  444. /* This code displays initial values for newly added or copied rows. */
  445. {src/adm/template/brsentry.i}
  446. END.
  447. /* _UIB-CODE-BLOCK-END */
  448. &ANALYZE-RESUME
  449. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
  450. ON ROW-LEAVE OF Br_Druckername IN FRAME F-Main
  451. DO:
  452. /* Do not disable this code or no updates will take place except
  453. by pressing the Save button on an Update SmartPanel. */
  454. {src/adm/template/brsleave.i}
  455. END.
  456. /* _UIB-CODE-BLOCK-END */
  457. &ANALYZE-RESUME
  458. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
  459. ON VALUE-CHANGED OF Br_Druckername IN FRAME F-Main
  460. DO:
  461. {src/adm/template/brschnge.i}
  462. ASchname = XSchrift.Schname.
  463. OPEN QUERY Br_Schriftbild
  464. FOR EACH Schrift WHERE Schrift.Schname = ASchname NO-LOCK.
  465. FIND BSchrift WHERE BSchrift.Schname = ASchname
  466. AND BSchrift.Schbild = ASchbild NO-LOCK NO-ERROR.
  467. IF AVAILABLE BSchrift THEN DO:
  468. REPOSITION Br_Schriftbild TO RECID RECID(BSchrift) NO-ERROR.
  469. Br_Schriftbild:SELECT-FOCUSED-ROW() IN FRAME {&FRAME-NAME}.
  470. Br_Schriftbild:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
  471. END.
  472. ELSE DO:
  473. APPLY 'VALUE-CHANGED' TO BROWSE Br_Schriftbild.
  474. END.
  475. END.
  476. /* _UIB-CODE-BLOCK-END */
  477. &ANALYZE-RESUME
  478. &Scoped-define BROWSE-NAME Br_Schriftbild
  479. &Scoped-define SELF-NAME Br_Schriftbild
  480. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
  481. ON ROW-ENTRY OF Br_Schriftbild IN FRAME F-Main
  482. DO:
  483. /* This code displays initial values for newly added or copied rows. */
  484. {src/adm/template/brsentry.i}
  485. END.
  486. /* _UIB-CODE-BLOCK-END */
  487. &ANALYZE-RESUME
  488. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
  489. ON ROW-LEAVE OF Br_Schriftbild IN FRAME F-Main
  490. DO:
  491. /* Do not disable this code or no updates will take place except
  492. by pressing the Save button on an Update SmartPanel. */
  493. {src/adm/template/brsleave.i}
  494. END.
  495. /* _UIB-CODE-BLOCK-END */
  496. &ANALYZE-RESUME
  497. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
  498. ON VALUE-CHANGED OF Br_Schriftbild IN FRAME F-Main
  499. DO:
  500. {src/adm/template/brschnge.i}
  501. IF NOT AVAILABLE Schrift THEN RETURN.
  502. ASSIGN F_TZZ = Schrift.Schzztot
  503. F_KZZ = Schrift.Schzzbeg
  504. F_FZZ = Schrift.Schzzend.
  505. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  506. ASchbild = Schrift.Schbild.
  507. END.
  508. /* _UIB-CODE-BLOCK-END */
  509. &ANALYZE-RESUME
  510. &Scoped-define SELF-NAME Btn_Ende
  511. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ende B-table-Win
  512. ON CHOOSE OF Btn_Ende IN FRAME F-Main /* Ende */
  513. DO:
  514. DO TRANSACTION:
  515. FIND Listen WHERE RECID(Listen) = ARecid.
  516. Listen.Listfl = ''.
  517. END.
  518. { v8/druck_ende.i }
  519. RUN new-state ('Seite_1':U).
  520. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  521. END.
  522. /* _UIB-CODE-BLOCK-END */
  523. &ANALYZE-RESUME
  524. &Scoped-define SELF-NAME Btn_PDF
  525. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_PDF B-table-Win
  526. ON CHOOSE OF Btn_PDF IN FRAME F-Main /* PDF */
  527. DO:
  528. DEF VAR cParam AS CHAR NO-UNDO.
  529. DO TRANSACTION WITH FRAME {&FRAME-NAME}:
  530. ASSIGN {&List-1}.
  531. FIND Listen WHERE RECID(Listen) = ARecid.
  532. FIND LiDruck WHERE RECID(LiDruck) = BRecid.
  533. ASSIGN Breite = F_Zeichen
  534. Listen.Sort = F_Sort
  535. Listen.ProgWahl = F_Sort
  536. LiDruck.Listtzz = F_TZZ
  537. LiDruck.Listkzz = F_KZZ
  538. LiDruck.Listfzz = F_FZZ
  539. LiDruck.Listlq = F_LQ
  540. LiDruck.ListCopy = F_KOPIE
  541. LiDruck.Schacht = F_SCHACHT
  542. LiDruck.Listdru = XSchrift.Schname
  543. LiDruck.Listbild = Schrift.Schbild.
  544. IF LiDruck.ListCopy = 0 THEN LiDruck.ListCopy = 1.
  545. ASSIGN {&List-2}.
  546. IF VNr[01] = 0 AND BNr[01] = 0 THEN Bnr[01] = 999999.
  547. IF VNr[01] > BNr[01] THEN BNr[01] = VNr[01].
  548. IF VNr[02] > 04 THEN VNr[02] = 04.
  549. IF BNr[02] > 04 THEN BNr[02] = 04.
  550. IF VNr[02] > BNr[02] THEN BNr[02] = VNr[02].
  551. IF EDa[01] = ? THEN EDa[01] = TODAY.
  552. DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}.
  553. ASSIGN LiDruck.ProgWahl = Listen.ProgWahl
  554. LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99').
  555. RELEASE Listen .
  556. RELEASE LiDruck.
  557. END.
  558. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK.
  559. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK.
  560. DISABLE Btn_Start WITH FRAME {&FRAME-NAME}.
  561. DISABLE Btn_Ende WITH FRAME {&FRAME-NAME}.
  562. DISABLE Btn_PDF WITH FRAME {&FRAME-NAME}.
  563. cParam = GVFirma + CHR(01)
  564. + STRING(VNr[01]) + CHR(01)
  565. + STRING(BNr[01]) + CHR(01)
  566. + STRING(VNr[02]) + CHR(01)
  567. + STRING(BNr[02]) + CHR(01)
  568. + STRING(EDa[01],'99.99.9999') + CHR(01)
  569. + STRING(T_GleicheStufe,'Yes/No') + CHR(01).
  570. SESSION:SET-WAIT-STATE('GENERAL').
  571. RUN drucken-mahnung-pdf.p ( cParam ).
  572. SESSION:SET-WAIT-STATE('').
  573. DO TRANSACTION WITH FRAME {&FRAME-NAME}:
  574. FIND Listen WHERE RECID(Listen) = ARecid.
  575. ASSIGN Listen.Listfl = ''.
  576. RELEASE Listen .
  577. END.
  578. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK.
  579. ENABLE Btn_Start WITH FRAME {&FRAME-NAME}.
  580. ENABLE Btn_Ende WITH FRAME {&FRAME-NAME}.
  581. ENABLE Btn_PDF WITH FRAME {&FRAME-NAME}.
  582. RETURN NO-APPLY.
  583. END.
  584. /* _UIB-CODE-BLOCK-END */
  585. &ANALYZE-RESUME
  586. &Scoped-define SELF-NAME Btn_Start
  587. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Start B-table-Win
  588. ON CHOOSE OF Btn_Start IN FRAME F-Main /* Starten */
  589. DO:
  590. DO TRANSACTION WITH FRAME {&FRAME-NAME}:
  591. ASSIGN {&List-1}.
  592. FIND Listen WHERE RECID(Listen) = ARecid.
  593. FIND LiDruck WHERE RECID(LiDruck) = BRecid.
  594. ASSIGN Breite = F_Zeichen
  595. Listen.Sort = F_Sort
  596. Listen.ProgWahl = F_Sort
  597. LiDruck.Listtzz = F_TZZ
  598. LiDruck.Listkzz = F_KZZ
  599. LiDruck.Listfzz = F_FZZ
  600. LiDruck.Listlq = F_LQ
  601. LiDruck.ListCopy = F_KOPIE
  602. LiDruck.Schacht = F_SCHACHT
  603. LiDruck.Listdru = XSchrift.Schname
  604. LiDruck.Listbild = Schrift.Schbild.
  605. IF LiDruck.ListCopy = 0 THEN LiDruck.ListCopy = 1.
  606. ASSIGN {&List-2}.
  607. IF VNr[01] = 0 AND BNr[01] = 0 THEN Bnr[01] = 999999.
  608. IF VNr[01] > BNr[01] THEN BNr[01] = VNr[01].
  609. IF VNr[02] > 04 THEN VNr[02] = 04.
  610. IF BNr[02] > 04 THEN BNr[02] = 04.
  611. IF VNr[02] > BNr[02] THEN BNr[02] = VNr[02].
  612. IF EDa[01] = ? THEN EDa[01] = TODAY.
  613. DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}.
  614. ASSIGN LiDruck.ProgWahl = Listen.ProgWahl
  615. LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99').
  616. RELEASE Listen .
  617. RELEASE LiDruck.
  618. END.
  619. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK.
  620. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK.
  621. DISABLE Btn_Start WITH FRAME {&FRAME-NAME}.
  622. DISABLE Btn_Ende WITH FRAME {&FRAME-NAME}.
  623. RUN LIBILD.
  624. RUN DRUCKEN.
  625. DO TRANSACTION WITH FRAME {&FRAME-NAME}:
  626. FIND Listen WHERE RECID(Listen) = ARecid.
  627. ASSIGN Listen.Listfl = ''.
  628. RELEASE Listen .
  629. END.
  630. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK.
  631. ENABLE Btn_Start WITH FRAME {&FRAME-NAME}.
  632. ENABLE Btn_Ende WITH FRAME {&FRAME-NAME}.
  633. RETURN NO-APPLY.
  634. END.
  635. /* _UIB-CODE-BLOCK-END */
  636. &ANALYZE-RESUME
  637. &Scoped-define BROWSE-NAME Br_Druckername
  638. &UNDEFINE SELF-NAME
  639. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  640. /* *************************** Main Block *************************** */
  641. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  642. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  643. &ENDIF
  644. ON END-ERROR ANYWHERE
  645. DO:
  646. DO TRANSACTION:
  647. FIND Listen WHERE RECID(Listen) = ARecid.
  648. Listen.Listfl = ''.
  649. RELEASE Listen.
  650. END.
  651. END.
  652. /* _UIB-CODE-BLOCK-END */
  653. &ANALYZE-RESUME
  654. /* ********************** Internal Procedures *********************** */
  655. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  656. PROCEDURE adm-row-available :
  657. /*------------------------------------------------------------------------------
  658. Purpose: Dispatched to this procedure when the Record-
  659. Source has a new row available. This procedure
  660. tries to get the new row (or foriegn keys) from
  661. the Record-Source and process it.
  662. Parameters: <none>
  663. ------------------------------------------------------------------------------*/
  664. /* Define variables needed by this internal procedure. */
  665. {src/adm/template/row-head.i}
  666. /* Process the newly available records (i.e. display fields,
  667. open queries, and/or pass records on to any RECORD-TARGETS). */
  668. {src/adm/template/row-end.i}
  669. END PROCEDURE.
  670. /* _UIB-CODE-BLOCK-END */
  671. &ANALYZE-RESUME
  672. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ALLG_TEXTE B-table-Win
  673. PROCEDURE ALLG_TEXTE :
  674. /*------------------------------------------------------------------------------
  675. Purpose:
  676. Parameters: <none>
  677. Notes:
  678. ------------------------------------------------------------------------------*/
  679. DEF VAR XCodeC AS CHAR.
  680. VTexte = "".
  681. XCodeC = STRING(Mahnung.MahStu + 1,"99") + "03".
  682. ix = 0.
  683. AllEnd = 0.
  684. FOR EACH Tabel USE-INDEX Tabel-k1
  685. WHERE Tabel.Firma = GVFirma
  686. AND Tabel.RecArt = 'MATEXT'
  687. AND Tabel.Sprcd = Adresse.Sprcd
  688. AND Tabel.CodeC = XCodeC NO-LOCK:
  689. ix = ix + 1.
  690. VTexte[ix] = Tabel.BezL.
  691. IF Tabel.BezL <> '' THEN AllEnd = ix.
  692. IF ix = 25 THEN LEAVE.
  693. END.
  694. IF AllEnd < 25 THEN AllEnd = AllEnd + 1.
  695. END PROCEDURE.
  696. /* _UIB-CODE-BLOCK-END */
  697. &ANALYZE-RESUME
  698. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  699. PROCEDURE disable_UI :
  700. /*------------------------------------------------------------------------------
  701. Purpose: DISABLE the User Interface
  702. Parameters: <none>
  703. Notes: Here we clean-up the user-interface by deleting
  704. dynamic widgets we have created and/or hide
  705. frames. This procedure is usually called when
  706. we are ready to "clean-up" after running.
  707. ------------------------------------------------------------------------------*/
  708. /* Hide all frames. */
  709. HIDE FRAME F-Main.
  710. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  711. END PROCEDURE.
  712. /* _UIB-CODE-BLOCK-END */
  713. &ANALYZE-RESUME
  714. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE B-table-Win
  715. PROCEDURE DRUCKAUSGABE :
  716. /*------------------------------------------------------------------------------
  717. Purpose:
  718. Parameters: <none>
  719. Notes:
  720. ------------------------------------------------------------------------------*/
  721. DEF VAR VZeile AS CHAR FORMAT "x(250)" NO-UNDO.
  722. DEF VAR iSize AS INT NO-UNDO.
  723. DEF VAR iBlockSize AS INT INIT 240 NO-UNDO.
  724. FIND LiDruck NO-LOCK WHERE RECID(LiDruck) = BRecid.
  725. FIND Schrift NO-LOCK WHERE RECID(Schrift) = SRecid.
  726. iSize = DYNAMIC-FUNCTION('putDateiToPrinter':U, cDateiname ,
  727. SRecid ,
  728. 0 ,
  729. iBlockSize , /* Blockgrösse */
  730. 'ibm850' ,
  731. 1 ). /* Anzahl Kopien */
  732. /*
  733. OUTPUT STREAM Out_Stream TO VALUE(Schrift.Schname)
  734. CONVERT TARGET 'ibm850'.
  735. INPUT STREAM Inp_Stream FROM VALUE(cDateiname) NO-ECHO NO-MAP.
  736. PUT STREAM Out_Stream CONTROL Schrift.Schseqbeg.
  737. IF LiDruck.Listlq THEN PUT STREAM Out_Stream CONTROL BDrucker.Drulqb.
  738. IF LiDruck.Schacht > 0 THEN PUT STREAM Out_Stream CONTROL BDrucker.DruSchacht[Schacht].
  739. REPEAT ON STOP UNDO, LEAVE WITH FRAME f_Print:
  740. IMPORT STREAM Inp_Stream UNFORMATTED VZeile.
  741. DISPLAY STREAM Out_Stream VZeile
  742. WITH FRAME f_Print NO-LABELS STREAM-IO
  743. NO-BOX USE-TEXT WIDTH 255.
  744. END.
  745. /* PUT STREAM Out_Stream CONTROL CHR(12). */
  746. OUTPUT STREAM Out_Stream CLOSE.
  747. INPUT STREAM Inp_Stream CLOSE.
  748. */
  749. END PROCEDURE.
  750. /* _UIB-CODE-BLOCK-END */
  751. &ANALYZE-RESUME
  752. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN B-table-Win
  753. PROCEDURE DRUCKEN :
  754. /*------------------------------------------------------------------------------
  755. Purpose:
  756. Parameters: <none>
  757. Notes:
  758. ------------------------------------------------------------------------------*/
  759. DEF VAR cHori AS CHAR NO-UNDO.
  760. DEF VAR ii AS INT NO-UNDO.
  761. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  762. VSort = Listen.Sort.
  763. VKnr = Listen.VNr[01].
  764. BKnr = Listen.BNr[01].
  765. VStu = Listen.VNr[02].
  766. BStu = Listen.BNr[02].
  767. VBerueck = Listen.EDa[01].
  768. cDateiName = SESSION:TEMP-DIR + 'Mahnungen'.
  769. VZins% = Steuer.Fwi07.
  770. VMinBetr = Steuer.Fwi08.
  771. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK NO-ERROR.
  772. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK NO-ERROR.
  773. FIND Schrift USE-INDEX Schrift-k1
  774. WHERE Schrift.Schname = LiDruck.ListDru
  775. AND Schrift.Schbild = LiDruck.ListBild NO-LOCK NO-ERROR.
  776. SRecid = RECID(Schrift).
  777. RUN LISTTIT1.
  778. /* ---------------------------------------------------------------------- */
  779. /* Mahnungen nach Kundennummer */
  780. /* ---------------------------------------------------------------------- */
  781. IF VSort = 1 THEN DO:
  782. DO PRESELECT
  783. EACH Mahnung USE-INDEX Mahnung-k1
  784. WHERE Mahnung.Firma = GVFirma
  785. AND Mahnung.Knr >= VKnr
  786. AND Mahnung.Knr <= BKnr
  787. AND Mahnung.MahStu >= VStu
  788. AND Mahnung.MahStu <= BStu NO-LOCK,
  789. FIRST Adresse USE-INDEX Adresse-k1
  790. WHERE Adresse.Firma = AdFirma
  791. AND Adresse.Knr = Mahnung.Knr NO-LOCK
  792. BREAK BY Adresse.Knr
  793. BY Mahnung.MahStu
  794. BY Mahnung.Faknr :
  795. DO VCopy = 1 TO LiDruck.ListCopy:
  796. LNeu = TRUE.
  797. /* -------------------------------------------------------------------------- */
  798. IF BDrucker.Emul <> "TERMINAL" THEN DO:
  799. OUTPUT STREAM Out_Stream TO VALUE(cDateiname) PAGED PAGE-SIZE 500.
  800. DOpen = TRUE.
  801. END.
  802. ELSE DO:
  803. FOR EACH XTermOut:
  804. DELETE XTermOut.
  805. END.
  806. DOpen = FALSE.
  807. VZNr = 0.
  808. VLine = 0.
  809. VSeite = 0.
  810. END.
  811. /* -------------------------------------------------------------------------- */
  812. VZeile = "".
  813. XSeite = "".
  814. VLine = 0.
  815. VTotal = 0.
  816. VPage = 0.
  817. REPEAT:
  818. IF LNeu THEN FIND FIRST Adresse NO-ERROR.
  819. ELSE FIND NEXT Adresse NO-ERROR.
  820. IF NOT AVAILABLE Adresse THEN LEAVE.
  821. LNeu = FALSE.
  822. IF FIRST-OF ( Mahnung.MahStu ) OR
  823. Mahnung.Passant THEN DO:
  824. VPage = 0.
  825. VTotal = 0.
  826. VZins = 0.
  827. RUN LEERE_SEITE.
  828. RUN ALLG_TEXTE.
  829. END.
  830. DO WHILE TRUE:
  831. i1 = INDEX(XSeite[DatSta], '%FNR%').
  832. IF i1 > 0 THEN DO:
  833. IF i1 > 1 THEN i1 = i1 - 1.
  834. SUBSTRING(XSeite[DatSta],i1) = STRING(Mahnung.Faknr,"zzzzz9").
  835. END.
  836. i1 = INDEX(XSeite[DatSta], '%FDA%').
  837. IF i1 > 0 THEN DO:
  838. SUBSTRING(XSeite[DatSta],i1) = STRING(Mahnung.FakDat,"99.99.9999").
  839. END.
  840. i1 = INDEX(XSeite[DatSta], '%FFA%').
  841. IF i1 > 0 THEN DO:
  842. SUBSTRING(XSeite[DatSta],i1) = STRING(Mahnung.Faellig,"99.99.9999").
  843. END.
  844. i1 = INDEX(XSeite[DatSta], '%ZDA%').
  845. IF i1 > 0 THEN DO:
  846. IF Mahnung.ZahDat <> ? THEN
  847. SUBSTRING(XSeite[DatSta],i1) = STRING(Mahnung.ZahDat,"99.99.9999").
  848. ELSE SUBSTRING(XSeite[DatSta],i1) = ' '.
  849. END.
  850. i1 = INDEX(XSeite[DatSta], '%FBE%').
  851. IF i1 > 0 THEN DO:
  852. IF i1 > 6 THEN i1 = i1 - 6.
  853. SUBSTRING(XSeite[DatSta],i1) = STRING(Mahnung.FakBetr,"zzz,zz9.99-").
  854. END.
  855. i1 = INDEX(XSeite[DatSta], '%FSA%').
  856. IF i1 > 0 THEN DO:
  857. IF i1 > 6 THEN i1 = i1 - 6.
  858. SUBSTRING(XSeite[DatSta],i1) = STRING(Mahnung.Saldo ,"zzz,zz9.99-").
  859. END.
  860. i1 = INDEX(XSeite[DatSta], '%ZBE%').
  861. IF i1 > 0 THEN DO:
  862. IF i1 > 6 THEN i1 = i1 - 6.
  863. IF Mahnung.ZahBetr <> 0 THEN
  864. SUBSTRING(XSeite[DatSta],i1) = STRING(Mahnung.ZahBetr,"zzz,zz9.99-").
  865. ELSE SUBSTRING(XSeite[DatSta],i1) = ' '.
  866. END.
  867. i2 = TODAY - Mahnung.Faellig.
  868. i3 = 1.
  869. VStern = ''.
  870. IF i2 > 0 THEN i3 = i3 + 1.
  871. IF i2 > 30 THEN i3 = i3 + 1.
  872. IF i2 > 60 THEN i3 = i3 + 1.
  873. IF i2 > 90 THEN i3 = i3 + 1.
  874. VStern = FILL('*', i3 - 1).
  875. VTotal[i3] = VTotal[i3] + Mahnung.Saldo.
  876. VTotal[06] = VTotal[06] + Mahnung.Saldo.
  877. VTotal[10] = VTotal[10] + Mahnung.Saldo.
  878. i2 = TODAY - Mahnung.FakDat.
  879. IF i2 > 60 THEN DO:
  880. Rundbetr = Mahnung.Saldo * VZins% / 100 * (i2 - 60) / 360.
  881. Rundcode = 1.
  882. RUN "v8/runden.p".
  883. VZins = VZins + Rundbetr.
  884. VTotal[10] = VTotal[10] + Rundbetr.
  885. END.
  886. i1 = INDEX(XSeite[DatSta], '%*%').
  887. IF i1 > 0 THEN DO:
  888. SUBSTRING(XSeite[DatSta],i1) = STRING(VStern,"x(04)").
  889. END.
  890. DatSta = DatSta + 1.
  891. LEAVE.
  892. END.
  893. IF NOT LAST-OF ( Mahnung.MahStu ) AND
  894. DatSta > DatEnd THEN DO:
  895. VZeile = ''.
  896. VLine = 0.
  897. PUT STREAM Out_Stream CONTROL Schrift.Schseqbeg.
  898. IF LiDruck.Listlq THEN PUT STREAM Out_Stream CONTROL BDrucker.Drulqb.
  899. IF LiDruck.Schacht > 0 THEN PUT STREAM Out_Stream CONTROL BDrucker.DruSchacht[Schacht].
  900. { v8/putstream.i LiDruck.Listkzz }
  901. DO ix = 1 TO DatEnd:
  902. VZeile = XSeite[ix].
  903. VZeile = REPLACE(VZeile, '%u%' , Druunterb).
  904. VZeile = REPLACE(VZeile, '%uu%', Druuntere).
  905. DO WHILE TRUE:
  906. ii = INDEX(VZeile, "%s").
  907. IF ii = 0 THEN LEAVE.
  908. cHori = ''.
  909. DO i1 = ii + 2 TO ii + 5:
  910. IF SUBSTRING(VZeile,i1,01) = '%' THEN LEAVE.
  911. cHori = cHori + SUBSTRING(VZeile,i1,01).
  912. END.
  913. cDichte = REPLACE(xDichte, 'xx', cHori).
  914. VZeile = SUBSTRING(VZeile,01,ii - 1)
  915. + cDichte
  916. + SUBSTRING(VZeile,i1 + 1).
  917. END.
  918. i1 = INDEX(VZeile, "!").
  919. IF i1 > 0 THEN DO:
  920. IF i1 > 1 THEN DO:
  921. VZeile = SUBSTRING(VZeile,01,i1 - 1)
  922. + TRIM(Drufettb)
  923. + SUBSTRING(VZeile,i1 + 1)
  924. + TRIM(Drufette).
  925. END.
  926. ELSE DO:
  927. VZeile = TRIM(Drufettb)
  928. + SUBSTRING(VZeile,02)
  929. + TRIM(Drufette).
  930. END.
  931. END.
  932. { v8/putstream.i "1" }
  933. END.
  934. PAGE.
  935. RUN LEERE_SEITE.
  936. END.
  937. IF NOT LAST-OF ( Mahnung.MahStu ) AND
  938. NOT Mahnung.Passant THEN NEXT.
  939. DatLer = 0.
  940. DO WHILE DatSta <= DatEnd:
  941. XSeite[DatSta] = ''.
  942. DatSta = DatSta + 1.
  943. DatLer = DatLer + 1.
  944. END.
  945. IF DatLer > 0 THEN DatLer = DatLer - 1.
  946. IF VZins < VMinBetr THEN DO:
  947. VTotal[10] = VTotal[10] - VZins.
  948. VZins = 0.
  949. END.
  950. DO WHILE AllEnd > 0:
  951. DO ix = DatEnd + 1 TO 72:
  952. IF XSeite[ix] = '' THEN NEXT.
  953. i1 = INDEX(XSeite[ix], '%T1%').
  954. IF i1 > 0 THEN DO:
  955. XSeite[ix] = ''.
  956. i2 = ix - DatLer.
  957. LEAVE.
  958. END.
  959. END.
  960. IF i1 = 0 THEN LEAVE.
  961. DO ix = 1 TO AllEnd:
  962. SUBSTRING(XSeite[i2],i1,Breite - i1) = VTexte[ix].
  963. i3 = INDEX(XSeite[i2], '%B1%').
  964. IF i3 > 0 THEN DO:
  965. IF VTotal[01] = 0 THEN NEXT.
  966. SUBSTRING(XSeite[i2],i3) = STRING(VTotal[01],"zzz,zz9.99-").
  967. i2 = i2 + 1.
  968. NEXT.
  969. END.
  970. i3 = INDEX(XSeite[i2], '%B2%').
  971. IF i3 > 0 THEN DO:
  972. IF VTotal[02] = 0 THEN NEXT.
  973. SUBSTRING(XSeite[i2],i3) = STRING(VTotal[02],"zzz,zz9.99-").
  974. i4 = INDEX(XSeite[i2], '%*%').
  975. IF i4 > 0 THEN SUBSTRING(XSeite[i2],i4) = '* '.
  976. i2 = i2 + 1.
  977. NEXT.
  978. END.
  979. i3 = INDEX(XSeite[i2], '%B3%').
  980. IF i3 > 0 THEN DO:
  981. IF VTotal[03] = 0 THEN NEXT.
  982. SUBSTRING(XSeite[i2],i3) = STRING(VTotal[03],"zzz,zz9.99-").
  983. i4 = INDEX(XSeite[i2], '%*%').
  984. IF i4 > 0 THEN SUBSTRING(XSeite[i2],i4) = '** '.
  985. i2 = i2 + 1.
  986. NEXT.
  987. END.
  988. i3 = INDEX(XSeite[i2], '%B4%').
  989. IF i3 > 0 THEN DO:
  990. IF VTotal[04] = 0 THEN NEXT.
  991. SUBSTRING(XSeite[i2],i3) = STRING(VTotal[04],"zzz,zz9.99-").
  992. i4 = INDEX(XSeite[i2], '%*%').
  993. IF i4 > 0 THEN SUBSTRING(XSeite[i2],i4) = '*** '.
  994. i2 = i2 + 1.
  995. NEXT.
  996. END.
  997. i3 = INDEX(XSeite[i2], '%B5%').
  998. IF i3 > 0 THEN DO:
  999. IF VTotal[05] = 0 THEN NEXT.
  1000. SUBSTRING(XSeite[i2],i3) = STRING(VTotal[05],"zzz,zz9.99-").
  1001. i4 = INDEX(XSeite[i2], '%*%').
  1002. IF i4 > 0 THEN SUBSTRING(XSeite[i2],i4) = '****'.
  1003. i2 = i2 + 1.
  1004. NEXT.
  1005. END.
  1006. i3 = INDEX(XSeite[i2], '%TOT%').
  1007. IF i3 > 0 THEN DO:
  1008. IF VTotal[06] = 0 THEN NEXT.
  1009. SUBSTRING(XSeite[i2],i3) = STRING(VTotal[06],"zzz,zz9.99-").
  1010. i2 = i2 + 1.
  1011. NEXT.
  1012. END.
  1013. i3 = INDEX(XSeite[i2], '%VZBE%').
  1014. IF i3 > 0 THEN DO:
  1015. IF VZins = 0 THEN NEXT.
  1016. SUBSTRING(XSeite[i2],i3) = STRING(VZins,"zzz,zz9.99-").
  1017. i4 = INDEX(XSeite[i2], '%VZ%').
  1018. IF i4 > 0 THEN SUBSTRING(XSeite[i2],i4) = STRING(VZins%,"zz9%").
  1019. i2 = i2 + 1.
  1020. NEXT.
  1021. END.
  1022. i3 = INDEX(XSeite[i2], '%GTOT%').
  1023. IF i3 > 0 THEN DO:
  1024. IF VZins = 0 THEN NEXT.
  1025. IF VTotal[10] = 0 THEN NEXT.
  1026. SUBSTRING(XSeite[i2],i3) = STRING(VTotal[10],"zzz,zz9.99-").
  1027. i2 = i2 + 1.
  1028. NEXT.
  1029. END.
  1030. i2 = i2 + 1.
  1031. END.
  1032. LEAVE.
  1033. END.
  1034. VZeile = ''.
  1035. VLine = 0.
  1036. PUT STREAM Out_Stream CONTROL Schrift.Schseqbeg.
  1037. IF LiDruck.Listlq THEN PUT STREAM Out_Stream CONTROL BDrucker.Drulqb.
  1038. IF LiDruck.Schacht > 0 THEN PUT STREAM Out_Stream CONTROL BDrucker.DruSchacht[Schacht].
  1039. { v8/putstream.i LiDruck.Listkzz }
  1040. DO ix = 1 TO i2:
  1041. VZeile = XSeite[ix].
  1042. VZeile = REPLACE(VZeile, '%u%' , Druunterb).
  1043. VZeile = REPLACE(VZeile, '%uu%', Druuntere).
  1044. DO WHILE TRUE:
  1045. ii = INDEX(VZeile, "%s").
  1046. IF ii = 0 THEN LEAVE.
  1047. cHori = ''.
  1048. DO i1 = ii + 2 TO ii + 5:
  1049. IF SUBSTRING(VZeile,i1,01) = '%' THEN LEAVE.
  1050. cHori = cHori + SUBSTRING(VZeile,i1,01).
  1051. END.
  1052. cDichte = REPLACE(xDichte, 'xx', cHori).
  1053. VZeile = SUBSTRING(VZeile,01,ii - 1)
  1054. + cDichte
  1055. + SUBSTRING(VZeile,i1 + 1).
  1056. END.
  1057. i1 = INDEX(VZeile, "!").
  1058. IF i1 > 0 THEN DO:
  1059. IF i1 > 1 THEN DO:
  1060. VZeile = SUBSTRING(VZeile,01,i1 - 1)
  1061. + TRIM(Drufettb)
  1062. + SUBSTRING(VZeile,i1 + 1)
  1063. + TRIM(Drufette).
  1064. END.
  1065. ELSE DO:
  1066. VZeile = TRIM(Drufettb)
  1067. + SUBSTRING(VZeile,02)
  1068. + TRIM(Drufette).
  1069. END.
  1070. END.
  1071. { v8/putstream.i "1" }
  1072. /* IF VLine >= (LiDruck.Listtzz - LiDruck.Listfzz) THEN LEAVE. */
  1073. END.
  1074. IF DOpen = TRUE THEN DO:
  1075. IF NOT LAST ( Adresse.Knr ) THEN PUT STREAM Out_Stream CONTROL CHR(12).
  1076. END.
  1077. END. /* FIND NEXT */
  1078. TiDruck = TRUE.
  1079. IF DOpen = TRUE THEN DO:
  1080. OUTPUT STREAM Out_Stream CLOSE.
  1081. END.
  1082. ELSE DO:
  1083. RUN "v8/d-liste.w" ( INPUT Helptext[02] ).
  1084. END.
  1085. END. /* Kopien */
  1086. END. /* PRESELECT */
  1087. END. /* Sortierung Kundennummer */
  1088. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK NO-ERROR.
  1089. IF DOpen THEN RUN DRUCKAUSGABE.
  1090. APPLY 'CHOOSE' TO Btn_Ende IN FRAME {&FRAME-NAME}.
  1091. RETURN NO-APPLY.
  1092. END PROCEDURE.
  1093. /* _UIB-CODE-BLOCK-END */
  1094. &ANALYZE-RESUME
  1095. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEERE_SEITE B-table-Win
  1096. PROCEDURE LEERE_SEITE :
  1097. /*------------------------------------------------------------------------------
  1098. Purpose:
  1099. Parameters: <none>
  1100. Notes:
  1101. ------------------------------------------------------------------------------*/
  1102. DEF VAR XCodeC AS CHAR NO-UNDO.
  1103. DEF VAR XMax AS INT NO-UNDO.
  1104. DEF VAR VAdresse AS CHAR EXTENT 12 NO-UNDO.
  1105. XSeite = "".
  1106. XCodeC = STRING(Mahnung.MahStu + 1,"99") + "01".
  1107. PosSeite = 0.
  1108. ZeiSeite = 0.
  1109. DatBeg = 0.
  1110. DatEnd = 0.
  1111. DatSta = 0.
  1112. VPage = VPage + 1.
  1113. ix = 0.
  1114. XMax = 0.
  1115. FOR EACH Tabel USE-INDEX Tabel-k1
  1116. WHERE Tabel.Firma = GVFirma
  1117. AND Tabel.RecArt = 'MATEXT'
  1118. AND Tabel.Sprcd = Adresse.Sprcd
  1119. AND Tabel.CodeC = XCodeC NO-LOCK:
  1120. ix = ix + 1.
  1121. XSeite[ix] = Tabel.BezL.
  1122. IF ix = 72 THEN LEAVE.
  1123. END.
  1124. XMax = ix.
  1125. ASSIGN VAdresse[01] = Adresse.Anschrift[01]
  1126. VAdresse[02] = Adresse.Anschrift[02]
  1127. VAdresse[03] = Adresse.Anschrift[03]
  1128. VAdresse[04] = Adresse.Anschrift[04]
  1129. VAdresse[05] = Adresse.Anschrift[05]
  1130. VAdresse[06] = Adresse.Anschrift[06]
  1131. VAdresse[07] = Adresse.Anschrift[07]
  1132. VAdresse[08] = Adresse.Anschrift[08]
  1133. VAdresse[09] = Adresse.Anschrift[09]
  1134. VAdresse[10] = Adresse.Anschrift[10]
  1135. VAdresse[11] = Adresse.Anschrift[11]
  1136. VAdresse[12] = Adresse.Anschrift[12].
  1137. DO WHILE TRUE:
  1138. IF NOT Mahnung.Passant THEN LEAVE.
  1139. FIND Passant USE-INDEX Passant-k1
  1140. WHERE Passant.Firma = Mahnung.Firma
  1141. AND Passant.Knr = Mahnung.Knr
  1142. AND Passant.Faknr = Mahnung.Faknr NO-LOCK NO-ERROR.
  1143. IF NOT AVAILABLE Passant THEN LEAVE.
  1144. ASSIGN VAdresse[01] = ''
  1145. VAdresse[02] = ''
  1146. VAdresse[03] = ''
  1147. VAdresse[04] = ''
  1148. VAdresse[05] = ''
  1149. VAdresse[06] = ''
  1150. VAdresse[07] = Passant.Adr[01]
  1151. VAdresse[08] = Passant.Adr[02]
  1152. VAdresse[09] = Passant.Adr[03]
  1153. VAdresse[10] = Passant.Adr[04]
  1154. VAdresse[11] = Passant.Adr[05]
  1155. VAdresse[12] = ''.
  1156. LEAVE.
  1157. END.
  1158. DO ix = 1 TO XMax:
  1159. IF XSeite[ix] = '' THEN NEXT.
  1160. IF SUBSTRING(XSeite[ix],01,01) = '?' THEN DO:
  1161. IF VPage > 1 THEN DO:
  1162. XSeite[ix] = ''.
  1163. NEXT.
  1164. END.
  1165. ELSE DO:
  1166. XSeite[ix] = SUBSTRING(XSeite[ix],02).
  1167. END.
  1168. END.
  1169. i1 = INDEX(XSeite[ix], '%TDatum%').
  1170. IF i1 > 0 THEN DO:
  1171. SUBSTRING(XSeite[ix],i1) = STRING(TODAY,"99.99.9999").
  1172. END.
  1173. i1 = INDEX(XSeite[ix], '%BDatum%').
  1174. IF i1 > 0 THEN DO:
  1175. SUBSTRING(XSeite[ix],i1) = STRING(VBerueck,"99.99.9999").
  1176. END.
  1177. i1 = INDEX(XSeite[ix], '%Adresse1%').
  1178. IF i1 > 0 THEN DO:
  1179. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[01],"x(30)").
  1180. END.
  1181. i1 = INDEX(XSeite[ix], '%Adresse2%').
  1182. IF i1 > 0 THEN DO:
  1183. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[02],"x(30)").
  1184. END.
  1185. i1 = INDEX(XSeite[ix], '%Adresse3%').
  1186. IF i1 > 0 THEN DO:
  1187. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[03],"x(30)").
  1188. END.
  1189. i1 = INDEX(XSeite[ix], '%Adresse4%').
  1190. IF i1 > 0 THEN DO:
  1191. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[04],"x(30)").
  1192. END.
  1193. i1 = INDEX(XSeite[ix], '%Adresse5%').
  1194. IF i1 > 0 THEN DO:
  1195. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[05],"x(30)").
  1196. END.
  1197. i1 = INDEX(XSeite[ix], '%Adresse6%').
  1198. IF i1 > 0 THEN DO:
  1199. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[06],"x(30)").
  1200. END.
  1201. i1 = INDEX(XSeite[ix], '%Adresse7%').
  1202. IF i1 > 0 THEN DO:
  1203. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[07],"x(30)").
  1204. END.
  1205. i1 = INDEX(XSeite[ix], '%Adresse8%').
  1206. IF i1 > 0 THEN DO:
  1207. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[08],"x(30)").
  1208. END.
  1209. i1 = INDEX(XSeite[ix], '%Adresse9%').
  1210. IF i1 > 0 THEN DO:
  1211. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[09],"x(30)").
  1212. END.
  1213. i1 = INDEX(XSeite[ix], '%Adresse10%').
  1214. IF i1 > 0 THEN DO:
  1215. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[10],"x(30)").
  1216. END.
  1217. i1 = INDEX(XSeite[ix], '%Adresse11%').
  1218. IF i1 > 0 THEN DO:
  1219. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[11],"x(30)").
  1220. END.
  1221. i1 = INDEX(XSeite[ix], '%Adresse12%').
  1222. IF i1 > 0 THEN DO:
  1223. SUBSTRING(XSeite[ix],i1) = STRING(VAdresse[12],"x(30)").
  1224. END.
  1225. i1 = INDEX(XSeite[ix], '%Knr%').
  1226. IF i1 > 0 THEN DO:
  1227. SUBSTRING(XSeite[ix],i1) = STRING(Adresse.Knr,"999999").
  1228. END.
  1229. i1 = INDEX(XSeite[ix], '%FNR%').
  1230. IF i1 > 0 THEN DO:
  1231. DatEnd = ix.
  1232. IF DatBeg = 0 THEN DO:
  1233. DatBeg = ix.
  1234. DatSta = DatBeg.
  1235. END.
  1236. END.
  1237. IF ZeiSeite = 0 THEN DO:
  1238. PosSeite = INDEX(XSeite[ix], '%S%').
  1239. IF PosSeite > 0 THEN DO:
  1240. ZeiSeite = ix.
  1241. SUBSTRING(XSeite[ix],PosSeite) = STRING(VPage,"zz9").
  1242. END.
  1243. END.
  1244. END.
  1245. END PROCEDURE.
  1246. /* _UIB-CODE-BLOCK-END */
  1247. &ANALYZE-RESUME
  1248. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD B-table-Win
  1249. PROCEDURE LIBILD :
  1250. /*------------------------------------------------------------------------------
  1251. Purpose:
  1252. Parameters: <none>
  1253. Notes:
  1254. ------------------------------------------------------------------------------*/
  1255. { v8/libild.i }
  1256. END PROCEDURE.
  1257. /* _UIB-CODE-BLOCK-END */
  1258. &ANALYZE-RESUME
  1259. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT1 B-table-Win
  1260. PROCEDURE LISTTIT1 :
  1261. /*------------------------------------------------------------------------------
  1262. Purpose:
  1263. Parameters: <none>
  1264. Notes:
  1265. ------------------------------------------------------------------------------*/
  1266. { v8/listtit1.i }
  1267. END PROCEDURE.
  1268. /* _UIB-CODE-BLOCK-END */
  1269. &ANALYZE-RESUME
  1270. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT2 B-table-Win
  1271. PROCEDURE LISTTIT2 :
  1272. /*------------------------------------------------------------------------------
  1273. Purpose:
  1274. Parameters: <none>
  1275. Notes:
  1276. ------------------------------------------------------------------------------*/
  1277. { v8/listtit2.i }
  1278. END PROCEDURE.
  1279. /* _UIB-CODE-BLOCK-END */
  1280. &ANALYZE-RESUME
  1281. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win
  1282. PROCEDURE local-display-fields :
  1283. /*------------------------------------------------------------------------------
  1284. Purpose: Override standard ADM method
  1285. Notes:
  1286. ------------------------------------------------------------------------------*/
  1287. RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) .
  1288. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  1289. IF ARecid > -1 THEN DO:
  1290. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
  1291. DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}.
  1292. END.
  1293. ENABLE {&List-2} WITH FRAME {&FRAME-NAME}.
  1294. END PROCEDURE.
  1295. /* _UIB-CODE-BLOCK-END */
  1296. &ANALYZE-RESUME
  1297. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
  1298. PROCEDURE local-hide :
  1299. /*------------------------------------------------------------------------------
  1300. Purpose: Override standard ADM method
  1301. Notes:
  1302. ------------------------------------------------------------------------------*/
  1303. DO TRANSACTION:
  1304. FIND Listen WHERE RECID(Listen) = ARecid.
  1305. Listen.Listfl = ''.
  1306. END.
  1307. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  1308. END PROCEDURE.
  1309. /* _UIB-CODE-BLOCK-END */
  1310. &ANALYZE-RESUME
  1311. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
  1312. PROCEDURE local-initialize :
  1313. /*------------------------------------------------------------------------------
  1314. Purpose: Override standard ADM method
  1315. Notes:
  1316. ------------------------------------------------------------------------------*/
  1317. DEF BUFFER BListen FOR Listen.
  1318. DEF VAR VListnr LIKE Listen.Listnr.
  1319. F_USER = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
  1320. QOpen = FALSE.
  1321. FInit = TRUE.
  1322. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  1323. VProgname = TRIM(F_USER) + '!' + TRIM(F_Programm).
  1324. FIND FIRST Listen USE-INDEX Listen-k1
  1325. WHERE Listen.Firma = GVFirma
  1326. AND Listen.Progname = VProgname
  1327. AND Listen.Listfl = '' NO-LOCK NO-ERROR.
  1328. DO TRANSACTION:
  1329. IF NOT AVAILABLE Listen THEN DO:
  1330. FIND LAST BListen USE-INDEX Listen-k1
  1331. WHERE BListen.Firma = GVFirma NO-LOCK NO-ERROR.
  1332. IF AVAILABLE BListen THEN VListnr = BListen.Listnr + 1.
  1333. ELSE VListnr = 1.
  1334. CREATE Listen.
  1335. ASSIGN Listen.Firma = GVFirma
  1336. Listen.Listnr = VListnr
  1337. Listen.Progname = VProgname
  1338. Listen.Listfl = ''
  1339. Listen.Jahr = GVJahr
  1340. Listen.Sprcd = GVSprcd
  1341. Listen.Sort = 1
  1342. Listen.ProgWahl = 1.
  1343. END.
  1344. ARecid = RECID(Listen).
  1345. FIND LiDruck USE-INDEX LiDruck-k1
  1346. WHERE LiDruck.Firma = GVFirma
  1347. AND LiDruck.Listnr = Listen.Listnr
  1348. AND LiDruck.ProgWahl = Listen.ProgWahl NO-LOCK NO-ERROR.
  1349. IF NOT AVAILABLE LiDruck THEN DO:
  1350. CREATE LiDruck.
  1351. ASSIGN LiDruck.Firma = GVFirma
  1352. LiDruck.Listnr = Listen.Listnr
  1353. LiDruck.ProgWahl = Listen.ProgWahl
  1354. LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99')
  1355. LiDruck.ListCopy = 1
  1356. LiDruck.Schacht = 0
  1357. LiDruck.Listlq = FALSE.
  1358. END.
  1359. BRecid = RECID(LiDruck).
  1360. FIND Listen WHERE RECID(Listen) = ARecid.
  1361. Listen.Listfl = 'A'.
  1362. RELEASE Listen.
  1363. RELEASE LiDruck.
  1364. END. /* TRANSACTION */
  1365. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
  1366. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK.
  1367. FOpen = TRUE.
  1368. ASchname = LiDruck.ListDru.
  1369. ASchbild = LiDruck.ListBild.
  1370. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  1371. FIND FIRST XSchrift WHERE XSchrift.Schname = ASchname NO-LOCK NO-ERROR.
  1372. IF AVAILABLE XSchrift THEN DO:
  1373. REPOSITION Br_Druckername TO RECID RECID(XSchrift) NO-ERROR.
  1374. Br_Druckername:SELECT-FOCUSED-ROW() IN FRAME {&FRAME-NAME}.
  1375. Br_Druckername:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
  1376. END.
  1377. ELSE DO:
  1378. Br_Druckername:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
  1379. END.
  1380. APPLY 'VALUE-CHANGED' TO BROWSE Br_Druckername.
  1381. RUN LIBILD.
  1382. F_Zeichen = Breite.
  1383. F_Sort = Listen.Sort.
  1384. F_TZZ = LiDruck.Listtzz.
  1385. F_KZZ = LiDruck.Listkzz.
  1386. F_FZZ = LiDruck.Listfzz.
  1387. F_LQ = LiDruck.Listlq.
  1388. F_KOPIE = LiDruck.ListCopy.
  1389. F_SCHACHT = LiDruck.Schacht.
  1390. OBreite = Breite.
  1391. RUN dispatch IN THIS-PROCEDURE ('display-fields':U).
  1392. END PROCEDURE.
  1393. /* _UIB-CODE-BLOCK-END */
  1394. &ANALYZE-RESUME
  1395. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
  1396. PROCEDURE local-open-query :
  1397. /*------------------------------------------------------------------------------
  1398. Purpose: Override standard ADM method
  1399. Notes:
  1400. ------------------------------------------------------------------------------*/
  1401. IF FOpen = FALSE THEN RETURN NO-APPLY.
  1402. IF QOpen = TRUE THEN DO:
  1403. CLOSE QUERY Br_Druckername.
  1404. CLOSE QUERY Br_Schriftbild.
  1405. END.
  1406. QOpen = FALSE.
  1407. FOR EACH XSchrift:
  1408. DELETE XSchrift.
  1409. END.
  1410. AltSchname = ''.
  1411. FOR EACH Schrift NO-LOCK:
  1412. IF Schrift.Schname = AltSchname THEN NEXT.
  1413. CREATE XSchrift.
  1414. BUFFER-COPY Schrift TO XSchrift.
  1415. AltSchname = Schrift.Schname.
  1416. END.
  1417. OPEN QUERY Br_Druckername
  1418. FOR EACH XSchrift NO-LOCK.
  1419. QOpen = TRUE.
  1420. END PROCEDURE.
  1421. /* _UIB-CODE-BLOCK-END */
  1422. &ANALYZE-RESUME
  1423. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-row-changed B-table-Win
  1424. PROCEDURE local-row-changed :
  1425. /*------------------------------------------------------------------------------
  1426. Purpose: Override standard ADM method
  1427. Notes:
  1428. ------------------------------------------------------------------------------*/
  1429. RUN dispatch IN THIS-PROCEDURE ( INPUT 'row-changed':U ) .
  1430. OPEN QUERY Br_Schriftbild
  1431. FOR EACH Schrift WHERE Schrift.Schname = XSchrift.Schname NO-LOCK.
  1432. IF AVAILABLE LiDruck THEN DO:
  1433. FIND BSchrift WHERE BSchrift.Schname = LiDruck.ListDru
  1434. AND BSchrift.Schbild = LiDruck.ListBild NO-LOCK NO-ERROR.
  1435. IF AVAILABLE BSchrift THEN DO:
  1436. REPOSITION Br_Schriftbild TO RECID RECID(BSchrift) NO-ERROR.
  1437. END.
  1438. END.
  1439. APPLY 'VALUE-CHANGED' TO BROWSE Br_Schriftbild.
  1440. END PROCEDURE.
  1441. /* _UIB-CODE-BLOCK-END */
  1442. &ANALYZE-RESUME
  1443. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  1444. PROCEDURE local-view :
  1445. /*------------------------------------------------------------------------------
  1446. Purpose: Override standard ADM method
  1447. Notes:
  1448. ------------------------------------------------------------------------------*/
  1449. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  1450. xDichte = CHR(27) + '(sxxH'.
  1451. IF ARecid < 0 THEN RETURN.
  1452. DO TRANSACTION:
  1453. FIND Listen WHERE RECID(Listen) = ARecid.
  1454. ASSIGN Listen.VNr[01] = XVAufnr
  1455. Listen.BNr[01] = XVAufnr.
  1456. RELEASE Listen.
  1457. END.
  1458. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
  1459. RUN dispatch IN THIS-PROCEDURE ('display-fields':U).
  1460. END PROCEDURE.
  1461. /* _UIB-CODE-BLOCK-END */
  1462. &ANALYZE-RESUME
  1463. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  1464. PROCEDURE send-records :
  1465. /*------------------------------------------------------------------------------
  1466. Purpose: Send record ROWID's for all tables used by
  1467. this file.
  1468. Parameters: see template/snd-head.i
  1469. ------------------------------------------------------------------------------*/
  1470. /* Define variables needed by this internal procedure. */
  1471. {src/adm/template/snd-head.i}
  1472. /* For each requested table, put it's ROWID in the output list. */
  1473. {src/adm/template/snd-list.i "Schrift"}
  1474. {src/adm/template/snd-list.i "XSchrift"}
  1475. /* Deal with any unexpected table requests before closing. */
  1476. {src/adm/template/snd-end.i}
  1477. END PROCEDURE.
  1478. /* _UIB-CODE-BLOCK-END */
  1479. &ANALYZE-RESUME
  1480. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  1481. PROCEDURE state-changed :
  1482. /* -----------------------------------------------------------
  1483. Purpose:
  1484. Parameters: <none>
  1485. Notes:
  1486. -------------------------------------------------------------*/
  1487. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  1488. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  1489. CASE p-state:
  1490. /* Object instance CASEs can go here to replace standard behavior
  1491. or add new cases. */
  1492. {src/adm/template/bstates.i}
  1493. END CASE.
  1494. END PROCEDURE.
  1495. /* _UIB-CODE-BLOCK-END */
  1496. &ANALYZE-RESUME