v-viperdoc.w 29 KB

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