g-preisliste-verbandskunden.w 79 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103
  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. 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 AdFirma AS CHARACTER INIT '1000' NO-UNDO.
  34. DEFINE VARIABLE FwSprcd AS INTEGER NO-UNDO.
  35. DEFINE VARIABLE RetVal AS CHARACTER NO-UNDO.
  36. DEFINE VARIABLE xPreisgrp AS CHARACTER NO-UNDO.
  37. DEFINE VARIABLE ProgName AS CHARACTER NO-UNDO.
  38. DEFINE VARIABLE Inkl AS LOG NO-UNDO.
  39. DEFINE VARIABLE cVGebinde AS CHARACTER NO-UNDO.
  40. DEFINE VARIABLE iVGebInhalt AS INTEGER NO-UNDO.
  41. DEFINE VARIABLE cKGebinde AS CHARACTER NO-UNDO.
  42. DEFINE VARIABLE iKGebInhalt AS INTEGER NO-UNDO.
  43. DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
  44. DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
  45. DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
  46. DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
  47. DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
  48. DEFINE VARIABLE iVerband AS INTEGER NO-UNDO.
  49. DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
  50. DEFINE VARIABLE cPath AS CHARACTER NO-UNDO.
  51. DEFINE BUFFER BArtst FOR Artst.
  52. DEFINE TEMP-TABLE tArtikGrp NO-UNDO LIKE ArtikGrp
  53. FIELD cWgr AS CHARACTER
  54. FIELD cPgr AS CHARACTER.
  55. DEFINE TEMP-TABLE tCategory NO-UNDO
  56. FIELD cWarenGrp AS CHARACTER
  57. FIELD cProdGrp AS CHARACTER
  58. FIELD cArtGrp AS CHARACTER
  59. FIELD cKatId AS CHARACTER
  60. INDEX tCategory-k1 IS PRIMARY
  61. cKatId .
  62. DEFINE TEMP-TABLE tArtikel NO-UNDO
  63. FIELD Wg_Grp AS INTEGER
  64. FIELD Prod_Grp AS INTEGER
  65. FIELD Art_Grp AS INTEGER
  66. FIELD Rab_Grp AS INTEGER
  67. FIELD Herst AS INTEGER
  68. FIELD Artnr AS INTEGER
  69. FIELD Inhalt AS INTEGER
  70. FIELD Jahr AS INTEGER
  71. FIELD KGeb_Cd AS CHARACTER
  72. FIELD VGeb_Cd AS CHARACTER
  73. FIELD KGebinde AS CHARACTER
  74. FIELD VGebinde AS CHARACTER
  75. FIELD KGeb_Inhalt AS INTEGER
  76. FIELD VGeb_Inhalt AS INTEGER
  77. FIELD Alk_Gehalt AS DECIMAL
  78. FIELD Bez1 AS CHARACTER
  79. FIELD Bez2 AS CHARACTER
  80. FIELD Preis AS DECIMAL DECIMALS 3
  81. FIELD Netto AS LOG INIT FALSE
  82. FIELD Bez AS CHARACTER
  83. FIELD DEP AS DECIMAL DECIMALS 4
  84. FIELD LEP AS DECIMAL DECIMALS 4
  85. FIELD Listen_EP AS DECIMAL DECIMALS 4
  86. FIELD cEAN AS CHARACTER
  87. FIELD cBildLink AS CHARACTER
  88. FIELD Aktiv AS LOGICAL
  89. FIELD Ausverk AS INTEGER
  90. INDEX tArtikel-k1 AS PRIMARY
  91. Wg_Grp
  92. Prod_Grp
  93. Art_Grp
  94. Artnr
  95. Inhalt
  96. Jahr
  97. INDEX tArtikel-k2
  98. Artnr
  99. Inhalt
  100. Jahr
  101. .
  102. DEFINE TEMP-TABLE tPreise
  103. FIELD Artnr AS INTEGER
  104. FIELD Inhalt AS INTEGER
  105. FIELD Jahr AS INTEGER
  106. FIELD Knr AS INTEGER
  107. FIELD Preis_Grp AS INTEGER
  108. FIELD lAktion AS LOG
  109. FIELD Preis AS DECIMAL DECIMALS 3
  110. FIELD ab_Datum AS DATE
  111. FIELD bis_Datum AS DATE
  112. INDEX tPreise-k1 IS PRIMARY
  113. Artnr
  114. Inhalt
  115. Jahr
  116. Knr
  117. Preis_Grp
  118. lAktion.
  119. DEFINE BUFFER bas_tPreise FOR tPreise.
  120. DEFINE BUFFER akt_tPreise FOR tPreise.
  121. DEFINE TEMP-TABLE tDebitor NO-UNDO
  122. FIELD Knr AS INTEGER
  123. FIELD FremdKnr AS CHARACTER
  124. FIELD cGruppe AS CHARACTER
  125. INDEX tDebitor-k1 IS PRIMARY
  126. Knr.
  127. DEFINE TEMP-TABLE tAufze LIKE Aufze
  128. FIELD iStatus AS INTEGER
  129. FIELD Knr AS INTEGER
  130. FIELD Datum AS DATE
  131. .
  132. DEFINE VARIABLE htAufze AS HANDLE NO-UNDO.
  133. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  134. DEFINE TEMP-TABLE tOrder
  135. FIELD iKnr AS INTEGER
  136. FIELD iSupplierList AS INTEGER
  137. FIELD cName AS CHARACTER
  138. FIELD cArtnr AS CHARACTER
  139. FIELD iDelProd AS INTEGER
  140. FIELD iDelList AS INTEGER
  141. FIELD iSupplier AS INTEGER
  142. FIELD iPos AS INTEGER
  143. FIELD cGroup AS CHARACTER
  144. FIELD cFutureOrder AS CHARACTER
  145. FIELD nPreis AS DECIMAL
  146. FIELD cLiefDatum AS CHARACTER
  147. .
  148. /* _UIB-CODE-BLOCK-END */
  149. &ANALYZE-RESUME
  150. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  151. /* ******************** Preprocessor Definitions ******************** */
  152. &Scoped-define PROCEDURE-TYPE SmartDialog
  153. &Scoped-define DB-AWARE no
  154. &Scoped-define ADM-CONTAINER DIALOG-BOX
  155. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  156. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  157. &Scoped-define FRAME-NAME gPreislisteKunde
  158. /* Standard List Definitions */
  159. &Scoped-Define ENABLED-OBJECTS T_Kundendaten CB_Hogagrp Hersteller ~
  160. Warengruppen Preisdatum VonArtnr BisArtnr R_Preisliste Btn_Excel ~
  161. T_Artikeldaten T_Preise RECT-37
  162. &Scoped-Define DISPLAYED-OBJECTS T_Kundendaten CB_Hogagrp Hersteller ~
  163. Warengruppen Preisdatum VonArtnr BisArtnr R_Preisliste T_Artikeldaten ~
  164. T_Preise
  165. /* Custom List Definitions */
  166. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  167. &Scoped-define List-5 Btn_Excel
  168. &Scoped-define List-6 T_Kundendaten Hersteller Warengruppen Preisdatum ~
  169. VonArtnr BisArtnr R_Preisliste T_Artikeldaten T_Preise
  170. /* _UIB-PREPROCESSOR-BLOCK-END */
  171. &ANALYZE-RESUME
  172. /* ************************ Function Prototypes ********************** */
  173. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getKGebinde gPreislisteKunde
  174. FUNCTION getKGebinde RETURNS LOGICAL
  175. ( ipcGeb_Cd AS CHARACTER, OUTPUT opcGebinde AS CHARACTER, OUTPUT opiInhalt AS INTEGER ) FORWARD.
  176. /* _UIB-CODE-BLOCK-END */
  177. &ANALYZE-RESUME
  178. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getVGebinde gPreislisteKunde
  179. FUNCTION getVGebinde RETURNS LOGICAL
  180. ( ipcGeb_Cd AS CHARACTER, OUTPUT opcGebinde AS CHARACTER, OUTPUT opiInhalt AS INTEGER ) FORWARD.
  181. /* _UIB-CODE-BLOCK-END */
  182. &ANALYZE-RESUME
  183. /* *********************** Control Definitions ********************** */
  184. /* Define a dialog box */
  185. /* Definitions of the field level widgets */
  186. DEFINE BUTTON Btn_Excel
  187. IMAGE-UP FILE "grafik/results%.ico":U
  188. IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
  189. LABEL "Excel"
  190. SIZE 7 BY 1.81.
  191. DEFINE VARIABLE CB_Hogagrp AS CHARACTER FORMAT "X(256)":U
  192. LABEL "Hoga-Gruppe"
  193. VIEW-AS COMBO-BOX INNER-LINES 5
  194. LIST-ITEM-PAIRS "Item 1","Item 1"
  195. DROP-DOWN-LIST
  196. SIZE 45 BY 1 NO-UNDO.
  197. DEFINE VARIABLE BisArtnr AS INTEGER FORMAT "999999":U INITIAL 999999
  198. VIEW-AS FILL-IN
  199. SIZE 11 BY 1
  200. BGCOLOR 15 NO-UNDO.
  201. DEFINE VARIABLE Hersteller AS CHARACTER FORMAT "X(256)":U
  202. LABEL "Hersteller"
  203. VIEW-AS FILL-IN NATIVE
  204. SIZE 45 BY 1 TOOLTIP "F1, rechte Maustaste zur Auswahl"
  205. BGCOLOR 15 NO-UNDO.
  206. DEFINE VARIABLE Preisdatum AS DATE FORMAT "99.99.9999":U
  207. LABEL "Preisdatum"
  208. VIEW-AS FILL-IN NATIVE
  209. SIZE 16 BY 1
  210. BGCOLOR 15 NO-UNDO.
  211. DEFINE VARIABLE VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  212. LABEL "von - bis Artikelnummer"
  213. VIEW-AS FILL-IN
  214. SIZE 11 BY 1
  215. BGCOLOR 15 NO-UNDO.
  216. DEFINE VARIABLE Warengruppen AS CHARACTER FORMAT "X(256)":U
  217. LABEL "Warengruppen"
  218. VIEW-AS FILL-IN NATIVE
  219. SIZE 45 BY 1 TOOLTIP "F1, rechte Maustaste zur Auswahl"
  220. BGCOLOR 15 NO-UNDO.
  221. DEFINE VARIABLE R_Preisliste AS INTEGER
  222. VIEW-AS RADIO-SET VERTICAL
  223. RADIO-BUTTONS
  224. "Preislistencode nicht berücksichtigen", 1,
  225. "nur Artikel mit Preislistencode = Ja", 2,
  226. "nur Artikel mit Preislistencode = Nein", 3
  227. SIZE 45 BY 2.38 NO-UNDO.
  228. DEFINE RECTANGLE RECT-37
  229. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  230. SIZE 90 BY 13.33.
  231. DEFINE VARIABLE T_Artikeldaten AS LOGICAL INITIAL NO
  232. LABEL "Export Artikeldaten"
  233. VIEW-AS TOGGLE-BOX
  234. SIZE 35 BY 1 NO-UNDO.
  235. DEFINE VARIABLE T_Kundendaten AS LOGICAL INITIAL NO
  236. LABEL "Export Kundendaten"
  237. VIEW-AS TOGGLE-BOX
  238. SIZE 35 BY 1 NO-UNDO.
  239. DEFINE VARIABLE T_Preise AS LOGICAL INITIAL NO
  240. LABEL "Export Preise"
  241. VIEW-AS TOGGLE-BOX
  242. SIZE 35 BY 1 NO-UNDO.
  243. /* ************************ Frame Definitions *********************** */
  244. DEFINE FRAME gPreislisteKunde
  245. T_Kundendaten AT ROW 11 COL 30 WIDGET-ID 2
  246. CB_Hogagrp AT ROW 2.52 COL 28 COLON-ALIGNED
  247. Hersteller AT ROW 3.48 COL 28 COLON-ALIGNED
  248. Warengruppen AT ROW 4.48 COL 28 COLON-ALIGNED
  249. Preisdatum AT ROW 5.48 COL 28 COLON-ALIGNED
  250. VonArtnr AT ROW 6.48 COL 28 COLON-ALIGNED
  251. BisArtnr AT ROW 6.48 COL 41 COLON-ALIGNED NO-LABELS
  252. R_Preisliste AT ROW 8 COL 30 NO-LABELS
  253. Btn_Excel AT ROW 4 COL 82.2
  254. T_Artikeldaten AT ROW 12 COL 30 WIDGET-ID 4
  255. T_Preise AT ROW 13 COL 30 WIDGET-ID 6
  256. RECT-37 AT ROW 1.24 COL 2
  257. SPACE(0.99) SKIP(0.23)
  258. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  259. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  260. TITLE "Preisliste für Verbandskunden".
  261. /* *********************** Procedure Settings ************************ */
  262. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  263. /* Settings for THIS-PROCEDURE
  264. Type: SmartDialog
  265. Allow: Basic,Browse,DB-Fields,Query,Smart
  266. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  267. Design Page: 1
  268. Other Settings: COMPILE
  269. */
  270. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  271. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gPreislisteKunde
  272. /* ************************* Included-Libraries *********************** */
  273. {src/adm2/containr.i}
  274. /* _UIB-CODE-BLOCK-END */
  275. &ANALYZE-RESUME
  276. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  277. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  278. /* SETTINGS FOR DIALOG-BOX gPreislisteKunde
  279. FRAME-NAME Custom */
  280. ASSIGN
  281. FRAME gPreislisteKunde:SCROLLABLE = FALSE
  282. FRAME gPreislisteKunde:HIDDEN = TRUE.
  283. /* SETTINGS FOR FILL-IN BisArtnr IN FRAME gPreislisteKunde
  284. 6 */
  285. /* SETTINGS FOR BUTTON Btn_Excel IN FRAME gPreislisteKunde
  286. 5 */
  287. /* SETTINGS FOR FILL-IN Hersteller IN FRAME gPreislisteKunde
  288. 6 */
  289. /* SETTINGS FOR FILL-IN Preisdatum IN FRAME gPreislisteKunde
  290. 6 */
  291. /* SETTINGS FOR RADIO-SET R_Preisliste IN FRAME gPreislisteKunde
  292. 6 */
  293. /* SETTINGS FOR TOGGLE-BOX T_Artikeldaten IN FRAME gPreislisteKunde
  294. 6 */
  295. /* SETTINGS FOR TOGGLE-BOX T_Kundendaten IN FRAME gPreislisteKunde
  296. 6 */
  297. /* SETTINGS FOR TOGGLE-BOX T_Preise IN FRAME gPreislisteKunde
  298. 6 */
  299. /* SETTINGS FOR FILL-IN VonArtnr IN FRAME gPreislisteKunde
  300. 6 */
  301. /* SETTINGS FOR FILL-IN Warengruppen IN FRAME gPreislisteKunde
  302. 6 */
  303. /* _RUN-TIME-ATTRIBUTES-END */
  304. &ANALYZE-RESUME
  305. /* Setting information for Queries and Browse Widgets fields */
  306. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gPreislisteKunde
  307. /* Query rebuild information for DIALOG-BOX gPreislisteKunde
  308. _Options = "SHARE-LOCK"
  309. _Query is NOT OPENED
  310. */ /* DIALOG-BOX gPreislisteKunde */
  311. &ANALYZE-RESUME
  312. /* ************************ Control Triggers ************************ */
  313. &Scoped-define SELF-NAME gPreislisteKunde
  314. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreislisteKunde gPreislisteKunde
  315. ON END-ERROR OF FRAME gPreislisteKunde /* Preisliste für Verbandskunden */
  316. DO:
  317. RUN ENDE.
  318. RETURN NO-APPLY.
  319. END.
  320. /* _UIB-CODE-BLOCK-END */
  321. &ANALYZE-RESUME
  322. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreislisteKunde gPreislisteKunde
  323. ON GO OF FRAME gPreislisteKunde /* Preisliste für Verbandskunden */
  324. DO:
  325. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  326. END.
  327. /* _UIB-CODE-BLOCK-END */
  328. &ANALYZE-RESUME
  329. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreislisteKunde gPreislisteKunde
  330. ON WINDOW-CLOSE OF FRAME gPreislisteKunde /* Preisliste für Verbandskunden */
  331. DO:
  332. RUN ENDE.
  333. RETURN NO-APPLY.
  334. END.
  335. /* _UIB-CODE-BLOCK-END */
  336. &ANALYZE-RESUME
  337. &Scoped-define SELF-NAME Btn_Excel
  338. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel gPreislisteKunde
  339. ON CHOOSE OF Btn_Excel IN FRAME gPreislisteKunde /* Excel */
  340. DO:
  341. DO WITH FRAME {&FRAME-NAME}:
  342. Btn_Excel:VISIBLE = FALSE.
  343. SESSION:SET-WAIT-STATE('GENERAL').
  344. RUN REPORT.
  345. SESSION:SET-WAIT-STATE('').
  346. Btn_Excel:VISIBLE = TRUE.
  347. RUN ENDE.
  348. END.
  349. END.
  350. /* _UIB-CODE-BLOCK-END */
  351. &ANALYZE-RESUME
  352. &Scoped-define SELF-NAME Hersteller
  353. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Hersteller gPreislisteKunde
  354. ON HELP OF Hersteller IN FRAME gPreislisteKunde /* Hersteller */
  355. DO:
  356. RUN g-auswahl-tabelle.w ( INPUT SELF:HANDLE, INPUT 'HERST' ).
  357. APPLY 'END' TO SELF.
  358. END.
  359. /* _UIB-CODE-BLOCK-END */
  360. &ANALYZE-RESUME
  361. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Hersteller gPreislisteKunde
  362. ON RIGHT-MOUSE-CLICK OF Hersteller IN FRAME gPreislisteKunde /* Hersteller */
  363. DO:
  364. RUN g-auswahl-tabelle.w ( INPUT SELF:HANDLE, INPUT 'HERST' ).
  365. APPLY 'END' TO SELF.
  366. END.
  367. /* _UIB-CODE-BLOCK-END */
  368. &ANALYZE-RESUME
  369. &Scoped-define SELF-NAME R_Preisliste
  370. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL R_Preisliste gPreislisteKunde
  371. ON RETURN OF R_Preisliste IN FRAME gPreislisteKunde
  372. DO:
  373. APPLY 'TAB' TO SELF.
  374. RETURN NO-APPLY.
  375. END.
  376. /* _UIB-CODE-BLOCK-END */
  377. &ANALYZE-RESUME
  378. &Scoped-define SELF-NAME Warengruppen
  379. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Warengruppen gPreislisteKunde
  380. ON HELP OF Warengruppen IN FRAME gPreislisteKunde /* Warengruppen */
  381. DO:
  382. RUN g-auswahl-wgr.w ( INPUT SELF:HANDLE ).
  383. APPLY 'END' TO SELF.
  384. END.
  385. /* _UIB-CODE-BLOCK-END */
  386. &ANALYZE-RESUME
  387. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Warengruppen gPreislisteKunde
  388. ON RIGHT-MOUSE-CLICK OF Warengruppen IN FRAME gPreislisteKunde /* Warengruppen */
  389. DO:
  390. RUN g-auswahl-wgr.w ( INPUT SELF:HANDLE ).
  391. APPLY 'END' TO SELF.
  392. END.
  393. /* _UIB-CODE-BLOCK-END */
  394. &ANALYZE-RESUME
  395. &UNDEFINE SELF-NAME
  396. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gPreislisteKunde
  397. /* *************************** Main Block *************************** */
  398. MaxPage = 1.
  399. AktSeite = 1.
  400. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  401. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  402. ProgName = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.') NO-ERROR.
  403. GET-KEY-VALUE SECTION 'FwSteuer' KEY 'FwSprcd' VALUE RetVal.
  404. IF RetVal = ? THEN RetVal = '1'.
  405. FwSprcd = INTEGER(RetVal) NO-ERROR.
  406. cPath = DYNAMIC-FUNCTION ('getFehlwert':U, Firma, 'HOGAPATH') NO-ERROR.
  407. SESSION:DATA-ENTRY-RETURN = TRUE.
  408. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  409. /* TRIGGERS ------------------------------------------------------ */
  410. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  411. DO:
  412. RUN NEXTPAGE.
  413. END.
  414. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  415. DO:
  416. RUN PREVPAGE.
  417. END.
  418. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  419. DO:
  420. RUN ENTRY_CURSOR.
  421. END.
  422. /*
  423. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  424. DO:
  425. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  426. END.
  427. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  428. DO:
  429. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  430. END.
  431. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  432. DO:
  433. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  434. END.
  435. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  436. DO:
  437. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  438. END.
  439. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  440. DO:
  441. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  442. END.
  443. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  444. DO:
  445. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  446. END.
  447. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  448. DO:
  449. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  450. END.
  451. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  452. DO:
  453. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  454. END.
  455. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  456. DO:
  457. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  458. END.
  459. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  460. DO:
  461. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  462. IF FMutFlag = FALSE THEN DO:
  463. RUN ENDE.
  464. RETURN NO-APPLY.
  465. END.
  466. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  467. RETURN NO-APPLY.
  468. END.
  469. */
  470. /* ------------------------------------------------------------------ */
  471. {src/adm2/dialogmn.i}
  472. /* _UIB-CODE-BLOCK-END */
  473. &ANALYZE-RESUME
  474. /* ********************** Internal Procedures *********************** */
  475. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gPreislisteKunde _ADM-CREATE-OBJECTS
  476. PROCEDURE adm-create-objects :
  477. /*------------------------------------------------------------------------------
  478. Purpose: Create handles for all SmartObjects used in this procedure.
  479. After SmartObjects are initialized, then SmartLinks are added.
  480. Parameters: <none>
  481. ------------------------------------------------------------------------------*/
  482. END PROCEDURE.
  483. /* _UIB-CODE-BLOCK-END */
  484. &ANALYZE-RESUME
  485. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEREINIGEN gPreislisteKunde
  486. PROCEDURE BEREINIGEN :
  487. /*------------------------------------------------------------------------------
  488. Purpose:
  489. Parameters: <none>
  490. Notes:
  491. ------------------------------------------------------------------------------*/
  492. DEFINE INPUT-OUTPUT PARAMETER ipString AS CHARACTER NO-UNDO.
  493. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  494. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  495. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  496. cString = ''.
  497. DO ix = 1 TO NUM-ENTRIES(ipString, ','):
  498. IF CString <> '' THEN cString = cString + ','.
  499. cString = cString + STRING(INTEGER(ENTRY(ix, ipString)),'999').
  500. END.
  501. ipString = cString.
  502. END PROCEDURE.
  503. /* _UIB-CODE-BLOCK-END */
  504. &ANALYZE-RESUME
  505. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gPreislisteKunde
  506. PROCEDURE changePage :
  507. /*------------------------------------------------------------------------------
  508. Purpose: Super Override
  509. Parameters:
  510. Notes:
  511. ------------------------------------------------------------------------------*/
  512. /* Code placed here will execute PRIOR to standard behavior. */
  513. RUN SUPER.
  514. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  515. CASE AktSeite:
  516. WHEN 1 THEN
  517. DO:
  518. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  519. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  520. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  521. RUN ENTRY_CURSOR.
  522. END.
  523. WHEN 2 THEN
  524. DO:
  525. RUN ENTRY_CURSOR.
  526. END.
  527. END CASE.
  528. END PROCEDURE.
  529. /* _UIB-CODE-BLOCK-END */
  530. &ANALYZE-RESUME
  531. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gPreislisteKunde _DEFAULT-DISABLE
  532. PROCEDURE disable_UI :
  533. /*------------------------------------------------------------------------------
  534. Purpose: DISABLE the User Interface
  535. Parameters: <none>
  536. Notes: Here we clean-up the user-interface by deleting
  537. dynamic widgets we have created and/or hide
  538. frames. This procedure is usually called when
  539. we are ready to "clean-up" after running.
  540. ------------------------------------------------------------------------------*/
  541. /* Hide all frames. */
  542. HIDE FRAME gPreislisteKunde.
  543. END PROCEDURE.
  544. /* _UIB-CODE-BLOCK-END */
  545. &ANALYZE-RESUME
  546. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gPreislisteKunde
  547. PROCEDURE enableObject :
  548. /*------------------------------------------------------------------------------
  549. Purpose: Super Override
  550. Parameters:
  551. Notes:
  552. ------------------------------------------------------------------------------*/
  553. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  554. RUN SUPER.
  555. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  556. RUN COMBO_HOGAGRP ( CB_Hogagrp:HANDLE ).
  557. cString = 'Alle Gruppen;999999;' + CB_Hogagrp:LIST-ITEM-PAIRS.
  558. CB_Hogagrp:LIST-ITEM-PAIRS = cString.
  559. RUN LESENFWAUSWERTUNGEN ( INPUT ProgName,
  560. INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ).
  561. Preisdatum:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(TODAY).
  562. END PROCEDURE.
  563. /* _UIB-CODE-BLOCK-END */
  564. &ANALYZE-RESUME
  565. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gPreislisteKunde _DEFAULT-ENABLE
  566. PROCEDURE enable_UI :
  567. /*------------------------------------------------------------------------------
  568. Purpose: ENABLE the User Interface
  569. Parameters: <none>
  570. Notes: Here we display/view/enable the widgets in the
  571. user-interface. In addition, OPEN all queries
  572. associated with each FRAME and BROWSE.
  573. These statements here are based on the "Other
  574. Settings" section of the widget Property Sheets.
  575. ------------------------------------------------------------------------------*/
  576. DISPLAY T_Kundendaten CB_Hogagrp Hersteller Warengruppen Preisdatum VonArtnr
  577. BisArtnr R_Preisliste T_Artikeldaten T_Preise
  578. WITH FRAME gPreislisteKunde.
  579. ENABLE T_Kundendaten CB_Hogagrp Hersteller Warengruppen Preisdatum VonArtnr
  580. BisArtnr R_Preisliste Btn_Excel T_Artikeldaten T_Preise RECT-37
  581. WITH FRAME gPreislisteKunde.
  582. VIEW FRAME gPreislisteKunde.
  583. {&OPEN-BROWSERS-IN-QUERY-gPreislisteKunde}
  584. END PROCEDURE.
  585. /* _UIB-CODE-BLOCK-END */
  586. &ANALYZE-RESUME
  587. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gPreislisteKunde
  588. PROCEDURE ENDE :
  589. /*------------------------------------------------------------------------------
  590. Purpose:
  591. Parameters: <none>
  592. Notes:
  593. ------------------------------------------------------------------------------*/
  594. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  595. IF AktSeite > 1 THEN
  596. DO:
  597. RUN selectPage ( INPUT 1 ).
  598. RETURN NO-APPLY.
  599. END.
  600. MESSAGE SUBSTITUTE('Die Daten wurden in das Verzeichnis &1 exportiert', cPath)
  601. VIEW-AS ALERT-BOX.
  602. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  603. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  604. RETURN NO-APPLY.
  605. END PROCEDURE.
  606. /* _UIB-CODE-BLOCK-END */
  607. &ANALYZE-RESUME
  608. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gPreislisteKunde
  609. PROCEDURE ENTRY_CURSOR :
  610. /*------------------------------------------------------------------------------
  611. Purpose:
  612. Parameters: <none>
  613. Notes:
  614. ------------------------------------------------------------------------------*/
  615. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  616. CASE AktSeite:
  617. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  618. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  619. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  620. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  621. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  622. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  623. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  624. END CASE.
  625. RETURN NO-APPLY.
  626. END PROCEDURE.
  627. /* _UIB-CODE-BLOCK-END */
  628. &ANALYZE-RESUME
  629. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gPreislisteKunde
  630. PROCEDURE exitObject :
  631. /*------------------------------------------------------------------------------
  632. Purpose: Super Override
  633. Parameters:
  634. Notes:
  635. ------------------------------------------------------------------------------*/
  636. RUN ENDE.
  637. RETURN NO-APPLY.
  638. END PROCEDURE.
  639. /* _UIB-CODE-BLOCK-END */
  640. &ANALYZE-RESUME
  641. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gPreislisteKunde
  642. PROCEDURE NEXTPAGE :
  643. /*------------------------------------------------------------------------------
  644. Purpose:
  645. Parameters: <none>
  646. Notes:
  647. ------------------------------------------------------------------------------*/
  648. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  649. IF AktSeite = MaxPage THEN AktSeite = 1.
  650. ELSE AktSeite = AktSeite + 1.
  651. RUN selectPage ( INPUT AktSeite ).
  652. END PROCEDURE.
  653. /* _UIB-CODE-BLOCK-END */
  654. &ANALYZE-RESUME
  655. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gPreislisteKunde
  656. PROCEDURE PREVPAGE :
  657. /*------------------------------------------------------------------------------
  658. Purpose:
  659. Parameters: <none>
  660. Notes:
  661. ------------------------------------------------------------------------------*/
  662. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  663. IF AktSeite = 1 THEN AktSeite = MaxPage.
  664. ELSE AktSeite = AktSeite - 1.
  665. RUN selectPage ( INPUT AktSeite ).
  666. END PROCEDURE.
  667. /* _UIB-CODE-BLOCK-END */
  668. &ANALYZE-RESUME
  669. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gPreislisteKunde
  670. PROCEDURE REPORT :
  671. /*------------------------------------------------------------------------------*/
  672. /* Purpose: */
  673. /* Parameters: <none> */
  674. /* Notes: */
  675. /*------------------------------------------------------------------------------*/
  676. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  677. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  678. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  679. DEFINE VARIABLE Netto AS LOG NO-UNDO.
  680. DEFINE VARIABLE Alk AS CHARACTER NO-UNDO.
  681. DEFINE VARIABLE Preis AS CHARACTER NO-UNDO.
  682. DEFINE VARIABLE xWgr AS CHARACTER NO-UNDO.
  683. DEFINE VARIABLE xPgr AS CHARACTER NO-UNDO.
  684. DEFINE VARIABLE xAgr AS CHARACTER NO-UNDO.
  685. DEFINE VARIABLE xHer AS CHARACTER NO-UNDO.
  686. DEFINE VARIABLE cDel AS CHARACTER NO-UNDO.
  687. DEFINE VARIABLE cGeb AS CHARACTER NO-UNDO.
  688. DEFINE VARIABLE cGebInhalt AS CHARACTER NO-UNDO.
  689. DEFINE VARIABLE cGebBez AS CHARACTER NO-UNDO.
  690. DEFINE VARIABLE cHeadImport AS CHARACTER NO-UNDO.
  691. DEFINE VARIABLE cHeadCustomer AS CHARACTER NO-UNDO.
  692. DEFINE VARIABLE cHeadCategories AS CHARACTER NO-UNDO.
  693. DEFINE VARIABLE cHeadPrices AS CHARACTER NO-UNDO.
  694. DEFINE VARIABLE cHeadSelling AS CHARACTER NO-UNDO.
  695. DEFINE VARIABLE cHeadOrder AS CHARACTER NO-UNDO.
  696. DEFINE VARIABLE cKatId AS CHARACTER NO-UNDO.
  697. DEFINE VARIABLE cPreisGrp AS CHARACTER NO-UNDO.
  698. DEFINE VARIABLE ja AS LOG NO-UNDO.
  699. DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
  700. DEFINE VARIABLE Vorlage AS CHARACTER NO-UNDO.
  701. DEFINE VARIABLE Dokument AS CHARACTER NO-UNDO.
  702. DEFINE VARIABLE Daten AS CHARACTER NO-UNDO.
  703. DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
  704. DEFINE VARIABLE Zeile AS INTEGER NO-UNDO.
  705. cHeadImport = 'Name in DE&1Name in FR&1Name in IT&1Name in EN&1Supplier s Product ID&1Pre supplier&1EAN Codes&1Currency&1Not in use 9&1Not in use 10&1Category&1Base unit&1Price per base unit&1Quantity per selling unit&1Sale price per base unit&1'
  706. + 'Not in use 16&1Sale valid to&1Product type&1Packing size&1Selling unit name&1Not in use 21&1Not in use 22&1Not in use 23&1Not in use 24&1Netto weight&1Dry weight&1Not in use 27&1Recipe unit&1Available&1Delete&1HTML DE&1Not in use 32&1'
  707. + 'Image&1Sale valid from&1Novelty&1Novelty valid to&1New price&1Price valid to&1Not in use 39&1Last order time&1Amount of preparation days&1Not in use 42&1HTML EN&1HTML FR&1HTML IT&1Attachments DE&1Attachments EN&1Attachments FR&1Attachments IT&1'
  708. + 'Stock amount&1Recommended retail price&1Minimal stock amount&1Not in use 53&1Product without price&1Price valid from&1Attributes&1VAT Data&1pool ID&1Services&1Consumer unit&1Consumer units per base&1unitProduct_DE;Product_FR;Product_IT;Product_EN'.
  709. cHeadCustomer = 'Customer_Id&1Manual_Id&1Group_Id&1Minimal_amount&1Shipping_price'.
  710. cHeadCategories = 'Category Id&1Parent Id&1Name De&1Name Fr&1Name It&1Name En'.
  711. cHeadPrices = 'Supplier Product ID&1Price group&1Base price&1Valid from&1Valid to&1Type&1Minimal amount'.
  712. cHeadSelling = 'Article Number&1Code&1Quantity&1Is Default'.
  713. cHeadOrder = 'Feld1&1Feld2&1Feld3&1Feld4&1Feld5&1Feld6&1Feld7&1Feld8&1Feld9&1Feld10&1Feld11&1Feld12'.
  714. cDel = CHR(09).
  715. DO WITH FRAME {&FRAME-NAME}:
  716. ASSIGN {&List-6}.
  717. IF VonArtnr = 0 AND BisArtnr = 0 THEN BisArtnr = 999999.
  718. IF BisArtnr < VonArtnr THEN BisArtnr = VonArtnr.
  719. IF PreisDatum = ? THEN Preisdatum = TODAY.
  720. RUN BEREINIGEN ( INPUT-OUTPUT Hersteller ).
  721. RUN BEREINIGEN ( INPUT-OUTPUT Warengruppen ).
  722. iVerband = INTEGER(CB_Hogagrp:SCREEN-VALUE).
  723. DISPLAY {&List-6}.
  724. END.
  725. RUN SCHREIBENFWAUSWERTUNGEN ( INPUT ProgName,
  726. INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ).
  727. RUN SELEKTION.
  728. FIND FIRST tArtikel NO-LOCK NO-ERROR.
  729. IF NOT AVAILABLE tArtikel THEN RETURN.
  730. /* OUTPUT TO 'C:\LogFiles\Hogalog_Preise.csv'.*/
  731. /* FOR EACH tPreise: */
  732. /* EXPORT DELIMITER ';' tPreise. */
  733. /* END. */
  734. /* OUTPUT CLOSE. */
  735. IF T_Artikeldaten THEN
  736. DO:
  737. cDateiName = SUBSTITUTE('&1categories.csv', cPath).
  738. OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
  739. PUT CONTROL SUBSTITUTE(cHeadCategories, cDel) CHR(10).
  740. PUT CONTROL SUBSTITUTE('0000&1&1Beverages', cDel) CHR(10).
  741. /* ------------------------------------------------------ */
  742. /* Kategorien (Warengruppe, Produktegruppe, Artikelgruppe */
  743. /* ------------------------------------------------------ */
  744. FOR EACH WarenGrp NO-LOCK
  745. WHERE WarenGrp.Firma = Firma
  746. /* AND WarenGrp.Bez1 <> '' */
  747. /* AND WarenGrp.Bez1 <> '-0-'*/
  748. :
  749. FIND FIRST tArtikel NO-LOCK
  750. WHERE tArtikel.Wg_Grp = WarenGrp.Wgr NO-ERROR.
  751. IF NOT AVAILABLE tArtikel THEN NEXT.
  752. PUT CONTROL SUBSTITUTE('&2&1&3&1&4&1&5&1&6&1&7',
  753. cDel,
  754. STRING(WarenGrp.Wgr,'9999'),
  755. '0000',
  756. WarenGrp.Bez1, /* Deutsch */
  757. '', /* Französisch */
  758. '', /* Italienisch */
  759. '') /* Englisch */
  760. CHR(10).
  761. FOR EACH ProdGrp NO-LOCK
  762. WHERE ProdGrp.Firma = WarenGrp.Firma
  763. AND ProdGrp.Wgr = WarenGrp.Wgr
  764. AND ProdGrp.Bez1 <> ''
  765. AND ProdGrp.Bez1 <> '-0-':
  766. FIND FIRST tArtikel NO-LOCK
  767. WHERE tArtikel.Wg_Grp = ProdGrp.Wgr
  768. AND tArtikel.Prod_Grp = ProdGrp.Prod_Grp NO-ERROR.
  769. IF NOT AVAILABLE tArtikel THEN NEXT.
  770. PUT CONTROL SUBSTITUTE('&2&1&3&1&4&1&5&1&6&1&7',
  771. cDel,
  772. STRING(ProdGrp.Wgr,'9999') + STRING(ProdGrp.Prod_Grp,'9999'),
  773. STRING(ProdGrp.Wgr,'9999'),
  774. ProdGrp.Bez1, /* Deutsch */
  775. '', /* Französisch */
  776. '', /* Italienisch */
  777. '') /* Englisch */
  778. CHR(10).
  779. FOR EACH ArtikGrp NO-LOCK
  780. WHERE ArtikGrp.Firma = ProdGrp.Firma
  781. AND ArtikGrp.Wgr = ProdGrp.Wgr
  782. AND ArtikGrp.Prod_Grp = ProdGrp.Prod_Grp
  783. AND ArtikGrp.Bez1 <> ''
  784. AND ArtikGrp.Bez1 <> '-0-':
  785. FIND FIRST tArtikel NO-LOCK
  786. WHERE tArtikel.Wg_Grp = ArtikGrp.Wgr
  787. AND tArtikel.Prod_Grp = ArtikGrp.Prod_Grp
  788. AND tArtikel.Art_Grp = ArtikGrp.Art_Grp NO-ERROR.
  789. IF NOT AVAILABLE tArtikel THEN NEXT.
  790. PUT CONTROL SUBSTITUTE('&2&1&3&1&4&1&5&1&6&1&7',
  791. cDel,
  792. STRING(ArtikGrp.Wgr,'9999') + STRING(ArtikGrp.Prod_Grp,'9999') + STRING(ArtikGrp.Art_Grp ,'9999'),
  793. STRING(ArtikGrp.Wgr,'9999') + STRING(ArtikGrp.Prod_Grp,'9999'),
  794. ArtikGrp.Bez1, /* Deutsch */
  795. '', /* Französisch */
  796. '', /* Italienisch */
  797. '') /* Englisch */
  798. CHR(10).
  799. CREATE tCategory.
  800. ASSIGN
  801. tCategory.cWarenGrp = STRING(WarenGrp.Wgr ,'9999')
  802. tCategory.cProdGrp = STRING(ProdGrp.Prod_Grp,'9999')
  803. tCategory.cArtGrp = STRING(ArtikGrp.Art_Grp,'9999')
  804. tCategory.cKatId = tCategory.cWarenGrp
  805. + tCategory.cProdGrp
  806. + tCategory.cArtGrp.
  807. END.
  808. END.
  809. END.
  810. OUTPUT CLOSE.
  811. END.
  812. /* ------------------------------------------------------ */
  813. /* Kleingebinde und Verkaufsgebinde */
  814. /* ------------------------------------------------------ */
  815. IF T_Artikeldaten THEN
  816. DO:
  817. cDateiName = SUBSTITUTE('&1Selling_units.csv', cPath).
  818. OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
  819. PUT CONTROL SUBSTITUTE(cHeadSelling, cDel) CHR(10).
  820. FOR EACH tArtikel:
  821. FIND WarenGrp NO-LOCK
  822. WHERE WarenGrp.Firma = Firma
  823. AND WarenGrp.Wgr = tArtikel.Wg_Grp NO-ERROR.
  824. PUT CONTROL
  825. STRING(tArtikel.Artnr ,'999999')
  826. STRING(tArtikel.Inhalt,'9999')
  827. STRING(tArtikel.Jahr ,'9999') cDel
  828. tArtikel.VGebinde cDel
  829. tArtikel.VGeb_Inhalt cDel
  830. STRING(TRUE)
  831. CHR(10).
  832. IF WarenGrp.Int_2 = 0 THEN NEXT.
  833. DYNAMIC-FUNCTION('getVGebinde':U, VGebinde.Geb_Cd, OUTPUT cVGebinde, OUTPUT iVGebInhalt).
  834. PUT CONTROL
  835. STRING(tArtikel.Artnr ,'999999')
  836. STRING(tArtikel.Inhalt,'9999')
  837. STRING(tArtikel.Jahr ,'9999') cDel
  838. tArtikel.KGebinde cDel
  839. tArtikel.KGeb_Inhalt cDel
  840. STRING(FALSE)
  841. CHR(10).
  842. END.
  843. OUTPUT CLOSE.
  844. END.
  845. /* ------------------------------------------------------ */
  846. /* Artikel-Liste */
  847. /* ------------------------------------------------------ */
  848. IF T_Artikeldaten THEN
  849. DO:
  850. cDateiName = SUBSTITUTE('&1ImportListe.csv', cPath).
  851. OUTPUT TO Value(cDateiName) NO-MAP NO-CONVERT.
  852. PUT CONTROL SUBSTITUTE(cHeadImport, CHR(09)) CHR(10).
  853. FOR EACH tArtikel USE-INDEX tArtikel-k1 NO-LOCK
  854. BREAK
  855. BY tArtikel.Wg_Grp
  856. BY tArtikel.Prod_Grp
  857. BY tArtikel.Art_Grp
  858. BY tArtikel.Artnr
  859. BY tArtikel.Inhalt
  860. BY tArtikel.Jahr :
  861. IF NOT FIRST-OF ( tArtikel.Jahr ) THEN NEXT.
  862. cKatId = STRING(tArtikel.Wg_Grp,'9999')
  863. + STRING(tArtikel.Prod_Grp ,'9999')
  864. + STRING(tArtikel.Art_Grp ,'9999').
  865. FIND FIRST tCategory NO-LOCK
  866. WHERE tCategory.cKatId = cKatId NO-ERROR.
  867. IF NOT AVAILABLE tCategory THEN NEXT.
  868. FIND WarenGrp NO-LOCK
  869. WHERE WarenGrp.Firma = Firma
  870. AND WarenGrp.Wgr = tArtikel.Wg_Grp NO-ERROR.
  871. IF FIRST-OF ( tArtikel.Wg_Grp) THEN
  872. DO:
  873. RUN FIND_WARENGRP ( INPUT tArtikel.Wg_Grp, OUTPUT cString ).
  874. IF cString <> '?' AND
  875. cString <> '' THEN xWgr = ENTRY(2, cString, CHR(01)).
  876. ELSE xWgr = ''.
  877. xWgr = 'Beverages'.
  878. END.
  879. IF FIRST-OF ( tArtikel.Prod_Grp) THEN
  880. DO:
  881. RUN FIND_PRODGRP ( INPUT tArtikel.Wg_Grp,
  882. INPUT tArtikel.Prod_Grp, OUTPUT cString ).
  883. IF cString <> '?' AND
  884. cString <> '' THEN xPgr = ENTRY(2, cString, CHR(01)).
  885. ELSE xPgr = ''.
  886. END.
  887. IF FIRST-OF ( tArtikel.Art_Grp) THEN
  888. DO:
  889. RUN FIND_ARTIKGRP ( INPUT tArtikel.Wg_Grp,
  890. INPUT tArtikel.Prod_Grp,
  891. INPUT tArtikel.Art_Grp, OUTPUT cString ).
  892. IF cString <> '?' AND
  893. cString <> '' THEN xAgr = ENTRY(2, cString, CHR(01)).
  894. ELSE xAgr = ''.
  895. END.
  896. RUN FIND_HERSTELLER ( INPUT tArtikel.Herst, OUTPUT cString ).
  897. IF cString <> '?' AND
  898. cString <> '' THEN xHer = ENTRY(2, cString, CHR(01)).
  899. ELSE xHer = ''.
  900. PUT CONTROL
  901. tArtikel.Bez1 ' ' tArtikel.Bez2 cDel /* 01 */
  902. tArtikel.Bez1 ' ' tArtikel.Bez2 cDel /* 02 */
  903. tArtikel.Bez1 ' ' tArtikel.Bez2 cDel /* 03 */
  904. tArtikel.Bez1 ' ' tArtikel.Bez2 cDel /* 04 */
  905. STRING(tArtikel.Artnr ,'999999')
  906. STRING(tArtikel.Inhalt,'9999')
  907. STRING(tArtikel.Jahr ,'9999') cDel /* 05 */
  908. xHer cDel /* 06 */
  909. tArtikel.cEAN cDel /* 07 */
  910. 'CHF' cDel /* 08 */
  911. '' cDel /* 09 */
  912. '' cDel /* 10 */
  913. STRING(tArtikel.Wg_Grp ,'9999')
  914. STRING(tArtikel.Prod_Grp,'9999')
  915. STRING(tArtikel.Art_Grp ,'9999') cDel /* 11 */
  916. tArtikel.KGebinde cDel /* 12 */
  917. '#' cDel /* 13 */
  918. (IF WarenGrp.Int_2 = 1 THEN 1 ELSE tArtikel.VGeb_Inhalt) cDel /* 14 */
  919. '#' cDel /* 15 */
  920. '' cDel /* 16 */
  921. '#' cDel /* 17 */
  922. '3' cDel /* 18 */
  923. tArtikel.VGeb_Inhalt cDel /* 19 */
  924. tArtikel.VGebinde cDel /* 20 */
  925. '' cDel /* 21 */
  926. '' cDel /* 22 */
  927. '' cDel /* 23 */
  928. '' cDel /* 24 */
  929. '' cDel /* 25 */
  930. '' cDel /* 26 */
  931. '' cDel /* 27 */
  932. '' cDel /* 28 */
  933. '1' cDel /* 29 */
  934. (IF tArtikel.Aktiv AND tArtikel.Ausverk < 9 THEN '0' ELSE '1') cDel /* 30 */
  935. '' cDel /* 31 */
  936. '0' cDel /* 32 */
  937. tArtikel.cBildLink cDel /* 33 */
  938. '#' cDel /* 34 */
  939. '' cDel /* 35 */
  940. '' cDel /* 36 */
  941. '#' cDel /* 37 */
  942. '' cDel /* 38 */
  943. '' cDel /* 39 */
  944. '' cDel /* 40 */
  945. '' cDel /* 41 */
  946. '' cDel /* 42 */
  947. '' cDel /* 43 */
  948. '' cDel /* 44 */
  949. '' cDel /* 45 */
  950. '' cDel /* 46 */
  951. '' cDel /* 47 */
  952. '' cDel /* 48 */
  953. '' cDel /* 49 */
  954. '' cDel /* 50 */
  955. '#' cDel /* 51 */
  956. '' cDel /* 52 */
  957. '' cDel /* 53 */
  958. '0' cDel /* 54 */
  959. '#' cDel /* 55 */
  960. '' cDel /* 56 */
  961. '' cDel /* 57 */
  962. '' cDel /* 58 */
  963. '' cDel /* 59 */
  964. '' cDel /* 60 */
  965. '' cDel /* 61 */
  966. CHR(10).
  967. END.
  968. OUTPUT CLOSE.
  969. END.
  970. /* ------------------------------------------------------ */
  971. /* Kunden */
  972. /* ------------------------------------------------------ */
  973. IF T_Kundendaten THEN
  974. DO:
  975. cDateiName = SUBSTITUTE('&1customer_assign.csv', cPath).
  976. OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
  977. PUT CONTROL SUBSTITUTE(cHeadCustomer, CHR(09)) CHR(10).
  978. FOR EACH tDebitor:
  979. PUT CONTROL
  980. tDebitor.FremdKnr cDel
  981. TRIM(STRING(tDebitor.Knr,'>>>>>9')) cDel
  982. tDebitor.cGruppe cDel
  983. '0' cDel
  984. '0' CHR(10).
  985. END.
  986. OUTPUT CLOSE.
  987. END.
  988. /* ------------------------------------------------------ */
  989. /* Preise pro Preisgruppe (eigentlich pro Kunde) */
  990. /* ------------------------------------------------------ */
  991. IF T_Preise THEN
  992. DO:
  993. cDateiName = SUBSTITUTE('&1prices.csv', cPath).
  994. OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
  995. PUT CONTROL SUBSTITUTE(cHeadPrices, CHR(09)) CHR(10).
  996. FOR EACH tPreise
  997. BREAK
  998. BY tPreise.Preis_Grp
  999. BY tPreise.Artnr
  1000. BY tPreise.Inhalt
  1001. BY tPreise.Jahr
  1002. BY tPreise.Knr :
  1003. IF FIRST-OF (tPreise.Preis_Grp) THEN
  1004. DO:
  1005. cPreisGrp = STRING(tPreise.Preis_Grp,'999').
  1006. RUN FIND_PREISGRUPPE ( INPUT Debst.Preis_Grp, OUTPUT cString ).
  1007. IF cString = '' THEN inkl = FALSE.
  1008. ELSE
  1009. DO:
  1010. IF INTEGER(ENTRY(3, cString, CHR(01))) = 1 THEN inkl = TRUE.
  1011. ELSE inkl = FALSE.
  1012. cPreisGrp = ENTRY(2, cString, CHR(01)).
  1013. END.
  1014. END.
  1015. PUT CONTROL
  1016. STRING(tPreise.Artnr ,'999999')
  1017. STRING(tPreise.Inhalt,'9999')
  1018. STRING(tPreise.Jahr ,'9999') cDel
  1019. (IF tPreise.Knr = 0 THEN cPreisGrp ELSE STRING(tPreise.Knr,'999999')) cDel
  1020. TRIM(STRING(tPreise.Preis,'>>>9.99')) cDel
  1021. STRING(tPreise.ab_Datum,'99.99.9999') cDel
  1022. (IF tPreise.bis_Datum <> ? THEN STRING(tPreise.bis_Datum,'99.99.9999') ELSE '') cDel
  1023. STRING(tPreise.lAktion,'1/0') cDel
  1024. '0' CHR(10).
  1025. END.
  1026. OUTPUT CLOSE.
  1027. END.
  1028. /* ------------------------------------------------------ */
  1029. /* Favoriten/Berstellvorschlag */
  1030. /* ------------------------------------------------------ */
  1031. /* IF T_Kundendaten THEN*/
  1032. /* DO: */
  1033. cDateiName = SUBSTITUTE('&1ImportOrderList.csv', cPath).
  1034. OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
  1035. PUT CONTROL SUBSTITUTE(cHeadOrder, CHR(09)) CHR(10).
  1036. FOR EACH tOrder:
  1037. PUT CONTROL
  1038. TRIM(STRING(tOrder.iKnr,'>>>>>9')) cDel
  1039. TRIM(STRING(tOrder.iSupplierList,'>9')) cDel
  1040. tOrder.cName cDel
  1041. tOrder.cArtnr cDel
  1042. TRIM(STRING(tOrder.iDelProd,'>9')) cDel
  1043. TRIM(STRING(tOrder.iDelList,'>9')) cDel
  1044. '0' cDel
  1045. TRIM(STRING(tOrder.iPos,'>>>9')) cDel
  1046. tOrder.cGroup cDel
  1047. '' cDel
  1048. '0' cDel
  1049. '' CHR(10).
  1050. END.
  1051. OUTPUT CLOSE.
  1052. /* END.*/
  1053. END PROCEDURE.
  1054. /* _UIB-CODE-BLOCK-END */
  1055. &ANALYZE-RESUME
  1056. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gPreislisteKunde
  1057. PROCEDURE selectPage :
  1058. /*------------------------------------------------------------------------------
  1059. Purpose: Super Override
  1060. Parameters:
  1061. Notes:
  1062. ------------------------------------------------------------------------------*/
  1063. DEFINE INPUT PARAMETER piPageNum AS INTEGER NO-UNDO.
  1064. DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
  1065. DEFINE VARIABLE MutProg AS CHARACTER NO-UNDO.
  1066. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  1067. DO WHILE TRUE:
  1068. IF NOT FMutFlag THEN LEAVE.
  1069. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  1070. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  1071. RETURN NO-APPLY.
  1072. END.
  1073. CASE piPageNum:
  1074. END CASE.
  1075. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  1076. CASE AktSeite:
  1077. WHEN 1 THEN
  1078. DO:
  1079. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  1080. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  1081. END.
  1082. END CASE.
  1083. RUN SUPER( INPUT piPageNum).
  1084. END PROCEDURE.
  1085. /* _UIB-CODE-BLOCK-END */
  1086. &ANALYZE-RESUME
  1087. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION gPreislisteKunde
  1088. PROCEDURE SELEKTION :
  1089. /*------------------------------------------------------------------------------*/
  1090. /* Purpose: */
  1091. /* Parameters: <none> */
  1092. /* Notes: */
  1093. /*------------------------------------------------------------------------------*/
  1094. DEFINE VARIABLE Sprcd AS INTEGER NO-UNDO.
  1095. DEFINE VARIABLE FwPreis_Grp AS INTEGER NO-UNDO.
  1096. DEFINE VARIABLE NoPreis_Grp AS INTEGER NO-UNDO.
  1097. DEFINE VARIABLE AbPreis_Grp AS INTEGER NO-UNDO.
  1098. DEFINE VARIABLE Preis_Grp AS INTEGER NO-UNDO.
  1099. DEFINE VARIABLE Zei_Rab_Art AS INTEGER NO-UNDO.
  1100. DEFINE VARIABLE Zei_Rab_Wert AS DECIMAL DECIMALS 3 NO-UNDO.
  1101. DEFINE VARIABLE Preis AS DECIMAL DECIMALS 4 NO-UNDO.
  1102. DEFINE VARIABLE RabAr AS INTEGER NO-UNDO.
  1103. DEFINE VARIABLE RabPr AS DECIMAL DECIMALS 3 NO-UNDO.
  1104. DEFINE VARIABLE RabFr AS DECIMAL DECIMALS 3 NO-UNDO.
  1105. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1106. DEFINE VARIABLE FAbweich AS LOG NO-UNDO.
  1107. DEFINE VARIABLE FSpezPreis AS INTEGER NO-UNDO.
  1108. DEFINE VARIABLE NettoRab AS INTEGER NO-UNDO.
  1109. DEFINE VARIABLE FwPreisGrp AS INTEGER NO-UNDO.
  1110. DEFINE VARIABLE iNummer AS INTEGER NO-UNDO.
  1111. DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
  1112. DEFINE VARIABLE lPreisgrp AS LOGICAL NO-UNDO.
  1113. DEFINE VARIABLE cVerband AS CHARACTER NO-UNDO.
  1114. DEFINE VARIABLE cPreisGrp AS CHARACTER NO-UNDO.
  1115. DEFINE VARIABLE rbas_tPreise AS RECID NO-UNDO.
  1116. DEFINE VARIABLE rakt_tPreise AS RECID NO-UNDO.
  1117. Sprcd = 1.
  1118. FwPreis_Grp = DYNAMIC-FUNCTION('GETFWPREISGRP':U) NO-ERROR.
  1119. NettoRab = DYNAMIC-FUNCTION('GETFWNETTORAB':U) NO-ERROR.
  1120. EMPTY TEMP-TABLE tDebitor .
  1121. EMPTY TEMP-TABLE tArtikel .
  1122. EMPTY TEMP-TABLE tArtikGrp.
  1123. EMPTY TEMP-TABLE tOrder .
  1124. FIND Steuer NO-LOCK
  1125. WHERE Steuer.Firma = Firma NO-ERROR.
  1126. FwPreisGrp = Steuer.Fwi14.
  1127. FOR EACH Artst NO-LOCK USE-INDEX Artst-k1
  1128. WHERE Artst.Firma = Firma
  1129. AND Artst.Artnr >= VonArtnr
  1130. AND Artst.Artnr <= BisArtnr
  1131. AND Artst.eShop = TRUE
  1132. AND ((R_Preisliste = 1) OR
  1133. (R_Preisliste = 2 AND
  1134. Artst.Preisliste = TRUE) OR
  1135. (R_Preisliste = 3 AND
  1136. Artst.Preisliste = FALSE))
  1137. AND ((Warengruppen = '') OR
  1138. (Warengruppen <> '' AND
  1139. LOOKUP(STRING(Artst.Wg_Grp,"999"), Warengruppen, ',') > 0))
  1140. AND ((Hersteller = '') OR
  1141. (Hersteller <> '' AND
  1142. LOOKUP(STRING(Artst.Herst,"999"), Hersteller , ',') > 0))
  1143. AND Artst.Aktiv = TRUE
  1144. AND Artst.Ausverk < 9
  1145. ,
  1146. FIRST Artbez NO-LOCK OF Artst:
  1147. IF Artbez.Bez1 = '' AND
  1148. Artst.Bez = '' THEN NEXT.
  1149. lRetVal = DYNAMIC-FUNCTION ('getVGebinde':U, Artst.VGeb_Cd, OUTPUT cVGebinde, OUTPUT iVGebInhalt) NO-ERROR.
  1150. IF NOT lRetVal THEN NEXT.
  1151. IF iVGebInhalt = 0 THEN NEXT.
  1152. lRetVal = DYNAMIC-FUNCTION ('getKGebinde':U, Artst.KGeb_Cd, OUTPUT cKGebinde, OUTPUT iKGebInhalt) NO-ERROR.
  1153. IF NOT lRetVal THEN NEXT.
  1154. IF iKGebInhalt = 0 THEN NEXT.
  1155. CREATE tArtikel.
  1156. BUFFER-COPY Artst TO tArtikel
  1157. ASSIGN
  1158. tArtikel.Bez1 = Artbez.Bez1
  1159. tArtikel.Bez2 = Artbez.Bez2
  1160. tArtikel.KGebinde = cKGebinde
  1161. tArtikel.KGeb_Inhalt = iKGebInhalt
  1162. tArtikel.VGebinde = cVGebinde
  1163. tArtikel.VGeb_Inhalt = iVGebInhalt.
  1164. IF tArtikel.Bez1 = '' THEN tArtikel.Bez1 = Artst.Bez.
  1165. FIND FIRST ArtLief NO-LOCK
  1166. WHERE ArtLief.Firma = Artst.Firma
  1167. AND ArtLief.Artnr = Artst.Artnr
  1168. AND ArtLief.Inhalt = Artst.Inhalt
  1169. AND ArtLief.Jahr = Artst.Jahr
  1170. AND ArtLief.Strichcode_KGeb <> '' NO-ERROR.
  1171. IF AVAILABLE ArtLief THEN tArtikel.cEAN = ArtLief.Strichcode_KGeb.
  1172. IF tArtikel.cEAN <> '' THEN tArtikel.cBildLink = SUBSTITUTE('https://produkte.huber-getraenke.ch/&1_1.png', tArtikel.cEAN).
  1173. END.
  1174. FOR EACH WarenGrp NO-LOCK
  1175. WHERE WarenGrp.Firma = Firma,
  1176. EACH ProdGrp OF WarenGrp NO-LOCK,
  1177. EACH ArtikGrp OF ProdGrp NO-LOCK:
  1178. FIND FIRST tArtikel
  1179. WHERE tArtikel.Wg_Grp = ArtikGrp.Wgr
  1180. AND tArtikel.Prod_Grp = ArtikGrp.Prod_Grp
  1181. AND tArtikel.Art_Grp = ArtikGrp.Art_Grp NO-ERROR.
  1182. IF NOT AVAILABLE tArtikel THEN NEXT.
  1183. IF ProdGrp.Bez1 = '' THEN NEXT.
  1184. IF ProdGrp.Bez1 = '-0-' THEN NEXT.
  1185. iNummer = INTEGER(ProdGrp.Bez1) NO-ERROR.
  1186. IF NOT ERROR-STATUS:ERROR THEN NEXT.
  1187. IF iNummer = 0 THEN NEXT.
  1188. CREATE tArtikGrp.
  1189. BUFFER-COPY ArtikGrp TO tArtikGrp
  1190. ASSIGN
  1191. tArtikGrp.Dec_1 = 0
  1192. tArtikGrp.cWgr = WarenGrp.Bez1
  1193. tArtikGrp.cPgr = ProdGrp.Bez1.
  1194. END.
  1195. EMPTY TEMP-TABLE tPreise.
  1196. FOR EACH Tabel NO-LOCK
  1197. WHERE Tabel.Firma = Firma
  1198. AND Tabel.Recart = 'HOGAUSER'
  1199. AND Tabel.Sprcd = 1
  1200. AND Tabel.Int_1 > 0
  1201. AND Tabel.Flag_1 = TRUE
  1202. AND ((iVerband = 999999)
  1203. OR (iVerband <> 999999 AND
  1204. Tabel.CodeC = STRING(iVerband,'999999'))
  1205. ),
  1206. FIRST Debst NO-LOCK
  1207. WHERE Debst.Firma = Firma
  1208. AND Debst.Knr = Tabel.Int_1
  1209. AND Debst.Aktiv = TRUE
  1210. :
  1211. RUN FIND_PREISGRUPPE ( INPUT Debst.Preis_Grp, OUTPUT cString ).
  1212. IF cString = '' THEN inkl = FALSE.
  1213. ELSE
  1214. DO:
  1215. IF INTEGER(ENTRY(3, cString, CHR(01))) = 1 THEN inkl = TRUE.
  1216. ELSE inkl = FALSE.
  1217. END.
  1218. cPreisGrp = ENTRY(2, cString, CHR(01)).
  1219. lPreisGrp = FALSE.
  1220. CREATE tDebitor.
  1221. ASSIGN
  1222. tDebitor.Knr = Debst.Knr
  1223. tDebitor.FremdKnr = STRING(Tabel.Int_2,'>>>>>>>>>')
  1224. tDebitor.cGruppe = cPreisGrp.
  1225. FOR EACH tArtikel:
  1226. FIND KGebinde NO-LOCK
  1227. WHERE KGebinde.Firma = Firma
  1228. AND KGebinde.Geb_Cd = tArtikel.KGeb_Cd NO-ERROR.
  1229. FIND LAST ArtPreis NO-LOCK
  1230. WHERE ArtPreis.Firma = Firma
  1231. AND ArtPreis.Artnr = tArtikel.Artnr
  1232. AND ArtPreis.Inhalt = tArtikel.Inhalt
  1233. AND ArtPreis.Jahr = tArtikel.Jahr
  1234. AND ArtPreis.Preis_Grp = Debst.Preis_Grp
  1235. AND ArtPreis.Ab_Datum <= PreisDatum
  1236. AND ArtPreis.Aktion = FALSE NO-ERROR.
  1237. IF NOT AVAILABLE ArtPreis THEN
  1238. DO:
  1239. DELETE tArtikel.
  1240. NEXT.
  1241. END.
  1242. rbas_tPreise = ?.
  1243. rakt_tPreise = ?.
  1244. FIND FIRST tPreise NO-LOCK
  1245. WHERE tPreise.Artnr = tArtikel.Artnr
  1246. AND tPreise.Inhalt = tArtikel.Inhalt
  1247. AND tPreise.Jahr = tArtikel.Jahr
  1248. AND tPreise.Knr = 0
  1249. AND tPreise.Preis_Grp = Debst.Preis_Grp
  1250. AND tPreise.lAktion = FALSE NO-ERROR.
  1251. IF NOT AVAILABLE tPreise THEN
  1252. DO:
  1253. CREATE tPreise.
  1254. ASSIGN
  1255. tPreise.Artnr = tArtikel.Artnr
  1256. tPreise.Inhalt = tArtikel.Inhalt
  1257. tPreise.Jahr = tArtikel.Jahr
  1258. tPreise.Knr = 0
  1259. tPreise.Preis_Grp = Debst.Preis_Grp
  1260. tPreise.lAktion = FALSE
  1261. tPreise.Preis = (IF inkl THEN ArtPreis.VK_Brutto ELSE ArtPreis.VK_Netto)
  1262. tPreise.ab_Datum = ArtPreis.Ab_Datum
  1263. tPreise.bis_Datum = ?.
  1264. END.
  1265. rbas_tPreise = RECID(tPreise).
  1266. Preis = tPreise.Preis.
  1267. FIND LAST AktPreis NO-LOCK
  1268. WHERE AktPreis.Firma = Firma
  1269. AND AktPreis.Artnr = tArtikel.Artnr
  1270. AND AktPreis.Inhalt = tArtikel.Inhalt
  1271. AND AktPreis.Jahr = tArtikel.Jahr
  1272. AND AktPreis.Grp = Debst.Preis_Grp
  1273. AND AktPreis.Ab_Datum <= PreisDatum
  1274. AND AktPreis.Bis_Datum >= PreisDatum NO-ERROR.
  1275. IF AVAILABLE AktPreis THEN
  1276. DO:
  1277. FIND FIRST tPreise NO-LOCK
  1278. WHERE tPreise.Artnr = tArtikel.Artnr
  1279. AND tPreise.Inhalt = tArtikel.Inhalt
  1280. AND tPreise.Jahr = tArtikel.Jahr
  1281. AND tPreise.Knr = 0
  1282. AND tPreise.Preis_Grp = Debst.Preis_Grp
  1283. AND tPreise.lAktion = TRUE NO-ERROR.
  1284. IF NOT AVAILABLE tPreise THEN
  1285. DO:
  1286. CREATE tPreise.
  1287. ASSIGN
  1288. tPreise.Artnr = tArtikel.Artnr
  1289. tPreise.Inhalt = tArtikel.Inhalt
  1290. tPreise.Jahr = tArtikel.Jahr
  1291. tPreise.Knr = 0
  1292. tPreise.Preis_Grp = Debst.Preis_Grp
  1293. tPreise.lAktion = TRUE
  1294. tPreise.ab_Datum = AktPreis.Ab_Datum
  1295. tPreise.bis_Datum = AktPreis.Bis_Datum.
  1296. CASE AktPreis.Art:
  1297. WHEN 0 THEN
  1298. tPreise.Preis = Preis - AktPreis.Wert.
  1299. WHEN 1 THEN
  1300. tPreise.Preis = (Preis * (100 - AktPreis.Wert) / 100).
  1301. END CASE.
  1302. END.
  1303. rakt_tPreise = RECID(tPreise).
  1304. END.
  1305. RELEASE bas_tPreise.
  1306. RELEASE akt_tPreise.
  1307. IF rbas_tPreise <> ? THEN FIND bas_tPreise NO-LOCK WHERE RECID(bas_tPreise) = rbas_tPreise.
  1308. IF rakt_tPreise <> ? THEN FIND akt_tPreise NO-LOCK WHERE RECID(akt_tPreise) = rakt_tPreise.
  1309. EMPTY TEMP-TABLE tAufze.
  1310. CREATE tAufze.
  1311. ASSIGN
  1312. tAufze.Firma = Firma
  1313. tAufze.Knr = Debst.Knr
  1314. tAufze.Artnr = tArtikel.Artnr
  1315. tAufze.Inhalt = tArtikel.Inhalt
  1316. tAufze.Jahr = tArtikel.Jahr
  1317. tAufze.iStatus = 0
  1318. tAufze.VGeb_Be = 1
  1319. tAufze.KGeb_Be = VGebinde.Inhalt
  1320. tAufze.MBest = tAufze.KGeb_Be
  1321. tAufze.MGeli = tAufze.KGeb_Be
  1322. tAufze.VGeb_Me = 1
  1323. tAufze.KGeb_Me = VGebinde.Inhalt
  1324. tAufze.Datum = bas_tPreise.ab_Datum + 1.
  1325. .
  1326. DYNAMIC-FUNCTION ('fillAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
  1327. FIND FIRST tAufze.
  1328. PreisArt = DYNAMIC-FUNCTION ('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
  1329. FIND FIRST tAufze.
  1330. IF tAufze.Preis <> bas_tPreise.Preis AND
  1331. PreisArt >= 0 THEN
  1332. DO:
  1333. CREATE tPreise.
  1334. ASSIGN
  1335. tPreise.Artnr = tArtikel.Artnr
  1336. tPreise.Inhalt = tArtikel.Inhalt
  1337. tPreise.Jahr = tArtikel.Jahr
  1338. tPreise.Knr = Debst.Knr
  1339. tPreise.Preis_Grp = Debst.Preis_Grp
  1340. tPreise.lAktion = FALSE
  1341. tPreise.ab_Datum = tAufze.Datum
  1342. tPreise.bis_Datum = ?
  1343. tPreise.Preis = tAufze.Preis.
  1344. IF NOT lPreisGrp THEN
  1345. DO:
  1346. tDebitor.cGruppe = tDebitor.cGruppe + ',' + string(Debst.Knr,'999999').
  1347. lPreisGrp = TRUE.
  1348. END.
  1349. END.
  1350. IF NOT AVAILABLE akt_tPreise THEN NEXT.
  1351. EMPTY TEMP-TABLE tAufze.
  1352. CREATE tAufze.
  1353. ASSIGN
  1354. tAufze.Firma = Firma
  1355. tAufze.Knr = Debst.Knr
  1356. tAufze.Artnr = tArtikel.Artnr
  1357. tAufze.Inhalt = tArtikel.Inhalt
  1358. tAufze.Jahr = tArtikel.Jahr
  1359. tAufze.iStatus = 0
  1360. tAufze.VGeb_Be = 1
  1361. tAufze.KGeb_Be = VGebinde.Inhalt
  1362. tAufze.MBest = tAufze.KGeb_Be
  1363. tAufze.MGeli = tAufze.KGeb_Be
  1364. tAufze.VGeb_Me = 1
  1365. tAufze.KGeb_Me = VGebinde.Inhalt
  1366. tAufze.Datum = akt_tPreise.ab_Datum + 1.
  1367. .
  1368. DYNAMIC-FUNCTION ('fillAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
  1369. FIND FIRST tAufze.
  1370. PreisArt = DYNAMIC-FUNCTION ('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
  1371. FIND FIRST tAufze.
  1372. IF tAufze.Preis <> akt_tPreise.Preis AND
  1373. PreisArt >= 5 AND
  1374. PreisArt <= 6 THEN
  1375. DO:
  1376. CREATE tPreise.
  1377. ASSIGN
  1378. tPreise.Artnr = tArtikel.Artnr
  1379. tPreise.Inhalt = tArtikel.Inhalt
  1380. tPreise.Jahr = tArtikel.Jahr
  1381. tPreise.Knr = Debst.Knr
  1382. tPreise.Preis_Grp = Debst.Preis_Grp
  1383. tPreise.lAktion = TRUE
  1384. tPreise.ab_Datum = akt_tPreise.ab_Datum
  1385. tPreise.bis_Datum = akt_tPreise.bis_Datum
  1386. tPreise.Preis = tAufze.Preis.
  1387. IF NOT lPreisGrp THEN
  1388. DO:
  1389. tDebitor.cGruppe = tDebitor.cGruppe + ',' + string(Debst.Knr,'999999').
  1390. lPreisGrp = TRUE.
  1391. END.
  1392. END.
  1393. END.
  1394. END.
  1395. FOR EACH tDebitor:
  1396. FOR EACH KunBest NO-LOCK
  1397. WHERE KunBest.Firma = Firma
  1398. AND KunBest.Knr = tDebitor.Knr:
  1399. FIND Artst NO-LOCK OF KunBest NO-ERROR.
  1400. IF NOT AVAILABLE Artst THEN NEXT.
  1401. FIND FIRST tArtikel USE-INDEX tArtikel-k2
  1402. WHERE tArtikel.Artnr = Artst.Artnr
  1403. AND tArtikel.Inhalt = Artst.Inhalt
  1404. AND tArtikel.Jahr = Artst.Jahr NO-ERROR.
  1405. IF NOT AVAILABLE tArtikel THEN NEXT.
  1406. CREATE tOrder.
  1407. ASSIGN
  1408. tOrder.iKnr = KunBest.Knr
  1409. tOrder.iPos = KunBest.Pos
  1410. tOrder.cArtnr = STRING(KunBest.Artnr ,'999999')
  1411. + STRING(KunBest.Inhalt,'9999')
  1412. + STRING(KunBest.Jahr ,'9999')
  1413. tOrder.cGroup = STRING(Artst.Wg_Grp ,'9999')
  1414. + STRING(Artst.Prod_Grp,'9999')
  1415. + STRING(Artst.Art_Grp ,'9999')
  1416. tOrder.iDelProd = (IF Artst.Aktiv AND Artst.Ausverk < 9 THEN 0 ELSE 1)
  1417. tOrder.cName = 'Favoriten'.
  1418. .
  1419. EMPTY TEMP-TABLE tAufze.
  1420. CREATE tAufze.
  1421. ASSIGN
  1422. tAufze.Firma = Firma
  1423. tAufze.Knr = KunBest.Knr
  1424. tAufze.Artnr = Artst.Artnr
  1425. tAufze.Inhalt = Artst.Inhalt
  1426. tAufze.Jahr = Artst.Jahr
  1427. tAufze.iStatus = 0
  1428. tAufze.VGeb_Be = 1
  1429. tAufze.KGeb_Be = 1
  1430. tAufze.MBest = 1
  1431. tAufze.MGeli = 1
  1432. tAufze.VGeb_Me = 1
  1433. tAufze.KGeb_Me = 1
  1434. tAufze.Datum = TODAY.
  1435. .
  1436. DYNAMIC-FUNCTION ('fillAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
  1437. FIND FIRST tAufze.
  1438. PreisArt = DYNAMIC-FUNCTION ('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
  1439. FIND FIRST tAufze.
  1440. ASSIGN
  1441. tOrder.nPreis = tAufze.Preis.
  1442. END.
  1443. END.
  1444. END PROCEDURE.
  1445. /* _UIB-CODE-BLOCK-END */
  1446. &ANALYZE-RESUME
  1447. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE STANDARD_PREIS gPreislisteKunde
  1448. PROCEDURE STANDARD_PREIS :
  1449. /*------------------------------------------------------------------------------
  1450. Purpose:
  1451. Parameters: <none>
  1452. Notes:
  1453. ------------------------------------------------------------------------------*/
  1454. DEFINE VARIABLE Sprcd AS INTEGER NO-UNDO.
  1455. DEFINE VARIABLE FwPreis_Grp AS INTEGER NO-UNDO.
  1456. DEFINE VARIABLE NoPreis_Grp AS INTEGER NO-UNDO.
  1457. DEFINE VARIABLE AbPreis_Grp AS INTEGER NO-UNDO.
  1458. DEFINE VARIABLE Preis_Grp AS INTEGER NO-UNDO.
  1459. DEFINE VARIABLE Zei_Rab_Art AS INTEGER NO-UNDO.
  1460. DEFINE VARIABLE Zei_Rab_Wert AS DECIMAL DECIMALS 3 NO-UNDO.
  1461. DEFINE VARIABLE Preis AS DECIMAL DECIMALS 4 NO-UNDO.
  1462. DEFINE VARIABLE RabAr AS INTEGER NO-UNDO.
  1463. DEFINE VARIABLE RabPr AS DECIMAL DECIMALS 3 NO-UNDO.
  1464. DEFINE VARIABLE RabFr AS DECIMAL DECIMALS 3 NO-UNDO.
  1465. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1466. DEFINE VARIABLE FAbweich AS LOG NO-UNDO.
  1467. DEFINE VARIABLE FSpezPreis AS INTEGER NO-UNDO.
  1468. DEFINE VARIABLE NettoRab AS INTEGER NO-UNDO.
  1469. DEFINE VARIABLE FwPreisGrp AS INTEGER NO-UNDO.
  1470. Sprcd = 1.
  1471. FwPreis_Grp = DYNAMIC-FUNCTION('GETFWPREISGRP':U) NO-ERROR.
  1472. NettoRab = DYNAMIC-FUNCTION('GETFWNETTORAB':U) NO-ERROR.
  1473. ASSIGN
  1474. NoPreis_Grp = FwPreis_Grp
  1475. Zei_Rab_Art = 0
  1476. Zei_Rab_Wert = 0.
  1477. RUN FIND_PREISGRUPPE ( INPUT NoPreis_Grp, OUTPUT cString ).
  1478. IF cString = '' THEN inkl = FALSE.
  1479. ELSE
  1480. DO:
  1481. IF INTEGER(ENTRY(3, cString, CHR(01))) = 1 THEN inkl = TRUE.
  1482. ELSE inkl = FALSE.
  1483. END.
  1484. FOR EACH tArtikel NO-LOCK:
  1485. Preis_Grp = NoPreis_Grp.
  1486. FSpezPreis = 0.
  1487. Preis = 0.
  1488. RabAr = Zei_Rab_Art.
  1489. RabPr = 0.
  1490. RabFr = 0.
  1491. IF RabAr = 1 THEN RabPr = + Zei_Rab_Wert.
  1492. IF RabAr = 2 THEN RabFr = + Zei_Rab_Wert.
  1493. IF RabAr = 3 THEN RabFr = - Zei_Rab_Wert.
  1494. IF RabAr <> 3 THEN
  1495. DO:
  1496. IF tArtikel.Netto THEN ASSIGN RabAr = 0
  1497. RabPr = 0
  1498. RabFr = 0.
  1499. END.
  1500. DO WHILE TRUE:
  1501. /* -------------------------------------------------------------- */
  1502. /* Artikelpreis ermittel mit entsprechender Preisgruppe */
  1503. /* -------------------------------------------------------------- */
  1504. FIND LAST ArtPreis USE-INDEX ArtPreis-k1
  1505. WHERE ArtPreis.Firma = Firma
  1506. AND ArtPreis.Artnr = tArtikel.Artnr
  1507. AND ArtPreis.Inhalt = tArtikel.Inhalt
  1508. AND ArtPreis.Jahr = tArtikel.Jahr
  1509. AND ArtPreis.Preis_Grp = Preis_Grp
  1510. AND ArtPreis.Aktion = FALSE
  1511. AND ArtPreis.Ab_Datum <= Preisdatum
  1512. NO-LOCK NO-ERROR.
  1513. DO WHILE TRUE:
  1514. IF AVAILABLE ArtPreis THEN LEAVE.
  1515. FIND LAST ArtPreis USE-INDEX ArtPreis-k1
  1516. WHERE ArtPreis.Firma = Firma
  1517. AND ArtPreis.Artnr = tArtikel.Artnr
  1518. AND ArtPreis.Inhalt = tArtikel.Inhalt
  1519. AND ArtPreis.Jahr = tArtikel.Jahr
  1520. AND ArtPreis.Preis_Grp = FwPreis_Grp
  1521. AND ArtPreis.Aktion = FALSE
  1522. AND ArtPreis.Ab_Datum <= Preisdatum
  1523. NO-LOCK NO-ERROR.
  1524. LEAVE.
  1525. END.
  1526. IF AVAILABLE ArtPreis THEN
  1527. DO:
  1528. IF Inkl THEN Preis = ArtPreis.VK_Brutto.
  1529. ELSE Preis = ArtPreis.VK_Netto.
  1530. END.
  1531. LEAVE.
  1532. END.
  1533. IF RabAr = 1 THEN Preis = Preis * (100 - RabPr) / 100.
  1534. IF RabAr = 2 THEN Preis = Preis - RabFr.
  1535. IF RabAr = 3 THEN Preis = Preis - RabFr.
  1536. IF inkl THEN RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Preis ).
  1537. tArtikel.Preis = Preis.
  1538. END.
  1539. END PROCEDURE.
  1540. /* _UIB-CODE-BLOCK-END */
  1541. &ANALYZE-RESUME
  1542. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gPreislisteKunde
  1543. PROCEDURE TOOLBAR :
  1544. /*------------------------------------------------------------------------------
  1545. Purpose:
  1546. Parameters: <none>
  1547. Notes:
  1548. ------------------------------------------------------------------------------*/
  1549. DEFINE INPUT PARAMETER pcAction AS CHARACTER NO-UNDO.
  1550. /*
  1551. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  1552. */
  1553. END PROCEDURE.
  1554. /* _UIB-CODE-BLOCK-END */
  1555. &ANALYZE-RESUME
  1556. /* ************************ Function Implementations ***************** */
  1557. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getKGebinde gPreislisteKunde
  1558. FUNCTION getKGebinde RETURNS LOGICAL
  1559. ( ipcGeb_Cd AS CHARACTER, OUTPUT opcGebinde AS CHARACTER, OUTPUT opiInhalt AS INTEGER ):
  1560. /*------------------------------------------------------------------------------
  1561. Purpose:
  1562. Notes:
  1563. ------------------------------------------------------------------------------*/
  1564. ASSIGN
  1565. opcGebinde = 'Fl'
  1566. opiInhalt = 1.
  1567. FIND KGebinde NO-LOCK
  1568. WHERE KGebinde.Firma = Firma
  1569. AND KGebinde.Geb_Cd = ipcGeb_Cd NO-ERROR.
  1570. IF NOT AVAILABLE KGebinde THEN RETURN FALSE.
  1571. DO WHILE TRUE:
  1572. opiInhalt = KGebinde.Inhalt.
  1573. IF INDEX(KGebinde.KBez, 'FL') > 0 THEN
  1574. DO:
  1575. ASSIGN
  1576. opcGebinde = 'Fl'.
  1577. LEAVE.
  1578. END.
  1579. IF INDEX(KGebinde.KBez, 'Port') > 0 THEN
  1580. DO:
  1581. ASSIGN
  1582. opcGebinde = 'Po'.
  1583. LEAVE.
  1584. END.
  1585. IF INDEX(KGebinde.KBez, 'DS') > 0 THEN
  1586. DO:
  1587. ASSIGN
  1588. opcGebinde = 'Ds'.
  1589. LEAVE.
  1590. END.
  1591. IF INDEX(KGebinde.KBez, 'TP') > 0 THEN
  1592. DO:
  1593. ASSIGN
  1594. opcGebinde = 'Tp'.
  1595. LEAVE.
  1596. END.
  1597. IF INDEX(KGebinde.Bez, 'PET') > 0 THEN
  1598. DO:
  1599. ASSIGN
  1600. opcGebinde = 'Pe'.
  1601. LEAVE.
  1602. END.
  1603. IF INDEX(KGebinde.KBez, 'Bech') > 0 THEN
  1604. DO:
  1605. ASSIGN
  1606. opcGebinde = 'Bec'.
  1607. LEAVE.
  1608. END.
  1609. IF INDEX(KGebinde.KBez, 'Tet') > 0 THEN
  1610. DO:
  1611. ASSIGN
  1612. opcGebinde = 'Tp'.
  1613. LEAVE.
  1614. END.
  1615. IF INDEX(KGebinde.KBez, 'Eis') > 0 THEN
  1616. DO:
  1617. ASSIGN
  1618. opcGebinde = 'Kg'.
  1619. LEAVE.
  1620. END.
  1621. IF INDEX(KGebinde.KBez, 'Elo') > 0 THEN
  1622. DO:
  1623. ASSIGN
  1624. opcGebinde = 'PAK'.
  1625. LEAVE.
  1626. END.
  1627. IF INDEX(KGebinde.KBez, 'EW') > 0 THEN
  1628. DO:
  1629. ASSIGN
  1630. opcGebinde = 'Ew'.
  1631. LEAVE.
  1632. END.
  1633. IF INDEX(KGebinde.Bez, 'Beut') > 0 THEN
  1634. DO:
  1635. ASSIGN
  1636. opcGebinde = 'BT'.
  1637. LEAVE.
  1638. END.
  1639. IF INDEX(KGebinde.KBez, 'Bech') > 0 THEN
  1640. DO:
  1641. ASSIGN
  1642. opcGebinde = 'Bec'.
  1643. LEAVE.
  1644. END.
  1645. IF INDEX(KGebinde.KBez, 'LT') > 0 THEN
  1646. DO:
  1647. ASSIGN
  1648. opcGebinde = 'Lt'.
  1649. LEAVE.
  1650. END.
  1651. RETURN FALSE.
  1652. END.
  1653. RETURN TRUE.
  1654. END FUNCTION.
  1655. /* _UIB-CODE-BLOCK-END */
  1656. &ANALYZE-RESUME
  1657. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getVGebinde gPreislisteKunde
  1658. FUNCTION getVGebinde RETURNS LOGICAL
  1659. ( ipcGeb_Cd AS CHARACTER, OUTPUT opcGebinde AS CHARACTER, OUTPUT opiInhalt AS INTEGER ):
  1660. /*------------------------------------------------------------------------------
  1661. Purpose:
  1662. Notes:
  1663. ------------------------------------------------------------------------------*/
  1664. ASSIGN
  1665. opcGebinde = 'Ha'
  1666. opiInhalt = 1.
  1667. FIND VGebinde NO-LOCK
  1668. WHERE VGebinde.Firma = Firma
  1669. AND VGebinde.Geb_Cd = ipcGeb_Cd NO-ERROR.
  1670. IF NOT AVAILABLE VGebinde THEN RETURN FALSE.
  1671. DO WHILE TRUE:
  1672. opiInhalt = VGebinde.Inhalt.
  1673. IF INDEX(VGebinde.KBez, 'Fass') > 0 THEN
  1674. DO:
  1675. ASSIGN
  1676. opcGebinde = 'Fa'.
  1677. LEAVE.
  1678. END.
  1679. IF INDEX(VGebinde.KBez, 'Har') > 0 THEN
  1680. DO:
  1681. ASSIGN
  1682. opcGebinde = 'Ha'.
  1683. LEAVE.
  1684. END.
  1685. IF INDEX(VGebinde.KBez, 'Car') > 0 OR
  1686. INDEX(VGebinde.KBez, 'Kar') > 0 THEN
  1687. DO:
  1688. ASSIGN
  1689. opcGebinde = 'K'.
  1690. LEAVE.
  1691. END.
  1692. IF INDEX(VGebinde.KBez, 'Bid') > 0 THEN
  1693. DO:
  1694. ASSIGN
  1695. opcGebinde = 'BID'.
  1696. LEAVE.
  1697. END.
  1698. IF INDEX(VGebinde.KBez, 'Prop') > 0 THEN
  1699. DO:
  1700. ASSIGN
  1701. opcGebinde = 'TA'.
  1702. LEAVE.
  1703. END.
  1704. IF INDEX(VGebinde.KBez, 'Con') > 0 THEN
  1705. DO:
  1706. ASSIGN
  1707. opcGebinde = 'CON'.
  1708. LEAVE.
  1709. END.
  1710. IF INDEX(VGebinde.KBez, 'Co2') > 0 THEN
  1711. DO:
  1712. ASSIGN
  1713. opcGebinde = 'CO2'.
  1714. LEAVE.
  1715. END.
  1716. IF INDEX(VGebinde.KBez, 'Bech') > 0 THEN
  1717. DO:
  1718. ASSIGN
  1719. opcGebinde = 'Bec'.
  1720. LEAVE.
  1721. END.
  1722. IF INDEX(VGebinde.KBez, 'Magnum') > 0 THEN
  1723. DO:
  1724. ASSIGN
  1725. opcGebinde = 'MAG'.
  1726. LEAVE.
  1727. END.
  1728. IF INDEX(VGebinde.KBez, 'Pack') > 0 OR
  1729. INDEX(VGebinde.KBez, 'Sixp') > 0 THEN
  1730. DO:
  1731. ASSIGN
  1732. opcGebinde = 'PAK'.
  1733. LEAVE.
  1734. END.
  1735. IF INDEX(VGebinde.KBez, 'Plast') > 0 THEN
  1736. DO:
  1737. ASSIGN
  1738. opcGebinde = 'Pla'.
  1739. LEAVE.
  1740. END.
  1741. IF INDEX(VGebinde.KBez, 'Gall') > 0 THEN
  1742. DO:
  1743. ASSIGN
  1744. opcGebinde = 'Gal'.
  1745. LEAVE.
  1746. END.
  1747. IF INDEX(VGebinde.KBez, 'Eis') > 0 THEN
  1748. DO:
  1749. ASSIGN
  1750. opcGebinde = 'Kg'.
  1751. LEAVE.
  1752. END.
  1753. IF INDEX(VGebinde.KBez, 'Bag') > 0 THEN
  1754. DO:
  1755. ASSIGN
  1756. opcGebinde = 'BT'.
  1757. LEAVE.
  1758. END.
  1759. IF INDEX(VGebinde.KBez, 'Glas') > 0 THEN
  1760. DO:
  1761. ASSIGN
  1762. opcGebinde = 'Gl'.
  1763. LEAVE.
  1764. END.
  1765. IF INDEX(VGebinde.KBez, 'Stand') > 0 THEN
  1766. DO:
  1767. ASSIGN
  1768. opcGebinde = 'Fl'.
  1769. LEAVE.
  1770. END.
  1771. IF INDEX(VGebinde.KBez, 'Rolle') > 0 THEN
  1772. DO:
  1773. ASSIGN
  1774. opcGebinde = 'Ro'.
  1775. LEAVE.
  1776. END.
  1777. IF INDEX(VGebinde.KBez, 'Shot') > 0 THEN
  1778. DO:
  1779. ASSIGN
  1780. opcGebinde = 'Sho'.
  1781. LEAVE.
  1782. END.
  1783. RETURN FALSE.
  1784. END.
  1785. RETURN TRUE.
  1786. END FUNCTION.
  1787. /* _UIB-CODE-BLOCK-END */
  1788. &ANALYZE-RESUME