b-horelager.w 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091
  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 TEMP-TABLE tHoReLager LIKE HoReLager
  28. FIELD rRecid AS RECID.
  29. DEFINE VARIABLE htHoReLager AS HANDLE NO-UNDO.
  30. htHoReLager = TEMP-TABLE tHoReLager:DEFAULT-BUFFER-HANDLE.
  31. DEFINE TEMP-TABLE tLotLager LIKE LotLager
  32. FIELD rRecid AS RECID.
  33. DEFINE VARIABLE htLotLager AS HANDLE NO-UNDO.
  34. htLotLager = TEMP-TABLE tLotLager:DEFAULT-BUFFER-HANDLE.
  35. { incl/tmpbrowser.i }
  36. {src/adm2/widgetprto.i}
  37. /* _UIB-CODE-BLOCK-END */
  38. &ANALYZE-RESUME
  39. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  40. /* ******************** Preprocessor Definitions ******************** */
  41. &Scoped-define PROCEDURE-TYPE SmartDataBrowser
  42. &Scoped-define DB-AWARE no
  43. &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
  44. /* Include file with RowObject temp-table definition */
  45. &Scoped-define DATA-FIELD-DEFS "d-horelager.i"
  46. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  47. &Scoped-define FRAME-NAME F-Main
  48. &Scoped-define BROWSE-NAME br_table
  49. /* Internal Tables (found by Frame, Query & Browse Queries) */
  50. &Scoped-define INTERNAL-TABLES rowObject
  51. /* Definitions for BROWSE br_table */
  52. &Scoped-define FIELDS-IN-QUERY-br_table rowObject.Lager rowObject.Regal ~
  53. rowObject.Platz rowObject.Niveau rowObject.Sf rowObject.Bezeichnung ~
  54. rowObject.Artnr rowObject.Inhalt rowObject.Jahr rowObject.Artikel ~
  55. rowObject.Bestand rowObject.iStatus
  56. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  57. &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
  58. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
  59. &Scoped-define TABLES-IN-QUERY-br_table rowObject
  60. &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject
  61. /* Definitions for FRAME F-Main */
  62. /* Standard List Definitions */
  63. &Scoped-Define ENABLED-OBJECTS RECT-1 br_table
  64. /* Custom List Definitions */
  65. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  66. /* _UIB-PREPROCESSOR-BLOCK-END */
  67. &ANALYZE-RESUME
  68. /* ************************ Function Prototypes ********************** */
  69. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenfarbe bTableWin
  70. FUNCTION setZeilenfarbe RETURNS LOGICAL
  71. ( ipFarbe AS INT ) FORWARD.
  72. /* _UIB-CODE-BLOCK-END */
  73. &ANALYZE-RESUME
  74. /* *********************** Control Definitions ********************** */
  75. /* Menu Definitions */
  76. DEFINE MENU POPUP-MENU-br_table
  77. MENU-ITEM X_ARTIKEL_UMPLATZIEREN LABEL "Artikel umplatzieren"
  78. MENU-ITEM X_LAGERPLATZ_ETIKETTE LABEL "Lagerplatz-Etikette".
  79. /* Definitions of the field level widgets */
  80. DEFINE RECTANGLE RECT-1
  81. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  82. SIZE 126 BY 7.14.
  83. /* Query definitions */
  84. &ANALYZE-SUSPEND
  85. DEFINE TEMP-TABLE RowObject NO-UNDO
  86. {{&DATA-FIELD-DEFS}}
  87. {src/adm2/robjflds.i}.
  88. DEFINE QUERY br_table FOR
  89. rowObject SCROLLING.
  90. &ANALYZE-RESUME
  91. /* Browse definitions */
  92. DEFINE BROWSE br_table
  93. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED
  94. QUERY br_table NO-LOCK DISPLAY
  95. rowObject.Lager FORMAT "zz9":U
  96. rowObject.Regal FORMAT "x(03)":U
  97. rowObject.Platz FORMAT "x(03)":U
  98. rowObject.Niveau FORMAT "x(03)":U
  99. rowObject.Sf FORMAT "x(03)":U
  100. rowObject.Bezeichnung FORMAT "x(30)":U WIDTH 20
  101. rowObject.Artnr FORMAT "999999":U
  102. rowObject.Inhalt FORMAT "9999":U
  103. rowObject.Jahr FORMAT "9999":U
  104. rowObject.Artikel FORMAT "x(50)":U WIDTH 30
  105. rowObject.Bestand FORMAT "zzz,zz9-":U
  106. rowObject.iStatus FORMAT "9":U
  107. /* _UIB-CODE-BLOCK-END */
  108. &ANALYZE-RESUME
  109. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 124 BY 6.67.
  110. /* ************************ Frame Definitions *********************** */
  111. DEFINE FRAME F-Main
  112. br_table AT ROW 1.48 COL 3 WIDGET-ID 200
  113. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2
  114. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  115. SIDE-LABELS NO-UNDERLINE THREE-D
  116. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  117. /* *********************** Procedure Settings ************************ */
  118. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  119. /* Settings for THIS-PROCEDURE
  120. Type: SmartDataBrowser
  121. Data Source: "d-horelager.w"
  122. Allow: Basic,Browse
  123. Frames: 1
  124. Add Fields to: Neither
  125. Other Settings: PERSISTENT-ONLY COMPILE
  126. */
  127. /* This procedure should always be RUN PERSISTENT. Report the error, */
  128. /* then cleanup and return. */
  129. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  130. DO:
  131. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  132. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  133. RETURN.
  134. END.
  135. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  136. /* ************************* Create Window ************************** */
  137. &ANALYZE-SUSPEND _CREATE-WINDOW
  138. /* DESIGN Window definition (used by the UIB)
  139. CREATE WINDOW bTableWin ASSIGN
  140. HEIGHT = 7.62
  141. WIDTH = 128.
  142. /* END WINDOW DEFINITION */
  143. */
  144. &ANALYZE-RESUME
  145. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  146. /* ************************* Included-Libraries *********************** */
  147. {src/adm2/browser.i}
  148. /* _UIB-CODE-BLOCK-END */
  149. &ANALYZE-RESUME
  150. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  151. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  152. /* SETTINGS FOR WINDOW bTableWin
  153. NOT-VISIBLE,,RUN-PERSISTENT */
  154. /* SETTINGS FOR FRAME F-Main
  155. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  156. /* BROWSE-TAB br_table RECT-1 F-Main */
  157. ASSIGN
  158. FRAME F-Main:SCROLLABLE = FALSE
  159. FRAME F-Main:HIDDEN = TRUE.
  160. ASSIGN
  161. br_table:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-br_table:HANDLE.
  162. ASSIGN
  163. rowObject.Bestand:AUTO-RESIZE IN BROWSE br_table = TRUE.
  164. /* _RUN-TIME-ATTRIBUTES-END */
  165. &ANALYZE-RESUME
  166. /* Setting information for Queries and Browse Widgets fields */
  167. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  168. /* Query rebuild information for BROWSE br_table
  169. _TblList = "rowObject"
  170. _Options = "NO-LOCK INDEXED-REPOSITION"
  171. _FldNameList[1] > _<SDO>.rowObject.Lager
  172. "rowObject.Lager" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  173. _FldNameList[2] > _<SDO>.rowObject.Regal
  174. "rowObject.Regal" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  175. _FldNameList[3] > _<SDO>.rowObject.Platz
  176. "rowObject.Platz" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  177. _FldNameList[4] > _<SDO>.rowObject.Niveau
  178. "rowObject.Niveau" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  179. _FldNameList[5] > _<SDO>.rowObject.Sf
  180. "rowObject.Sf" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  181. _FldNameList[6] > _<SDO>.rowObject.Bezeichnung
  182. "rowObject.Bezeichnung" ? ? "character" ? ? ? ? ? ? no "?" no no "20" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  183. _FldNameList[7] > _<SDO>.rowObject.Artnr
  184. "rowObject.Artnr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  185. _FldNameList[8] > _<SDO>.rowObject.Inhalt
  186. "rowObject.Inhalt" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  187. _FldNameList[9] > _<SDO>.rowObject.Jahr
  188. "rowObject.Jahr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  189. _FldNameList[10] > _<SDO>.rowObject.Artikel
  190. "rowObject.Artikel" ? ? "character" ? ? ? ? ? ? no "?" no no "30" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  191. _FldNameList[11] > _<SDO>.rowObject.Bestand
  192. "rowObject.Bestand" ? "zzz,zz9-" "decimal" ? ? ? ? ? ? no "?" no no ? yes yes no "U" "" "" "" "" "" "" 0 no 0 no no
  193. _FldNameList[12] > _<SDO>.rowObject.iStatus
  194. "rowObject.iStatus" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  195. _Query is NOT OPENED
  196. */ /* BROWSE br_table */
  197. &ANALYZE-RESUME
  198. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  199. /* Query rebuild information for FRAME F-Main
  200. _Options = "NO-LOCK"
  201. _Query is NOT OPENED
  202. */ /* FRAME F-Main */
  203. &ANALYZE-RESUME
  204. /* ************************ Control Triggers ************************ */
  205. &Scoped-define BROWSE-NAME br_table
  206. &Scoped-define SELF-NAME br_table
  207. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  208. ON ALT-F OF br_table IN FRAME F-Main
  209. DO:
  210. RUN FINDEN_ARTIKEL.
  211. RETURN NO-APPLY.
  212. END.
  213. /* _UIB-CODE-BLOCK-END */
  214. &ANALYZE-RESUME
  215. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  216. ON ALT-L OF br_table IN FRAME F-Main
  217. DO:
  218. RUN EINGABE_LAGER.
  219. RETURN NO-APPLY.
  220. END.
  221. /* _UIB-CODE-BLOCK-END */
  222. &ANALYZE-RESUME
  223. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  224. ON CTRL-END OF br_table IN FRAME F-Main
  225. DO:
  226. APPLY "END":U TO BROWSE {&BROWSE-NAME}.
  227. END.
  228. /* _UIB-CODE-BLOCK-END */
  229. &ANALYZE-RESUME
  230. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  231. ON CTRL-F OF br_table IN FRAME F-Main
  232. DO:
  233. RUN FINDEN_ARTIKEL.
  234. RETURN NO-APPLY.
  235. END.
  236. /* _UIB-CODE-BLOCK-END */
  237. &ANALYZE-RESUME
  238. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  239. ON CTRL-HOME OF br_table IN FRAME F-Main
  240. DO:
  241. APPLY "HOME":U TO BROWSE {&BROWSE-NAME}.
  242. END.
  243. /* _UIB-CODE-BLOCK-END */
  244. &ANALYZE-RESUME
  245. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  246. ON CTRL-L OF br_table IN FRAME F-Main
  247. DO:
  248. RUN EINGABE_LAGER.
  249. RETURN NO-APPLY.
  250. END.
  251. /* _UIB-CODE-BLOCK-END */
  252. &ANALYZE-RESUME
  253. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  254. ON DEFAULT-ACTION OF br_table IN FRAME F-Main
  255. DO:
  256. {src/adm2/brsdefault.i}
  257. END.
  258. /* _UIB-CODE-BLOCK-END */
  259. &ANALYZE-RESUME
  260. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  261. ON END OF br_table IN FRAME F-Main
  262. DO:
  263. {src/adm2/brsend.i}
  264. END.
  265. /* _UIB-CODE-BLOCK-END */
  266. &ANALYZE-RESUME
  267. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  268. ON F5 OF br_table IN FRAME F-Main
  269. DO:
  270. DEFINE VARIABLE lMutFlag AS LOGICAL NO-UNDO.
  271. lMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname).
  272. IF lMutFlag THEN RETURN NO-APPLY.
  273. RUN REFRESHLAGER IN hDaten.
  274. RETURN NO-APPLY.
  275. END.
  276. /* _UIB-CODE-BLOCK-END */
  277. &ANALYZE-RESUME
  278. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  279. ON HOME OF br_table IN FRAME F-Main
  280. DO:
  281. {src/adm2/brshome.i}
  282. END.
  283. /* _UIB-CODE-BLOCK-END */
  284. &ANALYZE-RESUME
  285. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  286. ON LEFT-MOUSE-CLICK OF br_table IN FRAME F-Main
  287. DO:
  288. APPLY 'ENTRY' TO {&BROWSE-NAME}.
  289. END.
  290. /* _UIB-CODE-BLOCK-END */
  291. &ANALYZE-RESUME
  292. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  293. ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main
  294. DO:
  295. IF NOT VALID-HANDLE( hFenster ) THEN RETURN NO-APPLY.
  296. RUN TOOLBAR IN hFenster ( INPUT 'UPDATE' ).
  297. RETURN NO-APPLY.
  298. END.
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  302. ON OFF-END OF br_table IN FRAME F-Main
  303. DO:
  304. {src/adm2/brsoffnd.i}
  305. END.
  306. /* _UIB-CODE-BLOCK-END */
  307. &ANALYZE-RESUME
  308. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  309. ON OFF-HOME OF br_table IN FRAME F-Main
  310. DO:
  311. {src/adm2/brsoffhm.i}
  312. END.
  313. /* _UIB-CODE-BLOCK-END */
  314. &ANALYZE-RESUME
  315. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  316. ON ROW-ENTRY OF br_table IN FRAME F-Main
  317. DO:
  318. {src/adm2/brsentry.i}
  319. END.
  320. /* _UIB-CODE-BLOCK-END */
  321. &ANALYZE-RESUME
  322. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  323. ON ROW-LEAVE OF br_table IN FRAME F-Main
  324. DO:
  325. {src/adm2/brsleave.i}
  326. END.
  327. /* _UIB-CODE-BLOCK-END */
  328. &ANALYZE-RESUME
  329. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  330. ON SCROLL-NOTIFY OF br_table IN FRAME F-Main
  331. DO:
  332. {src/adm2/brsscrol.i}
  333. END.
  334. /* _UIB-CODE-BLOCK-END */
  335. &ANALYZE-RESUME
  336. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  337. ON START-SEARCH OF br_table IN FRAME F-Main
  338. DO:
  339. { incl/brwstartsearch.i }
  340. END.
  341. /* _UIB-CODE-BLOCK-END */
  342. &ANALYZE-RESUME
  343. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  344. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  345. DO:
  346. DEFINE VARIABLE rHoReLager AS RECID NO-UNDO.
  347. DEFINE BUFFER bHoReLager FOR HoReLager.
  348. rHoReLager = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR.
  349. IF rHoReLager <> ? AND
  350. rHoReLager <> 0 THEN
  351. DO:
  352. FIND bHoReLager NO-LOCK WHERE RECID(bHoReLager) = rHoReLager.
  353. PUBLISH 'HORELAGER' (bHoReLager.Artnr, bHoReLager.Inhalt, bHoReLager.Jahr ).
  354. RELEASE bHoReLager.
  355. END.
  356. {src/adm2/brschnge.i}
  357. END.
  358. /* _UIB-CODE-BLOCK-END */
  359. &ANALYZE-RESUME
  360. &UNDEFINE SELF-NAME
  361. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  362. /* *************************** Main Block *************************** */
  363. DEFINE VARIABLE cDummy AS CHARACTER NO-UNDO.
  364. { incl/brwmainblock.i }
  365. { incl/brwinternproc.i }
  366. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  367. RUN initializeObject.
  368. &ENDIF
  369. /* _UIB-CODE-BLOCK-END */
  370. &ANALYZE-RESUME
  371. /* ********************** Internal Procedures *********************** */
  372. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKEL_UMPLATZIEREN bTableWin
  373. PROCEDURE ARTIKEL_UMPLATZIEREN :
  374. /*------------------------------------------------------------------------------*/
  375. /* Purpose: Super Override */
  376. /* Parameters: */
  377. /* Notes: */
  378. /*------------------------------------------------------------------------------*/
  379. DEFINE VARIABLE rHoReLager AS RECID NO-UNDO.
  380. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  381. DEFINE VARIABLE cRegal AS CHARACTER NO-UNDO.
  382. DEFINE VARIABLE cPlatz AS CHARACTER NO-UNDO.
  383. DEFINE VARIABLE cNiveau AS CHARACTER NO-UNDO.
  384. DEFINE VARIABLE cSf AS CHARACTER NO-UNDO.
  385. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  386. DEFINE VARIABLE cSort AS CHARACTER NO-UNDO.
  387. DEFINE VARIABLE cLagerort AS CHARACTER NO-UNDO.
  388. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
  389. DEFINE VARIABLE iInhalt AS INTEGER NO-UNDO.
  390. DEFINE VARIABLE iJahr AS INTEGER NO-UNDO.
  391. DEFINE VARIABLE lFound AS LOGICAL NO-UNDO.
  392. DEFINE BUFFER bHoReLager FOR HoReLager.
  393. DEFINE BUFFER bLotLager FOR LotLager .
  394. DEFINE BUFFER bArtLager FOR ArtLager .
  395. DISABLE TRIGGERS FOR LOAD OF HoReLager.
  396. rHoReLager = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR.
  397. IF rHoReLager = ? OR
  398. rHoReLager = 0 THEN RETURN NO-APPLY.
  399. FIND bHoReLager NO-LOCK WHERE RECID(bHoReLager) = rHoReLager.
  400. IF bHoReLager.Artnr = 0 THEN RETURN.
  401. ASSIGN
  402. iArtnr = bHoReLager.Artnr
  403. iInhalt = bHoReLager.Inhalt
  404. iJahr = bHoReLager.Jahr
  405. cLagerort = bHoReLager.cSort.
  406. EMPTY TEMP-TABLE tHoReLager.
  407. EMPTY TEMP-TABLE tLotLager .
  408. CREATE tHoReLager.
  409. BUFFER-COPY bHoReLager TO tHoReLager
  410. ASSIGN
  411. tHoReLager.rRecid = RECID(bHoReLager).
  412. RUN g-einlesen-text.w ( 'NeuerLagerplatz eingeben', 'Lagerplatz', TRUE, INPUT-OUTPUT cString) NO-ERROR.
  413. IF cString = ? OR
  414. cString = '' THEN RETURN NO-APPLY.
  415. cString = REPLACE(cString, '.', '-').
  416. cString = REPLACE(cString, ';', '-').
  417. ASSIGN
  418. cRegal = ''
  419. cNiveau = ''
  420. cPlatz = ''
  421. cSf = ''.
  422. DO ii = 1 TO NUM-ENTRIES(cString, '-'):
  423. CASE ii:
  424. WHEN 1 THEN
  425. cRegal = ENTRY(ii, cString, '-').
  426. WHEN 2 THEN
  427. cPlatz = ENTRY(ii, cString, '-').
  428. WHEN 3 THEN
  429. cNiveau = ENTRY(ii, cString, '-').
  430. WHEN 4 THEN
  431. cSf = ENTRY(ii, cString, '-').
  432. END CASE.
  433. END.
  434. DO WHILE LENGTH(cPlatz) < 3:
  435. cPlatz = '0' + cPlatz.
  436. END.
  437. DO WHILE LENGTH(cNiveau) < 2:
  438. cNiveau = '0' + cNiveau.
  439. END.
  440. DO WHILE cSF <> '' AND LENGTH(cSf) < 2:
  441. cSf = '0' + cSf.
  442. END.
  443. cSort = SUBSTITUTE('&1-&2-&3', cRegal, cPlatz, cNiveau).
  444. IF cSf <> '' THEN cSort = cSort + '-' + cSf.
  445. FIND bHoReLager NO-LOCK
  446. WHERE bHoReLager.Firma = Firma
  447. AND bHoReLager.Art = 1
  448. AND bHoReLager.Lager = 0
  449. AND bHoReLager.Regal = cRegal
  450. AND bHoReLager.Platz = cPlatz
  451. AND bHoReLager.Niveau = cNiveau
  452. AND bHoReLager.Sf = cSf NO-ERROR.
  453. IF NOT AVAILABLE bHoReLager THEN
  454. DO:
  455. FIND bHoReLager NO-LOCK
  456. WHERE bHoReLager.Firma = Firma
  457. AND bHoReLager.Art = 2
  458. AND bHoReLager.Lager = 0
  459. AND bHoReLager.Regal = cRegal
  460. AND bHoReLager.Platz = cPlatz
  461. AND bHoReLager.Niveau = cNiveau
  462. AND bHoReLager.Sf = cSf NO-ERROR.
  463. END.
  464. IF NOT AVAILABLE bHoReLager THEN
  465. DO:
  466. DYNAMIC-FUNCTION ('fehlerMeldung':U, 1113, '') NO-ERROR.
  467. RETURN NO-APPLY.
  468. END.
  469. IF bHoReLager.iStatus = 9 THEN
  470. DO:
  471. DYNAMIC-FUNCTION ('fehlerMeldung':U, 1113, '') NO-ERROR.
  472. RETURN NO-APPLY.
  473. END.
  474. IF bHoReLager.Artnr > 0 AND
  475. bHoReLager.Artnr <> tHoReLager.Artnr THEN
  476. DO:
  477. DYNAMIC-FUNCTION ('fehlerMeldung':U, 1113, '') NO-ERROR.
  478. RETURN NO-APPLY.
  479. END.
  480. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  481. FIND FIRST tHoReLager.
  482. rHoReLager = RECID(bHoReLager).
  483. FIND bHoReLager WHERE RECID(bHoReLager) = rHoReLager.
  484. lFound = FALSE.
  485. AA000:
  486. DO WHILE TRUE:
  487. DO WHILE bHoReLager.Artnr = 0:
  488. BUFFER-COPY tHoReLager
  489. USING Artnr Inhalt Jahr Bestand Lotnummer Verfall Eingang
  490. TO bHoReLager.
  491. IF bHoReLager.Bestand > 0 THEN bHoReLager.iStatus = 2.
  492. ELSE bHoReLager.iStatus = 1.
  493. FOR EACH bLotLager
  494. WHERE bLotLager.HoReLager_Id = tHoReLager.HoReLager_Id
  495. AND bLotLager.Artnr = tHoReLager.Artnr
  496. AND bLotLager.Inhalt = tHoReLager.Inhalt:
  497. CREATE tLotLager.
  498. BUFFER-COPY bLotLager
  499. EXCEPT bLotLager.HoReLager_Id
  500. TO tLotLager
  501. ASSIGN
  502. tLotLager.HoReLager_Id = bHoReLager.HoReLager_Id.
  503. DELETE bLotLager.
  504. END.
  505. FOR EACH tLotLager:
  506. CREATE bLotLager.
  507. BUFFER-COPY tLotLager TO bLotLager.
  508. END.
  509. IF bHoReLager.Art = 1 OR
  510. bHoReLager.Art = 3 THEN
  511. DO:
  512. FOR EACH tLotLager NO-LOCK
  513. BREAK BY tLotLager.Firma
  514. BY tLotLager.Artnr
  515. BY tLotLager.Inhalt
  516. BY tLotLager.Jahr :
  517. IF NOT FIRST-OF ( tLotLager.Jahr ) THEN NEXT.
  518. FOR EACH bArtLager
  519. WHERE bArtLager.Firma = tLotLager.Firma
  520. AND bArtLager.Artnr = tLotLager.Artnr
  521. AND bArtLager.Inhalt = tLotLager.Inhalt
  522. AND bArtLager.Jahr = tLotLager.Jahr:
  523. bArtLager.Ort = bHoReLager.cSort.
  524. RELEASE bArtLager.
  525. END.
  526. lFound = TRUE.
  527. END.
  528. IF NOT lFound THEN
  529. DO:
  530. FOR EACH bArtLager
  531. WHERE bArtLager.Firma = bHoReLager.Firma
  532. AND bArtLager.Artnr = iArtnr
  533. AND bArtLager.Inhalt = iInhalt:
  534. /* AND bArtLager.Ort = cLagerort:*/
  535. bArtLager.Ort = bHoReLager.cSort.
  536. END.
  537. END.
  538. END.
  539. LEAVE AA000.
  540. END.
  541. DO WHILE bHoReLager.Artnr > 0:
  542. bHoReLager.Bestand = bHoReLager.Bestand + tHoReLager.Bestand.
  543. IF bHoReLager.Bestand > 0 THEN bHoReLager.iStatus = 2.
  544. ELSE bHoReLager.iStatus = 1.
  545. FOR EACH bLotLager
  546. WHERE bLotLager.HoReLager_Id = tHoReLager.HoReLager_Id
  547. AND bLotLager.Artnr = tHoReLager.Artnr
  548. AND bLotLager.Inhalt = tHoReLager.Inhalt:
  549. CREATE tLotLager.
  550. BUFFER-COPY bLotLager
  551. EXCEPT bLotLager.HoReLager_Id
  552. TO tLotLager
  553. ASSIGN
  554. tLotLager.HoReLager_Id = bHoReLager.HoReLager_Id.
  555. DELETE bLotLager.
  556. END.
  557. FOR EACH tLotLager:
  558. FIND FIRST bLotLager OF tLotLager NO-ERROR.
  559. IF NOT AVAILABLE bLotLager THEN
  560. DO:
  561. CREATE bLotLager.
  562. BUFFER-COPY tLotLager TO bLotLager.
  563. LEAVE AA000.
  564. END.
  565. ASSIGN
  566. bLotLager.Bestand = bLotLager.Bestand + tLotLager.Bestand.
  567. END.
  568. IF bHoReLager.Art = 1 OR
  569. bHoReLager.Art = 3 THEN
  570. DO:
  571. FOR EACH tLotLager NO-LOCK
  572. BREAK BY tLotLager.Firma
  573. BY tLotLager.Artnr
  574. BY tLotLager.Inhalt
  575. BY tLotLager.Jahr :
  576. IF NOT FIRST-OF ( tLotLager.Jahr ) THEN NEXT.
  577. FOR EACH bArtLager
  578. WHERE bArtLager.Firma = tLotLager.Firma
  579. AND bArtLager.Artnr = tLotLager.Artnr
  580. AND bArtLager.Inhalt = tLotLager.Inhalt
  581. AND bArtLager.Jahr = tLotLager.Jahr:
  582. bArtLager.Ort = bHoReLager.cSort.
  583. RELEASE bArtLager.
  584. END.
  585. lFound = TRUE.
  586. END.
  587. IF NOT lFound THEN
  588. DO:
  589. FOR EACH bArtLager
  590. WHERE bArtLager.Firma = bHoReLager.Firma
  591. AND bArtLager.Artnr = iArtnr
  592. AND bArtLager.Inhalt = iInhalt :
  593. /* AND bArtLager.Ort = cLagerort:*/
  594. bArtLager.Ort = bHoReLager.cSort.
  595. END.
  596. END.
  597. END.
  598. LEAVE AA000.
  599. END.
  600. END.
  601. FIND bHoReLager WHERE RECID(bHoReLager) = tHoReLager.rRecid.
  602. ASSIGN
  603. bHoReLager.Artnr = 0
  604. bHoReLager.Inhalt = 0
  605. bHoReLager.Jahr = 0
  606. bHoReLager.Bestand = 0
  607. bHoReLager.iStatus = 0
  608. bHoReLager.Eingang = ?
  609. bHoReLager.Verfall = ?
  610. bHoReLager.Lotnummer = ''.
  611. RELEASE bHoReLager.
  612. RELEASE bLotLager.
  613. RELEASE bArtLager.
  614. LEAVE.
  615. END.
  616. APPLY 'F5' TO BROWSE br_table.
  617. END PROCEDURE.
  618. /* _UIB-CODE-BLOCK-END */
  619. &ANALYZE-RESUME
  620. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject bTableWin
  621. PROCEDURE destroyObject :
  622. /*------------------------------------------------------------------------------*/
  623. /* Purpose: Super Override */
  624. /* Parameters: */
  625. /* Notes: */
  626. /*------------------------------------------------------------------------------*/
  627. DEF VAR hBrowser AS HANDLE NO-UNDO.
  628. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  629. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser, INPUT Sektion ) NO-ERROR.
  630. RUN SUPER.
  631. /* Code placed here will execute AFTER standard behavior. */
  632. END PROCEDURE.
  633. /* _UIB-CODE-BLOCK-END */
  634. &ANALYZE-RESUME
  635. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  636. PROCEDURE disable_UI :
  637. /*------------------------------------------------------------------------------
  638. Purpose: DISABLE the User Interface
  639. Parameters: <none>
  640. Notes: Here we clean-up the user-interface by deleting
  641. dynamic widgets we have created and/or hide
  642. frames. This procedure is usually called when
  643. we are ready to "clean-up" after running.
  644. ------------------------------------------------------------------------------*/
  645. /* Hide all frames. */
  646. HIDE FRAME F-Main.
  647. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  648. END PROCEDURE.
  649. /* _UIB-CODE-BLOCK-END */
  650. &ANALYZE-RESUME
  651. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EINGABE_LAGER bTableWin
  652. PROCEDURE EINGABE_LAGER :
  653. /*------------------------------------------------------------------------------*/
  654. /* Purpose: Super Override */
  655. /* Parameters: */
  656. /* Notes: */
  657. /*------------------------------------------------------------------------------*/
  658. DEFINE VARIABLE rHoReLager AS RECID NO-UNDO.
  659. DEFINE VARIABLE cLager AS CHARACTER NO-UNDO.
  660. DEFINE VARIABLE cRegal AS CHARACTER NO-UNDO.
  661. DEFINE VARIABLE cNiveau AS CHARACTER NO-UNDO.
  662. DEFINE VARIABLE cPlatz AS CHARACTER NO-UNDO.
  663. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  664. DEFINE VARIABLE iLager AS INTEGER NO-UNDO.
  665. DEFINE VARIABLE iArt AS INTEGER NO-UNDO.
  666. DEFINE BUFFER bHoReLager FOR HoReLager.
  667. iArt = DYNAMIC-FUNCTION('getLagerart':U IN hFenster) NO-ERROR.
  668. iLager = DYNAMIC-FUNCTION('getLager':U IN hFenster) NO-ERROR.
  669. RUN g-einlesen-text.w ( 'Eingabe Lagerplatz', 'Lagerplatz', TRUE, INPUT-OUTPUT cLager ) NO-ERROR.
  670. IF cLager = '' THEN RETURN NO-APPLY.
  671. cLager = REPLACE (cLager, '.', '-').
  672. cLager = REPLACE (cLager, ',', '-').
  673. cLager = REPLACE (cLager, '/', '-').
  674. DO ii = 1 TO NUM-ENTRIES (cLager, '-'):
  675. CASE ii:
  676. WHEN 1 THEN
  677. cRegal = ENTRY(ii, cLager, '-').
  678. WHEN 2 THEN
  679. cPlatz = ENTRY(ii, cLager, '-').
  680. WHEN 3 THEN
  681. cNiveau = ENTRY(ii, cLager, '-').
  682. END CASE.
  683. END.
  684. DO WHILE cPlatz <> '' AND LENGTH(cPlatz) < 3:
  685. cPlatz = '0' + cPlatz.
  686. END.
  687. DO WHILE cNiveau <> '' AND LENGTH(cNiveau) < 2:
  688. cNiveau = '0' + cNiveau.
  689. END.
  690. FIND FIRST bHoReLager
  691. WHERE bHoReLager.Firma = Firma
  692. AND bHoReLager.Lager = iLager
  693. AND bHoReLager.Art = iArt
  694. AND bHoReLager.Regal = cRegal
  695. AND ((cPlatz = '')
  696. OR (cPlatz <> '' AND
  697. bHoReLager.Platz = cPlatz ))
  698. AND ((cNiveau = '')
  699. OR (cNiveau <> '' AND
  700. bHoReLager.Niveau = cNiveau )) NO-ERROR.
  701. IF AVAILABLE bHoReLager THEN
  702. DO:
  703. DYNAMIC-FUNCTION ('fetchRowIdent':U IN hDaten, STRING(ROWID(bHoReLager)), ? ) NO-ERROR.
  704. PUBLISH 'HORELAGER' ( bHoReLager.Artnr, bHoReLager.Inhalt, bHoReLager.Jahr ).
  705. RETURN NO-APPLY.
  706. END.
  707. FIND FIRST bHoReLager
  708. WHERE bHoReLager.Firma = Firma
  709. AND bHoReLager.Lager = iLager
  710. AND bHoReLager.Regal = cRegal
  711. AND ((cPlatz = '')
  712. OR (cPlatz <> '' AND
  713. bHoReLager.Platz = cPlatz ))
  714. AND ((cNiveau = '')
  715. OR (cNiveau <> '' AND
  716. bHoReLager.Niveau = cNiveau )) NO-ERROR.
  717. IF NOT AVAILABLE bHoReLager THEN RETURN NO-APPLY.
  718. rHoReLager = RECID(bHoReLager).
  719. DYNAMIC-FUNCTION ('setLagerArt':U IN hFenster, bHoReLager.Art) NO-ERROR.
  720. FIND bHoReLager NO-LOCK WHERE RECID(bHoReLager) = rHoReLager.
  721. DYNAMIC-FUNCTION ('fetchRowIdent':U IN hDaten, STRING(ROWID(bHoReLager)), ? ) NO-ERROR.
  722. PUBLISH 'HORELAGER' ( bHoReLager.Artnr, bHoReLager.Inhalt, bHoReLager.Jahr ).
  723. RELEASE bHoReLager.
  724. END PROCEDURE.
  725. /* _UIB-CODE-BLOCK-END */
  726. &ANALYZE-RESUME
  727. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE bTableWin
  728. PROCEDURE ENTRY_BROWSE :
  729. /*------------------------------------------------------------------------------*/
  730. /* Purpose: Super Override */
  731. /* Parameters: */
  732. /* Notes: */
  733. /*------------------------------------------------------------------------------*/
  734. APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
  735. RETURN NO-APPLY.
  736. END PROCEDURE.
  737. /* _UIB-CODE-BLOCK-END */
  738. &ANALYZE-RESUME
  739. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FINDEN_ARTIKEL bTableWin
  740. PROCEDURE FINDEN_ARTIKEL :
  741. /*------------------------------------------------------------------------------*/
  742. /* Purpose: Super Override */
  743. /* Parameters: */
  744. /* Notes: */
  745. /*------------------------------------------------------------------------------*/
  746. DEFINE VARIABLE cArtnr AS CHARACTER NO-UNDO.
  747. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
  748. DEFINE VARIABLE iInhalt AS INTEGER NO-UNDO.
  749. DEFINE VARIABLE iJahr AS INTEGER NO-UNDO.
  750. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  751. DEFINE VARIABLE iLager AS INTEGER NO-UNDO.
  752. DEFINE VARIABLE iArt AS INTEGER NO-UNDO.
  753. DEFINE BUFFER bHoReLager FOR HoReLager.
  754. iArt = DYNAMIC-FUNCTION('getLagerart':U IN hFenster) NO-ERROR.
  755. iLager = DYNAMIC-FUNCTION('getLager':U IN hFenster) NO-ERROR.
  756. DO WHILE TRUE:
  757. RUN g-einlesen-text.w ( 'Eingabe Artikelnummer', 'Artikelnummer', TRUE, INPUT-OUTPUT cArtnr ) NO-ERROR.
  758. IF cArtnr = '' THEN RETURN NO-APPLY.
  759. cArtnr = REPLACE(cArtnr, '/', '.').
  760. cArtnr = REPLACE(cArtnr, '-', '.').
  761. cArtnr = REPLACE(cArtnr, ',', '.').
  762. ASSIGN
  763. iArtnr = 0
  764. iInhalt = 0
  765. iJahr = 0.
  766. DO ii = 1 TO NUM-ENTRIES(cArtnr, '.').
  767. CASE ii:
  768. WHEN 1 THEN
  769. DO:
  770. iArtnr = INTEGER(ENTRY(ii, cArtnr)) NO-ERROR.
  771. IF ERROR-STATUS:ERROR THEN NEXT.
  772. END.
  773. WHEN 2 THEN
  774. DO:
  775. iInhalt = INTEGER(ENTRY(ii, cArtnr)) NO-ERROR.
  776. IF ERROR-STATUS:ERROR THEN NEXT.
  777. END.
  778. WHEN 3 THEN
  779. DO:
  780. iJahr = INTEGER(ENTRY(ii, cArtnr)) NO-ERROR.
  781. IF ERROR-STATUS:ERROR THEN NEXT.
  782. END.
  783. END.
  784. END.
  785. FIND FIRST bHoReLager NO-LOCK
  786. WHERE bHoReLager.Firma = Firma
  787. AND bHoReLager.Lager = iLager
  788. AND bHoReLager.Art = iArt
  789. AND bHoReLager.Artnr = iArtnr
  790. AND ((iInhalt = 0)
  791. OR (iInhalt > 0 AND
  792. bHoReLager.Inhalt = iInhalt))
  793. AND ((iJahr = 0)
  794. OR (iJahr > 0 AND
  795. bHoReLager.Jahr = iJahr)) NO-ERROR.
  796. IF NOT AVAILABLE bHoReLager THEN LEAVE.
  797. DYNAMIC-FUNCTION ('fetchRowIdent':U IN hDaten, STRING(ROWID(bHoReLager)), ?) NO-ERROR.
  798. LEAVE.
  799. END.
  800. PUBLISH 'HORELAGER' ( iArtnr, iInhalt, iJahr ).
  801. RETURN NO-APPLY.
  802. END PROCEDURE.
  803. /* _UIB-CODE-BLOCK-END */
  804. &ANALYZE-RESUME
  805. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin
  806. PROCEDURE initializeObject :
  807. /*------------------------------------------------------------------------------*/
  808. /* Purpose: Super Override */
  809. /* Parameters: */
  810. /* Notes: */
  811. /*------------------------------------------------------------------------------*/
  812. { incl/brwinitialize.i }
  813. END PROCEDURE.
  814. /* _UIB-CODE-BLOCK-END */
  815. &ANALYZE-RESUME
  816. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LAGERPLATZ_ETIKETTE bTableWin
  817. PROCEDURE LAGERPLATZ_ETIKETTE :
  818. /*------------------------------------------------------------------------------
  819. Purpose:
  820. Notes:
  821. ------------------------------------------------------------------------------*/
  822. DEFINE VARIABLE rHoReLager AS RECID NO-UNDO.
  823. DEFINE VARIABLE cEtiDatei AS CHARACTER NO-UNDO.
  824. DEFINE BUFFER bHoReLager FOR HoReLager.
  825. rHoReLager = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR.
  826. IF rHoReLager = ? OR
  827. rHoReLager = 0 THEN RETURN NO-APPLY.
  828. FIND bHoReLager NO-LOCK WHERE RECID(bHoReLager) = rHoReLager.
  829. cEtiDatei = DYNAMIC-FUNCTION ('getFehlwert':U, Firma, 'LAGERETIKETTE') NO-ERROR.
  830. IF cEtiDatei = ? OR
  831. cEtiDatei = '' THEN
  832. DO:
  833. DYNAMIC-FUNCTION ('fehlerMeldung':U, 1122, cEtiDatei).
  834. RETURN NO-APPLY.
  835. END.
  836. cEtiDatei = SUBSTITUTE(cEtiDatei, STRING(TIME) ).
  837. OUTPUT TO VALUE(cEtiDatei) NO-MAP NO-CONVERT.
  838. PUT CONTROL 'Lagerplatz' CHR(10).
  839. PUT CONTROL bHoReLager.cSort CHR(10).
  840. OUTPUT CLOSE.
  841. RETURN NO-APPLY.
  842. END PROCEDURE.
  843. /* _UIB-CODE-BLOCK-END */
  844. &ANALYZE-RESUME
  845. /* ************************ Function Implementations ***************** */
  846. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin
  847. FUNCTION setZeilenfarbe RETURNS LOGICAL
  848. ( ipFarbe AS INT ) :
  849. /*------------------------------------------------------------------------------
  850. Purpose:
  851. Notes:
  852. ------------------------------------------------------------------------------*/
  853. { incl/brwsetzeilenfarbe.i }
  854. END FUNCTION.
  855. /* _UIB-CODE-BLOCK-END */
  856. &ANALYZE-RESUME