v-warengrp.w 30 KB

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