w-lagerort-scan.w 55 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME wLagerOrtStrichcode
  7. {adecomm/appserv.i}
  8. /* Temp-Table and Buffer definitions */
  9. DEFINE TEMP-TABLE tArtbw NO-UNDO LIKE Artbw
  10. FIELD KGebinde AS CHAR
  11. FIELD KGeb_Inh AS INT
  12. .
  13. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wLagerOrtStrichcode
  14. /*------------------------------------------------------------------------
  15. File:
  16. Description: from cntnrwin.w - ADM SmartWindow Template
  17. Input Parameters:
  18. <none>
  19. Output Parameters:
  20. <none>
  21. History: New V9 Version - January 15, 1998
  22. ------------------------------------------------------------------------*/
  23. /* This .W file was created with the Progress AB. */
  24. /*----------------------------------------------------------------------*/
  25. /* Create an unnamed pool to store all the widgets created
  26. by this procedure. This is a good default which assures
  27. that this procedure's triggers and internal procedures
  28. will execute in this procedure's storage, and that proper
  29. cleanup will occur on deletion of the procedure. */
  30. CREATE WIDGET-POOL.
  31. /* *************************** Definitions ************************** */
  32. /* Parameters Definitions --- */
  33. /* Local Variable Definitions --- */
  34. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  35. DEF VAR VArtnr AS INT NO-UNDO.
  36. DEF VAR VInhalt AS INT NO-UNDO.
  37. DEF VAR VJahr AS INT NO-UNDO.
  38. DEF VAR ARecid AS RECID NO-UNDO.
  39. DEF VAR LRecid AS RECID NO-UNDO.
  40. DEF VAR iLager AS INT NO-UNDO.
  41. DEF VAR iDatum AS DATE NO-UNDO.
  42. DEF VAR cFeld AS CHAR NO-UNDO.
  43. DEF VAR cAusnahme AS CHAR NO-UNDO
  44. INIT 'Btn_Cancel,CB_Datum,CB_Lager,T_Strichcode,Btn_1,Btn_2,Btn_3,Btn_4,Btn_5,~
  45. Btn_6,Btn_7,Btn_8,Btn_9,Btn_10,Btn_Clear,Btn_Minus,Btn_Search'.
  46. DEF VAR hFeld AS HANDLE NO-UNDO.
  47. DEF VAR cGGeb_SC AS CHAR NO-UNDO.
  48. DEF VAR cVGeb_SC AS CHAR NO-UNDO.
  49. DEF VAR cKGeb_SC AS CHAR NO-UNDO.
  50. DEF VAR iKnr AS INT NO-UNDO.
  51. DEF BUFFER BArtst FOR Artst.
  52. DEF BUFFER BArtbez FOR Artbez .
  53. DEF BUFFER BKGebinde FOR KGebinde.
  54. DEF BUFFER BVGebinde FOR VGebinde.
  55. DEF BUFFER BGGebinde FOR GGebinde.
  56. { incl/windefinition.i }
  57. {src/adm2/widgetprto.i}
  58. /* _UIB-CODE-BLOCK-END */
  59. &ANALYZE-RESUME
  60. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  61. /* ******************** Preprocessor Definitions ******************** */
  62. &Scoped-define PROCEDURE-TYPE SmartWindow
  63. &Scoped-define DB-AWARE no
  64. &Scoped-define ADM-CONTAINER WINDOW
  65. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  66. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  67. &Scoped-define FRAME-NAME fMain
  68. /* Standard List Definitions */
  69. &Scoped-Define ENABLED-OBJECTS CB_Lager Btn_Search F_Strichcode F_Artnr ~
  70. F_Inhalt F_Jahr T_Strichcode F_Ort F_KGebinde_SC F_VGebinde_SC ~
  71. F_GGebinde_SC F_Bezeichnung Btn_OK Btn_Cancel F_Kleingebinde Btn_1 Btn_2 ~
  72. Btn_3 Btn_4 Btn_5 Btn_6 Btn_7 Btn_8 Btn_9 Btn_10 Btn_Clear Btn_Enter ~
  73. Btn_Minus F_Bestand RECT-43
  74. &Scoped-Define DISPLAYED-OBJECTS CB_Lager F_Strichcode F_Artnr F_Inhalt ~
  75. F_Jahr T_Strichcode F_Ort F_KGebinde_SC F_VGebinde_SC F_GGebinde_SC ~
  76. F_Bezeichnung F_Kleingebinde F_Bestand
  77. /* Custom List Definitions */
  78. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  79. &Scoped-define List-5 F_Strichcode F_Artnr F_Inhalt F_Jahr F_KGebinde_SC ~
  80. F_VGebinde_SC F_GGebinde_SC F_Bezeichnung F_Kleingebinde F_Bestand
  81. &Scoped-define List-6 F_Ort F_KGebinde_SC F_VGebinde_SC F_GGebinde_SC
  82. /* _UIB-PREPROCESSOR-BLOCK-END */
  83. &ANALYZE-RESUME
  84. /* ************************ Function Prototypes ********************** */
  85. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getProgname wLagerOrtStrichcode
  86. FUNCTION getProgname RETURNS CHARACTER
  87. ( /* parameter-definitions */ ) FORWARD.
  88. /* _UIB-CODE-BLOCK-END */
  89. &ANALYZE-RESUME
  90. /* *********************** Control Definitions ********************** */
  91. /* Define the widget handle for the window */
  92. DEFINE VAR wLagerOrtStrichcode AS WIDGET-HANDLE NO-UNDO.
  93. /* Definitions of the field level widgets */
  94. DEFINE BUTTON Btn_1
  95. LABEL "1"
  96. SIZE 8 BY 1.52.
  97. DEFINE BUTTON Btn_10
  98. LABEL "0"
  99. SIZE 8 BY 1.52.
  100. DEFINE BUTTON Btn_2
  101. LABEL "2"
  102. SIZE 8 BY 1.52.
  103. DEFINE BUTTON Btn_3
  104. LABEL "3"
  105. SIZE 8 BY 1.52.
  106. DEFINE BUTTON Btn_4
  107. LABEL "4"
  108. SIZE 8 BY 1.52.
  109. DEFINE BUTTON Btn_5
  110. LABEL "5"
  111. SIZE 8 BY 1.52.
  112. DEFINE BUTTON Btn_6
  113. LABEL "6"
  114. SIZE 8 BY 1.52.
  115. DEFINE BUTTON Btn_7
  116. LABEL "7"
  117. SIZE 8 BY 1.52.
  118. DEFINE BUTTON Btn_8
  119. LABEL "8"
  120. SIZE 8 BY 1.52.
  121. DEFINE BUTTON Btn_9
  122. LABEL "9"
  123. SIZE 8 BY 1.52.
  124. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  125. LABEL "Abbrechen"
  126. SIZE 15 BY 1.14.
  127. DEFINE BUTTON Btn_Clear
  128. LABEL "CL"
  129. SIZE 8 BY 1.52.
  130. DEFINE BUTTON Btn_Enter
  131. LABEL "TAB"
  132. SIZE 24 BY 1.52.
  133. DEFINE BUTTON Btn_Minus
  134. LABEL "--"
  135. SIZE 8 BY 1.52.
  136. DEFINE BUTTON Btn_OK
  137. LABEL "Speichern"
  138. SIZE 15 BY 1.14.
  139. DEFINE BUTTON Btn_Search DEFAULT
  140. IMAGE-UP FILE "grafik/select.bmp":U
  141. IMAGE-DOWN FILE "grafik/select.bmp":U
  142. LABEL "Button 1"
  143. SIZE 8 BY 1.52.
  144. DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U INITIAL "00"
  145. LABEL "Lager"
  146. VIEW-AS COMBO-BOX INNER-LINES 5
  147. LIST-ITEM-PAIRS "Lager (00)","00",
  148. "Lager (01)","01"
  149. DROP-DOWN-LIST
  150. SIZE 25 BY 1 NO-UNDO.
  151. DEFINE VARIABLE F_Artnr AS CHARACTER FORMAT "x(30)":U
  152. LABEL "Artnr / Inhalt / Jahr"
  153. VIEW-AS FILL-IN NATIVE
  154. SIZE 14 BY 1
  155. BGCOLOR 15 NO-UNDO.
  156. DEFINE VARIABLE F_Bestand AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
  157. LABEL "Bestand"
  158. VIEW-AS FILL-IN NATIVE
  159. SIZE 14 BY 1
  160. BGCOLOR 15 NO-UNDO.
  161. DEFINE VARIABLE F_Bezeichnung AS CHARACTER FORMAT "X(256)":U
  162. LABEL "Artikel"
  163. VIEW-AS FILL-IN NATIVE
  164. SIZE 60 BY 1
  165. BGCOLOR 15 NO-UNDO.
  166. DEFINE VARIABLE F_GGebinde_SC AS CHARACTER FORMAT "X(256)":U
  167. LABEL "Strichcode GGeb"
  168. VIEW-AS FILL-IN NATIVE
  169. SIZE 60 BY 1
  170. BGCOLOR 15 NO-UNDO.
  171. DEFINE VARIABLE F_Inhalt AS INTEGER FORMAT "9999":U INITIAL 0
  172. LABEL "/"
  173. VIEW-AS FILL-IN NATIVE
  174. SIZE 8 BY 1
  175. BGCOLOR 15 NO-UNDO.
  176. DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999":U INITIAL 0
  177. LABEL "/"
  178. VIEW-AS FILL-IN NATIVE
  179. SIZE 8 BY 1
  180. BGCOLOR 15 NO-UNDO.
  181. DEFINE VARIABLE F_KGebinde_SC AS CHARACTER FORMAT "X(256)":U
  182. LABEL "Strichcode KGeb"
  183. VIEW-AS FILL-IN NATIVE
  184. SIZE 60 BY 1
  185. BGCOLOR 15 NO-UNDO.
  186. DEFINE VARIABLE F_Kleingebinde AS CHARACTER FORMAT "X(256)":U
  187. LABEL "Kleingebinde"
  188. VIEW-AS FILL-IN NATIVE
  189. SIZE 60 BY 1
  190. BGCOLOR 15 NO-UNDO.
  191. DEFINE VARIABLE F_Ort AS CHARACTER FORMAT "x(15)":U
  192. LABEL "Lagerort"
  193. VIEW-AS FILL-IN NATIVE
  194. SIZE 20 BY 1
  195. BGCOLOR 15 NO-UNDO.
  196. DEFINE VARIABLE F_Strichcode AS CHARACTER FORMAT "X(256)":U
  197. LABEL "Strichcode"
  198. VIEW-AS FILL-IN NATIVE
  199. SIZE 60 BY 1
  200. BGCOLOR 15 NO-UNDO.
  201. DEFINE VARIABLE F_VGebinde_SC AS CHARACTER FORMAT "X(256)":U
  202. LABEL "Strichcode VGeb"
  203. VIEW-AS FILL-IN NATIVE
  204. SIZE 60 BY 1
  205. BGCOLOR 15 NO-UNDO.
  206. DEFINE RECTANGLE RECT-43
  207. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  208. SIZE 168 BY 12.38.
  209. DEFINE VARIABLE T_Strichcode AS LOGICAL INITIAL no
  210. LABEL "Strichcode"
  211. VIEW-AS TOGGLE-BOX
  212. SIZE 20 BY 1.52 NO-UNDO.
  213. /* ************************ Frame Definitions *********************** */
  214. DEFINE FRAME fMain
  215. CB_Lager AT ROW 1.52 COL 20 COLON-ALIGNED WIDGET-ID 2
  216. Btn_Search AT ROW 1.52 COL 120 WIDGET-ID 74
  217. F_Strichcode AT ROW 4.52 COL 20 COLON-ALIGNED WIDGET-ID 8
  218. F_Artnr AT ROW 5.52 COL 20 COLON-ALIGNED WIDGET-ID 10
  219. F_Inhalt AT ROW 5.52 COL 38 COLON-ALIGNED WIDGET-ID 12
  220. F_Jahr AT ROW 5.52 COL 50 COLON-ALIGNED WIDGET-ID 14
  221. T_Strichcode AT ROW 1.52 COL 50 WIDGET-ID 6 NO-TAB-STOP
  222. F_Ort AT ROW 8 COL 20 COLON-ALIGNED WIDGET-ID 28
  223. F_KGebinde_SC AT ROW 8 COL 67 COLON-ALIGNED WIDGET-ID 60
  224. F_VGebinde_SC AT ROW 9 COL 67 COLON-ALIGNED WIDGET-ID 64
  225. F_GGebinde_SC AT ROW 10 COL 67 COLON-ALIGNED WIDGET-ID 66
  226. F_Bezeichnung AT ROW 5.48 COL 67 COLON-ALIGNED WIDGET-ID 16 NO-TAB-STOP
  227. Btn_OK AT ROW 11.52 COL 20.2 WIDGET-ID 34
  228. Btn_Cancel AT ROW 11.52 COL 69 WIDGET-ID 36
  229. F_Kleingebinde AT ROW 6.52 COL 67 COLON-ALIGNED WIDGET-ID 18 NO-TAB-STOP
  230. Btn_1 AT ROW 1.52 COL 140 WIDGET-ID 38 NO-TAB-STOP
  231. Btn_2 AT ROW 1.52 COL 148 WIDGET-ID 40 NO-TAB-STOP
  232. Btn_3 AT ROW 1.52 COL 156 WIDGET-ID 42 NO-TAB-STOP
  233. Btn_4 AT ROW 3 COL 140 WIDGET-ID 44 NO-TAB-STOP
  234. Btn_5 AT ROW 3 COL 148 WIDGET-ID 46 NO-TAB-STOP
  235. Btn_6 AT ROW 3 COL 156 WIDGET-ID 48 NO-TAB-STOP
  236. Btn_7 AT ROW 4.52 COL 140 WIDGET-ID 50 NO-TAB-STOP
  237. Btn_8 AT ROW 4.52 COL 148 WIDGET-ID 52 NO-TAB-STOP
  238. Btn_9 AT ROW 4.52 COL 156 WIDGET-ID 54 NO-TAB-STOP
  239. Btn_10 AT ROW 6 COL 140 WIDGET-ID 56 NO-TAB-STOP
  240. Btn_Clear AT ROW 6 COL 156 WIDGET-ID 58 NO-TAB-STOP
  241. Btn_Enter AT ROW 7.52 COL 140 WIDGET-ID 68 NO-TAB-STOP
  242. Btn_Minus AT ROW 6 COL 148 WIDGET-ID 70 NO-TAB-STOP
  243. F_Bestand AT ROW 10 COL 20 COLON-ALIGNED WIDGET-ID 76 NO-TAB-STOP
  244. RECT-43 AT ROW 1.24 COL 2 WIDGET-ID 62
  245. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  246. SIDE-LABELS NO-UNDERLINE THREE-D
  247. AT COL 1 ROW 1
  248. SIZE 170 BY 12.86 WIDGET-ID 100.
  249. /* *********************** Procedure Settings ************************ */
  250. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  251. /* Settings for THIS-PROCEDURE
  252. Type: SmartWindow
  253. Allow: Basic,Browse,DB-Fields,Query,Smart,Window
  254. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  255. Other Settings: COMPILE APPSERVER
  256. Temp-Tables and Buffers:
  257. TABLE: tArtbw T "?" NO-UNDO AnaDat Artbw
  258. ADDITIONAL-FIELDS:
  259. FIELD KGebinde AS CHAR
  260. FIELD KGeb_Inh AS INT
  261. END-FIELDS.
  262. END-TABLES.
  263. */
  264. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  265. /* ************************* Create Window ************************** */
  266. &ANALYZE-SUSPEND _CREATE-WINDOW
  267. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  268. CREATE WINDOW wLagerOrtStrichcode ASSIGN
  269. HIDDEN = YES
  270. TITLE = "Lagerort und Strichcode aufnehmen"
  271. HEIGHT = 12.95
  272. WIDTH = 170
  273. MAX-HEIGHT = 48.48
  274. MAX-WIDTH = 384
  275. VIRTUAL-HEIGHT = 48.48
  276. VIRTUAL-WIDTH = 384
  277. RESIZE = no
  278. SCROLL-BARS = no
  279. STATUS-AREA = no
  280. BGCOLOR = ?
  281. FGCOLOR = ?
  282. THREE-D = yes
  283. MESSAGE-AREA = no
  284. SENSITIVE = yes.
  285. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  286. &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN
  287. IF NOT wLagerOrtStrichcode:LOAD-ICON("grafik/appl.ico":U) THEN
  288. MESSAGE "Unable to load icon: grafik/appl.ico"
  289. VIEW-AS ALERT-BOX WARNING BUTTONS OK.
  290. &ENDIF
  291. /* END WINDOW DEFINITION */
  292. &ANALYZE-RESUME
  293. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wLagerOrtStrichcode
  294. /* ************************* Included-Libraries *********************** */
  295. {src/adm2/containr.i}
  296. /* _UIB-CODE-BLOCK-END */
  297. &ANALYZE-RESUME
  298. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  299. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  300. /* SETTINGS FOR WINDOW wLagerOrtStrichcode
  301. VISIBLE,,RUN-PERSISTENT */
  302. /* SETTINGS FOR FRAME fMain
  303. FRAME-NAME Custom */
  304. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME fMain
  305. 5 */
  306. /* SETTINGS FOR FILL-IN F_Bestand IN FRAME fMain
  307. 5 */
  308. ASSIGN
  309. F_Bestand:READ-ONLY IN FRAME fMain = TRUE.
  310. /* SETTINGS FOR FILL-IN F_Bezeichnung IN FRAME fMain
  311. 5 */
  312. ASSIGN
  313. F_Bezeichnung:READ-ONLY IN FRAME fMain = TRUE.
  314. /* SETTINGS FOR FILL-IN F_GGebinde_SC IN FRAME fMain
  315. 5 6 */
  316. /* SETTINGS FOR FILL-IN F_Inhalt IN FRAME fMain
  317. 5 */
  318. /* SETTINGS FOR FILL-IN F_Jahr IN FRAME fMain
  319. 5 */
  320. /* SETTINGS FOR FILL-IN F_KGebinde_SC IN FRAME fMain
  321. 5 6 */
  322. /* SETTINGS FOR FILL-IN F_Kleingebinde IN FRAME fMain
  323. 5 */
  324. ASSIGN
  325. F_Kleingebinde:READ-ONLY IN FRAME fMain = TRUE.
  326. /* SETTINGS FOR FILL-IN F_Ort IN FRAME fMain
  327. 6 */
  328. /* SETTINGS FOR FILL-IN F_Strichcode IN FRAME fMain
  329. 5 */
  330. /* SETTINGS FOR FILL-IN F_VGebinde_SC IN FRAME fMain
  331. 5 6 */
  332. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wLagerOrtStrichcode)
  333. THEN wLagerOrtStrichcode:HIDDEN = yes.
  334. /* _RUN-TIME-ATTRIBUTES-END */
  335. &ANALYZE-RESUME
  336. /* ************************ Control Triggers ************************ */
  337. &Scoped-define SELF-NAME wLagerOrtStrichcode
  338. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wLagerOrtStrichcode wLagerOrtStrichcode
  339. ON END-ERROR OF wLagerOrtStrichcode /* Lagerort und Strichcode aufnehmen */
  340. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
  341. /* This case occurs when the user presses the "Esc" key.
  342. In a persistently run window, just ignore this. If we did not, the
  343. application would exit. */
  344. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  345. /* ****************************** */
  346. /*
  347. RUN ENDE.
  348. */
  349. RETURN NO-APPLY.
  350. /* ****************************** */
  351. END.
  352. /* _UIB-CODE-BLOCK-END */
  353. &ANALYZE-RESUME
  354. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wLagerOrtStrichcode wLagerOrtStrichcode
  355. ON WINDOW-CLOSE OF wLagerOrtStrichcode /* Lagerort und Strichcode aufnehmen */
  356. DO:
  357. /* This ADM code must be left here in order for the SmartWindow
  358. and its descendents to terminate properly on exit. */
  359. RUN ENDE.
  360. RETURN NO-APPLY.
  361. END.
  362. /* _UIB-CODE-BLOCK-END */
  363. &ANALYZE-RESUME
  364. &Scoped-define SELF-NAME Btn_1
  365. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_1 wLagerOrtStrichcode
  366. ON CHOOSE OF Btn_1 IN FRAME fMain /* 1 */
  367. DO:
  368. DEF VAR hFocus AS HANDLE NO-UNDO.
  369. DEF VAR iWert AS DEC NO-UNDO.
  370. DO WHILE TRUE:
  371. hFocus = hFeld.
  372. iWert = DECIMAL(hFocus:SCREEN-VALUE) NO-ERROR.
  373. IF ERROR-STATUS:ERROR THEN LEAVE.
  374. iWert = (iWert * 10) + 1.
  375. hFocus:SCREEN-VALUE = TRIM(STRING(iWert,'>>>>>>>>>>>>>>>>>>>>')).
  376. LEAVE.
  377. END.
  378. APPLY 'ENTRY' TO hFOCUS.
  379. RETURN NO-APPLY.
  380. END.
  381. /* _UIB-CODE-BLOCK-END */
  382. &ANALYZE-RESUME
  383. &Scoped-define SELF-NAME Btn_10
  384. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_10 wLagerOrtStrichcode
  385. ON CHOOSE OF Btn_10 IN FRAME fMain /* 0 */
  386. DO:
  387. DEF VAR hFocus AS HANDLE NO-UNDO.
  388. DEF VAR iWert AS DEC NO-UNDO.
  389. DO WHILE TRUE:
  390. hFocus = hFeld.
  391. iWert = DECIMAL(hFocus:SCREEN-VALUE) NO-ERROR.
  392. IF ERROR-STATUS:ERROR THEN LEAVE.
  393. iWert = (iWert * 10) + 0.
  394. hFocus:SCREEN-VALUE = TRIM(STRING(iWert,'>>>>>>>>>>>>>>>>>>>>')).
  395. LEAVE.
  396. END.
  397. APPLY 'ENTRY' TO hFOCUS.
  398. RETURN NO-APPLY.
  399. END.
  400. /* _UIB-CODE-BLOCK-END */
  401. &ANALYZE-RESUME
  402. &Scoped-define SELF-NAME Btn_2
  403. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_2 wLagerOrtStrichcode
  404. ON CHOOSE OF Btn_2 IN FRAME fMain /* 2 */
  405. DO:
  406. DEF VAR hFocus AS HANDLE NO-UNDO.
  407. DEF VAR iWert AS DEC NO-UNDO.
  408. DO WHILE TRUE:
  409. hFocus = hFeld.
  410. iWert = DECIMAL(hFocus:SCREEN-VALUE) NO-ERROR.
  411. IF ERROR-STATUS:ERROR THEN LEAVE.
  412. iWert = (iWert * 10) + 2.
  413. hFocus:SCREEN-VALUE = TRIM(STRING(iWert,'>>>>>>>>>>>>>>>>>>>>')).
  414. LEAVE.
  415. END.
  416. APPLY 'ENTRY' TO hFOCUS.
  417. RETURN NO-APPLY.
  418. END.
  419. /* _UIB-CODE-BLOCK-END */
  420. &ANALYZE-RESUME
  421. &Scoped-define SELF-NAME Btn_3
  422. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_3 wLagerOrtStrichcode
  423. ON CHOOSE OF Btn_3 IN FRAME fMain /* 3 */
  424. DO:
  425. DEF VAR hFocus AS HANDLE NO-UNDO.
  426. DEF VAR iWert AS DEC NO-UNDO.
  427. DO WHILE TRUE:
  428. hFocus = hFeld.
  429. iWert = DECIMAL(hFocus:SCREEN-VALUE) NO-ERROR.
  430. IF ERROR-STATUS:ERROR THEN LEAVE.
  431. iWert = (iWert * 10) + 3.
  432. hFocus:SCREEN-VALUE = TRIM(STRING(iWert,'>>>>>>>>>>>>>>>>>>>>')).
  433. LEAVE.
  434. END.
  435. APPLY 'ENTRY' TO hFOCUS.
  436. RETURN NO-APPLY.
  437. END.
  438. /* _UIB-CODE-BLOCK-END */
  439. &ANALYZE-RESUME
  440. &Scoped-define SELF-NAME Btn_4
  441. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_4 wLagerOrtStrichcode
  442. ON CHOOSE OF Btn_4 IN FRAME fMain /* 4 */
  443. DO:
  444. DEF VAR hFocus AS HANDLE NO-UNDO.
  445. DEF VAR iWert AS DEC NO-UNDO.
  446. DO WHILE TRUE:
  447. hFocus = hFeld.
  448. iWert = DECIMAL(hFocus:SCREEN-VALUE) NO-ERROR.
  449. IF ERROR-STATUS:ERROR THEN LEAVE.
  450. iWert = (iWert * 10) + 4.
  451. hFocus:SCREEN-VALUE = TRIM(STRING(iWert,'>>>>>>>>>>>>>>>>>>>>')).
  452. LEAVE.
  453. END.
  454. APPLY 'ENTRY' TO hFOCUS.
  455. RETURN NO-APPLY.
  456. END.
  457. /* _UIB-CODE-BLOCK-END */
  458. &ANALYZE-RESUME
  459. &Scoped-define SELF-NAME Btn_5
  460. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_5 wLagerOrtStrichcode
  461. ON CHOOSE OF Btn_5 IN FRAME fMain /* 5 */
  462. DO:
  463. DEF VAR hFocus AS HANDLE NO-UNDO.
  464. DEF VAR iWert AS DEC NO-UNDO.
  465. DO WHILE TRUE:
  466. hFocus = hFeld.
  467. iWert = DECIMAL(hFocus:SCREEN-VALUE) NO-ERROR.
  468. IF ERROR-STATUS:ERROR THEN LEAVE.
  469. iWert = (iWert * 10) + 5.
  470. hFocus:SCREEN-VALUE = TRIM(STRING(iWert,'>>>>>>>>>>>>>>>>>>>>')).
  471. LEAVE.
  472. END.
  473. APPLY 'ENTRY' TO hFOCUS.
  474. RETURN NO-APPLY.
  475. END.
  476. /* _UIB-CODE-BLOCK-END */
  477. &ANALYZE-RESUME
  478. &Scoped-define SELF-NAME Btn_6
  479. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_6 wLagerOrtStrichcode
  480. ON CHOOSE OF Btn_6 IN FRAME fMain /* 6 */
  481. DO:
  482. DEF VAR hFocus AS HANDLE NO-UNDO.
  483. DEF VAR iWert AS DEC NO-UNDO.
  484. DO WHILE TRUE:
  485. hFocus = hFeld.
  486. iWert = DECIMAL(hFocus:SCREEN-VALUE) NO-ERROR.
  487. IF ERROR-STATUS:ERROR THEN LEAVE.
  488. iWert = (iWert * 10) + 6.
  489. hFocus:SCREEN-VALUE = TRIM(STRING(iWert,'>>>>>>>>>>>>>>>>>>>>')).
  490. LEAVE.
  491. END.
  492. APPLY 'ENTRY' TO hFOCUS.
  493. RETURN NO-APPLY.
  494. END.
  495. /* _UIB-CODE-BLOCK-END */
  496. &ANALYZE-RESUME
  497. &Scoped-define SELF-NAME Btn_7
  498. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_7 wLagerOrtStrichcode
  499. ON CHOOSE OF Btn_7 IN FRAME fMain /* 7 */
  500. DO:
  501. DEF VAR hFocus AS HANDLE NO-UNDO.
  502. DEF VAR iWert AS DEC NO-UNDO.
  503. DO WHILE TRUE:
  504. hFocus = hFeld.
  505. iWert = DECIMAL(hFocus:SCREEN-VALUE) NO-ERROR.
  506. IF ERROR-STATUS:ERROR THEN LEAVE.
  507. iWert = (iWert * 10) + 7.
  508. hFocus:SCREEN-VALUE = TRIM(STRING(iWert,'>>>>>>>>>>>>>>>>>>>>')).
  509. LEAVE.
  510. END.
  511. APPLY 'ENTRY' TO hFOCUS.
  512. RETURN NO-APPLY.
  513. END.
  514. /* _UIB-CODE-BLOCK-END */
  515. &ANALYZE-RESUME
  516. &Scoped-define SELF-NAME Btn_8
  517. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_8 wLagerOrtStrichcode
  518. ON CHOOSE OF Btn_8 IN FRAME fMain /* 8 */
  519. DO:
  520. DEF VAR hFocus AS HANDLE NO-UNDO.
  521. DEF VAR iWert AS DEC NO-UNDO.
  522. DO WHILE TRUE:
  523. hFocus = hFeld.
  524. iWert = DECIMAL(hFocus:SCREEN-VALUE) NO-ERROR.
  525. IF ERROR-STATUS:ERROR THEN LEAVE.
  526. iWert = (iWert * 10) + 8.
  527. hFocus:SCREEN-VALUE = TRIM(STRING(iWert,'>>>>>>>>>>>>>>>>>>>>')).
  528. LEAVE.
  529. END.
  530. APPLY 'ENTRY' TO hFOCUS.
  531. RETURN NO-APPLY.
  532. END.
  533. /* _UIB-CODE-BLOCK-END */
  534. &ANALYZE-RESUME
  535. &Scoped-define SELF-NAME Btn_9
  536. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_9 wLagerOrtStrichcode
  537. ON CHOOSE OF Btn_9 IN FRAME fMain /* 9 */
  538. DO:
  539. DEF VAR hFocus AS HANDLE NO-UNDO.
  540. DEF VAR iWert AS DEC NO-UNDO.
  541. DO WHILE TRUE:
  542. hFocus = hFeld.
  543. iWert = DECIMAL(hFocus:SCREEN-VALUE) NO-ERROR.
  544. IF ERROR-STATUS:ERROR THEN LEAVE.
  545. iWert = (iWert * 10) + 9.
  546. hFocus:SCREEN-VALUE = TRIM(STRING(iWert,'>>>>>>>>>>>>>>>>>>>>')).
  547. LEAVE.
  548. END.
  549. APPLY 'ENTRY' TO hFOCUS.
  550. RETURN NO-APPLY.
  551. END.
  552. /* _UIB-CODE-BLOCK-END */
  553. &ANALYZE-RESUME
  554. &Scoped-define SELF-NAME Btn_Cancel
  555. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel wLagerOrtStrichcode
  556. ON CHOOSE OF Btn_Cancel IN FRAME fMain /* Abbrechen */
  557. DO:
  558. RUN ENDE.
  559. APPLY "WINDOW-CLOSE":U TO THIS-PROCEDURE.
  560. RETURN NO-APPLY.
  561. END.
  562. /* _UIB-CODE-BLOCK-END */
  563. &ANALYZE-RESUME
  564. &Scoped-define SELF-NAME Btn_Clear
  565. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Clear wLagerOrtStrichcode
  566. ON CHOOSE OF Btn_Clear IN FRAME fMain /* CL */
  567. DO:
  568. DEF VAR hFocus AS HANDLE NO-UNDO.
  569. DEF VAR iWert AS INT NO-UNDO.
  570. DO WHILE TRUE:
  571. hFocus = hFeld.
  572. hFocus:SCREEN-VALUE = ''.
  573. LEAVE.
  574. END.
  575. APPLY 'ENTRY' TO hFOCUS.
  576. RETURN NO-APPLY.
  577. END.
  578. /* _UIB-CODE-BLOCK-END */
  579. &ANALYZE-RESUME
  580. &Scoped-define SELF-NAME Btn_Enter
  581. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Enter wLagerOrtStrichcode
  582. ON CHOOSE OF Btn_Enter IN FRAME fMain /* TAB */
  583. DO:
  584. DEF VAR hFocus AS HANDLE NO-UNDO.
  585. DEF VAR iWert AS INT NO-UNDO.
  586. hFocus = hFeld.
  587. APPLY 'TAB' TO hFOCUS.
  588. RETURN NO-APPLY.
  589. END.
  590. /* _UIB-CODE-BLOCK-END */
  591. &ANALYZE-RESUME
  592. &Scoped-define SELF-NAME Btn_Minus
  593. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Minus wLagerOrtStrichcode
  594. ON CHOOSE OF Btn_Minus IN FRAME fMain /* -- */
  595. DO:
  596. DEF VAR hFocus AS HANDLE NO-UNDO.
  597. DEF VAR iWert AS INT NO-UNDO.
  598. DO WHILE TRUE:
  599. hFocus = hFeld.
  600. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  601. IF ERROR-STATUS:ERROR THEN LEAVE.
  602. iWert = iWert * -1.
  603. hFocus:SCREEN-VALUE = STRING(iWert).
  604. LEAVE.
  605. END.
  606. APPLY 'ENTRY' TO hFOCUS.
  607. RETURN NO-APPLY.
  608. END.
  609. /* _UIB-CODE-BLOCK-END */
  610. &ANALYZE-RESUME
  611. &Scoped-define SELF-NAME Btn_OK
  612. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK wLagerOrtStrichcode
  613. ON CHOOSE OF Btn_OK IN FRAME fMain /* Speichern */
  614. DO:
  615. RUN SPEICHERN.
  616. RETURN NO-APPLY.
  617. END.
  618. /* _UIB-CODE-BLOCK-END */
  619. &ANALYZE-RESUME
  620. &Scoped-define SELF-NAME Btn_Search
  621. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Search wLagerOrtStrichcode
  622. ON CHOOSE OF Btn_Search IN FRAME fMain /* Button 1 */
  623. DO:
  624. RETURN NO-APPLY.
  625. END.
  626. /* _UIB-CODE-BLOCK-END */
  627. &ANALYZE-RESUME
  628. &Scoped-define SELF-NAME CB_Lager
  629. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager wLagerOrtStrichcode
  630. ON VALUE-CHANGED OF CB_Lager IN FRAME fMain /* Lager */
  631. DO:
  632. iLager = INTEGER(SELF:SCREEN-VALUE).
  633. RUN LAGER_EINSTELLUNGEN.
  634. APPLY 'ENTRY' TO F_Strichcode.
  635. RETURN NO-APPLY.
  636. END.
  637. /* _UIB-CODE-BLOCK-END */
  638. &ANALYZE-RESUME
  639. &Scoped-define SELF-NAME F_Artnr
  640. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr wLagerOrtStrichcode
  641. ON ENTRY OF F_Artnr IN FRAME fMain /* Artnr / Inhalt / Jahr */
  642. DO:
  643. hFeld = SELF:HANDLE.
  644. ASSIGN cGGeb_SC = ''
  645. cVGeb_SC = ''
  646. cKGeb_SC = ''
  647. .
  648. END.
  649. /* _UIB-CODE-BLOCK-END */
  650. &ANALYZE-RESUME
  651. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr wLagerOrtStrichcode
  652. ON LEAVE OF F_Artnr IN FRAME fMain /* Artnr / Inhalt / Jahr */
  653. DO:
  654. DEF VAR cName AS CHAR NO-UNDO.
  655. cName = LAST-EVENT:WIDGET-ENTER:NAME.
  656. IF cName = 'T_Strichcode' THEN DO WITH FRAME {&FRAME-NAME}:
  657. ASSIGN F_Artnr :SCREEN-VALUE = ''
  658. F_Inhalt:SCREEN-VALUE = ''
  659. F_Jahr :SCREEN-VALUE = ''.
  660. RETURN.
  661. END.
  662. IF LOOKUP(cName, cAusnahme, ',') > 0 THEN RETURN.
  663. ASSIGN F_Artnr.
  664. FeldInhalt = F_Artnr.
  665. ARecid = ?.
  666. IF F_Artnr:SENSITIVE = FALSE THEN LEAVE.
  667. RUN ARTIKELNUMMER.
  668. IF ARecid = ? OR
  669. ARecid = 0 OR
  670. RETURN-VALUE = 'ERROR' THEN DO:
  671. APPLY 'ENTRY' TO SELF.
  672. RETURN NO-APPLY.
  673. END.
  674. ASSIGN cFeld = 'F_Artnr'.
  675. RUN DETAIL_ANZEIGEN.
  676. RETURN NO-APPLY.
  677. END.
  678. /* _UIB-CODE-BLOCK-END */
  679. &ANALYZE-RESUME
  680. &Scoped-define SELF-NAME F_GGebinde_SC
  681. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_GGebinde_SC wLagerOrtStrichcode
  682. ON LEAVE OF F_GGebinde_SC IN FRAME fMain /* Strichcode GGeb */
  683. DO:
  684. hFeld = SELF:HANDLE.
  685. END.
  686. /* _UIB-CODE-BLOCK-END */
  687. &ANALYZE-RESUME
  688. &Scoped-define SELF-NAME F_Inhalt
  689. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt wLagerOrtStrichcode
  690. ON ENTRY OF F_Inhalt IN FRAME fMain /* / */
  691. DO:
  692. hFeld = SELF:HANDLE.
  693. END.
  694. /* _UIB-CODE-BLOCK-END */
  695. &ANALYZE-RESUME
  696. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt wLagerOrtStrichcode
  697. ON LEAVE OF F_Inhalt IN FRAME fMain /* / */
  698. DO:
  699. ASSIGN F_Artnr
  700. F_Inhalt.
  701. IF F_Inhalt:SENSITIVE = FALSE THEN LEAVE.
  702. FIND FIRST BArtst NO-LOCK
  703. WHERE BArtst.Firma = Firma
  704. AND BArtst.Artnr = VArtnr
  705. AND BArtst.Inhalt = F_Inhalt NO-ERROR.
  706. IF NOT AVAILABLE BArtst THEN DO:
  707. APPLY 'ENTRY' TO SELF.
  708. RETURN NO-APPLY.
  709. END.
  710. ASSIGN ARecid = RECID(BArtst)
  711. VInhalt = BArtst.Inhalt
  712. VJahr = BArtst.Jahr
  713. cFeld = 'F_Inhalt'.
  714. RUN DETAIL_ANZEIGEN.
  715. END.
  716. /* _UIB-CODE-BLOCK-END */
  717. &ANALYZE-RESUME
  718. &Scoped-define SELF-NAME F_Jahr
  719. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr wLagerOrtStrichcode
  720. ON ENTRY OF F_Jahr IN FRAME fMain /* / */
  721. DO:
  722. hFeld = SELF:HANDLE.
  723. END.
  724. /* _UIB-CODE-BLOCK-END */
  725. &ANALYZE-RESUME
  726. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr wLagerOrtStrichcode
  727. ON LEAVE OF F_Jahr IN FRAME fMain /* / */
  728. DO:
  729. ASSIGN F_Artnr
  730. F_Inhalt
  731. F_Jahr.
  732. IF F_Jahr:SENSITIVE = FALSE THEN LEAVE.
  733. FIND FIRST BArtst NO-LOCK
  734. WHERE BArtst.Firma = Firma
  735. AND BArtst.Artnr = VArtnr
  736. AND BArtst.Inhalt = VInhalt
  737. AND BArtst.Jahr = F_Jahr NO-ERROR.
  738. IF NOT AVAILABLE BArtst THEN DO:
  739. APPLY 'ENTRY' TO SELF.
  740. RETURN NO-APPLY.
  741. END.
  742. ASSIGN ARecid = RECID(BArtst)
  743. VInhalt = BArtst.Inhalt
  744. VJahr = BArtst.Jahr
  745. cFeld = 'F_Jahr'.
  746. RUN DETAIL_ANZEIGEN.
  747. END.
  748. /* _UIB-CODE-BLOCK-END */
  749. &ANALYZE-RESUME
  750. &Scoped-define SELF-NAME F_KGebinde_SC
  751. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_KGebinde_SC wLagerOrtStrichcode
  752. ON ENTRY OF F_KGebinde_SC IN FRAME fMain /* Strichcode KGeb */
  753. DO:
  754. hFeld = SELF:HANDLE.
  755. END.
  756. /* _UIB-CODE-BLOCK-END */
  757. &ANALYZE-RESUME
  758. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_KGebinde_SC wLagerOrtStrichcode
  759. ON LEAVE OF F_KGebinde_SC IN FRAME fMain /* Strichcode KGeb */
  760. DO:
  761. hFeld = SELF:HANDLE.
  762. END.
  763. /* _UIB-CODE-BLOCK-END */
  764. &ANALYZE-RESUME
  765. &Scoped-define SELF-NAME F_Ort
  766. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Ort wLagerOrtStrichcode
  767. ON ENTRY OF F_Ort IN FRAME fMain /* Lagerort */
  768. DO:
  769. hFeld = SELF:HANDLE.
  770. END.
  771. /* _UIB-CODE-BLOCK-END */
  772. &ANALYZE-RESUME
  773. &Scoped-define SELF-NAME F_Strichcode
  774. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Strichcode wLagerOrtStrichcode
  775. ON END-ERROR OF F_Strichcode IN FRAME fMain /* Strichcode */
  776. DO:
  777. RETURN NO-APPLY.
  778. END.
  779. /* _UIB-CODE-BLOCK-END */
  780. &ANALYZE-RESUME
  781. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Strichcode wLagerOrtStrichcode
  782. ON ENTRY OF F_Strichcode IN FRAME fMain /* Strichcode */
  783. DO:
  784. hFeld = SELF:HANDLE.
  785. ASSIGN F_Bezeichnung :SCREEN-VALUE = ''
  786. F_Kleingebinde:SCREEN-VALUE = ''
  787. F_KGebinde_SC :SCREEN-VALUE = ''
  788. F_VGebinde_SC :SCREEN-VALUE = ''
  789. F_GGebinde_SC :SCREEN-VALUE = ''
  790. F_Ort :SCREEN-VALUE = ''
  791. .
  792. END.
  793. /* _UIB-CODE-BLOCK-END */
  794. &ANALYZE-RESUME
  795. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Strichcode wLagerOrtStrichcode
  796. ON LEAVE OF F_Strichcode IN FRAME fMain /* Strichcode */
  797. DO:
  798. DEF VAR cName AS CHAR NO-UNDO.
  799. DEF VAR ix AS INT NO-UNDO.
  800. cName = LAST-EVENT:WIDGET-ENTER:NAME.
  801. IF cName = 'T_Strichcode' THEN DO WITH FRAME {&FRAME-NAME}:
  802. F_Strichcode:SCREEN-VALUE = ''.
  803. RETURN.
  804. END.
  805. IF cName = 'Btn_Search' THEN DO WITH FRAME {&FRAME-NAME}:
  806. ARecid = ?.
  807. RUN ARTIKELNUMMER.
  808. IF ARecid = ? THEN RETURN NO-APPLY.
  809. FIND BArtst NO-LOCK WHERE RECID(BArtst) = ARecid.
  810. F_Strichcode:SCREEN-VALUE = STRING(BArtst.Artnr ,'999999')
  811. + '.'
  812. + STRING(BArtst.Inhalt,'9999')
  813. + '.'
  814. + STRING(BArtst.Jahr ,'9999').
  815. APPLY 'ENTRY' TO SELF.
  816. END.
  817. ELSE IF LOOKUP(cName, cAusnahme, ',') > 0 THEN RETURN.
  818. ASSIGN F_Strichcode
  819. ARecid = ?
  820. iKnr = 0
  821. VArtnr = 0
  822. VInhalt = 0
  823. VJahr = 0
  824. cGGeb_SC = ''
  825. cVGeb_SC = ''
  826. cKGeb_SC = ''
  827. .
  828. IF F_Strichcode = '' THEN DO:
  829. IF cName <> 'Btn_Search' THEN RETURN NO-APPLY.
  830. END.
  831. FIND FIRST ArtLief NO-LOCK USE-INDEX Strichcode-KGeb
  832. WHERE ArtLief.Firma = Firma
  833. AND ArtLief.Strichcode_KGeb = F_Strichcode NO-ERROR.
  834. IF NOT AVAILABLE ArtLief THEN DO:
  835. FIND FIRST ArtLief NO-LOCK USE-INDEX Strichcode-VGeb
  836. WHERE ArtLief.Firma = Firma
  837. AND ArtLief.Strichcode_VGeb = F_Strichcode NO-ERROR.
  838. END.
  839. IF NOT AVAILABLE ArtLief THEN DO:
  840. FIND FIRST ArtLief NO-LOCK USE-INDEX Strichcode-GGeb
  841. WHERE ArtLief.Firma = Firma
  842. AND ArtLief.Strichcode_GGeb = F_Strichcode NO-ERROR.
  843. END.
  844. IF AVAILABLE ArtLief THEN DO:
  845. ASSIGN VArtnr = ArtLief.Artnr
  846. VInhalt = ArtLief.Inhalt
  847. VJahr = ArtLief.Jahr
  848. iKnr = ArtLief.Knr
  849. cGGeb_SC = ArtLief.Strichcode_GGeb
  850. cVGeb_SC = ArtLief.Strichcode_VGeb
  851. cKGeb_SC = ArtLief.Strichcode_KGeb.
  852. FIND BArtst NO-LOCK
  853. WHERE BArtst.Firma = ArtLief.Firma
  854. AND BArtst.Artnr = ArtLief.Artnr
  855. AND BArtst.Inhalt = ArtLief.Inhalt
  856. AND BArtst.Jahr = ArtLief.Jahr.
  857. ARecid = RECID(BArtst).
  858. END.
  859. ELSE DO:
  860. ix = 0.
  861. IF LENGTH(F_Strichcode) > 6 THEN DO:
  862. FOR EACH BArtst NO-LOCK USE-INDEX Artst-Strichcode
  863. WHERE BArtst.Firma = Firma
  864. AND BArtst.Strichcode = F_Strichcode:
  865. ix = ix + 1.
  866. ARecid = RECID(BArtst).
  867. END.
  868. END.
  869. IF ix = 1 THEN DO:
  870. FIND BArtst NO-LOCK WHERE RECID(BArtst) = ARecid.
  871. ASSIGN VArtnr = BArtst.Artnr
  872. VInhalt = BArtst.Inhalt
  873. VJahr = BArtst.Jahr
  874. ARecid = RECID(BArtst).
  875. END.
  876. ELSE DO:
  877. F_Strichcode = REPLACE(F_Strichcode, "'", ".").
  878. F_Strichcode = REPLACE(F_Strichcode, "ß", ".").
  879. F_Strichcode = LOWER (F_Strichcode).
  880. DO ix = 1 TO LENGTH(F_Strichcode):
  881. IF SUBSTRING(F_Strichcode,ix,01) >= 'a' AND
  882. SUBSTRING(F_Strichcode,ix,01) <= 'z' THEN NEXT.
  883. IF SUBSTRING(F_Strichcode,ix,01) < '0' OR
  884. SUBSTRING(F_Strichcode,ix,01) > '9' THEN SUBSTRING(F_Strichcode,ix) = '.'.
  885. END.
  886. F_Strichcode:SCREEN-VALUE = F_Strichcode.
  887. DO ix = 1 TO NUM-ENTRIES(F_Strichcode, '.'):
  888. CASE ix:
  889. WHEN 1 THEN VArtnr = INTEGER(ENTRY(ix, F_Strichcode, '.')) NO-ERROR.
  890. WHEN 2 THEN VInhalt = INTEGER(ENTRY(ix, F_Strichcode, '.')) NO-ERROR.
  891. WHEN 3 THEN VJahr = INTEGER(ENTRY(ix, F_Strichcode, '.')) NO-ERROR.
  892. END.
  893. END.
  894. FIND BArtst NO-LOCK USE-INDEX Artst-k1
  895. WHERE BArtst.Firma = Firma
  896. AND BArtst.Artnr = VArtnr
  897. AND BArtst.Inhalt = VInhalt
  898. AND BArtst.Jahr = VJahr NO-ERROR.
  899. IF NOT AVAILABLE BArtst THEN DO:
  900. FeldInhalt = F_Strichcode.
  901. RUN ARTIKELNUMMER.
  902. END.
  903. ELSE ARecid = RECID(BArtst).
  904. END.
  905. END.
  906. IF ARecid = ? THEN DO:
  907. APPLY 'ENTRY' TO SELF.
  908. RETURN NO-APPLY.
  909. END.
  910. cFeld = ''.
  911. RUN DETAIL_ANZEIGEN.
  912. APPLY 'ENTRY' TO F_Ort.
  913. END.
  914. /* _UIB-CODE-BLOCK-END */
  915. &ANALYZE-RESUME
  916. &Scoped-define SELF-NAME F_VGebinde_SC
  917. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde_SC wLagerOrtStrichcode
  918. ON LEAVE OF F_VGebinde_SC IN FRAME fMain /* Strichcode VGeb */
  919. DO:
  920. hFeld = SELF:HANDLE.
  921. END.
  922. /* _UIB-CODE-BLOCK-END */
  923. &ANALYZE-RESUME
  924. &Scoped-define SELF-NAME T_Strichcode
  925. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Strichcode wLagerOrtStrichcode
  926. ON VALUE-CHANGED OF T_Strichcode IN FRAME fMain /* Strichcode */
  927. DO:
  928. ASSIGN T_Strichcode.
  929. CASE T_Strichcode:
  930. WHEN TRUE THEN DO:
  931. F_Artnr :SENSITIVE = FALSE.
  932. F_Inhalt:SENSITIVE = FALSE.
  933. F_Jahr :SENSITIVE = FALSE.
  934. F_Strichcode:SENSITIVE = TRUE.
  935. APPLY 'ENTRY' TO F_Strichcode.
  936. RETURN NO-APPLY.
  937. END.
  938. WHEN FALSE THEN DO:
  939. F_Artnr :SENSITIVE = TRUE.
  940. F_Inhalt:SENSITIVE = TRUE.
  941. F_Jahr :SENSITIVE = TRUE.
  942. F_Strichcode:SENSITIVE = FALSE.
  943. APPLY 'ENTRY' TO F_Artnr.
  944. RETURN NO-APPLY.
  945. END.
  946. END CASE.
  947. END.
  948. /* _UIB-CODE-BLOCK-END */
  949. &ANALYZE-RESUME
  950. &UNDEFINE SELF-NAME
  951. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wLagerOrtStrichcode
  952. /* *************************** Main Block *************************** */
  953. { incl/winmainblock.i }
  954. { src/adm2/windowmn.i }
  955. /* _UIB-CODE-BLOCK-END */
  956. &ANALYZE-RESUME
  957. /* ********************** Internal Procedures *********************** */
  958. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wLagerOrtStrichcode _ADM-CREATE-OBJECTS
  959. PROCEDURE adm-create-objects :
  960. /*------------------------------------------------------------------------------
  961. Purpose: Create handles for all SmartObjects used in this procedure.
  962. After SmartObjects are initialized, then SmartLinks are added.
  963. Parameters: <none>
  964. ------------------------------------------------------------------------------*/
  965. END PROCEDURE.
  966. /* _UIB-CODE-BLOCK-END */
  967. &ANALYZE-RESUME
  968. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELNUMMER wLagerOrtStrichcode
  969. PROCEDURE ARTIKELNUMMER :
  970. /*------------------------------------------------------------------------------
  971. Purpose:
  972. Parameters: <none>
  973. Notes:
  974. ------------------------------------------------------------------------------*/
  975. DEF VAR Anzahl AS INT NO-UNDO.
  976. DEF VAR xWort AS CHAR NO-UNDO.
  977. DEF VAR zWorte AS CHAR NO-UNDO.
  978. DEF VAR yy AS INT NO-UNDO.
  979. DEF VAR zz AS INT NO-UNDO.
  980. DEF VAR Zahl AS INT NO-UNDO.
  981. Zahl = 0.
  982. Anzahl = 0.
  983. ARecid = ?.
  984. cGGeb_SC = ''.
  985. cVGeb_SC = ''.
  986. cKGeb_SC = ''.
  987. iKnr = 0.
  988. zWorte = ''.
  989. DO yy = 1 TO NUM-ENTRIES(FeldInhalt, ' '):
  990. xWort = ENTRY(yy, FeldInhalt, ' ').
  991. Zahl = INTEGER(xWort) NO-ERROR.
  992. IF ERROR-STATUS:ERROR THEN DO:
  993. zWorte = zWorte + (IF zWorte = '' THEN '' ELSE ' ')
  994. + xWort.
  995. NEXT.
  996. END.
  997. xWort = TRIM(STRING(Zahl,'>>>>>>>>>9')) NO-ERROR.
  998. IF ERROR-STATUS:ERROR THEN xWort = ENTRY(yy, FeldInhalt, ' ').
  999. zWorte = zWorte + (IF zWorte = '' THEN '' ELSE ' ')
  1000. + xWort.
  1001. END.
  1002. FOR EACH Artbez NO-LOCK
  1003. WHERE Artbez.Firma = Firma
  1004. AND Artbez.Sprcd = 1
  1005. AND Artbez.WortIndex CONTAINS zWorte,
  1006. FIRST BArtst NO-LOCK OF Artbez
  1007. WHERE BArtst.Aktiv = TRUE
  1008. AND BArtst.Ausverk < 9 :
  1009. Anzahl = Anzahl + 1.
  1010. IF Anzahl > 1 THEN LEAVE.
  1011. VArtnr = BArtst.Artnr.
  1012. ARecid = RECID(BArtst).
  1013. END.
  1014. IF Anzahl = 1 THEN DO:
  1015. FIND BArtst WHERE RECID(BArtst) = ARecid NO-LOCK NO-ERROR.
  1016. VArtnr = BArtst.Artnr.
  1017. VInhalt = BArtst.Inhalt.
  1018. VJahr = BArtst.Jahr.
  1019. RETURN ''.
  1020. END.
  1021. RUN g-suchen-artikel.w ( INPUT FeldInhalt, OUTPUT ARecid ).
  1022. IF ARecid = 0 OR
  1023. ARecid = ? THEN DO WITH FRAME {&FRAME-NAME}:
  1024. APPLY 'ENTRY' TO F_Artnr.
  1025. RETURN NO-APPLY.
  1026. END.
  1027. FIND BArtst WHERE RECID(BArtst) = ARecid NO-LOCK NO-ERROR.
  1028. VArtnr = BArtst.Artnr.
  1029. VInhalt = BArtst.Inhalt.
  1030. VJahr = BArtst.Jahr.
  1031. RETURN ''.
  1032. END PROCEDURE.
  1033. /* _UIB-CODE-BLOCK-END */
  1034. &ANALYZE-RESUME
  1035. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage wLagerOrtStrichcode
  1036. PROCEDURE changePage :
  1037. /*------------------------------------------------------------------------------
  1038. Purpose: Super Override
  1039. Parameters:
  1040. Notes:
  1041. ------------------------------------------------------------------------------*/
  1042. RUN SUPER.
  1043. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1044. CASE AktSeite:
  1045. WHEN 1 THEN DO:
  1046. /* RUN addLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  1047. /* RUN addLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  1048. /* RUN setButtons IN hAktionen ( 'initial-TableIo' ) NO-ERROR. */
  1049. END.
  1050. WHEN 2 THEN DO:
  1051. END.
  1052. END CASE.
  1053. RUN ENTRY_CURSOR.
  1054. END PROCEDURE.
  1055. /* _UIB-CODE-BLOCK-END */
  1056. &ANALYZE-RESUME
  1057. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DETAIL_ANZEIGEN wLagerOrtStrichcode
  1058. PROCEDURE DETAIL_ANZEIGEN :
  1059. /*------------------------------------------------------------------------------
  1060. Purpose:
  1061. Parameters: <none>
  1062. Notes:
  1063. ------------------------------------------------------------------------------*/
  1064. DEF VAR cBez AS CHAR NO-UNDO.
  1065. DEF VAR cKGebinde AS CHAR NO-UNDO.
  1066. DEF VAR iGGeb AS INT NO-UNDO.
  1067. DEF VAR iVGeb AS INT NO-UNDO.
  1068. DEF VAR iKGeb AS INT NO-UNDO.
  1069. DO WITH FRAME {&FRAME-NAME}:
  1070. FIND BArtst NO-LOCK WHERE RECID(BArtst) = ARecid.
  1071. FIND FIRST BArtbez NO-LOCK OF BArtst NO-ERROR.
  1072. IF AVAILABLE BArtbez THEN cBez = BArtbez.Bez1 + ' ' + BArtbez.Bez2.
  1073. ELSE cBez = BArtst.Bez.
  1074. FIND BKGebinde NO-LOCK
  1075. WHERE BKGebinde.Firma = BArtst.Firma
  1076. AND BKGebinde.Geb_Cd = BArtst.KGeb_Cd NO-ERROR.
  1077. IF AVAILABLE BKGebinde THEN DO:
  1078. cKGebinde = BKGebinde.KBez + ' / '
  1079. + STRING(BKGebinde.Inhalt) + ' / '
  1080. + BKGebinde.Bez.
  1081. END.
  1082. ELSE cKGebinde = ''.
  1083. iLager = INTEGER(CB_Lager:SCREEN-VALUE).
  1084. FIND ArtLager NO-LOCK
  1085. WHERE ArtLager.Firma = BArtst.Firma
  1086. AND ArtLager.Artnr = BArtst.Artnr
  1087. AND ArtLager.Inhalt = BArtst.Inhalt
  1088. AND ArtLager.Jahr = BArtst.Jahr
  1089. AND ArtLager.Lager = iLager NO-ERROR.
  1090. IF NOT AVAILABLE ArtLager THEN DO:
  1091. CREATE ArtLager.
  1092. ASSIGN ArtLager.Firma = BArtst.Firma
  1093. ArtLager.Artnr = BArtst.Artnr
  1094. ArtLager.Inhalt = BArtst.Inhalt
  1095. ArtLager.Jahr = BArtst.Jahr
  1096. ArtLager.Lager = iLager
  1097. ArtLager.Datum_Inv = ?
  1098. ArtLager.Inv_Best = 0
  1099. ArtLager.Inv_Alt = 0
  1100. ArtLager.Eingang = 0
  1101. ArtLager.Ausgang = 0
  1102. ArtLager.Bestand = 0
  1103. ArtLager.Ort = ''.
  1104. END.
  1105. F_Ort = ArtLager.Ort.
  1106. IF iKnr = 0 THEN DO:
  1107. FIND FIRST ArtLief NO-LOCK
  1108. WHERE ArtLief.Firma = BArtst.Firma
  1109. AND ArtLief.Artnr = BArtst.Artnr
  1110. AND ArtLief.Inhalt = BArtst.Inhalt
  1111. AND ArtLief.Jahr = BArtst.Jahr
  1112. AND ArtLief.Haupt = TRUE NO-ERROR.
  1113. IF NOT AVAILABLE ArtLief THEN
  1114. FIND FIRST ArtLief NO-LOCK
  1115. WHERE ArtLief.Firma = BArtst.Firma
  1116. AND ArtLief.Artnr = BArtst.Artnr
  1117. AND ArtLief.Inhalt = BArtst.Inhalt
  1118. AND ArtLief.Jahr = BArtst.Jahr NO-ERROR.
  1119. END.
  1120. ELSE DO:
  1121. FIND ArtLief NO-LOCK
  1122. WHERE ArtLief.Firma = BArtst.Firma
  1123. AND ArtLief.Artnr = BArtst.Artnr
  1124. AND ArtLief.Inhalt = BArtst.Inhalt
  1125. AND ArtLief.Jahr = BArtst.Jahr
  1126. AND ArtLief.Knr = iKnr NO-ERROR.
  1127. END.
  1128. IF cKGeb_SC = '' THEN cKGeb_SC = BArtst.Strichcode.
  1129. IF AVAILABLE ArtLief THEN DO:
  1130. ASSIGN cGGeb_SC = ArtLief.Strichcode_GGeb
  1131. cVGeb_SC = ArtLief.Strichcode_VGeb
  1132. cKGeb_SC = (IF ArtLief.Strichcode_KGeb <> '' THEN ArtLief.Strichcode_KGeb ELSE BArtst.Strichcode)
  1133. iKnr = ArtLief.Knr.
  1134. END.
  1135. LRecid = RECID(ArtLager).
  1136. ASSIGN F_Artnr :SCREEN-VALUE = STRING(BArtst.Artnr)
  1137. F_Inhalt :SCREEN-VALUE = STRING(BArtst.Inhalt)
  1138. F_Jahr :SCREEN-VALUE = STRING(BArtst.Jahr)
  1139. F_Ort :SCREEN-VALUE = STRING(ArtLager.Ort)
  1140. F_Bezeichnung :SCREEN-VALUE = cBez
  1141. F_Kleingebinde:SCREEN-VALUE = cKGebinde
  1142. F_KGebinde_SC :SCREEN-VALUE = cKGeb_SC
  1143. F_VGebinde_SC :SCREEN-VALUE = cVGeb_SC
  1144. F_GGebinde_SC :SCREEN-VALUE = cGGeb_SC
  1145. .
  1146. cFeld = ''.
  1147. RETURN NO-APPLY.
  1148. END.
  1149. END PROCEDURE.
  1150. /* _UIB-CODE-BLOCK-END */
  1151. &ANALYZE-RESUME
  1152. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wLagerOrtStrichcode _DEFAULT-DISABLE
  1153. PROCEDURE disable_UI :
  1154. /*------------------------------------------------------------------------------
  1155. Purpose: DISABLE the User Interface
  1156. Parameters: <none>
  1157. Notes: Here we clean-up the user-interface by deleting
  1158. dynamic widgets we have created and/or hide
  1159. frames. This procedure is usually called when
  1160. we are ready to "clean-up" after running.
  1161. ------------------------------------------------------------------------------*/
  1162. /* Delete the WINDOW we created */
  1163. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wLagerOrtStrichcode)
  1164. THEN DELETE WIDGET wLagerOrtStrichcode.
  1165. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  1166. END PROCEDURE.
  1167. /* _UIB-CODE-BLOCK-END */
  1168. &ANALYZE-RESUME
  1169. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wLagerOrtStrichcode
  1170. PROCEDURE enableObject :
  1171. /*------------------------------------------------------------------------------
  1172. Purpose: Super Override
  1173. Parameters:
  1174. Notes:
  1175. ------------------------------------------------------------------------------*/
  1176. T_Strichcode = TRUE.
  1177. { incl/winenableobject.i }
  1178. RUN SUPER.
  1179. DO WITH FRAME {&FRAME-NAME}:
  1180. ASSIGN F_Artnr :SENSITIVE = FALSE.
  1181. F_Inhalt:SENSITIVE = FALSE.
  1182. F_Jahr :SENSITIVE = FALSE.
  1183. F_Strichcode:SENSITIVE = TRUE.
  1184. iLager = DYNAMIC-FUNCTION('getBenLager':U) NO-ERROR.
  1185. RUN COMBO_LAGER ( CB_Lager:HANDLE ).
  1186. RUN LAGER_EINSTELLUNGEN.
  1187. APPLY 'ENTRY' TO F_Strichcode.
  1188. END.
  1189. END PROCEDURE.
  1190. /* _UIB-CODE-BLOCK-END */
  1191. &ANALYZE-RESUME
  1192. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wLagerOrtStrichcode _DEFAULT-ENABLE
  1193. PROCEDURE enable_UI :
  1194. /*------------------------------------------------------------------------------
  1195. Purpose: ENABLE the User Interface
  1196. Parameters: <none>
  1197. Notes: Here we display/view/enable the widgets in the
  1198. user-interface. In addition, OPEN all queries
  1199. associated with each FRAME and BROWSE.
  1200. These statements here are based on the "Other
  1201. Settings" section of the widget Property Sheets.
  1202. ------------------------------------------------------------------------------*/
  1203. DISPLAY CB_Lager F_Strichcode F_Artnr F_Inhalt F_Jahr T_Strichcode F_Ort
  1204. F_KGebinde_SC F_VGebinde_SC F_GGebinde_SC F_Bezeichnung F_Kleingebinde
  1205. F_Bestand
  1206. WITH FRAME fMain IN WINDOW wLagerOrtStrichcode.
  1207. ENABLE CB_Lager Btn_Search F_Strichcode F_Artnr F_Inhalt F_Jahr T_Strichcode
  1208. F_Ort F_KGebinde_SC F_VGebinde_SC F_GGebinde_SC F_Bezeichnung Btn_OK
  1209. Btn_Cancel F_Kleingebinde Btn_1 Btn_2 Btn_3 Btn_4 Btn_5 Btn_6 Btn_7
  1210. Btn_8 Btn_9 Btn_10 Btn_Clear Btn_Enter Btn_Minus F_Bestand RECT-43
  1211. WITH FRAME fMain IN WINDOW wLagerOrtStrichcode.
  1212. {&OPEN-BROWSERS-IN-QUERY-fMain}
  1213. VIEW wLagerOrtStrichcode.
  1214. END PROCEDURE.
  1215. /* _UIB-CODE-BLOCK-END */
  1216. &ANALYZE-RESUME
  1217. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wLagerOrtStrichcode
  1218. PROCEDURE ENDE :
  1219. /*------------------------------------------------------------------------------
  1220. Purpose:
  1221. Parameters: <none>
  1222. Notes:
  1223. ------------------------------------------------------------------------------*/
  1224. IF hFeld:NAME <> 'F_Artnr' AND
  1225. hFeld:NAME <> 'F_Strichcode' THEN DO WITH FRAME {&FRAME-NAME}:
  1226. ASSIGN T_Strichcode.
  1227. CASE T_Strichcode:
  1228. WHEN FALSE THEN DO:
  1229. ASSIGN F_Artnr :SCREEN-VALUE = ''
  1230. F_Inhalt:SCREEN-VALUE = ''
  1231. F_Jahr :SCREEN-VALUE = ''.
  1232. APPLY 'ENTRY' TO F_Artnr.
  1233. END.
  1234. WHEN TRUE THEN DO:
  1235. ASSIGN F_Strichcode:SCREEN-VALUE = ''
  1236. F_Artnr :SCREEN-VALUE = ''
  1237. F_Inhalt :SCREEN-VALUE = ''
  1238. F_Jahr :SCREEN-VALUE = ''.
  1239. APPLY 'ENTRY' TO F_Strichcode.
  1240. END.
  1241. END CASE.
  1242. RETURN NO-APPLY.
  1243. END.
  1244. { incl/winende.i }
  1245. END PROCEDURE.
  1246. /* _UIB-CODE-BLOCK-END */
  1247. &ANALYZE-RESUME
  1248. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR wLagerOrtStrichcode
  1249. PROCEDURE ENTRY_CURSOR :
  1250. /*------------------------------------------------------------------------------
  1251. Purpose:
  1252. Parameters: <none>
  1253. Notes:
  1254. ------------------------------------------------------------------------------*/
  1255. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1256. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname) NO-ERROR.
  1257. CASE AktSeite:
  1258. /* WHEN 1 THEN DO: */
  1259. /* IF FMutFlag THEN RUN applyEntry IN h_v- ( INPUT ? ). */
  1260. /* ELSE RUN applyEntry IN h_b- ( INPUT ? ). */
  1261. /* END. */
  1262. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  1263. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  1264. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  1265. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  1266. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  1267. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  1268. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  1269. END CASE.
  1270. RETURN NO-APPLY.
  1271. END PROCEDURE.
  1272. /* _UIB-CODE-BLOCK-END */
  1273. &ANALYZE-RESUME
  1274. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wLagerOrtStrichcode
  1275. PROCEDURE exitObject :
  1276. /*------------------------------------------------------------------------------
  1277. Purpose: Window-specific override of this procedure which destroys
  1278. its contents and itself.
  1279. Notes:
  1280. ------------------------------------------------------------------------------*/
  1281. RUN ENDE.
  1282. RETURN NO-APPLY.
  1283. END PROCEDURE.
  1284. /* _UIB-CODE-BLOCK-END */
  1285. &ANALYZE-RESUME
  1286. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject wLagerOrtStrichcode
  1287. PROCEDURE initializeObject :
  1288. /*------------------------------------------------------------------------------
  1289. Purpose: Super Override
  1290. Parameters:
  1291. Notes:
  1292. ------------------------------------------------------------------------------*/
  1293. /* Code placed here will execute PRIOR to standard behavior. */
  1294. RUN SUPER.
  1295. { incl/wininitializeobject.i }
  1296. END PROCEDURE.
  1297. /* _UIB-CODE-BLOCK-END */
  1298. &ANALYZE-RESUME
  1299. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LAGER_EINSTELLUNGEN wLagerOrtStrichcode
  1300. PROCEDURE LAGER_EINSTELLUNGEN :
  1301. /*------------------------------------------------------------------------------
  1302. Purpose:
  1303. Parameters: <none>
  1304. Notes:
  1305. ------------------------------------------------------------------------------*/
  1306. DEF VAR Datum AS DATE FORMAT '99.99.9999' NO-UNDO.
  1307. DEF VAR cString AS CHAR NO-UNDO.
  1308. DO WITH FRAME {&FRAME-NAME}:
  1309. CB_Lager:SCREEN-VALUE = STRING(iLager,'999999').
  1310. END.
  1311. END PROCEDURE.
  1312. /* _UIB-CODE-BLOCK-END */
  1313. &ANALYZE-RESUME
  1314. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEITENWECHSEL wLagerOrtStrichcode
  1315. PROCEDURE SEITENWECHSEL :
  1316. /*------------------------------------------------------------------------------
  1317. Purpose:
  1318. Parameters: <none>
  1319. Notes:
  1320. ------------------------------------------------------------------------------*/
  1321. { incl/winseitenwechsel.i }
  1322. END PROCEDURE.
  1323. /* _UIB-CODE-BLOCK-END */
  1324. &ANALYZE-RESUME
  1325. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage wLagerOrtStrichcode
  1326. PROCEDURE selectPage :
  1327. /*------------------------------------------------------------------------------
  1328. Purpose: Super Override
  1329. Parameters:
  1330. Notes:
  1331. ------------------------------------------------------------------------------*/
  1332. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  1333. DEF VAR FMutFlag AS LOG NO-UNDO.
  1334. DEF VAR MutProg AS CHAR NO-UNDO.
  1335. FMutFlag = DYNAMIC-FUNCTION ('getMutflag':U, INPUT Progname) NO-ERROR.
  1336. IF FMutFlag THEN RETURN NO-APPLY.
  1337. CASE piPageNum:
  1338. END CASE.
  1339. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1340. CASE AktSeite:
  1341. WHEN 1 THEN DO:
  1342. /* RUN removeLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  1343. /* RUN removeLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  1344. END.
  1345. END CASE.
  1346. RUN SUPER( INPUT piPageNum).
  1347. END PROCEDURE.
  1348. /* _UIB-CODE-BLOCK-END */
  1349. &ANALYZE-RESUME
  1350. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN wLagerOrtStrichcode
  1351. PROCEDURE SPEICHERN :
  1352. /*------------------------------------------------------------------------------
  1353. Purpose:
  1354. Parameters: <none>
  1355. Notes:
  1356. ------------------------------------------------------------------------------*/
  1357. DEF VAR LRecid AS RECID NO-UNDO.
  1358. DEF VAR ja AS LOG NO-UNDO.
  1359. DEF VAR i1 AS INT NO-UNDO.
  1360. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
  1361. ASSIGN {&List-6}.
  1362. ASSIGN {&List-5}.
  1363. iLager = INTEGER(CB_Lager:SCREEN-VALUE).
  1364. FIND Steuer NO-LOCK
  1365. WHERE Steuer.Firma = Firma.
  1366. FIND Artst
  1367. WHERE Artst.Firma = Firma
  1368. AND Artst.Artnr = INTEGER(F_Artnr)
  1369. AND Artst.Inhalt = F_Inhalt
  1370. AND Artst.Jahr = F_Jahr.
  1371. IF F_KGebinde_SC = '.' THEN Artst.Strichcode = ''.
  1372. ELSE Artst.Strichcode = F_KGebinde_SC.
  1373. FIND ArtLager USE-INDEX ArtLager-k1
  1374. WHERE ArtLager.Firma = Artst.Firma
  1375. AND ArtLager.Artnr = Artst.Artnr
  1376. AND ArtLager.Inhalt = Artst.Inhalt
  1377. AND ArtLager.Jahr = Artst.Jahr
  1378. AND ArtLager.Lager = iLager NO-ERROR.
  1379. IF NOT AVAILABLE ArtLager THEN DO:
  1380. CREATE ArtLager.
  1381. ASSIGN ArtLager.Firma = Artst.Firma
  1382. ArtLager.Artnr = Artst.Artnr
  1383. ArtLager.Inhalt = Artst.Inhalt
  1384. ArtLager.Jahr = Artst.Jahr
  1385. ArtLager.Lager = iLager.
  1386. END.
  1387. LRecid = RECID(ArtLAger).
  1388. ASSIGN ArtLager.Ort = F_Ort.
  1389. IF iKnr = 0 THEN DO:
  1390. FOR EACH ArtLief OF Artst NO-LOCK:
  1391. iKnr = ArtLief.Knr.
  1392. IF ArtLief.Haupt THEN LEAVE.
  1393. END.
  1394. END.
  1395. IF iKnr <> 0 THEN DO:
  1396. FIND ArtLief
  1397. WHERE ArtLief.Firma = Firma
  1398. AND ArtLief.Knr = iKnr
  1399. AND ArtLief.Artnr = Artst.Artnr
  1400. AND ArtLief.Inhalt = Artst.Inhalt
  1401. and ArtLief.Jahr = Artst.Jahr NO-ERROR.
  1402. IF AVAILABLE ArtLief THEN DO:
  1403. IF F_KGebinde_SC <> '' THEN ArtLief.Strichcode_KGeb = (IF F_KGebinde_SC = '.' THEN '' ELSE F_KGebinde_SC).
  1404. IF F_VGebinde_SC <> '' THEN ArtLief.Strichcode_VGeb = (IF F_VGebinde_SC = '.' THEN '' ELSE F_VGebinde_SC).
  1405. IF F_GGebinde_SC <> '' THEN ArtLief.Strichcode_GGeb = (IF F_GGebinde_SC = '.' THEN '' ELSE F_GGebinde_SC).
  1406. END.
  1407. END.
  1408. RELEASE Artst.
  1409. RELEASE ArtLager.
  1410. RELEASE Artbw.
  1411. ASSIGN F_Strichcode = ''
  1412. F_Artnr = ''
  1413. F_Inhalt = 0
  1414. F_Jahr = 0
  1415. F_Bestand = 0
  1416. F_Ort = ''
  1417. F_Bezeichnung = ''
  1418. F_Kleingebinde = ''.
  1419. DISPLAY {&List-5}.
  1420. IF T_Strichcode THEN APPLY 'ENTRY' TO F_Strichcode.
  1421. ELSE APPLY 'ENTRY' TO F_Artnr.
  1422. LEAVE.
  1423. END.
  1424. END PROCEDURE.
  1425. /* _UIB-CODE-BLOCK-END */
  1426. &ANALYZE-RESUME
  1427. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR wLagerOrtStrichcode
  1428. PROCEDURE TOOLBAR :
  1429. /*------------------------------------------------------------------------------
  1430. Purpose:
  1431. Parameters: <none>
  1432. Notes:
  1433. ------------------------------------------------------------------------------*/
  1434. { incl/wintoolbar.i }
  1435. END PROCEDURE.
  1436. /* _UIB-CODE-BLOCK-END */
  1437. &ANALYZE-RESUME
  1438. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wLagerOrtStrichcode
  1439. PROCEDURE viewObject :
  1440. /*------------------------------------------------------------------------------
  1441. Purpose: Super Override
  1442. Parameters:
  1443. Notes:
  1444. ------------------------------------------------------------------------------*/
  1445. RUN SUPER.
  1446. RUN ENTRY_CURSOR.
  1447. END PROCEDURE.
  1448. /* _UIB-CODE-BLOCK-END */
  1449. &ANALYZE-RESUME
  1450. /* ************************ Function Implementations ***************** */
  1451. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getProgname wLagerOrtStrichcode
  1452. FUNCTION getProgname RETURNS CHARACTER
  1453. ( /* parameter-definitions */ ) :
  1454. /*------------------------------------------------------------------------------
  1455. Purpose:
  1456. Notes:
  1457. ------------------------------------------------------------------------------*/
  1458. RETURN Progname.
  1459. END FUNCTION.
  1460. /* _UIB-CODE-BLOCK-END */
  1461. &ANALYZE-RESUME