w-inventar.w 73 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME wInventar
  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 wInventar
  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 iStufe AS INT NO-UNDO.
  43. DEF VAR cFeld AS CHAR NO-UNDO.
  44. DEF VAR cAusnahme AS CHAR NO-UNDO
  45. INIT 'F_Inhalt,Btn_Cancel,CB_Datum,CB_Lager,T_Strichcode,Btn_1,Btn_2,Btn_3,Btn_4,Btn_5,~
  46. Btn_6,Btn_7,Btn_8,Btn_9,Btn_10,Btn_Clear,Btn_Minus,Btn_Search'.
  47. DEF VAR hFeld AS HANDLE NO-UNDO.
  48. DEF VAR cGGeb_SC AS CHAR NO-UNDO.
  49. DEF VAR cVGeb_SC AS CHAR NO-UNDO.
  50. DEF VAR cKGeb_SC AS CHAR NO-UNDO.
  51. DEF VAR iKnr AS INT NO-UNDO.
  52. DEF VAR hQuery AS HANDLE NO-UNDO.
  53. DEF BUFFER BArtst FOR Artst.
  54. DEF BUFFER BArtbez FOR Artbez .
  55. DEF BUFFER BKGebinde FOR KGebinde.
  56. DEF BUFFER BVGebinde FOR VGebinde.
  57. DEF BUFFER BGGebinde FOR GGebinde.
  58. DEF TEMP-TABLE tDatum NO-UNDO
  59. FIELD Datum AS DATE
  60. INDEX tDatum-k1 IS PRIMARY
  61. Datum DESCENDING.
  62. { incl/windefinition.i }
  63. {src/adm2/widgetprto.i}
  64. /* _UIB-CODE-BLOCK-END */
  65. &ANALYZE-RESUME
  66. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  67. /* ******************** Preprocessor Definitions ******************** */
  68. &Scoped-define PROCEDURE-TYPE SmartWindow
  69. &Scoped-define DB-AWARE no
  70. &Scoped-define ADM-CONTAINER WINDOW
  71. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  72. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  73. &Scoped-define FRAME-NAME fMain
  74. &Scoped-define BROWSE-NAME BROWSE-3
  75. /* Internal Tables (found by Frame, Query & Browse Queries) */
  76. &Scoped-define INTERNAL-TABLES tArtbw
  77. /* Definitions for BROWSE BROWSE-3 */
  78. &Scoped-define FIELDS-IN-QUERY-BROWSE-3 Artnr KGeb_Inh Bez1 Bez2 Menge KGebinde GGeb_Me VGeb_Me KGeb_Me Inhalt Jahr
  79. &Scoped-define ENABLED-FIELDS-IN-QUERY-BROWSE-3
  80. &Scoped-define SELF-NAME BROWSE-3
  81. &Scoped-define QUERY-STRING-BROWSE-3 FOR EACH tArtbw NO-LOCK INDEXED-REPOSITION
  82. &Scoped-define OPEN-QUERY-BROWSE-3 OPEN QUERY {&SELF-NAME} FOR EACH tArtbw NO-LOCK INDEXED-REPOSITION.
  83. &Scoped-define TABLES-IN-QUERY-BROWSE-3 tArtbw
  84. &Scoped-define FIRST-TABLE-IN-QUERY-BROWSE-3 tArtbw
  85. /* Definitions for FRAME fMain */
  86. /* Standard List Definitions */
  87. &Scoped-Define ENABLED-OBJECTS BROWSE-3 CB_Lager CB_Datum Btn_Search ~
  88. F_Strichcode T_Strichcode F_Artnr F_Inhalt F_Jahr F_GGeb F_VGeb F_KGeb ~
  89. F_Bezeichnung Btn_OK Btn_Cancel F_Kleingebinde F_KGebinde_SC F_VGebinde_SC ~
  90. F_GGebinde_SC Btn_1 Btn_2 Btn_3 F_Bestand F_Inventar Btn_4 Btn_5 Btn_6 ~
  91. Btn_7 Btn_8 Btn_9 Btn_10 Btn_Clear Btn_Enter Btn_Minus RECT-43 RECT-44
  92. &Scoped-Define DISPLAYED-OBJECTS CB_Lager CB_Datum F_Strichcode ~
  93. T_Strichcode F_Artnr F_Inhalt F_Jahr F_GGeb F_VGeb F_KGeb F_Bezeichnung ~
  94. F_Kleingebinde F_KGebinde_SC F_VGebinde_SC F_GGebinde_SC F_Bestand ~
  95. F_Inventar
  96. /* Custom List Definitions */
  97. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  98. &Scoped-define List-5 F_Strichcode F_Artnr F_Inhalt F_Jahr F_GGeb F_VGeb ~
  99. F_KGeb F_Bezeichnung F_Kleingebinde F_KGebinde_SC F_VGebinde_SC ~
  100. F_GGebinde_SC F_Bestand F_Inventar
  101. &Scoped-define List-6 F_GGeb F_VGeb F_KGeb F_KGebinde_SC F_VGebinde_SC ~
  102. F_GGebinde_SC
  103. /* _UIB-PREPROCESSOR-BLOCK-END */
  104. &ANALYZE-RESUME
  105. /* ************************ Function Prototypes ********************** */
  106. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getProgname wInventar
  107. FUNCTION getProgname RETURNS CHARACTER
  108. ( /* parameter-definitions */ ) FORWARD.
  109. /* _UIB-CODE-BLOCK-END */
  110. &ANALYZE-RESUME
  111. /* *********************** Control Definitions ********************** */
  112. /* Define the widget handle for the window */
  113. DEFINE VAR wInventar AS WIDGET-HANDLE NO-UNDO.
  114. /* Definitions of the field level widgets */
  115. DEFINE BUTTON Btn_1
  116. LABEL "1"
  117. SIZE 8 BY 1.52.
  118. DEFINE BUTTON Btn_10
  119. LABEL "0"
  120. SIZE 8 BY 1.52.
  121. DEFINE BUTTON Btn_2
  122. LABEL "2"
  123. SIZE 8 BY 1.52.
  124. DEFINE BUTTON Btn_3
  125. LABEL "3"
  126. SIZE 8 BY 1.52.
  127. DEFINE BUTTON Btn_4
  128. LABEL "4"
  129. SIZE 8 BY 1.52.
  130. DEFINE BUTTON Btn_5
  131. LABEL "5"
  132. SIZE 8 BY 1.52.
  133. DEFINE BUTTON Btn_6
  134. LABEL "6"
  135. SIZE 8 BY 1.52.
  136. DEFINE BUTTON Btn_7
  137. LABEL "7"
  138. SIZE 8 BY 1.52.
  139. DEFINE BUTTON Btn_8
  140. LABEL "8"
  141. SIZE 8 BY 1.52.
  142. DEFINE BUTTON Btn_9
  143. LABEL "9"
  144. SIZE 8 BY 1.52.
  145. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  146. LABEL "Abbrechen"
  147. SIZE 15 BY 1.14.
  148. DEFINE BUTTON Btn_Clear
  149. LABEL "CL"
  150. SIZE 8 BY 1.52.
  151. DEFINE BUTTON Btn_Enter
  152. LABEL "TAB"
  153. SIZE 24 BY 1.52.
  154. DEFINE BUTTON Btn_Minus
  155. LABEL "--"
  156. SIZE 8 BY 1.52.
  157. DEFINE BUTTON Btn_OK
  158. LABEL "Speichern"
  159. SIZE 15 BY 1.14.
  160. DEFINE BUTTON Btn_Search
  161. IMAGE-UP FILE "grafik/select.bmp":U
  162. IMAGE-DOWN FILE "grafik/select.bmp":U
  163. LABEL "Button 1"
  164. SIZE 8 BY 1.52.
  165. DEFINE VARIABLE CB_Datum AS CHARACTER FORMAT "X(256)":U INITIAL "00"
  166. LABEL "Inventardatum"
  167. VIEW-AS COMBO-BOX INNER-LINES 5
  168. LIST-ITEMS "01.01.2010"
  169. DROP-DOWN-LIST
  170. SIZE 16 BY 1 NO-UNDO.
  171. DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U INITIAL "00"
  172. LABEL "Lager"
  173. VIEW-AS COMBO-BOX INNER-LINES 5
  174. LIST-ITEM-PAIRS "Lager (00)","00",
  175. "Lager (01)","01"
  176. DROP-DOWN-LIST
  177. SIZE 25 BY 1 NO-UNDO.
  178. DEFINE VARIABLE F_Artnr AS CHARACTER FORMAT "x(30)":U
  179. LABEL "Artnr / Inhalt / Jahr"
  180. VIEW-AS FILL-IN NATIVE
  181. SIZE 14 BY 1
  182. BGCOLOR 15 NO-UNDO.
  183. DEFINE VARIABLE F_Bestand AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
  184. LABEL "Bestand"
  185. VIEW-AS FILL-IN NATIVE
  186. SIZE 14 BY 1
  187. BGCOLOR 15 NO-UNDO.
  188. DEFINE VARIABLE F_Bezeichnung AS CHARACTER FORMAT "X(256)":U
  189. LABEL "Artikel"
  190. VIEW-AS FILL-IN NATIVE
  191. SIZE 60 BY 1
  192. BGCOLOR 15 NO-UNDO.
  193. DEFINE VARIABLE F_GGeb AS INTEGER FORMAT "-999999":U INITIAL 0
  194. LABEL "Grossgebinde"
  195. VIEW-AS FILL-IN NATIVE
  196. SIZE 12 BY 1
  197. BGCOLOR 15 NO-UNDO.
  198. DEFINE VARIABLE F_GGebinde_SC AS CHARACTER FORMAT "X(256)":U
  199. LABEL "Strichcode GGeb"
  200. VIEW-AS FILL-IN NATIVE
  201. SIZE 60 BY 1
  202. BGCOLOR 15 NO-UNDO.
  203. DEFINE VARIABLE F_Inhalt AS INTEGER FORMAT "9999":U INITIAL 0
  204. LABEL "/"
  205. VIEW-AS FILL-IN NATIVE
  206. SIZE 8 BY 1
  207. BGCOLOR 15 NO-UNDO.
  208. DEFINE VARIABLE F_Inventar AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
  209. LABEL "Inventar"
  210. VIEW-AS FILL-IN NATIVE
  211. SIZE 14 BY 1
  212. BGCOLOR 15 NO-UNDO.
  213. DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999":U INITIAL 0
  214. LABEL "/"
  215. VIEW-AS FILL-IN NATIVE
  216. SIZE 8 BY 1
  217. BGCOLOR 15 NO-UNDO.
  218. DEFINE VARIABLE F_KGeb AS INTEGER FORMAT "-999999":U INITIAL 0
  219. LABEL "Kleingebinde"
  220. VIEW-AS FILL-IN NATIVE
  221. SIZE 12 BY 1
  222. BGCOLOR 15 NO-UNDO.
  223. DEFINE VARIABLE F_KGebinde_SC AS CHARACTER FORMAT "X(256)":U
  224. LABEL "Strichcode KGeb"
  225. VIEW-AS FILL-IN NATIVE
  226. SIZE 60 BY 1
  227. BGCOLOR 15 NO-UNDO.
  228. DEFINE VARIABLE F_Kleingebinde AS CHARACTER FORMAT "X(256)":U
  229. LABEL "Kleingebinde"
  230. VIEW-AS FILL-IN NATIVE
  231. SIZE 60 BY 1
  232. BGCOLOR 15 NO-UNDO.
  233. DEFINE VARIABLE F_Strichcode AS CHARACTER FORMAT "X(256)":U
  234. LABEL "Strichcode"
  235. VIEW-AS FILL-IN NATIVE
  236. SIZE 60 BY 1
  237. BGCOLOR 15 NO-UNDO.
  238. DEFINE VARIABLE F_VGeb AS INTEGER FORMAT "-999999":U INITIAL 0
  239. LABEL "Verkaufsgebinde"
  240. VIEW-AS FILL-IN NATIVE
  241. SIZE 12 BY 1
  242. BGCOLOR 15 NO-UNDO.
  243. DEFINE VARIABLE F_VGebinde_SC AS CHARACTER FORMAT "X(256)":U
  244. LABEL "Strichcode VGeb"
  245. VIEW-AS FILL-IN NATIVE
  246. SIZE 60 BY 1
  247. BGCOLOR 15 NO-UNDO.
  248. DEFINE RECTANGLE RECT-43
  249. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  250. SIZE 168 BY 12.38.
  251. DEFINE RECTANGLE RECT-44
  252. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  253. SIZE 168 BY 7.86.
  254. DEFINE VARIABLE T_Strichcode AS LOGICAL INITIAL no
  255. LABEL "Strichcode"
  256. VIEW-AS TOGGLE-BOX
  257. SIZE 20 BY 1.52 NO-UNDO.
  258. /* Query definitions */
  259. &ANALYZE-SUSPEND
  260. DEFINE QUERY BROWSE-3 FOR
  261. tArtbw SCROLLING.
  262. &ANALYZE-RESUME
  263. /* Browse definitions */
  264. DEFINE BROWSE BROWSE-3
  265. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS BROWSE-3 wInventar _FREEFORM
  266. QUERY BROWSE-3 NO-LOCK DISPLAY
  267. Artnr FORMAT "999999" LABEL 'Artnr'
  268. KGeb_Inh FORMAT "zzz9" LABEL 'GebInh'
  269. Bez1 FORMAT "x(30)" LABEL 'Bezeichnung'
  270. Bez2 FORMAT "x(30)" LABEL 'Zusatzbezeichnung'
  271. Menge FORMAT "zzz,zz9-" LABEL 'Menge'
  272. KGebinde FORMAT "x(10)" LABEL 'Gebinde'
  273. GGeb_Me FORMAT "z,zz9-" LABEL 'GGeb'
  274. VGeb_Me FORMAT "zzz,zz9-" LABEL 'VGeb'
  275. KGeb_Me FORMAT "zzz,zz9-" LABEL 'KGeb'
  276. Inhalt FORMAT "9999" LABEL 'Inhalt'
  277. Jahr FORMAT "9999" LABEL 'Jahr'
  278. /* _UIB-CODE-BLOCK-END */
  279. &ANALYZE-RESUME
  280. WITH NO-ROW-MARKERS SEPARATORS NO-TAB-STOP SIZE 166 BY 7.14.
  281. /* ************************ Frame Definitions *********************** */
  282. DEFINE FRAME fMain
  283. BROWSE-3 AT ROW 14 COL 3 WIDGET-ID 200
  284. CB_Lager AT ROW 1.52 COL 20 COLON-ALIGNED WIDGET-ID 2
  285. CB_Datum AT ROW 2.52 COL 20 COLON-ALIGNED WIDGET-ID 4
  286. Btn_Search AT ROW 1.52 COL 120 WIDGET-ID 74
  287. F_Strichcode AT ROW 4.52 COL 20 COLON-ALIGNED WIDGET-ID 8
  288. T_Strichcode AT ROW 1.52 COL 50 WIDGET-ID 6 NO-TAB-STOP
  289. F_Artnr AT ROW 5.52 COL 20 COLON-ALIGNED WIDGET-ID 10
  290. F_Inhalt AT ROW 5.52 COL 38 COLON-ALIGNED WIDGET-ID 12
  291. F_Jahr AT ROW 5.52 COL 50 COLON-ALIGNED WIDGET-ID 14
  292. F_GGeb AT ROW 8 COL 28 COLON-ALIGNED WIDGET-ID 20
  293. F_VGeb AT ROW 9 COL 28 COLON-ALIGNED WIDGET-ID 22
  294. F_KGeb AT ROW 10 COL 28 COLON-ALIGNED WIDGET-ID 24
  295. F_Bezeichnung AT ROW 5.52 COL 67 COLON-ALIGNED WIDGET-ID 16 NO-TAB-STOP
  296. Btn_OK AT ROW 11.52 COL 20.2 WIDGET-ID 34
  297. Btn_Cancel AT ROW 11.52 COL 69 WIDGET-ID 36
  298. F_Kleingebinde AT ROW 6.52 COL 67 COLON-ALIGNED WIDGET-ID 18 NO-TAB-STOP
  299. F_KGebinde_SC AT ROW 10 COL 106 COLON-ALIGNED WIDGET-ID 60
  300. F_VGebinde_SC AT ROW 11 COL 106 COLON-ALIGNED WIDGET-ID 64
  301. F_GGebinde_SC AT ROW 12 COL 106 COLON-ALIGNED WIDGET-ID 66
  302. Btn_1 AT ROW 1.52 COL 140 WIDGET-ID 38 NO-TAB-STOP
  303. Btn_2 AT ROW 1.52 COL 148 WIDGET-ID 40 NO-TAB-STOP
  304. Btn_3 AT ROW 1.52 COL 156 WIDGET-ID 42 NO-TAB-STOP
  305. F_Bestand AT ROW 8 COL 67 COLON-ALIGNED WIDGET-ID 28 NO-TAB-STOP
  306. F_Inventar AT ROW 9 COL 67 COLON-ALIGNED WIDGET-ID 30 NO-TAB-STOP
  307. Btn_4 AT ROW 3 COL 140 WIDGET-ID 44 NO-TAB-STOP
  308. Btn_5 AT ROW 3 COL 148 WIDGET-ID 46 NO-TAB-STOP
  309. Btn_6 AT ROW 3 COL 156 WIDGET-ID 48 NO-TAB-STOP
  310. Btn_7 AT ROW 4.52 COL 140 WIDGET-ID 50 NO-TAB-STOP
  311. Btn_8 AT ROW 4.52 COL 148 WIDGET-ID 52 NO-TAB-STOP
  312. Btn_9 AT ROW 4.52 COL 156 WIDGET-ID 54 NO-TAB-STOP
  313. Btn_10 AT ROW 6 COL 140 WIDGET-ID 56 NO-TAB-STOP
  314. Btn_Clear AT ROW 6 COL 156 WIDGET-ID 58 NO-TAB-STOP
  315. Btn_Enter AT ROW 7.52 COL 140 WIDGET-ID 68 NO-TAB-STOP
  316. Btn_Minus AT ROW 6 COL 148 WIDGET-ID 70 NO-TAB-STOP
  317. RECT-43 AT ROW 1.24 COL 2 WIDGET-ID 62
  318. RECT-44 AT ROW 13.62 COL 2 WIDGET-ID 72
  319. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  320. SIDE-LABELS NO-UNDERLINE THREE-D
  321. AT COL 1 ROW 1
  322. SIZE 170 BY 20.81 WIDGET-ID 100.
  323. /* *********************** Procedure Settings ************************ */
  324. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  325. /* Settings for THIS-PROCEDURE
  326. Type: SmartWindow
  327. Allow: Basic,Browse,DB-Fields,Query,Smart,Window
  328. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  329. Other Settings: COMPILE APPSERVER
  330. Temp-Tables and Buffers:
  331. TABLE: tArtbw T "?" NO-UNDO AnaDat Artbw
  332. ADDITIONAL-FIELDS:
  333. FIELD KGebinde AS CHAR
  334. FIELD KGeb_Inh AS INT
  335. END-FIELDS.
  336. END-TABLES.
  337. */
  338. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  339. /* ************************* Create Window ************************** */
  340. &ANALYZE-SUSPEND _CREATE-WINDOW
  341. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  342. CREATE WINDOW wInventar ASSIGN
  343. HIDDEN = YES
  344. TITLE = "Inventaraufnahme"
  345. HEIGHT = 20.81
  346. WIDTH = 170
  347. MAX-HEIGHT = 48.48
  348. MAX-WIDTH = 384
  349. VIRTUAL-HEIGHT = 48.48
  350. VIRTUAL-WIDTH = 384
  351. RESIZE = no
  352. SCROLL-BARS = no
  353. STATUS-AREA = no
  354. BGCOLOR = ?
  355. FGCOLOR = ?
  356. THREE-D = yes
  357. MESSAGE-AREA = no
  358. SENSITIVE = yes.
  359. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  360. &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN
  361. IF NOT wInventar:LOAD-ICON("grafik/appl.ico":U) THEN
  362. MESSAGE "Unable to load icon: grafik/appl.ico"
  363. VIEW-AS ALERT-BOX WARNING BUTTONS OK.
  364. &ENDIF
  365. /* END WINDOW DEFINITION */
  366. &ANALYZE-RESUME
  367. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wInventar
  368. /* ************************* Included-Libraries *********************** */
  369. {src/adm2/containr.i}
  370. /* _UIB-CODE-BLOCK-END */
  371. &ANALYZE-RESUME
  372. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  373. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  374. /* SETTINGS FOR WINDOW wInventar
  375. VISIBLE,,RUN-PERSISTENT */
  376. /* SETTINGS FOR FRAME fMain
  377. FRAME-NAME Custom */
  378. /* BROWSE-TAB BROWSE-3 1 fMain */
  379. ASSIGN
  380. BROWSE-3:COLUMN-RESIZABLE IN FRAME fMain = TRUE.
  381. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME fMain
  382. 5 */
  383. /* SETTINGS FOR FILL-IN F_Bestand IN FRAME fMain
  384. 5 */
  385. ASSIGN
  386. F_Bestand:READ-ONLY IN FRAME fMain = TRUE.
  387. /* SETTINGS FOR FILL-IN F_Bezeichnung IN FRAME fMain
  388. 5 */
  389. ASSIGN
  390. F_Bezeichnung:READ-ONLY IN FRAME fMain = TRUE.
  391. /* SETTINGS FOR FILL-IN F_GGeb IN FRAME fMain
  392. 5 6 */
  393. /* SETTINGS FOR FILL-IN F_GGebinde_SC IN FRAME fMain
  394. 5 6 */
  395. /* SETTINGS FOR FILL-IN F_Inhalt IN FRAME fMain
  396. 5 */
  397. /* SETTINGS FOR FILL-IN F_Inventar IN FRAME fMain
  398. 5 */
  399. ASSIGN
  400. F_Inventar:READ-ONLY IN FRAME fMain = TRUE.
  401. /* SETTINGS FOR FILL-IN F_Jahr IN FRAME fMain
  402. 5 */
  403. /* SETTINGS FOR FILL-IN F_KGeb IN FRAME fMain
  404. 5 6 */
  405. /* SETTINGS FOR FILL-IN F_KGebinde_SC IN FRAME fMain
  406. 5 6 */
  407. /* SETTINGS FOR FILL-IN F_Kleingebinde IN FRAME fMain
  408. 5 */
  409. ASSIGN
  410. F_Kleingebinde:READ-ONLY IN FRAME fMain = TRUE.
  411. /* SETTINGS FOR FILL-IN F_Strichcode IN FRAME fMain
  412. 5 */
  413. /* SETTINGS FOR FILL-IN F_VGeb IN FRAME fMain
  414. 5 6 */
  415. /* SETTINGS FOR FILL-IN F_VGebinde_SC IN FRAME fMain
  416. 5 6 */
  417. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wInventar)
  418. THEN wInventar:HIDDEN = yes.
  419. /* _RUN-TIME-ATTRIBUTES-END */
  420. &ANALYZE-RESUME
  421. /* Setting information for Queries and Browse Widgets fields */
  422. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE BROWSE-3
  423. /* Query rebuild information for BROWSE BROWSE-3
  424. _START_FREEFORM
  425. OPEN QUERY {&SELF-NAME} FOR EACH tArtbw NO-LOCK INDEXED-REPOSITION.
  426. _END_FREEFORM
  427. _Options = "NO-LOCK INDEXED-REPOSITION"
  428. _Query is NOT OPENED
  429. */ /* BROWSE BROWSE-3 */
  430. &ANALYZE-RESUME
  431. /* ************************ Control Triggers ************************ */
  432. &Scoped-define SELF-NAME wInventar
  433. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wInventar wInventar
  434. ON END-ERROR OF wInventar /* Inventaraufnahme */
  435. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
  436. /* This case occurs when the user presses the "Esc" key.
  437. In a persistently run window, just ignore this. If we did not, the
  438. application would exit. */
  439. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  440. /* ****************************** */
  441. RUN ENDE.
  442. RETURN NO-APPLY.
  443. /* ****************************** */
  444. END.
  445. /* _UIB-CODE-BLOCK-END */
  446. &ANALYZE-RESUME
  447. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wInventar wInventar
  448. ON WINDOW-CLOSE OF wInventar /* Inventaraufnahme */
  449. DO:
  450. /* This ADM code must be left here in order for the SmartWindow
  451. and its descendents to terminate properly on exit. */
  452. RUN ENDE.
  453. RETURN NO-APPLY.
  454. END.
  455. /* _UIB-CODE-BLOCK-END */
  456. &ANALYZE-RESUME
  457. &Scoped-define SELF-NAME Btn_1
  458. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_1 wInventar
  459. ON CHOOSE OF Btn_1 IN FRAME fMain /* 1 */
  460. DO:
  461. DEF VAR hFocus AS HANDLE NO-UNDO.
  462. DEF VAR iWert AS INT NO-UNDO.
  463. DO WHILE TRUE:
  464. hFocus = hFeld.
  465. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  466. IF ERROR-STATUS:ERROR THEN LEAVE.
  467. iWert = (iWert * 10) + 1.
  468. hFocus:SCREEN-VALUE = STRING(iWert).
  469. LEAVE.
  470. END.
  471. APPLY 'ENTRY' TO hFOCUS.
  472. RETURN NO-APPLY.
  473. END.
  474. /* _UIB-CODE-BLOCK-END */
  475. &ANALYZE-RESUME
  476. &Scoped-define SELF-NAME Btn_10
  477. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_10 wInventar
  478. ON CHOOSE OF Btn_10 IN FRAME fMain /* 0 */
  479. DO:
  480. DEF VAR hFocus AS HANDLE NO-UNDO.
  481. DEF VAR iWert AS INT NO-UNDO.
  482. DO WHILE TRUE:
  483. hFocus = hFeld.
  484. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  485. IF ERROR-STATUS:ERROR THEN LEAVE.
  486. iWert = (iWert * 10) + 0.
  487. hFocus:SCREEN-VALUE = STRING(iWert).
  488. LEAVE.
  489. END.
  490. APPLY 'ENTRY' TO hFOCUS.
  491. RETURN NO-APPLY.
  492. END.
  493. /* _UIB-CODE-BLOCK-END */
  494. &ANALYZE-RESUME
  495. &Scoped-define SELF-NAME Btn_2
  496. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_2 wInventar
  497. ON CHOOSE OF Btn_2 IN FRAME fMain /* 2 */
  498. DO:
  499. DEF VAR hFocus AS HANDLE NO-UNDO.
  500. DEF VAR iWert AS INT NO-UNDO.
  501. DO WHILE TRUE:
  502. hFocus = hFeld.
  503. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  504. IF ERROR-STATUS:ERROR THEN LEAVE.
  505. iWert = (iWert * 10) + 2.
  506. hFocus:SCREEN-VALUE = STRING(iWert).
  507. LEAVE.
  508. END.
  509. APPLY 'ENTRY' TO hFOCUS.
  510. RETURN NO-APPLY.
  511. END.
  512. /* _UIB-CODE-BLOCK-END */
  513. &ANALYZE-RESUME
  514. &Scoped-define SELF-NAME Btn_3
  515. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_3 wInventar
  516. ON CHOOSE OF Btn_3 IN FRAME fMain /* 3 */
  517. DO:
  518. DEF VAR hFocus AS HANDLE NO-UNDO.
  519. DEF VAR iWert AS INT NO-UNDO.
  520. DO WHILE TRUE:
  521. hFocus = hFeld.
  522. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  523. IF ERROR-STATUS:ERROR THEN LEAVE.
  524. iWert = (iWert * 10) + 3.
  525. hFocus:SCREEN-VALUE = STRING(iWert).
  526. LEAVE.
  527. END.
  528. APPLY 'ENTRY' TO hFOCUS.
  529. RETURN NO-APPLY.
  530. END.
  531. /* _UIB-CODE-BLOCK-END */
  532. &ANALYZE-RESUME
  533. &Scoped-define SELF-NAME Btn_4
  534. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_4 wInventar
  535. ON CHOOSE OF Btn_4 IN FRAME fMain /* 4 */
  536. DO:
  537. DEF VAR hFocus AS HANDLE NO-UNDO.
  538. DEF VAR iWert AS INT NO-UNDO.
  539. DO WHILE TRUE:
  540. hFocus = hFeld.
  541. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  542. IF ERROR-STATUS:ERROR THEN LEAVE.
  543. iWert = (iWert * 10) + 4.
  544. hFocus:SCREEN-VALUE = STRING(iWert).
  545. LEAVE.
  546. END.
  547. APPLY 'ENTRY' TO hFOCUS.
  548. RETURN NO-APPLY.
  549. END.
  550. /* _UIB-CODE-BLOCK-END */
  551. &ANALYZE-RESUME
  552. &Scoped-define SELF-NAME Btn_5
  553. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_5 wInventar
  554. ON CHOOSE OF Btn_5 IN FRAME fMain /* 5 */
  555. DO:
  556. DEF VAR hFocus AS HANDLE NO-UNDO.
  557. DEF VAR iWert AS INT NO-UNDO.
  558. DO WHILE TRUE:
  559. hFocus = hFeld.
  560. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  561. IF ERROR-STATUS:ERROR THEN LEAVE.
  562. iWert = (iWert * 10) + 5.
  563. hFocus:SCREEN-VALUE = STRING(iWert).
  564. LEAVE.
  565. END.
  566. APPLY 'ENTRY' TO hFOCUS.
  567. RETURN NO-APPLY.
  568. END.
  569. /* _UIB-CODE-BLOCK-END */
  570. &ANALYZE-RESUME
  571. &Scoped-define SELF-NAME Btn_6
  572. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_6 wInventar
  573. ON CHOOSE OF Btn_6 IN FRAME fMain /* 6 */
  574. DO:
  575. DEF VAR hFocus AS HANDLE NO-UNDO.
  576. DEF VAR iWert AS INT NO-UNDO.
  577. DO WHILE TRUE:
  578. hFocus = hFeld.
  579. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  580. IF ERROR-STATUS:ERROR THEN LEAVE.
  581. iWert = (iWert * 10) + 6.
  582. hFocus:SCREEN-VALUE = STRING(iWert).
  583. LEAVE.
  584. END.
  585. APPLY 'ENTRY' TO hFOCUS.
  586. RETURN NO-APPLY.
  587. END.
  588. /* _UIB-CODE-BLOCK-END */
  589. &ANALYZE-RESUME
  590. &Scoped-define SELF-NAME Btn_7
  591. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_7 wInventar
  592. ON CHOOSE OF Btn_7 IN FRAME fMain /* 7 */
  593. DO:
  594. DEF VAR hFocus AS HANDLE NO-UNDO.
  595. DEF VAR iWert AS INT NO-UNDO.
  596. DO WHILE TRUE:
  597. hFocus = hFeld.
  598. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  599. IF ERROR-STATUS:ERROR THEN LEAVE.
  600. iWert = (iWert * 10) + 7.
  601. hFocus:SCREEN-VALUE = STRING(iWert).
  602. LEAVE.
  603. END.
  604. APPLY 'ENTRY' TO hFOCUS.
  605. RETURN NO-APPLY.
  606. END.
  607. /* _UIB-CODE-BLOCK-END */
  608. &ANALYZE-RESUME
  609. &Scoped-define SELF-NAME Btn_8
  610. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_8 wInventar
  611. ON CHOOSE OF Btn_8 IN FRAME fMain /* 8 */
  612. DO:
  613. DEF VAR hFocus AS HANDLE NO-UNDO.
  614. DEF VAR iWert AS INT NO-UNDO.
  615. DO WHILE TRUE:
  616. hFocus = hFeld.
  617. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  618. IF ERROR-STATUS:ERROR THEN LEAVE.
  619. iWert = (iWert * 10) + 8.
  620. hFocus:SCREEN-VALUE = STRING(iWert).
  621. LEAVE.
  622. END.
  623. APPLY 'ENTRY' TO hFOCUS.
  624. RETURN NO-APPLY.
  625. END.
  626. /* _UIB-CODE-BLOCK-END */
  627. &ANALYZE-RESUME
  628. &Scoped-define SELF-NAME Btn_9
  629. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_9 wInventar
  630. ON CHOOSE OF Btn_9 IN FRAME fMain /* 9 */
  631. DO:
  632. DEF VAR hFocus AS HANDLE NO-UNDO.
  633. DEF VAR iWert AS INT NO-UNDO.
  634. DO WHILE TRUE:
  635. hFocus = hFeld.
  636. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  637. IF ERROR-STATUS:ERROR THEN LEAVE.
  638. iWert = (iWert * 10) + 9.
  639. hFocus:SCREEN-VALUE = STRING(iWert).
  640. LEAVE.
  641. END.
  642. APPLY 'ENTRY' TO hFOCUS.
  643. RETURN NO-APPLY.
  644. END.
  645. /* _UIB-CODE-BLOCK-END */
  646. &ANALYZE-RESUME
  647. &Scoped-define SELF-NAME Btn_Cancel
  648. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel wInventar
  649. ON CHOOSE OF Btn_Cancel IN FRAME fMain /* Abbrechen */
  650. DO:
  651. RUN ENDE.
  652. APPLY "WINDOW-CLOSE":U TO THIS-PROCEDURE.
  653. RETURN NO-APPLY.
  654. END.
  655. /* _UIB-CODE-BLOCK-END */
  656. &ANALYZE-RESUME
  657. &Scoped-define SELF-NAME Btn_Clear
  658. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Clear wInventar
  659. ON CHOOSE OF Btn_Clear IN FRAME fMain /* CL */
  660. DO:
  661. DEF VAR hFocus AS HANDLE NO-UNDO.
  662. DEF VAR iWert AS INT NO-UNDO.
  663. DO WHILE TRUE:
  664. hFocus = hFeld.
  665. hFocus:SCREEN-VALUE = ''.
  666. LEAVE.
  667. END.
  668. APPLY 'ENTRY' TO hFOCUS.
  669. RETURN NO-APPLY.
  670. END.
  671. /* _UIB-CODE-BLOCK-END */
  672. &ANALYZE-RESUME
  673. &Scoped-define SELF-NAME Btn_Enter
  674. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Enter wInventar
  675. ON CHOOSE OF Btn_Enter IN FRAME fMain /* TAB */
  676. DO:
  677. DEF VAR hFocus AS HANDLE NO-UNDO.
  678. DEF VAR iWert AS INT NO-UNDO.
  679. hFocus = hFeld.
  680. APPLY 'TAB' TO hFOCUS.
  681. RETURN NO-APPLY.
  682. END.
  683. /* _UIB-CODE-BLOCK-END */
  684. &ANALYZE-RESUME
  685. &Scoped-define SELF-NAME Btn_Minus
  686. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Minus wInventar
  687. ON CHOOSE OF Btn_Minus IN FRAME fMain /* -- */
  688. DO:
  689. DEF VAR hFocus AS HANDLE NO-UNDO.
  690. DEF VAR iWert AS INT NO-UNDO.
  691. DO WHILE TRUE:
  692. hFocus = hFeld.
  693. iWert = INTEGER(hFocus:SCREEN-VALUE) NO-ERROR.
  694. IF ERROR-STATUS:ERROR THEN LEAVE.
  695. iWert = iWert * -1.
  696. hFocus:SCREEN-VALUE = STRING(iWert).
  697. LEAVE.
  698. END.
  699. APPLY 'ENTRY' TO hFOCUS.
  700. RETURN NO-APPLY.
  701. END.
  702. /* _UIB-CODE-BLOCK-END */
  703. &ANALYZE-RESUME
  704. &Scoped-define SELF-NAME Btn_OK
  705. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK wInventar
  706. ON CHOOSE OF Btn_OK IN FRAME fMain /* Speichern */
  707. DO:
  708. RUN SPEICHERN.
  709. RETURN NO-APPLY.
  710. END.
  711. /* _UIB-CODE-BLOCK-END */
  712. &ANALYZE-RESUME
  713. &Scoped-define SELF-NAME Btn_Search
  714. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Search wInventar
  715. ON CHOOSE OF Btn_Search IN FRAME fMain /* Button 1 */
  716. DO:
  717. RETURN NO-APPLY.
  718. END.
  719. /* _UIB-CODE-BLOCK-END */
  720. &ANALYZE-RESUME
  721. &Scoped-define SELF-NAME CB_Datum
  722. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Datum wInventar
  723. ON VALUE-CHANGED OF CB_Datum IN FRAME fMain /* Inventardatum */
  724. DO:
  725. APPLY 'TAB' TO SELF.
  726. RETURN NO-APPLY.
  727. END.
  728. /* _UIB-CODE-BLOCK-END */
  729. &ANALYZE-RESUME
  730. &Scoped-define SELF-NAME CB_Lager
  731. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager wInventar
  732. ON VALUE-CHANGED OF CB_Lager IN FRAME fMain /* Lager */
  733. DO:
  734. iLager = INTEGER(SELF:SCREEN-VALUE).
  735. RUN LAGER_EINSTELLUNGEN.
  736. APPLY 'ENTRY' TO F_Strichcode.
  737. RETURN NO-APPLY.
  738. END.
  739. /* _UIB-CODE-BLOCK-END */
  740. &ANALYZE-RESUME
  741. &Scoped-define SELF-NAME F_Artnr
  742. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr wInventar
  743. ON ENTRY OF F_Artnr IN FRAME fMain /* Artnr / Inhalt / Jahr */
  744. DO:
  745. hFeld = SELF:HANDLE.
  746. ASSIGN cGGeb_SC = ''
  747. cVGeb_SC = ''
  748. cKGeb_SC = ''
  749. .
  750. END.
  751. /* _UIB-CODE-BLOCK-END */
  752. &ANALYZE-RESUME
  753. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr wInventar
  754. ON LEAVE OF F_Artnr IN FRAME fMain /* Artnr / Inhalt / Jahr */
  755. DO:
  756. DEF VAR cName AS CHAR NO-UNDO.
  757. cName = LAST-EVENT:WIDGET-ENTER:NAME.
  758. IF cName = 'T_Strichcode' THEN DO WITH FRAME {&FRAME-NAME}:
  759. ASSIGN F_Artnr :SCREEN-VALUE = ''
  760. F_Inhalt:SCREEN-VALUE = ''
  761. F_Jahr :SCREEN-VALUE = ''.
  762. RETURN.
  763. END.
  764. IF LOOKUP(cName, cAusnahme, ',') > 0 THEN RETURN.
  765. ASSIGN F_Artnr.
  766. FeldInhalt = F_Artnr.
  767. ARecid = ?.
  768. IF F_Artnr:SENSITIVE = FALSE THEN LEAVE.
  769. RUN ARTIKELNUMMER.
  770. IF ARecid = ? OR
  771. ARecid = 0 OR
  772. RETURN-VALUE = 'ERROR' THEN DO:
  773. APPLY 'ENTRY' TO SELF.
  774. RETURN NO-APPLY.
  775. END.
  776. ASSIGN iStufe = 0
  777. cFeld = 'F_Artnr'.
  778. RUN DETAIL_ANZEIGEN.
  779. RETURN NO-APPLY.
  780. END.
  781. /* _UIB-CODE-BLOCK-END */
  782. &ANALYZE-RESUME
  783. &Scoped-define SELF-NAME F_GGeb
  784. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_GGeb wInventar
  785. ON ENTRY OF F_GGeb IN FRAME fMain /* Grossgebinde */
  786. DO:
  787. hFeld = SELF:HANDLE.
  788. END.
  789. /* _UIB-CODE-BLOCK-END */
  790. &ANALYZE-RESUME
  791. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_GGeb wInventar
  792. ON LEAVE OF F_GGeb IN FRAME fMain /* Grossgebinde */
  793. DO:
  794. DO WITH FRAME {&FRAME-NAME}:
  795. ASSIGN {&List-6}.
  796. IF F_GGeb = 0 THEN RETURN.
  797. IF F_GGeb > 1000 THEN RETURN.
  798. IF AVAILABLE BGGebinde THEN F_VGeb = F_GGeb * BGGebinde.Inhalt.
  799. IF AVAILABLE BVGebinde THEN F_KGeb = F_VGeb * BVGebinde.Inhalt.
  800. DISPLAY {&List-6}.
  801. END.
  802. END.
  803. /* _UIB-CODE-BLOCK-END */
  804. &ANALYZE-RESUME
  805. &Scoped-define SELF-NAME F_GGebinde_SC
  806. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_GGebinde_SC wInventar
  807. ON LEAVE OF F_GGebinde_SC IN FRAME fMain /* Strichcode GGeb */
  808. DO:
  809. IF F_Strichcode:SENSITIVE = FALSE THEN RETURN.
  810. IF LAST-EVENT:WIDGET-ENTER:NAME = 'T_Strichcode' THEN DO WITH FRAME {&FRAME-NAME}:
  811. F_Strichcode:SCREEN-VALUE = ''.
  812. RETURN.
  813. END.
  814. ASSIGN F_Strichcode
  815. ARecid = ?
  816. iStufe = 3.
  817. IF F_Strichcode = '' THEN RETURN NO-APPLY.
  818. FIND FIRST ArtLief NO-LOCK
  819. WHERE ArtLief.Strichcode_GGeb = F_Strichcode NO-ERROR.
  820. IF NOT AVAILABLE ArtLief THEN DO:
  821. iStufe = 2.
  822. FIND FIRST ArtLief NO-LOCK
  823. WHERE ArtLief.Strichcode_VGeb = F_Strichcode NO-ERROR.
  824. END.
  825. IF NOT AVAILABLE ArtLief THEN DO:
  826. iStufe = 1.
  827. FIND FIRST ArtLief NO-LOCK
  828. WHERE ArtLief.Strichcode_KGeb = F_Strichcode NO-ERROR.
  829. END.
  830. IF AVAILABLE ArtLief THEN DO:
  831. ASSIGN VArtnr = ArtLief.Artnr
  832. VInhalt = ArtLief.Inhalt
  833. VJahr = ArtLief.Jahr.
  834. FIND BArtst NO-LOCK
  835. WHERE BArtst.Firma = ArtLief.Firma
  836. AND BArtst.Artnr = ArtLief.Artnr
  837. AND BArtst.Inhalt = ArtLief.Inhalt
  838. AND BArtst.Jahr = ArtLief.Jahr.
  839. ARecid = RECID(BArtst).
  840. END.
  841. ELSE DO:
  842. iStufe = 0.
  843. FIND FIRST BArtst NO-LOCK USE-INDEX Artst-Strichcode
  844. WHERE BArtst.Strichcode = F_Strichcode NO-ERROR.
  845. IF AVAILABLE BArtst THEN DO:
  846. ASSIGN VArtnr = BArtst.Artnr
  847. VInhalt = BArtst.Inhalt
  848. VJahr = BArtst.Jahr.
  849. END.
  850. ARecid = RECID(BArtst).
  851. END.
  852. IF ARecid = ? THEN DO:
  853. APPLY 'ENTRY' TO SELF.
  854. RETURN NO-APPLY.
  855. END.
  856. cFeld = ''.
  857. RUN DETAIL_ANZEIGEN.
  858. END.
  859. /* _UIB-CODE-BLOCK-END */
  860. &ANALYZE-RESUME
  861. &Scoped-define SELF-NAME F_Inhalt
  862. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt wInventar
  863. ON ENTRY OF F_Inhalt IN FRAME fMain /* / */
  864. DO:
  865. hFeld = SELF:HANDLE.
  866. END.
  867. /* _UIB-CODE-BLOCK-END */
  868. &ANALYZE-RESUME
  869. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt wInventar
  870. ON LEAVE OF F_Inhalt IN FRAME fMain /* / */
  871. DO:
  872. ASSIGN F_Artnr
  873. F_Inhalt.
  874. IF F_Inhalt:SENSITIVE = FALSE THEN LEAVE.
  875. FIND FIRST BArtst NO-LOCK
  876. WHERE BArtst.Firma = Firma
  877. AND BArtst.Artnr = VArtnr
  878. AND BArtst.Inhalt = F_Inhalt NO-ERROR.
  879. IF NOT AVAILABLE BArtst THEN DO:
  880. APPLY 'ENTRY' TO SELF.
  881. RETURN NO-APPLY.
  882. END.
  883. ASSIGN ARecid = RECID(BArtst)
  884. VInhalt = BArtst.Inhalt
  885. VJahr = BArtst.Jahr
  886. iStufe = 0
  887. cFeld = 'F_Inhalt'.
  888. RUN DETAIL_ANZEIGEN.
  889. END.
  890. /* _UIB-CODE-BLOCK-END */
  891. &ANALYZE-RESUME
  892. &Scoped-define SELF-NAME F_Jahr
  893. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr wInventar
  894. ON ENTRY OF F_Jahr IN FRAME fMain /* / */
  895. DO:
  896. hFeld = SELF:HANDLE.
  897. END.
  898. /* _UIB-CODE-BLOCK-END */
  899. &ANALYZE-RESUME
  900. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr wInventar
  901. ON LEAVE OF F_Jahr IN FRAME fMain /* / */
  902. DO:
  903. ASSIGN F_Artnr
  904. F_Inhalt
  905. F_Jahr.
  906. IF F_Jahr:SENSITIVE = FALSE THEN LEAVE.
  907. FIND FIRST BArtst NO-LOCK
  908. WHERE BArtst.Firma = Firma
  909. AND BArtst.Artnr = VArtnr
  910. AND BArtst.Inhalt = VInhalt
  911. AND BArtst.Jahr = F_Jahr NO-ERROR.
  912. IF NOT AVAILABLE BArtst THEN DO:
  913. APPLY 'ENTRY' TO SELF.
  914. RETURN NO-APPLY.
  915. END.
  916. ASSIGN ARecid = RECID(BArtst)
  917. VInhalt = BArtst.Inhalt
  918. VJahr = BArtst.Jahr
  919. iStufe = 0
  920. cFeld = 'F_Jahr'.
  921. RUN DETAIL_ANZEIGEN.
  922. END.
  923. /* _UIB-CODE-BLOCK-END */
  924. &ANALYZE-RESUME
  925. &Scoped-define SELF-NAME F_KGeb
  926. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_KGeb wInventar
  927. ON CURSOR-UP OF F_KGeb IN FRAME fMain /* Kleingebinde */
  928. DO:
  929. APPLY 'BACK-TAB' TO SELF.
  930. RETURN NO-APPLY.
  931. END.
  932. /* _UIB-CODE-BLOCK-END */
  933. &ANALYZE-RESUME
  934. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_KGeb wInventar
  935. ON ENTRY OF F_KGeb IN FRAME fMain /* Kleingebinde */
  936. DO:
  937. hFeld = SELF:HANDLE.
  938. END.
  939. /* _UIB-CODE-BLOCK-END */
  940. &ANALYZE-RESUME
  941. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_KGeb wInventar
  942. ON LEAVE OF F_KGeb IN FRAME fMain /* Kleingebinde */
  943. DO:
  944. DO WITH FRAME {&FRAME-NAME}:
  945. ASSIGN {&List-6}.
  946. IF F_KGeb = 0 THEN RETURN.
  947. IF F_KGeb > 100000 THEN RETURN.
  948. END.
  949. END.
  950. /* _UIB-CODE-BLOCK-END */
  951. &ANALYZE-RESUME
  952. &Scoped-define SELF-NAME F_KGebinde_SC
  953. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_KGebinde_SC wInventar
  954. ON LEAVE OF F_KGebinde_SC IN FRAME fMain /* Strichcode KGeb */
  955. DO:
  956. IF F_Strichcode:SENSITIVE = FALSE THEN RETURN.
  957. IF LAST-EVENT:WIDGET-ENTER:NAME = 'T_Strichcode' THEN DO WITH FRAME {&FRAME-NAME}:
  958. F_Strichcode:SCREEN-VALUE = ''.
  959. RETURN.
  960. END.
  961. ASSIGN F_Strichcode
  962. ARecid = ?
  963. iStufe = 3.
  964. IF F_Strichcode = '' THEN RETURN NO-APPLY.
  965. FIND FIRST ArtLief NO-LOCK
  966. WHERE ArtLief.Strichcode_GGeb = F_Strichcode NO-ERROR.
  967. IF NOT AVAILABLE ArtLief THEN DO:
  968. iStufe = 2.
  969. FIND FIRST ArtLief NO-LOCK
  970. WHERE ArtLief.Strichcode_VGeb = F_Strichcode NO-ERROR.
  971. END.
  972. IF NOT AVAILABLE ArtLief THEN DO:
  973. iStufe = 1.
  974. FIND FIRST ArtLief NO-LOCK
  975. WHERE ArtLief.Strichcode_KGeb = F_Strichcode NO-ERROR.
  976. END.
  977. IF AVAILABLE ArtLief THEN DO:
  978. ASSIGN VArtnr = ArtLief.Artnr
  979. VInhalt = ArtLief.Inhalt
  980. VJahr = ArtLief.Jahr.
  981. FIND BArtst NO-LOCK
  982. WHERE BArtst.Firma = ArtLief.Firma
  983. AND BArtst.Artnr = ArtLief.Artnr
  984. AND BArtst.Inhalt = ArtLief.Inhalt
  985. AND BArtst.Jahr = ArtLief.Jahr.
  986. ARecid = RECID(BArtst).
  987. END.
  988. ELSE DO:
  989. iStufe = 0.
  990. FIND FIRST BArtst NO-LOCK USE-INDEX Artst-Strichcode
  991. WHERE BArtst.Strichcode = F_Strichcode NO-ERROR.
  992. IF AVAILABLE BArtst THEN DO:
  993. ASSIGN VArtnr = BArtst.Artnr
  994. VInhalt = BArtst.Inhalt
  995. VJahr = BArtst.Jahr.
  996. END.
  997. ARecid = RECID(BArtst).
  998. END.
  999. IF ARecid = ? THEN DO:
  1000. APPLY 'ENTRY' TO SELF.
  1001. RETURN NO-APPLY.
  1002. END.
  1003. cFeld = ''.
  1004. RUN DETAIL_ANZEIGEN.
  1005. END.
  1006. /* _UIB-CODE-BLOCK-END */
  1007. &ANALYZE-RESUME
  1008. &Scoped-define SELF-NAME F_Strichcode
  1009. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Strichcode wInventar
  1010. ON ENTRY OF F_Strichcode IN FRAME fMain /* Strichcode */
  1011. DO:
  1012. hFeld = SELF:HANDLE.
  1013. ASSIGN F_Bezeichnung :SCREEN-VALUE = ''
  1014. F_Kleingebinde:SCREEN-VALUE = ''
  1015. F_KGebinde_SC :SCREEN-VALUE = ''
  1016. F_VGebinde_SC :SCREEN-VALUE = ''
  1017. F_GGebinde_SC :SCREEN-VALUE = ''
  1018. F_Bestand :SCREEN-VALUE = ''
  1019. F_Inventar :SCREEN-VALUE = ''
  1020. .
  1021. END.
  1022. /* _UIB-CODE-BLOCK-END */
  1023. &ANALYZE-RESUME
  1024. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Strichcode wInventar
  1025. ON LEAVE OF F_Strichcode IN FRAME fMain /* Strichcode */
  1026. DO:
  1027. DEF VAR cName AS CHAR NO-UNDO.
  1028. DEF VAR ix AS INT NO-UNDO.
  1029. DEF VAR iAnz AS INT NO-UNDO.
  1030. DEF VAR cSuch AS CHAR NO-UNDO.
  1031. DEF VAR iRecid AS RECID NO-UNDO.
  1032. cName = LAST-EVENT:WIDGET-ENTER:NAME.
  1033. IF cName = 'T_Strichcode' THEN DO WITH FRAME {&FRAME-NAME}:
  1034. F_Strichcode:SCREEN-VALUE = ''.
  1035. RETURN.
  1036. END.
  1037. IF cName = 'Btn_Search' THEN DO WITH FRAME {&FRAME-NAME}:
  1038. ARecid = ?.
  1039. RUN ARTIKELNUMMER.
  1040. IF ARecid = ? THEN RETURN NO-APPLY.
  1041. FIND bArtst NO-LOCK WHERE RECID(bArtst) = ARecid.
  1042. F_Strichcode:SCREEN-VALUE = STRING(bArtst.Artnr ,'999999')
  1043. + '.'
  1044. + STRING(bArtst.Inhalt,'9999')
  1045. + '.'
  1046. + STRING(bArtst.Jahr ,'9999').
  1047. APPLY 'ENTRY' TO SELF.
  1048. END.
  1049. ELSE IF LOOKUP(cName, cAusnahme, ',') > 0 THEN RETURN.
  1050. ASSIGN F_Strichcode
  1051. ARecid = ?
  1052. iStufe = 3
  1053. iKnr = 0
  1054. VArtnr = 0
  1055. VInhalt = 0
  1056. VJahr = 0.
  1057. IF F_Strichcode = '' THEN DO:
  1058. IF cName <> 'Btn_Search' THEN RETURN NO-APPLY.
  1059. END.
  1060. DO WHILE TRUE:
  1061. /* Strichcode GGebinde Lieferant */
  1062. iAnz = 0.
  1063. cSuch = ''.
  1064. iRecid = 0.
  1065. FOR EACH ArtLief NO-LOCK
  1066. WHERE ArtLief.Strichcode_GGeb = F_Strichcode:
  1067. iAnz = iAnz + 1.
  1068. iRecid = RECID(ArtLief).
  1069. cSuch = cSuch
  1070. + (IF cSuch = '' THEN '' ELSE ' ')
  1071. + TRIM(STRING(ArtLief.Artnr,'>>>>>>9')).
  1072. END.
  1073. IF iAnz = 1 THEN DO:
  1074. FIND ArtLief NO-LOCK WHERE RECID(ArtLief) = iRecid.
  1075. FIND bArtst NO-LOCK OF ArtLief.
  1076. ARecid = RECID(bArtst).
  1077. LEAVE.
  1078. END.
  1079. IF iAnz > 1 THEN DO:
  1080. RUN g-suchen-artikel.w ( INPUT cSuch, OUTPUT ARecid ).
  1081. IF ARecid = 0 OR
  1082. ARecid = ? THEN DO WITH FRAME {&FRAME-NAME}:
  1083. APPLY 'ENTRY' TO SELF.
  1084. RETURN NO-APPLY.
  1085. END.
  1086. LEAVE.
  1087. END.
  1088. /* Strichcode VGebinde Lieferant */
  1089. iAnz = 0.
  1090. cSuch = 'INVENTAR,00;'.
  1091. iRecid = 0.
  1092. iStufe = 2.
  1093. FOR EACH ArtLief NO-LOCK
  1094. WHERE ArtLief.Strichcode_VGeb = F_Strichcode:
  1095. iAnz = iAnz + 1.
  1096. iRecid = RECID(ArtLief).
  1097. cSuch = cSuch
  1098. + (IF cSuch = '' THEN '' ELSE ' ')
  1099. + TRIM(STRING(ArtLief.Artnr,'>>>>>>9')).
  1100. END.
  1101. IF iAnz = 1 THEN DO:
  1102. FIND ArtLief NO-LOCK WHERE RECID(ArtLief) = iRecid.
  1103. FIND bArtst NO-LOCK OF ArtLief.
  1104. ARecid = RECID(bArtst).
  1105. LEAVE.
  1106. END.
  1107. IF iAnz > 1 THEN DO:
  1108. RUN g-suchen-artikel.w ( INPUT cSuch, OUTPUT ARecid ).
  1109. IF ARecid = 0 OR
  1110. ARecid = ? THEN DO WITH FRAME {&FRAME-NAME}:
  1111. APPLY 'ENTRY' TO SELF.
  1112. RETURN NO-APPLY.
  1113. END.
  1114. LEAVE.
  1115. END.
  1116. /* Strichcode KGebinde Lieferant */
  1117. iAnz = 0.
  1118. cSuch = 'INVENTAR,00;'.
  1119. iRecid = 0.
  1120. iStufe = 1.
  1121. FOR EACH ArtLief NO-LOCK
  1122. WHERE ArtLief.Strichcode_KGeb = F_Strichcode:
  1123. iAnz = iAnz + 1.
  1124. iRecid = RECID(ArtLief).
  1125. cSuch = cSuch
  1126. + (IF cSuch = '' THEN '' ELSE ' ')
  1127. + TRIM(STRING(ArtLief.Artnr,'>>>>>>9')).
  1128. END.
  1129. IF iAnz = 1 THEN DO:
  1130. FIND ArtLief NO-LOCK WHERE RECID(ArtLief) = iRecid.
  1131. FIND bArtst NO-LOCK OF ArtLief.
  1132. ARecid = RECID(bArtst).
  1133. LEAVE.
  1134. END.
  1135. IF iAnz > 1 THEN DO:
  1136. RUN g-suchen-artikel.w ( INPUT cSuch, OUTPUT ARecid ).
  1137. IF ARecid = 0 OR
  1138. ARecid = ? THEN DO WITH FRAME {&FRAME-NAME}:
  1139. APPLY 'ENTRY' TO SELF.
  1140. RETURN NO-APPLY.
  1141. END.
  1142. LEAVE.
  1143. END.
  1144. /* Strichcode Artikel und Artikelnummer */
  1145. cSuch = 'INVENTAR,00;'.
  1146. iStufe = 0.
  1147. ix = 0.
  1148. IF LENGTH(F_Strichcode) > 6 THEN DO:
  1149. FOR EACH bArtst NO-LOCK USE-INDEX Artst-Strichcode
  1150. WHERE bArtst.Strichcode = F_Strichcode:
  1151. ix = ix + 1.
  1152. ARecid = RECID(bArtst).
  1153. cSuch = cSuch
  1154. + (IF cSuch = '' THEN '' ELSE ' ')
  1155. + TRIM(STRING(ArtLief.Artnr,'>>>>>>9')).
  1156. END.
  1157. END.
  1158. IF ix = 1 THEN LEAVE.
  1159. IF ix > 1 THEN DO:
  1160. RUN g-suchen-artikel.w ( INPUT cSuch, OUTPUT ARecid ).
  1161. IF ARecid = 0 OR
  1162. ARecid = ? THEN DO WITH FRAME {&FRAME-NAME}:
  1163. APPLY 'ENTRY' TO SELF.
  1164. RETURN NO-APPLY.
  1165. END.
  1166. END.
  1167. F_Strichcode = REPLACE(F_Strichcode, "'", ".").
  1168. F_Strichcode = REPLACE(F_Strichcode, "ß", ".").
  1169. F_Strichcode = LOWER(F_Strichcode).
  1170. DO ix = 1 TO LENGTH(F_Strichcode):
  1171. IF SUBSTRING(F_Strichcode,ix,01) >= 'a' AND
  1172. SUBSTRING(F_Strichcode,ix,01) <= 'z' THEN NEXT.
  1173. IF SUBSTRING(F_Strichcode,ix,01) < '0' OR
  1174. SUBSTRING(F_Strichcode,ix,01) > '9' THEN SUBSTRING(F_Strichcode,ix) = '.'.
  1175. END.
  1176. F_Strichcode:SCREEN-VALUE = F_Strichcode.
  1177. DO ix = 1 TO NUM-ENTRIES(F_Strichcode, '.'):
  1178. CASE ix:
  1179. WHEN 1 THEN VArtnr = INTEGER(ENTRY(ix, F_Strichcode, '.')) NO-ERROR.
  1180. WHEN 2 THEN VInhalt = INTEGER(ENTRY(ix, F_Strichcode, '.')) NO-ERROR.
  1181. WHEN 3 THEN VJahr = INTEGER(ENTRY(ix, F_Strichcode, '.')) NO-ERROR.
  1182. END.
  1183. END.
  1184. ix = 0.
  1185. FOR EACH bArtst NO-LOCK USE-INDEX Artst-k1
  1186. WHERE bArtst.Firma = Firma
  1187. AND bArtst.Artnr = VArtnr
  1188. AND bArtst.Inhalt = VInhalt
  1189. AND ((VJahr = 0)
  1190. OR (VJahr > 0 AND
  1191. bArtst.Jahr = VJahr)) :
  1192. cSuch = cSuch
  1193. + (IF cSuch = '' THEN '' ELSE ' ')
  1194. + TRIM(STRING(bArtst.Artnr,'>>>>>>9')).
  1195. ix = ix + 1.
  1196. ARecid = RECID(bArtst).
  1197. IF ix > 1 THEN LEAVE.
  1198. END.
  1199. FeldInhalt = F_Strichcode.
  1200. IF ix > 1 OR
  1201. ix = 0 THEN DO:
  1202. RUN g-suchen-artikel.w ( INPUT F_Strichcode, OUTPUT ARecid ).
  1203. IF ARecid = 0 OR
  1204. ARecid = ? THEN DO WITH FRAME {&FRAME-NAME}:
  1205. APPLY 'ENTRY' TO SELF.
  1206. RETURN NO-APPLY.
  1207. END.
  1208. END.
  1209. LEAVE.
  1210. END.
  1211. IF ARecid = ? THEN DO:
  1212. APPLY 'ENTRY' TO SELF.
  1213. RETURN NO-APPLY.
  1214. END.
  1215. FIND bArtst NO-LOCK
  1216. WHERE RECID(bArtst) = ARecid.
  1217. ASSIGN VArtnr = bArtst.Artnr
  1218. VInhalt = bArtst.Inhalt
  1219. VJahr = bArtst.Jahr.
  1220. cFeld = ''.
  1221. RUN DETAIL_ANZEIGEN.
  1222. RETURN NO-APPLY.
  1223. END.
  1224. /* _UIB-CODE-BLOCK-END */
  1225. &ANALYZE-RESUME
  1226. &Scoped-define SELF-NAME F_VGeb
  1227. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGeb wInventar
  1228. ON CURSOR-UP OF F_VGeb IN FRAME fMain /* Verkaufsgebinde */
  1229. DO:
  1230. APPLY 'BACK-TAB' TO SELF.
  1231. RETURN NO-APPLY.
  1232. END.
  1233. /* _UIB-CODE-BLOCK-END */
  1234. &ANALYZE-RESUME
  1235. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGeb wInventar
  1236. ON ENTRY OF F_VGeb IN FRAME fMain /* Verkaufsgebinde */
  1237. DO:
  1238. hFeld = SELF:HANDLE.
  1239. END.
  1240. /* _UIB-CODE-BLOCK-END */
  1241. &ANALYZE-RESUME
  1242. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGeb wInventar
  1243. ON LEAVE OF F_VGeb IN FRAME fMain /* Verkaufsgebinde */
  1244. DO:
  1245. DO WITH FRAME {&FRAME-NAME}:
  1246. ASSIGN {&List-6}.
  1247. IF F_VGeb = 0 THEN RETURN.
  1248. IF F_VGeb > 10000 THEN RETURN.
  1249. IF AVAILABLE BVGebinde THEN F_KGeb = F_VGeb * BVGebinde.Inhalt.
  1250. DISPLAY {&List-6}.
  1251. END.
  1252. END.
  1253. /* _UIB-CODE-BLOCK-END */
  1254. &ANALYZE-RESUME
  1255. &Scoped-define SELF-NAME F_VGebinde_SC
  1256. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde_SC wInventar
  1257. ON LEAVE OF F_VGebinde_SC IN FRAME fMain /* Strichcode VGeb */
  1258. DO:
  1259. IF F_Strichcode:SENSITIVE = FALSE THEN RETURN.
  1260. IF LAST-EVENT:WIDGET-ENTER:NAME = 'T_Strichcode' THEN DO WITH FRAME {&FRAME-NAME}:
  1261. F_Strichcode:SCREEN-VALUE = ''.
  1262. RETURN.
  1263. END.
  1264. ASSIGN F_Strichcode
  1265. ARecid = ?
  1266. iStufe = 3.
  1267. IF F_Strichcode = '' THEN RETURN NO-APPLY.
  1268. FIND FIRST ArtLief NO-LOCK
  1269. WHERE ArtLief.Strichcode_GGeb = F_Strichcode NO-ERROR.
  1270. IF NOT AVAILABLE ArtLief THEN DO:
  1271. iStufe = 2.
  1272. FIND FIRST ArtLief NO-LOCK
  1273. WHERE ArtLief.Strichcode_VGeb = F_Strichcode NO-ERROR.
  1274. END.
  1275. IF NOT AVAILABLE ArtLief THEN DO:
  1276. iStufe = 1.
  1277. FIND FIRST ArtLief NO-LOCK
  1278. WHERE ArtLief.Strichcode_KGeb = F_Strichcode NO-ERROR.
  1279. END.
  1280. IF AVAILABLE ArtLief THEN DO:
  1281. ASSIGN VArtnr = ArtLief.Artnr
  1282. VInhalt = ArtLief.Inhalt
  1283. VJahr = ArtLief.Jahr.
  1284. FIND BArtst NO-LOCK
  1285. WHERE BArtst.Firma = ArtLief.Firma
  1286. AND BArtst.Artnr = ArtLief.Artnr
  1287. AND BArtst.Inhalt = ArtLief.Inhalt
  1288. AND BArtst.Jahr = ArtLief.Jahr.
  1289. ARecid = RECID(BArtst).
  1290. END.
  1291. ELSE DO:
  1292. iStufe = 0.
  1293. FIND FIRST BArtst NO-LOCK USE-INDEX Artst-Strichcode
  1294. WHERE BArtst.Strichcode = F_Strichcode NO-ERROR.
  1295. IF AVAILABLE BArtst THEN DO:
  1296. ASSIGN VArtnr = BArtst.Artnr
  1297. VInhalt = BArtst.Inhalt
  1298. VJahr = BArtst.Jahr.
  1299. END.
  1300. ARecid = RECID(BArtst).
  1301. END.
  1302. IF ARecid = ? THEN DO:
  1303. APPLY 'ENTRY' TO SELF.
  1304. RETURN NO-APPLY.
  1305. END.
  1306. cFeld = ''.
  1307. RUN DETAIL_ANZEIGEN.
  1308. END.
  1309. /* _UIB-CODE-BLOCK-END */
  1310. &ANALYZE-RESUME
  1311. &Scoped-define SELF-NAME T_Strichcode
  1312. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Strichcode wInventar
  1313. ON VALUE-CHANGED OF T_Strichcode IN FRAME fMain /* Strichcode */
  1314. DO:
  1315. ASSIGN T_Strichcode.
  1316. CASE T_Strichcode:
  1317. WHEN TRUE THEN DO:
  1318. F_Artnr :SENSITIVE = FALSE.
  1319. F_Inhalt:SENSITIVE = FALSE.
  1320. F_Jahr :SENSITIVE = FALSE.
  1321. F_Strichcode:SENSITIVE = TRUE.
  1322. APPLY 'ENTRY' TO F_Strichcode.
  1323. RETURN NO-APPLY.
  1324. END.
  1325. WHEN FALSE THEN DO:
  1326. F_Artnr :SENSITIVE = TRUE.
  1327. F_Inhalt:SENSITIVE = TRUE.
  1328. F_Jahr :SENSITIVE = TRUE.
  1329. F_Strichcode:SENSITIVE = FALSE.
  1330. APPLY 'ENTRY' TO F_Artnr.
  1331. RETURN NO-APPLY.
  1332. END.
  1333. END CASE.
  1334. END.
  1335. /* _UIB-CODE-BLOCK-END */
  1336. &ANALYZE-RESUME
  1337. &Scoped-define BROWSE-NAME BROWSE-3
  1338. &UNDEFINE SELF-NAME
  1339. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wInventar
  1340. /* *************************** Main Block *************************** */
  1341. { incl/winmainblock.i }
  1342. hQuery = BROWSE {&BROWSE-NAME}:QUERY.
  1343. {src/adm2/windowmn.i}
  1344. /* _UIB-CODE-BLOCK-END */
  1345. &ANALYZE-RESUME
  1346. /* ********************** Internal Procedures *********************** */
  1347. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wInventar _ADM-CREATE-OBJECTS
  1348. PROCEDURE adm-create-objects :
  1349. /*------------------------------------------------------------------------------
  1350. Purpose: Create handles for all SmartObjects used in this procedure.
  1351. After SmartObjects are initialized, then SmartLinks are added.
  1352. Parameters: <none>
  1353. ------------------------------------------------------------------------------*/
  1354. END PROCEDURE.
  1355. /* _UIB-CODE-BLOCK-END */
  1356. &ANALYZE-RESUME
  1357. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELNUMMER wInventar
  1358. PROCEDURE ARTIKELNUMMER :
  1359. /*------------------------------------------------------------------------------
  1360. Purpose:
  1361. Parameters: <none>
  1362. Notes:
  1363. ------------------------------------------------------------------------------*/
  1364. DEF VAR Anzahl AS INT NO-UNDO.
  1365. DEF VAR xWort AS CHAR NO-UNDO.
  1366. DEF VAR zWorte AS CHAR NO-UNDO.
  1367. DEF VAR yy AS INT NO-UNDO.
  1368. DEF VAR zz AS INT NO-UNDO.
  1369. DEF VAR Zahl AS INT NO-UNDO.
  1370. Zahl = 0.
  1371. Anzahl = 0.
  1372. ARecid = ?.
  1373. cGGeb_SC = ''.
  1374. cVGeb_SC = ''.
  1375. cKGeb_SC = ''.
  1376. iKnr = 0.
  1377. zWorte = ''.
  1378. DO yy = 1 TO NUM-ENTRIES(FeldInhalt, ' '):
  1379. xWort = ENTRY(yy, FeldInhalt, ' ').
  1380. Zahl = INTEGER(xWort) NO-ERROR.
  1381. IF ERROR-STATUS:ERROR THEN DO:
  1382. zWorte = zWorte + (IF zWorte = '' THEN '' ELSE ' ')
  1383. + xWort.
  1384. NEXT.
  1385. END.
  1386. xWort = TRIM(STRING(Zahl,'>>>>>>>>>9')) NO-ERROR.
  1387. IF ERROR-STATUS:ERROR THEN xWort = ENTRY(yy, FeldInhalt, ' ').
  1388. zWorte = zWorte + (IF zWorte = '' THEN '' ELSE ' ')
  1389. + xWort.
  1390. END.
  1391. FOR EACH Artbez NO-LOCK
  1392. WHERE Artbez.Firma = Firma
  1393. AND Artbez.Sprcd = 1
  1394. AND Artbez.WortIndex CONTAINS zWorte,
  1395. FIRST BArtst NO-LOCK OF Artbez
  1396. WHERE BArtst.Aktiv = TRUE
  1397. AND BArtst.Ausverk < 9 :
  1398. Anzahl = Anzahl + 1.
  1399. IF Anzahl > 1 THEN LEAVE.
  1400. VArtnr = BArtst.Artnr.
  1401. ARecid = RECID(BArtst).
  1402. END.
  1403. IF Anzahl = 1 THEN DO:
  1404. FIND BArtst WHERE RECID(BArtst) = ARecid NO-LOCK NO-ERROR.
  1405. VArtnr = BArtst.Artnr.
  1406. VInhalt = BArtst.Inhalt.
  1407. VJahr = BArtst.Jahr.
  1408. RETURN ''.
  1409. END.
  1410. RUN g-suchen-artikel.w ( INPUT FeldInhalt, OUTPUT ARecid ).
  1411. IF ARecid = 0 OR
  1412. ARecid = ? THEN DO WITH FRAME {&FRAME-NAME}:
  1413. APPLY 'ENTRY' TO F_Artnr.
  1414. RETURN NO-APPLY.
  1415. END.
  1416. FIND BArtst WHERE RECID(BArtst) = ARecid NO-LOCK NO-ERROR.
  1417. VArtnr = BArtst.Artnr.
  1418. VInhalt = BArtst.Inhalt.
  1419. VJahr = BArtst.Jahr.
  1420. RETURN ''.
  1421. END PROCEDURE.
  1422. /* _UIB-CODE-BLOCK-END */
  1423. &ANALYZE-RESUME
  1424. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage wInventar
  1425. PROCEDURE changePage :
  1426. /*------------------------------------------------------------------------------
  1427. Purpose: Super Override
  1428. Parameters:
  1429. Notes:
  1430. ------------------------------------------------------------------------------*/
  1431. RUN SUPER.
  1432. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1433. CASE AktSeite:
  1434. WHEN 1 THEN DO:
  1435. /* RUN addLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  1436. /* RUN addLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  1437. /* RUN setButtons IN hAktionen ( 'initial-TableIo' ) NO-ERROR. */
  1438. END.
  1439. WHEN 2 THEN DO:
  1440. END.
  1441. END CASE.
  1442. RUN ENTRY_CURSOR.
  1443. END PROCEDURE.
  1444. /* _UIB-CODE-BLOCK-END */
  1445. &ANALYZE-RESUME
  1446. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATUMTEST wInventar
  1447. PROCEDURE DATUMTEST :
  1448. /*------------------------------------------------------------------------------
  1449. Purpose:
  1450. Parameters: <none>
  1451. Notes:
  1452. ------------------------------------------------------------------------------*/
  1453. DO WITH FRAME {&FRAME-NAME}:
  1454. ASSIGN iDatum = DATE(CB_Datum) NO-ERROR.
  1455. /*
  1456. IF iDatum = ? OR
  1457. iDatum < TODAY - 120 OR
  1458. iDatum > TODAY + 120 THEN DO:
  1459. APPLY 'ENTRY' TO CB_Datum.
  1460. RETURN 'ERROR'.
  1461. END.
  1462. */
  1463. RETURN ''.
  1464. END.
  1465. END PROCEDURE.
  1466. /* _UIB-CODE-BLOCK-END */
  1467. &ANALYZE-RESUME
  1468. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DETAIL_ANZEIGEN wInventar
  1469. PROCEDURE DETAIL_ANZEIGEN :
  1470. /*------------------------------------------------------------------------------
  1471. Purpose:
  1472. Parameters: <none>
  1473. Notes:
  1474. ------------------------------------------------------------------------------*/
  1475. DEF VAR cBez AS CHAR NO-UNDO.
  1476. DEF VAR cKGebinde AS CHAR NO-UNDO.
  1477. DEF VAR iGGeb AS INT NO-UNDO.
  1478. DEF VAR iVGeb AS INT NO-UNDO.
  1479. DEF VAR iKGeb AS INT NO-UNDO.
  1480. DO WITH FRAME {&FRAME-NAME}:
  1481. FIND BArtst NO-LOCK WHERE RECID(BArtst) = ARecid.
  1482. FIND FIRST BArtbez NO-LOCK OF BArtst NO-ERROR.
  1483. IF AVAILABLE BArtbez THEN cBez = BArtbez.Bez1 + ' ' + BArtbez.Bez2.
  1484. ELSE cBez = BArtst.Bez.
  1485. FIND BKGebinde NO-LOCK
  1486. WHERE BKGebinde.Firma = BArtst.Firma
  1487. AND BKGebinde.Geb_Cd = BArtst.KGeb_Cd NO-ERROR.
  1488. IF AVAILABLE BKGebinde THEN F_KGeb:LABEL = BKGebinde.KBez.
  1489. ELSE F_KGeb:LABEL = ''.
  1490. FIND BVGebinde NO-LOCK
  1491. WHERE BVGebinde.Firma = BArtst.Firma
  1492. AND BVGebinde.Geb_Cd = BArtst.VGeb_Cd NO-ERROR.
  1493. IF AVAILABLE BVGebinde THEN F_VGeb:LABEL = BVGebinde.KBez.
  1494. ELSE F_VGeb:LABEL = ''.
  1495. FIND BGGebinde NO-LOCK
  1496. WHERE BGGebinde.Firma = BArtst.Firma
  1497. AND BGGebinde.Geb_Cd = BArtst.GGeb_Cd NO-ERROR.
  1498. IF AVAILABLE BGGebinde THEN F_GGeb:LABEL = BGGebinde.KBez.
  1499. ELSE F_GGeb:LABEL = ''.
  1500. IF AVAILABLE BKGebinde THEN DO:
  1501. cKGebinde = BKGebinde.KBez + ' / '
  1502. + STRING(BKGebinde.Inhalt) + ' / '
  1503. + BKGebinde.Bez.
  1504. END.
  1505. ELSE cKGebinde = ''.
  1506. iLager = INTEGER(CB_Lager:SCREEN-VALUE).
  1507. iDatum = DATE(CB_Datum:SCREEN-VALUE).
  1508. FIND ArtLager NO-LOCK
  1509. WHERE ArtLager.Firma = BArtst.Firma
  1510. AND ArtLager.Artnr = BArtst.Artnr
  1511. AND ArtLager.Inhalt = BArtst.Inhalt
  1512. AND ArtLager.Jahr = BArtst.Jahr
  1513. AND ArtLager.Lager = iLager NO-ERROR.
  1514. IF NOT AVAILABLE ArtLager THEN DO:
  1515. CREATE ArtLager.
  1516. ASSIGN ArtLager.Firma = BArtst.Firma
  1517. ArtLager.Artnr = BArtst.Artnr
  1518. ArtLager.Inhalt = BArtst.Inhalt
  1519. ArtLager.Jahr = BArtst.Jahr
  1520. ArtLager.Lager = iLager
  1521. ArtLager.Datum_Inv = iDatum
  1522. ArtLager.Inv_Best = 0
  1523. ArtLager.Inv_Alt = 0
  1524. ArtLager.Eingang = 0
  1525. ArtLager.Ausgang = 0
  1526. ArtLager.Bestand = 0
  1527. ArtLager.Ort = ''.
  1528. END.
  1529. IF cGGeb_SC = '' AND
  1530. cVGeb_SC = '' AND
  1531. cKGeb_SC = '' THEN DO:
  1532. FIND FIRST ArtLief OF Artst NO-LOCK NO-ERROR.
  1533. IF AVAILABLE ArtLief THEN DO:
  1534. ASSIGN cGGeb_SC = ArtLief.Strichcode_GGeb
  1535. cVGeb_SC = ArtLief.Strichcode_VGeb
  1536. cKGeb_SC = ArtLief.Strichcode_KGeb
  1537. iKnr = ArtLief.Knr.
  1538. END.
  1539. END.
  1540. IF cKGeb_SC = '' THEN cKGeb_SC = BArtst.Strichcode.
  1541. LRecid = RECID(ArtLager).
  1542. ASSIGN F_Artnr :SCREEN-VALUE = STRING(BArtst.Artnr)
  1543. F_Inhalt :SCREEN-VALUE = STRING(BArtst.Inhalt)
  1544. F_Jahr :SCREEN-VALUE = STRING(BArtst.Jahr)
  1545. F_Bestand :SCREEN-VALUE = STRING(ArtLager.Bestand)
  1546. F_Inventar :SCREEN-VALUE = STRING(ArtLager.Inv_Best)
  1547. F_Bezeichnung :SCREEN-VALUE = cBez
  1548. F_Kleingebinde:SCREEN-VALUE = cKGebinde
  1549. F_KGebinde_SC :SCREEN-VALUE = cKGeb_SC
  1550. F_VGebinde_SC :SCREEN-VALUE = cVGeb_SC
  1551. F_GGebinde_SC :SCREEN-VALUE = cGGeb_SC
  1552. .
  1553. CASE iStufe:
  1554. WHEN 0 THEN DO:
  1555. ASSIGN F_GGeb:SCREEN-VALUE = ''
  1556. F_VGeb:SCREEN-VALUE = ''
  1557. F_KGeb:SCREEN-VALUE = ''.
  1558. ASSIGN iGGeb = 0
  1559. iVGeb = 0
  1560. iKGeb = 0.
  1561. END.
  1562. WHEN 1 THEN ASSIGN iGGeb = 0
  1563. iVGeb = 0
  1564. iKGeb = 0.
  1565. WHEN 2 THEN ASSIGN iGGeb = 0
  1566. iVGeb = 1
  1567. iKGeb = iVGeb * BVGebinde.Inhalt.
  1568. WHEN 3 THEN ASSIGN iGGeb = 1
  1569. iVGeb = iGGeb * BGGebinde.Inhalt
  1570. iKGeb = iVGeb * BVGebinde.Inhalt.
  1571. END CASE.
  1572. ASSIGN F_GGeb:SCREEN-VALUE = STRING(iGGeb)
  1573. F_VGeb:SCREEN-VALUE = STRING(iVGeb)
  1574. F_KGeb:SCREEN-VALUE = STRING(iKGeb).
  1575. CASE iStufe:
  1576. WHEN 3 THEN APPLY 'ENTRY' TO F_GGeb.
  1577. WHEN 2 THEN APPLY 'ENTRY' TO F_VGeb.
  1578. OTHERWISE APPLY 'ENTRY' TO F_VGeb.
  1579. END CASE.
  1580. cFeld = ''.
  1581. RETURN NO-APPLY.
  1582. END.
  1583. END PROCEDURE.
  1584. /* _UIB-CODE-BLOCK-END */
  1585. &ANALYZE-RESUME
  1586. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wInventar _DEFAULT-DISABLE
  1587. PROCEDURE disable_UI :
  1588. /*------------------------------------------------------------------------------
  1589. Purpose: DISABLE the User Interface
  1590. Parameters: <none>
  1591. Notes: Here we clean-up the user-interface by deleting
  1592. dynamic widgets we have created and/or hide
  1593. frames. This procedure is usually called when
  1594. we are ready to "clean-up" after running.
  1595. ------------------------------------------------------------------------------*/
  1596. /* Delete the WINDOW we created */
  1597. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wInventar)
  1598. THEN DELETE WIDGET wInventar.
  1599. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  1600. END PROCEDURE.
  1601. /* _UIB-CODE-BLOCK-END */
  1602. &ANALYZE-RESUME
  1603. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wInventar
  1604. PROCEDURE enableObject :
  1605. /*------------------------------------------------------------------------------
  1606. Purpose: Super Override
  1607. Parameters:
  1608. Notes:
  1609. ------------------------------------------------------------------------------*/
  1610. T_Strichcode = TRUE.
  1611. { incl/winenableobject.i }
  1612. RUN SUPER.
  1613. DO WITH FRAME {&FRAME-NAME}:
  1614. ASSIGN F_Artnr :SENSITIVE = FALSE.
  1615. F_Inhalt:SENSITIVE = FALSE.
  1616. F_Jahr :SENSITIVE = FALSE.
  1617. F_Strichcode:SENSITIVE = TRUE.
  1618. iLager = DYNAMIC-FUNCTION('getBenLager':U) NO-ERROR.
  1619. RUN COMBO_LAGER ( CB_Lager:HANDLE ).
  1620. RUN LAGER_EINSTELLUNGEN.
  1621. APPLY 'ENTRY' TO F_Strichcode.
  1622. END.
  1623. END PROCEDURE.
  1624. /* _UIB-CODE-BLOCK-END */
  1625. &ANALYZE-RESUME
  1626. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wInventar _DEFAULT-ENABLE
  1627. PROCEDURE enable_UI :
  1628. /*------------------------------------------------------------------------------
  1629. Purpose: ENABLE the User Interface
  1630. Parameters: <none>
  1631. Notes: Here we display/view/enable the widgets in the
  1632. user-interface. In addition, OPEN all queries
  1633. associated with each FRAME and BROWSE.
  1634. These statements here are based on the "Other
  1635. Settings" section of the widget Property Sheets.
  1636. ------------------------------------------------------------------------------*/
  1637. DISPLAY CB_Lager CB_Datum F_Strichcode T_Strichcode F_Artnr F_Inhalt F_Jahr
  1638. F_GGeb F_VGeb F_KGeb F_Bezeichnung F_Kleingebinde F_KGebinde_SC
  1639. F_VGebinde_SC F_GGebinde_SC F_Bestand F_Inventar
  1640. WITH FRAME fMain IN WINDOW wInventar.
  1641. ENABLE BROWSE-3 CB_Lager CB_Datum Btn_Search F_Strichcode T_Strichcode
  1642. F_Artnr F_Inhalt F_Jahr F_GGeb F_VGeb F_KGeb F_Bezeichnung Btn_OK
  1643. Btn_Cancel F_Kleingebinde F_KGebinde_SC F_VGebinde_SC F_GGebinde_SC
  1644. Btn_1 Btn_2 Btn_3 F_Bestand F_Inventar Btn_4 Btn_5 Btn_6 Btn_7 Btn_8
  1645. Btn_9 Btn_10 Btn_Clear Btn_Enter Btn_Minus RECT-43 RECT-44
  1646. WITH FRAME fMain IN WINDOW wInventar.
  1647. {&OPEN-BROWSERS-IN-QUERY-fMain}
  1648. VIEW wInventar.
  1649. END PROCEDURE.
  1650. /* _UIB-CODE-BLOCK-END */
  1651. &ANALYZE-RESUME
  1652. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wInventar
  1653. PROCEDURE ENDE :
  1654. /*------------------------------------------------------------------------------
  1655. Purpose:
  1656. Parameters: <none>
  1657. Notes:
  1658. ------------------------------------------------------------------------------*/
  1659. IF hFeld:NAME <> 'F_Artnr' AND
  1660. hFeld:NAME <> 'F_Strichcode' THEN DO WITH FRAME {&FRAME-NAME}:
  1661. ASSIGN T_Strichcode.
  1662. CASE T_Strichcode:
  1663. WHEN FALSE THEN DO:
  1664. ASSIGN F_Artnr :SCREEN-VALUE = ''
  1665. F_Inhalt:SCREEN-VALUE = ''
  1666. F_Jahr :SCREEN-VALUE = ''.
  1667. APPLY 'ENTRY' TO F_Artnr.
  1668. END.
  1669. WHEN TRUE THEN DO:
  1670. ASSIGN F_Strichcode:SCREEN-VALUE = ''
  1671. F_Artnr :SCREEN-VALUE = ''
  1672. F_Inhalt :SCREEN-VALUE = ''
  1673. F_Jahr :SCREEN-VALUE = ''.
  1674. APPLY 'ENTRY' TO F_Strichcode.
  1675. END.
  1676. END CASE.
  1677. RETURN NO-APPLY.
  1678. END.
  1679. { incl/winende.i }
  1680. END PROCEDURE.
  1681. /* _UIB-CODE-BLOCK-END */
  1682. &ANALYZE-RESUME
  1683. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR wInventar
  1684. PROCEDURE ENTRY_CURSOR :
  1685. /*------------------------------------------------------------------------------
  1686. Purpose:
  1687. Parameters: <none>
  1688. Notes:
  1689. ------------------------------------------------------------------------------*/
  1690. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1691. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname) NO-ERROR.
  1692. CASE AktSeite:
  1693. /* WHEN 1 THEN DO: */
  1694. /* IF FMutFlag THEN RUN applyEntry IN h_v- ( INPUT ? ). */
  1695. /* ELSE RUN applyEntry IN h_b- ( INPUT ? ). */
  1696. /* END. */
  1697. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  1698. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  1699. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  1700. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  1701. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  1702. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  1703. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  1704. END CASE.
  1705. RETURN NO-APPLY.
  1706. END PROCEDURE.
  1707. /* _UIB-CODE-BLOCK-END */
  1708. &ANALYZE-RESUME
  1709. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wInventar
  1710. PROCEDURE exitObject :
  1711. /*------------------------------------------------------------------------------
  1712. Purpose: Window-specific override of this procedure which destroys
  1713. its contents and itself.
  1714. Notes:
  1715. ------------------------------------------------------------------------------*/
  1716. RUN ENDE.
  1717. RETURN NO-APPLY.
  1718. END PROCEDURE.
  1719. /* _UIB-CODE-BLOCK-END */
  1720. &ANALYZE-RESUME
  1721. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject wInventar
  1722. PROCEDURE initializeObject :
  1723. /*------------------------------------------------------------------------------
  1724. Purpose: Super Override
  1725. Parameters:
  1726. Notes:
  1727. ------------------------------------------------------------------------------*/
  1728. /* Code placed here will execute PRIOR to standard behavior. */
  1729. RUN SUPER.
  1730. { incl/wininitializeobject.i }
  1731. END PROCEDURE.
  1732. /* _UIB-CODE-BLOCK-END */
  1733. &ANALYZE-RESUME
  1734. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LAGER_EINSTELLUNGEN wInventar
  1735. PROCEDURE LAGER_EINSTELLUNGEN :
  1736. /*------------------------------------------------------------------------------
  1737. Purpose:
  1738. Parameters: <none>
  1739. Notes:
  1740. ------------------------------------------------------------------------------*/
  1741. DEF VAR Datum AS DATE FORMAT '99.99.9999' NO-UNDO.
  1742. DEF VAR cString AS CHAR NO-UNDO.
  1743. DO WITH FRAME {&FRAME-NAME}:
  1744. CB_Lager:SCREEN-VALUE = STRING(iLager,'999999').
  1745. END.
  1746. EMPTY TEMP-TABLE tDatum.
  1747. FOR EACH ArtLager NO-LOCK
  1748. WHERE ArtLager.Firma = Firma
  1749. AND ArtLager.Lager = iLager
  1750. AND ArtLager.Datum_Inv <> ?:
  1751. Datum = ArtLager.Datum_Inv.
  1752. FIND FIRST tDatum WHERE tDatum.Datum = Datum NO-ERROR.
  1753. IF NOT AVAILABLE tDatum THEN DO:
  1754. CREATE tDatum.
  1755. ASSIGN tDatum.Datum = Datum.
  1756. END.
  1757. END.
  1758. FOR EACH tDatum:
  1759. cString = cString + (IF cString = '' THEN '' ELSE ';')
  1760. + STRING(tDatum.Datum,'99.99.9999').
  1761. END.
  1762. FIND FIRST tDatum NO-ERROR.
  1763. IF NOT AVAILABLE tDatum THEN Datum = TODAY.
  1764. ELSE Datum = tDatum.Datum.
  1765. DO WITH FRAME {&FRAME-NAME}:
  1766. CB_Datum:DELIMITER = ';'.
  1767. CB_Datum:LIST-ITEMS = cString.
  1768. CB_Datum:SCREEN-VALUE = STRING(Datum,'99.99.9999') NO-ERROR.
  1769. APPLY 'ENTRY' TO F_Strichcode.
  1770. END.
  1771. END PROCEDURE.
  1772. /* _UIB-CODE-BLOCK-END */
  1773. &ANALYZE-RESUME
  1774. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEITENWECHSEL wInventar
  1775. PROCEDURE SEITENWECHSEL :
  1776. /*------------------------------------------------------------------------------
  1777. Purpose:
  1778. Parameters: <none>
  1779. Notes:
  1780. ------------------------------------------------------------------------------*/
  1781. { incl/winseitenwechsel.i }
  1782. END PROCEDURE.
  1783. /* _UIB-CODE-BLOCK-END */
  1784. &ANALYZE-RESUME
  1785. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage wInventar
  1786. PROCEDURE selectPage :
  1787. /*------------------------------------------------------------------------------
  1788. Purpose: Super Override
  1789. Parameters:
  1790. Notes:
  1791. ------------------------------------------------------------------------------*/
  1792. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  1793. DEF VAR FMutFlag AS LOG NO-UNDO.
  1794. DEF VAR MutProg AS CHAR NO-UNDO.
  1795. FMutFlag = DYNAMIC-FUNCTION ('getMutflag':U, INPUT Progname) NO-ERROR.
  1796. IF FMutFlag THEN RETURN NO-APPLY.
  1797. CASE piPageNum:
  1798. END CASE.
  1799. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1800. CASE AktSeite:
  1801. WHEN 1 THEN DO:
  1802. /* RUN removeLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  1803. /* RUN removeLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  1804. END.
  1805. END CASE.
  1806. RUN SUPER( INPUT piPageNum).
  1807. END PROCEDURE.
  1808. /* _UIB-CODE-BLOCK-END */
  1809. &ANALYZE-RESUME
  1810. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN wInventar
  1811. PROCEDURE SPEICHERN :
  1812. /*------------------------------------------------------------------------------
  1813. Purpose:
  1814. Parameters: <none>
  1815. Notes:
  1816. ------------------------------------------------------------------------------*/
  1817. DEF VAR LRecid AS RECID NO-UNDO.
  1818. DEF VAR ja AS LOG NO-UNDO.
  1819. DEF VAR i1 AS INT NO-UNDO.
  1820. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
  1821. RUN DATUMTEST.
  1822. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  1823. ASSIGN {&List-6}.
  1824. iLager = INTEGER(CB_Lager:SCREEN-VALUE).
  1825. DO WHILE TRUE:
  1826. IF F_KGeb > 0 THEN LEAVE.
  1827. MESSAGE "Wollen Sie wirklich ein Inventar mit 0 oder Minusmenge erfassen ? "
  1828. VIEW-AS ALERT-BOX QUESTION BUTTONS OK-CANCEL
  1829. Update Ja.
  1830. IF Ja THEN LEAVE.
  1831. BELL.
  1832. APPLY 'ENTRY' TO F_KGeb.
  1833. RETURN NO-APPLY.
  1834. END.
  1835. FIND Steuer NO-LOCK
  1836. WHERE Steuer.Firma = Firma.
  1837. DISABLE TRIGGERS FOR LOAD OF ArtLager.
  1838. FIND Artst
  1839. WHERE RECID(Artst) = ARecid.
  1840. IF F_KGebinde_SC = '.' THEN Artst.Strichcode = ''.
  1841. ELSE IF Artst.Strichcode = '' THEN Artst.Strichcode = F_KGebinde_SC.
  1842. FIND ArtLager USE-INDEX ArtLager-k1
  1843. WHERE ArtLager.Firma = Artst.Firma
  1844. AND ArtLager.Artnr = Artst.Artnr
  1845. AND ArtLager.Inhalt = Artst.Inhalt
  1846. AND ArtLager.Jahr = Artst.Jahr
  1847. AND ArtLager.Lager = iLager NO-ERROR.
  1848. IF NOT AVAILABLE ArtLager THEN DO:
  1849. CREATE ArtLager.
  1850. ASSIGN ArtLager.Firma = Artst.Firma
  1851. ArtLager.Artnr = Artst.Artnr
  1852. ArtLager.Inhalt = Artst.Inhalt
  1853. ArtLager.Jahr = Artst.Jahr
  1854. ArtLager.Lager = iLager.
  1855. END.
  1856. LRecid = RECID(ArtLAger).
  1857. ArtLager.Inv_Best = ArtLager.Inv_Best + F_KGeb.
  1858. IF iKnr <> 0 THEN DO:
  1859. FIND ArtLief
  1860. WHERE ArtLief.Firma = Firma
  1861. AND ArtLief.Knr = iKnr
  1862. AND ArtLief.Artnr = Artst.Artnr
  1863. AND ArtLief.Inhalt = Artst.Inhalt
  1864. and ArtLief.Jahr = Artst.Jahr NO-ERROR.
  1865. IF AVAILABLE ArtLief THEN DO:
  1866. IF F_KGebinde_SC <> '' THEN ArtLief.Strichcode_KGeb = (IF F_KGebinde_SC = '.' THEN '' ELSE F_KGebinde_SC).
  1867. IF F_VGebinde_SC <> '' THEN ArtLief.Strichcode_VGeb = (IF F_VGebinde_SC = '.' THEN '' ELSE F_VGebinde_SC).
  1868. IF F_GGebinde_SC <> '' THEN ArtLief.Strichcode_GGeb = (IF F_GGebinde_SC = '.' THEN '' ELSE F_GGebinde_SC).
  1869. END.
  1870. END.
  1871. FIND LAST Artbw USE-INDEX Artbw-k1
  1872. WHERE Artbw.Firma = Artst.Firma NO-LOCK NO-ERROR.
  1873. IF AVAILABLE Artbw THEN i1 = Artbw.Trnr + 1.
  1874. ELSE i1 = 1.
  1875. CREATE Artbw.
  1876. ASSIGN Artbw.Firma = Artst.Firma
  1877. Artbw.Trnr = i1
  1878. Artbw.Tr_Art = 21
  1879. Artbw.Artnr = Artst.Artnr
  1880. Artbw.Inhalt = Artst.Inhalt
  1881. Artbw.Jahr = Artst.Jahr
  1882. Artbw.Bez1 = BArtbez.Bez1
  1883. Artbw.Menge = F_KGeb
  1884. Artbw.Alk_Gehalt = Artst.Alk_Gehalt
  1885. Artbw.Aktion = FALSE
  1886. Artbw.Sk_Ber = FALSE
  1887. Artbw.Netto = FALSE
  1888. Artbw.Lager = iLager
  1889. Artbw.KGeb_Cd = Artst.KGeb_Cd
  1890. Artbw.VGeb_Cd = Artst.VGeb_Cd
  1891. Artbw.GGeb_Cd = Artst.GGeb_Cd
  1892. Artbw.KGeb_Me = F_KGeb
  1893. Artbw.VGeb_Me = F_VGeb
  1894. Artbw.GGeb_Me = F_GGeb
  1895. Artbw.Liter = F_KGeb * BKGebinde.Inhalt / 100
  1896. Artbw.Datum = iDatum
  1897. Artbw.Abhol = FALSE
  1898. Artbw.FRW = 'CHF'
  1899. Artbw.Faktor = 1
  1900. Artbw.Kurs = 1.0
  1901. Artbw.Preis = Artst.Listen_EP
  1902. Artbw.Bru_Betr = Artst.Listen_EP * Artbw.Menge
  1903. Artbw.Net_Betr = Artst.Listen_EP * Artbw.Menge
  1904. Artbw.EP = Artst.Listen_EP.
  1905. CREATE tArtbw.
  1906. BUFFER-COPY Artbw TO tArtbw
  1907. ASSIGN tArtbw.KGebinde = BKGebinde.KBez
  1908. tArtbw.KGeb_Inh = BKGebinde.Inhalt.
  1909. RELEASE Artst.
  1910. RELEASE ArtLager.
  1911. RELEASE Artbw.
  1912. ASSIGN F_Strichcode = ''
  1913. F_Artnr = ''
  1914. F_Inhalt = 0
  1915. F_Jahr = 0
  1916. F_GGeb = 0
  1917. F_VGeb = 0
  1918. F_KGeb = 0
  1919. F_Bestand = 0
  1920. F_Inventar = 0
  1921. F_Bezeichnung = ''
  1922. F_Kleingebinde = ''.
  1923. DISPLAY {&List-5}.
  1924. IF T_Strichcode THEN APPLY 'ENTRY' TO F_Strichcode.
  1925. ELSE APPLY 'ENTRY' TO F_Artnr.
  1926. RUN START_QUERY.
  1927. LEAVE.
  1928. END.
  1929. END PROCEDURE.
  1930. /* _UIB-CODE-BLOCK-END */
  1931. &ANALYZE-RESUME
  1932. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE START_QUERY wInventar
  1933. PROCEDURE START_QUERY :
  1934. /*------------------------------------------------------------------------------
  1935. Purpose:
  1936. Parameters: <none>
  1937. Notes:
  1938. ------------------------------------------------------------------------------*/
  1939. DEF VAR cWhere AS CHAR NO-UNDO.
  1940. cWhere = 'FOR EACH tArtbw NO-LOCK BY Trnr DESCENDING'.
  1941. IF hQuery:IS-OPEN THEN hQuery:QUERY-CLOSE().
  1942. hQuery:QUERY-PREPARE(cWhere).
  1943. hQuery:QUERY-OPEN().
  1944. END PROCEDURE.
  1945. /* _UIB-CODE-BLOCK-END */
  1946. &ANALYZE-RESUME
  1947. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR wInventar
  1948. PROCEDURE TOOLBAR :
  1949. /*------------------------------------------------------------------------------
  1950. Purpose:
  1951. Parameters: <none>
  1952. Notes:
  1953. ------------------------------------------------------------------------------*/
  1954. { incl/wintoolbar.i }
  1955. END PROCEDURE.
  1956. /* _UIB-CODE-BLOCK-END */
  1957. &ANALYZE-RESUME
  1958. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wInventar
  1959. PROCEDURE viewObject :
  1960. /*------------------------------------------------------------------------------
  1961. Purpose: Super Override
  1962. Parameters:
  1963. Notes:
  1964. ------------------------------------------------------------------------------*/
  1965. RUN SUPER.
  1966. RUN ENTRY_CURSOR.
  1967. END PROCEDURE.
  1968. /* _UIB-CODE-BLOCK-END */
  1969. &ANALYZE-RESUME
  1970. /* ************************ Function Implementations ***************** */
  1971. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getProgname wInventar
  1972. FUNCTION getProgname RETURNS CHARACTER
  1973. ( /* parameter-definitions */ ) :
  1974. /*------------------------------------------------------------------------------
  1975. Purpose:
  1976. Notes:
  1977. ------------------------------------------------------------------------------*/
  1978. RETURN Progname.
  1979. END FUNCTION.
  1980. /* _UIB-CODE-BLOCK-END */
  1981. &ANALYZE-RESUME