v-artstaff.w 27 KB

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