b-aufko-ruestkontrolle.w 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840
  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. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS bTableWin
  8. /*------------------------------------------------------------------------
  9. File: adm2\src\browser.w
  10. Description: SmartDataBrowser Object
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. DEFINE VARIABLE cAktion AS CHARACTER NO-UNDO FORMAT "x" INIT 'X'.
  28. DEFINE VARIABLE iAktion AS INTEGER NO-UNDO INIT 0.
  29. { incl/tmpbrowser.i }
  30. {src/adm2/widgetprto.i}
  31. /* _UIB-CODE-BLOCK-END */
  32. &ANALYZE-RESUME
  33. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  34. /* ******************** Preprocessor Definitions ******************** */
  35. &Scoped-define PROCEDURE-TYPE SmartDataBrowser
  36. &Scoped-define DB-AWARE no
  37. &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
  38. /* Include file with RowObject temp-table definition */
  39. &Scoped-define DATA-FIELD-DEFS "d-aufko-ruestkontrolle.i"
  40. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  41. &Scoped-define FRAME-NAME F-Main
  42. &Scoped-define BROWSE-NAME br_table
  43. /* Internal Tables (found by Frame, Query & Browse Queries) */
  44. &Scoped-define INTERNAL-TABLES rowObject
  45. /* Definitions for BROWSE br_table */
  46. &Scoped-define FIELDS-IN-QUERY-br_table rowObject.Tour_Nr1 rowObject.Fahrer ~
  47. rowObject.Lief_Datum rowObject.Knr rowObject.Aufnr rowObject.Kunde ~
  48. rowObject.Strasse rowObject.PlzOrt rowObject.Gewicht ~
  49. rowObject.Ablad_Vor_Text rowObject.Auf_Text rowObject.TotalGewicht ~
  50. rowObject.cStatus
  51. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  52. &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
  53. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
  54. &Scoped-define TABLES-IN-QUERY-br_table rowObject
  55. &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject
  56. /* Definitions for FRAME F-Main */
  57. /* Standard List Definitions */
  58. &Scoped-Define ENABLED-OBJECTS RECT-1 br_table CB_Aktion CB_Touren ~
  59. CB_Fahrer
  60. &Scoped-Define DISPLAYED-OBJECTS CB_Aktion CB_Touren CB_Fahrer
  61. /* Custom List Definitions */
  62. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  63. /* _UIB-PREPROCESSOR-BLOCK-END */
  64. &ANALYZE-RESUME
  65. /* ************************ Function Prototypes ********************** */
  66. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenfarbe bTableWin
  67. FUNCTION setZeilenfarbe RETURNS LOGICAL
  68. ( ipFarbe AS INTEGER ) FORWARD.
  69. /* _UIB-CODE-BLOCK-END */
  70. &ANALYZE-RESUME
  71. /* *********************** Control Definitions ********************** */
  72. /* Definitions of the field level widgets */
  73. DEFINE VARIABLE CB_Aktion AS CHARACTER FORMAT "X(256)":U
  74. LABEL "Aktion"
  75. VIEW-AS COMBO-BOX INNER-LINES 5
  76. LIST-ITEM-PAIRS "Item 1","Item 1"
  77. DROP-DOWN-LIST
  78. SIZE 40 BY 1 NO-UNDO.
  79. DEFINE VARIABLE CB_Fahrer AS CHARACTER FORMAT "X(256)":U
  80. LABEL "Fahrer"
  81. VIEW-AS COMBO-BOX INNER-LINES 5
  82. LIST-ITEM-PAIRS "Item 1","Item 1"
  83. DROP-DOWN-LIST
  84. SIZE 40 BY 1 NO-UNDO.
  85. DEFINE VARIABLE CB_Touren AS CHARACTER FORMAT "X(256)":U
  86. LABEL "Tour"
  87. VIEW-AS COMBO-BOX INNER-LINES 5
  88. LIST-ITEM-PAIRS "Item 1","Item 1"
  89. DROP-DOWN-LIST
  90. SIZE 40 BY 1 NO-UNDO.
  91. DEFINE RECTANGLE RECT-1
  92. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  93. SIZE 287 BY 26.67.
  94. /* Query definitions */
  95. &ANALYZE-SUSPEND
  96. DEFINE TEMP-TABLE RowObject NO-UNDO
  97. {{&DATA-FIELD-DEFS}}
  98. {src/adm2/robjflds.i}.
  99. DEFINE QUERY br_table FOR
  100. rowObject SCROLLING.
  101. &ANALYZE-RESUME
  102. /* Browse definitions */
  103. DEFINE BROWSE br_table
  104. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED
  105. QUERY br_table NO-LOCK DISPLAY
  106. rowObject.Tour_Nr1 COLUMN-LABEL "Tour" FORMAT "99":U
  107. rowObject.Fahrer FORMAT "99":U
  108. rowObject.Lief_Datum COLUMN-LABEL "Lief Datum" FORMAT "99.99.9999":U
  109. rowObject.Knr FORMAT "999999":U WIDTH 7
  110. rowObject.Aufnr FORMAT "9999999":U WIDTH 8
  111. rowObject.Kunde FORMAT "x(30)":U
  112. rowObject.Strasse FORMAT "x(30)":U
  113. rowObject.PlzOrt COLUMN-LABEL "Plz / Ort" FORMAT "x(30)":U
  114. rowObject.Gewicht FORMAT "zzz,zz9.999-":U WIDTH 14
  115. rowObject.Ablad_Vor_Text COLUMN-LABEL "Ablade Vorschrift" FORMAT "x(40)":U
  116. WIDTH 30
  117. rowObject.Auf_Text COLUMN-LABEL "Bemerkung" FORMAT "x(500)":U
  118. WIDTH 80
  119. rowObject.TotalGewicht FORMAT "->>,>>9.99":U
  120. rowObject.cStatus COLUMN-LABEL "S" FORMAT "X":U WIDTH 2
  121. /* _UIB-CODE-BLOCK-END */
  122. &ANALYZE-RESUME
  123. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS MULTIPLE SIZE 285 BY 25.81.
  124. /* ************************ Frame Definitions *********************** */
  125. DEFINE FRAME F-Main
  126. br_table AT ROW 1.48 COL 3 WIDGET-ID 200
  127. CB_Aktion AT ROW 29 COL 20 COLON-ALIGNED WIDGET-ID 4
  128. CB_Touren AT ROW 29 COL 80 COLON-ALIGNED WIDGET-ID 6
  129. CB_Fahrer AT ROW 29 COL 140 COLON-ALIGNED WIDGET-ID 8
  130. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2
  131. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  132. SIDE-LABELS NO-UNDERLINE THREE-D
  133. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  134. /* *********************** Procedure Settings ************************ */
  135. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  136. /* Settings for THIS-PROCEDURE
  137. Type: SmartDataBrowser
  138. Data Source: "d-aufko-ruestkontrolle.w"
  139. Allow: Basic,Browse
  140. Frames: 1
  141. Add Fields to: Neither
  142. Other Settings: PERSISTENT-ONLY COMPILE
  143. */
  144. /* This procedure should always be RUN PERSISTENT. Report the error, */
  145. /* then cleanup and return. */
  146. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  147. DO:
  148. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  149. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  150. RETURN.
  151. END.
  152. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  153. /* ************************* Create Window ************************** */
  154. &ANALYZE-SUSPEND _CREATE-WINDOW
  155. /* DESIGN Window definition (used by the UIB)
  156. CREATE WINDOW bTableWin ASSIGN
  157. HEIGHT = 30.19
  158. WIDTH = 289.
  159. /* END WINDOW DEFINITION */
  160. */
  161. &ANALYZE-RESUME
  162. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  163. /* ************************* Included-Libraries *********************** */
  164. {src/adm2/browser.i}
  165. /* _UIB-CODE-BLOCK-END */
  166. &ANALYZE-RESUME
  167. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  168. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  169. /* SETTINGS FOR WINDOW bTableWin
  170. NOT-VISIBLE,,RUN-PERSISTENT */
  171. /* SETTINGS FOR FRAME F-Main
  172. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  173. /* BROWSE-TAB br_table RECT-1 F-Main */
  174. ASSIGN
  175. FRAME F-Main:SCROLLABLE = FALSE
  176. FRAME F-Main:HIDDEN = TRUE.
  177. ASSIGN
  178. br_table:COLUMN-RESIZABLE IN FRAME F-Main = TRUE
  179. br_table:COLUMN-MOVABLE IN FRAME F-Main = TRUE.
  180. /* _RUN-TIME-ATTRIBUTES-END */
  181. &ANALYZE-RESUME
  182. /* Setting information for Queries and Browse Widgets fields */
  183. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  184. /* Query rebuild information for BROWSE br_table
  185. _TblList = "rowObject"
  186. _Options = "NO-LOCK INDEXED-REPOSITION"
  187. _FldNameList[1] > _<SDO>.rowObject.Tour_Nr1
  188. "rowObject.Tour_Nr1" "Tour" ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  189. _FldNameList[2] = _<SDO>.rowObject.Fahrer
  190. _FldNameList[3] > _<SDO>.rowObject.Lief_Datum
  191. "rowObject.Lief_Datum" "Lief Datum" ? "date" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  192. _FldNameList[4] > _<SDO>.rowObject.Knr
  193. "rowObject.Knr" ? ? "integer" ? ? ? ? ? ? no "?" no no "7" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  194. _FldNameList[5] > _<SDO>.rowObject.Aufnr
  195. "rowObject.Aufnr" ? ? "integer" ? ? ? ? ? ? no "?" no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  196. _FldNameList[6] > _<SDO>.rowObject.Kunde
  197. "rowObject.Kunde" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  198. _FldNameList[7] > _<SDO>.rowObject.Strasse
  199. "rowObject.Strasse" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  200. _FldNameList[8] > _<SDO>.rowObject.PlzOrt
  201. "rowObject.PlzOrt" "Plz / Ort" "x(30)" "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  202. _FldNameList[9] > _<SDO>.rowObject.Gewicht
  203. "rowObject.Gewicht" ? ? "decimal" ? ? ? ? ? ? no "?" no no "14" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  204. _FldNameList[10] > _<SDO>.rowObject.Ablad_Vor_Text
  205. "rowObject.Ablad_Vor_Text" "Ablade Vorschrift" ? "character" ? ? ? ? ? ? no "?" no no "30" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  206. _FldNameList[11] > _<SDO>.rowObject.Auf_Text
  207. "rowObject.Auf_Text" "Bemerkung" ? "character" ? ? ? ? ? ? no "?" no no "80" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  208. _FldNameList[12] = _<SDO>.rowObject.TotalGewicht
  209. _FldNameList[13] > _<SDO>.rowObject.cStatus
  210. "rowObject.cStatus" "S" ? "character" ? ? ? ? ? ? no "?" no no "2" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  211. _Query is NOT OPENED
  212. */ /* BROWSE br_table */
  213. &ANALYZE-RESUME
  214. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  215. /* Query rebuild information for FRAME F-Main
  216. _Options = "NO-LOCK"
  217. _Query is NOT OPENED
  218. */ /* FRAME F-Main */
  219. &ANALYZE-RESUME
  220. /* ************************ Control Triggers ************************ */
  221. &Scoped-define BROWSE-NAME br_table
  222. &Scoped-define SELF-NAME br_table
  223. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  224. ON ANY-KEY OF br_table IN FRAME F-Main
  225. DO:
  226. IF INTEGER(LASTKEY) = 32 THEN
  227. DO:
  228. IF {&BROWSE-NAME}:FOCUSED-ROW-SELECTED THEN {&BROWSE-NAME}:DESELECT-FOCUSED-ROW ().
  229. ELSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  230. END.
  231. END.
  232. /* _UIB-CODE-BLOCK-END */
  233. &ANALYZE-RESUME
  234. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  235. ON CTRL-END OF br_table IN FRAME F-Main
  236. DO:
  237. APPLY "END":U TO BROWSE {&BROWSE-NAME}.
  238. END.
  239. /* _UIB-CODE-BLOCK-END */
  240. &ANALYZE-RESUME
  241. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  242. ON CTRL-HOME OF br_table IN FRAME F-Main
  243. DO:
  244. APPLY "HOME":U TO BROWSE {&BROWSE-NAME}.
  245. END.
  246. /* _UIB-CODE-BLOCK-END */
  247. &ANALYZE-RESUME
  248. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  249. ON DEFAULT-ACTION OF br_table IN FRAME F-Main
  250. DO:
  251. {src/adm2/brsdefault.i}
  252. END.
  253. /* _UIB-CODE-BLOCK-END */
  254. &ANALYZE-RESUME
  255. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  256. ON END OF br_table IN FRAME F-Main
  257. DO:
  258. {src/adm2/brsend.i}
  259. END.
  260. /* _UIB-CODE-BLOCK-END */
  261. &ANALYZE-RESUME
  262. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  263. ON F5 OF br_table IN FRAME F-Main
  264. DO:
  265. DYNAMIC-FUNCTION ('openQuery':U IN hDaten) NO-ERROR.
  266. END.
  267. /* _UIB-CODE-BLOCK-END */
  268. &ANALYZE-RESUME
  269. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  270. ON HOME OF br_table IN FRAME F-Main
  271. DO:
  272. {src/adm2/brshome.i}
  273. END.
  274. /* _UIB-CODE-BLOCK-END */
  275. &ANALYZE-RESUME
  276. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  277. ON LEFT-MOUSE-CLICK OF br_table IN FRAME F-Main
  278. DO:
  279. /* {&BROWSE-NAME}:DESELECT-FOCUSED-ROW (). */
  280. /* IF {&BROWSE-NAME}:FOCUSED-ROW-SELECTED THEN {&BROWSE-NAME}:DESELECT-FOCUSED-ROW ().*/
  281. APPLY 'ENTRY' TO {&BROWSE-NAME}.
  282. END.
  283. /* _UIB-CODE-BLOCK-END */
  284. &ANALYZE-RESUME
  285. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  286. ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main
  287. DO:
  288. DEFINE VARIABLE rAufko AS RECID NO-UNDO.
  289. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  290. DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO.
  291. DEFINE BUFFER bAufko FOR Aufko.
  292. iAktion = INTEGER(CB_Aktion:SCREEN-VALUE IN FRAME {&FRAME-NAME}).
  293. IF iAktion = 0 THEN RETURN NO-APPLY.
  294. CASE iAktion:
  295. WHEN 1 THEN
  296. DO:
  297. {&BROWSE-NAME}:FETCH-SELECTED-ROW (1).
  298. rAufko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR.
  299. FIND bAufko NO-LOCK WHERE RECID(bAufko) = rAufko NO-ERROR.
  300. iAufnr = bAufko.Aufnr.
  301. cRetVal = 'START'.
  302. PUBLISH 'DRUCKEN' ( rAufko, iAufnr, '', OUTPUT cRetVal ).
  303. IF cRetVal = 'START' THEN
  304. DO:
  305. MESSAGE 'Auftragsbearbeitung ist nicht gestartet'
  306. VIEW-AS ALERT-BOX.
  307. END.
  308. {&BROWSE-NAME}:DESELECT-ROWS ().
  309. END.
  310. WHEN 2 THEN
  311. DO:
  312. {&BROWSE-NAME}:FETCH-SELECTED-ROW (1).
  313. rAufko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR.
  314. REPEAT TRANSACTION:
  315. FIND bAufko EXCLUSIVE-LOCK
  316. WHERE RECID(bAufko) = rAufko NO-WAIT NO-ERROR.
  317. IF NOT AVAILABLE bAufko AND
  318. LOCKED bAufko THEN
  319. DO:
  320. RUN FEHLER ( 82 ) NO-ERROR.
  321. LEAVE.
  322. END.
  323. bAufko.Tour_Nr1 = INTEGER(CB_Touren:SCREEN-VALUE).
  324. RELEASE bAufko.
  325. LEAVE.
  326. END.
  327. {&BROWSE-NAME}:DESELECT-ROWS ().
  328. APPLY 'F5' TO {&BROWSE-NAME}.
  329. END.
  330. WHEN 3 THEN
  331. DO:
  332. {&BROWSE-NAME}:FETCH-SELECTED-ROW (1).
  333. rAufko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR.
  334. REPEAT TRANSACTION:
  335. FIND bAufko EXCLUSIVE-LOCK
  336. WHERE RECID(bAufko) = rAufko NO-WAIT NO-ERROR.
  337. IF NOT AVAILABLE bAufko AND
  338. LOCKED bAufko THEN
  339. DO:
  340. RUN FEHLER ( 82 ) NO-ERROR.
  341. LEAVE.
  342. END.
  343. bAufko.Fahrer = INTEGER(CB_Fahrer:SCREEN-VALUE).
  344. RELEASE bAufko.
  345. LEAVE.
  346. END.
  347. {&BROWSE-NAME}:DESELECT-ROWS ().
  348. APPLY 'F5' TO {&BROWSE-NAME}.
  349. END.
  350. END CASE.
  351. END.
  352. /* _UIB-CODE-BLOCK-END */
  353. &ANALYZE-RESUME
  354. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  355. ON OFF-END OF br_table IN FRAME F-Main
  356. DO:
  357. {src/adm2/brsoffnd.i}
  358. END.
  359. /* _UIB-CODE-BLOCK-END */
  360. &ANALYZE-RESUME
  361. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  362. ON OFF-HOME OF br_table IN FRAME F-Main
  363. DO:
  364. {src/adm2/brsoffhm.i}
  365. END.
  366. /* _UIB-CODE-BLOCK-END */
  367. &ANALYZE-RESUME
  368. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  369. ON RETURN OF br_table IN FRAME F-Main
  370. DO:
  371. DEFINE VARIABLE iNumSelRows AS INTEGER NO-UNDO.
  372. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  373. DEFINE VARIABLE iRow AS INTEGER NO-UNDO.
  374. DEFINE VARIABLE rAufko AS RECID NO-UNDO.
  375. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  376. DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO.
  377. DEFINE BUFFER bAufko FOR Aufko.
  378. iAktion = INTEGER(CB_Aktion:SCREEN-VALUE IN FRAME {&FRAME-NAME}).
  379. IF iAktion = 0 THEN RETURN NO-APPLY.
  380. iNumSelRows = {&BROWSE-NAME}:NUM-SELECTED-ROWS.
  381. IF iNumSelRows = 0 THEN RETURN NO-APPLY.
  382. CASE iAktion:
  383. WHEN 1 THEN
  384. DO:
  385. DO ii = 1 TO iNumSelRows:
  386. {&BROWSE-NAME}:SCROLL-TO-SELECTED-ROW (ii).
  387. {&BROWSE-NAME}:FETCH-SELECTED-ROW (ii).
  388. rAufko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR.
  389. FIND bAufko NO-LOCK WHERE RECID(bAufko) = rAufko NO-ERROR.
  390. iAufnr = bAufko.Aufnr.
  391. cRetVal = 'START'.
  392. PUBLISH 'DRUCKEN' ( rAufko, iAufnr, '', OUTPUT cRetVal ).
  393. IF cRetVal = 'START' THEN
  394. DO:
  395. MESSAGE 'Auftragsbearbeitung ist nicht gestartet'
  396. VIEW-AS ALERT-BOX.
  397. RETURN.
  398. END.
  399. END.
  400. {&BROWSE-NAME}:DESELECT-ROWS ().
  401. END.
  402. WHEN 2 THEN
  403. DO:
  404. LOOP02:
  405. DO ii = 1 TO iNumSelRows:
  406. {&BROWSE-NAME}:SCROLL-TO-SELECTED-ROW (ii).
  407. {&BROWSE-NAME}:FETCH-SELECTED-ROW (ii).
  408. rAufko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR.
  409. REPEAT TRANSACTION:
  410. FIND bAufko EXCLUSIVE-LOCK
  411. WHERE RECID(bAufko) = rAufko NO-WAIT NO-ERROR.
  412. IF NOT AVAILABLE bAufko AND
  413. LOCKED bAufko THEN
  414. DO:
  415. RUN FEHLER ( 82 ) NO-ERROR.
  416. NEXT LOOP02.
  417. END.
  418. bAufko.Tour_Nr1 = INTEGER(CB_Touren:SCREEN-VALUE).
  419. RELEASE bAufko.
  420. LEAVE.
  421. END.
  422. END.
  423. {&BROWSE-NAME}:DESELECT-ROWS ().
  424. APPLY 'F5' TO {&BROWSE-NAME}.
  425. END.
  426. WHEN 3 THEN
  427. DO:
  428. LOOP03:
  429. DO ii = 1 TO iNumSelRows:
  430. {&BROWSE-NAME}:SCROLL-TO-SELECTED-ROW (ii).
  431. {&BROWSE-NAME}:FETCH-SELECTED-ROW (ii).
  432. rAufko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR.
  433. REPEAT TRANSACTION:
  434. FIND bAufko EXCLUSIVE-LOCK
  435. WHERE RECID(bAufko) = rAufko NO-WAIT NO-ERROR.
  436. IF NOT AVAILABLE bAufko AND
  437. LOCKED bAufko THEN
  438. DO:
  439. RUN FEHLER ( 82 ) NO-ERROR.
  440. NEXT LOOP03.
  441. END.
  442. bAufko.Fahrer = INTEGER(CB_Fahrer:SCREEN-VALUE).
  443. RELEASE bAufko.
  444. LEAVE.
  445. END.
  446. END.
  447. {&BROWSE-NAME}:DESELECT-ROWS ().
  448. APPLY 'F5' TO {&BROWSE-NAME}.
  449. END.
  450. END CASE.
  451. END.
  452. /* _UIB-CODE-BLOCK-END */
  453. &ANALYZE-RESUME
  454. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  455. ON ROW-DISPLAY OF br_table IN FRAME F-Main
  456. DO:
  457. DEFINE VARIABLE iStatus AS INTEGER NO-UNDO INIT 0.
  458. DEFINE VARIABLE iFarbe AS INTEGER NO-UNDO INIT 15.
  459. FOR EACH RuestAuf NO-LOCK
  460. WHERE RuestAuf.Firma = Firma
  461. AND RuestAuf.Aufnr = rowObject.Aufnr:
  462. IF iStatus = 0 THEN iStatus = 1.
  463. IF RuestAuf.lGeruestet AND
  464. iStatus = 1 THEN iStatus = 2.
  465. IF RuestAuf.lGeladen AND
  466. iStatus = 2 THEN iStatus = 3.
  467. END.
  468. CASE iStatus:
  469. WHEN 1 THEN
  470. iFarbe = 12. /* rot Rüstauftrag aufgegeben */
  471. WHEN 2 THEN
  472. iFarbe = 14. /* gelb Rüstauftrag in Arbeit */
  473. WHEN 3 THEN
  474. iFarbe = 10. /* grün geladen */
  475. END CASE.
  476. IF rowObject.TotalGewicht <> 0 THEN rowObject.TotalGewicht:BGCOLOR IN BROWSE {&BROWSE-NAME} = 11.
  477. rowObject.cStatus:BGCOLOR IN BROWSE {&BROWSE-NAME} = iFarbe.
  478. END.
  479. /* _UIB-CODE-BLOCK-END */
  480. &ANALYZE-RESUME
  481. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  482. ON ROW-LEAVE OF br_table IN FRAME F-Main
  483. DO:
  484. {src/adm2/brsleave.i}
  485. END.
  486. /* _UIB-CODE-BLOCK-END */
  487. &ANALYZE-RESUME
  488. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  489. ON SCROLL-NOTIFY OF br_table IN FRAME F-Main
  490. DO:
  491. {src/adm2/brsscrol.i}
  492. END.
  493. /* _UIB-CODE-BLOCK-END */
  494. &ANALYZE-RESUME
  495. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  496. ON START-SEARCH OF br_table IN FRAME F-Main
  497. DO:
  498. { incl/brwstartsearch.i }
  499. END.
  500. /* _UIB-CODE-BLOCK-END */
  501. &ANALYZE-RESUME
  502. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  503. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  504. DO:
  505. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  506. PUBLISH 'RUESTKONTROLLE' (INTEGER(rowObject.Aufnr:SCREEN-VALUE IN BROWSE {&BROWSE-NAME})).
  507. {src/adm2/brschnge.i}
  508. END.
  509. /* _UIB-CODE-BLOCK-END */
  510. &ANALYZE-RESUME
  511. &Scoped-define SELF-NAME CB_Aktion
  512. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Aktion bTableWin
  513. ON VALUE-CHANGED OF CB_Aktion IN FRAME F-Main /* Aktion */
  514. DO:
  515. iAktion = INTEGER(SELF:SCREEN-VALUE).
  516. CASE iAktion:
  517. WHEN 0 THEN
  518. DO:
  519. ASSIGN
  520. CB_Fahrer:SENSITIVE = FALSE
  521. CB_Touren:SENSITIVE = FALSE.
  522. APPLY 'U1'.
  523. END.
  524. WHEN 1 THEN
  525. DO:
  526. ASSIGN
  527. CB_Fahrer:SENSITIVE = FALSE
  528. CB_Touren:SENSITIVE = FALSE.
  529. APPLY 'U1'.
  530. END.
  531. WHEN 2 THEN
  532. DO:
  533. ASSIGN
  534. CB_Fahrer:SENSITIVE = FALSE
  535. CB_Touren:SENSITIVE = TRUE .
  536. APPLY 'ENTRY' TO CB_Touren.
  537. END.
  538. WHEN 3 THEN
  539. DO:
  540. ASSIGN
  541. CB_Fahrer:SENSITIVE = TRUE
  542. CB_Touren:SENSITIVE = FALSE.
  543. APPLY 'ENTRY' TO CB_Fahrer.
  544. END.
  545. END CASE.
  546. END.
  547. /* _UIB-CODE-BLOCK-END */
  548. &ANALYZE-RESUME
  549. &Scoped-define SELF-NAME CB_Fahrer
  550. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Fahrer bTableWin
  551. ON VALUE-CHANGED OF CB_Fahrer IN FRAME F-Main /* Fahrer */
  552. DO:
  553. APPLY 'U1'.
  554. END.
  555. /* _UIB-CODE-BLOCK-END */
  556. &ANALYZE-RESUME
  557. &Scoped-define SELF-NAME CB_Touren
  558. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Touren bTableWin
  559. ON VALUE-CHANGED OF CB_Touren IN FRAME F-Main /* Tour */
  560. DO:
  561. APPLY 'U1'.
  562. END.
  563. /* _UIB-CODE-BLOCK-END */
  564. &ANALYZE-RESUME
  565. &UNDEFINE SELF-NAME
  566. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  567. /* *************************** Main Block *************************** */
  568. { incl/brwmainblock.i }
  569. { incl/brwinternproc.i }
  570. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  571. RUN initializeObject.
  572. &ENDIF
  573. /* _UIB-CODE-BLOCK-END */
  574. &ANALYZE-RESUME
  575. /* ********************** Internal Procedures *********************** */
  576. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject bTableWin
  577. PROCEDURE destroyObject :
  578. /*------------------------------------------------------------------------------
  579. Purpose: Super Override
  580. Parameters:
  581. Notes:
  582. ------------------------------------------------------------------------------*/
  583. DEFINE VARIABLE hBrowser AS HANDLE NO-UNDO.
  584. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  585. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
  586. INPUT Sektion ) NO-ERROR.
  587. RUN SUPER.
  588. /* Code placed here will execute AFTER standard behavior. */
  589. END PROCEDURE.
  590. /* _UIB-CODE-BLOCK-END */
  591. &ANALYZE-RESUME
  592. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  593. PROCEDURE disable_UI :
  594. /*------------------------------------------------------------------------------
  595. Purpose: DISABLE the User Interface
  596. Parameters: <none>
  597. Notes: Here we clean-up the user-interface by deleting
  598. dynamic widgets we have created and/or hide
  599. frames. This procedure is usually called when
  600. we are ready to "clean-up" after running.
  601. ------------------------------------------------------------------------------*/
  602. /* Hide all frames. */
  603. HIDE FRAME F-Main.
  604. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  605. END PROCEDURE.
  606. /* _UIB-CODE-BLOCK-END */
  607. &ANALYZE-RESUME
  608. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE bTableWin
  609. PROCEDURE ENTRY_BROWSE :
  610. /*------------------------------------------------------------------------------
  611. Purpose:
  612. Parameters: <none>
  613. Notes:
  614. ------------------------------------------------------------------------------*/
  615. APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
  616. RETURN NO-APPLY.
  617. END PROCEDURE.
  618. /* _UIB-CODE-BLOCK-END */
  619. &ANALYZE-RESUME
  620. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin
  621. PROCEDURE initializeObject :
  622. /*------------------------------------------------------------------------------
  623. Purpose: Super Override
  624. Parameters:
  625. Notes:
  626. ------------------------------------------------------------------------------*/
  627. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  628. cString = 'Keine Aktion (00);00;'
  629. + 'Auslösen Rüstauftrag (01);01;'
  630. + 'Zuteilen Tourg (02);02;'
  631. + 'Zuteilen Fahrer (03);03'.
  632. DO WITH FRAME {&FRAME-NAME}:
  633. CB_Aktion:DELIMITER = ';'.
  634. CB_Aktion:LIST-ITEM-PAIRS = cString.
  635. CB_Aktion:SCREEN-VALUE = '00'.
  636. IF sAktiv THEN
  637. DO:
  638. RUN COMBO_FAHRER ( CB_Fahrer:HANDLE ) NO-ERROR.
  639. RUN COMBO_TOUREN ( CB_Touren:HANDLE ) NO-ERROR.
  640. END.
  641. END.
  642. { incl/brwinitialize.i }
  643. CB_Fahrer:SENSITIVE = FALSE.
  644. CB_Touren:SENSITIVE = FALSE.
  645. RUN SET_OPENFLAG IN hDaten ( TRUE ).
  646. END PROCEDURE.
  647. /* _UIB-CODE-BLOCK-END */
  648. &ANALYZE-RESUME
  649. /* ************************ Function Implementations ***************** */
  650. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin
  651. FUNCTION setZeilenfarbe RETURNS LOGICAL
  652. ( ipFarbe AS INTEGER ) :
  653. /*------------------------------------------------------------------------------
  654. Purpose:
  655. Notes:
  656. ------------------------------------------------------------------------------*/
  657. { incl/brwsetzeilenfarbe.i }
  658. END FUNCTION.
  659. /* _UIB-CODE-BLOCK-END */
  660. &ANALYZE-RESUME