g-bestellvorschlag.w 55 KB

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