g-debop-detail.w 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &Scoped-define FRAME-NAME gDebopDetail
  8. /* Temp-Table and Buffer definitions */
  9. DEFINE TEMP-TABLE TInterf NO-UNDO LIKE Interf.
  10. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gDebopDetail
  11. /*------------------------------------------------------------------------
  12. File:
  13. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  14. Input Parameters:
  15. <none>
  16. Output Parameters:
  17. <none>
  18. Author:
  19. Created:
  20. ------------------------------------------------------------------------*/
  21. /* This .W file was created with the Progress AppBuilder. */
  22. /*----------------------------------------------------------------------*/
  23. /* Create an unnamed pool to store all the widgets created
  24. by this procedure. This is a good default which assures
  25. that this procedure's triggers and internal procedures
  26. will execute in this procedure's storage, and that proper
  27. cleanup will occur on deletion of the procedure. */
  28. CREATE WIDGET-POOL.
  29. /* *************************** Definitions ************************** */
  30. /* Parameters Definitions --- */
  31. DEF INPUT PARAMETER ipFaknr AS INT NO-UNDO.
  32. /* Local Variable Definitions --- */
  33. DEF VAR MaxPage AS INT NO-UNDO.
  34. DEF VAR AktSeite AS INT NO-UNDO.
  35. DEF VAR FMutFlag AS LOG NO-UNDO.
  36. DEF VAR ProgName AS CHAR NO-UNDO.
  37. DEF VAR SAktiv AS LOG NO-UNDO.
  38. DEF VAR Firma AS CHAR NO-UNDO.
  39. DEF VAR AdFirma AS CHAR NO-UNDO.
  40. DEF VAR FBFirma AS CHAR NO-UNDO.
  41. /* _UIB-CODE-BLOCK-END */
  42. &ANALYZE-RESUME
  43. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  44. /* ******************** Preprocessor Definitions ******************** */
  45. &Scoped-define PROCEDURE-TYPE SmartDialog
  46. &Scoped-define DB-AWARE no
  47. &Scoped-define ADM-CONTAINER DIALOG-BOX
  48. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  49. /* Name of first Frame and/or Browse and/or first Query */
  50. &Scoped-define FRAME-NAME gDebopDetail
  51. &Scoped-define BROWSE-NAME BROWSE-1
  52. /* Internal Tables (found by Frame, Query & Browse Queries) */
  53. &Scoped-define INTERNAL-TABLES TInterf
  54. /* Definitions for BROWSE BROWSE-1 */
  55. &Scoped-define FIELDS-IN-QUERY-BROWSE-1 TInterf.Kto1 TInterf.Kto2 ~
  56. TInterf.Datum TInterf.Buchtxt1 TInterf.FRW TInterf.Betrag ~
  57. TInterf.Betrag_FRW
  58. &Scoped-define ENABLED-FIELDS-IN-QUERY-BROWSE-1
  59. &Scoped-define OPEN-QUERY-BROWSE-1 OPEN QUERY BROWSE-1 FOR EACH TInterf NO-LOCK INDEXED-REPOSITION.
  60. &Scoped-define TABLES-IN-QUERY-BROWSE-1 TInterf
  61. &Scoped-define FIRST-TABLE-IN-QUERY-BROWSE-1 TInterf
  62. /* Definitions for DIALOG-BOX gDebopDetail */
  63. &Scoped-define OPEN-BROWSERS-IN-QUERY-gDebopDetail ~
  64. ~{&OPEN-QUERY-BROWSE-1}
  65. /* Standard List Definitions */
  66. &Scoped-Define ENABLED-OBJECTS BROWSE-1 RECT-40
  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. /* *********************** Control Definitions ********************** */
  72. /* Define a dialog box */
  73. /* Definitions of the field level widgets */
  74. DEFINE RECTANGLE RECT-40
  75. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  76. SIZE 128 BY 11.43.
  77. /* Query definitions */
  78. &ANALYZE-SUSPEND
  79. DEFINE QUERY BROWSE-1 FOR
  80. TInterf SCROLLING.
  81. &ANALYZE-RESUME
  82. /* Browse definitions */
  83. DEFINE BROWSE BROWSE-1
  84. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS BROWSE-1 gDebopDetail _STRUCTURED
  85. QUERY BROWSE-1 NO-LOCK DISPLAY
  86. TInterf.Kto1 COLUMN-LABEL "Konto" FORMAT "x(12)":U
  87. TInterf.Kto2 COLUMN-LABEL "Gegenkonto" FORMAT "x(12)":U
  88. TInterf.Datum COLUMN-LABEL "Buchungsdatum" FORMAT "99.99.9999":U
  89. TInterf.Buchtxt1 COLUMN-LABEL "Buchungstext" FORMAT "x(40)":U
  90. TInterf.FRW COLUMN-LABEL "Währung" FORMAT "x(3)":U
  91. TInterf.Betrag FORMAT "zzz,zzz,zz9.99-":U
  92. TInterf.Betrag_FRW COLUMN-LABEL "Betrag FRW" FORMAT "zzz,zzz,zz9.99-":U
  93. WIDTH 12.4
  94. /* _UIB-CODE-BLOCK-END */
  95. &ANALYZE-RESUME
  96. WITH NO-ROW-MARKERS SEPARATORS SIZE 126 BY 10.95.
  97. /* ************************ Frame Definitions *********************** */
  98. DEFINE FRAME gDebopDetail
  99. BROWSE-1 AT ROW 1.48 COL 3
  100. RECT-40 AT ROW 1.24 COL 2
  101. SPACE(0.99) SKIP(0.22)
  102. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  103. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  104. TITLE "Detail eines offenen Posten".
  105. /* *********************** Procedure Settings ************************ */
  106. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  107. /* Settings for THIS-PROCEDURE
  108. Type: SmartDialog
  109. Allow: Basic,Browse,DB-Fields,Query,Smart
  110. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  111. Design Page: 1
  112. Other Settings: COMPILE
  113. Temp-Tables and Buffers:
  114. TABLE: TInterf T "?" NO-UNDO AnaDat Interf
  115. END-TABLES.
  116. */
  117. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  118. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gDebopDetail
  119. /* ************************* Included-Libraries *********************** */
  120. {src/adm2/containr.i}
  121. /* _UIB-CODE-BLOCK-END */
  122. &ANALYZE-RESUME
  123. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  124. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  125. /* SETTINGS FOR DIALOG-BOX gDebopDetail
  126. */
  127. /* BROWSE-TAB BROWSE-1 1 gDebopDetail */
  128. ASSIGN
  129. FRAME gDebopDetail:SCROLLABLE = FALSE
  130. FRAME gDebopDetail:HIDDEN = TRUE.
  131. ASSIGN
  132. BROWSE-1:COLUMN-RESIZABLE IN FRAME gDebopDetail = TRUE.
  133. /* _RUN-TIME-ATTRIBUTES-END */
  134. &ANALYZE-RESUME
  135. /* Setting information for Queries and Browse Widgets fields */
  136. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE BROWSE-1
  137. /* Query rebuild information for BROWSE BROWSE-1
  138. _TblList = "Temp-Tables.TInterf"
  139. _Options = "NO-LOCK INDEXED-REPOSITION"
  140. _FldNameList[1] > Temp-Tables.TInterf.Kto1
  141. "TInterf.Kto1" "Konto" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  142. _FldNameList[2] > Temp-Tables.TInterf.Kto2
  143. "TInterf.Kto2" "Gegenkonto" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  144. _FldNameList[3] > Temp-Tables.TInterf.Datum
  145. "TInterf.Datum" "Buchungsdatum" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  146. _FldNameList[4] > Temp-Tables.TInterf.Buchtxt1
  147. "TInterf.Buchtxt1" "Buchungstext" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  148. _FldNameList[5] > Temp-Tables.TInterf.FRW
  149. "TInterf.FRW" "Währung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  150. _FldNameList[6] = Temp-Tables.TInterf.Betrag
  151. _FldNameList[7] > Temp-Tables.TInterf.Betrag_FRW
  152. "TInterf.Betrag_FRW" "Betrag FRW" ? "decimal" ? ? ? ? ? ? no ? no no "12.4" yes no no "U" "" ""
  153. _Query is OPENED
  154. */ /* BROWSE BROWSE-1 */
  155. &ANALYZE-RESUME
  156. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gDebopDetail
  157. /* Query rebuild information for DIALOG-BOX gDebopDetail
  158. _Options = "SHARE-LOCK"
  159. _Query is NOT OPENED
  160. */ /* DIALOG-BOX gDebopDetail */
  161. &ANALYZE-RESUME
  162. /* ************************ Control Triggers ************************ */
  163. &Scoped-define SELF-NAME gDebopDetail
  164. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebopDetail gDebopDetail
  165. ON END-ERROR OF FRAME gDebopDetail /* Detail eines offenen Posten */
  166. DO:
  167. RUN ENDE.
  168. RETURN NO-APPLY.
  169. END.
  170. /* _UIB-CODE-BLOCK-END */
  171. &ANALYZE-RESUME
  172. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebopDetail gDebopDetail
  173. ON GO OF FRAME gDebopDetail /* Detail eines offenen Posten */
  174. DO:
  175. /*
  176. RUN ENDE_PROGRAMM ( INPUT Progname ) NO-ERROR.
  177. */
  178. END.
  179. /* _UIB-CODE-BLOCK-END */
  180. &ANALYZE-RESUME
  181. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebopDetail gDebopDetail
  182. ON WINDOW-CLOSE OF FRAME gDebopDetail /* Detail eines offenen Posten */
  183. DO:
  184. RUN ENDE.
  185. RETURN NO-APPLY.
  186. END.
  187. /* _UIB-CODE-BLOCK-END */
  188. &ANALYZE-RESUME
  189. &Scoped-define BROWSE-NAME BROWSE-1
  190. &UNDEFINE SELF-NAME
  191. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gDebopDetail
  192. /* *************************** Main Block *************************** */
  193. MaxPage = 1.
  194. AktSeite = 1.
  195. sAktiv = DYNAMIC-FUNCTION('getSuperaktiv':U) NO-ERROR.
  196. IF sAktiv THEN DO:
  197. Firma = DYNAMIC-FUNCTION('GETMANDANT':U ) NO-ERROR.
  198. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U ) NO-ERROR.
  199. FBFirma = DYNAMIC-FUNCTION('GETFBMANDANT':U ) NO-ERROR.
  200. Progname = DYNAMIC-FUNCTION('MAKEPROGNAME':U, INPUT THIS-PROCEDURE ) NO-ERROR.
  201. END.
  202. SESSION:DATA-ENTRY-RETURN = TRUE.
  203. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  204. DO:
  205. RUN ENDE.
  206. RETURN NO-APPLY.
  207. END.
  208. /* ------------------------------------------------------------------ */
  209. {src/adm2/dialogmn.i}
  210. /* _UIB-CODE-BLOCK-END */
  211. &ANALYZE-RESUME
  212. /* ********************** Internal Procedures *********************** */
  213. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gDebopDetail _ADM-CREATE-OBJECTS
  214. PROCEDURE adm-create-objects :
  215. /*------------------------------------------------------------------------------
  216. Purpose: Create handles for all SmartObjects used in this procedure.
  217. After SmartObjects are initialized, then SmartLinks are added.
  218. Parameters: <none>
  219. ------------------------------------------------------------------------------*/
  220. END PROCEDURE.
  221. /* _UIB-CODE-BLOCK-END */
  222. &ANALYZE-RESUME
  223. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gDebopDetail _DEFAULT-DISABLE
  224. PROCEDURE disable_UI :
  225. /*------------------------------------------------------------------------------
  226. Purpose: DISABLE the User Interface
  227. Parameters: <none>
  228. Notes: Here we clean-up the user-interface by deleting
  229. dynamic widgets we have created and/or hide
  230. frames. This procedure is usually called when
  231. we are ready to "clean-up" after running.
  232. ------------------------------------------------------------------------------*/
  233. /* Hide all frames. */
  234. HIDE FRAME gDebopDetail.
  235. END PROCEDURE.
  236. /* _UIB-CODE-BLOCK-END */
  237. &ANALYZE-RESUME
  238. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gDebopDetail
  239. PROCEDURE enableObject :
  240. /*------------------------------------------------------------------------------
  241. Purpose: Super Override
  242. Parameters:
  243. Notes:
  244. ------------------------------------------------------------------------------*/
  245. DEF VAR wx AS INT NO-UNDO.
  246. DEF VAR wy AS INT NO-UNDO.
  247. DEF VAR MaxX AS INT NO-UNDO.
  248. DEF VAR MaxY AS INT NO-UNDO.
  249. DEF VAR xString AS CHAR NO-UNDO.
  250. MaxX = SESSION:WIDTH-PIXELS.
  251. MaxY = SESSION:HEIGHT-PIXELS.
  252. GET-KEY-VALUE SECTION 'FensterPositionen'
  253. KEY ProgName
  254. VALUE xString.
  255. IF xString = ? THEN xString = '30;30'.
  256. IF xString = '' THEN xString = '30;30'.
  257. wx = INTEGER(ENTRY(1, xString, ';')).
  258. wy = INTEGER(ENTRY(2, xString, ';')).
  259. IF wx < 0 THEN wx = 30.
  260. IF wy < 0 THEN wy = 30.
  261. IF wx > (MaxX - 20) THEN wx = 30.
  262. IF wy > (MaxY - 20) THEN wy = 30.
  263. FRAME {&FRAME-NAME}:X = wx.
  264. FRAME {&FRAME-NAME}:Y = wy.
  265. RUN SUPER.
  266. IF sAktiv THEN RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  267. EMPTY TEMP-TABLE TInterf.
  268. FIND FIRST Debop USE-INDEX Debop-k2
  269. WHERE Debop.Firma = Firma
  270. AND Debop.Faknr = ipFaknr NO-LOCK NO-ERROR.
  271. IF NOT AVAILABLE Debop THEN RETURN.
  272. FOR EACH Interf USE-INDEX Interf-k1
  273. WHERE Interf.Firma = FBFirma
  274. AND Interf.TrNr1 = Debop.TrNr1 NO-LOCK:
  275. CREATE TInterf.
  276. BUFFER-COPY Interf TO TInterf.
  277. END.
  278. OPEN QUERY {&BROWSE-NAME}
  279. FOR EACH TInterf NO-LOCK.
  280. END PROCEDURE.
  281. /* _UIB-CODE-BLOCK-END */
  282. &ANALYZE-RESUME
  283. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gDebopDetail _DEFAULT-ENABLE
  284. PROCEDURE enable_UI :
  285. /*------------------------------------------------------------------------------
  286. Purpose: ENABLE the User Interface
  287. Parameters: <none>
  288. Notes: Here we display/view/enable the widgets in the
  289. user-interface. In addition, OPEN all queries
  290. associated with each FRAME and BROWSE.
  291. These statements here are based on the "Other
  292. Settings" section of the widget Property Sheets.
  293. ------------------------------------------------------------------------------*/
  294. ENABLE BROWSE-1 RECT-40
  295. WITH FRAME gDebopDetail.
  296. VIEW FRAME gDebopDetail.
  297. {&OPEN-BROWSERS-IN-QUERY-gDebopDetail}
  298. END PROCEDURE.
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gDebopDetail
  302. PROCEDURE ENDE :
  303. /*------------------------------------------------------------------------------
  304. Purpose:
  305. Parameters: <none>
  306. Notes:
  307. ------------------------------------------------------------------------------*/
  308. DEF VAR wx AS INT NO-UNDO.
  309. DEF VAR wy AS INT NO-UNDO.
  310. DEF VAR xString AS CHAR NO-UNDO.
  311. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  312. IF AktSeite > 1 THEN DO:
  313. RUN selectPage ( INPUT 1 ).
  314. RETURN NO-APPLY.
  315. END.
  316. IF sAktiv THEN RUN ENDE_PROGRAMM ( INPUT Progname ).
  317. wx = FRAME {&FRAME-NAME}:X NO-ERROR.
  318. wy = FRAME {&FRAME-NAME}:Y NO-ERROR.
  319. xString = STRING(wx) + ';' + STRING(wy).
  320. PUT-KEY-VALUE SECTION 'FensterPositionen'
  321. KEY ProgName
  322. VALUE xString.
  323. APPLY "CLOSE":U TO THIS-PROCEDURE.
  324. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  325. RETURN NO-APPLY.
  326. END PROCEDURE.
  327. /* _UIB-CODE-BLOCK-END */
  328. &ANALYZE-RESUME
  329. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gDebopDetail
  330. PROCEDURE exitObject :
  331. /*------------------------------------------------------------------------------
  332. Purpose: Super Override
  333. Parameters:
  334. Notes:
  335. ------------------------------------------------------------------------------*/
  336. RUN ENDE.
  337. RETURN NO-APPLY.
  338. END PROCEDURE.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME