w-rabattgrp.w 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME wRabSummGrp
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wRabSummGrp
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from cntnrwin.w - ADM SmartWindow Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. History: New V9 Version - January 15, 1998
  16. ------------------------------------------------------------------------*/
  17. /* This .W file was created with the Progress AB. */
  18. /*----------------------------------------------------------------------*/
  19. /* Create an unnamed pool to store all the widgets created
  20. by this procedure. This is a good default which assures
  21. that this procedure's triggers and internal procedures
  22. will execute in this procedure's storage, and that proper
  23. cleanup will occur on deletion of the procedure. */
  24. CREATE WIDGET-POOL.
  25. /* *************************** Definitions ************************** */
  26. /* Parameters Definitions --- */
  27. /* Local Variable Definitions --- */
  28. DEF VAR MaxPage AS INT NO-UNDO.
  29. DEF VAR AktSeite AS INT NO-UNDO.
  30. DEF VAR Fenster AS HANDLE NO-UNDO.
  31. DEF VAR hToolbar AS HANDLE NO-UNDO.
  32. DEF VAR FMutFlag AS LOG NO-UNDO INIT FALSE.
  33. DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE.
  34. DEF VAR Firma AS CHAR NO-UNDO.
  35. /* _UIB-CODE-BLOCK-END */
  36. &ANALYZE-RESUME
  37. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  38. /* ******************** Preprocessor Definitions ******************** */
  39. &Scoped-define PROCEDURE-TYPE SmartWindow
  40. &Scoped-define DB-AWARE no
  41. &Scoped-define ADM-CONTAINER WINDOW
  42. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  43. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  44. &Scoped-define FRAME-NAME fMain
  45. &Scoped-define BROWSE-NAME Br_ArtRabGrp
  46. /* Internal Tables (found by Frame, Query & Browse Queries) */
  47. &Scoped-define INTERNAL-TABLES Tabel
  48. /* Definitions for BROWSE Br_ArtRabGrp */
  49. &Scoped-define FIELDS-IN-QUERY-Br_ArtRabGrp Tabel.CodeI Tabel.Bez1
  50. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_ArtRabGrp
  51. &Scoped-define QUERY-STRING-Br_ArtRabGrp FOR EACH Tabel ~
  52. WHERE Tabel.Firma = Firma ~
  53. AND Tabel.Recart = "ARABGRP" ~
  54. AND Tabel.Sprcd = 1 NO-LOCK INDEXED-REPOSITION
  55. &Scoped-define OPEN-QUERY-Br_ArtRabGrp OPEN QUERY Br_ArtRabGrp FOR EACH Tabel ~
  56. WHERE Tabel.Firma = Firma ~
  57. AND Tabel.Recart = "ARABGRP" ~
  58. AND Tabel.Sprcd = 1 NO-LOCK INDEXED-REPOSITION.
  59. &Scoped-define TABLES-IN-QUERY-Br_ArtRabGrp Tabel
  60. &Scoped-define FIRST-TABLE-IN-QUERY-Br_ArtRabGrp Tabel
  61. /* Definitions for BROWSE Br_DebRabGrp */
  62. &Scoped-define FIELDS-IN-QUERY-Br_DebRabGrp Tabel.CodeI Tabel.Bez1
  63. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_DebRabGrp
  64. &Scoped-define QUERY-STRING-Br_DebRabGrp FOR EACH Tabel ~
  65. WHERE Tabel.Firma = Firma ~
  66. AND Tabel.Recart = "RABGRP" ~
  67. AND Tabel.Sprcd = 1 NO-LOCK INDEXED-REPOSITION
  68. &Scoped-define OPEN-QUERY-Br_DebRabGrp OPEN QUERY Br_DebRabGrp FOR EACH Tabel ~
  69. WHERE Tabel.Firma = Firma ~
  70. AND Tabel.Recart = "RABGRP" ~
  71. AND Tabel.Sprcd = 1 NO-LOCK INDEXED-REPOSITION.
  72. &Scoped-define TABLES-IN-QUERY-Br_DebRabGrp Tabel
  73. &Scoped-define FIRST-TABLE-IN-QUERY-Br_DebRabGrp Tabel
  74. /* Definitions for FRAME fMain */
  75. &Scoped-define OPEN-BROWSERS-IN-QUERY-fMain ~
  76. ~{&OPEN-QUERY-Br_ArtRabGrp}~
  77. ~{&OPEN-QUERY-Br_DebRabGrp}
  78. /* Standard List Definitions */
  79. &Scoped-Define ENABLED-OBJECTS Br_DebRabGrp Br_ArtRabGrp
  80. /* Custom List Definitions */
  81. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  82. /* _UIB-PREPROCESSOR-BLOCK-END */
  83. &ANALYZE-RESUME
  84. /* *********************** Control Definitions ********************** */
  85. /* Define the widget handle for the window */
  86. DEFINE VAR wRabSummGrp AS WIDGET-HANDLE NO-UNDO.
  87. /* Definitions of handles for SmartObjects */
  88. DEFINE VARIABLE h_b-rabsumm AS HANDLE NO-UNDO.
  89. DEFINE VARIABLE h_b-rabtab AS HANDLE NO-UNDO.
  90. DEFINE VARIABLE h_d-rabsumm AS HANDLE NO-UNDO.
  91. DEFINE VARIABLE h_d-rabtab AS HANDLE NO-UNDO.
  92. DEFINE VARIABLE h_dyntoolbar AS HANDLE NO-UNDO.
  93. DEFINE VARIABLE h_folder AS HANDLE NO-UNDO.
  94. DEFINE VARIABLE h_v-rabsumm AS HANDLE NO-UNDO.
  95. DEFINE VARIABLE h_v-rabtab AS HANDLE NO-UNDO.
  96. /* Definitions of the field level widgets */
  97. /* Query definitions */
  98. &ANALYZE-SUSPEND
  99. DEFINE QUERY Br_ArtRabGrp FOR
  100. Tabel SCROLLING.
  101. DEFINE QUERY Br_DebRabGrp FOR
  102. Tabel SCROLLING.
  103. &ANALYZE-RESUME
  104. /* Browse definitions */
  105. DEFINE BROWSE Br_ArtRabGrp
  106. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_ArtRabGrp wRabSummGrp _STRUCTURED
  107. QUERY Br_ArtRabGrp NO-LOCK DISPLAY
  108. Tabel.CodeI COLUMN-LABEL "Cd" FORMAT "999":U WIDTH 4
  109. Tabel.Bez1 COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U
  110. /* _UIB-CODE-BLOCK-END */
  111. &ANALYZE-RESUME
  112. WITH NO-ROW-MARKERS SEPARATORS SIZE 40 BY 5.19
  113. BGCOLOR 15
  114. TITLE BGCOLOR 15 "Artikel - Rabattgruppen" FIT-LAST-COLUMN.
  115. DEFINE BROWSE Br_DebRabGrp
  116. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_DebRabGrp wRabSummGrp _STRUCTURED
  117. QUERY Br_DebRabGrp NO-LOCK DISPLAY
  118. Tabel.CodeI COLUMN-LABEL "Cd" FORMAT "999":U
  119. Tabel.Bez1 COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U
  120. /* _UIB-CODE-BLOCK-END */
  121. &ANALYZE-RESUME
  122. WITH NO-ROW-MARKERS SEPARATORS SIZE 40 BY 5.19
  123. BGCOLOR 15
  124. TITLE BGCOLOR 15 "Debitoren - Rabattgruppen" FIT-LAST-COLUMN.
  125. /* ************************ Frame Definitions *********************** */
  126. DEFINE FRAME fMain
  127. Br_DebRabGrp AT ROW 3.81 COL 7
  128. Br_ArtRabGrp AT ROW 3.81 COL 55
  129. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  130. SIDE-LABELS NO-UNDERLINE THREE-D
  131. AT COL 1 ROW 1
  132. SIZE 137 BY 24.52.
  133. /* *********************** Procedure Settings ************************ */
  134. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  135. /* Settings for THIS-PROCEDURE
  136. Type: SmartWindow
  137. Allow: Basic,Browse,DB-Fields,Query,Smart,Window
  138. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  139. Design Page: 1
  140. Other Settings: COMPILE
  141. */
  142. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  143. /* ************************* Create Window ************************** */
  144. &ANALYZE-SUSPEND _CREATE-WINDOW
  145. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  146. CREATE WINDOW wRabSummGrp ASSIGN
  147. HIDDEN = YES
  148. TITLE = "Rabatt-/Summengruppen"
  149. HEIGHT = 24.52
  150. WIDTH = 137
  151. MAX-HEIGHT = 46.52
  152. MAX-WIDTH = 256
  153. VIRTUAL-HEIGHT = 46.52
  154. VIRTUAL-WIDTH = 256
  155. RESIZE = no
  156. SCROLL-BARS = no
  157. STATUS-AREA = no
  158. BGCOLOR = ?
  159. FGCOLOR = ?
  160. THREE-D = yes
  161. MESSAGE-AREA = no
  162. SENSITIVE = yes.
  163. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  164. /* END WINDOW DEFINITION */
  165. &ANALYZE-RESUME
  166. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wRabSummGrp
  167. /* ************************* Included-Libraries *********************** */
  168. {src/adm2/containr.i}
  169. /* _UIB-CODE-BLOCK-END */
  170. &ANALYZE-RESUME
  171. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  172. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  173. /* SETTINGS FOR WINDOW wRabSummGrp
  174. VISIBLE,,RUN-PERSISTENT */
  175. /* SETTINGS FOR FRAME fMain
  176. FRAME-NAME */
  177. /* BROWSE-TAB Br_DebRabGrp 1 fMain */
  178. /* BROWSE-TAB Br_ArtRabGrp Br_DebRabGrp fMain */
  179. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wRabSummGrp)
  180. THEN wRabSummGrp:HIDDEN = yes.
  181. /* _RUN-TIME-ATTRIBUTES-END */
  182. &ANALYZE-RESUME
  183. /* Setting information for Queries and Browse Widgets fields */
  184. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_ArtRabGrp
  185. /* Query rebuild information for BROWSE Br_ArtRabGrp
  186. _TblList = "AnaDat.Tabel"
  187. _Options = "NO-LOCK INDEXED-REPOSITION"
  188. _Where[1] = "Tabel.Firma = Firma
  189. AND Tabel.Recart = ""ARABGRP""
  190. AND Tabel.Sprcd = 1"
  191. _FldNameList[1] > AnaDat.Tabel.CodeI
  192. "Tabel.CodeI" "Cd" "999" "integer" ? ? ? ? ? ? no ? no no "4" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  193. _FldNameList[2] > AnaDat.Tabel.Bez1
  194. "Tabel.Bez1" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  195. _Query is OPENED
  196. */ /* BROWSE Br_ArtRabGrp */
  197. &ANALYZE-RESUME
  198. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_DebRabGrp
  199. /* Query rebuild information for BROWSE Br_DebRabGrp
  200. _TblList = "AnaDat.Tabel"
  201. _Options = "NO-LOCK INDEXED-REPOSITION"
  202. _Where[1] = "Tabel.Firma = Firma
  203. AND Tabel.Recart = ""RABGRP""
  204. AND Tabel.Sprcd = 1"
  205. _FldNameList[1] > AnaDat.Tabel.CodeI
  206. "Tabel.CodeI" "Cd" "999" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  207. _FldNameList[2] > AnaDat.Tabel.Bez1
  208. "Tabel.Bez1" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  209. _Query is OPENED
  210. */ /* BROWSE Br_DebRabGrp */
  211. &ANALYZE-RESUME
  212. /* ************************ Control Triggers ************************ */
  213. &Scoped-define SELF-NAME wRabSummGrp
  214. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wRabSummGrp wRabSummGrp
  215. ON END-ERROR OF wRabSummGrp /* Rabatt-/Summengruppen */
  216. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
  217. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  218. RUN ENDE.
  219. RETURN NO-APPLY.
  220. END.
  221. /* _UIB-CODE-BLOCK-END */
  222. &ANALYZE-RESUME
  223. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wRabSummGrp wRabSummGrp
  224. ON WINDOW-CLOSE OF wRabSummGrp /* Rabatt-/Summengruppen */
  225. DO:
  226. RUN ENDE.
  227. RETURN NO-APPLY.
  228. END.
  229. /* _UIB-CODE-BLOCK-END */
  230. &ANALYZE-RESUME
  231. &Scoped-define BROWSE-NAME Br_ArtRabGrp
  232. &Scoped-define SELF-NAME Br_ArtRabGrp
  233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_ArtRabGrp wRabSummGrp
  234. ON VALUE-CHANGED OF Br_ArtRabGrp IN FRAME fMain /* Artikel - Rabattgruppen */
  235. DO:
  236. DEF VAR sDaten AS CHAR NO-UNDO.
  237. sDaten = STRING(Tabel.CodeI,'999') + CHR(01)
  238. + Tabel.Bez1.
  239. RUN SETARTIKELGRUPPE IN h_v-rabtab ( INPUT sDaten ).
  240. END.
  241. /* _UIB-CODE-BLOCK-END */
  242. &ANALYZE-RESUME
  243. &Scoped-define BROWSE-NAME Br_DebRabGrp
  244. &Scoped-define SELF-NAME Br_DebRabGrp
  245. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_DebRabGrp wRabSummGrp
  246. ON VALUE-CHANGED OF Br_DebRabGrp IN FRAME fMain /* Debitoren - Rabattgruppen */
  247. DO:
  248. DEF VAR sDaten AS CHAR NO-UNDO.
  249. sDaten = STRING(Tabel.CodeI,'999') + CHR(01)
  250. + Tabel.Bez1.
  251. RUN SETKUNDENGRUPPE IN h_v-rabtab ( INPUT sDaten ).
  252. END.
  253. /* _UIB-CODE-BLOCK-END */
  254. &ANALYZE-RESUME
  255. &Scoped-define BROWSE-NAME Br_ArtRabGrp
  256. &UNDEFINE SELF-NAME
  257. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wRabSummGrp
  258. /* *************************** Main Block *************************** */
  259. MaxPage = 2.
  260. AktSeite = 1.
  261. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  262. IF SAktiv THEN DO:
  263. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  264. END.
  265. SESSION:DATA-ENTRY-RETURN = TRUE.
  266. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  267. /* TRIGGERS ------------------------------------------------------ */
  268. ON 'ALT-CURSOR-RIGHT':U OF {&WINDOW-NAME} ANYWHERE
  269. DO:
  270. RUN NEXTPAGE.
  271. RETURN NO-APPLY.
  272. END.
  273. ON 'ALT-CURSOR-LEFT':U OF {&WINDOW-NAME} ANYWHERE
  274. DO:
  275. RUN PREVPAGE.
  276. RETURN NO-APPLY.
  277. END.
  278. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  279. DO:
  280. RUN ENTRY_CURSOR.
  281. RETURN NO-APPLY.
  282. END.
  283. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  284. DO:
  285. RUN TOOLBAR IN hToolbar ( INPUT 'Next':U ).
  286. RETURN NO-APPLY.
  287. END.
  288. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  289. DO:
  290. RUN TOOLBAR IN hToolbar ( INPUT 'Prev':U ).
  291. RETURN NO-APPLY.
  292. END.
  293. ON 'ALT-RETURN':U OF {&WINDOW-NAME} ANYWHERE
  294. DO:
  295. RUN TOOLBAR IN hToolbar ( INPUT 'UPDATE':U ).
  296. END.
  297. ON 'ALT-INS':U OF {&WINDOW-NAME} ANYWHERE
  298. DO:
  299. RUN TOOLBAR IN hToolbar ( INPUT 'ADD':U ).
  300. END.
  301. ON 'ALT-DEL':U OF {&WINDOW-NAME} ANYWHERE
  302. DO:
  303. RUN TOOLBAR IN hToolbar ( INPUT 'DELETE':U ).
  304. END.
  305. ON 'ALT-R':U OF {&WINDOW-NAME} ANYWHERE
  306. DO:
  307. RUN TOOLBAR IN hToolbar ( INPUT 'RESET':U ).
  308. END.
  309. ON 'F9':U OF {&WINDOW-NAME} ANYWHERE
  310. DO:
  311. RUN TOOLBAR IN hToolbar ( INPUT 'SAVE':U ).
  312. END.
  313. ON 'ALT-S':U OF {&WINDOW-NAME} ANYWHERE
  314. DO:
  315. RUN TOOLBAR IN hToolbar ( INPUT 'SAVE':U ).
  316. END.
  317. ON 'ALT-K':U OF {&WINDOW-NAME} ANYWHERE
  318. DO:
  319. RUN TOOLBAR IN hToolbar ( INPUT 'COPY':U ).
  320. END.
  321. ON 'END-ERROR':U OF {&WINDOW-NAME} ANYWHERE
  322. DO:
  323. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  324. IF FMutFlag = FALSE THEN DO:
  325. RUN ENDE.
  326. RETURN NO-APPLY.
  327. END.
  328. RUN TOOLBAR IN hToolbar ( INPUT 'CANCEL':U ).
  329. RETURN NO-APPLY.
  330. END.
  331. ON 'ALT-1':U OF {&WINDOW-NAME} ANYWHERE
  332. DO:
  333. IF DYNAMIC-FUNCTION('getMutflagAlt':U) = TRUE THEN RETURN NO-APPLY.
  334. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  335. IF AktSeite = 1 THEN RETURN NO-APPLY.
  336. RUN selectPage ( INPUT 1 ).
  337. END.
  338. ON 'ALT-2':U OF {&WINDOW-NAME} ANYWHERE
  339. DO:
  340. IF DYNAMIC-FUNCTION('getMutflagAlt':U) = TRUE THEN RETURN NO-APPLY.
  341. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  342. IF AktSeite = 2 THEN RETURN NO-APPLY.
  343. RUN selectPage ( INPUT 2 ).
  344. END.
  345. /* Include custom Main Block code for SmartWindows. */
  346. {src/adm2/windowmn.i}
  347. /* _UIB-CODE-BLOCK-END */
  348. &ANALYZE-RESUME
  349. /* ********************** Internal Procedures *********************** */
  350. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wRabSummGrp _ADM-CREATE-OBJECTS
  351. PROCEDURE adm-create-objects :
  352. /*------------------------------------------------------------------------------
  353. Purpose: Create handles for all SmartObjects used in this procedure.
  354. After SmartObjects are initialized, then SmartLinks are added.
  355. Parameters: <none>
  356. ------------------------------------------------------------------------------*/
  357. DEFINE VARIABLE currentPage AS INTEGER NO-UNDO.
  358. ASSIGN currentPage = getCurrentPage().
  359. CASE currentPage:
  360. WHEN 0 THEN DO:
  361. RUN constructObject (
  362. INPUT 'd-rabsumm.wDB-AWARE':U ,
  363. INPUT FRAME fMain:HANDLE ,
  364. INPUT 'AppServiceASInfoASUsePrompt?CacheDuration0CheckCurrentChangedyesDestroyStatelessnoDisconnectAppServernoServerOperatingModeNONEShareDatanoUpdateFromSourcenoForeignFieldsObjectNamed-rabsummOpenOnInityesPromptColumns(NONE)PromptOnDeletenoRowsToBatch200RebuildOnReposnoToggleDataTargetsyes':U ,
  365. OUTPUT h_d-rabsumm ).
  366. RUN repositionObject IN h_d-rabsumm ( 2.52 , 91.40 ) NO-ERROR.
  367. /* Size in AB: ( 2.57 , 13.60 ) */
  368. RUN constructObject (
  369. INPUT 'd-rabtab.wDB-AWARE':U ,
  370. INPUT FRAME fMain:HANDLE ,
  371. INPUT 'AppServiceASInfoASUsePrompt?CacheDuration0CheckCurrentChangedyesDestroyStatelessnoDisconnectAppServernoServerOperatingModeNONEShareDatanoUpdateFromSourcenoForeignFieldsObjectNamed-rabtabOpenOnInityesPromptColumns(NONE)PromptOnDeletenoRowsToBatch200RebuildOnReposnoToggleDataTargetsyes':U ,
  372. OUTPUT h_d-rabtab ).
  373. RUN repositionObject IN h_d-rabtab ( 2.81 , 73.80 ) NO-ERROR.
  374. /* Size in AB: ( 3.52 , 16.80 ) */
  375. RUN constructObject (
  376. INPUT 'src_dlcv91c/adm2/dyntoolbar.w':U ,
  377. INPUT FRAME fMain:HANDLE ,
  378. INPUT 'EdgePixels2DeactivateTargetOnHidenoDisabledActionsFlatButtonsyesMenunoShowBorderyesToolbaryesActionGroupsTableio,NavigationTableIOTypeUpdateSupportedLinksNavigation-source,Tableio-sourceToolbarBandsToolbarAutoSizenoToolbarDrawDirectionhorizontalLogicalObjectNameDisabledActionsHiddenActionsResetHiddenToolbarBandsHiddenMenuBandsMenuMergeOrder0RemoveMenuOnHidenoCreateSubMenuOnConflictyesNavigationTargetNameHideOnInitnoDisableOnInitnoObjectLayout':U ,
  379. OUTPUT h_dyntoolbar ).
  380. RUN repositionObject IN h_dyntoolbar ( 1.00 , 1.00 ) NO-ERROR.
  381. RUN resizeObject IN h_dyntoolbar ( 1.33 , 136.80 ) NO-ERROR.
  382. RUN constructObject (
  383. INPUT 'src/adm2/folder.w':U ,
  384. INPUT FRAME fMain:HANDLE ,
  385. INPUT 'FolderLabels':U + 'Rabattgruppen (1)|Summengruppen (2)' + 'FolderTabWidth0FolderFont-1HideOnInitnoDisableOnInitnoObjectLayout':U ,
  386. OUTPUT h_folder ).
  387. RUN repositionObject IN h_folder ( 2.43 , 1.00 ) NO-ERROR.
  388. RUN resizeObject IN h_folder ( 23.05 , 136.80 ) NO-ERROR.
  389. /* Links to SmartFolder h_folder. */
  390. RUN addLink ( h_folder , 'Page':U , THIS-PROCEDURE ).
  391. /* Adjust the tab order of the smart objects. */
  392. RUN adjustTabOrder ( h_dyntoolbar ,
  393. Br_DebRabGrp:HANDLE IN FRAME fMain , 'BEFORE':U ).
  394. RUN adjustTabOrder ( h_folder ,
  395. h_dyntoolbar , 'AFTER':U ).
  396. END. /* Page 0 */
  397. WHEN 1 THEN DO:
  398. RUN constructObject (
  399. INPUT 'b-rabtab.w':U ,
  400. INPUT FRAME fMain:HANDLE ,
  401. INPUT 'ScrollRemotenoNumDown0CalcWidthnoMaxWidth80FetchOnReposToEndyesUseSortIndicatoryesSearchFieldDataSourceNamesUpdateTargetNamesLogicalObjectNameHideOnInitnoDisableOnInitnoObjectLayout':U ,
  402. OUTPUT h_b-rabtab ).
  403. RUN repositionObject IN h_b-rabtab ( 9.19 , 6.00 ) NO-ERROR.
  404. RUN resizeObject IN h_b-rabtab ( 7.62 , 102.00 ) NO-ERROR.
  405. RUN constructObject (
  406. INPUT 'v-rabtab.w':U ,
  407. INPUT FRAME fMain:HANDLE ,
  408. INPUT 'EnabledObjFldsToDisable?ModifyFields(All)DataSourceNamesUpdateTargetNamesLogicalObjectNameLogicalObjectNamePhysicalObjectNameDynamicObjectnoRunAttributeHideOnInitnoDisableOnInitnoObjectLayout':U ,
  409. OUTPUT h_v-rabtab ).
  410. RUN repositionObject IN h_v-rabtab ( 16.52 , 6.00 ) NO-ERROR.
  411. /* Size in AB: ( 8.38 , 90.00 ) */
  412. /* Links to SmartDataBrowser h_b-rabtab. */
  413. RUN addLink ( h_d-rabtab , 'Data':U , h_b-rabtab ).
  414. /* Links to SmartDataViewer h_v-rabtab. */
  415. RUN addLink ( h_d-rabtab , 'Data':U , h_v-rabtab ).
  416. RUN addLink ( h_v-rabtab , 'Update':U , h_d-rabtab ).
  417. /* Adjust the tab order of the smart objects. */
  418. RUN adjustTabOrder ( h_b-rabtab ,
  419. Br_ArtRabGrp:HANDLE IN FRAME fMain , 'AFTER':U ).
  420. RUN adjustTabOrder ( h_v-rabtab ,
  421. h_b-rabtab , 'AFTER':U ).
  422. END. /* Page 1 */
  423. WHEN 2 THEN DO:
  424. RUN constructObject (
  425. INPUT 'b-rabsumm.w':U ,
  426. INPUT FRAME fMain:HANDLE ,
  427. INPUT 'ScrollRemotenoNumDown0CalcWidthnoMaxWidth80FetchOnReposToEndyesUseSortIndicatoryesSearchFieldDataSourceNamesUpdateTargetNamesLogicalObjectNameHideOnInitnoDisableOnInitnoObjectLayout':U ,
  428. OUTPUT h_b-rabsumm ).
  429. RUN repositionObject IN h_b-rabsumm ( 3.81 , 4.00 ) NO-ERROR.
  430. RUN resizeObject IN h_b-rabsumm ( 7.38 , 132.00 ) NO-ERROR.
  431. RUN constructObject (
  432. INPUT 'v-rabsumm.w':U ,
  433. INPUT FRAME fMain:HANDLE ,
  434. INPUT 'EnabledObjFldsToDisable?ModifyFields(All)DataSourceNamesUpdateTargetNamesLogicalObjectNameLogicalObjectNamePhysicalObjectNameDynamicObjectnoRunAttributeHideOnInitnoDisableOnInitnoObjectLayout':U ,
  435. OUTPUT h_v-rabsumm ).
  436. RUN repositionObject IN h_v-rabsumm ( 12.00 , 10.00 ) NO-ERROR.
  437. /* Size in AB: ( 11.19 , 115.00 ) */
  438. /* Links to SmartDataBrowser h_b-rabsumm. */
  439. RUN addLink ( h_d-rabsumm , 'Data':U , h_b-rabsumm ).
  440. /* Links to SmartDataViewer h_v-rabsumm. */
  441. RUN addLink ( h_d-rabsumm , 'Data':U , h_v-rabsumm ).
  442. RUN addLink ( h_v-rabsumm , 'Update':U , h_d-rabsumm ).
  443. /* Adjust the tab order of the smart objects. */
  444. RUN adjustTabOrder ( h_b-rabsumm ,
  445. h_d-rabtab , 'AFTER':U ).
  446. RUN adjustTabOrder ( h_v-rabsumm ,
  447. Br_ArtRabGrp:HANDLE IN FRAME fMain , 'AFTER':U ).
  448. END. /* Page 2 */
  449. END CASE.
  450. /* Select a Startup page. */
  451. IF currentPage eq 0
  452. THEN RUN selectPage IN THIS-PROCEDURE ( 1 ).
  453. END PROCEDURE.
  454. /* _UIB-CODE-BLOCK-END */
  455. &ANALYZE-RESUME
  456. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage wRabSummGrp
  457. PROCEDURE changePage :
  458. /*------------------------------------------------------------------------------
  459. Purpose: Super Override
  460. Parameters:
  461. Notes:
  462. ------------------------------------------------------------------------------*/
  463. RUN SUPER.
  464. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  465. CASE AktSeite:
  466. WHEN 1 THEN DO:
  467. IF VALID-HANDLE ( hToolbar ) THEN DO:
  468. RUN addLink ( hToolbar , 'TableIO':U , h_v-rabtab ).
  469. RUN addLink ( hToolbar , 'Navigation':U , h_d-rabtab ).
  470. END.
  471. RUN ENTRY_CURSOR.
  472. END.
  473. WHEN 2 THEN DO:
  474. IF VALID-HANDLE ( hToolbar ) THEN DO:
  475. RUN addLink ( hToolbar , 'TableIO':U , h_v-rabsumm ).
  476. RUN addLink ( hToolbar , 'Navigation':U , h_d-rabsumm ).
  477. END.
  478. RUN ENTRY_CURSOR.
  479. END.
  480. END CASE.
  481. END PROCEDURE.
  482. /* _UIB-CODE-BLOCK-END */
  483. &ANALYZE-RESUME
  484. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wRabSummGrp _DEFAULT-DISABLE
  485. PROCEDURE disable_UI :
  486. /*------------------------------------------------------------------------------
  487. Purpose: DISABLE the User Interface
  488. Parameters: <none>
  489. Notes: Here we clean-up the user-interface by deleting
  490. dynamic widgets we have created and/or hide
  491. frames. This procedure is usually called when
  492. we are ready to "clean-up" after running.
  493. ------------------------------------------------------------------------------*/
  494. /* Delete the WINDOW we created */
  495. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wRabSummGrp)
  496. THEN DELETE WIDGET wRabSummGrp.
  497. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  498. END PROCEDURE.
  499. /* _UIB-CODE-BLOCK-END */
  500. &ANALYZE-RESUME
  501. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wRabSummGrp
  502. PROCEDURE enableObject :
  503. /*------------------------------------------------------------------------------
  504. Purpose: Super Override
  505. Parameters:
  506. Notes:
  507. ------------------------------------------------------------------------------*/
  508. DEF VAR wx AS INT NO-UNDO.
  509. DEF VAR wy AS INT NO-UNDO.
  510. DEF VAR xString AS CHAR NO-UNDO.
  511. GET-KEY-VALUE SECTION 'FensterPositionen'
  512. KEY 'SummenRabatte'
  513. VALUE xString.
  514. IF xString = ? THEN xString = '30;30'.
  515. IF xString = '' THEN xString = '30;30'.
  516. wx = INTEGER(ENTRY(1, xString, ';')).
  517. wy = INTEGER(ENTRY(2, xString, ';')).
  518. IF wx < 0 THEN wx = 1.
  519. IF wy < 0 THEN wy = 1.
  520. {&WINDOW-NAME}:X = wx.
  521. {&WINDOW-NAME}:Y = wy.
  522. RUN SUPER.
  523. hToolbar = h_dyntoolbar.
  524. RUN addLink ( hToolbar , 'TableIO':U , h_v-rabtab ).
  525. RUN addLink ( hToolbar , 'Navigation':U , h_d-rabtab ).
  526. IF SAktiv THEN RUN FENSTER_TITEL ( INPUT {&WINDOW-NAME}:HANDLE ) NO-ERROR.
  527. IF VALID-HANDLE(hToolbar) THEN DO:
  528. RUN SETPROGNAME IN hToolbar ( THIS-PROCEDURE ).
  529. RUN setButtons IN hToolbar ( INPUT 'Initial-TableIo':U ).
  530. END.
  531. END PROCEDURE.
  532. /* _UIB-CODE-BLOCK-END */
  533. &ANALYZE-RESUME
  534. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wRabSummGrp _DEFAULT-ENABLE
  535. PROCEDURE enable_UI :
  536. /*------------------------------------------------------------------------------
  537. Purpose: ENABLE the User Interface
  538. Parameters: <none>
  539. Notes: Here we display/view/enable the widgets in the
  540. user-interface. In addition, OPEN all queries
  541. associated with each FRAME and BROWSE.
  542. These statements here are based on the "Other
  543. Settings" section of the widget Property Sheets.
  544. ------------------------------------------------------------------------------*/
  545. ENABLE Br_DebRabGrp Br_ArtRabGrp
  546. WITH FRAME fMain IN WINDOW wRabSummGrp.
  547. {&OPEN-BROWSERS-IN-QUERY-fMain}
  548. VIEW wRabSummGrp.
  549. END PROCEDURE.
  550. /* _UIB-CODE-BLOCK-END */
  551. &ANALYZE-RESUME
  552. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wRabSummGrp
  553. PROCEDURE ENDE :
  554. /*------------------------------------------------------------------------------
  555. Purpose:
  556. Parameters: <none>
  557. Notes:
  558. ------------------------------------------------------------------------------*/
  559. DEF VAR wx AS INT NO-UNDO.
  560. DEF VAR wy AS INT NO-UNDO.
  561. DEF VAR xString AS CHAR NO-UNDO.
  562. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  563. IF AktSeite > 1 THEN DO:
  564. RUN selectPage ( INPUT 1 ).
  565. RETURN NO-APPLY.
  566. END.
  567. IF Saktiv THEN RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  568. wx = {&WINDOW-NAME}:X NO-ERROR.
  569. wy = {&WINDOW-NAME}:Y NO-ERROR.
  570. xString = STRING(wx) + ';' + STRING(wy).
  571. PUT-KEY-VALUE SECTION 'FensterPositionen'
  572. KEY 'Summenrabatte'
  573. VALUE xString.
  574. APPLY "CLOSE":U TO THIS-PROCEDURE.
  575. END PROCEDURE.
  576. /* _UIB-CODE-BLOCK-END */
  577. &ANALYZE-RESUME
  578. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR wRabSummGrp
  579. PROCEDURE ENTRY_CURSOR :
  580. /*------------------------------------------------------------------------------
  581. Purpose:
  582. Parameters: <none>
  583. Notes:
  584. ------------------------------------------------------------------------------*/
  585. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  586. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U).
  587. CASE AktSeite:
  588. WHEN 1 THEN DO:
  589. IF FMutFlag THEN RUN applyEntry IN h_v-rabtab ( INPUT ? ).
  590. ELSE RUN applyEntry IN h_b-rabtab ( INPUT ? ).
  591. END.
  592. WHEN 2 THEN DO:
  593. IF FMutFlag THEN RUN applyEntry IN h_v-rabsumm ( INPUT ? ).
  594. ELSE RUN applyEntry IN h_b-rabsumm ( INPUT ? ).
  595. END.
  596. END CASE.
  597. RETURN NO-APPLY.
  598. END PROCEDURE.
  599. /* _UIB-CODE-BLOCK-END */
  600. &ANALYZE-RESUME
  601. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wRabSummGrp
  602. PROCEDURE exitObject :
  603. /*------------------------------------------------------------------------------
  604. Purpose: Window-specific override of this procedure which destroys
  605. its contents and itself.
  606. Notes:
  607. ------------------------------------------------------------------------------*/
  608. RUN ENDE.
  609. RETURN NO-APPLY.
  610. END PROCEDURE.
  611. /* _UIB-CODE-BLOCK-END */
  612. &ANALYZE-RESUME
  613. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE wRabSummGrp
  614. PROCEDURE NEXTPAGE :
  615. /*------------------------------------------------------------------------------
  616. Purpose:
  617. Parameters: <none>
  618. Notes:
  619. ------------------------------------------------------------------------------*/
  620. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  621. IF AktSeite = MaxPage THEN AktSeite = 1.
  622. ELSE AktSeite = AktSeite + 1.
  623. RUN selectPage ( INPUT AktSeite ).
  624. END PROCEDURE.
  625. /* _UIB-CODE-BLOCK-END */
  626. &ANALYZE-RESUME
  627. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE wRabSummGrp
  628. PROCEDURE PREVPAGE :
  629. /*------------------------------------------------------------------------------
  630. Purpose:
  631. Parameters: <none>
  632. Notes:
  633. ------------------------------------------------------------------------------*/
  634. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  635. IF AktSeite = 1 THEN AktSeite = MaxPage.
  636. ELSE AktSeite = AktSeite - 1.
  637. RUN selectPage ( INPUT AktSeite ).
  638. END PROCEDURE.
  639. /* _UIB-CODE-BLOCK-END */
  640. &ANALYZE-RESUME
  641. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage wRabSummGrp
  642. PROCEDURE selectPage :
  643. /*------------------------------------------------------------------------------
  644. Purpose: Super Override
  645. Parameters:
  646. Notes:
  647. ------------------------------------------------------------------------------*/
  648. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  649. DEF VAR FMutFlag AS LOG NO-UNDO.
  650. DEF VAR MutProg AS CHAR NO-UNDO.
  651. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  652. DO WHILE TRUE:
  653. IF NOT FMutFlag THEN LEAVE.
  654. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  655. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  656. RETURN NO-APPLY.
  657. END.
  658. CASE piPageNum:
  659. END CASE.
  660. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  661. CASE AktSeite:
  662. WHEN 1 THEN DO:
  663. IF VALID-HANDLE ( hToolbar) THEN DO:
  664. RUN removeLink ( hToolbar , 'TableIO':U , h_v-rabtab ).
  665. RUN removeLink ( hToolbar , 'Navigation':U , h_d-rabtab ).
  666. END.
  667. END.
  668. WHEN 2 THEN DO:
  669. IF VALID-HANDLE ( hToolbar) THEN DO:
  670. RUN removeLink ( hToolbar , 'TableIO':U , h_v-rabsumm ).
  671. RUN removeLink ( hToolbar , 'Navigation':U , h_d-rabsumm ).
  672. END.
  673. END.
  674. END CASE.
  675. RUN SUPER( INPUT piPageNum).
  676. END PROCEDURE.
  677. /* _UIB-CODE-BLOCK-END */
  678. &ANALYZE-RESUME
  679. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR wRabSummGrp
  680. PROCEDURE TOOLBAR :
  681. /*------------------------------------------------------------------------------
  682. Purpose:
  683. Parameters: <none>
  684. Notes:
  685. ------------------------------------------------------------------------------*/
  686. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  687. IF VALID-HANDLE(hToolbar) THEN RUN TOOLBAR IN hToolbar ( INPUT pcAction ).
  688. END PROCEDURE.
  689. /* _UIB-CODE-BLOCK-END */
  690. &ANALYZE-RESUME
  691. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wRabSummGrp
  692. PROCEDURE viewObject :
  693. /*------------------------------------------------------------------------------
  694. Purpose: Super Override
  695. Parameters:
  696. Notes:
  697. ------------------------------------------------------------------------------*/
  698. DEF VAR sDaten AS CHAR NO-UNDO.
  699. RUN SUPER.
  700. RUN ENTRY_CURSOR.
  701. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  702. IF NUM-RESULTS('Br_DebRabGrp':U) > 0 THEN DO:
  703. IF Br_DebRabGrp:NUM-SELECTED-ROWS = 0 THEN LEAVE.
  704. Br_DebRabGrp:FETCH-SELECTED-ROW(1).
  705. sDaten = STRING(Tabel.CodeI,'999') + CHR(01)
  706. + Tabel.Bez1.
  707. RUN SETKUNDENGRUPPE IN h_v-rabtab ( INPUT sDaten ).
  708. END.
  709. LEAVE.
  710. END.
  711. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  712. IF NUM-RESULTS('Br_ArtRabGrp':U) > 0 THEN DO:
  713. IF Br_ArtRabGrp:NUM-SELECTED-ROWS = 0 THEN LEAVE.
  714. Br_ArtRabGrp:FETCH-SELECTED-ROW(1).
  715. sDaten = STRING(Tabel.CodeI,'999') + CHR(01)
  716. + Tabel.Bez1.
  717. RUN SETARTIKELGRUPPE IN h_v-rabtab ( INPUT sDaten ).
  718. END.
  719. LEAVE.
  720. END.
  721. END PROCEDURE.
  722. /* _UIB-CODE-BLOCK-END */
  723. &ANALYZE-RESUME