g-preisliste-kunde.w 58 KB

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