g-preisliste.w 55 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gPreisliste
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gPreisliste
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. Author:
  14. Created:
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. DEFINE VARIABLE MaxPage AS INTEGER NO-UNDO.
  28. DEFINE VARIABLE AktSeite AS INTEGER NO-UNDO.
  29. DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
  30. DEFINE VARIABLE Fenster AS HANDLE NO-UNDO.
  31. DEFINE VARIABLE Pgr AS INTEGER NO-UNDO.
  32. DEFINE VARIABLE Firma AS CHARACTER INIT '1000' NO-UNDO.
  33. DEFINE VARIABLE FwSprcd AS INTEGER NO-UNDO.
  34. DEFINE VARIABLE RetVal AS CHARACTER NO-UNDO.
  35. DEFINE VARIABLE xPreisgrp AS CHARACTER NO-UNDO.
  36. DEFINE VARIABLE iStatus AS INTEGER NO-UNDO.
  37. DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
  38. DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
  39. DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
  40. DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
  41. DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
  42. DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
  43. DEFINE BUFFER BArtst FOR Artst.
  44. DEFINE TEMP-TABLE TArtLief LIKE ArtLief.
  45. DEFINE TEMP-TABLE tArtikel
  46. FIELD Wg_Sort AS CHARACTER
  47. FIELD Wg_Grp AS INTEGER
  48. FIELD Prod_Sort AS CHARACTER
  49. FIELD Prod_Grp AS INTEGER
  50. FIELD Art_Sort AS CHARACTER
  51. FIELD Art_Grp AS INTEGER
  52. FIELD cSort AS CHARACTER
  53. FIELD Artnr AS INTEGER
  54. FIELD Inhalt AS INTEGER
  55. FIELD Jahr AS INTEGER
  56. FIELD Suchbe AS CHARACTER
  57. FIELD KGeb_Cd AS CHARACTER
  58. FIELD VGeb_Cd AS CHARACTER
  59. FIELD Alk_Gehalt AS DECIMAL
  60. FIELD Bez1 AS CHARACTER
  61. FIELD Bez2 AS CHARACTER
  62. FIELD Netto AS LOG INIT FALSE
  63. FIELD Wgr_Text AS CHARACTER
  64. FIELD Pgr_Text AS CHARACTER
  65. FIELD Agr_Text AS CHARACTER
  66. FIELD KGeb_Inh AS INTEGER
  67. FIELD KGeb_KBez AS CHARACTER
  68. FIELD VGeb_Inh AS INTEGER
  69. FIELD VGeb_KBez AS CHARACTER
  70. FIELD cFarbe AS CHARACTER
  71. FIELD WHK_Code AS CHARACTER
  72. FIELD Listen_EP AS DECIMAL DECIMALS 4
  73. FIELD DEP AS DECIMAL DECIMALS 4
  74. FIELD LEP AS DECIMAL DECIMALS 4
  75. INDEX tArtikel-k1 AS PRIMARY
  76. Wg_Grp
  77. Prod_Grp
  78. Art_Grp
  79. Bez1
  80. Inhalt
  81. Jahr
  82. INDEX tArtikel-k2
  83. Wgr_Text
  84. Pgr_Text
  85. Agr_Text
  86. Bez1
  87. KGeb_Inh
  88. INDEX tArtikel-k3
  89. Wg_Sort
  90. Wgr_Text
  91. Prod_Sort
  92. Pgr_Text
  93. Art_Sort
  94. Agr_Text
  95. cSort
  96. .
  97. DEFINE TEMP-TABLE TExcel
  98. FIELD Feld AS CHARACTER EXTENT 20
  99. FIELD Zeile AS INTEGER.
  100. /* _UIB-CODE-BLOCK-END */
  101. &ANALYZE-RESUME
  102. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  103. /* ******************** Preprocessor Definitions ******************** */
  104. &Scoped-define PROCEDURE-TYPE SmartDialog
  105. &Scoped-define DB-AWARE no
  106. &Scoped-define ADM-CONTAINER DIALOG-BOX
  107. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  108. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  109. &Scoped-define FRAME-NAME gPreisliste
  110. /* Standard List Definitions */
  111. &Scoped-Define ENABLED-OBJECTS Hersteller Warengruppen CB_Preisgruppe ~
  112. Preisdatum VonArtnr BisArtnr vonInhalt bisInhalt vonJahr bisJahr VonKnr ~
  113. BisKnr T_Lief CB_Status T_Zweite T_ZusKol T_EWK T_eShop T_Farbe T_Internet ~
  114. R_Preisliste R_EP R_Sort Btn_Excel RECT-1
  115. &Scoped-Define DISPLAYED-OBJECTS Hersteller Warengruppen CB_Preisgruppe ~
  116. Preisdatum VonArtnr BisArtnr vonInhalt bisInhalt vonJahr bisJahr VonKnr ~
  117. BisKnr T_Lief CB_Status T_Zweite T_ZusKol T_EWK T_eShop T_Farbe T_Internet ~
  118. R_Preisliste R_EP R_Sort
  119. /* Custom List Definitions */
  120. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  121. &Scoped-define List-5 CB_Status Btn_Excel
  122. &Scoped-define List-6 Hersteller Warengruppen CB_Preisgruppe Preisdatum ~
  123. VonArtnr BisArtnr vonInhalt bisInhalt vonJahr bisJahr VonKnr BisKnr T_Lief ~
  124. T_Zweite T_ZusKol T_EWK T_eShop T_Farbe T_Internet R_Preisliste R_EP R_Sort
  125. /* _UIB-PREPROCESSOR-BLOCK-END */
  126. &ANALYZE-RESUME
  127. /* *********************** Control Definitions ********************** */
  128. /* Define a dialog box */
  129. /* Definitions of the field level widgets */
  130. DEFINE BUTTON Btn_Excel
  131. IMAGE-UP FILE "grafik/results%.ico":U
  132. IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
  133. LABEL "Excel"
  134. SIZE 7 BY 1.81.
  135. DEFINE VARIABLE CB_Preisgruppe AS CHARACTER FORMAT "X(256)":U
  136. LABEL "Preisgruppe"
  137. VIEW-AS COMBO-BOX INNER-LINES 5
  138. LIST-ITEM-PAIRS "Item 1","Item 1"
  139. DROP-DOWN-LIST
  140. SIZE 46 BY 1
  141. BGCOLOR 15 NO-UNDO.
  142. DEFINE VARIABLE CB_Status AS CHARACTER FORMAT "X(256)"
  143. LABEL "Status"
  144. VIEW-AS COMBO-BOX INNER-LINES 5
  145. LIST-ITEM-PAIRS "Normaler Artikel (auf Vorrat)","000000",
  146. "Normaler Artikel","000001",
  147. "Restposten","000002",
  148. "Beschaffungsartikel","000008",
  149. "Ausverkauft","000009",
  150. "Status nicht berücksichtigen (alle)","999999"
  151. DROP-DOWN-LIST
  152. SIZE 46 BY 1
  153. BGCOLOR 15 NO-UNDO.
  154. DEFINE VARIABLE BisArtnr AS INTEGER FORMAT "999999":U INITIAL 999999
  155. LABEL "*"
  156. VIEW-AS FILL-IN
  157. SIZE 11 BY 1
  158. BGCOLOR 15 NO-UNDO.
  159. DEFINE VARIABLE bisInhalt AS INTEGER FORMAT "9999":U INITIAL 0
  160. LABEL "-"
  161. VIEW-AS FILL-IN NATIVE
  162. SIZE 8 BY 1
  163. BGCOLOR 15 NO-UNDO.
  164. DEFINE VARIABLE bisJahr AS INTEGER FORMAT "9999":U INITIAL 0
  165. LABEL "-"
  166. VIEW-AS FILL-IN NATIVE
  167. SIZE 8 BY 1
  168. BGCOLOR 15 NO-UNDO.
  169. DEFINE VARIABLE BisKnr AS INTEGER FORMAT "999999":U INITIAL 999999
  170. VIEW-AS FILL-IN
  171. SIZE 11 BY 1
  172. BGCOLOR 15 NO-UNDO.
  173. DEFINE VARIABLE Hersteller AS CHARACTER FORMAT "X(256)":U
  174. LABEL "Hersteller"
  175. VIEW-AS FILL-IN NATIVE
  176. SIZE 46 BY 1
  177. BGCOLOR 15 NO-UNDO.
  178. DEFINE VARIABLE Preisdatum AS DATE FORMAT "99.99.9999":U
  179. LABEL "Preisdatum"
  180. VIEW-AS FILL-IN NATIVE
  181. SIZE 16 BY 1
  182. BGCOLOR 15 NO-UNDO.
  183. DEFINE VARIABLE VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  184. LABEL "von - bis Artikelnummer"
  185. VIEW-AS FILL-IN
  186. SIZE 11 BY 1
  187. BGCOLOR 15 NO-UNDO.
  188. DEFINE VARIABLE vonInhalt AS INTEGER FORMAT "9999":U INITIAL 0
  189. LABEL "von - bis Inhalt"
  190. VIEW-AS FILL-IN NATIVE
  191. SIZE 8 BY 1
  192. BGCOLOR 15 NO-UNDO.
  193. DEFINE VARIABLE vonJahr AS INTEGER FORMAT "9999":U INITIAL 0
  194. LABEL "von - bis Jahr"
  195. VIEW-AS FILL-IN NATIVE
  196. SIZE 8 BY 1
  197. BGCOLOR 15 NO-UNDO.
  198. DEFINE VARIABLE VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
  199. LABEL "von - bis Lieferant"
  200. VIEW-AS FILL-IN
  201. SIZE 11 BY 1
  202. BGCOLOR 15 NO-UNDO.
  203. DEFINE VARIABLE Warengruppen AS CHARACTER FORMAT "X(256)":U
  204. LABEL "Warengruppen"
  205. VIEW-AS FILL-IN NATIVE
  206. SIZE 46 BY 1
  207. BGCOLOR 15 NO-UNDO.
  208. DEFINE VARIABLE R_EP AS INTEGER
  209. VIEW-AS RADIO-SET VERTICAL
  210. RADIO-BUTTONS
  211. "EP nicht ausgeben", 1,
  212. "Listen-EP", 2,
  213. "Durchschnittlicher EP", 3,
  214. "Letzter EP", 4
  215. SIZE 41.2 BY 2.71 NO-UNDO.
  216. DEFINE VARIABLE R_Preisliste AS INTEGER
  217. VIEW-AS RADIO-SET VERTICAL
  218. RADIO-BUTTONS
  219. "Preislistencode nicht berücksichtigen", 1,
  220. "nur Artikel mit Preislistencode = Ja", 2,
  221. "nur Artikel mit Preislistencode = Nein", 3
  222. SIZE 45 BY 2.38 NO-UNDO.
  223. DEFINE VARIABLE R_Sort AS INTEGER
  224. VIEW-AS RADIO-SET VERTICAL
  225. RADIO-BUTTONS
  226. "Artikelnummer", 1,
  227. "Bezeichnung", 2,
  228. "Suchbe", 3
  229. SIZE 45 BY 2 TOOLTIP "Sortierung innerhalb der Artikelgruppe" NO-UNDO.
  230. DEFINE RECTANGLE RECT-1
  231. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  232. SIZE 90 BY 25.24.
  233. DEFINE VARIABLE T_eShop AS LOGICAL INITIAL NO
  234. LABEL "nur eShop-Artikel"
  235. VIEW-AS TOGGLE-BOX
  236. SIZE 45 BY 1 TOOLTIP "sollen Artikelnummer, Inhalt, Jahrgang zusätzlich ausgegeben werden ?" NO-UNDO.
  237. DEFINE VARIABLE T_EWK AS LOGICAL INITIAL NO
  238. LABEL "Weinhaldeskommissionscode"
  239. VIEW-AS TOGGLE-BOX
  240. SIZE 45 BY 1 TOOLTIP "sollen Artikelnummer, Inhalt, Jahrgang zusätzlich ausgegeben werden ?" NO-UNDO.
  241. DEFINE VARIABLE T_Farbe AS LOGICAL INITIAL NO
  242. LABEL "Farbe in Kolonne"
  243. VIEW-AS TOGGLE-BOX
  244. SIZE 45 BY 1 TOOLTIP "sollen Artikelnummer, Inhalt, Jahrgang zusätzlich ausgegeben werden ?" NO-UNDO.
  245. DEFINE VARIABLE T_Internet AS LOGICAL INITIAL NO
  246. LABEL "Internetbezeichnung ?"
  247. VIEW-AS TOGGLE-BOX
  248. SIZE 45 BY 1 NO-UNDO.
  249. DEFINE VARIABLE T_Lief AS LOGICAL INITIAL NO
  250. LABEL "Lieferant berücksichtigen"
  251. VIEW-AS TOGGLE-BOX
  252. SIZE 31.6 BY 1 NO-UNDO.
  253. DEFINE VARIABLE T_ZusKol AS LOGICAL INITIAL NO
  254. LABEL "Zusätzliche Kolonnen"
  255. VIEW-AS TOGGLE-BOX
  256. SIZE 45 BY 1 TOOLTIP "sollen Artikelnummer, Inhalt, Jahrgang zusätzlich ausgegeben werden ?" NO-UNDO.
  257. DEFINE VARIABLE T_Zweite AS LOGICAL INITIAL NO
  258. LABEL "Zweite Artikelbezeichnung drucken ?"
  259. VIEW-AS TOGGLE-BOX
  260. SIZE 45 BY 1 NO-UNDO.
  261. /* ************************ Frame Definitions *********************** */
  262. DEFINE FRAME gPreisliste
  263. Hersteller AT ROW 2 COL 28 COLON-ALIGNED
  264. Warengruppen AT ROW 3 COL 28 COLON-ALIGNED
  265. CB_Preisgruppe AT ROW 4 COL 28 COLON-ALIGNED
  266. Preisdatum AT ROW 5 COL 28 COLON-ALIGNED
  267. VonArtnr AT ROW 6 COL 28 COLON-ALIGNED
  268. BisArtnr AT ROW 6 COL 41 COLON-ALIGNED
  269. vonInhalt AT ROW 7 COL 28 COLON-ALIGNED WIDGET-ID 8
  270. bisInhalt AT ROW 7 COL 41 COLON-ALIGNED WIDGET-ID 10
  271. vonJahr AT ROW 8 COL 28 COLON-ALIGNED WIDGET-ID 12
  272. bisJahr AT ROW 8 COL 41 COLON-ALIGNED WIDGET-ID 14
  273. VonKnr AT ROW 9 COL 28 COLON-ALIGNED
  274. BisKnr AT ROW 9 COL 41 COLON-ALIGNED NO-LABEL
  275. T_Lief AT ROW 9 COL 55
  276. CB_Status AT ROW 10 COL 28 COLON-ALIGNED
  277. T_Zweite AT ROW 11 COL 30
  278. T_ZusKol AT ROW 12 COL 30
  279. T_EWK AT ROW 13 COL 30
  280. T_eShop AT ROW 14 COL 30
  281. T_Farbe AT ROW 15 COL 30
  282. T_Internet AT ROW 16 COL 30 WIDGET-ID 2
  283. R_Preisliste AT ROW 17.52 COL 30 NO-LABEL
  284. R_EP AT ROW 20.57 COL 30 NO-LABEL
  285. R_Sort AT ROW 24 COL 30 NO-LABEL WIDGET-ID 4
  286. Btn_Excel AT ROW 4.05 COL 81
  287. RECT-1 AT ROW 1.24 COL 2
  288. SPACE(0.99) SKIP(0.22)
  289. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  290. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  291. TITLE "Preisliste".
  292. /* *********************** Procedure Settings ************************ */
  293. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  294. /* Settings for THIS-PROCEDURE
  295. Type: SmartDialog
  296. Allow: Basic,Browse,DB-Fields,Query,Smart
  297. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  298. Design Page: 1
  299. Other Settings: COMPILE
  300. */
  301. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gPreisliste
  303. /* ************************* Included-Libraries *********************** */
  304. {src/adm2/containr.i}
  305. /* _UIB-CODE-BLOCK-END */
  306. &ANALYZE-RESUME
  307. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  308. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  309. /* SETTINGS FOR DIALOG-BOX gPreisliste
  310. FRAME-NAME Custom */
  311. ASSIGN
  312. FRAME gPreisliste:SCROLLABLE = FALSE
  313. FRAME gPreisliste:HIDDEN = TRUE.
  314. /* SETTINGS FOR FILL-IN BisArtnr IN FRAME gPreisliste
  315. 6 */
  316. /* SETTINGS FOR FILL-IN bisInhalt IN FRAME gPreisliste
  317. 6 */
  318. /* SETTINGS FOR FILL-IN bisJahr IN FRAME gPreisliste
  319. 6 */
  320. /* SETTINGS FOR FILL-IN BisKnr IN FRAME gPreisliste
  321. 6 */
  322. /* SETTINGS FOR BUTTON Btn_Excel IN FRAME gPreisliste
  323. 5 */
  324. /* SETTINGS FOR COMBO-BOX CB_Preisgruppe IN FRAME gPreisliste
  325. 6 */
  326. /* SETTINGS FOR COMBO-BOX CB_Status IN FRAME gPreisliste
  327. 5 */
  328. /* SETTINGS FOR FILL-IN Hersteller IN FRAME gPreisliste
  329. 6 */
  330. /* SETTINGS FOR FILL-IN Preisdatum IN FRAME gPreisliste
  331. 6 */
  332. /* SETTINGS FOR RADIO-SET R_EP IN FRAME gPreisliste
  333. 6 */
  334. /* SETTINGS FOR RADIO-SET R_Preisliste IN FRAME gPreisliste
  335. 6 */
  336. /* SETTINGS FOR RADIO-SET R_Sort IN FRAME gPreisliste
  337. 6 */
  338. /* SETTINGS FOR TOGGLE-BOX T_eShop IN FRAME gPreisliste
  339. 6 */
  340. /* SETTINGS FOR TOGGLE-BOX T_EWK IN FRAME gPreisliste
  341. 6 */
  342. /* SETTINGS FOR TOGGLE-BOX T_Farbe IN FRAME gPreisliste
  343. 6 */
  344. /* SETTINGS FOR TOGGLE-BOX T_Internet IN FRAME gPreisliste
  345. 6 */
  346. /* SETTINGS FOR TOGGLE-BOX T_Lief IN FRAME gPreisliste
  347. 6 */
  348. /* SETTINGS FOR TOGGLE-BOX T_ZusKol IN FRAME gPreisliste
  349. 6 */
  350. /* SETTINGS FOR TOGGLE-BOX T_Zweite IN FRAME gPreisliste
  351. 6 */
  352. /* SETTINGS FOR FILL-IN VonArtnr IN FRAME gPreisliste
  353. 6 */
  354. /* SETTINGS FOR FILL-IN vonInhalt IN FRAME gPreisliste
  355. 6 */
  356. /* SETTINGS FOR FILL-IN vonJahr IN FRAME gPreisliste
  357. 6 */
  358. /* SETTINGS FOR FILL-IN VonKnr IN FRAME gPreisliste
  359. 6 */
  360. /* SETTINGS FOR FILL-IN Warengruppen IN FRAME gPreisliste
  361. 6 */
  362. /* _RUN-TIME-ATTRIBUTES-END */
  363. &ANALYZE-RESUME
  364. /* Setting information for Queries and Browse Widgets fields */
  365. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gPreisliste
  366. /* Query rebuild information for DIALOG-BOX gPreisliste
  367. _Options = "SHARE-LOCK"
  368. _Query is NOT OPENED
  369. */ /* DIALOG-BOX gPreisliste */
  370. &ANALYZE-RESUME
  371. /* ************************ Control Triggers ************************ */
  372. &Scoped-define SELF-NAME gPreisliste
  373. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreisliste gPreisliste
  374. ON END-ERROR OF FRAME gPreisliste /* Preisliste */
  375. DO:
  376. RUN ENDE.
  377. RETURN NO-APPLY.
  378. END.
  379. /* _UIB-CODE-BLOCK-END */
  380. &ANALYZE-RESUME
  381. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreisliste gPreisliste
  382. ON GO OF FRAME gPreisliste /* Preisliste */
  383. DO:
  384. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  385. END.
  386. /* _UIB-CODE-BLOCK-END */
  387. &ANALYZE-RESUME
  388. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreisliste gPreisliste
  389. ON WINDOW-CLOSE OF FRAME gPreisliste /* Preisliste */
  390. DO:
  391. RUN ENDE.
  392. RETURN NO-APPLY.
  393. END.
  394. /* _UIB-CODE-BLOCK-END */
  395. &ANALYZE-RESUME
  396. &Scoped-define SELF-NAME Btn_Excel
  397. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel gPreisliste
  398. ON CHOOSE OF Btn_Excel IN FRAME gPreisliste /* Excel */
  399. DO:
  400. DO WITH FRAME {&FRAME-NAME}:
  401. Btn_Excel:VISIBLE = FALSE.
  402. RUN REPORT.
  403. Btn_Excel:VISIBLE = TRUE.
  404. RUN ENDE.
  405. END.
  406. END.
  407. /* _UIB-CODE-BLOCK-END */
  408. &ANALYZE-RESUME
  409. &Scoped-define SELF-NAME CB_Preisgruppe
  410. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Preisgruppe gPreisliste
  411. ON RETURN OF CB_Preisgruppe IN FRAME gPreisliste /* Preisgruppe */
  412. DO:
  413. APPLY 'TAB' TO SELF.
  414. RETURN NO-APPLY.
  415. END.
  416. /* _UIB-CODE-BLOCK-END */
  417. &ANALYZE-RESUME
  418. &Scoped-define SELF-NAME CB_Status
  419. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Status gPreisliste
  420. ON RETURN OF CB_Status IN FRAME gPreisliste /* Status */
  421. DO:
  422. APPLY 'TAB' TO SELF.
  423. RETURN NO-APPLY.
  424. END.
  425. /* _UIB-CODE-BLOCK-END */
  426. &ANALYZE-RESUME
  427. &Scoped-define SELF-NAME Hersteller
  428. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Hersteller gPreisliste
  429. ON HELP OF Hersteller IN FRAME gPreisliste /* Hersteller */
  430. DO:
  431. RUN g-auswahl-tabelle.w ( INPUT SELF:HANDLE, INPUT 'HERST' ).
  432. APPLY 'END' TO SELF.
  433. END.
  434. /* _UIB-CODE-BLOCK-END */
  435. &ANALYZE-RESUME
  436. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Hersteller gPreisliste
  437. ON LEFT-MOUSE-DBLCLICK OF Hersteller IN FRAME gPreisliste /* Hersteller */
  438. DO:
  439. RUN g-auswahl-tabelle.w ( INPUT SELF:HANDLE, INPUT 'HERST' ).
  440. APPLY 'END' TO SELF.
  441. END.
  442. /* _UIB-CODE-BLOCK-END */
  443. &ANALYZE-RESUME
  444. &Scoped-define SELF-NAME R_EP
  445. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL R_EP gPreisliste
  446. ON RETURN OF R_EP IN FRAME gPreisliste
  447. DO:
  448. APPLY 'TAB' TO SELF.
  449. RETURN NO-APPLY.
  450. END.
  451. /* _UIB-CODE-BLOCK-END */
  452. &ANALYZE-RESUME
  453. &Scoped-define SELF-NAME R_Preisliste
  454. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL R_Preisliste gPreisliste
  455. ON RETURN OF R_Preisliste IN FRAME gPreisliste
  456. DO:
  457. APPLY 'TAB' TO SELF.
  458. RETURN NO-APPLY.
  459. END.
  460. /* _UIB-CODE-BLOCK-END */
  461. &ANALYZE-RESUME
  462. &Scoped-define SELF-NAME R_Sort
  463. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL R_Sort gPreisliste
  464. ON RETURN OF R_Sort IN FRAME gPreisliste
  465. DO:
  466. APPLY 'TAB' TO SELF.
  467. RETURN NO-APPLY.
  468. END.
  469. /* _UIB-CODE-BLOCK-END */
  470. &ANALYZE-RESUME
  471. &Scoped-define SELF-NAME T_eShop
  472. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_eShop gPreisliste
  473. ON RETURN OF T_eShop IN FRAME gPreisliste /* nur eShop-Artikel */
  474. DO:
  475. APPLY 'TAB' TO SELF.
  476. RETURN NO-APPLY.
  477. END.
  478. /* _UIB-CODE-BLOCK-END */
  479. &ANALYZE-RESUME
  480. &Scoped-define SELF-NAME T_EWK
  481. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_EWK gPreisliste
  482. ON RETURN OF T_EWK IN FRAME gPreisliste /* Weinhaldeskommissionscode */
  483. DO:
  484. APPLY 'TAB' TO SELF.
  485. RETURN NO-APPLY.
  486. END.
  487. /* _UIB-CODE-BLOCK-END */
  488. &ANALYZE-RESUME
  489. &Scoped-define SELF-NAME T_Farbe
  490. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Farbe gPreisliste
  491. ON RETURN OF T_Farbe IN FRAME gPreisliste /* Farbe in Kolonne */
  492. DO:
  493. APPLY 'TAB' TO SELF.
  494. RETURN NO-APPLY.
  495. END.
  496. /* _UIB-CODE-BLOCK-END */
  497. &ANALYZE-RESUME
  498. &Scoped-define SELF-NAME T_Internet
  499. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Internet gPreisliste
  500. ON RETURN OF T_Internet IN FRAME gPreisliste /* Internetbezeichnung ? */
  501. DO:
  502. APPLY 'TAB' TO SELF.
  503. RETURN NO-APPLY.
  504. END.
  505. /* _UIB-CODE-BLOCK-END */
  506. &ANALYZE-RESUME
  507. &Scoped-define SELF-NAME T_Lief
  508. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Lief gPreisliste
  509. ON RETURN OF T_Lief IN FRAME gPreisliste /* Lieferant berücksichtigen */
  510. DO:
  511. APPLY 'TAB' TO SELF.
  512. RETURN NO-APPLY.
  513. END.
  514. /* _UIB-CODE-BLOCK-END */
  515. &ANALYZE-RESUME
  516. &Scoped-define SELF-NAME T_ZusKol
  517. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_ZusKol gPreisliste
  518. ON RETURN OF T_ZusKol IN FRAME gPreisliste /* Zusätzliche Kolonnen */
  519. DO:
  520. APPLY 'TAB' TO SELF.
  521. RETURN NO-APPLY.
  522. END.
  523. /* _UIB-CODE-BLOCK-END */
  524. &ANALYZE-RESUME
  525. &Scoped-define SELF-NAME T_Zweite
  526. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Zweite gPreisliste
  527. ON RETURN OF T_Zweite IN FRAME gPreisliste /* Zweite Artikelbezeichnung drucken ? */
  528. DO:
  529. APPLY 'TAB' TO SELF.
  530. RETURN NO-APPLY.
  531. END.
  532. /* _UIB-CODE-BLOCK-END */
  533. &ANALYZE-RESUME
  534. &Scoped-define SELF-NAME Warengruppen
  535. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Warengruppen gPreisliste
  536. ON HELP OF Warengruppen IN FRAME gPreisliste /* Warengruppen */
  537. DO:
  538. RUN g-auswahl-wgr.w ( INPUT SELF:HANDLE ).
  539. APPLY 'END' TO SELF.
  540. END.
  541. /* _UIB-CODE-BLOCK-END */
  542. &ANALYZE-RESUME
  543. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Warengruppen gPreisliste
  544. ON LEFT-MOUSE-DBLCLICK OF Warengruppen IN FRAME gPreisliste /* Warengruppen */
  545. DO:
  546. RUN g-auswahl-wgr.w ( INPUT SELF:HANDLE ).
  547. APPLY 'END' TO SELF.
  548. END.
  549. /* _UIB-CODE-BLOCK-END */
  550. &ANALYZE-RESUME
  551. &UNDEFINE SELF-NAME
  552. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gPreisliste
  553. /* *************************** Main Block *************************** */
  554. MaxPage = 1.
  555. AktSeite = 1.
  556. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  557. GET-KEY-VALUE SECTION 'FwSteuer' KEY 'FwSprcd' VALUE RetVal.
  558. IF RetVal = ? THEN RetVal = '1'.
  559. FwSprcd = INTEGER(RetVal) NO-ERROR.
  560. SESSION:DATA-ENTRY-RETURN = TRUE.
  561. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  562. /* TRIGGERS ------------------------------------------------------ */
  563. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  564. DO:
  565. RUN NEXTPAGE.
  566. END.
  567. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  568. DO:
  569. RUN PREVPAGE.
  570. END.
  571. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  572. DO:
  573. RUN ENTRY_CURSOR.
  574. END.
  575. /*
  576. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  577. DO:
  578. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  579. END.
  580. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  581. DO:
  582. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  583. END.
  584. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  585. DO:
  586. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  587. END.
  588. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  589. DO:
  590. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  591. END.
  592. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  593. DO:
  594. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  595. END.
  596. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  597. DO:
  598. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  599. END.
  600. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  601. DO:
  602. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  603. END.
  604. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  605. DO:
  606. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  607. END.
  608. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  609. DO:
  610. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  611. END.
  612. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  613. DO:
  614. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  615. IF FMutFlag = FALSE THEN DO:
  616. RUN ENDE.
  617. RETURN NO-APPLY.
  618. END.
  619. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  620. RETURN NO-APPLY.
  621. END.
  622. */
  623. /* ------------------------------------------------------------------ */
  624. {src/adm2/dialogmn.i}
  625. /* _UIB-CODE-BLOCK-END */
  626. &ANALYZE-RESUME
  627. /* ********************** Internal Procedures *********************** */
  628. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gPreisliste _ADM-CREATE-OBJECTS
  629. PROCEDURE adm-create-objects :
  630. /*------------------------------------------------------------------------------
  631. Purpose: Create handles for all SmartObjects used in this procedure.
  632. After SmartObjects are initialized, then SmartLinks are added.
  633. Parameters: <none>
  634. ------------------------------------------------------------------------------*/
  635. END PROCEDURE.
  636. /* _UIB-CODE-BLOCK-END */
  637. &ANALYZE-RESUME
  638. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEREINIGEN gPreisliste
  639. PROCEDURE BEREINIGEN :
  640. /*------------------------------------------------------------------------------
  641. Purpose:
  642. Parameters: <none>
  643. Notes:
  644. ------------------------------------------------------------------------------*/
  645. DEFINE INPUT-OUTPUT PARAMETER ipString AS CHARACTER NO-UNDO.
  646. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  647. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  648. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  649. cString = ''.
  650. DO ix = 1 TO NUM-ENTRIES(ipString, ','):
  651. IF cString <> '' THEN cString = cString + ','.
  652. cString = cString + STRING(INTEGER(ENTRY(ix, ipString)),'999').
  653. END.
  654. ipString = cString.
  655. END PROCEDURE.
  656. /* _UIB-CODE-BLOCK-END */
  657. &ANALYZE-RESUME
  658. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gPreisliste
  659. PROCEDURE changePage :
  660. /*------------------------------------------------------------------------------
  661. Purpose: Super Override
  662. Parameters:
  663. Notes:
  664. ------------------------------------------------------------------------------*/
  665. /* Code placed here will execute PRIOR to standard behavior. */
  666. RUN SUPER.
  667. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  668. CASE AktSeite:
  669. WHEN 1 THEN
  670. DO:
  671. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  672. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  673. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  674. RUN ENTRY_CURSOR.
  675. END.
  676. WHEN 2 THEN
  677. DO:
  678. RUN ENTRY_CURSOR.
  679. END.
  680. END CASE.
  681. END PROCEDURE.
  682. /* _UIB-CODE-BLOCK-END */
  683. &ANALYZE-RESUME
  684. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gPreisliste _DEFAULT-DISABLE
  685. PROCEDURE disable_UI :
  686. /*------------------------------------------------------------------------------
  687. Purpose: DISABLE the User Interface
  688. Parameters: <none>
  689. Notes: Here we clean-up the user-interface by deleting
  690. dynamic widgets we have created and/or hide
  691. frames. This procedure is usually called when
  692. we are ready to "clean-up" after running.
  693. ------------------------------------------------------------------------------*/
  694. /* Hide all frames. */
  695. HIDE FRAME gPreisliste.
  696. END PROCEDURE.
  697. /* _UIB-CODE-BLOCK-END */
  698. &ANALYZE-RESUME
  699. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gPreisliste
  700. PROCEDURE enableObject :
  701. /*------------------------------------------------------------------------------
  702. Purpose: Super Override
  703. Parameters:
  704. Notes:
  705. ------------------------------------------------------------------------------*/
  706. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  707. DO WITH FRAME {&FRAME-NAME}:
  708. RUN COMBO_PREISGRP ( INPUT CB_Preisgruppe:HANDLE ).
  709. END.
  710. RUN SUPER.
  711. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  712. IF NOT VALID-HANDLE(Fenster)
  713. THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  714. IF VALID-HANDLE(Fenster) THEN Fenster = Fenster:FIRST-CHILD.
  715. DO WHILE VALID-HANDLE(Fenster).
  716. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  717. IF Fenster:TYPE = 'EDITOR' THEN LEAVE.
  718. IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
  719. IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
  720. IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
  721. GET-KEY-VALUE SECTION 'Preisliste'
  722. KEY Fenster:NAME
  723. VALUE cString.
  724. IF cString = ? THEN LEAVE.
  725. Fenster:SCREEN-VALUE = cString NO-ERROR.
  726. LEAVE.
  727. END.
  728. Fenster = Fenster:NEXT-SIBLING.
  729. END.
  730. Preisdatum:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(TODAY).
  731. END PROCEDURE.
  732. /* _UIB-CODE-BLOCK-END */
  733. &ANALYZE-RESUME
  734. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gPreisliste _DEFAULT-ENABLE
  735. PROCEDURE enable_UI :
  736. /*------------------------------------------------------------------------------
  737. Purpose: ENABLE the User Interface
  738. Parameters: <none>
  739. Notes: Here we display/view/enable the widgets in the
  740. user-interface. In addition, OPEN all queries
  741. associated with each FRAME and BROWSE.
  742. These statements here are based on the "Other
  743. Settings" section of the widget Property Sheets.
  744. ------------------------------------------------------------------------------*/
  745. DISPLAY Hersteller Warengruppen CB_Preisgruppe Preisdatum VonArtnr BisArtnr
  746. vonInhalt bisInhalt vonJahr bisJahr VonKnr BisKnr T_Lief CB_Status
  747. T_Zweite T_ZusKol T_EWK T_eShop T_Farbe T_Internet R_Preisliste R_EP
  748. R_Sort
  749. WITH FRAME gPreisliste.
  750. ENABLE Hersteller Warengruppen CB_Preisgruppe Preisdatum VonArtnr BisArtnr
  751. vonInhalt bisInhalt vonJahr bisJahr VonKnr BisKnr T_Lief CB_Status
  752. T_Zweite T_ZusKol T_EWK T_eShop T_Farbe T_Internet R_Preisliste R_EP
  753. R_Sort Btn_Excel RECT-1
  754. WITH FRAME gPreisliste.
  755. VIEW FRAME gPreisliste.
  756. {&OPEN-BROWSERS-IN-QUERY-gPreisliste}
  757. END PROCEDURE.
  758. /* _UIB-CODE-BLOCK-END */
  759. &ANALYZE-RESUME
  760. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gPreisliste
  761. PROCEDURE ENDE :
  762. /*------------------------------------------------------------------------------
  763. Purpose:
  764. Parameters: <none>
  765. Notes:
  766. ------------------------------------------------------------------------------*/
  767. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  768. IF AktSeite > 1 THEN
  769. DO:
  770. RUN selectPage ( INPUT 1 ).
  771. RETURN NO-APPLY.
  772. END.
  773. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  774. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  775. RETURN NO-APPLY.
  776. END PROCEDURE.
  777. /* _UIB-CODE-BLOCK-END */
  778. &ANALYZE-RESUME
  779. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gPreisliste
  780. PROCEDURE ENTRY_CURSOR :
  781. /*------------------------------------------------------------------------------
  782. Purpose:
  783. Parameters: <none>
  784. Notes:
  785. ------------------------------------------------------------------------------*/
  786. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  787. CASE AktSeite:
  788. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  789. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  790. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  791. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  792. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  793. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  794. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  795. END CASE.
  796. RETURN NO-APPLY.
  797. END PROCEDURE.
  798. /* _UIB-CODE-BLOCK-END */
  799. &ANALYZE-RESUME
  800. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gPreisliste
  801. PROCEDURE exitObject :
  802. /*------------------------------------------------------------------------------
  803. Purpose: Super Override
  804. Parameters:
  805. Notes:
  806. ------------------------------------------------------------------------------*/
  807. RUN ENDE.
  808. RETURN NO-APPLY.
  809. END PROCEDURE.
  810. /* _UIB-CODE-BLOCK-END */
  811. &ANALYZE-RESUME
  812. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gPreisliste
  813. PROCEDURE KOPF :
  814. /*------------------------------------------------------------------------------
  815. Purpose:
  816. Parameters: <none>
  817. Notes:
  818. ------------------------------------------------------------------------------*/
  819. DEFINE INPUT PARAMETER eh AS COMPONENT-HANDLE NO-UNDO.
  820. DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
  821. FIND Steuer USE-INDEX Steuer-k1
  822. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  823. Zelle = 'B1'.
  824. eh:Range(Zelle):SELECT.
  825. eh:SELECTION:VALUE = Steuer.Firma1.
  826. Zelle = 'D1'.
  827. eh:Range(Zelle):SELECT.
  828. eh:SELECTION:VALUE = 'Preisliste ' + xPreisgrp.
  829. Zelle = 'H1'.
  830. eh:Range(Zelle):SELECT.
  831. eh:SELECTION:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
  832. Zelle = 'B2'.
  833. eh:Range(Zelle):SELECT.
  834. eh:SELECTION:VALUE = Steuer.Ort.
  835. Zelle = 'D2'.
  836. eh:Range(Zelle):SELECT.
  837. eh:SELECTION:VALUE = ''.
  838. Zelle = 'H2'.
  839. eh:Range(Zelle):SELECT.
  840. eh:SELECTION:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  841. END PROCEDURE.
  842. /* _UIB-CODE-BLOCK-END */
  843. &ANALYZE-RESUME
  844. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gPreisliste
  845. PROCEDURE NEXTPAGE :
  846. /*------------------------------------------------------------------------------
  847. Purpose:
  848. Parameters: <none>
  849. Notes:
  850. ------------------------------------------------------------------------------*/
  851. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  852. IF AktSeite = MaxPage THEN AktSeite = 1.
  853. ELSE AktSeite = AktSeite + 1.
  854. RUN selectPage ( INPUT AktSeite ).
  855. END PROCEDURE.
  856. /* _UIB-CODE-BLOCK-END */
  857. &ANALYZE-RESUME
  858. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gPreisliste
  859. PROCEDURE PREVPAGE :
  860. /*------------------------------------------------------------------------------
  861. Purpose:
  862. Parameters: <none>
  863. Notes:
  864. ------------------------------------------------------------------------------*/
  865. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  866. IF AktSeite = 1 THEN AktSeite = MaxPage.
  867. ELSE AktSeite = AktSeite - 1.
  868. RUN selectPage ( INPUT AktSeite ).
  869. END PROCEDURE.
  870. /* _UIB-CODE-BLOCK-END */
  871. &ANALYZE-RESUME
  872. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gPreisliste
  873. PROCEDURE REPORT :
  874. /*------------------------------------------------------------------------------
  875. Purpose:
  876. Parameters: <none>
  877. Notes:
  878. ------------------------------------------------------------------------------*/
  879. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  880. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  881. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  882. DEFINE VARIABLE Netto AS LOG NO-UNDO.
  883. DEFINE VARIABLE Alk AS CHARACTER NO-UNDO.
  884. DEFINE VARIABLE Preis AS CHARACTER NO-UNDO.
  885. DEFINE VARIABLE Dokument AS CHARACTER NO-UNDO.
  886. DEFINE VARIABLE OK AS LOG NO-UNDO.
  887. DO WITH FRAME {&FRAME-NAME}:
  888. ASSIGN {&List-6}.
  889. IF VonArtnr = 0 AND BisArtnr = 0 THEN BisArtnr = 999999.
  890. IF VonKnr = 0 AND BisKnr = 0 THEN BisKnr = 999999.
  891. IF VonInhalt = 0 AND BisInhalt = 0 THEN BisInhalt = 9999.
  892. IF VonJahr = 0 AND BisJahr = 0 THEN BisJahr = 9999.
  893. IF PreisDatum = ? THEN Preisdatum = TODAY.
  894. Pgr = INTEGER(CB_Preisgruppe:SCREEN-VALUE) NO-ERROR.
  895. iStatus = INTEGER(CB_Status:SCREEN-VALUE).
  896. RUN BEREINIGEN ( INPUT-OUTPUT Hersteller ).
  897. RUN BEREINIGEN ( INPUT-OUTPUT Warengruppen ).
  898. DISPLAY {&List-6}.
  899. END.
  900. IF NOT VALID-HANDLE(Fenster)
  901. THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  902. IF VALID-HANDLE(Fenster) THEN Fenster = Fenster:FIRST-CHILD.
  903. DO WHILE VALID-HANDLE(Fenster).
  904. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  905. IF Fenster:TYPE = 'EDITOR' THEN LEAVE.
  906. IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
  907. IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
  908. IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
  909. cString = Fenster:SCREEN-VALUE.
  910. PUT-KEY-VALUE SECTION 'Preisliste'
  911. KEY Fenster:NAME
  912. VALUE cString.
  913. LEAVE.
  914. END.
  915. Fenster = Fenster:NEXT-SIBLING.
  916. END.
  917. RUN SELEKTION.
  918. FIND FIRST tArtikel NO-LOCK NO-ERROR.
  919. IF NOT AVAILABLE tArtikel THEN RETURN.
  920. cVorlage = 'Preisliste.xls'.
  921. Dokument = cVorlage + CHR(01) + cVorlage.
  922. DO WHILE TRUE:
  923. RUN CREATEDATEI ( INPUT Dokument ).
  924. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  925. CASE RETURN-VALUE:
  926. WHEN 'ERROR-PARAMETER' THEN
  927. DO:
  928. RUN FEHLER ( INPUT 1036 ).
  929. RETURN NO-APPLY.
  930. END.
  931. WHEN 'ERROR-LOESCHEN' THEN
  932. DO:
  933. RUN FEHLER ( INPUT 1037 ).
  934. RETURN NO-APPLY.
  935. END.
  936. WHEN 'ERROR-VORLAGE' THEN
  937. DO:
  938. RUN FEHLER ( INPUT 1038 ).
  939. RETURN NO-APPLY.
  940. END.
  941. OTHERWISE
  942. DO:
  943. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  944. RETURN NO-APPLY.
  945. END.
  946. END CASE.
  947. LEAVE.
  948. END.
  949. cDokument = RETURN-VALUE.
  950. Dokument = 'Preisliste.txt'.
  951. DO WHILE TRUE:
  952. RUN CREATEDATEI ( INPUT Dokument ).
  953. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  954. CASE RETURN-VALUE:
  955. WHEN 'ERROR-PARAMETER' THEN
  956. DO:
  957. RUN FEHLER ( INPUT 1036 ).
  958. RETURN NO-APPLY.
  959. END.
  960. WHEN 'ERROR-LOESCHEN' THEN
  961. DO:
  962. RUN FEHLER ( INPUT 1037 ).
  963. RETURN NO-APPLY.
  964. END.
  965. WHEN 'ERROR-VORLAGE' THEN
  966. DO:
  967. RUN FEHLER ( INPUT 1038 ).
  968. RETURN NO-APPLY.
  969. END.
  970. OTHERWISE
  971. DO:
  972. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  973. RETURN NO-APPLY.
  974. END.
  975. END CASE.
  976. LEAVE.
  977. END.
  978. cDaten = RETURN-VALUE.
  979. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  980. IF NOT VALID-HANDLE(excelAppl) THEN
  981. DO:
  982. RUN FEHLER ( INPUT 1035 ).
  983. RETURN NO-APPLY.
  984. END.
  985. RUN FIND_PREISGRUPPE ( INPUT Pgr, OUTPUT cString ).
  986. xPreisgrp = '??????????'.
  987. IF NUM-ENTRIES(cString, CHR(01)) < 2 THEN Netto = TRUE.
  988. ELSE
  989. DO:
  990. xPreisGrp = ENTRY(2, cString, CHR(01)).
  991. IF INTEGER(ENTRY(3, cString, CHR(01))) = 0 THEN Netto = TRUE.
  992. IF INTEGER(ENTRY(3, cString, CHR(01))) = 1 THEN Netto = FALSE.
  993. END.
  994. OUTPUT TO VALUE(cDaten).
  995. PUT CONTROL '£' CHR(10)
  996. '£' CHR(10)
  997. '£' CHR(10)
  998. '£' CHR(10)
  999. '£Artnr£Bezeichnung£Kat£Jahr£Alk%£Gebinde£Preis' CHR(10)
  1000. '£' CHR(10).
  1001. FOR EACH tArtikel USE-INDEX tArtikel-k3
  1002. BREAK BY tArtikel.Wg_Sort
  1003. BY tArtikel.Wgr_Text
  1004. BY tArtikel.Prod_Sort
  1005. BY tArtikel.Pgr_Text
  1006. BY tArtikel.Art_Grp
  1007. BY tArtikel.cFarbe
  1008. BY tArtikel.Agr_Text
  1009. BY tArtikel.cSort
  1010. BY tArtikel.Bez1
  1011. BY tArtikel.KGeb_Inh
  1012. BY tArtikel.Jahr :
  1013. IF FIRST-OF ( tArtikel.Wgr_Text ) THEN
  1014. IF tArtikel.Wgr_Text <> '' THEN PUT CONTROL tArtikel.Wgr_Text CHR(10).
  1015. IF FIRST-OF ( tArtikel.Pgr_Text ) THEN
  1016. IF tArtikel.Pgr_Text <> '' THEN PUT CONTROL tArtikel.Pgr_Text CHR(10).
  1017. IF FIRST-OF ( tArtikel.Agr_Text ) THEN
  1018. IF tArtikel.Agr_Text <> '' THEN PUT CONTROL tArtikel.Agr_Text CHR(10).
  1019. FIND LAST ArtPreis USE-INDEX ArtPreis-k1
  1020. WHERE ArtPreis.Firma = Firma
  1021. AND ArtPreis.Artnr = tArtikel.Artnr
  1022. AND ArtPreis.Inhalt = tArtikel.Inhalt
  1023. AND ArtPreis.Jahr = tArtikel.Jahr
  1024. AND ArtPreis.Preis_Grp = Pgr
  1025. AND ArtPreis.Ab_Datum <= Preisdatum
  1026. AND ArtPreis.Aktion = FALSE NO-LOCK NO-ERROR.
  1027. IF NOT AVAILABLE ArtPreis THEN Preis = ''.
  1028. ELSE
  1029. DO:
  1030. IF Netto THEN Preis = STRING(ArtPreis.VK_Netto ,'>>,>>9.999').
  1031. ELSE Preis = STRING(ArtPreis.VK_Brutto,'>>,>>9.99').
  1032. END.
  1033. IF tArtikel.Alk_Gehalt <> 0 THEN Alk = STRING(tArtikel.Alk_Gehalt,'z9.99%').
  1034. ELSE Alk = ''.
  1035. PUT CONTROL '£'
  1036. STRING(tArtikel.Artnr ,'zzzzzz').
  1037. IF tArtikel.Netto THEN PUT CONTROL '*'.
  1038. PUT CONTROL '£'
  1039. tArtikel.Bez1 '£'.
  1040. IF T_EWK THEN PUT CONTROL TRIM(SUBSTRING(tArtikel.WHK_Code,01,02)).
  1041. ELSE PUT CONTROL tArtikel.cFarbe.
  1042. PUT CONTROL '£'
  1043. STRING(tArtikel.Jahr ,'zzzz') '£'
  1044. Alk '£'
  1045. tArtikel.KGeb_KBez '£'
  1046. Preis.
  1047. CASE R_EP:
  1048. WHEN 2 THEN
  1049. PUT CONTROL '£' TRIM(STRING(tArtikel.Listen_EP,'>>>>>9.999')).
  1050. WHEN 3 THEN
  1051. PUT CONTROL '£' TRIM(STRING(tArtikel.DEP ,'>>>>>9.999')).
  1052. WHEN 4 THEN
  1053. PUT CONTROL '£' TRIM(STRING(tArtikel.LEP ,'>>>>>9.999')).
  1054. END.
  1055. IF T_ZusKol THEN
  1056. DO:
  1057. PUT CONTROL '£'
  1058. STRING(tArtikel.Artnr ,'999999') '£'
  1059. STRING(tArtikel.Inhalt ,'9999') '£'
  1060. STRING(tArtikel.Jahr ,'9999').
  1061. END.
  1062. PUT CONTROL CHR(10).
  1063. IF T_Zweite THEN
  1064. DO:
  1065. IF tArtikel.Bez2 <> '' THEN
  1066. DO:
  1067. PUT CONTROL '££'
  1068. tArtikel.Bez2 CHR(10).
  1069. END.
  1070. END.
  1071. IF LAST-OF ( tArtikel.Agr_Text ) OR
  1072. LAST-OF ( tArtikel.Pgr_Text ) OR
  1073. LAST-OF ( tArtikel.Wgr_Text ) THEN PUT CONTROL '£' CHR(10).
  1074. END.
  1075. PUT CONTROL '£*£Nettoartikel (nicht Rabattberechtigt)' CHR(10)
  1076. '£' CHR(10)
  1077. '£' CHR(10)
  1078. 'Preise verstehen sich '.
  1079. IF NOT Netto THEN PUT CONTROL 'inklusive Mehrwertsteuer'.
  1080. ELSE PUT CONTROL 'exklusive Mehrwertsteuer'.
  1081. PUT CONTROL CHR(10).
  1082. OUTPUT CLOSE.
  1083. INPUT FROM VALUE(cDaten) NO-ECHO.
  1084. EMPTY TEMP-TABLE TExcel.
  1085. ix = 0.
  1086. REPEAT TRANSACTION ON STOP UNDO, LEAVE
  1087. ON ERROR UNDO, NEXT:
  1088. ix = ix + 1.
  1089. CREATE TExcel.
  1090. IMPORT DELIMITER "£" TExcel.
  1091. ASSIGN
  1092. TExcel.Zeile = ix.
  1093. END.
  1094. INPUT CLOSE.
  1095. RUN OPENEXCEL ( INPUT excelAppl,
  1096. INPUT cDokument,
  1097. INPUT '',
  1098. OUTPUT ok ).
  1099. IF NOT ok THEN
  1100. DO:
  1101. RUN FEHLER ( INPUT 1040 ).
  1102. RETURN NO-APPLY.
  1103. END.
  1104. Zelle = 'A1'.
  1105. excelAppl:Range(Zelle):SELECT.
  1106. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + cDaten.
  1107. excelAppl:Application:RUN ( 'DateiEinfügen' ).
  1108. RUN KOPF ( INPUT excelAppl ).
  1109. Zelle = 'A1'.
  1110. excelAppl:Range(Zelle):SELECT.
  1111. excelAppl:Selection:ColumnWidth = 0.3.
  1112. IF T_Farbe THEN
  1113. DO:
  1114. FOR EACH TExcel BY TExcel.Zeile:
  1115. IF TExcel.Zeile < 7 THEN NEXT.
  1116. Zelle = 'D' + TRIM(STRING(TExcel.Zeile,'zzzzz9')).
  1117. excelAppl:Range(Zelle):SELECT.
  1118. excelAppl:Selection:Font:Name = "Wingdings".
  1119. excelAppl:Selection:FormulaR1C1 = "n".
  1120. CASE TExcel.Feld[04]:
  1121. WHEN 'O' THEN
  1122. DO:
  1123. excelAppl:Selection:Font:Colorindex = 3.
  1124. END.
  1125. WHEN 'W' THEN
  1126. DO:
  1127. excelAppl:Selection:Font:Colorindex = 6.
  1128. END.
  1129. WHEN 'R' THEN
  1130. DO:
  1131. excelAppl:Selection:Font:Colorindex = 7.
  1132. END.
  1133. OTHERWISE
  1134. excelAppl:Selection:FormulaR1C1 = "".
  1135. END CASE.
  1136. END.
  1137. END.
  1138. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  1139. END PROCEDURE.
  1140. /* _UIB-CODE-BLOCK-END */
  1141. &ANALYZE-RESUME
  1142. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gPreisliste
  1143. PROCEDURE selectPage :
  1144. /*------------------------------------------------------------------------------
  1145. Purpose: Super Override
  1146. Parameters:
  1147. Notes:
  1148. ------------------------------------------------------------------------------*/
  1149. DEFINE INPUT PARAMETER piPageNum AS INTEGER NO-UNDO.
  1150. DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
  1151. DEFINE VARIABLE MutProg AS CHARACTER NO-UNDO.
  1152. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  1153. DO WHILE TRUE:
  1154. IF NOT FMutFlag THEN LEAVE.
  1155. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  1156. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  1157. RETURN NO-APPLY.
  1158. END.
  1159. CASE piPageNum:
  1160. END CASE.
  1161. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  1162. CASE AktSeite:
  1163. WHEN 1 THEN
  1164. DO:
  1165. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  1166. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  1167. END.
  1168. END CASE.
  1169. RUN SUPER( INPUT piPageNum).
  1170. END PROCEDURE.
  1171. /* _UIB-CODE-BLOCK-END */
  1172. &ANALYZE-RESUME
  1173. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION gPreisliste
  1174. PROCEDURE SELEKTION :
  1175. /*------------------------------------------------------------------------------
  1176. Purpose:
  1177. Parameters: <none>
  1178. Notes:
  1179. ------------------------------------------------------------------------------*/
  1180. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1181. DEFINE VARIABLE cWgr AS CHARACTER NO-UNDO.
  1182. DEFINE VARIABLE cPgr AS CHARACTER NO-UNDO.
  1183. DEFINE VARIABLE cAgr AS CHARACTER NO-UNDO.
  1184. DEFINE VARIABLE cWgrSort AS CHARACTER NO-UNDO.
  1185. DEFINE VARIABLE cPgrSort AS CHARACTER NO-UNDO.
  1186. DEFINE VARIABLE cAgrSort AS CHARACTER NO-UNDO.
  1187. DEFINE VARIABLE fDruck AS LOG NO-UNDO.
  1188. EMPTY TEMP-TABLE tArtLief.
  1189. EMPTY TEMP-TABLE tArtikel.
  1190. IF T_Lief THEN
  1191. DO:
  1192. FOR EACH ArtLief USE-INDEX ArtLief-k2
  1193. WHERE ArtLief.Firma = Firma
  1194. AND ArtLief.Knr >= VonKnr
  1195. AND ArtLief.Knr <= BisKnr
  1196. AND ArtLief.Artnr >= VonArtnr
  1197. AND ArtLief.Artnr <= BisArtnr
  1198. AND ArtLief.Inhalt >= vonInhalt
  1199. AND ArtLief.Inhalt <= bisInhalt
  1200. AND ArtLief.Jahr >= vonJahr
  1201. AND ArtLief.Jahr <= bisJahr NO-LOCK,
  1202. FIRST Artst USE-INDEX Artst-k1
  1203. WHERE Artst.Firma = ArtLief.Firma
  1204. AND Artst.Artnr = ArtLief.Artnr
  1205. AND Artst.Inhalt = ArtLief.Inhalt
  1206. AND Artst.Jahr = ArtLief.Jahr
  1207. AND ((NOT T_eShop) OR
  1208. (Artst.eShop = TRUE))
  1209. AND ((R_Preisliste = 1) OR
  1210. (R_Preisliste = 2 AND
  1211. Artst.Preisliste = TRUE) OR
  1212. (R_Preisliste = 3 AND
  1213. Artst.Preisliste = FALSE))
  1214. AND ((Warengruppen = '') OR
  1215. (Warengruppen <> '' AND
  1216. LOOKUP(STRING(Artst.Wg_Grp,"999"), Warengruppen, ',') > 0))
  1217. AND ((Hersteller = '') OR
  1218. (Hersteller <> '' AND
  1219. LOOKUP(STRING(Artst.Herst,"999"), Hersteller , ',') > 0))
  1220. AND Artst.Aktiv = TRUE
  1221. AND Artst.Ausverk < 9 NO-LOCK :
  1222. CREATE tArtLief.
  1223. BUFFER-COPY ArtLief TO tArtLief.
  1224. END.
  1225. END.
  1226. ELSE
  1227. DO:
  1228. FOR EACH Artst USE-INDEX Artst-k1
  1229. WHERE Artst.Firma = Firma
  1230. AND Artst.Artnr >= VonArtnr
  1231. AND Artst.Artnr <= BisArtnr
  1232. AND Artst.Inhalt >= vonInhalt
  1233. AND Artst.Inhalt <= bisInhalt
  1234. AND Artst.Jahr >= vonJahr
  1235. AND Artst.Jahr <= bisJahr
  1236. AND ((NOT T_eShop)
  1237. OR (T_eShop AND
  1238. Artst.eShop = TRUE))
  1239. AND ((R_Preisliste = 1)
  1240. OR (R_Preisliste = 2 AND
  1241. Artst.Preisliste = TRUE)
  1242. OR (R_Preisliste = 3 AND
  1243. Artst.Preisliste = FALSE))
  1244. AND ((Warengruppen = '')
  1245. OR (Warengruppen <> '' AND
  1246. LOOKUP(STRING(Artst.Wg_Grp,"999"), Warengruppen, ',') > 0))
  1247. AND ((Hersteller = '')
  1248. OR (Hersteller <> '' AND
  1249. LOOKUP(STRING(Artst.Herst ,"999"), Hersteller , ',') > 0))
  1250. AND Artst.Aktiv = TRUE
  1251. AND Artst.Ausverk < 9
  1252. NO-LOCK :
  1253. CREATE tArtikel.
  1254. BUFFER-COPY Artst TO tArtikel.
  1255. END.
  1256. END.
  1257. IF T_Lief THEN
  1258. DO:
  1259. FOR EACH tArtLief NO-LOCK BREAK BY tArtLief.Artnr
  1260. BY tArtLief.Inhalt
  1261. BY tArtLief.Jahr :
  1262. IF NOT FIRST-OF ( tArtLief.Jahr ) THEN NEXT.
  1263. FIND Artst OF tArtLief NO-LOCK.
  1264. CREATE tArtikel.
  1265. BUFFER-COPY Artst TO tArtikel.
  1266. END.
  1267. END.
  1268. FOR EACH tArtikel NO-LOCK
  1269. BREAK BY tArtikel.Artnr
  1270. BY tArtikel.Inhalt
  1271. BY tArtikel.Jahr :
  1272. IF NOT FIRST-OF ( tArtikel.Jahr ) THEN
  1273. DO:
  1274. DELETE tArtikel.
  1275. NEXT.
  1276. END.
  1277. FIND Artst USE-INDEX Artst-k1
  1278. WHERE Artst.Firma = Firma
  1279. AND Artst.Artnr = tArtikel.Artnr
  1280. AND Artst.Inhalt = tArtikel.Inhalt
  1281. AND Artst.Jahr = tArtikel.Jahr NO-LOCK.
  1282. FIND FIRST Artbez USE-INDEX Artbez-k1
  1283. WHERE Artbez.Firma = Artst.Firma
  1284. AND Artbez.Artnr = Artst.Artnr
  1285. AND Artbez.Inhalt = Artst.Inhalt
  1286. AND Artbez.Jahr = Artst.Jahr NO-LOCK NO-ERROR.
  1287. IF NOT AVAILABLE ArtBez THEN tArtikel.Bez1 = Artst.Bez.
  1288. ELSE ASSIGN tArtikel.Bez1 = Artbez.Bez1
  1289. tArtikel.Bez2 = Artbez.Bez2.
  1290. FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
  1291. WHERE KGebinde.Firma = Firma
  1292. AND KGebinde.Geb_Cd = tArtikel.KGeb_Cd NO-ERROR.
  1293. IF AVAILABLE KGebinde THEN
  1294. DO:
  1295. ASSIGN
  1296. tArtikel.KGeb_Inh = KGebinde.Inhalt
  1297. tArtikel.KGeb_KBez = KGebinde.KBez.
  1298. END.
  1299. ELSE
  1300. DO:
  1301. ASSIGN
  1302. tArtikel.KGeb_Inh = 0
  1303. tArtikel.KGeb_KBez = tArtikel.KGeb_Cd.
  1304. END.
  1305. FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
  1306. WHERE VGebinde.Firma = Firma
  1307. AND VGebinde.Geb_Cd = tArtikel.VGeb_Cd NO-ERROR.
  1308. IF AVAILABLE VGebinde THEN
  1309. DO:
  1310. ASSIGN
  1311. tArtikel.VGeb_Inh = VGebinde.Inhalt
  1312. tArtikel.VGeb_KBez = VGebinde.KBez.
  1313. END.
  1314. ELSE
  1315. DO:
  1316. ASSIGN
  1317. tArtikel.KGeb_Inh = 0
  1318. tArtikel.KGeb_KBez = tArtikel.KGeb_Cd.
  1319. END.
  1320. RUN FIND_FARBE ( INPUT tArtikel.cFarbe, OUTPUT cString ).
  1321. IF cString = '?' OR
  1322. cString = '' THEN cString = CHR(01).
  1323. cString = ENTRY(2, cString, CHR(01)).
  1324. CASE cString:
  1325. WHEN 'rot' THEN
  1326. tArtikel.cFarbe = 'O'.
  1327. WHEN 'weiss' THEN
  1328. tArtikel.cFarbe = 'W'.
  1329. WHEN 'rose' THEN
  1330. tArtikel.cFarbe = 'R'.
  1331. OTHERWISE
  1332. tArtikel.cFarbe = ''.
  1333. END CASE.
  1334. CASE R_Sort:
  1335. WHEN 1 THEN
  1336. tArtikel.cSort = STRING(tArtikel.Artnr ,'999999')
  1337. + STRING(tArtikel.Inhalt,'9999')
  1338. + STRING(tArtikel.Jahr ,'9999').
  1339. WHEN 2 THEN
  1340. tArtikel.cSort = tArtikel.Bez1.
  1341. WHEN 3 THEN
  1342. tArtikel.cSort = tArtikel.Suchbe.
  1343. END CASE.
  1344. END.
  1345. FOR EACH tArtikel NO-LOCK
  1346. BREAK BY tArtikel.Wg_Grp
  1347. BY tArtikel.Prod_Grp
  1348. BY tArtikel.Art_Grp :
  1349. IF FIRST-OF ( tArtikel.Wg_Grp) THEN
  1350. DO:
  1351. RUN FIND_WARENGRP ( INPUT tArtikel.Wg_Grp, OUTPUT cString ).
  1352. IF cString = '?' THEN
  1353. DO:
  1354. cWgr = STRING(tArtikel.Wg_Grp,'999').
  1355. cWgrSort = cWgr.
  1356. END.
  1357. ELSE
  1358. DO:
  1359. cWgrSort = ENTRY(5, cString, CHR(01)).
  1360. fDruck = (IF ENTRY(6, cString, CHR(01)) BEGINS 'n' THEN FALSE ELSE TRUE).
  1361. cWgr = (IF T_Internet THEN ENTRY(4, cString, CHR(01)) ELSE ENTRY(2, cString, CHR(01))).
  1362. IF cWgr = '' THEN cWgr = ENTRY(2, cString, CHR(01)).
  1363. IF cWgrSort = '' THEN cWgrSort = cWgr.
  1364. IF NOT fDruck THEN cWgr = ''.
  1365. END.
  1366. END.
  1367. IF FIRST-OF ( tArtikel.Prod_Grp) THEN
  1368. DO:
  1369. RUN FIND_PRODGRP ( INPUT tArtikel.Wg_Grp,
  1370. INPUT tArtikel.Prod_Grp, OUTPUT cString ).
  1371. IF cString = '?' THEN
  1372. DO:
  1373. cPgr = STRING(tArtikel.Prod_Grp,'999').
  1374. cPgrSort = cPgr.
  1375. END.
  1376. ELSE
  1377. DO:
  1378. cPgrSort = ENTRY(5, cString, CHR(01)).
  1379. fDruck = (IF ENTRY(6, cString, CHR(01)) BEGINS 'n' THEN FALSE ELSE TRUE).
  1380. cPgr = (IF T_Internet THEN ENTRY(4, cString, CHR(01)) ELSE ENTRY(2, cString, CHR(01))).
  1381. IF cPgr = '' THEN cPgr = ENTRY(2, cString, CHR(01)).
  1382. IF cPgrSort = '' THEN cPgrSort = cPgr.
  1383. IF NOT fDruck THEN cPgr = ''.
  1384. END.
  1385. END.
  1386. IF FIRST-OF ( tArtikel.Art_Grp) THEN
  1387. DO:
  1388. RUN FIND_ARTIKGRP ( INPUT tArtikel.Wg_Grp,
  1389. INPUT tArtikel.Prod_Grp,
  1390. INPUT tArtikel.Art_Grp, OUTPUT cString ).
  1391. IF cString = '?' THEN
  1392. DO:
  1393. cAgr = STRING(tArtikel.Art_Grp,'999').
  1394. cAgrSort = cAgr.
  1395. END.
  1396. ELSE
  1397. DO:
  1398. cAgrSort = ENTRY(5, cString, CHR(01)).
  1399. fDruck = (IF ENTRY(6, cString, CHR(01)) BEGINS 'n' THEN FALSE ELSE TRUE).
  1400. cAgr = (IF T_Internet THEN ENTRY(4, cString, CHR(01)) ELSE ENTRY(2, cString, CHR(01))).
  1401. IF cAgr = '' THEN cAgr = ENTRY(2, cString, CHR(01)).
  1402. IF cAgrSort = '' THEN cAgrSort = cAgr.
  1403. IF NOT fDruck THEN cAgr = ''.
  1404. END.
  1405. END.
  1406. ASSIGN
  1407. tArtikel.Wgr_Text = cWgr
  1408. tArtikel.Pgr_Text = cPgr
  1409. tArtikel.Agr_Text = cAgr
  1410. tArtikel.Wg_Sort = cWgrSort
  1411. tArtikel.Prod_Sort = cPgrSort
  1412. tArtikel.Art_Sort = cAgrSort
  1413. .
  1414. END.
  1415. END PROCEDURE.
  1416. /* _UIB-CODE-BLOCK-END */
  1417. &ANALYZE-RESUME
  1418. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gPreisliste
  1419. PROCEDURE TOOLBAR :
  1420. /*------------------------------------------------------------------------------
  1421. Purpose:
  1422. Parameters: <none>
  1423. Notes:
  1424. ------------------------------------------------------------------------------*/
  1425. DEFINE INPUT PARAMETER pcAction AS CHARACTER NO-UNDO.
  1426. /*
  1427. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  1428. */
  1429. END PROCEDURE.
  1430. /* _UIB-CODE-BLOCK-END */
  1431. &ANALYZE-RESUME