v-dokudrucker.w 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242
  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. /* Temp-Table and Buffer definitions */
  8. DEFINE TEMP-TABLE RowObject
  9. {"d-dokudrucker.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 CB_Benutzer
  31. &Scoped-define LETZTES_FELD Zahl8
  32. &Scoped-define KEY_FELDER CB_Benutzer,CB_Dokument
  33. &Scoped-define NUR_LESEN
  34. /* Parameters Definitions --- */
  35. /* Local Variable Definitions --- */
  36. DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE.
  37. DEF VAR FNeu AS LOG NO-UNDO INIT FALSE.
  38. DEF VAR FMut AS LOG NO-UNDO INIT FALSE.
  39. DEF VAR FCopy AS LOG NO-UNDO INIT FALSE.
  40. DEF VAR FDisp AS LOG NO-UNDO INIT TRUE .
  41. DEF VAR Fenster AS HANDLE NO-UNDO.
  42. DEF VAR oldColValues AS CHAR NO-UNDO.
  43. DEF VAR oldColList AS CHAR NO-UNDO.
  44. DEF VAR Firma AS CHAR NO-UNDO.
  45. DEF VAR cBenu AS CHAR NO-UNDO.
  46. DEF TEMP-TABLE tDrucker NO-UNDO
  47. FIELD cDrucker AS CHAR.
  48. DEF TEMP-TABLE tHilfsTab LIKE HilfsTab.
  49. /* _UIB-CODE-BLOCK-END */
  50. &ANALYZE-RESUME
  51. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  52. /* ******************** Preprocessor Definitions ******************** */
  53. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  54. &Scoped-define DB-AWARE no
  55. &Scoped-define ADM-CONTAINER FRAME
  56. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  57. /* Include file with RowObject temp-table definition */
  58. &Scoped-define DATA-FIELD-DEFS "d-dokudrucker.i"
  59. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  60. &Scoped-define FRAME-NAME F-Main
  61. /* Standard List Definitions */
  62. &Scoped-Define ENABLED-FIELDS RowObject.Zahl1 RowObject.Zahl2 ~
  63. RowObject.Zahl3 RowObject.Zahl4 RowObject.Zahl5 RowObject.Zahl6 ~
  64. RowObject.Zahl7 RowObject.Zahl8
  65. &Scoped-define ENABLED-TABLES RowObject
  66. &Scoped-define FIRST-ENABLED-TABLE RowObject
  67. &Scoped-Define ENABLED-OBJECTS RECT-4 CB_Benutzer CB_Dokument CB_Drucker ~
  68. CB_Schrift
  69. &Scoped-Define DISPLAYED-FIELDS RowObject.Zeichen_2 RowObject.Zahl9 ~
  70. RowObject.Sort_1 RowObject.Sort_2 RowObject.Zeichen_1 RowObject.Firma ~
  71. RowObject.Zahl1 RowObject.Zahl2 RowObject.Zahl3 RowObject.Zahl4 ~
  72. RowObject.Zahl5 RowObject.Zahl6 RowObject.Zahl7 RowObject.Zahl8
  73. &Scoped-define DISPLAYED-TABLES RowObject
  74. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  75. &Scoped-Define DISPLAYED-OBJECTS CB_Benutzer CB_Dokument CB_Drucker ~
  76. CB_Schrift
  77. /* Custom List Definitions */
  78. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  79. /* _UIB-PREPROCESSOR-BLOCK-END */
  80. &ANALYZE-RESUME
  81. /* ************************ Function Prototypes ********************** */
  82. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD CB_BENUTZER vTableWin
  83. FUNCTION CB_BENUTZER RETURNS LOGICAL
  84. ( /* parameter-definitions */ ) FORWARD.
  85. /* _UIB-CODE-BLOCK-END */
  86. &ANALYZE-RESUME
  87. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD CB_DOKUMENT vTableWin
  88. FUNCTION CB_DOKUMENT RETURNS LOGICAL
  89. ( /* parameter-definitions */ ) FORWARD.
  90. /* _UIB-CODE-BLOCK-END */
  91. &ANALYZE-RESUME
  92. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD CB_DRUCKER vTableWin
  93. FUNCTION CB_DRUCKER RETURNS LOGICAL
  94. ( /* parameter-definitions */ ) FORWARD.
  95. /* _UIB-CODE-BLOCK-END */
  96. &ANALYZE-RESUME
  97. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD CB_SCHRIFT vTableWin
  98. FUNCTION CB_SCHRIFT RETURNS LOGICAL
  99. ( /* parameter-definitions */ ) FORWARD.
  100. /* _UIB-CODE-BLOCK-END */
  101. &ANALYZE-RESUME
  102. /* *********************** Control Definitions ********************** */
  103. /* Definitions of the field level widgets */
  104. DEFINE VARIABLE CB_Benutzer AS CHARACTER FORMAT "X(256)":U
  105. LABEL "Benutzer"
  106. VIEW-AS COMBO-BOX INNER-LINES 5
  107. LIST-ITEM-PAIRS "Item 1","Item 1"
  108. DROP-DOWN-LIST
  109. SIZE 60 BY 1
  110. BGCOLOR 15 NO-UNDO.
  111. DEFINE VARIABLE CB_Dokument AS CHARACTER FORMAT "X(256)":U
  112. LABEL "Dokument"
  113. VIEW-AS COMBO-BOX INNER-LINES 5
  114. LIST-ITEMS "Item 1"
  115. DROP-DOWN-LIST
  116. SIZE 60 BY 1
  117. BGCOLOR 15 NO-UNDO.
  118. DEFINE VARIABLE CB_Drucker AS CHARACTER FORMAT "X(256)":U
  119. LABEL "Drucker"
  120. VIEW-AS COMBO-BOX INNER-LINES 5
  121. LIST-ITEMS "Item 1"
  122. DROP-DOWN-LIST
  123. SIZE 60 BY 1
  124. BGCOLOR 15 NO-UNDO.
  125. DEFINE VARIABLE CB_Schrift AS CHARACTER FORMAT "X(256)":U
  126. LABEL "Schrift"
  127. VIEW-AS COMBO-BOX INNER-LINES 5
  128. LIST-ITEMS "Item 1"
  129. DROP-DOWN-LIST
  130. SIZE 60 BY 1
  131. BGCOLOR 15 NO-UNDO.
  132. DEFINE RECTANGLE RECT-4
  133. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  134. SIZE 148 BY 4.76.
  135. /* ************************ Frame Definitions *********************** */
  136. DEFINE FRAME F-Main
  137. CB_Benutzer AT ROW 1.57 COL 18 COLON-ALIGNED
  138. CB_Dokument AT ROW 2.52 COL 18 COLON-ALIGNED
  139. CB_Drucker AT ROW 3.52 COL 18 COLON-ALIGNED
  140. CB_Schrift AT ROW 4.52 COL 18 COLON-ALIGNED
  141. RowObject.Zeichen_2 AT ROW 2 COL 48 COLON-ALIGNED
  142. VIEW-AS FILL-IN NATIVE
  143. SIZE 4 BY 1
  144. BGCOLOR 15
  145. RowObject.Zahl9 AT ROW 2 COL 48 COLON-ALIGNED
  146. VIEW-AS FILL-IN NATIVE
  147. SIZE 4 BY 1
  148. BGCOLOR 15
  149. RowObject.Sort_1 AT ROW 2 COL 48 COLON-ALIGNED
  150. VIEW-AS FILL-IN NATIVE
  151. SIZE 4 BY 1
  152. BGCOLOR 15
  153. RowObject.Sort_2 AT ROW 2 COL 48 COLON-ALIGNED
  154. VIEW-AS FILL-IN NATIVE
  155. SIZE 4 BY 1
  156. BGCOLOR 15
  157. RowObject.Zeichen_1 AT ROW 2 COL 48 COLON-ALIGNED
  158. VIEW-AS FILL-IN NATIVE
  159. SIZE 4 BY 1
  160. BGCOLOR 15
  161. RowObject.Firma AT ROW 2 COL 48 COLON-ALIGNED
  162. VIEW-AS FILL-IN NATIVE
  163. SIZE 4 BY 1
  164. BGCOLOR 15
  165. RowObject.Zahl1 AT ROW 1.52 COL 108 COLON-ALIGNED
  166. LABEL "Total Zeilen/Seite"
  167. VIEW-AS FILL-IN NATIVE
  168. SIZE 5 BY 1
  169. BGCOLOR 15
  170. RowObject.Zahl2 AT ROW 2.52 COL 108 COLON-ALIGNED
  171. LABEL "Leere Zeilen oben"
  172. VIEW-AS FILL-IN NATIVE
  173. SIZE 5 BY 1
  174. BGCOLOR 15
  175. RowObject.Zahl3 AT ROW 3.52 COL 108 COLON-ALIGNED
  176. LABEL "Leere Zeilen unten"
  177. VIEW-AS FILL-IN NATIVE
  178. SIZE 5 BY 1
  179. BGCOLOR 15
  180. RowObject.Zahl4 AT ROW 4.52 COL 108 COLON-ALIGNED
  181. LABEL "Anzahl Ausdrucke"
  182. VIEW-AS FILL-IN NATIVE
  183. SIZE 5 BY 1
  184. BGCOLOR 15
  185. RowObject.Zahl5 AT ROW 1.48 COL 137 COLON-ALIGNED FORMAT "zzz9"
  186. VIEW-AS FILL-IN NATIVE
  187. SIZE 8 BY 1
  188. BGCOLOR 15
  189. RowObject.Zahl6 AT ROW 2.48 COL 137 COLON-ALIGNED FORMAT "zzz9"
  190. VIEW-AS FILL-IN NATIVE
  191. SIZE 8 BY 1
  192. BGCOLOR 15
  193. RowObject.Zahl7 AT ROW 3.48 COL 137 COLON-ALIGNED FORMAT "zzz9"
  194. VIEW-AS FILL-IN NATIVE
  195. SIZE 8 BY 1
  196. BGCOLOR 15
  197. RowObject.Zahl8 AT ROW 4.48 COL 137 COLON-ALIGNED FORMAT "zzz9"
  198. VIEW-AS FILL-IN NATIVE
  199. SIZE 8 BY 1
  200. BGCOLOR 15
  201. RECT-4 AT ROW 1.24 COL 2
  202. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  203. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  204. AT COL 1 ROW 1 SCROLLABLE .
  205. /* *********************** Procedure Settings ************************ */
  206. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  207. /* Settings for THIS-PROCEDURE
  208. Type: SmartDataViewer
  209. Data Source: "d-dokudrucker.w"
  210. Allow: Basic,DB-Fields,Smart
  211. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  212. Frames: 1
  213. Add Fields to: Neither
  214. Other Settings: PERSISTENT-ONLY COMPILE
  215. Temp-Tables and Buffers:
  216. TABLE: RowObject D "?" ?
  217. ADDITIONAL-FIELDS:
  218. {d-dokudrucker.i}
  219. END-FIELDS.
  220. END-TABLES.
  221. */
  222. /* This procedure should always be RUN PERSISTENT. Report the error, */
  223. /* then cleanup and return. */
  224. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  225. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  226. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  227. RETURN.
  228. END.
  229. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  230. /* ************************* Create Window ************************** */
  231. &ANALYZE-SUSPEND _CREATE-WINDOW
  232. /* DESIGN Window definition (used by the UIB)
  233. CREATE WINDOW vTableWin ASSIGN
  234. HEIGHT = 5.24
  235. WIDTH = 150.
  236. /* END WINDOW DEFINITION */
  237. */
  238. &ANALYZE-RESUME
  239. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  240. /* ************************* Included-Libraries *********************** */
  241. {src/adm2/viewer.i}
  242. /* _UIB-CODE-BLOCK-END */
  243. &ANALYZE-RESUME
  244. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  245. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  246. /* SETTINGS FOR WINDOW vTableWin
  247. VISIBLE,,RUN-PERSISTENT */
  248. /* SETTINGS FOR FRAME F-Main
  249. NOT-VISIBLE FRAME-NAME Size-to-Fit L-To-R,COLUMNS */
  250. ASSIGN
  251. FRAME F-Main:SCROLLABLE = FALSE
  252. FRAME F-Main:HIDDEN = TRUE.
  253. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main
  254. NO-ENABLE */
  255. ASSIGN
  256. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE.
  257. /* SETTINGS FOR FILL-IN RowObject.Sort_1 IN FRAME F-Main
  258. NO-ENABLE */
  259. ASSIGN
  260. RowObject.Sort_1:HIDDEN IN FRAME F-Main = TRUE.
  261. /* SETTINGS FOR FILL-IN RowObject.Sort_2 IN FRAME F-Main
  262. NO-ENABLE */
  263. ASSIGN
  264. RowObject.Sort_2:HIDDEN IN FRAME F-Main = TRUE.
  265. /* SETTINGS FOR FILL-IN RowObject.Zahl1 IN FRAME F-Main
  266. EXP-LABEL */
  267. /* SETTINGS FOR FILL-IN RowObject.Zahl2 IN FRAME F-Main
  268. EXP-LABEL */
  269. /* SETTINGS FOR FILL-IN RowObject.Zahl3 IN FRAME F-Main
  270. EXP-LABEL */
  271. /* SETTINGS FOR FILL-IN RowObject.Zahl4 IN FRAME F-Main
  272. EXP-LABEL */
  273. /* SETTINGS FOR FILL-IN RowObject.Zahl5 IN FRAME F-Main
  274. EXP-FORMAT */
  275. /* SETTINGS FOR FILL-IN RowObject.Zahl6 IN FRAME F-Main
  276. EXP-FORMAT */
  277. /* SETTINGS FOR FILL-IN RowObject.Zahl7 IN FRAME F-Main
  278. EXP-FORMAT */
  279. /* SETTINGS FOR FILL-IN RowObject.Zahl8 IN FRAME F-Main
  280. EXP-FORMAT */
  281. /* SETTINGS FOR FILL-IN RowObject.Zahl9 IN FRAME F-Main
  282. NO-ENABLE */
  283. ASSIGN
  284. RowObject.Zahl9:HIDDEN IN FRAME F-Main = TRUE.
  285. /* SETTINGS FOR FILL-IN RowObject.Zeichen_1 IN FRAME F-Main
  286. NO-ENABLE */
  287. ASSIGN
  288. RowObject.Zeichen_1:HIDDEN IN FRAME F-Main = TRUE.
  289. /* SETTINGS FOR FILL-IN RowObject.Zeichen_2 IN FRAME F-Main
  290. NO-ENABLE */
  291. ASSIGN
  292. RowObject.Zeichen_2:HIDDEN IN FRAME F-Main = TRUE.
  293. /* _RUN-TIME-ATTRIBUTES-END */
  294. &ANALYZE-RESUME
  295. /* Setting information for Queries and Browse Widgets fields */
  296. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  297. /* Query rebuild information for FRAME F-Main
  298. _Options = "NO-LOCK"
  299. _Query is NOT OPENED
  300. */ /* FRAME F-Main */
  301. &ANALYZE-RESUME
  302. /* ************************ Control Triggers ************************ */
  303. &Scoped-define SELF-NAME CB_Benutzer
  304. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Benutzer vTableWin
  305. ON VALUE-CHANGED OF CB_Benutzer IN FRAME F-Main /* Benutzer */
  306. DO:
  307. IF NOT FNeu THEN SELF:SCREEN-VALUE = (IF rowObject.Sort_1:SCREEN-VALUE = '' THEN 'xxxx' ELSE rowObject.Sort_1:SCREEN-VALUE) NO-ERROR.
  308. rowObject.Sort_1:SCREEN-VALUE = IF SELF:SCREEN-VALUE = 'xxxx' THEN '' ELSE SELF:SCREEN-VALUE NO-ERROR.
  309. END.
  310. /* _UIB-CODE-BLOCK-END */
  311. &ANALYZE-RESUME
  312. &Scoped-define SELF-NAME CB_Dokument
  313. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Dokument vTableWin
  314. ON VALUE-CHANGED OF CB_Dokument IN FRAME F-Main /* Dokument */
  315. DO:
  316. IF NOT FNeu THEN SELF:SCREEN-VALUE = rowObject.Sort_2:SCREEN-VALUE NO-ERROR.
  317. rowObject.Sort_2:SCREEN-VALUE = SELF:SCREEN-VALUE NO-ERROR.
  318. END.
  319. /* _UIB-CODE-BLOCK-END */
  320. &ANALYZE-RESUME
  321. &Scoped-define SELF-NAME CB_Drucker
  322. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Drucker vTableWin
  323. ON VALUE-CHANGED OF CB_Drucker IN FRAME F-Main /* Drucker */
  324. DO:
  325. IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.Zeichen_1:SCREEN-VALUE NO-ERROR.
  326. rowObject.Zeichen_1:SCREEN-VALUE = SELF:SCREEN-VALUE NO-ERROR.
  327. IF NOT FMut THEN RETURN NO-APPLY.
  328. DYNAMIC-FUNCTION('CB_SCHRIFT':U) NO-ERROR.
  329. CB_Schrift:SCREEN-VALUE = rowObject.Zeichen_2:SCREEN-VALUE NO-ERROR.
  330. RUN WERTE_SCHRIFT.
  331. END.
  332. /* _UIB-CODE-BLOCK-END */
  333. &ANALYZE-RESUME
  334. &Scoped-define SELF-NAME CB_Schrift
  335. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Schrift vTableWin
  336. ON VALUE-CHANGED OF CB_Schrift IN FRAME F-Main /* Schrift */
  337. DO:
  338. IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.Zeichen_2:SCREEN-VALUE NO-ERROR.
  339. rowObject.Zeichen_2:SCREEN-VALUE = SELF:SCREEN-VALUE NO-ERROR.
  340. IF NOT FNeu THEN RETURN NO-APPLY.
  341. RUN WERTE_SCHRIFT.
  342. END.
  343. /* _UIB-CODE-BLOCK-END */
  344. &ANALYZE-RESUME
  345. &UNDEFINE SELF-NAME
  346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  347. /* *************************** Main Block *************************** */
  348. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  349. IF SAktiv THEN DO:
  350. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  351. END.
  352. /* Triggers ------------------------------------------------------ */
  353. ON 'RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  354. DO:
  355. RUN RETURN_FELD ( INPUT SELF:HANDLE ).
  356. IF RETURN-VALUE = 'TAB' THEN DO:
  357. APPLY 'TAB' TO SELF.
  358. RETURN NO-APPLY.
  359. END.
  360. END.
  361. ON 'ENTRY':U OF FRAME {&FRAME-NAME} ANYWHERE
  362. DO:
  363. RUN ENTRY_FELD_TEST ( INPUT SELF:HANDLE ).
  364. IF RETURN-VALUE = 'ERROR' THEN DO:
  365. APPLY 'ENTRY' TO SELF.
  366. RETURN NO-APPLY.
  367. END.
  368. IF RETURN-VALUE = 'APPLY' THEN DO:
  369. RETURN NO-APPLY.
  370. END.
  371. END.
  372. ON 'LEAVE':U OF FRAME {&FRAME-NAME} ANYWHERE
  373. DO:
  374. RUN LEAVE_FELD_TEST ( INPUT SELF:HANDLE ).
  375. IF RETURN-VALUE = 'ERROR' THEN DO:
  376. APPLY 'ENTRY' TO SELF.
  377. RETURN NO-APPLY.
  378. END.
  379. IF RETURN-VALUE = 'APPLY' THEN DO:
  380. RETURN NO-APPLY.
  381. END.
  382. END.
  383. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  384. RUN initializeObject.
  385. &ENDIF
  386. /************************ INTERNAL PROCEDURES ********************/
  387. /* _UIB-CODE-BLOCK-END */
  388. &ANALYZE-RESUME
  389. /* ********************** Internal Procedures *********************** */
  390. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  391. PROCEDURE addRecord :
  392. /*------------------------------------------------------------------------------
  393. Purpose: Super Override
  394. Parameters:
  395. Notes:
  396. ------------------------------------------------------------------------------*/
  397. FNeu = TRUE.
  398. FMut = TRUE.
  399. FDisp = TRUE.
  400. RUN SUPER.
  401. END PROCEDURE.
  402. /* _UIB-CODE-BLOCK-END */
  403. &ANALYZE-RESUME
  404. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  405. PROCEDURE cancelRecord :
  406. /*------------------------------------------------------------------------------
  407. Purpose: Super Override
  408. Parameters:
  409. Notes:
  410. ------------------------------------------------------------------------------*/
  411. /* Code placed here will execute PRIOR to standard behavior. */
  412. RUN SUPER.
  413. /* Code placed here will execute AFTER standard behavior. */
  414. END PROCEDURE.
  415. /* _UIB-CODE-BLOCK-END */
  416. &ANALYZE-RESUME
  417. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  418. PROCEDURE copyRecord :
  419. /*------------------------------------------------------------------------------
  420. Purpose: Super Override
  421. Parameters:
  422. Notes:
  423. ------------------------------------------------------------------------------*/
  424. FNeu = TRUE.
  425. FMut = TRUE.
  426. FCopy = TRUE.
  427. FDisp = FALSE.
  428. RUN SUPER.
  429. END PROCEDURE.
  430. /* _UIB-CODE-BLOCK-END */
  431. &ANALYZE-RESUME
  432. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  433. PROCEDURE deleteRecord :
  434. /*------------------------------------------------------------------------------
  435. Purpose: Super Override
  436. Parameters:
  437. Notes:
  438. ------------------------------------------------------------------------------*/
  439. DEF VAR Ja AS LOG NO-UNDO.
  440. Ja = DYNAMIC-FUNCTION( 'ANTWORT_JA':U, INPUT 1000 ).
  441. IF NOT Ja THEN DO:
  442. PUBLISH 'TOOLBAR' ( INPUT 'CANCEL':U ).
  443. RETURN NO-APPLY.
  444. END.
  445. RUN SUPER.
  446. /* Code placed here will execute AFTER standard behavior. */
  447. END PROCEDURE.
  448. /* _UIB-CODE-BLOCK-END */
  449. &ANALYZE-RESUME
  450. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  451. PROCEDURE disableFields :
  452. /*------------------------------------------------------------------------------
  453. Purpose: Super Override
  454. Parameters:
  455. Notes:
  456. ------------------------------------------------------------------------------*/
  457. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  458. DO WITH FRAME {&FRAME-NAME}:
  459. END.
  460. RUN SUPER( INPUT pcFieldType).
  461. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  462. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  463. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  464. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  465. END.
  466. DO WITH FRAME {&FRAME-NAME}:
  467. CB_Dokument:SENSITIVE = TRUE.
  468. CB_Benutzer:SENSITIVE = TRUE.
  469. END.
  470. END PROCEDURE.
  471. /* _UIB-CODE-BLOCK-END */
  472. &ANALYZE-RESUME
  473. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  474. PROCEDURE disable_UI :
  475. /*------------------------------------------------------------------------------
  476. Purpose: DISABLE the User Interface
  477. Parameters: <none>
  478. Notes: Here we clean-up the user-interface by deleting
  479. dynamic widgets we have created and/or hide
  480. frames. This procedure is usually called when
  481. we are ready to "clean-up" after running.
  482. ------------------------------------------------------------------------------*/
  483. /* Hide all frames. */
  484. HIDE FRAME F-Main.
  485. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  486. END PROCEDURE.
  487. /* _UIB-CODE-BLOCK-END */
  488. &ANALYZE-RESUME
  489. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  490. PROCEDURE displayFields :
  491. /*------------------------------------------------------------------------------
  492. Purpose: Super Override
  493. Parameters:
  494. Notes:
  495. ------------------------------------------------------------------------------*/
  496. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  497. IF NOT FDisp THEN DO:
  498. FDisp = TRUE.
  499. RETURN.
  500. END.
  501. OldColValues = pcColValues.
  502. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  503. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  504. DO WITH FRAME {&FRAME-NAME}:
  505. END.
  506. RUN SUPER( INPUT pcColValues).
  507. DO WITH FRAME {&FRAME-NAME}:
  508. CB_Benutzer:SCREEN-VALUE = IF rowObject.Sort_1:SCREEN-VALUE = '' THEN 'xxxx' ELSE rowObject.Sort_1:SCREEN-VALUE NO-ERROR.
  509. CB_Dokument:SCREEN-VALUE = rowObject.Sort_2 :SCREEN-VALUE NO-ERROR.
  510. CB_Drucker :SCREEN-VALUE = rowObject.Zeichen_1:SCREEN-VALUE NO-ERROR.
  511. DYNAMIC-FUNCTION('CB_SCHRIFT':U) NO-ERROR.
  512. CB_Schrift :SCREEN-VALUE = rowObject.Zeichen_2:SCREEN-VALUE NO-ERROR.
  513. IF FNeu THEN DO:
  514. RUN WERTE_SCHRIFT.
  515. END.
  516. END.
  517. END PROCEDURE.
  518. /* _UIB-CODE-BLOCK-END */
  519. &ANALYZE-RESUME
  520. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  521. PROCEDURE enableFields :
  522. /*------------------------------------------------------------------------------
  523. Purpose: Super Override
  524. Parameters:
  525. Notes:
  526. ------------------------------------------------------------------------------*/
  527. /* Code placed here will execute PRIOR to standard behavior. */
  528. /*
  529. RUN SUPER.
  530. */
  531. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  532. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  533. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO:
  534. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  535. END.
  536. DO WITH FRAME {&FRAME-NAME}:
  537. END.
  538. IF FNeu THEN RETURN.
  539. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  540. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  541. END.
  542. END PROCEDURE.
  543. /* _UIB-CODE-BLOCK-END */
  544. &ANALYZE-RESUME
  545. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  546. PROCEDURE enableObject :
  547. /*------------------------------------------------------------------------------
  548. Purpose: Super Override
  549. Parameters:
  550. Notes:
  551. ------------------------------------------------------------------------------*/
  552. cBenu = DYNAMIC-FUNCTION('getBenutzer':U) NO-ERROR.
  553. DYNAMIC-FUNCTION('CB_BENUTZER':U) NO-ERROR.
  554. DYNAMIC-FUNCTION('CB_DOKUMENT':U) NO-ERROR.
  555. DYNAMIC-FUNCTION('CB_DRUCKER':U) NO-ERROR.
  556. DYNAMIC-FUNCTION('CB_SCHRIFT':U) NO-ERROR.
  557. RUN SUPER.
  558. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  559. IF SAktiv THEN DO:
  560. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  561. END.
  562. END PROCEDURE.
  563. /* _UIB-CODE-BLOCK-END */
  564. &ANALYZE-RESUME
  565. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  566. PROCEDURE ENTRY_FELD_TEST :
  567. /*------------------------------------------------------------------------------
  568. Purpose:
  569. Parameters: <none>
  570. Notes:
  571. ------------------------------------------------------------------------------*/
  572. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  573. DEF VAR FeldName AS CHAR NO-UNDO.
  574. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  575. FeldName = ''.
  576. FeldInhalt = ''.
  577. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  578. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  579. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  580. FeldName = ipHandle:NAME.
  581. IF ipHandle:TYPE = 'FILL-IN' OR
  582. ipHandle:TYPE = 'COMBO-BOX' OR
  583. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  584. IF NOT FMut THEN RETURN ''.
  585. DO WITH FRAME {&FRAME-NAME}:
  586. CASE FeldName:
  587. END CASE.
  588. END.
  589. RETURN ''.
  590. END PROCEDURE.
  591. /* _UIB-CODE-BLOCK-END */
  592. &ANALYZE-RESUME
  593. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  594. PROCEDURE FEHLWERTE :
  595. /*------------------------------------------------------------------------------
  596. Purpose:
  597. Parameters: <none>
  598. Notes:
  599. ------------------------------------------------------------------------------*/
  600. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  601. DEF VAR FwFelder AS CHAR NO-UNDO.
  602. DEF VAR FwFeld AS CHAR NO-UNDO.
  603. DEF VAR FwValue AS CHAR NO-UNDO.
  604. DEF VAR ix AS INT NO-UNDO.
  605. DEF VAR i1 AS INT NO-UNDO.
  606. GET-KEY-VALUE SECTION 'Fw???????' KEY ? VALUE FwFelder.
  607. IF NOT FCopy THEN DO WITH FRAME {&FRAME-NAME}:
  608. DO ix = 1 TO NUM-ENTRIES(FwFelder, ','):
  609. FwFeld = ENTRY (ix , FwFelder , ',').
  610. i1 = LOOKUP(FwFeld, oldColList, ',') + 1.
  611. IF i1 < 2 THEN NEXT.
  612. GET-KEY-VALUE SECTION 'Fw???????' KEY FwFeld VALUE FwValue.
  613. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR.
  614. END.
  615. i1 = LOOKUP('Firma', oldColList, ',') + 1.
  616. ENTRY(i1, pcColValues, CHR(1)) = Firma NO-ERROR.
  617. i1 = LOOKUP('Zeichen_1', oldColList, ',') + 1.
  618. ENTRY(i1, pcColValues, CHR(1)) = CB_Drucker:SCREEN-VALUE NO-ERROR.
  619. i1 = LOOKUP('Zeichen_2', oldColList, ',') + 1.
  620. ENTRY(i1, pcColValues, CHR(1)) = CB_Schrift:SCREEN-VALUE NO-ERROR.
  621. i1 = LOOKUP('Zahl4', oldColList, ',') + 1.
  622. ENTRY(i1, pcColValues, CHR(1)) = STRING(1) NO-ERROR.
  623. END.
  624. IF FCopy THEN DO:
  625. END.
  626. OldColValues = pcColValues.
  627. END PROCEDURE.
  628. /* _UIB-CODE-BLOCK-END */
  629. &ANALYZE-RESUME
  630. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  631. PROCEDURE LEAVE_FELD_TEST :
  632. /*------------------------------------------------------------------------------
  633. Purpose:
  634. Parameters: <none>
  635. Notes:
  636. ------------------------------------------------------------------------------*/
  637. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  638. DEF VAR FeldName AS CHAR NO-UNDO.
  639. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  640. DEF VAR ix AS INT NO-UNDO.
  641. DEF VAR LKY AS INT NO-UNDO.
  642. DEF VAR hLEAVE AS HANDLE NO-UNDO.
  643. DEF VAR hENTER AS HANDLE NO-UNDO.
  644. DEF VAR Daten AS CHAR NO-UNDO.
  645. IF FMut = FALSE THEN RETURN ''.
  646. LKY = LASTKEY.
  647. hENTER = LAST-EVENT:WIDGET-ENTER.
  648. hLEAVE = LAST-EVENT:WIDGET-LEAVE.
  649. FeldName = ''.
  650. FeldInhalt = ''.
  651. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  652. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  653. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  654. FeldName = ipHandle:NAME.
  655. IF ipHandle:TYPE = 'FILL-IN' OR
  656. ipHandle:TYPE = 'COMBO-BOX' OR
  657. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  658. DO WHILE FNeu:
  659. CASE FeldName:
  660. END CASE.
  661. LEAVE.
  662. END.
  663. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO:
  664. DO WHILE TRUE:
  665. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  666. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  667. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  668. RETURN ''.
  669. END.
  670. APPLY 'ALT-S'.
  671. RETURN 'APPLY'.
  672. END.
  673. RETURN ''.
  674. END PROCEDURE.
  675. /* _UIB-CODE-BLOCK-END */
  676. &ANALYZE-RESUME
  677. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  678. PROCEDURE RETURN_FELD :
  679. /*------------------------------------------------------------------------------
  680. Purpose:
  681. Parameters: <none>
  682. Notes:
  683. ------------------------------------------------------------------------------*/
  684. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  685. DEF VAR FeldName AS CHAR NO-UNDO.
  686. IF FMut = FALSE THEN RETURN ''.
  687. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  688. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  689. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  690. FeldName = ipHandle:NAME.
  691. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  692. RETURN 'TAB'.
  693. END.
  694. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO:
  695. RETURN 'TAB'.
  696. END.
  697. FeldName = 'rowObject.' + FeldName.
  698. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  699. RETURN 'TAB'.
  700. END.
  701. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO:
  702. RETURN 'TAB'.
  703. END.
  704. RETURN ''.
  705. END PROCEDURE.
  706. /* _UIB-CODE-BLOCK-END */
  707. &ANALYZE-RESUME
  708. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  709. PROCEDURE updateMode :
  710. /*------------------------------------------------------------------------------
  711. Purpose: Super Override
  712. Parameters:
  713. Notes:
  714. ------------------------------------------------------------------------------*/
  715. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  716. DEF VAR iRecid AS RECID NO-UNDO.
  717. DEF VAR hdaten AS HANDLE NO-UNDO.
  718. DEF BUFFER bHilfsTab FOR HilfsTab.
  719. CASE pcMode:
  720. WHEN 'updateBegin' THEN DO:
  721. hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  722. IF VALID-HANDLE ( hDaten) THEN iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
  723. IF iRecid <> ? AND
  724. iRecid <> 0 THEN DO:
  725. EMPTY TEMP-TABLE tHilfsTab.
  726. CREATE tHilfsTab.
  727. FIND bHilfsTab NO-LOCK WHERE RECID(bHilfsTab) = iRecid.
  728. BUFFER-COPY bHilfsTab TO tHilfsTab.
  729. END.
  730. END.
  731. WHEN 'updateEnd' THEN DO:
  732. END.
  733. END.
  734. RUN SUPER( INPUT pcMode).
  735. CASE pcMode:
  736. WHEN 'updateBegin' THEN DO:
  737. FMut = TRUE.
  738. END.
  739. WHEN 'updateEnd' THEN DO:
  740. FNeu = FALSE.
  741. FMut = FALSE.
  742. FCopy = FALSE.
  743. END.
  744. END.
  745. END PROCEDURE.
  746. /* _UIB-CODE-BLOCK-END */
  747. &ANALYZE-RESUME
  748. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  749. PROCEDURE updateRecord :
  750. /*------------------------------------------------------------------------------
  751. Purpose: Super Override
  752. Parameters:
  753. Notes:
  754. ------------------------------------------------------------------------------*/
  755. DEF VAR cBenutzer AS CHAR NO-UNDO.
  756. DEF VAR cDrucker AS CHAR NO-UNDO.
  757. DEF VAR cDokument AS CHAR NO-UNDO.
  758. DEF VAR lNeu AS LOG NO-UNDO.
  759. DEF VAR hdaten AS HANDLE NO-UNDO.
  760. DEF BUFFER bHilfsTab FOR HilfsTab.
  761. DEF BUFFER bSchrift FOR Schrift.
  762. DEF BUFFER bDrucker FOR Drucker.
  763. DO WITH FRAME {&FRAME-NAME}:
  764. IF FNeu THEN DO:
  765. IF NOT VALID-HANDLE(Fenster)
  766. THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  767. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster,
  768. INPUT TRUE ) NO-ERROR.
  769. END.
  770. rowObject.Sort_1 :SCREEN-VALUE = CB_Benutzer:SCREEN-VALUE.
  771. rowObject.Sort_2 :SCREEN-VALUE = CB_Dokument:SCREEN-VALUE.
  772. rowObject.Zeichen_1:SCREEN-VALUE = CB_Drucker :SCREEN-VALUE.
  773. rowObject.Zeichen_2:SCREEN-VALUE = CB_Schrift :SCREEN-VALUE.
  774. IF rowObject.Sort_1:SCREEN-VALUE = 'xxxx' THEN rowObject.Sort_1:SCREEN-VALUE = ''.
  775. IF INTEGER(rowObject.Zahl4:SCREEN-VALUE) = 0 THEN rowObject.Zahl4:SCREEN-VALUE = STRING(1).
  776. cBenutzer = rowObject.Sort_1 :SCREEN-VALUE.
  777. cDrucker = rowObject.Zeichen_1:SCREEN-VALUE.
  778. cDokument = rowObject.Sort_2 :SCREEN-VALUE.
  779. END.
  780. lNeu = FNeu.
  781. FNeu = FALSE.
  782. FCopy = FALSE.
  783. RUN SUPER.
  784. FIND bSchrift NO-LOCK
  785. WHERE bSchrift.Schname = cDrucker
  786. AND bSchrift.Schbild = cDokument NO-ERROR.
  787. IF NOT AVAILABLE bSchrift THEN RETURN.
  788. FIND bDrucker NO-LOCK
  789. WHERE bDrucker.Drucker = bSchrift.Schdru NO-ERROR.
  790. IF NOT AVAILABLE bDrucker THEN RETURN.
  791. FIND FIRST HilfsTab
  792. WHERE HilfsTab.Firma = Firma
  793. AND HilfsTab.Sort_1 = cBenutzer
  794. AND HilfsTab.Sort_2 = cDokument NO-ERROR.
  795. IF NOT AVAILABLE HilfsTab THEN RETURN.
  796. IF bDrucker.Emul = 'VIPER' THEN DO:
  797. ASSIGN HilfsTab.Zahl[05] = INTEGER(bDrucker.Druschacht[01])
  798. HilfsTab.Zahl[06] = INTEGER(bDrucker.Druschacht[02])
  799. HilfsTab.Zahl[07] = INTEGER(bDrucker.Druschacht[04])
  800. HilfsTab.Zahl[08] = INTEGER(bDrucker.Druschacht[03])
  801. HilfsTab.Zahl[04] = INTEGER(bDrucker.Druschacht[05]).
  802. END.
  803. IF lNeu THEN RETURN.
  804. IF cBenutzer <> '' THEN RETURN.
  805. FIND FIRST tHilfsTab NO-ERROR.
  806. IF NOT AVAILABLE tHilfsTab THEN RETURN.
  807. FOR EACH bHilfsTab
  808. WHERE bHilfsTab.Sort_1 <> ''
  809. AND bHilfsTab.Sort_2 = tHilfstab.Sort_2
  810. AND bHilfsTab.Zeichen_1 = tHilfsTab.Zeichen_1:
  811. BUFFER-COPY HilfsTab
  812. EXCEPT Firma Sort_1 Sort_2
  813. TO bHilfsTab.
  814. END.
  815. RELEASE HilfsTab.
  816. RELEASE bHilfsTab.
  817. RELEASE bDrucker.
  818. RELEASE bSchrift.
  819. hDaten = DYNAMIC-FUNCTION('getDataSource':U).
  820. DYNAMIC-FUNCTION('openQuery':U IN hDaten ).
  821. END PROCEDURE.
  822. /* _UIB-CODE-BLOCK-END */
  823. &ANALYZE-RESUME
  824. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WERTE_SCHRIFT vTableWin
  825. PROCEDURE WERTE_SCHRIFT :
  826. /*------------------------------------------------------------------------------
  827. Purpose:
  828. Parameters: <none>
  829. Notes:
  830. ------------------------------------------------------------------------------*/
  831. DEF VAR cDrucker AS CHAR NO-UNDO.
  832. DEF VAR cSchrift AS CHAR NO-UNDO.
  833. DO WITH FRAME {&FRAME-NAME}:
  834. cDrucker = CB_Drucker:SCREEN-VALUE.
  835. cSchrift = CB_Schrift:SCREEN-VALUE.
  836. FIND Schrift NO-LOCK USE-INDEX Schrift-k1
  837. WHERE Schrift.SchName = cDrucker
  838. AND Schrift.SchBild = cSchrift NO-ERROR.
  839. IF NOT AVAILABLE Schrift THEN RETURN.
  840. rowObject.Zahl1:SCREEN-VALUE = STRING(Schrift.SchzzTot).
  841. rowObject.Zahl2:SCREEN-VALUE = STRING(Schrift.SchzzBeg).
  842. rowObject.Zahl3:SCREEN-VALUE = STRING(Schrift.SchzzEnd).
  843. END.
  844. END PROCEDURE.
  845. /* _UIB-CODE-BLOCK-END */
  846. &ANALYZE-RESUME
  847. /* ************************ Function Implementations ***************** */
  848. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION CB_BENUTZER vTableWin
  849. FUNCTION CB_BENUTZER RETURNS LOGICAL
  850. ( /* parameter-definitions */ ) :
  851. /*------------------------------------------------------------------------------
  852. Purpose:
  853. Notes:
  854. ------------------------------------------------------------------------------*/
  855. DEF VAR cString AS CHAR NO-UNDO.
  856. cString = 'Alle Benutzer (alle);xxxx'.
  857. FOR EACH Benutzer NO-LOCK
  858. WHERE Benutzer.Anzeige <> ''
  859. BY Benutzer.Anzeige:
  860. cString = cString
  861. + ';'
  862. + Benutzer.Anzeige
  863. + ' ('
  864. + Benutzer.Benutzer
  865. + ');'
  866. + Benutzer.Benutzer.
  867. END.
  868. DO WITH FRAME {&FRAME-NAME}:
  869. CB_Benutzer:DELIMITER = ';'.
  870. CB_Benutzer:LIST-ITEM-PAIRS = cString.
  871. CB_Benutzer:SCREEN-VALUE = cBenu NO-ERROR.
  872. IF CB_Benutzer:SCREEN-VALUE <> cBenu THEN CB_Benutzer:SCREEN-VALUE = 'xxxx' NO-ERROR.
  873. END.
  874. RETURN TRUE.
  875. END FUNCTION.
  876. /* _UIB-CODE-BLOCK-END */
  877. &ANALYZE-RESUME
  878. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION CB_DOKUMENT vTableWin
  879. FUNCTION CB_DOKUMENT RETURNS LOGICAL
  880. ( /* parameter-definitions */ ) :
  881. /*------------------------------------------------------------------------------
  882. Purpose:
  883. Notes:
  884. ------------------------------------------------------------------------------*/
  885. DEF VAR cString AS CHAR NO-UNDO.
  886. cString = ''.
  887. FOR EACH Tabel NO-LOCK
  888. WHERE Tabel.Firma = Firma
  889. AND Tabel.RecArt = 'FAKART'
  890. AND Tabel.CodeC = ''
  891. AND Tabel.Sprcd = 1
  892. BREAK BY Tabel.Bez2:
  893. IF NOT FIRST-OF ( Tabel.Bez2 ) THEN NEXT.
  894. cString = cString
  895. + ';'
  896. + Tabel.Bez2.
  897. END.
  898. IF cString <> '' THEN cString = SUBSTRING(cString,02).
  899. DO WITH FRAME {&FRAME-NAME}:
  900. CB_Dokument:DELIMITER = ';'.
  901. CB_Dokument:LIST-ITEMS = cString.
  902. CB_Dokument:SCREEN-VALUE = ENTRY(1, cString, ';') NO-ERROR.
  903. END.
  904. RETURN TRUE.
  905. END FUNCTION.
  906. /* _UIB-CODE-BLOCK-END */
  907. &ANALYZE-RESUME
  908. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION CB_DRUCKER vTableWin
  909. FUNCTION CB_DRUCKER RETURNS LOGICAL
  910. ( /* parameter-definitions */ ) :
  911. /*------------------------------------------------------------------------------
  912. Purpose:
  913. Notes:
  914. ------------------------------------------------------------------------------*/
  915. DEF VAR cString AS CHAR NO-UNDO.
  916. DEF VAR ii AS INT NO-UNDO.
  917. cString = SESSION:GET-PRINTERS().
  918. DO ii = 1 TO NUM-ENTRIES(cString, ','):
  919. CREATE tDrucker.
  920. ASSIGN tDrucker.cDrucker = ENTRY(ii, cString, ',').
  921. END.
  922. cString = ''.
  923. FOR EACH Schrift NO-LOCK
  924. BREAK BY Schrift.SchName
  925. BY Schrift.SchBild:
  926. IF NOT FIRST-OF ( Schrift.SchName ) THEN NEXT.
  927. cString = cString
  928. + ';'
  929. + Schrift.SchName.
  930. END.
  931. IF cString <> '' THEN cString = SUBSTRING(cString,02).
  932. DO WITH FRAME {&FRAME-NAME}:
  933. CB_Drucker:DELIMITER = ';'.
  934. CB_Drucker:LIST-ITEMS = cString.
  935. CB_Drucker:SCREEN-VALUE = ENTRY(1, cString, ';') NO-ERROR.
  936. END.
  937. RETURN TRUE.
  938. END FUNCTION.
  939. /* _UIB-CODE-BLOCK-END */
  940. &ANALYZE-RESUME
  941. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION CB_SCHRIFT vTableWin
  942. FUNCTION CB_SCHRIFT RETURNS LOGICAL
  943. ( /* parameter-definitions */ ) :
  944. /*------------------------------------------------------------------------------
  945. Purpose:
  946. Notes:
  947. ------------------------------------------------------------------------------*/
  948. DEF VAR cString AS CHAR NO-UNDO.
  949. DEF VAR cDrucker AS CHAR NO-UNDO.
  950. cString = ''.
  951. DO WITH FRAME {&FRAME-NAME}:
  952. cDrucker = CB_Drucker:SCREEN-VALUE.
  953. END.
  954. FOR EACH Schrift NO-LOCK
  955. WHERE Schrift.SchName = cDrucker
  956. BY Schrift.SchBild:
  957. cString = cString
  958. + ';'
  959. + Schrift.SchBild.
  960. END.
  961. IF cString <> '' THEN cString = SUBSTRING(cString,02).
  962. DO WITH FRAME {&FRAME-NAME}:
  963. CB_Schrift:DELIMITER = ';'.
  964. CB_Schrift:LIST-ITEMS = cString.
  965. CB_Schrift:SCREEN-VALUE = ENTRY(1, cString, ';') NO-ERROR.
  966. END.
  967. RETURN TRUE.
  968. END FUNCTION.
  969. /* _UIB-CODE-BLOCK-END */
  970. &ANALYZE-RESUME