d-spezrab.w 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464
  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. {adecomm/appserv.i}
  8. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS dTables
  9. /*------------------------------------------------------------------------
  10. File:
  11. Description: from DATA.W - Template For SmartData objects in the ADM
  12. Input Parameters:
  13. <none>
  14. Output Parameters:
  15. <none>
  16. Modified: February 24, 1999
  17. ------------------------------------------------------------------------*/
  18. /* This .W file was created with the Progress AppBuilder. */
  19. /*----------------------------------------------------------------------*/
  20. /* Create an unnamed pool to store all the widgets created
  21. by this procedure. This is a good default which assures
  22. that this procedure's triggers and internal procedures
  23. will execute in this procedure's storage, and that proper
  24. cleanup will occur on deletion of the procedure. */
  25. CREATE WIDGET-POOL.
  26. /* *************************** Definitions ************************** */
  27. /* Parameters Definitions --- */
  28. /* Local Variable Definitions --- */
  29. &SCOPED-DEFINE Tabelle SpPrRab
  30. &SCOPED-DEFINE TabWhere /* USE-INDEX Benutzer-k1 ~
  31. WHERE {&Tabelle}.Benutzer = tRowObject.Benutzer
  32. */
  33. { incl/datdefinition.i }
  34. /* _UIB-CODE-BLOCK-END */
  35. &ANALYZE-RESUME
  36. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  37. /* ******************** Preprocessor Definitions ******************** */
  38. &Scoped-define PROCEDURE-TYPE SmartDataObject
  39. &Scoped-define DB-AWARE yes
  40. &Scoped-define ADM-SUPPORTED-LINKS Data-Source,Data-Target,Navigation-Target,Update-Target,Commit-Target,Filter-Target
  41. /* Db-Required definitions. */
  42. &IF DEFINED(DB-REQUIRED) = 0 &THEN
  43. &GLOBAL-DEFINE DB-REQUIRED TRUE
  44. &ENDIF
  45. &GLOBAL-DEFINE DB-REQUIRED-START &IF {&DB-REQUIRED} &THEN
  46. &GLOBAL-DEFINE DB-REQUIRED-END &ENDIF
  47. &Scoped-define QUERY-NAME Query-Main
  48. /* Internal Tables (found by Frame, Query & Browse Queries) */
  49. &Scoped-define INTERNAL-TABLES SpPrRab
  50. /* Definitions for QUERY Query-Main */
  51. &Scoped-Define ENABLED-FIELDS Firma Knr Rab_Grp RabGrp Menge Ab_Datum Bis_Datum Proz_Betr Wert~
  52. Auf_Proz_Betr Auf_Wert lAktion lNetto
  53. &Scoped-define ENABLED-FIELDS-IN-SpPrRab Firma Knr Rab_Grp Menge Ab_Datum ~
  54. Bis_Datum Proz_Betr Wert Auf_Proz_Betr Auf_Wert lAktion lNetto
  55. &Scoped-Define DATA-FIELDS Firma Knr Rab_Grp RabGrp Menge Ab_Datum Bis_Datum Proz_Betr Wert~
  56. Auf_Proz_Betr Auf_Wert lAktion lNetto
  57. &Scoped-define DATA-FIELDS-IN-SpPrRab Firma Knr Rab_Grp Menge Ab_Datum ~
  58. Bis_Datum Proz_Betr Wert Auf_Proz_Betr Auf_Wert lAktion lNetto
  59. &Scoped-Define MANDATORY-FIELDS
  60. &Scoped-Define APPLICATION-SERVICE
  61. &Scoped-Define ASSIGN-LIST
  62. &Scoped-Define DATA-FIELD-DEFS "d-spezrab.i"
  63. &Scoped-define QUERY-STRING-Query-Main FOR EACH SpPrRab NO-LOCK INDEXED-REPOSITION
  64. {&DB-REQUIRED-START}
  65. &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH SpPrRab NO-LOCK INDEXED-REPOSITION.
  66. {&DB-REQUIRED-END}
  67. &Scoped-define TABLES-IN-QUERY-Query-Main SpPrRab
  68. &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main SpPrRab
  69. /* Custom List Definitions */
  70. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  71. /* _UIB-PREPROCESSOR-BLOCK-END */
  72. &ANALYZE-RESUME
  73. /* ************************ Function Prototypes ********************** */
  74. {&DB-REQUIRED-START}
  75. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD openQuery dTables _DB-REQUIRED
  76. FUNCTION openQuery RETURNS LOGICAL
  77. ( /* parameter-definitions */ ) FORWARD.
  78. /* _UIB-CODE-BLOCK-END */
  79. &ANALYZE-RESUME
  80. {&DB-REQUIRED-END}
  81. /* *********************** Control Definitions ********************** */
  82. {&DB-REQUIRED-START}
  83. /* Query definitions */
  84. &ANALYZE-SUSPEND
  85. DEFINE QUERY Query-Main FOR
  86. SpPrRab SCROLLING.
  87. &ANALYZE-RESUME
  88. {&DB-REQUIRED-END}
  89. /* ************************ Frame Definitions *********************** */
  90. /* *********************** Procedure Settings ************************ */
  91. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  92. /* Settings for THIS-PROCEDURE
  93. Type: SmartDataObject
  94. Allow: Query
  95. Frames: 0
  96. Add Fields to: Neither
  97. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER DB-AWARE
  98. */
  99. /* This procedure should always be RUN PERSISTENT. Report the error, */
  100. /* then cleanup and return. */
  101. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  102. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  103. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  104. RETURN.
  105. END.
  106. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  107. /* ************************* Create Window ************************** */
  108. &ANALYZE-SUSPEND _CREATE-WINDOW
  109. /* DESIGN Window definition (used by the UIB)
  110. CREATE WINDOW dTables ASSIGN
  111. HEIGHT = 1.62
  112. WIDTH = 64.4.
  113. /* END WINDOW DEFINITION */
  114. */
  115. &ANALYZE-RESUME
  116. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB dTables
  117. /* ************************* Included-Libraries *********************** */
  118. {src/adm2/data.i}
  119. /* _UIB-CODE-BLOCK-END */
  120. &ANALYZE-RESUME
  121. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  122. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  123. /* SETTINGS FOR WINDOW dTables
  124. VISIBLE,,RUN-PERSISTENT */
  125. /* _RUN-TIME-ATTRIBUTES-END */
  126. &ANALYZE-RESUME
  127. /* Setting information for Queries and Browse Widgets fields */
  128. &ANALYZE-SUSPEND _QUERY-BLOCK QUERY Query-Main
  129. /* Query rebuild information for SmartDataObject Query-Main
  130. _TblList = "AnaDat.SpPrRab"
  131. _Options = "NO-LOCK INDEXED-REPOSITION"
  132. _FldNameList[1] > AnaDat.SpPrRab.Firma
  133. "Firma" "Firma" ? ? "character" ? ? ? ? ? ? yes ? no 8 yes ""
  134. _FldNameList[2] > AnaDat.SpPrRab.Knr
  135. "Knr" "Knr" ? ? "integer" ? ? ? ? ? ? yes ? no 7.2 yes ""
  136. _FldNameList[3] > AnaDat.SpPrRab.Rab_Grp
  137. "Rab_Grp" "Rab_Grp" ? "999" "integer" ? ? ? ? ? ? yes ? no 8.6 yes ""
  138. _FldNameList[4] > "_<CALC>"
  139. "IF sAktiv THEN DYNAMIC-FUNCTION('GETARTRABATTGRP':U, INPUT RowObject.Rab_Grp ) ELSE ''" "RabGrp" "Rabattgruppe" "x(30)" "character" ? ? ? ? ? ? yes ? no 30 no ?
  140. _FldNameList[5] > AnaDat.SpPrRab.Menge
  141. "Menge" "Menge" ? ? "decimal" ? ? ? ? ? ? yes ? no 6.8 yes ""
  142. _FldNameList[6] > AnaDat.SpPrRab.Ab_Datum
  143. "Ab_Datum" "Ab_Datum" ? ? "date" ? ? ? ? ? ? yes ? no 10.8 yes ""
  144. _FldNameList[7] > AnaDat.SpPrRab.Bis_Datum
  145. "Bis_Datum" "Bis_Datum" ? ? "date" ? ? ? ? ? ? yes ? no 10.8 yes ""
  146. _FldNameList[8] > AnaDat.SpPrRab.Proz_Betr
  147. "Proz_Betr" "Proz_Betr" ? ? "logical" ? ? ? ? ? ? yes ? no 9.2 yes ""
  148. _FldNameList[9] > AnaDat.SpPrRab.Wert
  149. "Wert" "Wert" ? ? "decimal" ? ? ? ? ? ? yes ? no 9.2 yes ""
  150. _FldNameList[10] > AnaDat.SpPrRab.Auf_Proz_Betr
  151. "Auf_Proz_Betr" "Auf_Proz_Betr" ? ? "logical" ? ? ? ? ? ? yes ? no 13.6 yes ""
  152. _FldNameList[11] > AnaDat.SpPrRab.Auf_Wert
  153. "Auf_Wert" "Auf_Wert" ? ? "decimal" ? ? ? ? ? ? yes ? no 9.2 yes ""
  154. _FldNameList[12] > AnaDat.SpPrRab.lAktion
  155. "lAktion" "lAktion" ? ? "logical" ? ? ? ? ? ? yes ? no 6.4 yes ?
  156. _FldNameList[13] > AnaDat.SpPrRab.lNetto
  157. "lNetto" "lNetto" ? ? "logical" ? ? ? ? ? ? yes ? no 15.6 yes ?
  158. _Design-Parent is WINDOW dTables @ ( 1.14 , 2.6 )
  159. */ /* QUERY Query-Main */
  160. &ANALYZE-RESUME
  161. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK dTables
  162. /* *************************** Main Block *************************** */
  163. { incl/datmainblock.i }
  164. fOpen = FALSE.
  165. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  166. RUN initializeObject.
  167. &ENDIF
  168. /* _UIB-CODE-BLOCK-END */
  169. &ANALYZE-RESUME
  170. /* ********************** Internal Procedures *********************** */
  171. {&DB-REQUIRED-START}
  172. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATA.CALCULATE dTables DATA.CALCULATE _DB-REQUIRED
  173. PROCEDURE DATA.CALCULATE :
  174. /*------------------------------------------------------------------------------
  175. Purpose: Calculate all the Calculated Expressions found in the
  176. SmartDataObject.
  177. Parameters: <none>
  178. ------------------------------------------------------------------------------*/
  179. ASSIGN
  180. rowObject.RabGrp = (IF sAktiv THEN DYNAMIC-FUNCTION('GETARTRABATTGRP':U, INPUT RowObject.Rab_Grp ) ELSE '')
  181. .
  182. END PROCEDURE.
  183. /* _UIB-CODE-BLOCK-END */
  184. &ANALYZE-RESUME
  185. {&DB-REQUIRED-END}
  186. {&DB-REQUIRED-START}
  187. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE dataAvailable dTables _DB-REQUIRED
  188. PROCEDURE dataAvailable :
  189. /*------------------------------------------------------------------------------
  190. Purpose: Super Override
  191. Parameters:
  192. Notes:
  193. ------------------------------------------------------------------------------*/
  194. { incl/datdataavailable.i }
  195. END PROCEDURE.
  196. /* _UIB-CODE-BLOCK-END */
  197. &ANALYZE-RESUME
  198. {&DB-REQUIRED-END}
  199. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI dTables _DEFAULT-DISABLE
  200. PROCEDURE disable_UI :
  201. /*------------------------------------------------------------------------------
  202. Purpose: DISABLE the User Interface
  203. Parameters: <none>
  204. Notes: Here we clean-up the user-interface by deleting
  205. dynamic widgets we have created and/or hide
  206. frames. This procedure is usually called when
  207. we are ready to "clean-up" after running.
  208. ------------------------------------------------------------------------------*/
  209. /* Hide all frames. */
  210. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  211. END PROCEDURE.
  212. /* _UIB-CODE-BLOCK-END */
  213. &ANALYZE-RESUME
  214. {&DB-REQUIRED-START}
  215. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject dTables _DB-REQUIRED
  216. PROCEDURE initializeObject :
  217. /*------------------------------------------------------------------------------
  218. Purpose: Super Override
  219. Parameters:
  220. Notes:
  221. ------------------------------------------------------------------------------*/
  222. { incl/datinitialize.i }
  223. END PROCEDURE.
  224. /* _UIB-CODE-BLOCK-END */
  225. &ANALYZE-RESUME
  226. {&DB-REQUIRED-END}
  227. {&DB-REQUIRED-START}
  228. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPOS dTables _DB-REQUIRED
  229. PROCEDURE REPOS :
  230. /*------------------------------------------------------------------------------
  231. Purpose:
  232. Parameters: <none>
  233. Notes:
  234. ------------------------------------------------------------------------------*/
  235. DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
  236. FIND SpPrRab WHERE RECID(SpPrRab) = ipRecid NO-LOCK NO-ERROR.
  237. IF NOT AVAILABLE SpPrRab THEN RETURN.
  238. DYNAMIC-FUNCTION('fetchRowIdent':U, INPUT STRING(ROWID(SpPrRab)), INPUT ? ).
  239. END PROCEDURE.
  240. /* _UIB-CODE-BLOCK-END */
  241. &ANALYZE-RESUME
  242. {&DB-REQUIRED-END}
  243. {&DB-REQUIRED-START}
  244. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPOS_TABELLE dTables _DB-REQUIRED
  245. PROCEDURE REPOS_TABELLE :
  246. /*------------------------------------------------------------------------------
  247. Purpose:
  248. Parameters: <none>
  249. Notes:
  250. ------------------------------------------------------------------------------*/
  251. { incl/datrepos.i }
  252. END PROCEDURE.
  253. /* _UIB-CODE-BLOCK-END */
  254. &ANALYZE-RESUME
  255. {&DB-REQUIRED-END}
  256. {&DB-REQUIRED-START}
  257. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_FILTER dTables _DB-REQUIRED
  258. PROCEDURE SET_FILTER :
  259. /*------------------------------------------------------------------------------
  260. Purpose:
  261. Parameters: <none>
  262. Notes:
  263. ------------------------------------------------------------------------------*/
  264. { incl/datsetfilter.i }
  265. END PROCEDURE.
  266. /* _UIB-CODE-BLOCK-END */
  267. &ANALYZE-RESUME
  268. {&DB-REQUIRED-END}
  269. {&DB-REQUIRED-START}
  270. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_OPENFLAG dTables _DB-REQUIRED
  271. PROCEDURE SET_OPENFLAG :
  272. /*------------------------------------------------------------------------------
  273. Purpose:
  274. Parameters: <none>
  275. Notes:
  276. ------------------------------------------------------------------------------*/
  277. { incl/datsetopenflag.i }
  278. END PROCEDURE.
  279. /* _UIB-CODE-BLOCK-END */
  280. &ANALYZE-RESUME
  281. {&DB-REQUIRED-END}
  282. {&DB-REQUIRED-START}
  283. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_SORT dTables _DB-REQUIRED
  284. PROCEDURE SET_SORT :
  285. /*------------------------------------------------------------------------------
  286. Purpose:
  287. Parameters: <none>
  288. Notes:
  289. ------------------------------------------------------------------------------*/
  290. { incl/datsetsort.i }
  291. END PROCEDURE.
  292. /* _UIB-CODE-BLOCK-END */
  293. &ANALYZE-RESUME
  294. {&DB-REQUIRED-END}
  295. /* ************************ Function Implementations ***************** */
  296. {&DB-REQUIRED-START}
  297. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION openQuery dTables _DB-REQUIRED
  298. FUNCTION openQuery RETURNS LOGICAL
  299. ( /* parameter-definitions */ ) :
  300. /*------------------------------------------------------------------------------
  301. Purpose: Super Override
  302. Notes:
  303. ------------------------------------------------------------------------------*/
  304. DEF VAR Felder AS CHAR NO-UNDO.
  305. DEF VAR Inhalt AS CHAR NO-UNDO.
  306. DEF VAR ix AS INT NO-UNDO.
  307. DEF VAR cFeld AS CHAR NO-UNDO.
  308. IF NOT fOpen THEN RETURN FALSE.
  309. xWhere = ''.
  310. xSort = ''.
  311. xString = ''.
  312. Felder = DYNAMIC-FUNCTION('getForeignFields':U) NO-ERROR.
  313. Inhalt = DYNAMIC-FUNCTION('getForeignValues':U) NO-ERROR.
  314. /* ix = LOOKUP('Feld', Felder, ',') / 2. */
  315. /* cFeld = ENTRY (ix , Inhalt, CHR(01)). */
  316. /* xWhere = 'Aufko.Firma = ' + QUOTER(Firma) + ' AND ' */
  317. /* + 'Aufko.Auf_Sta = ' + STRING(Auf_Sta) + ' '. */
  318. /* xString = 'FOR EACH Debop ' + xSort + 'WHERE ' */
  319. /* + 'Debop.Firma = "' + Firma + '" AND ' */
  320. /* + 'Debop.Knr = ' + STRING(Knr) + ' ' */
  321. /* + 'NO-LOCK BY Debop.FakDat DESCENDING INDEXED-REPOSITION '. */
  322. { incl/datopenquery.i }
  323. IF xWhere <> '' THEN DYNAMIC-FUNCTION('setQueryWhere':U , INPUT xWhere ).
  324. IF xString <> '' THEN DYNAMIC-FUNCTION('setQueryString':U, INPUT xString).
  325. IF xSort <> '' THEN DYNAMIC-FUNCTION('setQuerySort':U , INPUT xSort ).
  326. RETURN SUPER( ).
  327. END FUNCTION.
  328. /* _UIB-CODE-BLOCK-END */
  329. &ANALYZE-RESUME
  330. {&DB-REQUIRED-END}