b-p_bestvorschlag.w 63 KB

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