g-preisliste-wein.w 52 KB

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