d-subverband.w 14 KB

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