v-kubesspe.w 30 KB

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