d-artbw-bestand.w 13 KB

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