d-browser_ko.w 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. framework 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 browser_ko
  30. &SCOPED-DEFINE TabWhere USE-INDEX browser_ko-k1 ~
  31. WHERE {&Tabelle}.mandant = tRowObject.mandant ~
  32. AND {&Tabelle}.benutzer = tRowObject.benutzer ~
  33. AND {&Tabelle}.program = tRowObject.program ~
  34. AND {&Tabelle}.tabelle = tRowObject.tabelle
  35. { incl/datdefinition.i }
  36. DEFINE VARIABLE cMandant AS CHARACTER NO-UNDO.
  37. DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
  38. /* _UIB-CODE-BLOCK-END */
  39. &ANALYZE-RESUME
  40. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  41. /* ******************** Preprocessor Definitions ******************** */
  42. &Global-define DATA-LOGIC-PROCEDURE .p
  43. &Scoped-define PROCEDURE-TYPE SmartDataObject
  44. &Scoped-define DB-AWARE yes
  45. &Scoped-define ADM-SUPPORTED-LINKS Data-Source,Data-Target,Navigation-Target,Update-Target,Commit-Target,Filter-Target
  46. /* Db-Required definitions. */
  47. &IF DEFINED(DB-REQUIRED) = 0 &THEN
  48. &GLOBAL-DEFINE DB-REQUIRED TRUE
  49. &ENDIF
  50. &GLOBAL-DEFINE DB-REQUIRED-START &IF {&DB-REQUIRED} &THEN
  51. &GLOBAL-DEFINE DB-REQUIRED-END &ENDIF
  52. &Scoped-define QUERY-NAME Query-Main
  53. /* Internal Tables (found by Frame, Query & Browse Queries) */
  54. &Scoped-define INTERNAL-TABLES browser_ko
  55. /* Definitions for QUERY Query-Main */
  56. &Scoped-Define ENABLED-FIELDS mandant benutzer program tabelle pagesize actualpage sortfeld lmandant~
  57. lastrecid
  58. &Scoped-define ENABLED-FIELDS-IN-browser_ko mandant benutzer program ~
  59. tabelle pagesize actualpage sortfeld lmandant lastrecid
  60. &Scoped-Define DATA-FIELDS mandant benutzer program tabelle pagesize actualpage sortfeld lmandant~
  61. lastrecid
  62. &Scoped-define DATA-FIELDS-IN-browser_ko mandant benutzer program tabelle ~
  63. pagesize actualpage sortfeld lmandant lastrecid
  64. &Scoped-Define MANDATORY-FIELDS
  65. &Scoped-Define APPLICATION-SERVICE
  66. &Scoped-Define ASSIGN-LIST
  67. &Scoped-Define DATA-FIELD-DEFS "administration/d-browser_ko.i"
  68. &Scoped-Define DATA-TABLE-NO-UNDO NO-UNDO
  69. &Scoped-define QUERY-STRING-Query-Main FOR EACH browser_ko NO-LOCK INDEXED-REPOSITION
  70. {&DB-REQUIRED-START}
  71. &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH browser_ko NO-LOCK INDEXED-REPOSITION.
  72. {&DB-REQUIRED-END}
  73. &Scoped-define TABLES-IN-QUERY-Query-Main browser_ko
  74. &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main browser_ko
  75. /* Custom List Definitions */
  76. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  77. /* _UIB-PREPROCESSOR-BLOCK-END */
  78. &ANALYZE-RESUME
  79. /* ************************ Function Prototypes ********************** */
  80. {&DB-REQUIRED-START}
  81. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getCurrentRecid dTables _DB-REQUIRED
  82. FUNCTION getCurrentRecid RETURNS RECID
  83. ( /* parameter-definitions */ ) FORWARD.
  84. /* _UIB-CODE-BLOCK-END */
  85. &ANALYZE-RESUME
  86. {&DB-REQUIRED-END}
  87. {&DB-REQUIRED-START}
  88. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getQueryBuffer dTables _DB-REQUIRED
  89. FUNCTION getQueryBuffer RETURNS HANDLE
  90. ( /* parameter-definitions */ ) FORWARD.
  91. /* _UIB-CODE-BLOCK-END */
  92. &ANALYZE-RESUME
  93. {&DB-REQUIRED-END}
  94. {&DB-REQUIRED-START}
  95. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD openQuery dTables _DB-REQUIRED
  96. FUNCTION openQuery RETURNS LOGICAL
  97. ( /* parameter-definitions */ ) FORWARD.
  98. /* _UIB-CODE-BLOCK-END */
  99. &ANALYZE-RESUME
  100. {&DB-REQUIRED-END}
  101. /* *********************** Control Definitions ********************** */
  102. {&DB-REQUIRED-START}
  103. /* Query definitions */
  104. &ANALYZE-SUSPEND
  105. DEFINE QUERY Query-Main FOR
  106. browser_ko SCROLLING.
  107. &ANALYZE-RESUME
  108. {&DB-REQUIRED-END}
  109. /* ************************ Frame Definitions *********************** */
  110. /* *********************** Procedure Settings ************************ */
  111. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  112. /* Settings for THIS-PROCEDURE
  113. Type: SmartDataObject
  114. Allow: Query
  115. Frames: 0
  116. Add Fields to: Neither
  117. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER DB-AWARE
  118. */
  119. /* This procedure should always be RUN PERSISTENT. Report the error, */
  120. /* then cleanup and return. */
  121. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  122. DO:
  123. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  124. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  125. RETURN.
  126. END.
  127. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  128. /* ************************* Create Window ************************** */
  129. &ANALYZE-SUSPEND _CREATE-WINDOW
  130. /* DESIGN Window definition (used by the UIB)
  131. CREATE WINDOW dTables ASSIGN
  132. HEIGHT = 1.62
  133. WIDTH = 46.6.
  134. /* END WINDOW DEFINITION */
  135. */
  136. &ANALYZE-RESUME
  137. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB dTables
  138. /* ************************* Included-Libraries *********************** */
  139. {src/adm2/data.i}
  140. /* _UIB-CODE-BLOCK-END */
  141. &ANALYZE-RESUME
  142. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  143. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  144. /* SETTINGS FOR WINDOW dTables
  145. VISIBLE,,RUN-PERSISTENT */
  146. /* _RUN-TIME-ATTRIBUTES-END */
  147. &ANALYZE-RESUME
  148. /* Setting information for Queries and Browse Widgets fields */
  149. &ANALYZE-SUSPEND _QUERY-BLOCK QUERY Query-Main
  150. /* Query rebuild information for SmartDataObject Query-Main
  151. _TblList = "FRAMEWORK.browser_ko"
  152. _Options = "NO-LOCK INDEXED-REPOSITION"
  153. _FldNameList[1] > FRAMEWORK.browser_ko.mandant
  154. "mandant" "mandant" ? ? "character" ? ? ? ? ? ? yes ? no 8.4 yes ?
  155. _FldNameList[2] > FRAMEWORK.browser_ko.benutzer
  156. "benutzer" "benutzer" ? ? "character" ? ? ? ? ? ? yes ? no 30 yes ?
  157. _FldNameList[3] > FRAMEWORK.browser_ko.program
  158. "program" "program" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ?
  159. _FldNameList[4] > FRAMEWORK.browser_ko.tabelle
  160. "tabelle" "tabelle" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ?
  161. _FldNameList[5] > FRAMEWORK.browser_ko.pagesize
  162. "pagesize" "pagesize" ? ? "integer" ? ? ? ? ? ? yes ? no 12.2 yes ?
  163. _FldNameList[6] > FRAMEWORK.browser_ko.actualpage
  164. "actualpage" "actualpage" ? ? "integer" ? ? ? ? ? ? yes ? no 13 yes ?
  165. _FldNameList[7] > FRAMEWORK.browser_ko.sortfeld
  166. "sortfeld" "sortfeld" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ?
  167. _FldNameList[8] > FRAMEWORK.browser_ko.lmandant
  168. "lmandant" "lmandant" ? ? "logical" ? ? ? ? ? ? yes ? no 11.8 yes ?
  169. _FldNameList[9] > FRAMEWORK.browser_ko.lastrecid
  170. "lastrecid" "lastrecid" ? ? "recid" ? ? ? ? ? ? yes ? no 12 yes ?
  171. _Design-Parent is WINDOW dTables @ ( 1.14 , 2.6 )
  172. */ /* QUERY Query-Main */
  173. &ANALYZE-RESUME
  174. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK dTables
  175. /* *************************** Main Block *************************** */
  176. fOpen = FALSE.
  177. { incl/datmainblock.i }
  178. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  179. RUN initializeObject.
  180. &ENDIF
  181. /* _UIB-CODE-BLOCK-END */
  182. &ANALYZE-RESUME
  183. /* ********************** Internal Procedures *********************** */
  184. {&DB-REQUIRED-START}
  185. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE dataAvailable dTables _DB-REQUIRED
  186. PROCEDURE dataAvailable :
  187. /*------------------------------------------------------------------------------
  188. Purpose: Super Override
  189. Parameters:
  190. Notes:
  191. ------------------------------------------------------------------------------*/
  192. { incl/datdataavailable.i }
  193. END PROCEDURE.
  194. /* _UIB-CODE-BLOCK-END */
  195. &ANALYZE-RESUME
  196. {&DB-REQUIRED-END}
  197. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI dTables _DEFAULT-DISABLE
  198. PROCEDURE disable_UI :
  199. /*------------------------------------------------------------------------------
  200. Purpose: DISABLE the User Interface
  201. Parameters: <none>
  202. Notes: Here we clean-up the user-interface by deleting
  203. dynamic widgets we have created and/or hide
  204. frames. This procedure is usually called when
  205. we are ready to "clean-up" after running.
  206. ------------------------------------------------------------------------------*/
  207. /* Hide all frames. */
  208. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  209. END PROCEDURE.
  210. /* _UIB-CODE-BLOCK-END */
  211. &ANALYZE-RESUME
  212. {&DB-REQUIRED-START}
  213. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INAKTIVIEREN dTables _DB-REQUIRED
  214. PROCEDURE INAKTIVIEREN :
  215. /*------------------------------------------------------------------------------
  216. Purpose:
  217. Parameters: <none>
  218. Notes:
  219. ------------------------------------------------------------------------------*/
  220. { incl/datinaktivieren.i }
  221. END PROCEDURE.
  222. /* _UIB-CODE-BLOCK-END */
  223. &ANALYZE-RESUME
  224. {&DB-REQUIRED-END}
  225. {&DB-REQUIRED-START}
  226. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject dTables _DB-REQUIRED
  227. PROCEDURE initializeObject :
  228. /*------------------------------------------------------------------------------
  229. Purpose: Super Override
  230. Parameters:
  231. Notes:
  232. ------------------------------------------------------------------------------*/
  233. { incl/datinitialize.i }
  234. END PROCEDURE.
  235. /* _UIB-CODE-BLOCK-END */
  236. &ANALYZE-RESUME
  237. {&DB-REQUIRED-END}
  238. {&DB-REQUIRED-START}
  239. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REAKTIVIEREN dTables _DB-REQUIRED
  240. PROCEDURE REAKTIVIEREN :
  241. /*------------------------------------------------------------------------------
  242. Purpose:
  243. Parameters: <none>
  244. Notes:
  245. ------------------------------------------------------------------------------*/
  246. { incl/datreaktivieren.i }
  247. END PROCEDURE.
  248. /* _UIB-CODE-BLOCK-END */
  249. &ANALYZE-RESUME
  250. {&DB-REQUIRED-END}
  251. {&DB-REQUIRED-START}
  252. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPOS_TABELLE dTables _DB-REQUIRED
  253. PROCEDURE REPOS_TABELLE :
  254. /*------------------------------------------------------------------------------
  255. Purpose:
  256. Parameters: <none>
  257. Notes:
  258. ------------------------------------------------------------------------------*/
  259. { incl/datrepos.i }
  260. END PROCEDURE.
  261. /* _UIB-CODE-BLOCK-END */
  262. &ANALYZE-RESUME
  263. {&DB-REQUIRED-END}
  264. {&DB-REQUIRED-START}
  265. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_BENUTZER dTables _DB-REQUIRED
  266. PROCEDURE SET_BENUTZER :
  267. /*------------------------------------------------------------------------------
  268. Purpose:
  269. Parameters: <none>
  270. Notes:
  271. ------------------------------------------------------------------------------*/
  272. DEFINE INPUT PARAMETER ipcBenutzer AS CHARACTER NO-UNDO.
  273. cBenutzer = ipcBenutzer.
  274. DYNAMIC-FUNCTION ('openQuery':U) NO-ERROR.
  275. END PROCEDURE.
  276. /* _UIB-CODE-BLOCK-END */
  277. &ANALYZE-RESUME
  278. {&DB-REQUIRED-END}
  279. {&DB-REQUIRED-START}
  280. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_FILTER dTables _DB-REQUIRED
  281. PROCEDURE SET_FILTER :
  282. /*------------------------------------------------------------------------------
  283. Purpose:
  284. Parameters: <none>
  285. Notes:
  286. ------------------------------------------------------------------------------*/
  287. { incl/datsetfilter.i }
  288. END PROCEDURE.
  289. /* _UIB-CODE-BLOCK-END */
  290. &ANALYZE-RESUME
  291. {&DB-REQUIRED-END}
  292. {&DB-REQUIRED-START}
  293. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_MANDANT dTables _DB-REQUIRED
  294. PROCEDURE SET_MANDANT :
  295. /*------------------------------------------------------------------------------
  296. Purpose:
  297. Parameters: <none>
  298. Notes:
  299. ------------------------------------------------------------------------------*/
  300. DEFINE INPUT PARAMETER ipcMandant AS CHARACTER NO-UNDO.
  301. cMandant = ipcMandant.
  302. DYNAMIC-FUNCTION ('openQuery':U) NO-ERROR.
  303. END PROCEDURE.
  304. /* _UIB-CODE-BLOCK-END */
  305. &ANALYZE-RESUME
  306. {&DB-REQUIRED-END}
  307. {&DB-REQUIRED-START}
  308. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_OPENFLAG dTables _DB-REQUIRED
  309. PROCEDURE SET_OPENFLAG :
  310. /*------------------------------------------------------------------------------
  311. Purpose:
  312. Parameters: <none>
  313. Notes:
  314. ------------------------------------------------------------------------------*/
  315. { incl/datsetopenflag.i }
  316. END PROCEDURE.
  317. /* _UIB-CODE-BLOCK-END */
  318. &ANALYZE-RESUME
  319. {&DB-REQUIRED-END}
  320. {&DB-REQUIRED-START}
  321. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_SORT dTables _DB-REQUIRED
  322. PROCEDURE SET_SORT :
  323. /*------------------------------------------------------------------------------
  324. Purpose:
  325. Parameters: <none>
  326. Notes:
  327. ------------------------------------------------------------------------------*/
  328. { incl/datsetsort.i }
  329. END PROCEDURE.
  330. /* _UIB-CODE-BLOCK-END */
  331. &ANALYZE-RESUME
  332. {&DB-REQUIRED-END}
  333. /* ************************ Function Implementations ***************** */
  334. {&DB-REQUIRED-START}
  335. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getCurrentRecid dTables _DB-REQUIRED
  336. FUNCTION getCurrentRecid RETURNS RECID
  337. ( /* parameter-definitions */ ) :
  338. /*------------------------------------------------------------------------------
  339. Purpose:
  340. Notes:
  341. ------------------------------------------------------------------------------*/
  342. { incl/datgetcurrentrecid.i }
  343. END FUNCTION.
  344. /* _UIB-CODE-BLOCK-END */
  345. &ANALYZE-RESUME
  346. {&DB-REQUIRED-END}
  347. {&DB-REQUIRED-START}
  348. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getQueryBuffer dTables _DB-REQUIRED
  349. FUNCTION getQueryBuffer RETURNS HANDLE
  350. ( /* parameter-definitions */ ) :
  351. /*------------------------------------------------------------------------------
  352. Purpose:
  353. Notes:
  354. ------------------------------------------------------------------------------*/
  355. RETURN BUFFER rowObject:HANDLE.
  356. END FUNCTION.
  357. /* _UIB-CODE-BLOCK-END */
  358. &ANALYZE-RESUME
  359. {&DB-REQUIRED-END}
  360. {&DB-REQUIRED-START}
  361. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION openQuery dTables _DB-REQUIRED
  362. FUNCTION openQuery RETURNS LOGICAL
  363. ( /* parameter-definitions */ ) :
  364. /*------------------------------------------------------------------------------
  365. Purpose: Super Override
  366. Notes:
  367. ------------------------------------------------------------------------------*/
  368. DEFINE VARIABLE Felder AS CHARACTER NO-UNDO.
  369. DEFINE VARIABLE Inhalt AS CHARACTER NO-UNDO.
  370. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  371. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
  372. IF NOT fOpen THEN RETURN FALSE.
  373. xWhere = ''.
  374. xSort = ''.
  375. xString = ''.
  376. Felder = DYNAMIC-FUNCTION('getForeignFields':U) NO-ERROR.
  377. Inhalt = DYNAMIC-FUNCTION('getForeignValues':U) NO-ERROR.
  378. /* ix = LOOKUP('Feld', Felder, ',') / 2. */
  379. /* cFeld = ENTRY (ix , Inhalt, CHR(01)). */
  380. xWhere
  381. = 'browser_ko.mandant = ' + QUOTER(cMandant) + ' AND '
  382. + 'browser_ko.benutzer = ' + QUOTER(cBenutzer) + ' '.
  383. /* xString = 'FOR EACH Debop ' + xSort + 'WHERE ' */
  384. /* + 'Debop.Firma = "' + Firma + '" AND ' */
  385. /* + 'Debop.Knr = ' + STRING(Knr) + ' ' */
  386. /* + 'NO-LOCK BY Debop.FakDat DESCENDING INDEXED-REPOSITION '. */
  387. { incl/datopenquery.i }
  388. IF xWhere <> '' THEN DYNAMIC-FUNCTION('setQueryWhere':U , INPUT xWhere ).
  389. IF xSort <> '' THEN DYNAMIC-FUNCTION('setQuerySort':U , INPUT xSort ).
  390. IF xString <> '' THEN DYNAMIC-FUNCTION('setQueryString':U, INPUT xString).
  391. RETURN SUPER( ).
  392. END FUNCTION.
  393. /* _UIB-CODE-BLOCK-END */
  394. &ANALYZE-RESUME
  395. {&DB-REQUIRED-END}