g-liefart.w 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &Scoped-define FRAME-NAME gArtLie
  8. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gArtLie
  9. /*------------------------------------------------------------------------
  10. File:
  11. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  12. Input Parameters:
  13. <none>
  14. Output Parameters:
  15. <none>
  16. Author:
  17. Created:
  18. ------------------------------------------------------------------------*/
  19. /* This .W file was created with the Progress AppBuilder. */
  20. /*----------------------------------------------------------------------*/
  21. /* Create an unnamed pool to store all the widgets created
  22. by this procedure. This is a good default which assures
  23. that this procedure's triggers and internal procedures
  24. will execute in this procedure's storage, and that proper
  25. cleanup will occur on deletion of the procedure. */
  26. CREATE WIDGET-POOL.
  27. /* *************************** Definitions ************************** */
  28. /* Parameters Definitions --- */
  29. DEF INPUT PARAMETER iDaten AS CHAR NO-UNDO.
  30. /* Local Variable Definitions --- */
  31. DEF VAR MaxPage AS INT NO-UNDO.
  32. DEF VAR AktSeite AS INT NO-UNDO.
  33. DEF VAR FMutFlag AS LOG NO-UNDO.
  34. DEF VAR Firma AS CHAR NO-UNDO.
  35. DEF VAR geloeschte AS LOG INIT FALSE NO-UNDO.
  36. DEF VAR Knr AS INT NO-UNDO.
  37. DEF VAR Lieferant AS CHAR NO-UNDO.
  38. DEF VAR Ums_Vorj AS INT FORMAT "zzz,zzz,zz9-" NO-UNDO.
  39. DEF VAR Ums_Lauf AS INT FORMAT "zzz,zzz,zz9-" NO-UNDO.
  40. /* _UIB-CODE-BLOCK-END */
  41. &ANALYZE-RESUME
  42. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  43. /* ******************** Preprocessor Definitions ******************** */
  44. &Scoped-define PROCEDURE-TYPE SmartDialog
  45. &Scoped-define DB-AWARE no
  46. &Scoped-define ADM-CONTAINER DIALOG-BOX
  47. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  48. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  49. &Scoped-define FRAME-NAME gArtLie
  50. &Scoped-define BROWSE-NAME Br_LiefArt
  51. /* Internal Tables (found by Frame, Query & Browse Queries) */
  52. &Scoped-define INTERNAL-TABLES ArtLief Artst
  53. /* Definitions for BROWSE Br_LiefArt */
  54. &Scoped-define FIELDS-IN-QUERY-Br_LiefArt ArtLief.Artnr ArtLief.Inhalt ~
  55. ArtLief.Jahr Artst.Bez Artst.Bestand Artst.Bestellt Artst.Mind_Bestand ~
  56. ArtLief.S_Preis_FRW Artst.Listen_EP ~
  57. DYNAMIC-FUNCTION('GETUMSATZ':U, YEAR(TODAY) - 1) @ Ums_Vorj ~
  58. DYNAMIC-FUNCTION('GETUMSATZ':U, YEAR(TODAY) ) @ Ums_Lauf
  59. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_LiefArt
  60. &Scoped-define QUERY-STRING-Br_LiefArt FOR EACH ArtLief NO-LOCK, ~
  61. EACH Artst OF ArtLief NO-LOCK INDEXED-REPOSITION
  62. &Scoped-define OPEN-QUERY-Br_LiefArt OPEN QUERY Br_LiefArt FOR EACH ArtLief NO-LOCK, ~
  63. EACH Artst OF ArtLief NO-LOCK INDEXED-REPOSITION.
  64. &Scoped-define TABLES-IN-QUERY-Br_LiefArt ArtLief Artst
  65. &Scoped-define FIRST-TABLE-IN-QUERY-Br_LiefArt ArtLief
  66. &Scoped-define SECOND-TABLE-IN-QUERY-Br_LiefArt Artst
  67. /* Definitions for DIALOG-BOX gArtLie */
  68. /* Standard List Definitions */
  69. &Scoped-Define ENABLED-OBJECTS RECT-1 RECT-2 Br_LiefArt Btn_Excel
  70. /* Custom List Definitions */
  71. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  72. /* _UIB-PREPROCESSOR-BLOCK-END */
  73. &ANALYZE-RESUME
  74. /* ************************ Function Prototypes ********************** */
  75. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD GETUMSATZ gArtLie
  76. FUNCTION GETUMSATZ RETURNS DECIMAL
  77. ( Jahr AS INT ) FORWARD.
  78. /* _UIB-CODE-BLOCK-END */
  79. &ANALYZE-RESUME
  80. /* *********************** Control Definitions ********************** */
  81. /* Define a dialog box */
  82. /* Menu Definitions */
  83. DEFINE MENU POPUP-MENU-Br_LiefArt
  84. MENU-ITEM m_inaktive_einaus LABEL "inaktive ein/aus".
  85. /* Definitions of the field level widgets */
  86. DEFINE BUTTON Btn_Excel
  87. IMAGE-UP FILE "grafik/results%.ico":U
  88. LABEL "Excel"
  89. SIZE 7 BY 1.67.
  90. DEFINE RECTANGLE RECT-1
  91. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  92. SIZE 152 BY 14.05.
  93. DEFINE RECTANGLE RECT-2
  94. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  95. SIZE 131 BY 2.14.
  96. /* Query definitions */
  97. &ANALYZE-SUSPEND
  98. DEFINE QUERY Br_LiefArt FOR
  99. ArtLief,
  100. Artst SCROLLING.
  101. &ANALYZE-RESUME
  102. /* Browse definitions */
  103. DEFINE BROWSE Br_LiefArt
  104. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_LiefArt gArtLie _STRUCTURED
  105. QUERY Br_LiefArt NO-LOCK DISPLAY
  106. ArtLief.Artnr FORMAT "999999":U
  107. ArtLief.Inhalt FORMAT "9999":U
  108. ArtLief.Jahr FORMAT "9999":U
  109. Artst.Bez COLUMN-LABEL "Artikel" FORMAT "x(32)":U
  110. Artst.Bestand FORMAT "zz,zzz,zz9-":U
  111. Artst.Bestellt FORMAT "zz,zzz,zz9-":U
  112. Artst.Mind_Bestand COLUMN-LABEL "Mind. Best" FORMAT "zz,zzz,zz9-":U
  113. WIDTH 11
  114. ArtLief.S_Preis_FRW COLUMN-LABEL "Sein Preis" FORMAT "zzz,zz9.9999":U
  115. Artst.Listen_EP COLUMN-LABEL "Listen EP" FORMAT "z,zz9.999":U
  116. WIDTH 11
  117. DYNAMIC-FUNCTION('GETUMSATZ':U, YEAR(TODAY) - 1) @ Ums_Vorj COLUMN-LABEL "Ums Vorjahr" FORMAT "zzz,zzz,zz9-":U
  118. WIDTH 13
  119. DYNAMIC-FUNCTION('GETUMSATZ':U, YEAR(TODAY) ) @ Ums_Lauf COLUMN-LABEL "Ums Laufend" FORMAT "zzz,zzz,zz9-":U
  120. WIDTH 16
  121. /* _UIB-CODE-BLOCK-END */
  122. &ANALYZE-RESUME
  123. WITH NO-ROW-MARKERS SEPARATORS SIZE 150 BY 13.57
  124. BGCOLOR 15 TOOLTIP "rechte Maustaste gelöschte ein und ausschalten".
  125. /* ************************ Frame Definitions *********************** */
  126. DEFINE FRAME gArtLie
  127. Br_LiefArt AT ROW 1.48 COL 3
  128. Btn_Excel AT ROW 15.76 COL 123
  129. RECT-1 AT ROW 1.24 COL 2
  130. RECT-2 AT ROW 15.52 COL 2
  131. SPACE(24.79) SKIP(0.66)
  132. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  133. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  134. TITLE "Artikel von ->".
  135. /* *********************** Procedure Settings ************************ */
  136. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  137. /* Settings for THIS-PROCEDURE
  138. Type: SmartDialog
  139. Allow: Basic,Browse,DB-Fields,Query,Smart
  140. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  141. Design Page: 1
  142. Other Settings: COMPILE
  143. */
  144. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  145. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gArtLie
  146. /* ************************* Included-Libraries *********************** */
  147. {src/adm2/containr.i}
  148. /* _UIB-CODE-BLOCK-END */
  149. &ANALYZE-RESUME
  150. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  151. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  152. /* SETTINGS FOR DIALOG-BOX gArtLie
  153. FRAME-NAME */
  154. /* BROWSE-TAB Br_LiefArt RECT-2 gArtLie */
  155. ASSIGN
  156. FRAME gArtLie:SCROLLABLE = FALSE
  157. FRAME gArtLie:HIDDEN = TRUE.
  158. ASSIGN
  159. Br_LiefArt:POPUP-MENU IN FRAME gArtLie = MENU POPUP-MENU-Br_LiefArt:HANDLE.
  160. /* _RUN-TIME-ATTRIBUTES-END */
  161. &ANALYZE-RESUME
  162. /* Setting information for Queries and Browse Widgets fields */
  163. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_LiefArt
  164. /* Query rebuild information for BROWSE Br_LiefArt
  165. _TblList = "AnaDat.ArtLief,AnaDat.Artst OF AnaDat.ArtLief"
  166. _Options = "NO-LOCK INDEXED-REPOSITION"
  167. _FldNameList[1] = AnaDat.ArtLief.Artnr
  168. _FldNameList[2] = AnaDat.ArtLief.Inhalt
  169. _FldNameList[3] = AnaDat.ArtLief.Jahr
  170. _FldNameList[4] > AnaDat.Artst.Bez
  171. "Artst.Bez" "Artikel" "x(32)" "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  172. _FldNameList[5] > AnaDat.Artst.Bestand
  173. "Artst.Bestand" ? "zz,zzz,zz9-" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  174. _FldNameList[6] > AnaDat.Artst.Bestellt
  175. "Artst.Bestellt" ? "zz,zzz,zz9-" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  176. _FldNameList[7] > AnaDat.Artst.Mind_Bestand
  177. "Artst.Mind_Bestand" "Mind. Best" "zz,zzz,zz9-" "integer" ? ? ? ? ? ? no ? no no "11" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  178. _FldNameList[8] > AnaDat.ArtLief.S_Preis_FRW
  179. "ArtLief.S_Preis_FRW" "Sein Preis" "zzz,zz9.9999" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  180. _FldNameList[9] > AnaDat.Artst.Listen_EP
  181. "Artst.Listen_EP" "Listen EP" ? "decimal" ? ? ? ? ? ? no ? no no "11" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  182. _FldNameList[10] > "_<CALC>"
  183. "DYNAMIC-FUNCTION('GETUMSATZ':U, YEAR(TODAY) - 1) @ Ums_Vorj" "Ums Vorjahr" "zzz,zzz,zz9-" ? ? ? ? ? ? ? no ? no no "13" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  184. _FldNameList[11] > "_<CALC>"
  185. "DYNAMIC-FUNCTION('GETUMSATZ':U, YEAR(TODAY) ) @ Ums_Lauf" "Ums Laufend" "zzz,zzz,zz9-" ? ? ? ? ? ? ? no ? no no "16" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  186. _Query is NOT OPENED
  187. */ /* BROWSE Br_LiefArt */
  188. &ANALYZE-RESUME
  189. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gArtLie
  190. /* Query rebuild information for DIALOG-BOX gArtLie
  191. _Options = "SHARE-LOCK"
  192. _Query is NOT OPENED
  193. */ /* DIALOG-BOX gArtLie */
  194. &ANALYZE-RESUME
  195. /* ************************ Control Triggers ************************ */
  196. &Scoped-define SELF-NAME gArtLie
  197. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtLie gArtLie
  198. ON END-ERROR OF FRAME gArtLie /* Artikel von -> */
  199. DO:
  200. RUN ENDE.
  201. RETURN NO-APPLY.
  202. END.
  203. /* _UIB-CODE-BLOCK-END */
  204. &ANALYZE-RESUME
  205. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtLie gArtLie
  206. ON GO OF FRAME gArtLie /* Artikel von -> */
  207. DO:
  208. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  209. END.
  210. /* _UIB-CODE-BLOCK-END */
  211. &ANALYZE-RESUME
  212. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtLie gArtLie
  213. ON WINDOW-CLOSE OF FRAME gArtLie /* Artikel von -> */
  214. DO:
  215. RUN ENDE.
  216. RETURN NO-APPLY.
  217. END.
  218. /* _UIB-CODE-BLOCK-END */
  219. &ANALYZE-RESUME
  220. &Scoped-define BROWSE-NAME Br_LiefArt
  221. &Scoped-define SELF-NAME Br_LiefArt
  222. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_LiefArt gArtLie
  223. ON ENTRY OF Br_LiefArt IN FRAME gArtLie
  224. DO:
  225. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  226. RETURN NO-APPLY.
  227. END.
  228. /* _UIB-CODE-BLOCK-END */
  229. &ANALYZE-RESUME
  230. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_LiefArt gArtLie
  231. ON ROW-DISPLAY OF Br_LiefArt IN FRAME gArtLie
  232. DO:
  233. DEF VAR Farbe AS INT NO-UNDO.
  234. IF Artst.Aktiv THEN Farbe = 15.
  235. ELSE Farbe = 12.
  236. ArtLief.Artnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  237. ArtLief.Inhalt :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  238. ArtLief.Jahr :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  239. Artst.Bez :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  240. Artst.Bestand :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  241. Artst.Bestellt :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  242. Artst.Mind_Bestand :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  243. ArtLief.S_Preis_FRW:BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  244. Artst.Listen_Ep :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  245. Ums_Vorj :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  246. Ums_Lauf :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  247. END.
  248. /* _UIB-CODE-BLOCK-END */
  249. &ANALYZE-RESUME
  250. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_LiefArt gArtLie
  251. ON VALUE-CHANGED OF Br_LiefArt IN FRAME gArtLie
  252. DO:
  253. PUBLISH 'BESTELLVORSCHLAG' ( Artst.Artnr, Artst.Inhalt, Artst.Jahr ).
  254. APPLY 'ENTRY' TO SELF.
  255. RETURN NO-APPLY.
  256. END.
  257. /* _UIB-CODE-BLOCK-END */
  258. &ANALYZE-RESUME
  259. &Scoped-define SELF-NAME Btn_Excel
  260. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel gArtLie
  261. ON CHOOSE OF Btn_Excel IN FRAME gArtLie /* Excel */
  262. DO:
  263. DISABLE Btn_Excel WITH FRAME {&FRAME-NAME}.
  264. RUN REPORT.
  265. ENABLE Btn_Excel WITH FRAME {&FRAME-NAME}.
  266. END.
  267. /* _UIB-CODE-BLOCK-END */
  268. &ANALYZE-RESUME
  269. &Scoped-define SELF-NAME m_inaktive_einaus
  270. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_inaktive_einaus gArtLie
  271. ON CHOOSE OF MENU-ITEM m_inaktive_einaus /* inaktive ein/aus */
  272. DO:
  273. geloeschte = (IF geloeschte THEN FALSE ELSE TRUE).
  274. RUN OPENQUERY.
  275. END.
  276. /* _UIB-CODE-BLOCK-END */
  277. &ANALYZE-RESUME
  278. &UNDEFINE SELF-NAME
  279. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gArtLie
  280. /* *************************** Main Block *************************** */
  281. MaxPage = 1.
  282. AktSeite = 1.
  283. Knr = INTEGER(ENTRY(1, iDaten, CHR(01))).
  284. Lieferant = ENTRY(2, iDaten, CHR(01)).
  285. SESSION:DATA-ENTRY-RETURN = TRUE.
  286. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  287. /* TRIGGERS ------------------------------------------------------ */
  288. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  289. DO:
  290. RUN NEXTPAGE.
  291. END.
  292. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  293. DO:
  294. RUN PREVPAGE.
  295. END.
  296. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  297. DO:
  298. RUN ENTRY_CURSOR.
  299. END.
  300. /*
  301. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  302. DO:
  303. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  304. END.
  305. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  306. DO:
  307. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  308. END.
  309. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  310. DO:
  311. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  312. END.
  313. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  314. DO:
  315. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  316. END.
  317. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  318. DO:
  319. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  320. END.
  321. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  322. DO:
  323. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  324. END.
  325. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  326. DO:
  327. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  328. END.
  329. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  330. DO:
  331. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  332. END.
  333. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  334. DO:
  335. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  336. END.
  337. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  338. DO:
  339. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  340. IF FMutFlag = FALSE THEN DO:
  341. RUN ENDE.
  342. RETURN NO-APPLY.
  343. END.
  344. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  345. RETURN NO-APPLY.
  346. END.
  347. */
  348. /* ------------------------------------------------------------------ */
  349. {src/adm2/dialogmn.i}
  350. /* _UIB-CODE-BLOCK-END */
  351. &ANALYZE-RESUME
  352. /* ********************** Internal Procedures *********************** */
  353. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gArtLie _ADM-CREATE-OBJECTS
  354. PROCEDURE adm-create-objects :
  355. /*------------------------------------------------------------------------------
  356. Purpose: Create handles for all SmartObjects used in this procedure.
  357. After SmartObjects are initialized, then SmartLinks are added.
  358. Parameters: <none>
  359. ------------------------------------------------------------------------------*/
  360. END PROCEDURE.
  361. /* _UIB-CODE-BLOCK-END */
  362. &ANALYZE-RESUME
  363. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gArtLie
  364. PROCEDURE changePage :
  365. /*------------------------------------------------------------------------------
  366. Purpose: Super Override
  367. Parameters:
  368. Notes:
  369. ------------------------------------------------------------------------------*/
  370. /* Code placed here will execute PRIOR to standard behavior. */
  371. RUN SUPER.
  372. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  373. CASE AktSeite:
  374. WHEN 1 THEN DO:
  375. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  376. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  377. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  378. RUN ENTRY_CURSOR.
  379. END.
  380. WHEN 2 THEN DO:
  381. RUN ENTRY_CURSOR.
  382. END.
  383. END CASE.
  384. END PROCEDURE.
  385. /* _UIB-CODE-BLOCK-END */
  386. &ANALYZE-RESUME
  387. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gArtLie _DEFAULT-DISABLE
  388. PROCEDURE disable_UI :
  389. /*------------------------------------------------------------------------------
  390. Purpose: DISABLE the User Interface
  391. Parameters: <none>
  392. Notes: Here we clean-up the user-interface by deleting
  393. dynamic widgets we have created and/or hide
  394. frames. This procedure is usually called when
  395. we are ready to "clean-up" after running.
  396. ------------------------------------------------------------------------------*/
  397. /* Hide all frames. */
  398. HIDE FRAME gArtLie.
  399. END PROCEDURE.
  400. /* _UIB-CODE-BLOCK-END */
  401. &ANALYZE-RESUME
  402. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gArtLie
  403. PROCEDURE enableObject :
  404. /*------------------------------------------------------------------------------
  405. Purpose: Super Override
  406. Parameters:
  407. Notes:
  408. ------------------------------------------------------------------------------*/
  409. /* Code placed here will execute PRIOR to standard behavior. */
  410. RUN SUPER.
  411. FRAME {&FRAME-NAME}:TITLE = FRAME {&FRAME-NAME}:TITLE + ' ' + Lieferant.
  412. END PROCEDURE.
  413. /* _UIB-CODE-BLOCK-END */
  414. &ANALYZE-RESUME
  415. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gArtLie _DEFAULT-ENABLE
  416. PROCEDURE enable_UI :
  417. /*------------------------------------------------------------------------------
  418. Purpose: ENABLE the User Interface
  419. Parameters: <none>
  420. Notes: Here we display/view/enable the widgets in the
  421. user-interface. In addition, OPEN all queries
  422. associated with each FRAME and BROWSE.
  423. These statements here are based on the "Other
  424. Settings" section of the widget Property Sheets.
  425. ------------------------------------------------------------------------------*/
  426. ENABLE RECT-1 RECT-2 Br_LiefArt Btn_Excel
  427. WITH FRAME gArtLie.
  428. VIEW FRAME gArtLie.
  429. {&OPEN-BROWSERS-IN-QUERY-gArtLie}
  430. END PROCEDURE.
  431. /* _UIB-CODE-BLOCK-END */
  432. &ANALYZE-RESUME
  433. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gArtLie
  434. PROCEDURE ENDE :
  435. /*------------------------------------------------------------------------------
  436. Purpose:
  437. Parameters: <none>
  438. Notes:
  439. ------------------------------------------------------------------------------*/
  440. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  441. IF AktSeite > 1 THEN DO:
  442. RUN selectPage ( INPUT 1 ).
  443. RETURN NO-APPLY.
  444. END.
  445. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  446. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  447. RETURN NO-APPLY.
  448. END PROCEDURE.
  449. /* _UIB-CODE-BLOCK-END */
  450. &ANALYZE-RESUME
  451. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gArtLie
  452. PROCEDURE ENTRY_CURSOR :
  453. /*------------------------------------------------------------------------------
  454. Purpose:
  455. Parameters: <none>
  456. Notes:
  457. ------------------------------------------------------------------------------*/
  458. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  459. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  460. RETURN NO-APPLY.
  461. END PROCEDURE.
  462. /* _UIB-CODE-BLOCK-END */
  463. &ANALYZE-RESUME
  464. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gArtLie
  465. PROCEDURE exitObject :
  466. /*------------------------------------------------------------------------------
  467. Purpose: Super Override
  468. Parameters:
  469. Notes:
  470. ------------------------------------------------------------------------------*/
  471. RUN ENDE.
  472. RETURN NO-APPLY.
  473. END PROCEDURE.
  474. /* _UIB-CODE-BLOCK-END */
  475. &ANALYZE-RESUME
  476. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gArtLie
  477. PROCEDURE KOPF :
  478. /*------------------------------------------------------------------------------
  479. Purpose:
  480. Parameters: <none>
  481. Notes:
  482. ------------------------------------------------------------------------------*/
  483. DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
  484. DEF VAR Zelle AS CHAR NO-UNDO.
  485. /*
  486. eh:APPLICATION:RUN('FormatKopf').
  487. */
  488. FIND Steuer USE-INDEX Steuer-k1
  489. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  490. Zelle = 'Links1'.
  491. eh:Range(Zelle):SELECT.
  492. eh:SELECTION:VALUE = Steuer.Firma1.
  493. Zelle = 'Mitte1'.
  494. eh:Range(Zelle):SELECT.
  495. eh:SELECTION:VALUE = 'Artikel des Lieferanten'.
  496. Zelle = 'Rechts1'.
  497. eh:Range(Zelle):SELECT.
  498. eh:SELECTION:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
  499. Zelle = 'Links2'.
  500. eh:Range(Zelle):SELECT.
  501. eh:SELECTION:VALUE = Steuer.Ort.
  502. Zelle = 'Mitte2'.
  503. eh:Range(Zelle):SELECT.
  504. eh:SELECTION:VALUE = ''.
  505. Zelle = 'Rechts2'.
  506. eh:Range(Zelle):SELECT.
  507. eh:SELECTION:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  508. END PROCEDURE.
  509. /* _UIB-CODE-BLOCK-END */
  510. &ANALYZE-RESUME
  511. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gArtLie
  512. PROCEDURE NEXTPAGE :
  513. /*------------------------------------------------------------------------------
  514. Purpose:
  515. Parameters: <none>
  516. Notes:
  517. ------------------------------------------------------------------------------*/
  518. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  519. IF AktSeite = MaxPage THEN AktSeite = 1.
  520. ELSE AktSeite = AktSeite + 1.
  521. RUN selectPage ( INPUT AktSeite ).
  522. END PROCEDURE.
  523. /* _UIB-CODE-BLOCK-END */
  524. &ANALYZE-RESUME
  525. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENQUERY gArtLie
  526. PROCEDURE OPENQUERY :
  527. /*------------------------------------------------------------------------------
  528. Purpose:
  529. Parameters: <none>
  530. Notes:
  531. ------------------------------------------------------------------------------*/
  532. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  533. CASE geloeschte:
  534. WHEN FALSE THEN DO:
  535. OPEN QUERY {&BROWSE-NAME}
  536. FOR EACH ArtLief USE-INDEX ArtLief-k2
  537. WHERE Artlief.Firma = Firma
  538. AND ArtLief.Knr = Knr NO-LOCK,
  539. FIRST Artst OF ArtLief NO-LOCK.
  540. END.
  541. OTHERWISE DO:
  542. OPEN QUERY {&BROWSE-NAME}
  543. FOR EACH ArtLief USE-INDEX ArtLief-k2
  544. WHERE Artlief.Firma = Firma
  545. AND ArtLief.Knr = Knr NO-LOCK,
  546. FIRST Artst OF ArtLief NO-LOCK
  547. WHERE Artst.Aktiv = TRUE.
  548. END.
  549. END CASE.
  550. END PROCEDURE.
  551. /* _UIB-CODE-BLOCK-END */
  552. &ANALYZE-RESUME
  553. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gArtLie
  554. PROCEDURE PREVPAGE :
  555. /*------------------------------------------------------------------------------
  556. Purpose:
  557. Parameters: <none>
  558. Notes:
  559. ------------------------------------------------------------------------------*/
  560. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  561. IF AktSeite = 1 THEN AktSeite = MaxPage.
  562. ELSE AktSeite = AktSeite - 1.
  563. RUN selectPage ( INPUT AktSeite ).
  564. END PROCEDURE.
  565. /* _UIB-CODE-BLOCK-END */
  566. &ANALYZE-RESUME
  567. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gArtLie
  568. PROCEDURE REPORT :
  569. /*------------------------------------------------------------------------------
  570. Purpose:
  571. Parameters: <none>
  572. Notes:
  573. ------------------------------------------------------------------------------*/
  574. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  575. DEF VAR DatenName AS CHAR NO-UNDO.
  576. DEF VAR DateiName AS CHAR NO-UNDO.
  577. DEF VAR Zelle AS CHAR NO-UNDO.
  578. DEF VAR xText AS CHAR NO-UNDO.
  579. DEF VAR Ja AS LOG NO-UNDO.
  580. DEF VAR KGeb AS CHAR NO-UNDO.
  581. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  582. DatenName = 'LieferantenArtikel.txt'.
  583. DateiName = 'LieferantenArtikel.xls' + CHR(01) + 'LieferantenArtikel.xls'.
  584. DO WITH FRAME {&FRAME-NAME}:
  585. DO WHILE TRUE:
  586. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  587. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  588. RUN FEHLER ( INPUT 1035 ).
  589. RETURN NO-APPLY.
  590. END.
  591. LEAVE.
  592. END.
  593. DO WHILE TRUE:
  594. RUN CREATEDATEI ( INPUT DateiName ).
  595. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  596. CASE RETURN-VALUE:
  597. WHEN 'ERROR-PARAMETER' THEN DO:
  598. RUN FEHLER ( INPUT 1036 ).
  599. RETURN NO-APPLY.
  600. END.
  601. WHEN 'ERROR-LOESCHEN' THEN DO:
  602. RUN FEHLER ( INPUT 1037 ).
  603. RETURN NO-APPLY.
  604. END.
  605. WHEN 'ERROR-VORLAGE' THEN DO:
  606. RUN FEHLER ( INPUT 1038 ).
  607. RETURN NO-APPLY.
  608. END.
  609. OTHERWISE DO:
  610. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  611. RETURN NO-APPLY.
  612. END.
  613. END CASE.
  614. LEAVE.
  615. END.
  616. DateiName = RETURN-VALUE.
  617. DO WHILE TRUE:
  618. RUN CREATEDATEI ( INPUT DatenName ).
  619. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  620. CASE RETURN-VALUE:
  621. WHEN 'ERROR-PARAMETER' THEN DO:
  622. RUN FEHLER ( INPUT 1036 ).
  623. RETURN NO-APPLY.
  624. END.
  625. WHEN 'ERROR-LOESCHEN' THEN DO:
  626. RUN FEHLER ( INPUT 1037 ).
  627. RETURN NO-APPLY.
  628. END.
  629. WHEN 'ERROR-VORLAGE' THEN DO:
  630. RUN FEHLER ( INPUT 1038 ).
  631. RETURN NO-APPLY.
  632. END.
  633. OTHERWISE DO:
  634. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  635. RETURN NO-APPLY.
  636. END.
  637. END CASE.
  638. LEAVE.
  639. END.
  640. DatenName = RETURN-VALUE.
  641. OUTPUT TO VALUE(DatenName) APPEND.
  642. PUT CONTROL '£'
  643. Lieferant CHR(10).
  644. PUT CONTROL '£Artnr£Bezeichnung£Gebinde£Jahr£Bestand£'
  645. 'Bestellt£Mindest£Listen£Umsatz£Umsatz' CHR(10).
  646. PUT CONTROL '£££££££Bestand£EP£Vorjahr£Laufend' CHR(10)
  647. '£' CHR(10).
  648. Ja = QUERY {&BROWSE-NAME}:GET-FIRST NO-ERROR.
  649. DO WHILE Ja:
  650. FIND KGebinde USE-INDEX KGebinde-k1
  651. WHERE KGebinde.Firma = Firma
  652. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK NO-ERROR.
  653. IF AVAILABLE KGebinde THEN KGeb = KGebinde.KBez.
  654. ELSE KGeb = FILL('?', 10).
  655. Ums_Vorj = DYNAMIC-FUNCTION('GETUMSATZ':U, YEAR(TODAY) - 1).
  656. Ums_Lauf = DYNAMIC-FUNCTION('GETUMSATZ':U, YEAR(TODAY) ).
  657. PUT CONTROL '£'.
  658. PUT CONTROL STRING(Artst.Artnr ,'999999') '£'
  659. Artst.Bez '£'
  660. KGeb '£'
  661. STRING(Artst.Jahr ,'zzzz') '£'
  662. STRING(Artst.Bestand ,'->>>>>>>>9') '£'
  663. STRING(Artst.Bestellt ,'->>>>>>>>9') '£'
  664. STRING(Artst.Mind_Bestand ,'->>>>>>>>9') '£'
  665. STRING(Artst.Listen_EP ,'>>>>9.999') '£'
  666. STRING(Ums_Vorj ,'->>>>>>>>9') '£'
  667. STRING(Ums_Lauf ,'->>>>>>>>9') CHR(10).
  668. Ja = QUERY {&BROWSE-NAME}:GET-NEXT NO-ERROR.
  669. END.
  670. OUTPUT CLOSE.
  671. RUN OPENEXCEL ( INPUT excelAppl,
  672. INPUT DateiName,
  673. INPUT '',
  674. OUTPUT Ja ).
  675. IF NOT Ja THEN DO:
  676. RUN FEHLER ( INPUT 1040 ).
  677. RETURN NO-APPLY.
  678. END.
  679. Zelle = 'A3'.
  680. excelAppl:Range(Zelle):SELECT.
  681. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + DatenName.
  682. excelAppl:Application:RUN ( 'DateiEinfügen' ).
  683. RUN KOPF ( INPUT excelAppl ).
  684. Zelle = 'A1'.
  685. excelAppl:Range(Zelle):SELECT.
  686. excelAppl:Selection:ColumnWidth = 0.3.
  687. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  688. END.
  689. END PROCEDURE.
  690. /* _UIB-CODE-BLOCK-END */
  691. &ANALYZE-RESUME
  692. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gArtLie
  693. PROCEDURE selectPage :
  694. /*------------------------------------------------------------------------------
  695. Purpose: Super Override
  696. Parameters:
  697. Notes:
  698. ------------------------------------------------------------------------------*/
  699. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  700. DEF VAR FMutFlag AS LOG NO-UNDO.
  701. DEF VAR MutProg AS CHAR NO-UNDO.
  702. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  703. DO WHILE TRUE:
  704. IF NOT FMutFlag THEN LEAVE.
  705. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  706. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  707. RETURN NO-APPLY.
  708. END.
  709. CASE piPageNum:
  710. END CASE.
  711. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  712. CASE AktSeite:
  713. WHEN 1 THEN DO:
  714. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  715. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  716. END.
  717. END CASE.
  718. RUN SUPER( INPUT piPageNum).
  719. END PROCEDURE.
  720. /* _UIB-CODE-BLOCK-END */
  721. &ANALYZE-RESUME
  722. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gArtLie
  723. PROCEDURE TOOLBAR :
  724. /*------------------------------------------------------------------------------
  725. Purpose:
  726. Parameters: <none>
  727. Notes:
  728. ------------------------------------------------------------------------------*/
  729. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  730. /*
  731. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  732. */
  733. END PROCEDURE.
  734. /* _UIB-CODE-BLOCK-END */
  735. &ANALYZE-RESUME
  736. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject gArtLie
  737. PROCEDURE viewObject :
  738. /*------------------------------------------------------------------------------
  739. Purpose: Super Override
  740. Parameters:
  741. Notes:
  742. ------------------------------------------------------------------------------*/
  743. RUN SUPER.
  744. RUN OPENQUERY.
  745. END PROCEDURE.
  746. /* _UIB-CODE-BLOCK-END */
  747. &ANALYZE-RESUME
  748. /* ************************ Function Implementations ***************** */
  749. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION GETUMSATZ gArtLie
  750. FUNCTION GETUMSATZ RETURNS DECIMAL
  751. ( Jahr AS INT ) :
  752. /*------------------------------------------------------------------------------
  753. Purpose:
  754. Notes:
  755. ------------------------------------------------------------------------------*/
  756. FIND ArtUms USE-INDEX ArtUms-k1
  757. WHERE ArtUms.Firma = Artst.Firma
  758. AND ArtUms.Artnr = Artst.Artnr
  759. AND ArtUms.Inhalt = Artst.Inhalt
  760. AND ArtUms.Jahrg = Artst.Jahr
  761. AND ArtUms.Jahr = Jahr NO-LOCK NO-ERROR.
  762. IF NOT AVAILABLE ArtUms THEN RETURN 0.00.
  763. ELSE RETURN ArtUms.Me_Kum.
  764. END FUNCTION.
  765. /* _UIB-CODE-BLOCK-END */
  766. &ANALYZE-RESUME