v-steunr.w 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. /* Temp-Table and Buffer definitions */
  8. DEFINE TEMP-TABLE RowObject
  9. {"d-steunr.i"}.
  10. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS vTableWin
  11. /*------------------------------------------------------------------------
  12. File:
  13. Description: from viewer.w - Template for SmartDataViewer objects
  14. Input Parameters:
  15. <none>
  16. Output Parameters:
  17. <none>
  18. ------------------------------------------------------------------------*/
  19. /* This .W file was created with the Progress AppBuilder. */
  20. /*----------------------------------------------------------------------*/
  21. /* Create an unnamed pool to store all the widgets created
  22. by this procedure. This is a good default which assures
  23. that this procedure's triggers and internal procedures
  24. will execute in this procedure's storage, and that proper
  25. cleanup will occur on deletion of the procedure. */
  26. CREATE WIDGET-POOL.
  27. /* *************************** Definitions ************************** */
  28. /* Komma-Trennzeichen */
  29. /* Keyfelder werden beim Mutieren nicht "Enabled" */
  30. &Scoped-define ERSTES_FELD Konto_Debit
  31. &Scoped-define LETZTES_FELD SK_Tol_Max
  32. &Scoped-define KEY_FELDER
  33. &Scoped-define NUR_LESEN
  34. /* Parameters Definitions --- */
  35. /* Local Variable Definitions --- */
  36. DEFINE VARIABLE SAktiv AS LOG NO-UNDO INIT FALSE.
  37. DEFINE VARIABLE FNeu AS LOG NO-UNDO INIT FALSE.
  38. DEFINE VARIABLE FMut AS LOG NO-UNDO INIT FALSE.
  39. DEFINE VARIABLE FCopy AS LOG NO-UNDO INIT FALSE.
  40. DEFINE VARIABLE FCancel AS LOG NO-UNDO INIT FALSE.
  41. DEFINE VARIABLE FDisp AS LOG NO-UNDO INIT TRUE .
  42. DEFINE VARIABLE Fenster AS HANDLE NO-UNDO.
  43. DEFINE VARIABLE oldColValues AS CHARACTER NO-UNDO.
  44. DEFINE VARIABLE oldColList AS CHARACTER NO-UNDO.
  45. DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
  46. /* _UIB-CODE-BLOCK-END */
  47. &ANALYZE-RESUME
  48. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  49. /* ******************** Preprocessor Definitions ******************** */
  50. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  51. &Scoped-define DB-AWARE no
  52. &Scoped-define ADM-CONTAINER FRAME
  53. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  54. /* Include file with RowObject temp-table definition */
  55. &Scoped-define DATA-FIELD-DEFS "d-steunr.i"
  56. /* Name of first Frame and/or Browse and/or first Query */
  57. &Scoped-define FRAME-NAME F-Main
  58. /* Standard List Definitions */
  59. &Scoped-Define ENABLED-FIELDS RowObject.Konto_Debit RowObject.Konto_Ertrag ~
  60. RowObject.Konto_Gebinde RowObject.Konto_Porto RowObject.Konto_Transp ~
  61. RowObject.Konto_Verpack RowObject.Konto_Wust_H RowObject.Konto_Wust_S ~
  62. RowObject.Konto_Skonto RowObject.Nr1 RowObject.Nr2 RowObject.Nr3 ~
  63. RowObject.Nr4 RowObject.Nr5 RowObject.SK_Tol_% RowObject.SK_Tol_Max
  64. &Scoped-define ENABLED-TABLES RowObject
  65. &Scoped-define FIRST-ENABLED-TABLE RowObject
  66. &Scoped-define DISPLAYED-TABLES RowObject
  67. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  68. &Scoped-Define ENABLED-OBJECTS RECT-2
  69. &Scoped-Define DISPLAYED-FIELDS RowObject.Konto_Debit ~
  70. RowObject.Konto_Ertrag RowObject.Konto_Gebinde RowObject.Konto_Porto ~
  71. RowObject.Konto_Transp RowObject.Konto_Verpack RowObject.Konto_Wust_H ~
  72. RowObject.Konto_Wust_S RowObject.Konto_Skonto RowObject.Nr1 RowObject.Nr2 ~
  73. RowObject.Nr3 RowObject.Nr4 RowObject.Nr5 RowObject.SK_Tol_% ~
  74. RowObject.SK_Tol_Max RowObject.Firma
  75. /* Custom List Definitions */
  76. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  77. /* _UIB-PREPROCESSOR-BLOCK-END */
  78. &ANALYZE-RESUME
  79. /* ************************ Function Prototypes ********************** */
  80. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD FIRMANUMMER vTableWin _DB-REQUIRED
  81. FUNCTION FIRMANUMMER RETURNS CHARACTER
  82. ( /* parameter-definitions */ ) FORWARD.
  83. /* _UIB-CODE-BLOCK-END */
  84. &ANALYZE-RESUME
  85. /* *********************** Control Definitions ********************** */
  86. /* Definitions of the field level widgets */
  87. DEFINE RECTANGLE RECT-2
  88. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  89. SIZE 104 BY 9.52.
  90. /* ************************ Frame Definitions *********************** */
  91. DEFINE FRAME F-Main
  92. RowObject.Konto_Debit AT ROW 1.52 COL 33 COLON-ALIGNED
  93. LABEL "Sammelkonto Debitoren" FORMAT "x(12)"
  94. VIEW-AS FILL-IN NATIVE
  95. SIZE 17.6 BY 1
  96. BGCOLOR 15
  97. RowObject.Konto_Ertrag AT ROW 2.52 COL 33 COLON-ALIGNED
  98. LABEL "Sammelkonto Warenertrag" FORMAT "x(12)"
  99. VIEW-AS FILL-IN NATIVE
  100. SIZE 17.6 BY 1
  101. BGCOLOR 15
  102. RowObject.Konto_Gebinde AT ROW 3.52 COL 33 COLON-ALIGNED
  103. LABEL "Sammelkonto Gebinde" FORMAT "x(12)"
  104. VIEW-AS FILL-IN NATIVE
  105. SIZE 17.6 BY 1
  106. BGCOLOR 15
  107. RowObject.Konto_Porto AT ROW 4.52 COL 33 COLON-ALIGNED
  108. LABEL "Sammelkonto Porti" FORMAT "x(12)"
  109. VIEW-AS FILL-IN NATIVE
  110. SIZE 17.6 BY 1
  111. BGCOLOR 15
  112. RowObject.Konto_Transp AT ROW 5.52 COL 33 COLON-ALIGNED
  113. LABEL "Sammelkonto Transport" FORMAT "x(12)"
  114. VIEW-AS FILL-IN NATIVE
  115. SIZE 17.6 BY 1
  116. BGCOLOR 15
  117. RowObject.Konto_Verpack AT ROW 6.52 COL 33 COLON-ALIGNED
  118. LABEL "Sammelkonto Verpackung" FORMAT "x(12)"
  119. VIEW-AS FILL-IN NATIVE
  120. SIZE 17.6 BY 1
  121. BGCOLOR 15
  122. RowObject.Konto_Wust_H AT ROW 7.52 COL 33 COLON-ALIGNED
  123. LABEL "Sammelkonto MWSt (Umsatz)" FORMAT "x(12)"
  124. VIEW-AS FILL-IN NATIVE
  125. SIZE 17.6 BY 1
  126. BGCOLOR 15
  127. RowObject.Konto_Wust_S AT ROW 8.52 COL 33 COLON-ALIGNED
  128. LABEL "Sammelkonto MWSt (Vorsteuer)" FORMAT "x(12)"
  129. VIEW-AS FILL-IN NATIVE
  130. SIZE 17.6 BY 1
  131. BGCOLOR 15
  132. RowObject.Konto_Skonto AT ROW 9.52 COL 33 COLON-ALIGNED
  133. LABEL "Sammelkonto Skonti" FORMAT "x(12)"
  134. VIEW-AS FILL-IN NATIVE
  135. SIZE 17.6 BY 1
  136. BGCOLOR 15
  137. RowObject.Nr1 AT ROW 1.52 COL 88 COLON-ALIGNED
  138. LABEL "Auftragsnummer" FORMAT "9999999"
  139. VIEW-AS FILL-IN NATIVE
  140. SIZE 11 BY 1
  141. BGCOLOR 15
  142. RowObject.Nr2 AT ROW 2.52 COL 88 COLON-ALIGNED
  143. LABEL "Rechnungsnummer" FORMAT "9999999"
  144. VIEW-AS FILL-IN NATIVE
  145. SIZE 11 BY 1
  146. BGCOLOR 15
  147. RowObject.Nr3 AT ROW 3.52 COL 88 COLON-ALIGNED
  148. LABEL "Bestellnummer" FORMAT "999999"
  149. VIEW-AS FILL-IN NATIVE
  150. SIZE 11 BY 1
  151. BGCOLOR 15
  152. RowObject.Nr4 AT ROW 4.52 COL 88 COLON-ALIGNED
  153. LABEL "Allg. Belegnummer" FORMAT "999999"
  154. VIEW-AS FILL-IN NATIVE
  155. SIZE 11 BY 1
  156. BGCOLOR 15
  157. RowObject.Nr5 AT ROW 5.52 COL 88 COLON-ALIGNED
  158. LABEL "Sammelauftragsnummer" FORMAT "999999"
  159. VIEW-AS FILL-IN NATIVE
  160. SIZE 11 BY 1
  161. BGCOLOR 15
  162. RowObject.SK_Tol_% AT ROW 7.52 COL 88 COLON-ALIGNED
  163. LABEL "Skontotoleranz in %" FORMAT "zz9.99"
  164. VIEW-AS FILL-IN NATIVE
  165. SIZE 11 BY 1
  166. BGCOLOR 15
  167. RowObject.SK_Tol_Max AT ROW 8.52 COL 88 COLON-ALIGNED
  168. LABEL "Skontotoleranz Maximal Betrag" FORMAT "zz9.99"
  169. VIEW-AS FILL-IN NATIVE
  170. SIZE 11 BY 1
  171. BGCOLOR 15
  172. RowObject.Firma AT ROW 2.33 COL 57.4 COLON-ALIGNED
  173. VIEW-AS FILL-IN
  174. SIZE 4 BY 1 NO-TAB-STOP
  175. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  176. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  177. AT COL 1 ROW 1 SCROLLABLE .
  178. /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */
  179. DEFINE FRAME F-Main
  180. RECT-2 AT ROW 1.24 COL 2
  181. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  182. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  183. AT COL 1 ROW 1 SCROLLABLE .
  184. /* *********************** Procedure Settings ************************ */
  185. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  186. /* Settings for THIS-PROCEDURE
  187. Type: SmartDataViewer
  188. Data Source: "d-steunr.w"
  189. Allow: Basic,DB-Fields,Smart
  190. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  191. Frames: 1
  192. Add Fields to: Neither
  193. Other Settings: PERSISTENT-ONLY COMPILE
  194. Temp-Tables and Buffers:
  195. TABLE: RowObject D "?" ?
  196. ADDITIONAL-FIELDS:
  197. {d-steunr.i}
  198. END-FIELDS.
  199. END-TABLES.
  200. */
  201. /* This procedure should always be RUN PERSISTENT. Report the error, */
  202. /* then cleanup and return. */
  203. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  204. DO:
  205. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  206. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  207. RETURN.
  208. END.
  209. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  210. /* ************************* Create Window ************************** */
  211. &ANALYZE-SUSPEND _CREATE-WINDOW
  212. /* DESIGN Window definition (used by the UIB)
  213. CREATE WINDOW vTableWin ASSIGN
  214. HEIGHT = 10.33
  215. WIDTH = 107.8.
  216. /* END WINDOW DEFINITION */
  217. */
  218. &ANALYZE-RESUME
  219. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  220. /* ************************* Included-Libraries *********************** */
  221. {src/adm2/viewer.i}
  222. /* _UIB-CODE-BLOCK-END */
  223. &ANALYZE-RESUME
  224. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  225. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  226. /* SETTINGS FOR WINDOW vTableWin
  227. VISIBLE,,RUN-PERSISTENT */
  228. /* SETTINGS FOR FRAME F-Main
  229. NOT-VISIBLE Size-to-Fit Custom */
  230. ASSIGN
  231. FRAME F-Main:SCROLLABLE = FALSE
  232. FRAME F-Main:HIDDEN = TRUE.
  233. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main
  234. NO-ENABLE */
  235. ASSIGN
  236. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE
  237. RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE.
  238. /* SETTINGS FOR FILL-IN RowObject.Konto_Debit IN FRAME F-Main
  239. EXP-LABEL EXP-FORMAT */
  240. /* SETTINGS FOR FILL-IN RowObject.Konto_Ertrag IN FRAME F-Main
  241. EXP-LABEL EXP-FORMAT */
  242. /* SETTINGS FOR FILL-IN RowObject.Konto_Gebinde IN FRAME F-Main
  243. EXP-LABEL EXP-FORMAT */
  244. /* SETTINGS FOR FILL-IN RowObject.Konto_Porto IN FRAME F-Main
  245. EXP-LABEL EXP-FORMAT */
  246. /* SETTINGS FOR FILL-IN RowObject.Konto_Skonto IN FRAME F-Main
  247. EXP-LABEL EXP-FORMAT */
  248. /* SETTINGS FOR FILL-IN RowObject.Konto_Transp IN FRAME F-Main
  249. EXP-LABEL EXP-FORMAT */
  250. /* SETTINGS FOR FILL-IN RowObject.Konto_Verpack IN FRAME F-Main
  251. EXP-LABEL EXP-FORMAT */
  252. /* SETTINGS FOR FILL-IN RowObject.Konto_Wust_H IN FRAME F-Main
  253. EXP-LABEL EXP-FORMAT */
  254. /* SETTINGS FOR FILL-IN RowObject.Konto_Wust_S IN FRAME F-Main
  255. EXP-LABEL EXP-FORMAT */
  256. /* SETTINGS FOR FILL-IN RowObject.Nr1 IN FRAME F-Main
  257. EXP-LABEL EXP-FORMAT */
  258. /* SETTINGS FOR FILL-IN RowObject.Nr2 IN FRAME F-Main
  259. EXP-LABEL EXP-FORMAT */
  260. /* SETTINGS FOR FILL-IN RowObject.Nr3 IN FRAME F-Main
  261. EXP-LABEL EXP-FORMAT */
  262. /* SETTINGS FOR FILL-IN RowObject.Nr4 IN FRAME F-Main
  263. EXP-LABEL EXP-FORMAT */
  264. /* SETTINGS FOR FILL-IN RowObject.Nr5 IN FRAME F-Main
  265. EXP-LABEL EXP-FORMAT */
  266. /* SETTINGS FOR FILL-IN RowObject.SK_Tol_% IN FRAME F-Main
  267. EXP-LABEL EXP-FORMAT */
  268. /* SETTINGS FOR FILL-IN RowObject.SK_Tol_Max IN FRAME F-Main
  269. EXP-LABEL EXP-FORMAT */
  270. /* _RUN-TIME-ATTRIBUTES-END */
  271. &ANALYZE-RESUME
  272. /* Setting information for Queries and Browse Widgets fields */
  273. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  274. /* Query rebuild information for FRAME F-Main
  275. _Options = "NO-LOCK"
  276. _Query is NOT OPENED
  277. */ /* FRAME F-Main */
  278. &ANALYZE-RESUME
  279. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  280. /* *************************** Main Block *************************** */
  281. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  282. IF SAktiv THEN
  283. DO:
  284. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  285. END.
  286. /* Triggers ------------------------------------------------------ */
  287. ON 'RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  288. DO:
  289. RUN RETURN_FELD ( INPUT SELF:HANDLE ).
  290. IF RETURN-VALUE = 'TAB' THEN
  291. DO:
  292. APPLY 'TAB' TO SELF.
  293. RETURN NO-APPLY.
  294. END.
  295. END.
  296. ON 'ENTRY':U OF FRAME {&FRAME-NAME} ANYWHERE
  297. DO:
  298. RUN ENTRY_FELD_TEST ( INPUT SELF:HANDLE ).
  299. IF RETURN-VALUE = 'ERROR' THEN
  300. DO:
  301. APPLY 'ENTRY' TO SELF.
  302. RETURN NO-APPLY.
  303. END.
  304. IF RETURN-VALUE = 'APPLY' THEN
  305. DO:
  306. RETURN NO-APPLY.
  307. END.
  308. END.
  309. ON 'LEAVE':U OF FRAME {&FRAME-NAME} ANYWHERE
  310. DO:
  311. RUN LEAVE_FELD_TEST ( INPUT SELF:HANDLE ).
  312. IF RETURN-VALUE = 'ERROR' THEN
  313. DO:
  314. APPLY 'ENTRY' TO SELF.
  315. RETURN NO-APPLY.
  316. END.
  317. IF RETURN-VALUE = 'APPLY' THEN
  318. DO:
  319. RETURN NO-APPLY.
  320. END.
  321. END.
  322. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  323. RUN initializeObject.
  324. &ENDIF
  325. /************************ INTERNAL PROCEDURES ********************/
  326. /* _UIB-CODE-BLOCK-END */
  327. &ANALYZE-RESUME
  328. /* ********************** Internal Procedures *********************** */
  329. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  330. PROCEDURE addRecord :
  331. /*------------------------------------------------------------------------------
  332. Purpose: Super Override
  333. Parameters:
  334. Notes:
  335. ------------------------------------------------------------------------------*/
  336. DO WITH FRAME {&FRAME-NAME}:
  337. IF rowObject.Firma:SCREEN-VALUE <> '' AND
  338. rowObject.Firma:SCREEN-VALUE <> ? THEN
  339. DO:
  340. DYNAMIC-FUNCTION('SETFLAGABBRUCHALT':U, INPUT TRUE ) NO-ERROR.
  341. RETURN NO-APPLY.
  342. END.
  343. END.
  344. FNeu = TRUE.
  345. FMut = TRUE.
  346. RUN SUPER.
  347. END PROCEDURE.
  348. /* _UIB-CODE-BLOCK-END */
  349. &ANALYZE-RESUME
  350. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  351. PROCEDURE cancelRecord :
  352. /*------------------------------------------------------------------------------
  353. Purpose: Super Override
  354. Parameters:
  355. Notes:
  356. ------------------------------------------------------------------------------*/
  357. fCancel = 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 copyRecord vTableWin
  364. PROCEDURE copyRecord :
  365. /*------------------------------------------------------------------------------
  366. Purpose: Super Override
  367. Parameters:
  368. Notes:
  369. ------------------------------------------------------------------------------*/
  370. DYNAMIC-FUNCTION('SETFLAGABBRUCHALT':U, INPUT TRUE ) NO-ERROR.
  371. RETURN NO-APPLY.
  372. END PROCEDURE.
  373. /* _UIB-CODE-BLOCK-END */
  374. &ANALYZE-RESUME
  375. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  376. PROCEDURE deleteRecord :
  377. /*------------------------------------------------------------------------------
  378. Purpose: Super Override
  379. Parameters:
  380. Notes:
  381. ------------------------------------------------------------------------------*/
  382. DEFINE VARIABLE Ja AS LOG NO-UNDO.
  383. Ja = DYNAMIC-FUNCTION( 'ANTWORT_JA':U, INPUT 1000 ).
  384. IF NOT Ja THEN
  385. DO:
  386. PUBLISH 'TOOLBAR' ( INPUT 'CANCEL':U ).
  387. RETURN NO-APPLY.
  388. END.
  389. RUN SUPER.
  390. /* Code placed here will execute AFTER standard behavior. */
  391. END PROCEDURE.
  392. /* _UIB-CODE-BLOCK-END */
  393. &ANALYZE-RESUME
  394. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  395. PROCEDURE disableFields :
  396. /*------------------------------------------------------------------------------
  397. Purpose: Super Override
  398. Parameters:
  399. Notes:
  400. ------------------------------------------------------------------------------*/
  401. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  402. DO WITH FRAME {&FRAME-NAME}:
  403. END.
  404. RUN SUPER( INPUT pcFieldType).
  405. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  406. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  407. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  408. DO:
  409. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  410. END.
  411. DO WITH FRAME {&FRAME-NAME}:
  412. END.
  413. END PROCEDURE.
  414. /* _UIB-CODE-BLOCK-END */
  415. &ANALYZE-RESUME
  416. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  417. PROCEDURE disable_UI :
  418. /*------------------------------------------------------------------------------
  419. Purpose: DISABLE the User Interface
  420. Parameters: <none>
  421. Notes: Here we clean-up the user-interface by deleting
  422. dynamic widgets we have created and/or hide
  423. frames. This procedure is usually called when
  424. we are ready to "clean-up" after running.
  425. ------------------------------------------------------------------------------*/
  426. /* Hide all frames. */
  427. HIDE FRAME F-Main.
  428. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  429. END PROCEDURE.
  430. /* _UIB-CODE-BLOCK-END */
  431. &ANALYZE-RESUME
  432. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  433. PROCEDURE displayFields :
  434. /*------------------------------------------------------------------------------
  435. Purpose: Super Override
  436. Parameters:
  437. Notes:
  438. ------------------------------------------------------------------------------*/
  439. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  440. IF NOT FDisp THEN
  441. DO:
  442. FDisp = TRUE.
  443. RETURN.
  444. END.
  445. IF FCancel THEN pcColValues = OldColValues.
  446. IF NOT FNeu THEN OldColValues = pcColValues.
  447. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  448. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  449. DO WITH FRAME {&FRAME-NAME}:
  450. END.
  451. RUN SUPER( INPUT pcColValues).
  452. DO WITH FRAME {&FRAME-NAME}:
  453. END.
  454. END PROCEDURE.
  455. /* _UIB-CODE-BLOCK-END */
  456. &ANALYZE-RESUME
  457. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  458. PROCEDURE enableFields :
  459. /*------------------------------------------------------------------------------
  460. Purpose: Super Override
  461. Parameters:
  462. Notes:
  463. ------------------------------------------------------------------------------*/
  464. /* Code placed here will execute PRIOR to standard behavior. */
  465. /*
  466. RUN SUPER.
  467. */
  468. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  469. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  470. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN
  471. DO:
  472. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  473. END.
  474. DO WITH FRAME {&FRAME-NAME}:
  475. END.
  476. IF FNeu THEN RETURN.
  477. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  478. DO:
  479. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  480. END.
  481. END PROCEDURE.
  482. /* _UIB-CODE-BLOCK-END */
  483. &ANALYZE-RESUME
  484. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  485. PROCEDURE enableObject :
  486. /*------------------------------------------------------------------------------
  487. Purpose: Super Override
  488. Parameters:
  489. Notes:
  490. ------------------------------------------------------------------------------*/
  491. RUN SUPER.
  492. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  493. IF SAktiv THEN
  494. DO:
  495. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  496. END.
  497. END PROCEDURE.
  498. /* _UIB-CODE-BLOCK-END */
  499. &ANALYZE-RESUME
  500. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  501. PROCEDURE ENTRY_FELD_TEST :
  502. /*------------------------------------------------------------------------------
  503. Purpose:
  504. Parameters: <none>
  505. Notes:
  506. ------------------------------------------------------------------------------*/
  507. DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  508. DEFINE VARIABLE FeldName AS CHARACTER NO-UNDO.
  509. DEFINE VARIABLE FeldInhalt AS CHARACTER NO-UNDO.
  510. FeldName = ''.
  511. FeldInhalt = ''.
  512. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  513. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  514. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  515. FeldName = ipHandle:NAME.
  516. IF ipHandle:TYPE = 'FILL-IN' OR
  517. ipHandle:TYPE = 'COMBO-BOX' OR
  518. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  519. IF NOT FMut THEN RETURN ''.
  520. DO WITH FRAME {&FRAME-NAME}:
  521. CASE FeldName:
  522. END CASE.
  523. END.
  524. RETURN ''.
  525. END PROCEDURE.
  526. /* _UIB-CODE-BLOCK-END */
  527. &ANALYZE-RESUME
  528. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  529. PROCEDURE FEHLWERTE :
  530. /*------------------------------------------------------------------------------
  531. Purpose:
  532. Parameters: <none>
  533. Notes:
  534. ------------------------------------------------------------------------------*/
  535. DEFINE INPUT-OUTPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  536. DEFINE VARIABLE FwFelder AS CHARACTER NO-UNDO.
  537. DEFINE VARIABLE FwFeld AS CHARACTER NO-UNDO.
  538. DEFINE VARIABLE FwValue AS CHARACTER NO-UNDO.
  539. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  540. DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
  541. GET-KEY-VALUE SECTION 'Fw???????' KEY ? VALUE FwFelder.
  542. IF NOT FCopy THEN
  543. DO:
  544. DO ix = 1 TO NUM-ENTRIES(FwFelder, ','):
  545. FwFeld = ENTRY (ix , FwFelder , ',').
  546. i1 = LOOKUP(FwFeld, oldColList, ',') + 1.
  547. IF i1 < 2 THEN NEXT.
  548. GET-KEY-VALUE SECTION 'Fw???????' KEY FwFeld VALUE FwValue.
  549. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR.
  550. END.
  551. END.
  552. IF FCopy THEN
  553. DO:
  554. END.
  555. OldColValues = pcColValues.
  556. END PROCEDURE.
  557. /* _UIB-CODE-BLOCK-END */
  558. &ANALYZE-RESUME
  559. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  560. PROCEDURE LEAVE_FELD_TEST :
  561. /*------------------------------------------------------------------------------
  562. Purpose:
  563. Parameters: <none>
  564. Notes:
  565. ------------------------------------------------------------------------------*/
  566. DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  567. DEFINE VARIABLE FeldName AS CHARACTER NO-UNDO.
  568. DEFINE VARIABLE FeldInhalt AS CHARACTER NO-UNDO.
  569. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  570. DEFINE VARIABLE LKY AS INTEGER NO-UNDO.
  571. DEFINE VARIABLE hLEAVE AS HANDLE NO-UNDO.
  572. DEFINE VARIABLE hENTER AS HANDLE NO-UNDO.
  573. DEFINE VARIABLE Daten AS CHARACTER NO-UNDO.
  574. IF FMut = FALSE THEN RETURN ''.
  575. LKY = LASTKEY.
  576. hENTER = LAST-EVENT:WIDGET-ENTER.
  577. hLEAVE = LAST-EVENT:WIDGET-LEAVE.
  578. FeldName = ''.
  579. FeldInhalt = ''.
  580. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  581. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  582. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  583. FeldName = ipHandle:NAME.
  584. IF ipHandle:TYPE = 'FILL-IN' OR
  585. ipHandle:TYPE = 'COMBO-BOX' OR
  586. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  587. DO WHILE FNeu:
  588. CASE FeldName:
  589. END CASE.
  590. LEAVE.
  591. END.
  592. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN
  593. DO:
  594. DO WHILE TRUE:
  595. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  596. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  597. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  598. RETURN ''.
  599. END.
  600. APPLY 'ALT-S'.
  601. RETURN 'APPLY'.
  602. END.
  603. RETURN ''.
  604. END PROCEDURE.
  605. /* _UIB-CODE-BLOCK-END */
  606. &ANALYZE-RESUME
  607. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  608. PROCEDURE RETURN_FELD :
  609. /*------------------------------------------------------------------------------
  610. Purpose:
  611. Parameters: <none>
  612. Notes:
  613. ------------------------------------------------------------------------------*/
  614. DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  615. DEFINE VARIABLE FeldName AS CHARACTER NO-UNDO.
  616. IF FMut = FALSE THEN RETURN ''.
  617. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  618. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  619. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  620. FeldName = ipHandle:NAME.
  621. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN
  622. DO:
  623. RETURN 'TAB'.
  624. END.
  625. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN
  626. DO:
  627. RETURN 'TAB'.
  628. END.
  629. FeldName = 'rowObject.' + FeldName.
  630. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN
  631. DO:
  632. RETURN 'TAB'.
  633. END.
  634. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN
  635. DO:
  636. RETURN 'TAB'.
  637. END.
  638. RETURN ''.
  639. END PROCEDURE.
  640. /* _UIB-CODE-BLOCK-END */
  641. &ANALYZE-RESUME
  642. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  643. PROCEDURE updateMode :
  644. /*------------------------------------------------------------------------------
  645. Purpose: Super Override
  646. Parameters:
  647. Notes:
  648. ------------------------------------------------------------------------------*/
  649. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  650. CASE pcMode:
  651. WHEN 'updateBegin' THEN
  652. DO:
  653. END.
  654. WHEN 'updateEnd' THEN
  655. DO:
  656. END.
  657. END.
  658. RUN SUPER( INPUT pcMode).
  659. CASE pcMode:
  660. WHEN 'updateBegin' THEN
  661. DO:
  662. FMut = TRUE.
  663. END.
  664. WHEN 'updateEnd' THEN
  665. DO:
  666. FNeu = FALSE.
  667. FMut = FALSE.
  668. FCopy = FALSE.
  669. FCancel = FALSE.
  670. END.
  671. END.
  672. END PROCEDURE.
  673. /* _UIB-CODE-BLOCK-END */
  674. &ANALYZE-RESUME
  675. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  676. PROCEDURE updateRecord :
  677. /*------------------------------------------------------------------------------
  678. Purpose: Super Override
  679. Parameters:
  680. Notes:
  681. ------------------------------------------------------------------------------*/
  682. DO WITH FRAME {&FRAME-NAME}:
  683. IF FNeu THEN
  684. DO:
  685. rowObject.Firma:SCREEN-VALUE = DYNAMIC-FUNCTION('FIRMANUMMER':U) NO-ERROR.
  686. END.
  687. END.
  688. FNeu = FALSE.
  689. FCopy = FALSE.
  690. RUN SUPER.
  691. /* Code placed here will execute AFTER standard behavior. */
  692. END PROCEDURE.
  693. /* _UIB-CODE-BLOCK-END */
  694. &ANALYZE-RESUME
  695. /* ************************ Function Implementations ***************** */
  696. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION FIRMANUMMER vTableWin
  697. FUNCTION FIRMANUMMER RETURNS CHARACTER
  698. ( /* parameter-definitions */ ) :
  699. /*------------------------------------------------------------------------------
  700. Purpose:
  701. Notes:
  702. ------------------------------------------------------------------------------*/
  703. DEFINE VARIABLE Mandant AS CHARACTER NO-UNDO.
  704. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  705. DEFINE VARIABLE Felder AS CHARACTER NO-UNDO.
  706. DEFINE VARIABLE hData AS HANDLE NO-UNDO.
  707. hData = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  708. Felder = DYNAMIC-FUNCTION('getForeignFields':U IN hData ) NO-ERROR.
  709. Mandant = Firma.
  710. DO WHILE TRUE:
  711. IF Felder = ? THEN LEAVE.
  712. IF Felder = '' THEN LEAVE.
  713. ix = LOOKUP('Firma', Felder, ',') / 2.
  714. IF ix < 1 THEN LEAVE.
  715. Felder = DYNAMIC-FUNCTION('getForeignValues':U IN hData) NO-ERROR.
  716. Mandant = ENTRY(ix, Felder, CHR(01) ).
  717. LEAVE.
  718. END.
  719. RETURN Mandant.
  720. END FUNCTION.
  721. /* _UIB-CODE-BLOCK-END */
  722. &ANALYZE-RESUME