v-artkanal.w 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807
  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. /* Temp-Table and Buffer definitions */
  9. DEFINE TEMP-TABLE RowObject NO-UNDO
  10. {"d-artkanal.i"}.
  11. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS vTableWin
  12. /*------------------------------------------------------------------------
  13. File:
  14. Description: from viewer.w - Template for SmartDataViewer objects
  15. Input Parameters:
  16. <none>
  17. Output Parameters:
  18. <none>
  19. ------------------------------------------------------------------------*/
  20. /* This .W file was created with the Progress AppBuilder. */
  21. /*----------------------------------------------------------------------*/
  22. /* Create an unnamed pool to store all the widgets created
  23. by this procedure. This is a good default which assures
  24. that this procedure's triggers and internal procedures
  25. will execute in this procedure's storage, and that proper
  26. cleanup will occur on deletion of the procedure. */
  27. CREATE WIDGET-POOL.
  28. /* *************************** Definitions ************************** */
  29. /* Komma-Trennzeichen */
  30. /* Keyfelder werden beim Mutieren nicht "Enabled" */
  31. &Scoped-define ERSTES_FELD CB_Preisgruppe
  32. &Scoped-define LETZTES_FELD Wert
  33. &Scoped-define KEY_FELDER CB_Preisgruppe,Ab_Datum
  34. &Scoped-define NUR_LESEN
  35. { incl/viwdefinition.i }
  36. DEF VAR FwPgr AS CHAR NO-UNDO.
  37. {src/adm2/widgetprto.i}
  38. /* _UIB-CODE-BLOCK-END */
  39. &ANALYZE-RESUME
  40. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  41. /* ******************** Preprocessor Definitions ******************** */
  42. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  43. &Scoped-define DB-AWARE no
  44. &Scoped-define ADM-CONTAINER FRAME
  45. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  46. /* Include file with RowObject temp-table definition */
  47. &Scoped-define DATA-FIELD-DEFS "d-artkanal.i"
  48. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  49. &Scoped-define FRAME-NAME F-Main
  50. /* Standard List Definitions */
  51. &Scoped-Define ENABLED-FIELDS RowObject.Ab_Datum RowObject.Wert
  52. &Scoped-define ENABLED-TABLES RowObject
  53. &Scoped-define FIRST-ENABLED-TABLE RowObject
  54. &Scoped-Define ENABLED-OBJECTS RECT-3 CB_Preisgruppe CB_ProzBetr
  55. &Scoped-Define DISPLAYED-FIELDS RowObject.Inhalt RowObject.Jahr ~
  56. RowObject.Preis_Grp RowObject.Art RowObject.Preisgruppe RowObject.Artnr ~
  57. RowObject.Firma RowObject.Ab_Datum RowObject.Wert
  58. &Scoped-define DISPLAYED-TABLES RowObject
  59. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  60. &Scoped-Define DISPLAYED-OBJECTS CB_Preisgruppe CB_ProzBetr
  61. /* Custom List Definitions */
  62. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  63. /* _UIB-PREPROCESSOR-BLOCK-END */
  64. &ANALYZE-RESUME
  65. /* *********************** Control Definitions ********************** */
  66. /* Definitions of the field level widgets */
  67. DEFINE VARIABLE CB_Preisgruppe AS CHARACTER FORMAT "X(256)":U
  68. LABEL "Preisgruppe"
  69. VIEW-AS COMBO-BOX INNER-LINES 5
  70. LIST-ITEM-PAIRS "Item 1","Item 1"
  71. DROP-DOWN-LIST
  72. SIZE 37.8 BY 1
  73. BGCOLOR 15 NO-UNDO.
  74. DEFINE VARIABLE CB_ProzBetr AS CHARACTER FORMAT "X(256)":U
  75. LABEL "Prozent/Betrag"
  76. VIEW-AS COMBO-BOX INNER-LINES 5
  77. LIST-ITEM-PAIRS "Prozent","P",
  78. "Betrag","B"
  79. DROP-DOWN-LIST
  80. SIZE 20 BY 1
  81. BGCOLOR 15 NO-UNDO.
  82. DEFINE RECTANGLE RECT-3
  83. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  84. SIZE 68.8 BY 4.76.
  85. /* ************************ Frame Definitions *********************** */
  86. DEFINE FRAME F-Main
  87. CB_Preisgruppe AT ROW 1.52 COL 20 COLON-ALIGNED WIDGET-ID 20
  88. RowObject.Inhalt AT ROW 2 COL 48 COLON-ALIGNED WIDGET-ID 10
  89. VIEW-AS FILL-IN NATIVE
  90. SIZE 4 BY 1
  91. BGCOLOR 15
  92. RowObject.Jahr AT ROW 2 COL 48 COLON-ALIGNED WIDGET-ID 12
  93. VIEW-AS FILL-IN NATIVE
  94. SIZE 4 BY 1
  95. BGCOLOR 15
  96. RowObject.Preis_Grp AT ROW 2 COL 48 COLON-ALIGNED WIDGET-ID 16 FORMAT "999999"
  97. VIEW-AS FILL-IN NATIVE
  98. SIZE 4 BY 1
  99. BGCOLOR 15
  100. RowObject.Art AT ROW 2 COL 48 COLON-ALIGNED WIDGET-ID 4
  101. VIEW-AS FILL-IN NATIVE
  102. SIZE 4 BY 1
  103. BGCOLOR 15
  104. RowObject.Preisgruppe AT ROW 2 COL 48 COLON-ALIGNED WIDGET-ID 14
  105. VIEW-AS FILL-IN NATIVE
  106. SIZE 4 BY 1
  107. BGCOLOR 15
  108. RowObject.Artnr AT ROW 2 COL 48 COLON-ALIGNED WIDGET-ID 6
  109. VIEW-AS FILL-IN NATIVE
  110. SIZE 4 BY 1
  111. BGCOLOR 15
  112. RowObject.Firma AT ROW 2 COL 48 COLON-ALIGNED WIDGET-ID 8
  113. VIEW-AS FILL-IN NATIVE
  114. SIZE 4 BY 1
  115. BGCOLOR 15
  116. RowObject.Ab_Datum AT ROW 2.52 COL 20 COLON-ALIGNED WIDGET-ID 2
  117. LABEL "gültig ab"
  118. VIEW-AS FILL-IN NATIVE
  119. SIZE 20 BY 1
  120. BGCOLOR 15
  121. CB_ProzBetr AT ROW 3.52 COL 20 COLON-ALIGNED WIDGET-ID 22
  122. RowObject.Wert AT ROW 4.52 COL 20 COLON-ALIGNED WIDGET-ID 18
  123. VIEW-AS FILL-IN NATIVE
  124. SIZE 20 BY 1
  125. BGCOLOR 15
  126. RECT-3 AT ROW 1.24 COL 2 WIDGET-ID 24
  127. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  128. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  129. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  130. /* *********************** Procedure Settings ************************ */
  131. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  132. /* Settings for THIS-PROCEDURE
  133. Type: SmartDataViewer
  134. Data Source: "d-artkanal.w"
  135. Allow: Basic,DB-Fields,Smart
  136. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  137. Frames: 1
  138. Add Fields to: Neither
  139. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER
  140. Temp-Tables and Buffers:
  141. TABLE: RowObject D "?" NO-UNDO
  142. ADDITIONAL-FIELDS:
  143. {d-artkanal.i}
  144. END-FIELDS.
  145. END-TABLES.
  146. */
  147. /* This procedure should always be RUN PERSISTENT. Report the error, */
  148. /* then cleanup and return. */
  149. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  150. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  151. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  152. RETURN.
  153. END.
  154. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  155. /* ************************* Create Window ************************** */
  156. &ANALYZE-SUSPEND _CREATE-WINDOW
  157. /* DESIGN Window definition (used by the UIB)
  158. CREATE WINDOW vTableWin ASSIGN
  159. HEIGHT = 5.24
  160. WIDTH = 71.6.
  161. /* END WINDOW DEFINITION */
  162. */
  163. &ANALYZE-RESUME
  164. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  165. /* ************************* Included-Libraries *********************** */
  166. {src/adm2/viewer.i}
  167. /* _UIB-CODE-BLOCK-END */
  168. &ANALYZE-RESUME
  169. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  170. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  171. /* SETTINGS FOR WINDOW vTableWin
  172. VISIBLE,,RUN-PERSISTENT */
  173. /* SETTINGS FOR FRAME F-Main
  174. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  175. ASSIGN
  176. FRAME F-Main:SCROLLABLE = FALSE
  177. FRAME F-Main:HIDDEN = TRUE.
  178. /* SETTINGS FOR FILL-IN RowObject.Ab_Datum IN FRAME F-Main
  179. EXP-LABEL */
  180. /* SETTINGS FOR FILL-IN RowObject.Art IN FRAME F-Main
  181. NO-ENABLE */
  182. ASSIGN
  183. RowObject.Art:HIDDEN IN FRAME F-Main = TRUE.
  184. /* SETTINGS FOR FILL-IN RowObject.Artnr IN FRAME F-Main
  185. NO-ENABLE */
  186. ASSIGN
  187. RowObject.Artnr:HIDDEN IN FRAME F-Main = TRUE.
  188. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main
  189. NO-ENABLE */
  190. ASSIGN
  191. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE.
  192. /* SETTINGS FOR FILL-IN RowObject.Inhalt IN FRAME F-Main
  193. NO-ENABLE */
  194. ASSIGN
  195. RowObject.Inhalt:HIDDEN IN FRAME F-Main = TRUE.
  196. /* SETTINGS FOR FILL-IN RowObject.Jahr IN FRAME F-Main
  197. NO-ENABLE */
  198. ASSIGN
  199. RowObject.Jahr:HIDDEN IN FRAME F-Main = TRUE.
  200. /* SETTINGS FOR FILL-IN RowObject.Preisgruppe IN FRAME F-Main
  201. NO-ENABLE */
  202. ASSIGN
  203. RowObject.Preisgruppe:HIDDEN IN FRAME F-Main = TRUE.
  204. /* SETTINGS FOR FILL-IN RowObject.Preis_Grp IN FRAME F-Main
  205. NO-ENABLE EXP-FORMAT */
  206. ASSIGN
  207. RowObject.Preis_Grp:HIDDEN IN FRAME F-Main = TRUE.
  208. /* _RUN-TIME-ATTRIBUTES-END */
  209. &ANALYZE-RESUME
  210. /* Setting information for Queries and Browse Widgets fields */
  211. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  212. /* Query rebuild information for FRAME F-Main
  213. _Options = "NO-LOCK"
  214. _Query is NOT OPENED
  215. */ /* FRAME F-Main */
  216. &ANALYZE-RESUME
  217. /* ************************ Control Triggers ************************ */
  218. &Scoped-define SELF-NAME CB_Preisgruppe
  219. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Preisgruppe vTableWin
  220. ON VALUE-CHANGED OF CB_Preisgruppe IN FRAME F-Main /* Preisgruppe */
  221. DO:
  222. DO WITH FRAME {&FRAME-NAME}:
  223. IF NOT FNeu THEN DO:
  224. SELF:SCREEN-VALUE = rowObject.Preis_Grp:SCREEN-VALUE.
  225. END.
  226. rowObject.Preis_Grp:SCREEN-VALUE = SELF:SCREEN-VALUE.
  227. IF FMut THEN rowObject.Preis_Grp:MODIFIED = TRUE.
  228. END.
  229. END.
  230. /* _UIB-CODE-BLOCK-END */
  231. &ANALYZE-RESUME
  232. &Scoped-define SELF-NAME CB_ProzBetr
  233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_ProzBetr vTableWin
  234. ON VALUE-CHANGED OF CB_ProzBetr IN FRAME F-Main /* Prozent/Betrag */
  235. DO:
  236. IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.Art:SCREEN-VALUE.
  237. rowObject.Art:SCREEN-VALUE = SELF:SCREEN-VALUE.
  238. IF FMut THEN rowObject.Art:MODIFIED = TRUE.
  239. IF NOT FMut THEN RETURN.
  240. IF RowObject.Art:SCREEN-VALUE = 'P' THEN rowObject.Wert:LABEL = 'Prozentsatz'.
  241. ELSE rowObject.Wert:LABEL = 'Betrag'.
  242. END.
  243. /* _UIB-CODE-BLOCK-END */
  244. &ANALYZE-RESUME
  245. &UNDEFINE SELF-NAME
  246. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  247. /* *************************** Main Block *************************** */
  248. { incl/viwmainblock.i }
  249. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  250. RUN initializeObject.
  251. &ENDIF
  252. /************************ INTERNAL PROCEDURES ********************/
  253. /* _UIB-CODE-BLOCK-END */
  254. &ANALYZE-RESUME
  255. /* ********************** Internal Procedures *********************** */
  256. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  257. PROCEDURE addRecord :
  258. /*------------------------------------------------------------------------------
  259. Purpose: Super Override
  260. Parameters:
  261. Notes:
  262. ------------------------------------------------------------------------------*/
  263. FNeu = TRUE.
  264. FMut = TRUE.
  265. FDisp = TRUE.
  266. RUN SUPER.
  267. /* Code placed here will execute AFTER standard behavior. */
  268. END PROCEDURE.
  269. /* _UIB-CODE-BLOCK-END */
  270. &ANALYZE-RESUME
  271. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  272. PROCEDURE cancelRecord :
  273. /*------------------------------------------------------------------------------
  274. Purpose: Super Override
  275. Parameters:
  276. Notes:
  277. ------------------------------------------------------------------------------*/
  278. FCancel = TRUE.
  279. RUN SUPER.
  280. /* Code placed here will execute AFTER standard behavior. */
  281. END PROCEDURE.
  282. /* _UIB-CODE-BLOCK-END */
  283. &ANALYZE-RESUME
  284. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  285. PROCEDURE copyRecord :
  286. /*------------------------------------------------------------------------------
  287. Purpose: Super Override
  288. Parameters:
  289. Notes:
  290. ------------------------------------------------------------------------------*/
  291. FNeu = TRUE.
  292. FMut = TRUE.
  293. FCopy = TRUE.
  294. FDisp = TRUE.
  295. RUN SUPER.
  296. END PROCEDURE.
  297. /* _UIB-CODE-BLOCK-END */
  298. &ANALYZE-RESUME
  299. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  300. PROCEDURE deleteRecord :
  301. /*------------------------------------------------------------------------------
  302. Purpose: Super Override
  303. Parameters:
  304. Notes:
  305. ------------------------------------------------------------------------------*/
  306. DEF VAR Ja AS LOG NO-UNDO.
  307. Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ).
  308. IF NOT Ja THEN DO:
  309. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  310. RETURN NO-APPLY.
  311. END.
  312. RUN SUPER.
  313. /* Code placed here will execute AFTER standard behavior. */
  314. END PROCEDURE.
  315. /* _UIB-CODE-BLOCK-END */
  316. &ANALYZE-RESUME
  317. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  318. PROCEDURE disableFields :
  319. /*------------------------------------------------------------------------------
  320. Purpose: Super Override
  321. Parameters:
  322. Notes:
  323. ------------------------------------------------------------------------------*/
  324. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  325. DO WITH FRAME {&FRAME-NAME}:
  326. END.
  327. RUN SUPER( INPUT pcFieldType).
  328. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  329. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  330. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  331. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  332. END.
  333. DO WITH FRAME {&FRAME-NAME}:
  334. END.
  335. END PROCEDURE.
  336. /* _UIB-CODE-BLOCK-END */
  337. &ANALYZE-RESUME
  338. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  339. PROCEDURE disable_UI :
  340. /*------------------------------------------------------------------------------
  341. Purpose: DISABLE the User Interface
  342. Parameters: <none>
  343. Notes: Here we clean-up the user-interface by deleting
  344. dynamic widgets we have created and/or hide
  345. frames. This procedure is usually called when
  346. we are ready to "clean-up" after running.
  347. ------------------------------------------------------------------------------*/
  348. /* Hide all frames. */
  349. HIDE FRAME F-Main.
  350. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  351. END PROCEDURE.
  352. /* _UIB-CODE-BLOCK-END */
  353. &ANALYZE-RESUME
  354. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  355. PROCEDURE displayFields :
  356. /*------------------------------------------------------------------------------
  357. Purpose: Super Override
  358. Parameters:
  359. Notes:
  360. ------------------------------------------------------------------------------*/
  361. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  362. IF NOT FDisp THEN DO:
  363. FDisp = TRUE.
  364. RETURN.
  365. END.
  366. IF FCancel THEN pcColValues = OldColValues.
  367. IF NOT FNeu THEN OldColValues = pcColValues.
  368. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  369. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  370. DO WITH FRAME {&FRAME-NAME}:
  371. END.
  372. RUN SUPER( INPUT pcColValues).
  373. FCancel = FALSE.
  374. DO WITH FRAME {&FRAME-NAME}:
  375. IF NOT FMut THEN FwPgr = rowObject.Preis_Grp:SCREEN-VALUE.
  376. CB_Preisgruppe:SCREEN-VALUE = rowObject.Preis_Grp:SCREEN-VALUE NO-ERROR.
  377. CB_ProzBetr:SCREEN-VALUE = rowObject.Art:SCREEN-VALUE NO-ERROR.
  378. IF RowObject.Art:SCREEN-VALUE = 'P' THEN rowObject.Wert:LABEL = 'Prozentsatz'.
  379. ELSE rowObject.Wert:LABEL = 'Betrag'.
  380. END.
  381. END PROCEDURE.
  382. /* _UIB-CODE-BLOCK-END */
  383. &ANALYZE-RESUME
  384. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  385. PROCEDURE enableFields :
  386. /*------------------------------------------------------------------------------
  387. Purpose: Super Override
  388. Parameters:
  389. Notes:
  390. ------------------------------------------------------------------------------*/
  391. /* Code placed here will execute PRIOR to standard behavior. */
  392. /*
  393. RUN SUPER.
  394. */
  395. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  396. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  397. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO:
  398. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  399. END.
  400. DO WITH FRAME {&FRAME-NAME}:
  401. END.
  402. IF FNeu THEN RETURN.
  403. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  404. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  405. END.
  406. END PROCEDURE.
  407. /* _UIB-CODE-BLOCK-END */
  408. &ANALYZE-RESUME
  409. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  410. PROCEDURE enableObject :
  411. /*------------------------------------------------------------------------------
  412. Purpose: Super Override
  413. Parameters:
  414. Notes:
  415. ------------------------------------------------------------------------------*/
  416. IF SAktiv THEN DO WITH FRAME {&FRAME-NAME}:
  417. RUN COMBO_PREISGRP ( INPUT CB_Preisgruppe:HANDLE ).
  418. END.
  419. RUN SUPER.
  420. { incl/viwenableobject.i }
  421. END PROCEDURE.
  422. /* _UIB-CODE-BLOCK-END */
  423. &ANALYZE-RESUME
  424. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  425. PROCEDURE ENTRY_FELD_TEST :
  426. /*------------------------------------------------------------------------------
  427. Purpose:
  428. Parameters: <none>
  429. Notes:
  430. ------------------------------------------------------------------------------*/
  431. { incl/viwentryfeldtest.i }
  432. DO WITH FRAME {&FRAME-NAME}:
  433. CASE FeldName:
  434. END CASE.
  435. END.
  436. RETURN ''.
  437. END PROCEDURE.
  438. /* _UIB-CODE-BLOCK-END */
  439. &ANALYZE-RESUME
  440. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  441. PROCEDURE FEHLWERTE :
  442. /*------------------------------------------------------------------------------
  443. Purpose:
  444. Parameters: <none>
  445. Notes:
  446. ------------------------------------------------------------------------------*/
  447. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  448. DEF VAR i1 AS INT NO-UNDO.
  449. IF FCancel THEN RETURN.
  450. IF NOT FCopy THEN DO WITH FRAME {&FRAME-NAME}:
  451. i1 = LOOKUP('Preis_Grp', oldColList, ',') + 1.
  452. ENTRY(i1, pcColValues, CHR(1)) = FwPgr NO-ERROR.
  453. i1 = LOOKUP('Ab_Datum', oldColList, ',') + 1.
  454. ENTRY(i1, pcColValues, CHR(1)) = STRING(TODAY) NO-ERROR.
  455. i1 = LOOKUP('Art', oldColList, ',') + 1.
  456. ENTRY(i1, pcColValues, CHR(1)) = 'B' NO-ERROR.
  457. END.
  458. IF FCopy THEN DO:
  459. END.
  460. END PROCEDURE.
  461. /* _UIB-CODE-BLOCK-END */
  462. &ANALYZE-RESUME
  463. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  464. PROCEDURE LEAVE_FELD_TEST :
  465. /*------------------------------------------------------------------------------
  466. Purpose:
  467. Parameters: <none>
  468. Notes:
  469. ------------------------------------------------------------------------------*/
  470. DEF VAR Artnr AS INT NO-UNDO.
  471. DEF VAR Inhalt AS INT NO-UNDO.
  472. DEF VAR Jahr AS INT NO-UNDO.
  473. DEF VAR Preis_Grp AS INT NO-UNDO.
  474. DEF VAR tDatum AS DATE NO-UNDO.
  475. { incl/viwleavefeldtest.i }
  476. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  477. CASE FeldName:
  478. WHEN 'Ab_Datum' THEN DO:
  479. IF KEYFUNCTION(LKY) = 'BACK-TAB' THEN RETURN ''.
  480. IF VALID-HANDLE(hENTER) AND
  481. hEnter:NAME = 'CB_Preisgruppe' THEN RETURN ''.
  482. tDatum = DATE(FeldInhalt) NO-ERROR.
  483. IF tDatum = ? THEN FeldInhalt = STRING(TODAY).
  484. ipHandle:SCREEN-VALUE = STRING(DATE(FeldInhalt),'99.99.9999').
  485. Artnr = INTEGER(rowObject.Artnr:SCREEN-VALUE ).
  486. Inhalt = INTEGER(rowObject.Inhalt:SCREEN-VALUE ).
  487. Jahr = INTEGER(rowObject.Jahr:SCREEN-VALUE ).
  488. Preis_Grp = INTEGER(rowObject.Preis_Grp:SCREEN-VALUE).
  489. FIND ArtKanal USE-INDEX ArtKanal-k1
  490. WHERE ArtKanal.Firma = Firma
  491. AND ArtKanal.Artnr = Artnr
  492. AND ArtKanal.Inhalt = Inhalt
  493. AND ArtKanal.Jahr = Jahr
  494. AND ArtKanal.Preis_Grp = Preis_Grp
  495. AND ArtKanal.Ab_Datum = DATE(FeldInhalt) NO-LOCK NO-ERROR.
  496. IF AVAILABLE ArtKanal THEN DO:
  497. RUN FEHLER ( INPUT 1026 ).
  498. RETURN 'ERROR'.
  499. END.
  500. END.
  501. END CASE.
  502. LEAVE.
  503. END.
  504. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  505. CASE FeldName:
  506. END CASE.
  507. LEAVE.
  508. END.
  509. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO:
  510. DO WHILE TRUE:
  511. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  512. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  513. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  514. RETURN ''.
  515. END.
  516. APPLY 'ALT-S'.
  517. RETURN 'APPLY'.
  518. END.
  519. RETURN ''.
  520. END PROCEDURE.
  521. /* _UIB-CODE-BLOCK-END */
  522. &ANALYZE-RESUME
  523. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  524. PROCEDURE RETURN_FELD :
  525. /*------------------------------------------------------------------------------
  526. Purpose:
  527. Parameters: <none>
  528. Notes:
  529. ------------------------------------------------------------------------------*/
  530. { incl/viwreturnfeld.i }
  531. END PROCEDURE.
  532. /* _UIB-CODE-BLOCK-END */
  533. &ANALYZE-RESUME
  534. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin
  535. PROCEDURE TEST_EINGABEN :
  536. /*------------------------------------------------------------------------------
  537. Purpose:
  538. Parameters: <none>
  539. Notes:
  540. ------------------------------------------------------------------------------*/
  541. DEF OUTPUT PARAMETER opJa AS LOG NO-UNDO.
  542. DEF VAR eHandle AS HANDLE NO-UNDO.
  543. DEF VAR cString AS CHAR NO-UNDO.
  544. DEF VAR iNummer AS INT NO-UNDO.
  545. opJa = FALSE.
  546. eHandle = ?.
  547. IF NOT FMut THEN RETURN.
  548. AAA000:
  549. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  550. LEAVE.
  551. END.
  552. IF VALID-HANDLE(eHandle) THEN DO:
  553. APPLY 'ENTRY' TO eHandle.
  554. RETURN NO-APPLY.
  555. END.
  556. opJa = TRUE.
  557. END PROCEDURE.
  558. /* _UIB-CODE-BLOCK-END */
  559. &ANALYZE-RESUME
  560. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  561. PROCEDURE updateMode :
  562. /*------------------------------------------------------------------------------
  563. Purpose: Super Override
  564. Parameters:
  565. Notes:
  566. ------------------------------------------------------------------------------*/
  567. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  568. CASE pcMode:
  569. WHEN 'updateBegin' THEN DO:
  570. END.
  571. WHEN 'updateEnd' THEN DO:
  572. END.
  573. END.
  574. RUN SUPER( INPUT pcMode).
  575. CASE pcMode:
  576. WHEN 'updateBegin' THEN DO:
  577. FMut = TRUE.
  578. END.
  579. WHEN 'updateEnd' THEN DO:
  580. FNeu = FALSE.
  581. FMut = FALSE.
  582. FCopy = FALSE.
  583. END.
  584. END.
  585. END PROCEDURE.
  586. /* _UIB-CODE-BLOCK-END */
  587. &ANALYZE-RESUME
  588. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  589. PROCEDURE updateRecord :
  590. /*------------------------------------------------------------------------------
  591. Purpose: Super Override
  592. Parameters:
  593. Notes:
  594. ------------------------------------------------------------------------------*/
  595. DO WITH FRAME {&FRAME-NAME}:
  596. IF FNeu THEN DO:
  597. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE).
  598. END.
  599. rowObject.Preis_Grp:SCREEN-VALUE = CB_Preisgruppe:SCREEN-VALUE.
  600. rowObject.Art :SCREEN-VALUE = CB_ProzBetr :SCREEN-VALUE.
  601. rowObject.Preis_Grp:MODIFIED = TRUE .
  602. rowObject.Art :MODIFIED = TRUE .
  603. END.
  604. FNeu = FALSE.
  605. FCopy = FALSE.
  606. RUN SUPER.
  607. /* Code placed here will execute AFTER standard behavior. */
  608. END PROCEDURE.
  609. /* _UIB-CODE-BLOCK-END */
  610. &ANALYZE-RESUME