v-fakart.w 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928
  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-fakart.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 CodeI
  31. &Scoped-define LETZTES_FELD Flag_1
  32. &Scoped-define KEY_FELDER CodeI
  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 VSprcd AS INT 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-fakart.i"
  56. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  57. &Scoped-define FRAME-NAME F-Main
  58. /* Standard List Definitions */
  59. &Scoped-Define ENABLED-FIELDS RowObject.CodeI RowObject.Bez1 RowObject.Bez2 ~
  60. RowObject.Int_1 RowObject.Int_2 RowObject.Dec_2 RowObject.Flag_1
  61. &Scoped-define ENABLED-TABLES RowObject
  62. &Scoped-define FIRST-ENABLED-TABLE RowObject
  63. &Scoped-Define ENABLED-OBJECTS RECT-2 CB_DOKART CB_DRUCK
  64. &Scoped-Define DISPLAYED-FIELDS RowObject.CodeI RowObject.Bez1 ~
  65. RowObject.Bez2 RowObject.Int_1 RowObject.Int_2 RowObject.Dec_2 ~
  66. RowObject.Firma RowObject.Recart RowObject.Sprcd RowObject.BezL ~
  67. RowObject.Int_3 RowObject.Dec_1 RowObject.CodeC RowObject.Dec_3 ~
  68. RowObject.Flag_1
  69. &Scoped-define DISPLAYED-TABLES RowObject
  70. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  71. &Scoped-Define DISPLAYED-OBJECTS CB_DOKART CB_DRUCK
  72. /* Custom List Definitions */
  73. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  74. /* _UIB-PREPROCESSOR-BLOCK-END */
  75. &ANALYZE-RESUME
  76. /* *********************** Control Definitions ********************** */
  77. /* Definitions of the field level widgets */
  78. DEFINE VARIABLE CB_DOKART AS CHARACTER FORMAT "X(256)":U
  79. LABEL "Dokument Typ"
  80. VIEW-AS COMBO-BOX INNER-LINES 5
  81. LIST-ITEM-PAIRS "Offerte (00)","00",
  82. "Auftrag (01)","01",
  83. "Lieferschein (02)","02",
  84. "Einzelrechnung (03)","03",
  85. "Sammlerechnung (04)","04",
  86. "Rückstand (08)","08",
  87. "Rüstpapier (09)","09",
  88. "Abholverkauf (20)","20"
  89. DROP-DOWN-LIST
  90. SIZE 32 BY 1 TOOLTIP "Welche Art von Dokument"
  91. BGCOLOR 15 NO-UNDO.
  92. DEFINE VARIABLE CB_DRUCK AS CHARACTER FORMAT "X(256)":U
  93. LABEL "Druckflag"
  94. VIEW-AS COMBO-BOX INNER-LINES 5
  95. LIST-ITEM-PAIRS "Druck nicht mehr notwendig","00",
  96. "nochmals drucken","01",
  97. "Nachfrage","02"
  98. DROP-DOWN-LIST
  99. SIZE 32 BY 1 TOOLTIP "wenn das Dokument mutiert wird, kann das Flag ~"gedruckt~" zurückgestellt werden"
  100. BGCOLOR 15 NO-UNDO.
  101. DEFINE RECTANGLE RECT-2
  102. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  103. SIZE 106 BY 6.67.
  104. /* ************************ Frame Definitions *********************** */
  105. DEFINE FRAME F-Main
  106. RowObject.CodeI AT ROW 1.52 COL 20 COLON-ALIGNED
  107. LABEL "Art" FORMAT "99"
  108. VIEW-AS FILL-IN NATIVE
  109. SIZE 5 BY 1
  110. BGCOLOR 15
  111. RowObject.Bez1 AT ROW 2.52 COL 20 COLON-ALIGNED
  112. LABEL "Dokumentbez." FORMAT "x(30)"
  113. VIEW-AS FILL-IN NATIVE
  114. SIZE 32 BY 1 TOOLTIP "Bezeichnung des Dokumentes"
  115. BGCOLOR 15
  116. RowObject.Bez2 AT ROW 2.52 COL 70.6 COLON-ALIGNED
  117. VIEW-AS FILL-IN NATIVE
  118. SIZE 32 BY 1
  119. BGCOLOR 15
  120. RowObject.Int_1 AT ROW 3.52 COL 20 COLON-ALIGNED
  121. LABEL "Nächste Art" FORMAT "99"
  122. VIEW-AS FILL-IN NATIVE
  123. SIZE 5 BY 1 TOOLTIP "welche Dokumentart nach dem Drucken/verschieben"
  124. BGCOLOR 15
  125. RowObject.Int_2 AT ROW 3.52 COL 47 COLON-ALIGNED
  126. LABEL "Nächster Status" FORMAT "99"
  127. VIEW-AS FILL-IN NATIVE
  128. SIZE 5 BY 1 TOOLTIP "Auftragsstatus nach dem Drucken/verschieben"
  129. BGCOLOR 15
  130. RowObject.Dec_2 AT ROW 3.52 COL 71 COLON-ALIGNED
  131. LABEL "Rüstpapier" FORMAT "99"
  132. VIEW-AS FILL-IN NATIVE
  133. SIZE 5 BY 1 TOOLTIP "Wird ein Rüstpapier benötigt, muss hier die Dokumentart definert werden"
  134. BGCOLOR 15
  135. RowObject.Firma AT ROW 4 COL 88 COLON-ALIGNED
  136. LABEL "Firma" FORMAT "x(08)"
  137. VIEW-AS FILL-IN
  138. SIZE 4 BY 1 NO-TAB-STOP
  139. RowObject.Recart AT ROW 4 COL 88 COLON-ALIGNED
  140. LABEL "Recart" FORMAT "x(12)"
  141. VIEW-AS FILL-IN
  142. SIZE 4 BY 1 NO-TAB-STOP
  143. RowObject.Sprcd AT ROW 4 COL 88 COLON-ALIGNED
  144. LABEL "Sprcd" FORMAT "99"
  145. VIEW-AS FILL-IN
  146. SIZE 4 BY 1 NO-TAB-STOP
  147. RowObject.BezL AT ROW 4 COL 88 COLON-ALIGNED
  148. LABEL "BezL" FORMAT "x(80)"
  149. VIEW-AS FILL-IN
  150. SIZE 4 BY 1 NO-TAB-STOP
  151. RowObject.Int_3 AT ROW 4 COL 88 COLON-ALIGNED
  152. LABEL "Art" FORMAT "99"
  153. VIEW-AS FILL-IN
  154. SIZE 4 BY 1 NO-TAB-STOP
  155. RowObject.Dec_1 AT ROW 4 COL 88 COLON-ALIGNED
  156. LABEL "Druckcd mutieren" FORMAT "99"
  157. VIEW-AS FILL-IN
  158. SIZE 4 BY 1
  159. BGCOLOR 15 NO-TAB-STOP
  160. RowObject.CodeC AT ROW 4 COL 88 COLON-ALIGNED
  161. LABEL "CodeC" FORMAT "x(8)"
  162. VIEW-AS FILL-IN
  163. SIZE 4 BY 1 NO-TAB-STOP
  164. RowObject.Dec_3 AT ROW 4 COL 88 COLON-ALIGNED
  165. LABEL "Dec_3" FORMAT "99"
  166. VIEW-AS FILL-IN
  167. SIZE 4 BY 1 NO-TAB-STOP
  168. CB_DOKART AT ROW 4.52 COL 20 COLON-ALIGNED
  169. CB_DRUCK AT ROW 5.52 COL 20 COLON-ALIGNED
  170. RowObject.Flag_1 AT ROW 6.52 COL 22 WIDGET-ID 2
  171. LABEL "Festabrechnung"
  172. VIEW-AS TOGGLE-BOX
  173. SIZE 23.8 BY 1
  174. RECT-2 AT ROW 1.24 COL 2
  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. /* *********************** Procedure Settings ************************ */
  179. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  180. /* Settings for THIS-PROCEDURE
  181. Type: SmartDataViewer
  182. Data Source: "d-fakart.w"
  183. Allow: Basic,DB-Fields,Smart
  184. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  185. Frames: 1
  186. Add Fields to: Neither
  187. Other Settings: PERSISTENT-ONLY COMPILE
  188. Temp-Tables and Buffers:
  189. TABLE: RowObject D "?" ?
  190. ADDITIONAL-FIELDS:
  191. {d-fakart.i}
  192. END-FIELDS.
  193. END-TABLES.
  194. */
  195. /* This procedure should always be RUN PERSISTENT. Report the error, */
  196. /* then cleanup and return. */
  197. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  198. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  199. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  200. RETURN.
  201. END.
  202. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  203. /* ************************* Create Window ************************** */
  204. &ANALYZE-SUSPEND _CREATE-WINDOW
  205. /* DESIGN Window definition (used by the UIB)
  206. CREATE WINDOW vTableWin ASSIGN
  207. HEIGHT = 7.14
  208. WIDTH = 108.4.
  209. /* END WINDOW DEFINITION */
  210. */
  211. &ANALYZE-RESUME
  212. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  213. /* ************************* Included-Libraries *********************** */
  214. {src/adm2/viewer.i}
  215. /* _UIB-CODE-BLOCK-END */
  216. &ANALYZE-RESUME
  217. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  218. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  219. /* SETTINGS FOR WINDOW vTableWin
  220. VISIBLE,,RUN-PERSISTENT */
  221. /* SETTINGS FOR FRAME F-Main
  222. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  223. ASSIGN
  224. FRAME F-Main:SCROLLABLE = FALSE
  225. FRAME F-Main:HIDDEN = TRUE.
  226. /* SETTINGS FOR FILL-IN RowObject.Bez1 IN FRAME F-Main
  227. EXP-LABEL EXP-FORMAT */
  228. /* SETTINGS FOR FILL-IN RowObject.BezL IN FRAME F-Main
  229. NO-ENABLE EXP-LABEL EXP-FORMAT */
  230. ASSIGN
  231. RowObject.BezL:HIDDEN IN FRAME F-Main = TRUE
  232. RowObject.BezL:READ-ONLY IN FRAME F-Main = TRUE.
  233. /* SETTINGS FOR FILL-IN RowObject.CodeC IN FRAME F-Main
  234. NO-ENABLE EXP-LABEL EXP-FORMAT */
  235. ASSIGN
  236. RowObject.CodeC:HIDDEN IN FRAME F-Main = TRUE
  237. RowObject.CodeC:READ-ONLY IN FRAME F-Main = TRUE.
  238. /* SETTINGS FOR FILL-IN RowObject.CodeI IN FRAME F-Main
  239. EXP-LABEL EXP-FORMAT */
  240. /* SETTINGS FOR FILL-IN RowObject.Dec_1 IN FRAME F-Main
  241. NO-ENABLE EXP-LABEL EXP-FORMAT */
  242. ASSIGN
  243. RowObject.Dec_1:HIDDEN IN FRAME F-Main = TRUE
  244. RowObject.Dec_1:READ-ONLY IN FRAME F-Main = TRUE.
  245. /* SETTINGS FOR FILL-IN RowObject.Dec_2 IN FRAME F-Main
  246. EXP-LABEL EXP-FORMAT */
  247. /* SETTINGS FOR FILL-IN RowObject.Dec_3 IN FRAME F-Main
  248. NO-ENABLE EXP-LABEL EXP-FORMAT */
  249. ASSIGN
  250. RowObject.Dec_3:HIDDEN IN FRAME F-Main = TRUE
  251. RowObject.Dec_3:READ-ONLY IN FRAME F-Main = TRUE.
  252. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main
  253. NO-ENABLE EXP-LABEL EXP-FORMAT */
  254. ASSIGN
  255. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE
  256. RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE.
  257. /* SETTINGS FOR TOGGLE-BOX RowObject.Flag_1 IN FRAME F-Main
  258. EXP-LABEL */
  259. /* SETTINGS FOR FILL-IN RowObject.Int_1 IN FRAME F-Main
  260. EXP-LABEL EXP-FORMAT */
  261. /* SETTINGS FOR FILL-IN RowObject.Int_2 IN FRAME F-Main
  262. EXP-LABEL EXP-FORMAT */
  263. /* SETTINGS FOR FILL-IN RowObject.Int_3 IN FRAME F-Main
  264. NO-ENABLE EXP-LABEL EXP-FORMAT */
  265. ASSIGN
  266. RowObject.Int_3:HIDDEN IN FRAME F-Main = TRUE
  267. RowObject.Int_3:READ-ONLY IN FRAME F-Main = TRUE.
  268. /* SETTINGS FOR FILL-IN RowObject.Recart IN FRAME F-Main
  269. NO-ENABLE EXP-LABEL EXP-FORMAT */
  270. ASSIGN
  271. RowObject.Recart:HIDDEN IN FRAME F-Main = TRUE
  272. RowObject.Recart:READ-ONLY IN FRAME F-Main = TRUE.
  273. /* SETTINGS FOR FILL-IN RowObject.Sprcd IN FRAME F-Main
  274. NO-ENABLE EXP-LABEL EXP-FORMAT */
  275. ASSIGN
  276. RowObject.Sprcd:HIDDEN IN FRAME F-Main = TRUE
  277. RowObject.Sprcd:READ-ONLY IN FRAME F-Main = TRUE.
  278. /* _RUN-TIME-ATTRIBUTES-END */
  279. &ANALYZE-RESUME
  280. /* Setting information for Queries and Browse Widgets fields */
  281. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  282. /* Query rebuild information for FRAME F-Main
  283. _Options = "NO-LOCK"
  284. _Query is NOT OPENED
  285. */ /* FRAME F-Main */
  286. &ANALYZE-RESUME
  287. /* ************************ Control Triggers ************************ */
  288. &Scoped-define SELF-NAME CB_DOKART
  289. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_DOKART vTableWin
  290. ON VALUE-CHANGED OF CB_DOKART IN FRAME F-Main /* Dokument Typ */
  291. DO:
  292. IF NOT FMut THEN DO:
  293. SELF:SCREEN-VALUE = rowObject.Int_3:SCREEN-VALUE NO-ERROR.
  294. RETURN NO-APPLY.
  295. END.
  296. rowObject.Int_3:SCREEN-VALUE = SELF:SCREEN-VALUE.
  297. rowObject.Int_3:MODIFIED = TRUE.
  298. END.
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. &Scoped-define SELF-NAME CB_DRUCK
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_DRUCK vTableWin
  303. ON VALUE-CHANGED OF CB_DRUCK IN FRAME F-Main /* Druckflag */
  304. DO:
  305. IF NOT FMut THEN DO:
  306. SELF:SCREEN-VALUE = rowObject.Dec_1:SCREEN-VALUE NO-ERROR.
  307. RETURN NO-APPLY.
  308. END.
  309. rowObject.Dec_1:SCREEN-VALUE = SELF:SCREEN-VALUE.
  310. rowObject.Dec_1:MODIFIED = TRUE.
  311. END.
  312. /* _UIB-CODE-BLOCK-END */
  313. &ANALYZE-RESUME
  314. &Scoped-define SELF-NAME RowObject.Flag_1
  315. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Flag_1 vTableWin
  316. ON VALUE-CHANGED OF RowObject.Flag_1 IN FRAME F-Main /* Festabrechnung */
  317. DO:
  318. IF NOT FMut THEN SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)).
  319. END.
  320. /* _UIB-CODE-BLOCK-END */
  321. &ANALYZE-RESUME
  322. &UNDEFINE SELF-NAME
  323. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  324. /* *************************** Main Block *************************** */
  325. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  326. IF SAktiv THEN DO:
  327. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  328. VSprcd = DYNAMIC-FUNCTION('GETSPRCD':U) NO-ERROR.
  329. END.
  330. /* Triggers ------------------------------------------------------ */
  331. ON 'RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  332. DO:
  333. RUN RETURN_FELD ( INPUT SELF:HANDLE ).
  334. IF RETURN-VALUE = 'TAB' THEN DO:
  335. APPLY 'TAB' TO SELF.
  336. RETURN NO-APPLY.
  337. END.
  338. END.
  339. ON 'ENTRY':U OF FRAME {&FRAME-NAME} ANYWHERE
  340. DO:
  341. RUN ENTRY_FELD_TEST ( INPUT SELF:HANDLE ).
  342. IF RETURN-VALUE = 'ERROR' THEN DO:
  343. APPLY 'ENTRY' TO SELF.
  344. RETURN NO-APPLY.
  345. END.
  346. IF RETURN-VALUE = 'APPLY' THEN DO:
  347. RETURN NO-APPLY.
  348. END.
  349. END.
  350. ON 'LEAVE':U OF FRAME {&FRAME-NAME} ANYWHERE
  351. DO:
  352. RUN LEAVE_FELD_TEST ( INPUT SELF:HANDLE ).
  353. IF RETURN-VALUE = 'ERROR' THEN DO:
  354. APPLY 'ENTRY' TO SELF.
  355. RETURN NO-APPLY.
  356. END.
  357. IF RETURN-VALUE = 'APPLY' THEN DO:
  358. RETURN NO-APPLY.
  359. END.
  360. END.
  361. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  362. RUN initializeObject.
  363. &ENDIF
  364. /************************ INTERNAL PROCEDURES ********************/
  365. /* _UIB-CODE-BLOCK-END */
  366. &ANALYZE-RESUME
  367. /* ********************** Internal Procedures *********************** */
  368. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  369. PROCEDURE addRecord :
  370. /*------------------------------------------------------------------------------
  371. Purpose: Super Override
  372. Parameters:
  373. Notes:
  374. ------------------------------------------------------------------------------*/
  375. FNeu = TRUE.
  376. FMut = TRUE.
  377. RUN SUPER.
  378. END PROCEDURE.
  379. /* _UIB-CODE-BLOCK-END */
  380. &ANALYZE-RESUME
  381. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  382. PROCEDURE cancelRecord :
  383. /*------------------------------------------------------------------------------
  384. Purpose: Super Override
  385. Parameters:
  386. Notes:
  387. ------------------------------------------------------------------------------*/
  388. /* Code placed here will execute PRIOR to standard behavior. */
  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 copyRecord vTableWin
  395. PROCEDURE copyRecord :
  396. /*------------------------------------------------------------------------------
  397. Purpose: Super Override
  398. Parameters:
  399. Notes:
  400. ------------------------------------------------------------------------------*/
  401. FNeu = TRUE.
  402. FMut = TRUE.
  403. FCopy = TRUE.
  404. FDisp = FALSE.
  405. RUN SUPER.
  406. END PROCEDURE.
  407. /* _UIB-CODE-BLOCK-END */
  408. &ANALYZE-RESUME
  409. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  410. PROCEDURE deleteRecord :
  411. /*------------------------------------------------------------------------------
  412. Purpose: Super Override
  413. Parameters:
  414. Notes:
  415. ------------------------------------------------------------------------------*/
  416. DEF VAR Ja AS LOG NO-UNDO.
  417. Ja = DYNAMIC-FUNCTION( 'ANTWORT_JA':U, INPUT 1000 ).
  418. IF NOT Ja THEN DO:
  419. PUBLISH 'TOOLBAR' ( INPUT 'CANCEL':U ).
  420. RETURN NO-APPLY.
  421. END.
  422. RUN SUPER.
  423. /* Code placed here will execute AFTER standard behavior. */
  424. END PROCEDURE.
  425. /* _UIB-CODE-BLOCK-END */
  426. &ANALYZE-RESUME
  427. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  428. PROCEDURE disableFields :
  429. /*------------------------------------------------------------------------------
  430. Purpose: Super Override
  431. Parameters:
  432. Notes:
  433. ------------------------------------------------------------------------------*/
  434. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  435. DO WITH FRAME {&FRAME-NAME}:
  436. END.
  437. RUN SUPER( INPUT pcFieldType).
  438. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  439. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  440. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  441. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  442. END.
  443. DO WITH FRAME {&FRAME-NAME}:
  444. END.
  445. END PROCEDURE.
  446. /* _UIB-CODE-BLOCK-END */
  447. &ANALYZE-RESUME
  448. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  449. PROCEDURE disable_UI :
  450. /*------------------------------------------------------------------------------
  451. Purpose: DISABLE the User Interface
  452. Parameters: <none>
  453. Notes: Here we clean-up the user-interface by deleting
  454. dynamic widgets we have created and/or hide
  455. frames. This procedure is usually called when
  456. we are ready to "clean-up" after running.
  457. ------------------------------------------------------------------------------*/
  458. /* Hide all frames. */
  459. HIDE FRAME F-Main.
  460. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  461. END PROCEDURE.
  462. /* _UIB-CODE-BLOCK-END */
  463. &ANALYZE-RESUME
  464. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  465. PROCEDURE displayFields :
  466. /*------------------------------------------------------------------------------
  467. Purpose: Super Override
  468. Parameters:
  469. Notes:
  470. ------------------------------------------------------------------------------*/
  471. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  472. IF NOT FDisp THEN DO:
  473. FDisp = TRUE.
  474. RETURN.
  475. END.
  476. OldColValues = pcColValues.
  477. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  478. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  479. DO WITH FRAME {&FRAME-NAME}:
  480. END.
  481. RUN SUPER( INPUT pcColValues).
  482. DO WITH FRAME {&FRAME-NAME}:
  483. CB_DOKART:SCREEN-VALUE = rowObject.Int_3:SCREEN-VALUE.
  484. CB_DRUCK :SCREEN-VALUE = rowObject.Dec_1:SCREEN-VALUE.
  485. END.
  486. END PROCEDURE.
  487. /* _UIB-CODE-BLOCK-END */
  488. &ANALYZE-RESUME
  489. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  490. PROCEDURE enableFields :
  491. /*------------------------------------------------------------------------------
  492. Purpose: Super Override
  493. Parameters:
  494. Notes:
  495. ------------------------------------------------------------------------------*/
  496. /* Code placed here will execute PRIOR to standard behavior. */
  497. /*
  498. RUN SUPER.
  499. */
  500. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  501. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  502. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO:
  503. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  504. END.
  505. DO WITH FRAME {&FRAME-NAME}:
  506. END.
  507. IF FNeu THEN RETURN.
  508. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  509. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  510. END.
  511. END PROCEDURE.
  512. /* _UIB-CODE-BLOCK-END */
  513. &ANALYZE-RESUME
  514. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  515. PROCEDURE enableObject :
  516. /*------------------------------------------------------------------------------
  517. Purpose: Super Override
  518. Parameters:
  519. Notes:
  520. ------------------------------------------------------------------------------*/
  521. RUN SUPER.
  522. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  523. IF SAktiv THEN DO:
  524. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  525. END.
  526. END PROCEDURE.
  527. /* _UIB-CODE-BLOCK-END */
  528. &ANALYZE-RESUME
  529. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  530. PROCEDURE ENTRY_FELD_TEST :
  531. /*------------------------------------------------------------------------------
  532. Purpose:
  533. Parameters: <none>
  534. Notes:
  535. ------------------------------------------------------------------------------*/
  536. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  537. DEF VAR FeldName AS CHAR NO-UNDO.
  538. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  539. FeldName = ''.
  540. FeldInhalt = ''.
  541. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  542. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  543. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  544. FeldName = ipHandle:NAME.
  545. IF ipHandle:TYPE = 'FILL-IN' OR
  546. ipHandle:TYPE = 'COMBO-BOX' OR
  547. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  548. IF NOT FMut THEN RETURN ''.
  549. DO WITH FRAME {&FRAME-NAME}:
  550. CASE FeldName:
  551. END CASE.
  552. END.
  553. RETURN ''.
  554. END PROCEDURE.
  555. /* _UIB-CODE-BLOCK-END */
  556. &ANALYZE-RESUME
  557. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  558. PROCEDURE FEHLWERTE :
  559. /*------------------------------------------------------------------------------
  560. Purpose:
  561. Parameters: <none>
  562. Notes:
  563. ------------------------------------------------------------------------------*/
  564. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  565. DEF VAR FwFelder AS CHAR NO-UNDO.
  566. DEF VAR FwFeld AS CHAR NO-UNDO.
  567. DEF VAR FwValue AS CHAR NO-UNDO.
  568. DEF VAR ix AS INT NO-UNDO.
  569. DEF VAR i1 AS INT NO-UNDO.
  570. GET-KEY-VALUE SECTION 'Fw???????' KEY ? VALUE FwFelder.
  571. IF NOT FCopy THEN DO:
  572. DO ix = 1 TO NUM-ENTRIES(FwFelder, ','):
  573. FwFeld = ENTRY (ix , FwFelder , ',').
  574. i1 = LOOKUP(FwFeld, oldColList, ',') + 1.
  575. IF i1 < 2 THEN NEXT.
  576. GET-KEY-VALUE SECTION 'Fw???????' KEY FwFeld VALUE FwValue.
  577. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR.
  578. END.
  579. END.
  580. IF FCopy THEN DO:
  581. END.
  582. OldColValues = pcColValues.
  583. END PROCEDURE.
  584. /* _UIB-CODE-BLOCK-END */
  585. &ANALYZE-RESUME
  586. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  587. PROCEDURE LEAVE_FELD_TEST :
  588. /*------------------------------------------------------------------------------
  589. Purpose:
  590. Parameters: <none>
  591. Notes:
  592. ------------------------------------------------------------------------------*/
  593. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  594. DEF VAR FeldName AS CHAR NO-UNDO.
  595. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  596. DEF VAR ix AS INT NO-UNDO.
  597. DEF VAR LKY AS INT NO-UNDO.
  598. DEF VAR hLEAVE AS HANDLE NO-UNDO.
  599. DEF VAR hENTER AS HANDLE NO-UNDO.
  600. DEF VAR Daten AS CHAR NO-UNDO.
  601. IF FMut = FALSE THEN RETURN ''.
  602. LKY = LASTKEY.
  603. hENTER = LAST-EVENT:WIDGET-ENTER.
  604. hLEAVE = LAST-EVENT:WIDGET-LEAVE.
  605. FeldName = ''.
  606. FeldInhalt = ''.
  607. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  608. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  609. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  610. FeldName = ipHandle:NAME.
  611. IF ipHandle:TYPE = 'FILL-IN' OR
  612. ipHandle:TYPE = 'COMBO-BOX' OR
  613. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  614. DO WHILE FNeu:
  615. CASE FeldName:
  616. WHEN 'CodeI' THEN DO:
  617. FIND Tabel USE-INDEX Tabel-k1
  618. WHERE Tabel.Firma = Firma
  619. AND Tabel.RecArt = 'FAKART'
  620. AND Tabel.CodeI = INTEGER(FeldInhalt)
  621. AND Tabel.CodeC = ''
  622. AND Tabel.Sprcd = VSprcd NO-LOCK NO-ERROR.
  623. IF NOT AVAILABLE Tabel THEN RETURN ''.
  624. RUN FEHLER ( INPUT 1023 ).
  625. RETURN 'ERROR'.
  626. END.
  627. END CASE.
  628. LEAVE.
  629. END.
  630. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO:
  631. DO WHILE TRUE:
  632. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  633. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  634. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  635. RETURN ''.
  636. END.
  637. APPLY 'ALT-S'.
  638. RETURN 'APPLY'.
  639. END.
  640. RETURN ''.
  641. END PROCEDURE.
  642. /* _UIB-CODE-BLOCK-END */
  643. &ANALYZE-RESUME
  644. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  645. PROCEDURE RETURN_FELD :
  646. /*------------------------------------------------------------------------------
  647. Purpose:
  648. Parameters: <none>
  649. Notes:
  650. ------------------------------------------------------------------------------*/
  651. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  652. DEF VAR FeldName AS CHAR NO-UNDO.
  653. IF FMut = FALSE THEN RETURN ''.
  654. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  655. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  656. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  657. FeldName = ipHandle:NAME.
  658. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  659. RETURN 'TAB'.
  660. END.
  661. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO:
  662. RETURN 'TAB'.
  663. END.
  664. FeldName = 'rowObject.' + FeldName.
  665. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  666. RETURN 'TAB'.
  667. END.
  668. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO:
  669. RETURN 'TAB'.
  670. END.
  671. RETURN ''.
  672. END PROCEDURE.
  673. /* _UIB-CODE-BLOCK-END */
  674. &ANALYZE-RESUME
  675. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  676. PROCEDURE updateMode :
  677. /*------------------------------------------------------------------------------
  678. Purpose: Super Override
  679. Parameters:
  680. Notes:
  681. ------------------------------------------------------------------------------*/
  682. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  683. CASE pcMode:
  684. WHEN 'updateBegin' THEN DO:
  685. END.
  686. WHEN 'updateEnd' THEN DO:
  687. END.
  688. END.
  689. RUN SUPER( INPUT pcMode).
  690. CASE pcMode:
  691. WHEN 'updateBegin' THEN DO:
  692. FMut = TRUE.
  693. END.
  694. WHEN 'updateEnd' THEN DO:
  695. FNeu = FALSE.
  696. FMut = FALSE.
  697. FCopy = FALSE.
  698. END.
  699. END.
  700. END PROCEDURE.
  701. /* _UIB-CODE-BLOCK-END */
  702. &ANALYZE-RESUME
  703. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  704. PROCEDURE updateRecord :
  705. /*------------------------------------------------------------------------------
  706. Purpose: Super Override
  707. Parameters:
  708. Notes:
  709. ------------------------------------------------------------------------------*/
  710. DO WITH FRAME {&FRAME-NAME}:
  711. IF FNeu THEN DO:
  712. rowObject.Firma:SCREEN-VALUE = Firma NO-ERROR.
  713. rowObject.RecArt:SCREEN-VALUE = 'FAKART' NO-ERROR.
  714. rowObject.Sprcd:SCREEN-VALUE = STRING(VSprcd) NO-ERROR.
  715. rowObject.CodeC:SCREEN-VALUE = '' NO-ERROR.
  716. END.
  717. END.
  718. FNeu = FALSE.
  719. FCopy = FALSE.
  720. RUN SUPER.
  721. /* Code placed here will execute AFTER standard behavior. */
  722. END PROCEDURE.
  723. /* _UIB-CODE-BLOCK-END */
  724. &ANALYZE-RESUME