g-artikel-lagerort.w 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gArtikelLagerort
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gArtikelLagerort
  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 BUFFER BArtst FOR Artst.
  38. DEF TEMP-TABLE TArtst FIELD Artnr AS INT
  39. FIELD Inhalt AS INT
  40. FIELD Jahr AS INT
  41. FIELD Herst AS INT
  42. FIELD Wgr AS INT
  43. FIELD LagOrt AS CHAR
  44. FIELD Bez AS CHAR
  45. FIELD cHerst AS CHAR
  46. FIELD cWgr AS CHAR
  47. FIELD Schluessel AS CHAR.
  48. /* _UIB-CODE-BLOCK-END */
  49. &ANALYZE-RESUME
  50. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  51. /* ******************** Preprocessor Definitions ******************** */
  52. &Scoped-define PROCEDURE-TYPE SmartDialog
  53. &Scoped-define DB-AWARE no
  54. &Scoped-define ADM-CONTAINER DIALOG-BOX
  55. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  56. /* Name of first Frame and/or Browse and/or first Query */
  57. &Scoped-define FRAME-NAME gArtikelLagerort
  58. /* Standard List Definitions */
  59. &Scoped-Define ENABLED-OBJECTS Hersteller Warengruppen VonArtnr BisArtnr ~
  60. R_Sort Btn_Excel RECT-37
  61. &Scoped-Define DISPLAYED-OBJECTS Hersteller Warengruppen VonArtnr BisArtnr ~
  62. R_Sort
  63. /* Custom List Definitions */
  64. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  65. &Scoped-define List-5 Btn_Excel
  66. &Scoped-define List-6 Hersteller Warengruppen VonArtnr BisArtnr R_Sort
  67. /* _UIB-PREPROCESSOR-BLOCK-END */
  68. &ANALYZE-RESUME
  69. /* *********************** Control Definitions ********************** */
  70. /* Define a dialog box */
  71. /* Definitions of the field level widgets */
  72. DEFINE BUTTON Btn_Excel
  73. IMAGE-UP FILE "grafik/results%.ico":U
  74. LABEL "Excel"
  75. SIZE 7 BY 2.
  76. DEFINE VARIABLE BisArtnr AS INTEGER FORMAT "999999":U INITIAL 999999
  77. VIEW-AS FILL-IN NATIVE
  78. SIZE 11 BY 1
  79. BGCOLOR 15 NO-UNDO.
  80. DEFINE VARIABLE Hersteller AS CHARACTER FORMAT "X(256)":U
  81. LABEL "Hersteller"
  82. VIEW-AS FILL-IN NATIVE
  83. SIZE 46 BY 1
  84. BGCOLOR 15 NO-UNDO.
  85. DEFINE VARIABLE VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  86. LABEL "von - bis Artikelnummer"
  87. VIEW-AS FILL-IN NATIVE
  88. SIZE 11 BY 1
  89. BGCOLOR 15 NO-UNDO.
  90. DEFINE VARIABLE Warengruppen AS CHARACTER FORMAT "X(256)":U
  91. LABEL "Warengruppen"
  92. VIEW-AS FILL-IN NATIVE
  93. SIZE 46 BY 1
  94. BGCOLOR 15 NO-UNDO.
  95. DEFINE VARIABLE R_Sort AS INTEGER INITIAL 1
  96. VIEW-AS RADIO-SET VERTICAL
  97. RADIO-BUTTONS
  98. "Artikelnummer", 1,
  99. "Suchbegriff", 2,
  100. "Lagerort", 3
  101. SIZE 45 BY 1.91 NO-UNDO.
  102. DEFINE RECTANGLE RECT-37
  103. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  104. SIZE 90 BY 6.19.
  105. /* ************************ Frame Definitions *********************** */
  106. DEFINE FRAME gArtikelLagerort
  107. Hersteller AT ROW 1.52 COL 28 COLON-ALIGNED
  108. Warengruppen AT ROW 2.52 COL 28 COLON-ALIGNED
  109. VonArtnr AT ROW 3.52 COL 28 COLON-ALIGNED
  110. BisArtnr AT ROW 3.52 COL 45 COLON-ALIGNED NO-LABEL
  111. R_Sort AT ROW 5 COL 30 NO-LABEL
  112. Btn_Excel AT ROW 2 COL 82.2
  113. RECT-37 AT ROW 1.24 COL 2
  114. SPACE(0.99) SKIP(0.42)
  115. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  116. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  117. TITLE "Artikel/Lagerorte".
  118. /* *********************** Procedure Settings ************************ */
  119. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  120. /* Settings for THIS-PROCEDURE
  121. Type: SmartDialog
  122. Allow: Basic,Browse,DB-Fields,Query,Smart
  123. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  124. Design Page: 1
  125. Other Settings: COMPILE
  126. */
  127. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  128. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gArtikelLagerort
  129. /* ************************* Included-Libraries *********************** */
  130. {src/adm2/containr.i}
  131. /* _UIB-CODE-BLOCK-END */
  132. &ANALYZE-RESUME
  133. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  134. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  135. /* SETTINGS FOR DIALOG-BOX gArtikelLagerort
  136. Custom */
  137. ASSIGN
  138. FRAME gArtikelLagerort:SCROLLABLE = FALSE
  139. FRAME gArtikelLagerort:HIDDEN = TRUE.
  140. /* SETTINGS FOR FILL-IN BisArtnr IN FRAME gArtikelLagerort
  141. 6 */
  142. /* SETTINGS FOR BUTTON Btn_Excel IN FRAME gArtikelLagerort
  143. 5 */
  144. /* SETTINGS FOR FILL-IN Hersteller IN FRAME gArtikelLagerort
  145. 6 */
  146. /* SETTINGS FOR RADIO-SET R_Sort IN FRAME gArtikelLagerort
  147. 6 */
  148. /* SETTINGS FOR FILL-IN VonArtnr IN FRAME gArtikelLagerort
  149. 6 */
  150. /* SETTINGS FOR FILL-IN Warengruppen IN FRAME gArtikelLagerort
  151. 6 */
  152. /* _RUN-TIME-ATTRIBUTES-END */
  153. &ANALYZE-RESUME
  154. /* Setting information for Queries and Browse Widgets fields */
  155. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gArtikelLagerort
  156. /* Query rebuild information for DIALOG-BOX gArtikelLagerort
  157. _Options = "SHARE-LOCK"
  158. _Query is NOT OPENED
  159. */ /* DIALOG-BOX gArtikelLagerort */
  160. &ANALYZE-RESUME
  161. /* ************************ Control Triggers ************************ */
  162. &Scoped-define SELF-NAME gArtikelLagerort
  163. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelLagerort gArtikelLagerort
  164. ON END-ERROR OF FRAME gArtikelLagerort /* Artikel/Lagerorte */
  165. DO:
  166. RUN ENDE.
  167. RETURN NO-APPLY.
  168. END.
  169. /* _UIB-CODE-BLOCK-END */
  170. &ANALYZE-RESUME
  171. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelLagerort gArtikelLagerort
  172. ON GO OF FRAME gArtikelLagerort /* Artikel/Lagerorte */
  173. DO:
  174. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  175. END.
  176. /* _UIB-CODE-BLOCK-END */
  177. &ANALYZE-RESUME
  178. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelLagerort gArtikelLagerort
  179. ON WINDOW-CLOSE OF FRAME gArtikelLagerort /* Artikel/Lagerorte */
  180. DO:
  181. RUN ENDE.
  182. RETURN NO-APPLY.
  183. END.
  184. /* _UIB-CODE-BLOCK-END */
  185. &ANALYZE-RESUME
  186. &Scoped-define SELF-NAME Btn_Excel
  187. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel gArtikelLagerort
  188. ON CHOOSE OF Btn_Excel IN FRAME gArtikelLagerort /* Excel */
  189. DO:
  190. DO WITH FRAME {&FRAME-NAME}:
  191. Btn_Excel:VISIBLE = FALSE.
  192. RUN REPORT.
  193. Btn_Excel:VISIBLE = TRUE.
  194. RUN ENDE.
  195. END.
  196. END.
  197. /* _UIB-CODE-BLOCK-END */
  198. &ANALYZE-RESUME
  199. &Scoped-define SELF-NAME Hersteller
  200. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Hersteller gArtikelLagerort
  201. ON HELP OF Hersteller IN FRAME gArtikelLagerort /* Hersteller */
  202. DO:
  203. RUN g-auswahl-tabelle.w ( INPUT SELF:HANDLE, INPUT 'HERST' ).
  204. APPLY 'END' TO SELF.
  205. END.
  206. /* _UIB-CODE-BLOCK-END */
  207. &ANALYZE-RESUME
  208. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Hersteller gArtikelLagerort
  209. ON LEFT-MOUSE-DBLCLICK OF Hersteller IN FRAME gArtikelLagerort /* Hersteller */
  210. DO:
  211. RUN g-auswahl-tabelle.w ( INPUT SELF:HANDLE, INPUT 'HERST' ).
  212. APPLY 'END' TO SELF.
  213. END.
  214. /* _UIB-CODE-BLOCK-END */
  215. &ANALYZE-RESUME
  216. &Scoped-define SELF-NAME Warengruppen
  217. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Warengruppen gArtikelLagerort
  218. ON HELP OF Warengruppen IN FRAME gArtikelLagerort /* Warengruppen */
  219. DO:
  220. RUN g-auswahl-wgr.w ( INPUT SELF:HANDLE ).
  221. APPLY 'END' TO SELF.
  222. END.
  223. /* _UIB-CODE-BLOCK-END */
  224. &ANALYZE-RESUME
  225. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Warengruppen gArtikelLagerort
  226. ON LEFT-MOUSE-DBLCLICK OF Warengruppen IN FRAME gArtikelLagerort /* Warengruppen */
  227. DO:
  228. RUN g-auswahl-wgr.w ( INPUT SELF:HANDLE ).
  229. APPLY 'END' TO SELF.
  230. END.
  231. /* _UIB-CODE-BLOCK-END */
  232. &ANALYZE-RESUME
  233. &UNDEFINE SELF-NAME
  234. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gArtikelLagerort
  235. /* *************************** Main Block *************************** */
  236. MaxPage = 1.
  237. AktSeite = 1.
  238. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  239. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  240. SESSION:DATA-ENTRY-RETURN = TRUE.
  241. /* ------------------------------------------------------------------ */
  242. {src/adm2/dialogmn.i}
  243. /* _UIB-CODE-BLOCK-END */
  244. &ANALYZE-RESUME
  245. /* ********************** Internal Procedures *********************** */
  246. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gArtikelLagerort _ADM-CREATE-OBJECTS
  247. PROCEDURE adm-create-objects :
  248. /*------------------------------------------------------------------------------
  249. Purpose: Create handles for all SmartObjects used in this procedure.
  250. After SmartObjects are initialized, then SmartLinks are added.
  251. Parameters: <none>
  252. ------------------------------------------------------------------------------*/
  253. END PROCEDURE.
  254. /* _UIB-CODE-BLOCK-END */
  255. &ANALYZE-RESUME
  256. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEREINIGEN gArtikelLagerort
  257. PROCEDURE BEREINIGEN :
  258. /*------------------------------------------------------------------------------
  259. Purpose:
  260. Parameters: <none>
  261. Notes:
  262. ------------------------------------------------------------------------------*/
  263. DEF INPUT-OUTPUT PARAMETER ipString AS CHAR NO-UNDO.
  264. DEF VAR cString AS CHAR NO-UNDO.
  265. DEF VAR ix AS INT NO-UNDO.
  266. DEF VAR ii AS INT NO-UNDO.
  267. cString = ''.
  268. DO ix = 1 TO NUM-ENTRIES(ipString, ','):
  269. IF CString <> '' THEN cString = cString + ','.
  270. cString = cString + STRING(INTEGER(ENTRY(ix, ipString)),'999').
  271. END.
  272. ipString = cString.
  273. END PROCEDURE.
  274. /* _UIB-CODE-BLOCK-END */
  275. &ANALYZE-RESUME
  276. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gArtikelLagerort _DEFAULT-DISABLE
  277. PROCEDURE disable_UI :
  278. /*------------------------------------------------------------------------------
  279. Purpose: DISABLE the User Interface
  280. Parameters: <none>
  281. Notes: Here we clean-up the user-interface by deleting
  282. dynamic widgets we have created and/or hide
  283. frames. This procedure is usually called when
  284. we are ready to "clean-up" after running.
  285. ------------------------------------------------------------------------------*/
  286. /* Hide all frames. */
  287. HIDE FRAME gArtikelLagerort.
  288. END PROCEDURE.
  289. /* _UIB-CODE-BLOCK-END */
  290. &ANALYZE-RESUME
  291. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gArtikelLagerort
  292. PROCEDURE enableObject :
  293. /*------------------------------------------------------------------------------
  294. Purpose: Super Override
  295. Parameters:
  296. Notes:
  297. ------------------------------------------------------------------------------*/
  298. DEF VAR cString AS CHAR NO-UNDO.
  299. RUN SUPER.
  300. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  301. IF NOT VALID-HANDLE(Fenster)
  302. THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  303. IF VALID-HANDLE(Fenster) THEN Fenster = Fenster:FIRST-CHILD.
  304. DO WHILE VALID-HANDLE(Fenster).
  305. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  306. IF Fenster:TYPE = 'EDITOR' THEN LEAVE.
  307. IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
  308. IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
  309. IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
  310. GET-KEY-VALUE SECTION 'ArtikelLagerorte'
  311. KEY Fenster:NAME
  312. VALUE cString.
  313. IF cString = ? THEN LEAVE.
  314. Fenster:SCREEN-VALUE = cString.
  315. LEAVE.
  316. END.
  317. Fenster = Fenster:NEXT-SIBLING.
  318. END.
  319. DO WITH FRAME {&FRAME-NAME}:
  320. ASSIGN {&List-6}.
  321. END.
  322. END PROCEDURE.
  323. /* _UIB-CODE-BLOCK-END */
  324. &ANALYZE-RESUME
  325. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gArtikelLagerort _DEFAULT-ENABLE
  326. PROCEDURE enable_UI :
  327. /*------------------------------------------------------------------------------
  328. Purpose: ENABLE the User Interface
  329. Parameters: <none>
  330. Notes: Here we display/view/enable the widgets in the
  331. user-interface. In addition, OPEN all queries
  332. associated with each FRAME and BROWSE.
  333. These statements here are based on the "Other
  334. Settings" section of the widget Property Sheets.
  335. ------------------------------------------------------------------------------*/
  336. DISPLAY Hersteller Warengruppen VonArtnr BisArtnr R_Sort
  337. WITH FRAME gArtikelLagerort.
  338. ENABLE Hersteller Warengruppen VonArtnr BisArtnr R_Sort Btn_Excel RECT-37
  339. WITH FRAME gArtikelLagerort.
  340. VIEW FRAME gArtikelLagerort.
  341. {&OPEN-BROWSERS-IN-QUERY-gArtikelLagerort}
  342. END PROCEDURE.
  343. /* _UIB-CODE-BLOCK-END */
  344. &ANALYZE-RESUME
  345. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gArtikelLagerort
  346. PROCEDURE ENDE :
  347. /*------------------------------------------------------------------------------
  348. Purpose:
  349. Parameters: <none>
  350. Notes:
  351. ------------------------------------------------------------------------------*/
  352. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  353. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  354. RETURN NO-APPLY.
  355. END PROCEDURE.
  356. /* _UIB-CODE-BLOCK-END */
  357. &ANALYZE-RESUME
  358. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gArtikelLagerort
  359. PROCEDURE ENTRY_CURSOR :
  360. /*------------------------------------------------------------------------------
  361. Purpose:
  362. Parameters: <none>
  363. Notes:
  364. ------------------------------------------------------------------------------*/
  365. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  366. CASE AktSeite:
  367. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  368. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  369. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  370. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  371. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  372. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  373. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  374. END CASE.
  375. RETURN NO-APPLY.
  376. END PROCEDURE.
  377. /* _UIB-CODE-BLOCK-END */
  378. &ANALYZE-RESUME
  379. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gArtikelLagerort
  380. PROCEDURE exitObject :
  381. /*------------------------------------------------------------------------------
  382. Purpose: Super Override
  383. Parameters:
  384. Notes:
  385. ------------------------------------------------------------------------------*/
  386. RUN ENDE.
  387. RETURN NO-APPLY.
  388. END PROCEDURE.
  389. /* _UIB-CODE-BLOCK-END */
  390. &ANALYZE-RESUME
  391. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gArtikelLagerort
  392. PROCEDURE KOPF :
  393. /*------------------------------------------------------------------------------
  394. Purpose:
  395. Parameters: <none>
  396. Notes:
  397. ------------------------------------------------------------------------------*/
  398. DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
  399. DEF VAR Zelle AS CHAR NO-UNDO.
  400. FIND Steuer USE-INDEX Steuer-k1
  401. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  402. Zelle = 'B1'.
  403. eh:Range(Zelle):SELECT.
  404. eh:SELECTION:VALUE = Steuer.Firma1.
  405. Zelle = 'D1'.
  406. eh:Range(Zelle):SELECT.
  407. eh:SELECTION:VALUE = 'Artikel-Lagerorte'.
  408. Zelle = 'G1'.
  409. eh:Range(Zelle):SELECT.
  410. eh:SELECTION:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
  411. Zelle = 'B2'.
  412. eh:Range(Zelle):SELECT.
  413. eh:SELECTION:VALUE = Steuer.Ort.
  414. Zelle = 'D2'.
  415. eh:Range(Zelle):SELECT.
  416. eh:SELECTION:VALUE = ''.
  417. Zelle = 'G2'.
  418. eh:Range(Zelle):SELECT.
  419. eh:SELECTION:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  420. END PROCEDURE.
  421. /* _UIB-CODE-BLOCK-END */
  422. &ANALYZE-RESUME
  423. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gArtikelLagerort
  424. PROCEDURE REPORT :
  425. /*------------------------------------------------------------------------------
  426. Purpose:
  427. Parameters: <none>
  428. Notes:
  429. ------------------------------------------------------------------------------*/
  430. DEF VAR cString AS CHAR NO-UNDO.
  431. DEF VAR ix AS INT NO-UNDO.
  432. DEF VAR ii AS INT NO-UNDO.
  433. DEF VAR Stern AS CHAR NO-UNDO.
  434. DEF VAR Alk AS CHAR NO-UNDO.
  435. DEF VAR xWgr AS CHAR NO-UNDO.
  436. DEF VAR xPgr AS CHAR NO-UNDO.
  437. DEF VAR xAgr AS CHAR NO-UNDO.
  438. DEF VAR iVG AS DEC NO-UNDO.
  439. DEF VAR iGG AS DEC NO-UNDO.
  440. DEF VAR OK AS LOG NO-UNDO.
  441. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  442. DEF VAR Vorlage AS CHAR NO-UNDO.
  443. DEF VAR Dokument AS CHAR NO-UNDO.
  444. DEF VAR Daten AS CHAR NO-UNDO.
  445. DEF VAR Zelle AS CHAR NO-UNDO.
  446. DO WITH FRAME {&FRAME-NAME}:
  447. ASSIGN {&List-6}.
  448. IF VonArtnr = 0 AND BisArtnr = 0 THEN BisArtnr = 999999.
  449. RUN BEREINIGEN ( INPUT-OUTPUT Hersteller ).
  450. RUN BEREINIGEN ( INPUT-OUTPUT Warengruppen ).
  451. DISPLAY {&list-6}.
  452. END.
  453. IF NOT VALID-HANDLE(Fenster)
  454. THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  455. IF VALID-HANDLE(Fenster) THEN Fenster = Fenster:FIRST-CHILD.
  456. DO WHILE VALID-HANDLE(Fenster).
  457. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  458. IF Fenster:TYPE = 'EDITOR' THEN LEAVE.
  459. IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
  460. IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
  461. IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
  462. cString = Fenster:SCREEN-VALUE.
  463. PUT-KEY-VALUE SECTION 'ArtikelLagerorte'
  464. KEY Fenster:NAME
  465. VALUE cString.
  466. LEAVE.
  467. END.
  468. Fenster = Fenster:NEXT-SIBLING.
  469. END.
  470. SESSION:SET-WAIT-STATE('GENERAL').
  471. RUN SELEKTION.
  472. Vorlage = 'ArtikelLagerort.xls'.
  473. Dokument = Vorlage + CHR(01) + Vorlage.
  474. Daten = 'ArtikelLagerort.csv'.
  475. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  476. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  477. RUN FEHLER ( INPUT 1035 ).
  478. RETURN NO-APPLY.
  479. END.
  480. DO WHILE TRUE:
  481. RUN CREATEDATEI ( INPUT Dokument ).
  482. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  483. CASE RETURN-VALUE:
  484. WHEN 'ERROR-PARAMETER' THEN DO:
  485. RUN FEHLER ( INPUT 1036 ).
  486. RETURN NO-APPLY.
  487. END.
  488. WHEN 'ERROR-LOESCHEN' THEN DO:
  489. RUN FEHLER ( INPUT 1037 ).
  490. RETURN NO-APPLY.
  491. END.
  492. WHEN 'ERROR-VORLAGE' THEN DO:
  493. RUN FEHLER ( INPUT 1038 ).
  494. RETURN NO-APPLY.
  495. END.
  496. OTHERWISE DO:
  497. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  498. RETURN NO-APPLY.
  499. END.
  500. END CASE.
  501. LEAVE.
  502. END.
  503. Dokument = RETURN-VALUE.
  504. DO WHILE TRUE:
  505. RUN CREATEDATEI ( INPUT Daten ).
  506. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  507. CASE RETURN-VALUE:
  508. WHEN 'ERROR-PARAMETER' THEN DO:
  509. RUN FEHLER ( INPUT 1036 ).
  510. RETURN NO-APPLY.
  511. END.
  512. WHEN 'ERROR-LOESCHEN' THEN DO:
  513. RUN FEHLER ( INPUT 1037 ).
  514. RETURN NO-APPLY.
  515. END.
  516. WHEN 'ERROR-VORLAGE' THEN DO:
  517. RUN FEHLER ( INPUT 1038 ).
  518. RETURN NO-APPLY.
  519. END.
  520. OTHERWISE DO:
  521. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  522. RETURN NO-APPLY.
  523. END.
  524. END CASE.
  525. LEAVE.
  526. END.
  527. Daten = RETURN-VALUE.
  528. OUTPUT TO VALUE(Daten).
  529. PUT CONTROL '£' CHR(10)
  530. '£' CHR(10)
  531. '£' CHR(10)
  532. '£' CHR(10)
  533. '£Artnr/Inha/Jahr£Bezeichnung££LagOrt£WarGrp£Hersteller'
  534. CHR(10).
  535. FOR EACH TArtst BY TArtst.Schluessel:
  536. PUT CONTROL '£'
  537. STRING(TArtst.Artnr ,'999999') '.'
  538. STRING(TArtst.Inhalt ,'9999') '.'
  539. STRING(TArtst.Jahr ,'9999') '£'
  540. TArtst.Bez '££'
  541. TArtst.Lagort '£'
  542. TArtst.cWgr '£'
  543. TArtst.cHerst
  544. CHR(10).
  545. END.
  546. OUTPUT CLOSE.
  547. RUN OPENEXCEL ( INPUT excelAppl,
  548. INPUT Dokument,
  549. INPUT '',
  550. OUTPUT ok ).
  551. IF NOT ok THEN DO:
  552. RUN FEHLER ( INPUT 1040 ).
  553. RETURN NO-APPLY.
  554. END.
  555. Zelle = 'A1'.
  556. excelAppl:Range(Zelle):SELECT.
  557. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + Daten.
  558. excelAppl:Application:RUN ( 'DateiEinfügen' ).
  559. RUN KOPF ( INPUT excelAppl ).
  560. Zelle = 'A1'.
  561. excelAppl:Range(Zelle):SELECT.
  562. excelAppl:Selection:ColumnWidth = 0.3.
  563. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  564. SESSION:SET-WAIT-STATE('').
  565. END PROCEDURE.
  566. /* _UIB-CODE-BLOCK-END */
  567. &ANALYZE-RESUME
  568. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION gArtikelLagerort
  569. PROCEDURE SELEKTION :
  570. /*------------------------------------------------------------------------------
  571. Purpose:
  572. Parameters: <none>
  573. Notes:
  574. ------------------------------------------------------------------------------*/
  575. DEF VAR cWgr AS CHAR NO-UNDO.
  576. DEF VAR cHerst AS CHAR NO-UNDO.
  577. EMPTY TEMP-TABLE TArtst.
  578. FOR EACH Artst NO-LOCK USE-INDEX Artst-k1
  579. WHERE Artst.Firma = Firma
  580. AND Artst.Artnr >= VonArtnr
  581. AND Artst.Artnr <= BisArtnr
  582. AND Artst.Aktiv = TRUE
  583. AND Artst.Ausverk < 9
  584. AND ((Warengruppen = '') OR
  585. (Warengruppen <> '' AND
  586. LOOKUP(STRING(Artst.Wg_Grp,"999"), Warengruppen, ',') > 0))
  587. AND ((Hersteller = '') OR
  588. (Hersteller <> '' AND
  589. LOOKUP(STRING(Artst.Herst,"999"), Hersteller , ',') > 0)),
  590. FIRST ArtLager OF Artst NO-LOCK,
  591. FIRST Artbez OF Artst NO-LOCK:
  592. FIND FIRST HoReLager NO-LOCK USE-INDEX HoReLager-k3
  593. WHERE HoReLager.Firma = Artst.Firma
  594. AND HoReLager.Art = 1
  595. AND HoReLager.Lager = 0
  596. AND HoReLager.Artnr = Artst.Artnr
  597. AND HoReLager.Inhalt = Artst.Inhalt NO-ERROR.
  598. CREATE TArtst.
  599. ASSIGN TArtst.Artnr = Artst.Artnr
  600. TArtst.Inhalt = Artst.Inhalt
  601. TArtst.Jahr = Artst.Jahr
  602. TArtst.Bez = TRIM(Artbez.Bez1 + ' ' + Artbez.Bez2)
  603. TArtst.Herst = Artst.Herst
  604. TArtst.Wgr = Artst.Wg_Grp
  605. TArtst.Lagort = (IF AVAILABLE HoReLager THEN HoReLager.cSort ELSE ArtLager.Ort).
  606. CASE R_Sort:
  607. WHEN 1 THEN TArtst.Schluessel = STRING(Artst.Artnr ,'999999')
  608. + STRING(Artst.Inhalt,'9999')
  609. + STRING(Artst.Jahr ,'9999').
  610. WHEN 2 THEN TArtst.Schluessel = Artst.Suchbe.
  611. WHEN 3 THEN TArtst.Schluessel = Artlager.Ort.
  612. END CASE.
  613. END.
  614. FOR EACH TArtst BREAK BY TArtst.Wgr:
  615. IF FIRST-OF ( TArtst.Wgr ) THEN DO:
  616. FIND WarenGrp WHERE WarenGrp.Firma = Firma
  617. AND WarenGrp.Wgr = TArtst.Wgr
  618. NO-LOCK NO-ERROR.
  619. IF AVAILABLE WarenGrp THEN cWgr = WarenGrp.Bez1.
  620. ELSE cWgr = '??????????'.
  621. END.
  622. TArtst.cWgr = cWgr.
  623. END.
  624. FOR EACH TArtst BREAK BY TArtst.Herst:
  625. IF FIRST-OF ( TArtst.Herst ) THEN DO:
  626. RUN FIND_HERSTELLER ( INPUT TArtst.Herst, OUTPUT cHerst ).
  627. IF cHerst = '' THEN cHerst = '??????????'.
  628. ELSE cHerst = ENTRY(2, cHerst, CHR(01)).
  629. cHerst = TRIM(SUBSTRING(cHerst,01,20)).
  630. END.
  631. TArtst.cHerst = cHerst.
  632. END.
  633. END PROCEDURE.
  634. /* _UIB-CODE-BLOCK-END */
  635. &ANALYZE-RESUME