d-verband.w 15 KB

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