b-aktkeine.w 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539
  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. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS bTableWin
  8. /*------------------------------------------------------------------------
  9. File: adm2\src\browser.w
  10. Description: SmartDataBrowser Object
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. DEF VAR SAktiv AS LOG INIT FALSE NO-UNDO.
  28. DEF VAR Firma AS CHAR NO-UNDO.
  29. /* _UIB-CODE-BLOCK-END */
  30. &ANALYZE-RESUME
  31. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  32. /* ******************** Preprocessor Definitions ******************** */
  33. &Scoped-define PROCEDURE-TYPE SmartDataBrowser
  34. &Scoped-define DB-AWARE no
  35. &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
  36. /* Include file with RowObject temp-table definition */
  37. &Scoped-define DATA-FIELD-DEFS "d-aktkeine.i"
  38. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  39. &Scoped-define FRAME-NAME F-Main
  40. &Scoped-define BROWSE-NAME br_table
  41. /* Internal Tables (found by Frame, Query & Browse Queries) */
  42. &Scoped-define INTERNAL-TABLES rowObject
  43. /* Definitions for BROWSE br_table */
  44. &Scoped-define FIELDS-IN-QUERY-br_table Wgr Warengrp
  45. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  46. &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
  47. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
  48. &Scoped-define TABLES-IN-QUERY-br_table rowObject
  49. &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject
  50. /* Definitions for FRAME F-Main */
  51. /* Standard List Definitions */
  52. &Scoped-Define ENABLED-OBJECTS CB_Warengruppe Btn_Add br_table RECT-3
  53. &Scoped-Define DISPLAYED-OBJECTS CB_Warengruppe
  54. /* Custom List Definitions */
  55. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  56. /* _UIB-PREPROCESSOR-BLOCK-END */
  57. &ANALYZE-RESUME
  58. /* *********************** Control Definitions ********************** */
  59. /* Menu Definitions */
  60. DEFINE MENU POPUP-MENU-br_table
  61. MENU-ITEM m_Loeschen LABEL "Löschen" .
  62. /* Definitions of the field level widgets */
  63. DEFINE BUTTON Btn_Add
  64. IMAGE-UP FILE "grafik/add.bmp":U
  65. LABEL "Add"
  66. SIZE 4.6 BY 1.1.
  67. DEFINE VARIABLE CB_Warengruppe AS CHARACTER FORMAT "X(256)":U
  68. VIEW-AS COMBO-BOX INNER-LINES 5
  69. LIST-ITEM-PAIRS "Item 1","Item 1"
  70. DROP-DOWN-LIST
  71. SIZE 32 BY 1
  72. BGCOLOR 15 NO-UNDO.
  73. DEFINE RECTANGLE RECT-3
  74. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  75. SIZE 42 BY 10.24.
  76. /* Query definitions */
  77. &ANALYZE-SUSPEND
  78. DEFINE TEMP-TABLE RowObject NO-UNDO
  79. {{&DATA-FIELD-DEFS}}
  80. {src/adm2/robjflds.i}.
  81. DEFINE QUERY br_table FOR
  82. rowObject SCROLLING.
  83. &ANALYZE-RESUME
  84. /* Browse definitions */
  85. DEFINE BROWSE br_table
  86. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED
  87. QUERY br_table NO-LOCK DISPLAY
  88. Wgr FORMAT "999":U
  89. Warengrp FORMAT "x(30)":U WIDTH 31.8
  90. /* _UIB-CODE-BLOCK-END */
  91. &ANALYZE-RESUME
  92. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 40 BY 6.67
  93. BGCOLOR 15 FIT-LAST-COLUMN.
  94. /* ************************ Frame Definitions *********************** */
  95. DEFINE FRAME F-Main
  96. CB_Warengruppe AT ROW 9.95 COL 1 COLON-ALIGNED NO-LABEL
  97. Btn_Add AT ROW 9.95 COL 38
  98. br_table AT ROW 2.91 COL 3
  99. "keine Aktionen auf" VIEW-AS TEXT
  100. SIZE 36 BY 1 AT ROW 1.71 COL 3
  101. RECT-3 AT ROW 1.24 COL 2
  102. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  103. SIDE-LABELS NO-UNDERLINE THREE-D
  104. AT COL 1 ROW 1 SCROLLABLE .
  105. /* *********************** Procedure Settings ************************ */
  106. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  107. /* Settings for THIS-PROCEDURE
  108. Type: SmartDataBrowser
  109. Data Source: "d-aktkeine.w"
  110. Allow: Basic,Browse
  111. Frames: 1
  112. Add Fields to: Neither
  113. Other Settings: PERSISTENT-ONLY COMPILE
  114. */
  115. /* This procedure should always be RUN PERSISTENT. Report the error, */
  116. /* then cleanup and return. */
  117. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  118. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  119. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  120. RETURN.
  121. END.
  122. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  123. /* ************************* Create Window ************************** */
  124. &ANALYZE-SUSPEND _CREATE-WINDOW
  125. /* DESIGN Window definition (used by the UIB)
  126. CREATE WINDOW bTableWin ASSIGN
  127. HEIGHT = 10.67
  128. WIDTH = 44.8.
  129. /* END WINDOW DEFINITION */
  130. */
  131. &ANALYZE-RESUME
  132. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  133. /* ************************* Included-Libraries *********************** */
  134. {src/adm2/browser.i}
  135. /* _UIB-CODE-BLOCK-END */
  136. &ANALYZE-RESUME
  137. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  138. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  139. /* SETTINGS FOR WINDOW bTableWin
  140. NOT-VISIBLE,,RUN-PERSISTENT */
  141. /* SETTINGS FOR FRAME F-Main
  142. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  143. /* BROWSE-TAB br_table Btn_Add F-Main */
  144. ASSIGN
  145. FRAME F-Main:SCROLLABLE = FALSE
  146. FRAME F-Main:HIDDEN = TRUE.
  147. ASSIGN
  148. br_table:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-br_table:HANDLE.
  149. /* _RUN-TIME-ATTRIBUTES-END */
  150. &ANALYZE-RESUME
  151. /* Setting information for Queries and Browse Widgets fields */
  152. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  153. /* Query rebuild information for BROWSE br_table
  154. _TblList = "rowObject"
  155. _Options = "NO-LOCK INDEXED-REPOSITION"
  156. _FldNameList[1] = _<SDO>.rowObject.Wgr
  157. _FldNameList[2] > _<SDO>.rowObject.Warengrp
  158. "Warengrp" ? ? "character" ? ? ? ? ? ? no "?" no no "31.8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  159. _Query is NOT OPENED
  160. */ /* BROWSE br_table */
  161. &ANALYZE-RESUME
  162. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  163. /* Query rebuild information for FRAME F-Main
  164. _Options = "NO-LOCK"
  165. _Query is NOT OPENED
  166. */ /* FRAME F-Main */
  167. &ANALYZE-RESUME
  168. /* ************************ Control Triggers ************************ */
  169. &Scoped-define BROWSE-NAME br_table
  170. &Scoped-define SELF-NAME br_table
  171. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  172. ON ALT-DEL OF br_table IN FRAME F-Main
  173. DO:
  174. RUN deleteRecord.
  175. END.
  176. /* _UIB-CODE-BLOCK-END */
  177. &ANALYZE-RESUME
  178. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  179. ON CTRL-END OF br_table IN FRAME F-Main
  180. DO:
  181. APPLY "END":U TO BROWSE br_table.
  182. END.
  183. /* _UIB-CODE-BLOCK-END */
  184. &ANALYZE-RESUME
  185. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  186. ON CTRL-HOME OF br_table IN FRAME F-Main
  187. DO:
  188. APPLY "HOME":U TO BROWSE br_table.
  189. END.
  190. /* _UIB-CODE-BLOCK-END */
  191. &ANALYZE-RESUME
  192. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  193. ON CURSOR-DOWN OF br_table IN FRAME F-Main
  194. DO:
  195. DEF VAR ja AS LOG NO-UNDO.
  196. IF {&BROWSE-NAME}:NUM-SELECTED-ROWS > 0 THEN RETURN.
  197. ja = {&BROWSE-NAME}:SELECT-ROW(1) NO-ERROR.
  198. IF NOT ja THEN RETURN NO-APPLY.
  199. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  200. END.
  201. /* _UIB-CODE-BLOCK-END */
  202. &ANALYZE-RESUME
  203. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  204. ON CURSOR-UP OF br_table IN FRAME F-Main
  205. DO:
  206. DEF VAR ja AS LOG NO-UNDO.
  207. IF {&BROWSE-NAME}:NUM-SELECTED-ROWS > 0 THEN RETURN.
  208. ja = {&BROWSE-NAME}:SELECT-ROW(1) NO-ERROR.
  209. IF NOT ja THEN RETURN NO-APPLY.
  210. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  211. END.
  212. /* _UIB-CODE-BLOCK-END */
  213. &ANALYZE-RESUME
  214. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  215. ON END OF br_table IN FRAME F-Main
  216. DO:
  217. {src/adm2/brsend.i}
  218. END.
  219. /* _UIB-CODE-BLOCK-END */
  220. &ANALYZE-RESUME
  221. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  222. ON HOME OF br_table IN FRAME F-Main
  223. DO:
  224. {src/adm2/brshome.i}
  225. END.
  226. /* _UIB-CODE-BLOCK-END */
  227. &ANALYZE-RESUME
  228. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  229. ON OFF-END OF br_table IN FRAME F-Main
  230. DO:
  231. {src/adm2/brsoffnd.i}
  232. END.
  233. /* _UIB-CODE-BLOCK-END */
  234. &ANALYZE-RESUME
  235. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  236. ON OFF-HOME OF br_table IN FRAME F-Main
  237. DO:
  238. {src/adm2/brsoffhm.i}
  239. END.
  240. /* _UIB-CODE-BLOCK-END */
  241. &ANALYZE-RESUME
  242. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  243. ON ROW-ENTRY OF br_table IN FRAME F-Main
  244. DO:
  245. {src/adm2/brsentry.i}
  246. END.
  247. /* _UIB-CODE-BLOCK-END */
  248. &ANALYZE-RESUME
  249. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  250. ON ROW-LEAVE OF br_table IN FRAME F-Main
  251. DO:
  252. {src/adm2/brsleave.i}
  253. END.
  254. /* _UIB-CODE-BLOCK-END */
  255. &ANALYZE-RESUME
  256. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  257. ON SCROLL-NOTIFY OF br_table IN FRAME F-Main
  258. DO:
  259. {src/adm2/brsscrol.i}
  260. END.
  261. /* _UIB-CODE-BLOCK-END */
  262. &ANALYZE-RESUME
  263. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  264. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  265. DO:
  266. {src/adm2/brschnge.i}
  267. END.
  268. /* _UIB-CODE-BLOCK-END */
  269. &ANALYZE-RESUME
  270. &Scoped-define SELF-NAME Btn_Add
  271. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Add bTableWin
  272. ON CHOOSE OF Btn_Add IN FRAME F-Main /* Add */
  273. DO:
  274. RUN ADD_WARENGRUPPE.
  275. APPLY 'ENTRY' TO CB_Warengruppe IN FRAME {&FRAME-NAME}.
  276. RETURN NO-APPLY.
  277. END.
  278. /* _UIB-CODE-BLOCK-END */
  279. &ANALYZE-RESUME
  280. &Scoped-define SELF-NAME CB_Warengruppe
  281. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Warengruppe bTableWin
  282. ON ALT-INS OF CB_Warengruppe IN FRAME F-Main
  283. DO:
  284. RUN ADD_WARENGRUPPE.
  285. APPLY 'ENTRY' TO SELF.
  286. RETURN NO-APPLY.
  287. END.
  288. /* _UIB-CODE-BLOCK-END */
  289. &ANALYZE-RESUME
  290. &Scoped-define SELF-NAME m_Loeschen
  291. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Loeschen bTableWin
  292. ON CHOOSE OF MENU-ITEM m_Loeschen /* Löschen */
  293. DO:
  294. DEF VAR hDaten AS HANDLE NO-UNDO.
  295. DO WITH FRAME {&FRAME-NAME}:
  296. IF {&BROWSE-NAME}:NUM-SELECTED-ROWS = 0 THEN RETURN NO-APPLY.
  297. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  298. hDaten = DYNAMIC-FUNCTION('getDataSource') NO-ERROR.
  299. IF NOT VALID-HANDLE ( hDaten ) THEN RETURN NO-APPLY.
  300. RUN LOESCHEN IN hDaten.
  301. RETURN NO-APPLY.
  302. END.
  303. END.
  304. /* _UIB-CODE-BLOCK-END */
  305. &ANALYZE-RESUME
  306. &UNDEFINE SELF-NAME
  307. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  308. /* *************************** Main Block *************************** */
  309. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  310. IF SAktiv THEN DO:
  311. Firma = DYNAMIC-FUNCTION('GETMANDANT':U ) NO-ERROR.
  312. END.
  313. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  314. RUN initializeObject.
  315. &ENDIF
  316. /* _UIB-CODE-BLOCK-END */
  317. &ANALYZE-RESUME
  318. /* ********************** Internal Procedures *********************** */
  319. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ADD_WARENGRUPPE bTableWin
  320. PROCEDURE ADD_WARENGRUPPE :
  321. /*------------------------------------------------------------------------------
  322. Purpose:
  323. Parameters: <none>
  324. Notes:
  325. ------------------------------------------------------------------------------*/
  326. DEF VAR hData AS HANDLE NO-UNDO.
  327. DEF VAR Knr AS INT NO-UNDO.
  328. DEF VAR Wgr AS INT NO-UNDO.
  329. Knr = DYNAMIC-FUNCTION('GETKNR':U) NO-ERROR.
  330. IF Knr = 0 THEN DO:
  331. DYNAMIC-FUNCTION('setFlagAbbruchAlt':U, INPUT TRUE) NO-ERROR.
  332. RETURN NO-APPLY.
  333. END.
  334. FIND Debst USE-INDEX Debst-k1
  335. WHERE Debst.Firma = Firma
  336. AND Debst.Knr = Knr NO-LOCK NO-ERROR.
  337. IF NOT AVAILABLE Debst THEN DO:
  338. RUN FEHLER ( INPUT 1016 ).
  339. RETURN NO-APPLY.
  340. END.
  341. hData = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  342. Wgr = INTEGER(CB_Warengruppe:SCREEN-VALUE IN FRAME {&FRAME-NAME}).
  343. IF NOT VALID-HANDLE(hData) THEN RETURN NO-APPLY.
  344. IF Knr = 0 OR
  345. Knr = ? THEN RETURN NO-APPLY.
  346. FIND AktKeine USE-INDEX AktKeine-k1
  347. WHERE AktKeine.Firma = Firma
  348. AND AktKeine.Knr = Knr
  349. AND AktKeine.Wgr = Wgr NO-LOCK NO-ERROR.
  350. IF AVAILABLE AktKeine THEN RETURN NO-APPLY.
  351. REPEAT TRANSACTION:
  352. CREATE AktKeine.
  353. ASSIGN AktKeine.Firma = Firma
  354. AktKeine.Knr = Knr
  355. AktKeine.Wgr = Wgr
  356. AktKeine.Aktion = FALSE.
  357. RELEASE AktKeine.
  358. LEAVE.
  359. END.
  360. DYNAMIC-FUNCTION('openQuery':U IN hData ) NO-ERROR.
  361. END PROCEDURE.
  362. /* _UIB-CODE-BLOCK-END */
  363. &ANALYZE-RESUME
  364. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  365. PROCEDURE disable_UI :
  366. /*------------------------------------------------------------------------------
  367. Purpose: DISABLE the User Interface
  368. Parameters: <none>
  369. Notes: Here we clean-up the user-interface by deleting
  370. dynamic widgets we have created and/or hide
  371. frames. This procedure is usually called when
  372. we are ready to "clean-up" after running.
  373. ------------------------------------------------------------------------------*/
  374. /* Hide all frames. */
  375. HIDE FRAME F-Main.
  376. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  377. END PROCEDURE.
  378. /* _UIB-CODE-BLOCK-END */
  379. &ANALYZE-RESUME
  380. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject bTableWin
  381. PROCEDURE enableObject :
  382. /*------------------------------------------------------------------------------
  383. Purpose: Super Override
  384. Parameters:
  385. Notes:
  386. ------------------------------------------------------------------------------*/
  387. DO WITH FRAME {&FRAME-NAME}:
  388. RUN COMBO_WARENGRUPPE ( INPUT CB_Warengruppe:HANDLE ).
  389. END.
  390. RUN SUPER.
  391. END PROCEDURE.
  392. /* _UIB-CODE-BLOCK-END */
  393. &ANALYZE-RESUME