g-excel-artbw.w 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gexcelartbe
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gexcelartbe
  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. DEF INPUT PARAMETER ipDaten AS CHAR NO-UNDO.
  27. /* Local Variable Definitions --- */
  28. DEF VAR MaxPage AS INT NO-UNDO.
  29. DEF VAR AktSeite AS INT NO-UNDO.
  30. DEF VAR FMutFlag AS LOG NO-UNDO.
  31. DEF VAR Firma AS CHAR NO-UNDO.
  32. DEF VAR AdFirma AS CHAR NO-UNDO.
  33. DEF VAR Artnr AS INT NO-UNDO.
  34. DEF VAR Inhalt AS INT NO-UNDO.
  35. DEF VAR Jahr AS INT NO-UNDO.
  36. DEF VAR Knr AS INT NO-UNDO.
  37. DEF VAR Tr_Art AS INT NO-UNDO.
  38. DEF VAR Datum AS DATE NO-UNDO.
  39. DEF VAR Aufnr AS INT NO-UNDO.
  40. DEF VAR cVorlage AS CHAR NO-UNDO.
  41. DEF VAR cDokument AS CHAR NO-UNDO.
  42. DEF VAR cDaten AS CHAR NO-UNDO.
  43. DEF VAR cDateiName AS CHAR NO-UNDO.
  44. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  45. DEF VAR Zelle AS CHAR NO-UNDO.
  46. DEF TEMP-TABLE TIndex FIELD Index-Name AS CHAR
  47. FIELD Feld-Name AS CHAR
  48. FIELD Feldnr AS INT
  49. INDEX TIndex-k1 AS PRIMARY
  50. Feld-Name
  51. FeldNr.
  52. DEF TEMP-TABLE tArtbw LIKE Artbw.
  53. /* _UIB-CODE-BLOCK-END */
  54. &ANALYZE-RESUME
  55. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  56. /* ******************** Preprocessor Definitions ******************** */
  57. &Scoped-define PROCEDURE-TYPE SmartDialog
  58. &Scoped-define DB-AWARE no
  59. &Scoped-define ADM-CONTAINER DIALOG-BOX
  60. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  61. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  62. &Scoped-define FRAME-NAME gexcelartbe
  63. /* Standard List Definitions */
  64. &Scoped-Define ENABLED-OBJECTS RECT-4 F_VonArtnr F_BisArtnr T_Artnr ~
  65. F_VonInhalt F_BisInhalt F_VonJahr F_BisJahr F_VonKnr F_BisKnr T_Knr ~
  66. F_VonTrArt F_BisTrArt T_TrArt F_VonDatum F_BisDatum T_Datum F_VonAUfnr ~
  67. F_BisAUfnr T_Aufnr Btn_OK Btn_Cancel
  68. &Scoped-Define DISPLAYED-OBJECTS F_VonArtnr F_BisArtnr T_Artnr F_VonInhalt ~
  69. F_BisInhalt F_VonJahr F_BisJahr F_VonKnr F_BisKnr T_Knr F_VonTrArt ~
  70. F_BisTrArt T_TrArt F_VonDatum F_BisDatum T_Datum F_VonAUfnr F_BisAUfnr ~
  71. T_Aufnr
  72. /* Custom List Definitions */
  73. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  74. &Scoped-define List-6 F_VonArtnr F_BisArtnr T_Artnr F_VonInhalt F_BisInhalt ~
  75. F_VonJahr F_BisJahr F_VonKnr F_BisKnr T_Knr F_VonTrArt F_BisTrArt T_TrArt ~
  76. F_VonDatum F_BisDatum T_Datum F_VonAUfnr F_BisAUfnr T_Aufnr
  77. /* _UIB-PREPROCESSOR-BLOCK-END */
  78. &ANALYZE-RESUME
  79. /* *********************** Control Definitions ********************** */
  80. /* Define a dialog box */
  81. /* Definitions of the field level widgets */
  82. DEFINE BUTTON Btn_Cancel
  83. LABEL "abbrechen"
  84. SIZE 15 BY 1.
  85. DEFINE BUTTON Btn_OK
  86. IMAGE-UP FILE "grafik/results%.ico":U
  87. LABEL "Starten"
  88. SIZE 8.4 BY 2.
  89. DEFINE VARIABLE F_BisArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  90. LABEL "-"
  91. VIEW-AS FILL-IN NATIVE
  92. SIZE 16 BY 1
  93. BGCOLOR 15 NO-UNDO.
  94. DEFINE VARIABLE F_BisAUfnr AS INTEGER FORMAT "9999999":U INITIAL 0
  95. LABEL "-"
  96. VIEW-AS FILL-IN NATIVE
  97. SIZE 16 BY 1
  98. BGCOLOR 15 NO-UNDO.
  99. DEFINE VARIABLE F_BisDatum AS DATE FORMAT "99.99.9999":U
  100. LABEL "-"
  101. VIEW-AS FILL-IN NATIVE
  102. SIZE 16 BY 1
  103. BGCOLOR 15 NO-UNDO.
  104. DEFINE VARIABLE F_BisInhalt AS INTEGER FORMAT "9999":U INITIAL 0
  105. LABEL "-"
  106. VIEW-AS FILL-IN NATIVE
  107. SIZE 16 BY 1
  108. BGCOLOR 15 NO-UNDO.
  109. DEFINE VARIABLE F_BisJahr AS INTEGER FORMAT "9999":U INITIAL 0
  110. LABEL "-"
  111. VIEW-AS FILL-IN NATIVE
  112. SIZE 16 BY 1
  113. BGCOLOR 15 NO-UNDO.
  114. DEFINE VARIABLE F_BisKnr AS INTEGER FORMAT "999999":U INITIAL 0
  115. LABEL "-"
  116. VIEW-AS FILL-IN NATIVE
  117. SIZE 16 BY 1
  118. BGCOLOR 15 NO-UNDO.
  119. DEFINE VARIABLE F_BisTrArt AS INTEGER FORMAT "99":U INITIAL 0
  120. LABEL "-"
  121. VIEW-AS FILL-IN NATIVE
  122. SIZE 16 BY 1
  123. BGCOLOR 15 NO-UNDO.
  124. DEFINE VARIABLE F_VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  125. LABEL "Artikelnummer"
  126. VIEW-AS FILL-IN NATIVE
  127. SIZE 16 BY 1
  128. BGCOLOR 15 NO-UNDO.
  129. DEFINE VARIABLE F_VonAUfnr AS INTEGER FORMAT "9999999":U INITIAL 0
  130. LABEL "Auftragsnummer"
  131. VIEW-AS FILL-IN NATIVE
  132. SIZE 16 BY 1
  133. BGCOLOR 15 NO-UNDO.
  134. DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999":U
  135. LABEL "Datum"
  136. VIEW-AS FILL-IN NATIVE
  137. SIZE 16 BY 1
  138. BGCOLOR 15 NO-UNDO.
  139. DEFINE VARIABLE F_VonInhalt AS INTEGER FORMAT "9999":U INITIAL 0
  140. LABEL "Inhalt"
  141. VIEW-AS FILL-IN NATIVE
  142. SIZE 16 BY 1
  143. BGCOLOR 15 NO-UNDO.
  144. DEFINE VARIABLE F_VonJahr AS INTEGER FORMAT "9999":U INITIAL 0
  145. LABEL "Jahr"
  146. VIEW-AS FILL-IN NATIVE
  147. SIZE 16 BY 1
  148. BGCOLOR 15 NO-UNDO.
  149. DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
  150. LABEL "Kundennummer"
  151. VIEW-AS FILL-IN NATIVE
  152. SIZE 16 BY 1
  153. BGCOLOR 15 NO-UNDO.
  154. DEFINE VARIABLE F_VonTrArt AS INTEGER FORMAT "99":U INITIAL 0
  155. LABEL "Transaktionsart"
  156. VIEW-AS FILL-IN NATIVE
  157. SIZE 16 BY 1
  158. BGCOLOR 15 NO-UNDO.
  159. DEFINE RECTANGLE RECT-4
  160. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  161. SIZE 84 BY 11.91.
  162. DEFINE VARIABLE T_Artnr AS LOGICAL INITIAL YES
  163. LABEL "Aktiv"
  164. VIEW-AS TOGGLE-BOX
  165. SIZE 16 BY 1 NO-UNDO.
  166. DEFINE VARIABLE T_Aufnr AS LOGICAL INITIAL NO
  167. LABEL "Aktiv"
  168. VIEW-AS TOGGLE-BOX
  169. SIZE 16 BY 1 NO-UNDO.
  170. DEFINE VARIABLE T_Datum AS LOGICAL INITIAL NO
  171. LABEL "Aktiv"
  172. VIEW-AS TOGGLE-BOX
  173. SIZE 16 BY 1 NO-UNDO.
  174. DEFINE VARIABLE T_Knr AS LOGICAL INITIAL NO
  175. LABEL "Aktiv"
  176. VIEW-AS TOGGLE-BOX
  177. SIZE 16 BY 1 NO-UNDO.
  178. DEFINE VARIABLE T_TrArt AS LOGICAL INITIAL NO
  179. LABEL "Aktiv"
  180. VIEW-AS TOGGLE-BOX
  181. SIZE 16 BY 1 NO-UNDO.
  182. /* ************************ Frame Definitions *********************** */
  183. DEFINE FRAME gexcelartbe
  184. F_VonArtnr AT ROW 2 COL 27 COLON-ALIGNED
  185. F_BisArtnr AT ROW 2 COL 46 COLON-ALIGNED
  186. T_Artnr AT ROW 2 COL 65
  187. F_VonInhalt AT ROW 3 COL 27 COLON-ALIGNED
  188. F_BisInhalt AT ROW 3 COL 46 COLON-ALIGNED
  189. F_VonJahr AT ROW 4 COL 27 COLON-ALIGNED
  190. F_BisJahr AT ROW 4 COL 46 COLON-ALIGNED
  191. F_VonKnr AT ROW 5 COL 27 COLON-ALIGNED
  192. F_BisKnr AT ROW 5 COL 46 COLON-ALIGNED
  193. T_Knr AT ROW 5 COL 65
  194. F_VonTrArt AT ROW 6 COL 27 COLON-ALIGNED
  195. F_BisTrArt AT ROW 6 COL 46 COLON-ALIGNED
  196. T_TrArt AT ROW 6 COL 65
  197. F_VonDatum AT ROW 7 COL 27 COLON-ALIGNED
  198. F_BisDatum AT ROW 7 COL 46 COLON-ALIGNED
  199. T_Datum AT ROW 7 COL 65
  200. F_VonAUfnr AT ROW 8 COL 27 COLON-ALIGNED
  201. F_BisAUfnr AT ROW 8 COL 46 COLON-ALIGNED
  202. T_Aufnr AT ROW 8 COL 65
  203. Btn_OK AT ROW 10 COL 23.4
  204. Btn_Cancel AT ROW 10.52 COL 49
  205. RECT-4 AT ROW 1.48 COL 3
  206. SPACE(1.99) SKIP(0.46)
  207. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  208. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  209. TITLE "Bewegungen in Excl"
  210. CANCEL-BUTTON Btn_Cancel.
  211. /* *********************** Procedure Settings ************************ */
  212. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  213. /* Settings for THIS-PROCEDURE
  214. Type: SmartDialog
  215. Allow: Basic,Browse,DB-Fields,Query,Smart
  216. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  217. Design Page: 1
  218. Other Settings: COMPILE
  219. */
  220. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  221. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gexcelartbe
  222. /* ************************* Included-Libraries *********************** */
  223. {src/adm2/containr.i}
  224. /* _UIB-CODE-BLOCK-END */
  225. &ANALYZE-RESUME
  226. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  227. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  228. /* SETTINGS FOR DIALOG-BOX gexcelartbe
  229. FRAME-NAME */
  230. ASSIGN
  231. FRAME gexcelartbe:SCROLLABLE = FALSE
  232. FRAME gexcelartbe:HIDDEN = TRUE.
  233. /* SETTINGS FOR FILL-IN F_BisArtnr IN FRAME gexcelartbe
  234. 6 */
  235. /* SETTINGS FOR FILL-IN F_BisAUfnr IN FRAME gexcelartbe
  236. 6 */
  237. /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME gexcelartbe
  238. 6 */
  239. /* SETTINGS FOR FILL-IN F_BisInhalt IN FRAME gexcelartbe
  240. 6 */
  241. /* SETTINGS FOR FILL-IN F_BisJahr IN FRAME gexcelartbe
  242. 6 */
  243. /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME gexcelartbe
  244. 6 */
  245. /* SETTINGS FOR FILL-IN F_BisTrArt IN FRAME gexcelartbe
  246. 6 */
  247. /* SETTINGS FOR FILL-IN F_VonArtnr IN FRAME gexcelartbe
  248. 6 */
  249. /* SETTINGS FOR FILL-IN F_VonAUfnr IN FRAME gexcelartbe
  250. 6 */
  251. /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gexcelartbe
  252. 6 */
  253. /* SETTINGS FOR FILL-IN F_VonInhalt IN FRAME gexcelartbe
  254. 6 */
  255. /* SETTINGS FOR FILL-IN F_VonJahr IN FRAME gexcelartbe
  256. 6 */
  257. /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME gexcelartbe
  258. 6 */
  259. /* SETTINGS FOR FILL-IN F_VonTrArt IN FRAME gexcelartbe
  260. 6 */
  261. /* SETTINGS FOR TOGGLE-BOX T_Artnr IN FRAME gexcelartbe
  262. 6 */
  263. /* SETTINGS FOR TOGGLE-BOX T_Aufnr IN FRAME gexcelartbe
  264. 6 */
  265. /* SETTINGS FOR TOGGLE-BOX T_Datum IN FRAME gexcelartbe
  266. 6 */
  267. /* SETTINGS FOR TOGGLE-BOX T_Knr IN FRAME gexcelartbe
  268. 6 */
  269. /* SETTINGS FOR TOGGLE-BOX T_TrArt IN FRAME gexcelartbe
  270. 6 */
  271. /* _RUN-TIME-ATTRIBUTES-END */
  272. &ANALYZE-RESUME
  273. /* Setting information for Queries and Browse Widgets fields */
  274. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gexcelartbe
  275. /* Query rebuild information for DIALOG-BOX gexcelartbe
  276. _Options = "SHARE-LOCK"
  277. _Query is NOT OPENED
  278. */ /* DIALOG-BOX gexcelartbe */
  279. &ANALYZE-RESUME
  280. /* ************************ Control Triggers ************************ */
  281. &Scoped-define SELF-NAME gexcelartbe
  282. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gexcelartbe gexcelartbe
  283. ON END-ERROR OF FRAME gexcelartbe /* Bewegungen in Excl */
  284. DO:
  285. RUN ENDE.
  286. RETURN NO-APPLY.
  287. END.
  288. /* _UIB-CODE-BLOCK-END */
  289. &ANALYZE-RESUME
  290. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gexcelartbe gexcelartbe
  291. ON GO OF FRAME gexcelartbe /* Bewegungen in Excl */
  292. DO:
  293. /*
  294. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  295. */
  296. END.
  297. /* _UIB-CODE-BLOCK-END */
  298. &ANALYZE-RESUME
  299. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gexcelartbe gexcelartbe
  300. ON WINDOW-CLOSE OF FRAME gexcelartbe /* Bewegungen in Excl */
  301. DO:
  302. RUN ENDE.
  303. RETURN NO-APPLY.
  304. END.
  305. /* _UIB-CODE-BLOCK-END */
  306. &ANALYZE-RESUME
  307. &Scoped-define SELF-NAME Btn_Cancel
  308. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gexcelartbe
  309. ON CHOOSE OF Btn_Cancel IN FRAME gexcelartbe /* abbrechen */
  310. DO:
  311. RUN ENDE.
  312. RETURN NO-APPLY.
  313. END.
  314. /* _UIB-CODE-BLOCK-END */
  315. &ANALYZE-RESUME
  316. &Scoped-define SELF-NAME Btn_OK
  317. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gexcelartbe
  318. ON CHOOSE OF Btn_OK IN FRAME gexcelartbe /* Starten */
  319. DO:
  320. DO WITH FRAME {&FRAME-NAME}:
  321. Btn_OK :SENSITIVE = FALSE.
  322. Btn_Cancel:SENSITIVE = FALSE.
  323. RUN REPORT.
  324. Btn_OK :SENSITIVE = FALSE.
  325. Btn_Cancel:SENSITIVE = FALSE.
  326. IF RETURN-VALUE = '' THEN RUN ENDE.
  327. RETURN NO-APPLY.
  328. END.
  329. END.
  330. /* _UIB-CODE-BLOCK-END */
  331. &ANALYZE-RESUME
  332. &Scoped-define SELF-NAME T_Artnr
  333. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Artnr gexcelartbe
  334. ON RETURN OF T_Artnr IN FRAME gexcelartbe /* Aktiv */
  335. DO:
  336. APPLY 'TAB' TO SELF.
  337. RETURN NO-APPLY.
  338. END.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &Scoped-define SELF-NAME T_Aufnr
  342. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Aufnr gexcelartbe
  343. ON RETURN OF T_Aufnr IN FRAME gexcelartbe /* Aktiv */
  344. DO:
  345. APPLY 'TAB' TO SELF.
  346. RETURN NO-APPLY.
  347. END.
  348. /* _UIB-CODE-BLOCK-END */
  349. &ANALYZE-RESUME
  350. &Scoped-define SELF-NAME T_Datum
  351. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Datum gexcelartbe
  352. ON RETURN OF T_Datum IN FRAME gexcelartbe /* Aktiv */
  353. DO:
  354. APPLY 'TAB' TO SELF.
  355. RETURN NO-APPLY.
  356. END.
  357. /* _UIB-CODE-BLOCK-END */
  358. &ANALYZE-RESUME
  359. &Scoped-define SELF-NAME T_Knr
  360. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Knr gexcelartbe
  361. ON RETURN OF T_Knr IN FRAME gexcelartbe /* Aktiv */
  362. DO:
  363. APPLY 'TAB' TO SELF.
  364. RETURN NO-APPLY.
  365. END.
  366. /* _UIB-CODE-BLOCK-END */
  367. &ANALYZE-RESUME
  368. &Scoped-define SELF-NAME T_TrArt
  369. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_TrArt gexcelartbe
  370. ON RETURN OF T_TrArt IN FRAME gexcelartbe /* Aktiv */
  371. DO:
  372. APPLY 'TAB' TO SELF.
  373. RETURN NO-APPLY.
  374. END.
  375. /* _UIB-CODE-BLOCK-END */
  376. &ANALYZE-RESUME
  377. &UNDEFINE SELF-NAME
  378. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gexcelartbe
  379. /* *************************** Main Block *************************** */
  380. MaxPage = 1.
  381. AktSeite = 1.
  382. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  383. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  384. SESSION:DATA-ENTRY-RETURN = TRUE.
  385. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  386. /* TRIGGERS ------------------------------------------------------ */
  387. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  388. DO:
  389. RUN NEXTPAGE.
  390. END.
  391. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  392. DO:
  393. RUN PREVPAGE.
  394. END.
  395. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  396. DO:
  397. RUN ENTRY_CURSOR.
  398. END.
  399. /*
  400. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  401. DO:
  402. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  403. END.
  404. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  405. DO:
  406. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  407. END.
  408. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  409. DO:
  410. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  411. END.
  412. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  413. DO:
  414. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  415. END.
  416. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  417. DO:
  418. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  419. END.
  420. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  421. DO:
  422. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  423. END.
  424. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  425. DO:
  426. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  427. END.
  428. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  429. DO:
  430. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  431. END.
  432. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  433. DO:
  434. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  435. END.
  436. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  437. DO:
  438. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  439. IF FMutFlag = FALSE THEN DO:
  440. RUN ENDE.
  441. RETURN NO-APPLY.
  442. END.
  443. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  444. RETURN NO-APPLY.
  445. END.
  446. */
  447. /* ------------------------------------------------------------------ */
  448. {src/adm2/dialogmn.i}
  449. /* _UIB-CODE-BLOCK-END */
  450. &ANALYZE-RESUME
  451. /* ********************** Internal Procedures *********************** */
  452. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gexcelartbe _ADM-CREATE-OBJECTS
  453. PROCEDURE adm-create-objects :
  454. /*------------------------------------------------------------------------------
  455. Purpose: Create handles for all SmartObjects used in this procedure.
  456. After SmartObjects are initialized, then SmartLinks are added.
  457. Parameters: <none>
  458. ------------------------------------------------------------------------------*/
  459. END PROCEDURE.
  460. /* _UIB-CODE-BLOCK-END */
  461. &ANALYZE-RESUME
  462. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gexcelartbe
  463. PROCEDURE changePage :
  464. /*------------------------------------------------------------------------------
  465. Purpose: Super Override
  466. Parameters:
  467. Notes:
  468. ------------------------------------------------------------------------------*/
  469. /* Code placed here will execute PRIOR to standard behavior. */
  470. RUN SUPER.
  471. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  472. CASE AktSeite:
  473. WHEN 1 THEN DO:
  474. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  475. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  476. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  477. RUN ENTRY_CURSOR.
  478. END.
  479. WHEN 2 THEN DO:
  480. RUN ENTRY_CURSOR.
  481. END.
  482. END CASE.
  483. END PROCEDURE.
  484. /* _UIB-CODE-BLOCK-END */
  485. &ANALYZE-RESUME
  486. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gexcelartbe _DEFAULT-DISABLE
  487. PROCEDURE disable_UI :
  488. /*------------------------------------------------------------------------------
  489. Purpose: DISABLE the User Interface
  490. Parameters: <none>
  491. Notes: Here we clean-up the user-interface by deleting
  492. dynamic widgets we have created and/or hide
  493. frames. This procedure is usually called when
  494. we are ready to "clean-up" after running.
  495. ------------------------------------------------------------------------------*/
  496. /* Hide all frames. */
  497. HIDE FRAME gexcelartbe.
  498. END PROCEDURE.
  499. /* _UIB-CODE-BLOCK-END */
  500. &ANALYZE-RESUME
  501. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gexcelartbe
  502. PROCEDURE enableObject :
  503. /*------------------------------------------------------------------------------
  504. Purpose: Super Override
  505. Parameters:
  506. Notes:
  507. ------------------------------------------------------------------------------*/
  508. /* Code placed here will execute PRIOR to standard behavior. */
  509. RUN SUPER.
  510. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  511. END PROCEDURE.
  512. /* _UIB-CODE-BLOCK-END */
  513. &ANALYZE-RESUME
  514. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gexcelartbe _DEFAULT-ENABLE
  515. PROCEDURE enable_UI :
  516. /*------------------------------------------------------------------------------
  517. Purpose: ENABLE the User Interface
  518. Parameters: <none>
  519. Notes: Here we display/view/enable the widgets in the
  520. user-interface. In addition, OPEN all queries
  521. associated with each FRAME and BROWSE.
  522. These statements here are based on the "Other
  523. Settings" section of the widget Property Sheets.
  524. ------------------------------------------------------------------------------*/
  525. DISPLAY F_VonArtnr F_BisArtnr T_Artnr F_VonInhalt F_BisInhalt F_VonJahr
  526. F_BisJahr F_VonKnr F_BisKnr T_Knr F_VonTrArt F_BisTrArt T_TrArt
  527. F_VonDatum F_BisDatum T_Datum F_VonAUfnr F_BisAUfnr T_Aufnr
  528. WITH FRAME gexcelartbe.
  529. ENABLE RECT-4 F_VonArtnr F_BisArtnr T_Artnr F_VonInhalt F_BisInhalt F_VonJahr
  530. F_BisJahr F_VonKnr F_BisKnr T_Knr F_VonTrArt F_BisTrArt T_TrArt
  531. F_VonDatum F_BisDatum T_Datum F_VonAUfnr F_BisAUfnr T_Aufnr Btn_OK
  532. Btn_Cancel
  533. WITH FRAME gexcelartbe.
  534. VIEW FRAME gexcelartbe.
  535. {&OPEN-BROWSERS-IN-QUERY-gexcelartbe}
  536. END PROCEDURE.
  537. /* _UIB-CODE-BLOCK-END */
  538. &ANALYZE-RESUME
  539. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gexcelartbe
  540. PROCEDURE ENDE :
  541. /*------------------------------------------------------------------------------
  542. Purpose:
  543. Parameters: <none>
  544. Notes:
  545. ------------------------------------------------------------------------------*/
  546. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  547. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  548. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  549. RETURN NO-APPLY.
  550. END PROCEDURE.
  551. /* _UIB-CODE-BLOCK-END */
  552. &ANALYZE-RESUME
  553. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gexcelartbe
  554. PROCEDURE ENTRY_CURSOR :
  555. /*------------------------------------------------------------------------------
  556. Purpose:
  557. Parameters: <none>
  558. Notes:
  559. ------------------------------------------------------------------------------*/
  560. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  561. CASE AktSeite:
  562. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  563. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  564. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  565. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  566. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  567. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  568. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  569. END CASE.
  570. RETURN NO-APPLY.
  571. END PROCEDURE.
  572. /* _UIB-CODE-BLOCK-END */
  573. &ANALYZE-RESUME
  574. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gexcelartbe
  575. PROCEDURE exitObject :
  576. /*------------------------------------------------------------------------------
  577. Purpose: Super Override
  578. Parameters:
  579. Notes:
  580. ------------------------------------------------------------------------------*/
  581. RUN ENDE.
  582. RETURN NO-APPLY.
  583. END PROCEDURE.
  584. /* _UIB-CODE-BLOCK-END */
  585. &ANALYZE-RESUME
  586. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXPORT_DATEN gexcelartbe
  587. PROCEDURE EXPORT_DATEN :
  588. /*------------------------------------------------------------------------------
  589. Purpose:
  590. Parameters: <none>
  591. Notes:
  592. ------------------------------------------------------------------------------*/
  593. FIND FIRST tArtbw.
  594. FIND Adresse USE-INDEX Adresse-k1
  595. WHERE Adresse.Firma = AdFirma
  596. AND Adresse.Knr = tArtbw.Knr NO-LOCK NO-ERROR.
  597. PUT CONTROL '£'
  598. STRING(tArtbw.Artnr ,'999999')
  599. '£'
  600. STRING(tArtbw.Inhalt,'9999')
  601. '£'
  602. STRING(tArtbw.Jahr ,'9999')
  603. '£'
  604. tArtbw.Bez1
  605. '£'
  606. STRING(tArtbw.Knr)
  607. '£'.
  608. IF AVAILABLE Adresse THEN PUT CONTROL Adresse.Anzeig_br.
  609. PUT CONTROL '£'
  610. STRING(tArtbw.Datum,'99.99.9999')
  611. '£'
  612. STRING(tArtbw.Aufnr,'>>>>>>>>')
  613. '£'
  614. STRING(tArtbw.Tr_Art,'99')
  615. '£'
  616. TRIM(STRING(tArtbw.Faknr,'>>>>>>>>'))
  617. '£'.
  618. IF tArtbw.Fak_Dat <> ? THEN PUT CONTROL STRING(tArtbw.Fak_Dat,'99.99.9999').
  619. PUT CONTROL '£'
  620. TRIM(STRING(tArtbw.Menge ,'->>>>>>>>9'))
  621. '£'
  622. TRIM(STRING(tArtbw.Preis ,'->>>>>>>>9.999'))
  623. '£'
  624. TRIM(STRING(tArtbw.Bru_Betr,'->>>>>>>>9.999'))
  625. '£'
  626. TRIM(STRING(tArtbw.Net_Betr,'->>>>>>>>9.999')) CHR(10).
  627. IF tArtbw.Bez2 <> '' THEN PUT CONTROL '££££'
  628. tArtbw.Bez2 CHR(10).
  629. END PROCEDURE.
  630. /* _UIB-CODE-BLOCK-END */
  631. &ANALYZE-RESUME
  632. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject gexcelartbe
  633. PROCEDURE initializeObject :
  634. /*------------------------------------------------------------------------------
  635. Purpose: Super Override
  636. Parameters:
  637. Notes:
  638. ------------------------------------------------------------------------------*/
  639. F_VonArtnr = INTEGER(ENTRY(1, ipDaten, ';')).
  640. F_BisArtnr = INTEGER(ENTRY(1, ipDaten, ';')).
  641. F_VonInhalt = INTEGER(ENTRY(2, ipDaten, ';')).
  642. F_BisInhalt = INTEGER(ENTRY(2, ipDaten, ';')).
  643. F_VonJahr = INTEGER(ENTRY(3, ipDaten, ';')).
  644. F_BisJahr = INTEGER(ENTRY(3, ipDaten, ';')).
  645. F_VonKnr = INTEGER(ENTRY(4, ipDaten, ';')).
  646. F_BisKnr = INTEGER(ENTRY(4, ipDaten, ';')).
  647. F_VonTrArt = INTEGER(ENTRY(5, ipDaten, ';')).
  648. F_BisTrArt = INTEGER(ENTRY(5, ipDaten, ';')).
  649. F_VonDatum = DATE (ENTRY(6, ipDaten, ';')).
  650. F_BisDatum = DATE (ENTRY(6, ipDaten, ';')).
  651. F_VonAufnr = INTEGER(ENTRY(7, ipDaten, ';')).
  652. F_BisAufnr = INTEGER(ENTRY(7, ipDaten, ';')).
  653. RUN SUPER.
  654. /* Code placed here will execute AFTER standard behavior. */
  655. END PROCEDURE.
  656. /* _UIB-CODE-BLOCK-END */
  657. &ANALYZE-RESUME
  658. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gexcelartbe
  659. PROCEDURE KOPF :
  660. /*------------------------------------------------------------------------------
  661. Purpose:
  662. Parameters: <none>
  663. Notes:
  664. ------------------------------------------------------------------------------*/
  665. FIND Steuer USE-INDEX Steuer-k1
  666. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  667. Zelle = 'A1'.
  668. excelAppl:Range(Zelle):Select.
  669. excelAppl:Selection:VALUE = Steuer.Firma1.
  670. Zelle = 'G1'.
  671. excelAppl:Range(Zelle):Select.
  672. excelAppl:Selection:VALUE = 'Artikelbewegungen'.
  673. Zelle = 'P1'.
  674. excelAppl:Range(Zelle):Select.
  675. excelAppl:Selection:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
  676. Zelle = 'A2'.
  677. excelAppl:Range(Zelle):Select.
  678. excelAppl:Selection:VALUE = Steuer.Ort.
  679. IF T_Datum THEN DO:
  680. Zelle = 'G2'.
  681. excelAppl:Range(Zelle):Select.
  682. excelAppl:Selection:VALUE = STRING(F_VonDatum,'99.99.9999')
  683. + ' - '
  684. + STRING(F_BisDatum,'99.99.9999').
  685. END.
  686. Zelle = 'P2'.
  687. excelAppl:Range(Zelle):Select.
  688. excelAppl:Selection:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  689. END PROCEDURE.
  690. /* _UIB-CODE-BLOCK-END */
  691. &ANALYZE-RESUME
  692. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gexcelartbe
  693. PROCEDURE NEXTPAGE :
  694. /*------------------------------------------------------------------------------
  695. Purpose:
  696. Parameters: <none>
  697. Notes:
  698. ------------------------------------------------------------------------------*/
  699. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  700. IF AktSeite = MaxPage THEN AktSeite = 1.
  701. ELSE AktSeite = AktSeite + 1.
  702. RUN selectPage ( INPUT AktSeite ).
  703. END PROCEDURE.
  704. /* _UIB-CODE-BLOCK-END */
  705. &ANALYZE-RESUME
  706. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gexcelartbe
  707. PROCEDURE PREVPAGE :
  708. /*------------------------------------------------------------------------------
  709. Purpose:
  710. Parameters: <none>
  711. Notes:
  712. ------------------------------------------------------------------------------*/
  713. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  714. IF AktSeite = 1 THEN AktSeite = MaxPage.
  715. ELSE AktSeite = AktSeite - 1.
  716. RUN selectPage ( INPUT AktSeite ).
  717. END PROCEDURE.
  718. /* _UIB-CODE-BLOCK-END */
  719. &ANALYZE-RESUME
  720. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gexcelartbe
  721. PROCEDURE REPORT :
  722. /*------------------------------------------------------------------------------
  723. Purpose:
  724. Parameters: <none>
  725. Notes:
  726. ------------------------------------------------------------------------------*/
  727. DEF VAR qHandle AS WIDGET-HANDLE NO-UNDO.
  728. DEF VAR bHandle AS WIDGET-HANDLE NO-UNDO.
  729. DEF VAR dHandle AS WIDGET-HANDLE NO-UNDO.
  730. DEF VAR sSelektion AS CHAR NO-UNDO.
  731. DEF VAR fErst AS LOG NO-UNDO.
  732. DEF VAR Diff AS INT NO-UNDO EXTENT 10.
  733. DEF VAR iSort AS INT NO-UNDO EXTENT 10.
  734. DEF VAR iMax AS INT NO-UNDO.
  735. DEF VAR Feld AS INT NO-UNDO.
  736. DEF VAR ii AS INT NO-UNDO.
  737. DEF VAR i1 AS INT NO-UNDO.
  738. DEF VAR FeldName AS CHAR NO-UNDO.
  739. DEF VAR PrimName AS CHAR NO-UNDO.
  740. DEF VAR IndexName AS CHAR NO-UNDO.
  741. DEF VAR ja AS LOG NO-UNDO INIT FALSE.
  742. DO WITH FRAME {&FRAME-NAME}:
  743. ASSIGN {&List-6}.
  744. IF T_Artnr THEN DO:
  745. IF F_VonArtnr = 0 AND F_BisArtnr = 0 THEN F_BisArtnr = 999999.
  746. IF F_BisArtnr < F_VonArtnr THEN F_BisArtnr = F_VonArtnr .
  747. IF F_VonInhalt = 0 AND F_BisInhalt = 0 THEN F_BisInhalt = 9999.
  748. IF F_BisInhalt < F_VonInhalt THEN F_BisInhalt = F_VonInhalt.
  749. IF F_VonJahr = 0 AND F_BisJahr = 0 THEN F_BisJahr = 9999.
  750. IF F_BisJahr < F_VonJahr THEN F_BisJahr = F_VonJahr .
  751. END.
  752. IF T_Knr THEN DO:
  753. IF F_VonKnr = 0 AND F_BisKnr = 0 THEN F_BisKnr = 999999.
  754. IF F_BisKnr < F_VonKnr THEN F_BisKnr = F_VonKnr .
  755. END.
  756. IF T_TrArt THEN DO:
  757. IF F_VonTrArt = 0 AND F_BisTrArt = 0 THEN F_BisTrArt = 99.
  758. IF F_BisTrArt < F_VonTrArt THEN F_BisTrArt = F_VonTrArt .
  759. END.
  760. IF T_Datum THEN DO:
  761. IF F_VonDatum = ? THEN F_VonDatum = DATE(01,01,YEAR(TODAY)).
  762. IF F_BisDatum = ? THEN F_BisDatum = DATE(12,31,YEAR(TODAY)).
  763. IF F_BisDatum < F_VonDatum THEN F_BisDatum = F_VonDatum .
  764. END.
  765. IF T_Aufnr THEN DO:
  766. IF F_VonAufnr = 0 AND F_BisAufnr = 0 THEN F_BisAufnr = 999999.
  767. IF F_BisAufnr < F_VonAufnr THEN F_BisAufnr = F_VonAufnr .
  768. END.
  769. DISPLAY {&List-6}.
  770. END.
  771. SESSION:SET-WAIT-STATE('GENERAL').
  772. Diff = 0.
  773. iSort = 0.
  774. Diff[01] = F_BisArtnr - F_VonArtnr .
  775. Diff[02] = F_BisKnr - F_VonKnr .
  776. Diff[03] = F_BisTrArt - F_VonTrArt .
  777. Diff[04] = F_BisDatum - F_VonDatum .
  778. Diff[05] = F_BisAufnr - F_VonAufnr .
  779. ii = 0.
  780. DO WHILE TRUE:
  781. iMax = 99999999.
  782. Feld = 0.
  783. IF T_Artnr THEN DO:
  784. IF Diff[01] < iMax THEN DO:
  785. iMax = Diff[01].
  786. Feld = 1.
  787. END.
  788. END.
  789. IF T_Knr THEN DO:
  790. IF Diff[02] < iMax THEN DO:
  791. iMax = Diff[02].
  792. Feld = 2.
  793. END.
  794. END.
  795. IF T_TrArt THEN DO:
  796. IF Diff[03] < iMax THEN DO:
  797. iMax = Diff[03].
  798. Feld = 3.
  799. END.
  800. END.
  801. IF T_Datum THEN DO:
  802. IF Diff[04] < iMax THEN DO:
  803. iMax = Diff[04].
  804. Feld = 4.
  805. END.
  806. END.
  807. IF T_Aufnr THEN DO:
  808. IF Diff[05] < iMax THEN DO:
  809. iMax = Diff[05].
  810. Feld = 5.
  811. END.
  812. END.
  813. IF Feld = 0 THEN LEAVE.
  814. ii = ii + 1.
  815. iSort[ii] = Feld.
  816. CASE Feld:
  817. WHEN 1 THEN T_Artnr = FALSE.
  818. WHEN 2 THEN T_Knr = FALSE.
  819. WHEN 3 THEN T_TrArt = FALSE.
  820. WHEN 4 THEN T_Datum = FALSE.
  821. WHEN 5 THEN T_Aufnr = FALSE.
  822. END CASE.
  823. END.
  824. DO WITH FRAME {&FRAME-NAME}:
  825. ASSIGN {&List-6}.
  826. END.
  827. EMPTY TEMP-TABLE TIndex.
  828. EMPTY TEMP-TABLE tArtbw.
  829. FIND _File WHERE _File._File-name = 'Artbw'.
  830. FOR EACH _Index OF _File ,
  831. EACH _Index-Field OF _Index ,
  832. FIRST _Field OF _Index-Field:
  833. CREATE TIndex.
  834. ASSIGN TIndex.Index-Name = _Index._Index-Name
  835. TIndex.Feld-Name = _Field._Field-Name
  836. TIndex.Feldnr = _Index-Field._Index-seq.
  837. END.
  838. DO WHILE TRUE:
  839. IF iSort[01] = 0 THEN DO:
  840. EMPTY TEMP-TABLE TIndex.
  841. LEAVE.
  842. END.
  843. CASE iSort[01]:
  844. WHEN 1 THEN FeldName = 'Artnr'.
  845. WHEN 2 THEN FeldName = 'Knr'.
  846. WHEN 3 THEN FeldName = 'Tr_Art'.
  847. WHEN 4 THEN FeldName = 'Datum'.
  848. WHEN 5 THEN FeldName = 'Aufnr'.
  849. END CASE.
  850. FOR EACH TIndex USE-INDEX TIndex-k1
  851. WHERE TIndex.Feld-Name = FeldName
  852. AND TIndex.FeldNr <> 2:
  853. DELETE TIndex.
  854. END.
  855. PrimName = FeldName.
  856. IF iSort[02] = 0 THEN LEAVE.
  857. CASE iSort[02]:
  858. WHEN 1 THEN FeldName = 'Artnr'.
  859. WHEN 2 THEN FeldName = 'Knr'.
  860. WHEN 3 THEN FeldName = 'Tr_Art'.
  861. WHEN 4 THEN FeldName = 'Datum'.
  862. WHEN 5 THEN FeldName = 'Aufnr'.
  863. END CASE.
  864. FOR EACH TIndex WHERE TIndex.Feld-Name = FeldName
  865. BREAK BY TIndex.Feld-Name
  866. BY TIndex.FeldNr:
  867. IF NOT FIRST-OF ( TIndex.Feld-Name ) THEN DELETE TIndex.
  868. END.
  869. LEAVE.
  870. END.
  871. FIND FIRST TIndex USE-INDEX TIndex-k1
  872. WHERE TIndex.Feld-Name = PrimName NO-ERROR.
  873. IF AVAILABLE TIndex THEN IndexName = TIndex.Index-Name.
  874. ELSE IndexName = 'Artbw-k1'.
  875. CREATE QUERY qHandle.
  876. CREATE BUFFER bHandle FOR TABLE 'Artbw'.
  877. qHandle:SET-BUFFERS(bHandle).
  878. sSelektion = 'FOR EACH Artbw USE-INDEX ' + IndexName + ' '
  879. + 'WHERE Artbw.Firma = "' + Firma + '" '.
  880. IF T_Artnr THEN DO:
  881. sSelektion = sSelektion + 'AND Artbw.Artnr >= ' + STRING(F_VonArtnr) + ' '
  882. + 'AND Artbw.Artnr <= ' + STRING(F_BisArtnr) + ' '
  883. + 'AND Artbw.Inhalt >= ' + STRING(F_VonInhalt) + ' '
  884. + 'AND Artbw.Inhalt <= ' + STRING(F_BisInhalt) + ' '
  885. + 'AND Artbw.Jahr >= ' + STRING(F_VonJahr ) + ' '
  886. + 'AND Artbw.Jahr <= ' + STRING(F_BisJahr ) + ' '.
  887. END.
  888. IF T_Knr THEN DO:
  889. sSelektion = sSelektion + 'AND Artbw.Knr >= ' + STRING(F_VonKnr ) + ' '
  890. + 'AND Artbw.Knr <= ' + STRING(F_BisKnr ) + ' '.
  891. END.
  892. IF T_TrArt THEN DO:
  893. sSelektion = sSelektion + 'AND Artbw.Tr_Art>= ' + STRING(F_VonTrArt) + ' '
  894. + 'AND Artbw.Tr_Art<= ' + STRING(F_BisTrArt) + ' '.
  895. END.
  896. IF T_Datum THEN DO:
  897. sSelektion = sSelektion + 'AND Artbw.Datum >= ' + STRING(F_VonDatum) + ' '
  898. + 'AND Artbw.Datum <= ' + STRING(F_BisDatum) + ' '.
  899. END.
  900. IF T_Aufnr THEN DO:
  901. sSelektion = sSelektion + 'AND Artbw.Aufnr >= ' + STRING(F_VonAufnr) + ' '
  902. + 'AND Artbw.Aufnr <= ' + STRING(F_BisAufnr) + ' '.
  903. END.
  904. sSelektion = sSelektion + 'NO-LOCK INDEXED-REPOSITION '.
  905. qHandle:QUERY-PREPARE(sSelektion).
  906. qHandle:QUERY-OPEN().
  907. cVorlage = 'Artikelbewegungen.xls'.
  908. cDokument = 'Artikelbewegungen.xls'.
  909. cDaten = 'Artikelbewegungen.txt'.
  910. cDateiName = cDokument + CHR(01) + cVorlage.
  911. RUN CREATEDATEI ( INPUT cDateiName ).
  912. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  913. cDokument = RETURN-VALUE.
  914. cDateiName = cDaten.
  915. RUN CREATEDATEI ( INPUT cDateiName ).
  916. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  917. cDaten = RETURN-VALUE.
  918. OUTPUT TO VALUE(cDaten).
  919. fErst = TRUE.
  920. ii = 0.
  921. CREATE tArtbw.
  922. REPEAT TRANSACTION:
  923. IF fErst THEN qHandle:GET-FIRST(NO-LOCK).
  924. ELSE qHandle:GET-NEXT (NO-LOCK).
  925. fErst = FALSE.
  926. IF qHandle:QUERY-OFF-END THEN LEAVE.
  927. dHandle = qHandle:GET-BUFFER-HANDLE().
  928. FIND FIRST tArtbw.
  929. BUFFER tArtbw:BUFFER-COPY( dHandle ).
  930. RUN EXPORT_DATEN.
  931. ii = ii + 1.
  932. END.
  933. OUTPUT CLOSE.
  934. qHandle:QUERY-CLOSE().
  935. DELETE OBJECT bHandle.
  936. DELETE OBJECT qHandle.
  937. SESSION:SET-WAIT-STATE('').
  938. IF ii = 0 THEN DO:
  939. MESSAGE 'Keine Daten selektiert ' VIEW-AS ALERT-BOX.
  940. RETURN 'Keine Daten'.
  941. END.
  942. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  943. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  944. RUN FEHLER ( INPUT 1035 ).
  945. RETURN 'ERROR'.
  946. END.
  947. RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
  948. IF NOT ja THEN DO:
  949. RUN FEHLER ( INPUT 1040 ).
  950. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  951. RETURN 'ERROR'.
  952. END.
  953. Zelle = 'A5'.
  954. excelAppl:Range(Zelle):SELECT.
  955. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + cDaten.
  956. excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
  957. RUN KOPF.
  958. Zelle = 'A1'.
  959. excelAppl:Range(Zelle):SELECT.
  960. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  961. RETURN ''.
  962. END PROCEDURE.
  963. /* _UIB-CODE-BLOCK-END */
  964. &ANALYZE-RESUME
  965. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gexcelartbe
  966. PROCEDURE selectPage :
  967. /*------------------------------------------------------------------------------
  968. Purpose: Super Override
  969. Parameters:
  970. Notes:
  971. ------------------------------------------------------------------------------*/
  972. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  973. DEF VAR FMutFlag AS LOG NO-UNDO.
  974. DEF VAR MutProg AS CHAR NO-UNDO.
  975. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  976. DO WHILE TRUE:
  977. IF NOT FMutFlag THEN LEAVE.
  978. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  979. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  980. RETURN NO-APPLY.
  981. END.
  982. CASE piPageNum:
  983. END CASE.
  984. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  985. CASE AktSeite:
  986. WHEN 1 THEN DO:
  987. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  988. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  989. END.
  990. END CASE.
  991. RUN SUPER( INPUT piPageNum).
  992. END PROCEDURE.
  993. /* _UIB-CODE-BLOCK-END */
  994. &ANALYZE-RESUME
  995. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gexcelartbe
  996. PROCEDURE TOOLBAR :
  997. /*------------------------------------------------------------------------------
  998. Purpose:
  999. Parameters: <none>
  1000. Notes:
  1001. ------------------------------------------------------------------------------*/
  1002. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  1003. /*
  1004. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  1005. */
  1006. END PROCEDURE.
  1007. /* _UIB-CODE-BLOCK-END */
  1008. &ANALYZE-RESUME