f-lager-eing.w 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS F-Frame-Win
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from cntnrfrm.w - ADM SmartFrame Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress UIB. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. &Scoped-define FELDER F_Lager,F_Datum,F_Artnr,F_Inhalt,F_Jahr,F_Kommentar,~
  28. F_GGebinde,F_VGebinde,F_KGebinde,F_Preis,F_Betrag,~
  29. Btn_Speichern,F_Listen_EP,Br_Artbw
  30. DEF VAR VUpdate AS LOG NO-UNDO.
  31. DEF VAR VLoeschen AS LOG NO-UNDO.
  32. DEF VAR FGefunden AS LOG NO-UNDO.
  33. DEF VAR Vorhanden AS LOG NO-UNDO.
  34. DEF VAR QOpen AS LOG NO-UNDO.
  35. DEF VAR XRecid AS RECID NO-UNDO.
  36. DEF VAR VSort AS INT NO-UNDO.
  37. DEF VAR VArtnr AS INT NO-UNDO.
  38. DEF VAR VKnr AS INT NO-UNDO.
  39. DEF VAR VInhalt AS INT NO-UNDO.
  40. DEF VAR VJahr AS INT NO-UNDO.
  41. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  42. DEF VAR FeldName AS CHAR NO-UNDO.
  43. DEF VAR LHandle AS HANDLE NO-UNDO.
  44. DEF VAR XHandle AS HANDLE NO-UNDO.
  45. DEF VAR ARecid AS RECID NO-UNDO.
  46. DEF VAR LRecid AS RECID NO-UNDO.
  47. DEF VAR BRecid AS RECID NO-UNDO.
  48. DEF VAR VText AS CHAR NO-UNDO.
  49. DEF VAR FwFRW AS CHAR NO-UNDO.
  50. DEF VAR FAlfa AS LOG NO-UNDO.
  51. DEF VAR YRecid AS RECID NO-UNDO.
  52. DEF VAR RRecid AS RECID NO-UNDO.
  53. DEF VAR VKorrArt AS INT NO-UNDO.
  54. DEF VAR Faktor AS INT NO-UNDO.
  55. DEF VAR MinNr AS INT NO-UNDO.
  56. DEF VAR VMWST AS INT.
  57. DEF BUFFER BArtst FOR Artst.
  58. DEF BUFFER BArtbw FOR Artbw.
  59. DEF BUFFER BAdresse FOR Adresse.
  60. /* ---------- Globale Variablen ---------------------------------- */
  61. { v8/globvar.i" " " " "SHARED" }
  62. { v8/debivar.i " " " " "SHARED" }
  63. { v8/artivar.i " " " " "SHARED" }
  64. { v8/contvar.i " " " " "SHARED" }
  65. /* _UIB-CODE-BLOCK-END */
  66. &ANALYZE-RESUME
  67. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  68. /* ******************** Preprocessor Definitions ******************** */
  69. &Scoped-define PROCEDURE-TYPE SmartFrame
  70. &Scoped-define DB-AWARE no
  71. &Scoped-define ADM-CONTAINER FRAME
  72. /* Name of first Frame and/or Browse and/or first Query */
  73. &Scoped-define FRAME-NAME F-Main
  74. &Scoped-define BROWSE-NAME Br_Artbw
  75. /* Internal Tables (found by Frame, Query & Browse Queries) */
  76. &Scoped-define INTERNAL-TABLES Artbw
  77. /* Definitions for BROWSE Br_Artbw */
  78. &Scoped-define FIELDS-IN-QUERY-Br_Artbw Artbw.Artnr ~
  79. DYNAMIC-FUNCTION('getKGebindeKBez':U,Artbw.KGeb_Cd) Artbw.Jahr Artbw.Bez1 ~
  80. Artbw.Tr_Art VText @ VText Artbw.Datum Artbw.KGeb_Me Artbw.VGeb_Me ~
  81. Artbw.GGeb_Me Artbw.Lager Artbw.Inhalt
  82. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Artbw
  83. &Scoped-define QUERY-STRING-Br_Artbw FOR EACH Artbw NO-LOCK
  84. &Scoped-define OPEN-QUERY-Br_Artbw OPEN QUERY Br_Artbw FOR EACH Artbw NO-LOCK.
  85. &Scoped-define TABLES-IN-QUERY-Br_Artbw Artbw
  86. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Artbw Artbw
  87. /* Definitions for FRAME F-Main */
  88. /* Standard List Definitions */
  89. &Scoped-Define ENABLED-OBJECTS RECT-1 RECT-2 RECT-35 F_Lager F_Datum ~
  90. CB_Korrart Btn_Artikel Btn_Speichern Br_Artbw
  91. &Scoped-Define DISPLAYED-FIELDS Artst.Bestand ArtLager.Eingang ~
  92. Artst.Bestellt ArtLager.Ausgang Artst.Ausverk ArtLager.Bestand ~
  93. ArtLager.Inv_Best ArtLager.Inv_Alt ArtLager.Ort
  94. &Scoped-define DISPLAYED-TABLES Artst ArtLager
  95. &Scoped-define FIRST-DISPLAYED-TABLE Artst
  96. &Scoped-define SECOND-DISPLAYED-TABLE ArtLager
  97. &Scoped-Define DISPLAYED-OBJECTS F_Lager F_Datum F_Artnr F_Inhalt F_Jahr ~
  98. F_Bez F_Kommentar F_GGebinde F_VGebinde F_KGebinde F_Preis F_Listen_EP ~
  99. F_Betrag
  100. /* Custom List Definitions */
  101. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  102. &Scoped-define List-1 F_Lager F_Datum CB_Korrart F_Artnr F_Inhalt F_Jahr ~
  103. F_Kommentar F_GGebinde F_VGebinde F_KGebinde F_Preis F_Listen_EP F_Betrag
  104. &Scoped-define List-2 F_Artnr F_Inhalt F_Jahr
  105. &Scoped-define List-3 F_Kommentar F_GGebinde F_VGebinde F_KGebinde
  106. &Scoped-define List-4 F_Lager F_Datum CB_Korrart
  107. &Scoped-define List-5 F_Bez Artst.Bestand Artst.Bestellt Artst.Ausverk
  108. &Scoped-define List-6 ArtLager.Eingang ArtLager.Ausgang ArtLager.Bestand ~
  109. ArtLager.Inv_Best ArtLager.Inv_Alt ArtLager.Ort
  110. /* _UIB-PREPROCESSOR-BLOCK-END */
  111. &ANALYZE-RESUME
  112. /* *********************** Control Definitions ********************** */
  113. /* Definitions of the field level widgets */
  114. DEFINE BUTTON Btn_Artikel
  115. LABEL "Artikel"
  116. SIZE 18.8 BY 1.
  117. DEFINE BUTTON Btn_Speichern
  118. LABEL "&Buchen"
  119. SIZE 16.8 BY 1.24.
  120. DEFINE VARIABLE CB_Korrart AS CHARACTER FORMAT "X(256)":U
  121. LABEL "Korrekturart"
  122. VIEW-AS COMBO-BOX INNER-LINES 5
  123. DROP-DOWN-LIST
  124. SIZE 45 BY 1
  125. BGCOLOR 15 NO-UNDO.
  126. DEFINE VARIABLE F_Artnr AS CHARACTER FORMAT "x(12)"
  127. VIEW-AS FILL-IN NATIVE
  128. SIZE 12 BY 1
  129. BGCOLOR 15 .
  130. DEFINE VARIABLE F_Betrag AS DECIMAL FORMAT "zz,zz9.999-":U INITIAL 0
  131. LABEL "Betrag"
  132. VIEW-AS FILL-IN NATIVE
  133. SIZE 17 BY 1
  134. BGCOLOR 15 NO-UNDO.
  135. DEFINE VARIABLE F_Bez AS CHARACTER FORMAT "x(30)"
  136. LABEL "Artikel"
  137. VIEW-AS FILL-IN NATIVE
  138. SIZE 51.8 BY 1
  139. BGCOLOR 15 .
  140. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999"
  141. LABEL "Buchungsdatum"
  142. VIEW-AS FILL-IN NATIVE
  143. SIZE 18.4 BY 1
  144. BGCOLOR 15 .
  145. DEFINE VARIABLE F_GGebinde AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  146. LABEL ""
  147. VIEW-AS FILL-IN NATIVE
  148. SIZE 11 BY 1
  149. BGCOLOR 15 NO-UNDO.
  150. DEFINE VARIABLE F_Inhalt AS INTEGER FORMAT "9999" INITIAL 0
  151. LABEL "/"
  152. VIEW-AS FILL-IN NATIVE
  153. SIZE 8.6 BY 1
  154. BGCOLOR 15 .
  155. DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999" INITIAL 0
  156. LABEL "/"
  157. VIEW-AS FILL-IN NATIVE
  158. SIZE 8.6 BY 1
  159. BGCOLOR 15 .
  160. DEFINE VARIABLE F_KGebinde AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  161. LABEL ""
  162. VIEW-AS FILL-IN NATIVE
  163. SIZE 11 BY 1
  164. BGCOLOR 15 NO-UNDO.
  165. DEFINE VARIABLE F_Kommentar AS CHARACTER FORMAT "x(35)":U
  166. LABEL "Kommentar"
  167. VIEW-AS FILL-IN NATIVE
  168. SIZE 51.8 BY 1
  169. BGCOLOR 15 NO-UNDO.
  170. DEFINE VARIABLE F_Lager AS INTEGER FORMAT "99" INITIAL 0
  171. LABEL "Lager"
  172. VIEW-AS FILL-IN NATIVE
  173. SIZE 5.6 BY 1
  174. BGCOLOR 15 .
  175. DEFINE VARIABLE F_Listen_EP AS DECIMAL FORMAT "zz,zz9.999":U INITIAL 0
  176. LABEL "Listen EP"
  177. VIEW-AS FILL-IN NATIVE
  178. SIZE 17 BY 1
  179. BGCOLOR 15 NO-UNDO.
  180. DEFINE VARIABLE F_Preis AS DECIMAL FORMAT "zz,zz9.999":U INITIAL 0
  181. LABEL "Preis"
  182. VIEW-AS FILL-IN NATIVE
  183. SIZE 17 BY 1
  184. BGCOLOR 15 NO-UNDO.
  185. DEFINE VARIABLE F_VGebinde AS INTEGER FORMAT "zz,zz9-":U INITIAL 0
  186. LABEL ""
  187. VIEW-AS FILL-IN NATIVE
  188. SIZE 11 BY 1
  189. BGCOLOR 15 NO-UNDO.
  190. DEFINE RECTANGLE RECT-1
  191. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  192. SIZE 132 BY 2.05.
  193. DEFINE RECTANGLE RECT-2
  194. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  195. SIZE 132 BY 11.19.
  196. DEFINE RECTANGLE RECT-35
  197. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  198. SIZE 132 BY 6.91.
  199. /* Query definitions */
  200. &ANALYZE-SUSPEND
  201. DEFINE QUERY Br_Artbw FOR
  202. Artbw SCROLLING.
  203. &ANALYZE-RESUME
  204. /* Browse definitions */
  205. DEFINE BROWSE Br_Artbw
  206. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Artbw F-Frame-Win _STRUCTURED
  207. QUERY Br_Artbw DISPLAY
  208. Artbw.Artnr FORMAT "999999":U
  209. DYNAMIC-FUNCTION('getKGebindeKBez':U,Artbw.KGeb_Cd) COLUMN-LABEL "Gebinde" FORMAT "x(12)":U
  210. Artbw.Jahr FORMAT "9999":U
  211. Artbw.Bez1 COLUMN-LABEL "Artikel" FORMAT "x(27)":U
  212. Artbw.Tr_Art COLUMN-LABEL "BA" FORMAT "99":U
  213. VText @ VText COLUMN-LABEL "Transaktionsart" FORMAT "x(18)":U
  214. Artbw.Datum FORMAT "99.99.9999":U
  215. Artbw.KGeb_Me COLUMN-LABEL "KGeb" FORMAT "zz,zz9-":U
  216. Artbw.VGeb_Me COLUMN-LABEL "VGeb" FORMAT "zzz9-":U
  217. Artbw.GGeb_Me COLUMN-LABEL "GGeb" FORMAT "zz9-":U
  218. Artbw.Lager COLUMN-LABEL "LG" FORMAT "99":U
  219. Artbw.Inhalt FORMAT "9999":U
  220. /* _UIB-CODE-BLOCK-END */
  221. &ANALYZE-RESUME
  222. WITH NO-ROW-MARKERS SEPARATORS SIZE 129 BY 6.38
  223. BGCOLOR 15 .
  224. /* ************************ Frame Definitions *********************** */
  225. DEFINE FRAME F-Main
  226. F_Lager AT ROW 1.91 COL 23 COLON-ALIGNED
  227. F_Datum AT ROW 1.91 COL 48.2 COLON-ALIGNED
  228. CB_Korrart AT ROW 1.91 COL 83.2 COLON-ALIGNED
  229. Btn_Artikel AT ROW 4.57 COL 4.6
  230. F_Artnr AT ROW 4.57 COL 23.4 COLON-ALIGNED NO-LABEL
  231. F_Inhalt AT ROW 4.57 COL 38.8 COLON-ALIGNED
  232. F_Jahr AT ROW 4.57 COL 51.4 COLON-ALIGNED
  233. F_Bez AT ROW 4.57 COL 72.4 COLON-ALIGNED
  234. F_Kommentar AT ROW 5.57 COL 72.4 COLON-ALIGNED
  235. Artst.Bestand AT ROW 6.57 COL 72.4 COLON-ALIGNED
  236. LABEL "Bestand" FORMAT "zz,zzz,zz9-"
  237. VIEW-AS FILL-IN NATIVE
  238. SIZE 17 BY 1
  239. BGCOLOR 15
  240. ArtLager.Eingang AT ROW 6.57 COL 107.6 COLON-ALIGNED
  241. LABEL "Eingang" FORMAT "zz,zzz,zz9-"
  242. VIEW-AS FILL-IN NATIVE
  243. SIZE 17 BY 1
  244. BGCOLOR 15
  245. Artst.Bestellt AT ROW 7.57 COL 72.4 COLON-ALIGNED
  246. LABEL "Bestellt" FORMAT "zz,zzz,zz9-"
  247. VIEW-AS FILL-IN NATIVE
  248. SIZE 17 BY 1
  249. BGCOLOR 15
  250. ArtLager.Ausgang AT ROW 7.57 COL 107.6 COLON-ALIGNED
  251. LABEL "Ausgang" FORMAT "zz,zzz,zz9-"
  252. VIEW-AS FILL-IN NATIVE
  253. SIZE 17 BY 1
  254. BGCOLOR 15
  255. F_GGebinde AT ROW 8 COL 13.6 COLON-ALIGNED
  256. Artst.Ausverk AT ROW 8.57 COL 72.4 COLON-ALIGNED
  257. LABEL "Ausverk" FORMAT "9"
  258. VIEW-AS FILL-IN NATIVE
  259. SIZE 4 BY 1
  260. BGCOLOR 15
  261. ArtLager.Bestand AT ROW 8.57 COL 107.6 COLON-ALIGNED
  262. LABEL "Bestand" FORMAT "zz,zzz,zz9-"
  263. VIEW-AS FILL-IN NATIVE
  264. SIZE 17 BY 1
  265. BGCOLOR 15
  266. F_VGebinde AT ROW 9 COL 13.6 COLON-ALIGNED
  267. ArtLager.Inv_Best AT ROW 9.57 COL 107.6 COLON-ALIGNED
  268. LABEL "Inventar" FORMAT "zz,zzz,zz9-"
  269. VIEW-AS FILL-IN NATIVE
  270. SIZE 17 BY 1
  271. BGCOLOR 15
  272. F_KGebinde AT ROW 10 COL 13.6 COLON-ALIGNED
  273. ArtLager.Inv_Alt AT ROW 10.57 COL 107.6 COLON-ALIGNED
  274. LABEL "Inventar Alt" FORMAT "zz,zzz,zz9-"
  275. VIEW-AS FILL-IN NATIVE
  276. SIZE 17 BY 1
  277. BGCOLOR 15
  278. F_Preis AT ROW 11 COL 13.6 COLON-ALIGNED
  279. F_Listen_EP AT ROW 11 COL 43.6 COLON-ALIGNED
  280. F_Betrag AT ROW 11 COL 69.6 COLON-ALIGNED
  281. ArtLager.Ort AT ROW 11.57 COL 107.6 COLON-ALIGNED
  282. LABEL "Lagerort/Platz" FORMAT "x(15)"
  283. VIEW-AS FILL-IN NATIVE
  284. SIZE 17 BY 1
  285. BGCOLOR 15
  286. Btn_Speichern AT ROW 13.24 COL 25.4
  287. Br_Artbw AT ROW 15.86 COL 3.8
  288. RECT-1 AT ROW 1.38 COL 2
  289. RECT-2 AT ROW 3.95 COL 2
  290. RECT-35 AT ROW 15.57 COL 2
  291. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  292. SIDE-LABELS NO-UNDERLINE THREE-D
  293. AT COL 1 ROW 1
  294. SIZE 134.8 BY 21.81.
  295. /* *********************** Procedure Settings ************************ */
  296. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  297. /* Settings for THIS-PROCEDURE
  298. Type: SmartFrame
  299. Allow: Basic,Browse,DB-Fields,Query,Smart
  300. Design Page: 1
  301. Other Settings: PERSISTENT-ONLY COMPILE
  302. */
  303. /* This procedure should always be RUN PERSISTENT. Report the error, */
  304. /* then cleanup and return. */
  305. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  306. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  307. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  308. RETURN.
  309. END.
  310. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  311. /* ************************* Create Window ************************** */
  312. &ANALYZE-SUSPEND _CREATE-WINDOW
  313. /* DESIGN Window definition (used by the UIB)
  314. CREATE WINDOW F-Frame-Win ASSIGN
  315. HEIGHT = 21.81
  316. WIDTH = 134.8.
  317. /* END WINDOW DEFINITION */
  318. */
  319. &ANALYZE-RESUME
  320. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB F-Frame-Win
  321. /* ************************* Included-Libraries *********************** */
  322. {src/adm/method/containr.i}
  323. /* _UIB-CODE-BLOCK-END */
  324. &ANALYZE-RESUME
  325. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  326. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  327. /* SETTINGS FOR WINDOW F-Frame-Win
  328. VISIBLE,,RUN-PERSISTENT */
  329. /* SETTINGS FOR FRAME F-Main
  330. NOT-VISIBLE */
  331. /* BROWSE-TAB Br_Artbw Btn_Speichern F-Main */
  332. ASSIGN
  333. FRAME F-Main:PRIVATE-DATA =
  334. "LAGER".
  335. /* SETTINGS FOR FILL-IN ArtLager.Ausgang IN FRAME F-Main
  336. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  337. /* SETTINGS FOR FILL-IN Artst.Ausverk IN FRAME F-Main
  338. NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
  339. /* SETTINGS FOR FILL-IN ArtLager.Bestand IN FRAME F-Main
  340. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  341. /* SETTINGS FOR FILL-IN Artst.Bestand IN FRAME F-Main
  342. NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
  343. /* SETTINGS FOR FILL-IN Artst.Bestellt IN FRAME F-Main
  344. NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
  345. /* SETTINGS FOR COMBO-BOX CB_Korrart IN FRAME F-Main
  346. NO-DISPLAY 1 4 */
  347. /* SETTINGS FOR FILL-IN ArtLager.Eingang IN FRAME F-Main
  348. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  349. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME F-Main
  350. NO-ENABLE 1 2 */
  351. /* SETTINGS FOR FILL-IN F_Betrag IN FRAME F-Main
  352. NO-ENABLE 1 */
  353. /* SETTINGS FOR FILL-IN F_Bez IN FRAME F-Main
  354. NO-ENABLE 5 */
  355. /* SETTINGS FOR FILL-IN F_Datum IN FRAME F-Main
  356. 1 4 */
  357. /* SETTINGS FOR FILL-IN F_GGebinde IN FRAME F-Main
  358. NO-ENABLE 1 3 */
  359. /* SETTINGS FOR FILL-IN F_Inhalt IN FRAME F-Main
  360. NO-ENABLE 1 2 */
  361. /* SETTINGS FOR FILL-IN F_Jahr IN FRAME F-Main
  362. NO-ENABLE 1 2 */
  363. /* SETTINGS FOR FILL-IN F_KGebinde IN FRAME F-Main
  364. NO-ENABLE 1 3 */
  365. /* SETTINGS FOR FILL-IN F_Kommentar IN FRAME F-Main
  366. NO-ENABLE 1 3 */
  367. /* SETTINGS FOR FILL-IN F_Lager IN FRAME F-Main
  368. 1 4 */
  369. /* SETTINGS FOR FILL-IN F_Listen_EP IN FRAME F-Main
  370. NO-ENABLE 1 */
  371. /* SETTINGS FOR FILL-IN F_Preis IN FRAME F-Main
  372. NO-ENABLE 1 */
  373. /* SETTINGS FOR FILL-IN F_VGebinde IN FRAME F-Main
  374. NO-ENABLE 1 3 */
  375. /* SETTINGS FOR FILL-IN ArtLager.Inv_Alt IN FRAME F-Main
  376. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  377. /* SETTINGS FOR FILL-IN ArtLager.Inv_Best IN FRAME F-Main
  378. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  379. /* SETTINGS FOR FILL-IN ArtLager.Ort IN FRAME F-Main
  380. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  381. /* _RUN-TIME-ATTRIBUTES-END */
  382. &ANALYZE-RESUME
  383. /* Setting information for Queries and Browse Widgets fields */
  384. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Artbw
  385. /* Query rebuild information for BROWSE Br_Artbw
  386. _TblList = "AnaDat.Artbw"
  387. _FldNameList[1] = AnaDat.Artbw.Artnr
  388. _FldNameList[2] > "_<CALC>"
  389. "DYNAMIC-FUNCTION('getKGebindeKBez':U,Artbw.KGeb_Cd)" "Gebinde" "x(12)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  390. _FldNameList[3] = AnaDat.Artbw.Jahr
  391. _FldNameList[4] > AnaDat.Artbw.Bez1
  392. "Artbw.Bez1" "Artikel" "x(27)" "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  393. _FldNameList[5] > AnaDat.Artbw.Tr_Art
  394. "Artbw.Tr_Art" "BA" ? "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  395. _FldNameList[6] > "_<CALC>"
  396. "VText @ VText" "Transaktionsart" "x(18)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  397. _FldNameList[7] = AnaDat.Artbw.Datum
  398. _FldNameList[8] > AnaDat.Artbw.KGeb_Me
  399. "Artbw.KGeb_Me" "KGeb" "zz,zz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  400. _FldNameList[9] > AnaDat.Artbw.VGeb_Me
  401. "Artbw.VGeb_Me" "VGeb" "zzz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  402. _FldNameList[10] > AnaDat.Artbw.GGeb_Me
  403. "Artbw.GGeb_Me" "GGeb" "zz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  404. _FldNameList[11] > AnaDat.Artbw.Lager
  405. "Artbw.Lager" "LG" ? "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  406. _FldNameList[12] = AnaDat.Artbw.Inhalt
  407. _Query is NOT OPENED
  408. */ /* BROWSE Br_Artbw */
  409. &ANALYZE-RESUME
  410. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  411. /* Query rebuild information for FRAME F-Main
  412. _Options = ""
  413. _Query is NOT OPENED
  414. */ /* FRAME F-Main */
  415. &ANALYZE-RESUME
  416. /* ************************ Control Triggers ************************ */
  417. &Scoped-define BROWSE-NAME Br_Artbw
  418. &Scoped-define SELF-NAME Br_Artbw
  419. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Artbw F-Frame-Win
  420. ON ENTRY OF Br_Artbw IN FRAME F-Main
  421. DO:
  422. RUN ANZEIGE.
  423. END.
  424. /* _UIB-CODE-BLOCK-END */
  425. &ANALYZE-RESUME
  426. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Artbw F-Frame-Win
  427. ON ROW-DISPLAY OF Br_Artbw IN FRAME F-Main
  428. DO:
  429. RUN ANZEIGE.
  430. END.
  431. /* _UIB-CODE-BLOCK-END */
  432. &ANALYZE-RESUME
  433. &Scoped-define SELF-NAME Btn_Artikel
  434. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Artikel F-Frame-Win
  435. ON CHOOSE OF Btn_Artikel IN FRAME F-Main /* Artikel */
  436. DO:
  437. RUN "v8/d-lagerkorr-anz.w".
  438. END.
  439. /* _UIB-CODE-BLOCK-END */
  440. &ANALYZE-RESUME
  441. &Scoped-define SELF-NAME Btn_Speichern
  442. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Speichern F-Frame-Win
  443. ON CHOOSE OF Btn_Speichern IN FRAME F-Main /* Buchen */
  444. DO:
  445. DO WITH FRAME {&FRAME-NAME}:
  446. IF Btn_Speichern:LABEL = '&Buchen' THEN DO:
  447. RUN BUCHEN.
  448. RETURN NO-APPLY.
  449. END.
  450. IF Btn_Speichern:LABEL = '&Speichern' THEN DO:
  451. RUN SPEICHERN.
  452. RETURN NO-APPLY.
  453. END.
  454. END.
  455. END.
  456. /* _UIB-CODE-BLOCK-END */
  457. &ANALYZE-RESUME
  458. &Scoped-define SELF-NAME CB_Korrart
  459. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Korrart F-Frame-Win
  460. ON LEAVE OF CB_Korrart IN FRAME F-Main /* Korrekturart */
  461. DO:
  462. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  463. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN.
  464. RUN OPEN_Artbw.
  465. APPLY 'ENTRY' TO Btn_Speichern IN FRAME {&FRAME-NAME}.
  466. RETURN NO-APPLY.
  467. END.
  468. /* _UIB-CODE-BLOCK-END */
  469. &ANALYZE-RESUME
  470. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Korrart F-Frame-Win
  471. ON RETURN OF CB_Korrart IN FRAME F-Main /* Korrekturart */
  472. DO:
  473. APPLY 'TAB' TO SELF.
  474. RETURN NO-APPLY.
  475. END.
  476. /* _UIB-CODE-BLOCK-END */
  477. &ANALYZE-RESUME
  478. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Korrart F-Frame-Win
  479. ON VALUE-CHANGED OF CB_Korrart IN FRAME F-Main /* Korrekturart */
  480. DO:
  481. RUN OPEN_Artbw.
  482. RETURN NO-APPLY.
  483. END.
  484. /* _UIB-CODE-BLOCK-END */
  485. &ANALYZE-RESUME
  486. &Scoped-define SELF-NAME F_Artnr
  487. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr F-Frame-Win
  488. ON LEAVE OF F_Artnr IN FRAME F-Main
  489. DO:
  490. DEF VAR cArtikel AS CHAR NO-UNDO.
  491. DEF VAR cDaten AS CHAR NO-UNDO.
  492. DEF VAR iRecid AS RECID NO-UNDO.
  493. DEF VAR yy AS INT NO-UNDO.
  494. DEF VAR iArtnr AS INT NO-UNDO.
  495. DO WITH FRAME {&FRAME-NAME}:
  496. LKY = LASTKEY.
  497. LHandle = LAST-EVENT:WIDGET-ENTER.
  498. IF KEYFUNCTION(LKY) = 'END-ERROR' THEN RETURN.
  499. XHandle = SELF:HANDLE.
  500. Feldname = XHandle:NAME.
  501. FeldInhalt = XHandle:SCREEN-VALUE.
  502. DO WHILE TRUE:
  503. iArtnr = 0.
  504. iRecid = ?.
  505. yy = 0.
  506. IF NUM-ENTRIES(FeldInhalt, ' ') = 1 THEN iArtnr = INTEGER(FeldInhalt) NO-ERROR.
  507. IF NOT ERROR-STATUS:ERROR AND
  508. iArtnr > 0 AND
  509. iArtnr < 1000000 THEN DO:
  510. DO WHILE iArtnr < MinNr:
  511. iArtnr = iArtnr * 10.
  512. yy = yy + 1.
  513. END.
  514. FOR EACH Artst NO-LOCK
  515. WHERE Artst.Firma = GVFirma
  516. AND Artst.Artnr = iArtnr:
  517. ASSIGN yy = yy + 1
  518. iRecid = RECID(Artst).
  519. END.
  520. END.
  521. IF yy = 1 THEN LEAVE.
  522. LVSuchbe = FeldInhalt.
  523. iRecid = ?.
  524. RUN g-suchen-artikel.w ( LVSuchbe, OUTPUT iRecid ).
  525. LEAVE.
  526. END.
  527. IF iRecid = ? OR
  528. iRecid = 0 THEN DO:
  529. APPLY 'ENTRY' TO SELF.
  530. RETURN NO-APPLY.
  531. END.
  532. FIND BArtst NO-LOCK WHERE RECID(BArtst) = iRecid NO-ERROR.
  533. IF AVAILABLE BArtst THEN DO:
  534. FIND FIRST Artbez NO-LOCK OF BArtst.
  535. ASSIGN VArtnr = BArtst.Artnr
  536. VInhalt = BArtst.Inhalt
  537. VJahr = BArtst.Jahr
  538. cArtikel = (Artbez.Bez1 + ' ' + Artbez.Bez2)
  539. F_Artnr = STRING(VArtnr ,"999999")
  540. F_Artnr:SCREEN-VALUE = STRING(VArtnr ,"999999")
  541. F_Inhalt:SCREEN-VALUE = STRING(VInhalt,"9999")
  542. F_Jahr:SCREEN-VALUE = STRING(VJahr ,"9999")
  543. F_Bez:SCREEN-VALUE = cArtikel
  544. FeldInhalt = STRING(VArtnr).
  545. END.
  546. /*
  547. APPLY 'LEAVE' TO F_Jahr.
  548. */
  549. END.
  550. END.
  551. /* _UIB-CODE-BLOCK-END */
  552. &ANALYZE-RESUME
  553. &Scoped-define SELF-NAME F_Datum
  554. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum F-Frame-Win
  555. ON LEAVE OF F_Datum IN FRAME F-Main /* Buchungsdatum */
  556. DO:
  557. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  558. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN.
  559. RUN DATUMTEST.
  560. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  561. RUN OPEN_Artbw.
  562. END.
  563. /* _UIB-CODE-BLOCK-END */
  564. &ANALYZE-RESUME
  565. &Scoped-define SELF-NAME F_GGebinde
  566. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_GGebinde F-Frame-Win
  567. ON CURSOR-DOWN OF F_GGebinde IN FRAME F-Main
  568. DO:
  569. APPLY 'TAB' TO SELF.
  570. RETURN NO-APPLY.
  571. END.
  572. /* _UIB-CODE-BLOCK-END */
  573. &ANALYZE-RESUME
  574. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_GGebinde F-Frame-Win
  575. ON LEAVE OF F_GGebinde IN FRAME F-Main
  576. DO:
  577. DO WITH FRAME {&FRAME-NAME}:
  578. ASSIGN {&List-3}.
  579. IF F_GGebinde <> 0 THEN DO:
  580. IF AVAILABLE GGebinde THEN F_VGebinde = F_GGebinde * GGebinde.Inhalt.
  581. IF AVAILABLE VGebinde THEN F_KGebinde = F_VGebinde * VGebinde.Inhalt.
  582. END.
  583. DISPLAY {&List-3}.
  584. END.
  585. END.
  586. /* _UIB-CODE-BLOCK-END */
  587. &ANALYZE-RESUME
  588. &Scoped-define SELF-NAME F_Inhalt
  589. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt F-Frame-Win
  590. ON LEAVE OF F_Inhalt IN FRAME F-Main /* / */
  591. DO:
  592. DO WITH FRAME {&FRAME-NAME}:
  593. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  594. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN.
  595. LKY = LASTKEY.
  596. LHandle = LAST-EVENT:WIDGET-ENTER.
  597. XHandle = SELF:HANDLE.
  598. Feldname = XHandle:NAME.
  599. FeldInhalt = XHandle:SCREEN-VALUE.
  600. F_Inhalt = INTEGER(FeldInhalt).
  601. FIND FIRST Artst NO-LOCK USE-INDEX Artst-k1
  602. WHERE Artst.Firma = GVFirma
  603. AND Artst.Artnr = VArtnr
  604. AND Artst.Inhalt = F_Inhalt NO-ERROR.
  605. IF NOT AVAILABLE Artst THEN DO:
  606. { v8/fehler.i "0213" }
  607. APPLY 'ENTRY' TO F_Inhalt.
  608. RETURN NO-APPLY.
  609. END.
  610. F_Jahr = Artst.Jahr.
  611. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
  612. FIND ArtBez NO-LOCK USE-INDEX ArtBez-k1
  613. WHERE ArtBez.Firma = GVFirma
  614. AND ArtBez.Artnr = Artst.Artnr
  615. AND ArtBez.Inhalt = F_Inhalt
  616. AND ArtBez.Jahr = F_Jahr
  617. AND ArtBez.Sprcd = Steuer.Fwi01 NO-ERROR.
  618. IF AVAILABLE ArtBez THEN DO:
  619. F_Bez = ArtBez.Bez1.
  620. END.
  621. DISPLAY {&List-5}.
  622. END.
  623. END.
  624. /* _UIB-CODE-BLOCK-END */
  625. &ANALYZE-RESUME
  626. &Scoped-define SELF-NAME F_Jahr
  627. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr F-Frame-Win
  628. ON LEAVE OF F_Jahr IN FRAME F-Main /* / */
  629. DO:
  630. DO WITH FRAME {&FRAME-NAME}:
  631. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  632. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN.
  633. LKY = LASTKEY.
  634. LHandle = LAST-EVENT:WIDGET-ENTER.
  635. XHandle = SELF:HANDLE.
  636. Feldname = XHandle:NAME.
  637. FeldInhalt = XHandle:SCREEN-VALUE.
  638. F_Jahr = INTEGER(FeldInhalt).
  639. FIND Artst NO-LOCK USE-INDEX Artst-k1
  640. WHERE Artst.Firma = GVFirma
  641. AND Artst.Artnr = VArtnr
  642. AND Artst.Inhalt = F_Inhalt
  643. AND Artst.Jahr = F_Jahr NO-ERROR.
  644. IF NOT AVAILABLE Artst THEN DO:
  645. { v8/fehler.i "0213" }
  646. APPLY 'ENTRY' TO F_Artnr.
  647. RETURN NO-APPLY.
  648. END.
  649. IF Artst.Aktiv = FALSE THEN DO:
  650. ja = FALSE.
  651. { v8/antwort.i "1081" }
  652. IF NOT ja THEN DO:
  653. APPLY 'ENTRY' TO F_Artnr.
  654. RETURN NO-APPLY.
  655. END.
  656. END.
  657. ARecid = RECID(Artst).
  658. FIND ArtBez NO-LOCK USE-INDEX ArtBez-k1
  659. WHERE ArtBez.Firma = GVFirma
  660. AND ArtBez.Artnr = Artst.Artnr
  661. AND ArtBez.Inhalt = Artst.Inhalt
  662. AND ArtBez.Jahr = Artst.Jahr
  663. AND ArtBez.Sprcd = Steuer.Fwi01 NO-ERROR.
  664. IF AVAILABLE ArtBez THEN DO:
  665. F_Bez = ArtBez.Bez1.
  666. END.
  667. FIND ArtLager USE-INDEX ArtLager-k1
  668. WHERE ArtLager.Firma = Artst.Firma
  669. AND ArtLager.Artnr = Artst.Artnr
  670. AND ArtLager.Inhalt = Artst.Inhalt
  671. AND ArtLager.Jahr = Artst.Jahr
  672. AND ArtLager.Lager = F_Lager NO-LOCK NO-ERROR.
  673. IF AVAILABLE ArtLager THEN DO:
  674. DISPLAY {&List-6}.
  675. END.
  676. F_Artnr = STRING(VArtnr,"999999").
  677. IF AVAILABLE ArtLief THEN DO:
  678. F_Preis = ArtLief.S_Preis.
  679. F_Listen_EP = Artst.Listen_Ep.
  680. END.
  681. ELSE DO:
  682. F_Preis = 0.
  683. F_Listen_EP = Artst.Listen_Ep.
  684. END.
  685. DISPLAY {&List-5}.
  686. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  687. AND GGebinde.Geb_Cd = Artst.GGeb_Cd NO-LOCK NO-ERROR.
  688. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  689. AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-LOCK NO-ERROR.
  690. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  691. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK NO-ERROR.
  692. F_KGebinde:LABEL = KGebinde.KBez.
  693. F_VGebinde:LABEL = VGebinde.KBez.
  694. F_GGebinde:LABEL = GGebinde.KBez.
  695. F_KGebinde = 0.
  696. F_VGebinde = 0.
  697. F_GGebinde = 0.
  698. DISPLAY {&List-3}.
  699. DISABLE {&List-2}.
  700. ENABLE {&List-3}.
  701. APPLY 'ENTRY' TO F_Kommentar.
  702. RETURN NO-APPLY.
  703. END.
  704. END.
  705. /* _UIB-CODE-BLOCK-END */
  706. &ANALYZE-RESUME
  707. &Scoped-define SELF-NAME F_KGebinde
  708. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_KGebinde F-Frame-Win
  709. ON CURSOR-UP OF F_KGebinde IN FRAME F-Main
  710. DO:
  711. APPLY 'BACK-TAB' TO SELF.
  712. RETURN NO-APPLY.
  713. END.
  714. /* _UIB-CODE-BLOCK-END */
  715. &ANALYZE-RESUME
  716. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_KGebinde F-Frame-Win
  717. ON LEAVE OF F_KGebinde IN FRAME F-Main
  718. DO:
  719. DO WITH FRAME {&FRAME-NAME}:
  720. ASSIGN {&List-3}.
  721. RUN PREIS.
  722. DISPLAY F_Preis F_Betrag.
  723. END.
  724. END.
  725. /* _UIB-CODE-BLOCK-END */
  726. &ANALYZE-RESUME
  727. &Scoped-define SELF-NAME F_Kommentar
  728. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kommentar F-Frame-Win
  729. ON LEAVE OF F_Kommentar IN FRAME F-Main /* Kommentar */
  730. DO:
  731. APPLY 'ENTRY' TO F_VGebinde IN FRAME {&FRAME-NAME}.
  732. RETURN NO-APPLY.
  733. END.
  734. /* _UIB-CODE-BLOCK-END */
  735. &ANALYZE-RESUME
  736. &Scoped-define SELF-NAME F_Listen_EP
  737. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Listen_EP F-Frame-Win
  738. ON LEAVE OF F_Listen_EP IN FRAME F-Main /* Listen EP */
  739. DO:
  740. DO WITH FRAME {&FRAME-NAME}:
  741. ASSIGN F_Preis.
  742. F_Betrag = F_KGebinde * F_preis.
  743. DISPLAY F_Betrag.
  744. END.
  745. END.
  746. /* _UIB-CODE-BLOCK-END */
  747. &ANALYZE-RESUME
  748. &Scoped-define SELF-NAME F_Preis
  749. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preis F-Frame-Win
  750. ON LEAVE OF F_Preis IN FRAME F-Main /* Preis */
  751. DO:
  752. DO WITH FRAME {&FRAME-NAME}:
  753. ASSIGN F_Preis.
  754. F_Betrag = F_KGebinde * F_preis.
  755. DISPLAY F_Betrag.
  756. END.
  757. END.
  758. /* _UIB-CODE-BLOCK-END */
  759. &ANALYZE-RESUME
  760. &Scoped-define SELF-NAME F_VGebinde
  761. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde F-Frame-Win
  762. ON CURSOR-DOWN OF F_VGebinde IN FRAME F-Main
  763. DO:
  764. APPLY 'TAB' TO SELF.
  765. RETURN NO-APPLY.
  766. END.
  767. /* _UIB-CODE-BLOCK-END */
  768. &ANALYZE-RESUME
  769. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde F-Frame-Win
  770. ON CURSOR-UP OF F_VGebinde IN FRAME F-Main
  771. DO:
  772. APPLY 'BACK-TAB' TO SELF.
  773. RETURN NO-APPLY.
  774. END.
  775. /* _UIB-CODE-BLOCK-END */
  776. &ANALYZE-RESUME
  777. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde F-Frame-Win
  778. ON LEAVE OF F_VGebinde IN FRAME F-Main
  779. DO:
  780. DO WITH FRAME {&FRAME-NAME}:
  781. ASSIGN {&List-3}.
  782. IF F_VGebinde <> 0 THEN DO:
  783. IF AVAILABLE VGebinde THEN F_KGebinde = F_VGebinde * VGebinde.Inhalt.
  784. END.
  785. DISPLAY {&List-3}.
  786. END.
  787. END.
  788. /* _UIB-CODE-BLOCK-END */
  789. &ANALYZE-RESUME
  790. &UNDEFINE SELF-NAME
  791. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK F-Frame-Win
  792. /* *************************** Main Block *************************** */
  793. SESSION:DATA-ENTRY-RETURN = TRUE.
  794. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  795. IF Steuer.Fwi06 = 0 THEN VMWST = 1.
  796. ELSE VMWST = Steuer.Fwi06.
  797. GET-KEY-VALUE SECTION 'FwSteuer' KEY 'FwFRW' VALUE FwFRW.
  798. IF FwFRW = ? THEN FwFRW = 'CHF'.
  799. QOpen = FALSE.
  800. VSort = 1.
  801. VLoeschen = FALSE.
  802. VUpdate = FALSE.
  803. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  804. /* Now enable the interface if in test mode - otherwise this happens when
  805. the object is explicitly initialized from its container. */
  806. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  807. &ENDIF
  808. ON END-ERROR OF {&FELDER} IN FRAME {&FRAME-NAME}
  809. DO:
  810. DO WITH FRAME {&FRAME-NAME}:
  811. LKY = LASTKEY.
  812. XHandle = SELF:HANDLE.
  813. IF VUpdate THEN DO:
  814. VUpdate = FALSE.
  815. RUN CLEARBILDSCHIRM.
  816. DISABLE {&List-2}.
  817. DISABLE {&List-3}.
  818. ENABLE {&List-4}.
  819. ENABLE Btn_Artikel.
  820. Btn_Speichern:LABEL = '&Buchen'.
  821. APPLY 'ENTRY' TO Btn_Speichern.
  822. RETURN NO-APPLY.
  823. END.
  824. IF VALID-HANDLE(XHandle) THEN DO:
  825. IF XHandle:NAME = 'F_Lager' THEN DO:
  826. RUN new-state ( 'ENDE, MAIN':U).
  827. RETURN NO-APPLY.
  828. END.
  829. APPLY 'ENTRY' TO F_Lager.
  830. RETURN NO-APPLY.
  831. END.
  832. END.
  833. END.
  834. ON DELETE-CHARACTER OF BROWSE Br_Artbw
  835. DO:
  836. DO WITH FRAME {&FRAME-NAME}:
  837. Br_Artbw:FETCH-SELECTED-ROW(1).
  838. VArtnr = Artbw.Artnr.
  839. VKnr = Artbw.Knr.
  840. F_Artnr = STRING(Artbw.Artnr,"999999").
  841. F_Inhalt = Artbw.Inhalt.
  842. F_Jahr = Artbw.Jahr.
  843. F_Lager = Artbw.Lager.
  844. F_Bez = ''.
  845. BRecid = RECID(Artbw).
  846. FIND Artst USE-INDEX Artst-k1
  847. WHERE Artst.Firma = GVFirma
  848. AND Artst.Artnr = VArtnr
  849. AND Artst.Inhalt = F_Inhalt
  850. AND Artst.Jahr = F_Jahr NO-LOCK NO-ERROR.
  851. ARecid = RECID(Artst).
  852. FIND ArtBez USE-INDEX ArtBez-k1
  853. WHERE ArtBez.Firma = GVFirma
  854. AND ArtBez.Artnr = Artst.Artnr
  855. AND ArtBez.Inhalt = F_Inhalt
  856. AND ArtBez.Jahr = F_Jahr
  857. AND ArtBez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
  858. IF AVAILABLE ArtBez THEN DO:
  859. F_Bez = ArtBez.Bez1.
  860. END.
  861. FIND ArtLager USE-INDEX ArtLager-k1
  862. WHERE ArtLager.Firma = Artst.Firma
  863. AND ArtLager.Artnr = Artst.Artnr
  864. AND ArtLager.Inhalt = Artst.Inhalt
  865. AND ArtLager.Jahr = Artst.Jahr
  866. AND ArtLager.Lager = F_Lager NO-LOCK NO-ERROR.
  867. F_Artnr = STRING(VArtnr,"999999").
  868. F_Preis = Artst.DEP.
  869. F_Listen_EP = Artst.Listen_Ep.
  870. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  871. AND GGebinde.Geb_Cd = Artst.GGeb_Cd NO-LOCK NO-ERROR.
  872. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  873. AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-LOCK NO-ERROR.
  874. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  875. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK NO-ERROR.
  876. RUN FAKTOR.
  877. F_KGebinde:LABEL = KGebinde.KBez.
  878. F_VGebinde:LABEL = VGebinde.KBez.
  879. F_GGebinde:LABEL = GGebinde.KBez.
  880. F_GGebinde = Artbw.GGeb_Me * -1 * Faktor.
  881. F_VGebinde = Artbw.VGeb_Me * -1 * Faktor.
  882. F_KGebinde = Artbw.KGeb_Me * -1 * Faktor.
  883. DISPLAY {&List-1} F_Bez.
  884. ja = FALSE.
  885. { v8/loeschen.i }
  886. DO WHILE TRUE:
  887. IF NOT Ja THEN LEAVE.
  888. VLoeschen = TRUE.
  889. VUpdate = TRUE.
  890. RUN SPEICHERN.
  891. VUpdate = FALSE.
  892. VLoeschen = FALSE.
  893. LEAVE.
  894. END.
  895. END.
  896. END.
  897. /* _UIB-CODE-BLOCK-END */
  898. &ANALYZE-RESUME
  899. /* ********************** Internal Procedures *********************** */
  900. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects F-Frame-Win _ADM-CREATE-OBJECTS
  901. PROCEDURE adm-create-objects :
  902. /*------------------------------------------------------------------------------
  903. Purpose: Create handles for all SmartObjects used in this procedure.
  904. After SmartObjects are initialized, then SmartLinks are added.
  905. Parameters: <none>
  906. ------------------------------------------------------------------------------*/
  907. END PROCEDURE.
  908. /* _UIB-CODE-BLOCK-END */
  909. &ANALYZE-RESUME
  910. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available F-Frame-Win _ADM-ROW-AVAILABLE
  911. PROCEDURE adm-row-available :
  912. /*------------------------------------------------------------------------------
  913. Purpose: Dispatched to this procedure when the Record-
  914. Source has a new row available. This procedure
  915. tries to get the new row (or foriegn keys) from
  916. the Record-Source and process it.
  917. Parameters: <none>
  918. ------------------------------------------------------------------------------*/
  919. /* Define variables needed by this internal procedure. */
  920. {src/adm/template/row-head.i}
  921. /* Process the newly available records (i.e. display fields,
  922. open queries, and/or pass records on to any RECORD-TARGETS). */
  923. {src/adm/template/row-end.i}
  924. END PROCEDURE.
  925. /* _UIB-CODE-BLOCK-END */
  926. &ANALYZE-RESUME
  927. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE F-Frame-Win
  928. PROCEDURE ANZEIGE :
  929. /*------------------------------------------------------------------------------
  930. Purpose:
  931. Parameters: <none>
  932. Notes:
  933. ------------------------------------------------------------------------------*/
  934. VText = ''.
  935. IF NOT AVAILABLE Artbw THEN RETURN.
  936. FIND Tabel USE-INDEX Tabel-k1
  937. WHERE Tabel.Firma = GVFirma
  938. AND Tabel.RecArt = 'LAGKORR'
  939. AND Tabel.CodeC = ''
  940. AND Tabel.CodeI = Artbw.Tr_Art
  941. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  942. IF AVAILABLE Tabel THEN VText = Tabel.Bez1.
  943. ELSE VText = FILL('?', 10).
  944. END PROCEDURE.
  945. /* _UIB-CODE-BLOCK-END */
  946. &ANALYZE-RESUME
  947. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELNUMMER F-Frame-Win
  948. PROCEDURE ARTIKELNUMMER :
  949. /*------------------------------------------------------------------------------
  950. Purpose:
  951. Parameters: <none>
  952. Notes:
  953. ------------------------------------------------------------------------------*/
  954. DEF VAR Anzahl AS INT NO-UNDO.
  955. Gefunden = FALSE.
  956. Anzahl = 0.
  957. DO WITH FRAME {&FRAME-NAME}:
  958. DO WHILE FAlfa:
  959. FOR EACH BArtst USE-INDEX Artst-k2
  960. WHERE BArtst.Firma = GVFirma
  961. AND BArtst.Suchbe BEGINS FeldInhalt NO-LOCK:
  962. Anzahl = Anzahl + 1.
  963. IF Anzahl > 1 THEN LEAVE.
  964. YRecid = RECID(BArtst).
  965. END.
  966. VArtnr = -1.
  967. IF Anzahl = 1 THEN Gefunden = TRUE.
  968. LEAVE.
  969. END.
  970. DO WHILE NOT FAlfa:
  971. VArtnr = INTEGER(FeldInhalt).
  972. FeldInhalt = TRIM(STRING(VArtnr,"zzzzz9")).
  973. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  974. DO WHILE LENGTH(FeldInhalt) < Steuer.Fwi10:
  975. FeldInhalt = FeldInhalt + "0".
  976. END.
  977. VArtnr = INTEGER(FeldInhalt).
  978. FOR EACH BArtst USE-INDEX Artst-k1
  979. WHERE BArtst.Firma = GVFirma
  980. AND BArtst.Artnr = VArtnr NO-LOCK:
  981. Anzahl = Anzahl + 1.
  982. IF Anzahl > 2 THEN LEAVE.
  983. IF Anzahl = 1 THEN YRecid = RECID(BArtst).
  984. END.
  985. VArtnr = -1.
  986. IF Anzahl = 1 THEN Gefunden = TRUE.
  987. IF Anzahl > 1 THEN VArtnr = -2.
  988. LEAVE.
  989. END.
  990. IF Gefunden THEN DO:
  991. FIND BArtst WHERE RECID(BArtst) = YRecid NO-LOCK NO-ERROR.
  992. VArtnr = BArtst.Artnr.
  993. VInhalt = BArtst.Inhalt.
  994. VJahr = BArtst.Jahr.
  995. F_Artnr = STRING(VArtnr,"999999").
  996. F_Inhalt = VInhalt.
  997. F_Jahr = VJahr.
  998. F_Bez = BArtst.Bez.
  999. DISPLAY {&List-2} F_Bez.
  1000. END.
  1001. END.
  1002. RETURN.
  1003. END PROCEDURE.
  1004. /* _UIB-CODE-BLOCK-END */
  1005. &ANALYZE-RESUME
  1006. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BUCHEN F-Frame-Win
  1007. PROCEDURE BUCHEN :
  1008. /*------------------------------------------------------------------------------
  1009. Purpose:
  1010. Parameters: <none>
  1011. Notes:
  1012. ------------------------------------------------------------------------------*/
  1013. DO WITH FRAME {&FRAME-NAME}:
  1014. ASSIGN {&List-4} NO-ERROR.
  1015. RUN DATUMTEST.
  1016. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  1017. DISABLE {&List-1}.
  1018. ENABLE {&List-2}.
  1019. DISABLE Btn_Artikel.
  1020. RUN CLEARBILDSCHIRM.
  1021. F_Artnr = ''.
  1022. F_Inhalt = 0.
  1023. F_Jahr = 0.
  1024. Btn_Speichern:LABEL = '&Speichern'.
  1025. VUpdate = TRUE.
  1026. APPLY 'ENTRY' TO F_Artnr.
  1027. RETURN NO-APPLY.
  1028. END.
  1029. END PROCEDURE.
  1030. /* _UIB-CODE-BLOCK-END */
  1031. &ANALYZE-RESUME
  1032. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CLEARBILDSCHIRM F-Frame-Win
  1033. PROCEDURE CLEARBILDSCHIRM :
  1034. /*------------------------------------------------------------------------------
  1035. Purpose:
  1036. Parameters: <none>
  1037. Notes:
  1038. ------------------------------------------------------------------------------*/
  1039. DO WITH FRAME {&FRAME-NAME}:
  1040. F_Artnr:SCREEN-VALUE = ''.
  1041. F_Inhalt:SCREEN-VALUE = ''.
  1042. F_Jahr:SCREEN-VALUE = ''.
  1043. F_Bez:SCREEN-VALUE = ''.
  1044. F_GGebinde:SCREEN-VALUE = ''.
  1045. F_VGebinde:SCREEN-VALUE = ''.
  1046. F_KGebinde:SCREEN-VALUE = ''.
  1047. F_Preis:SCREEN-VALUE = ''.
  1048. F_Betrag:SCREEN-VALUE = ''.
  1049. END.
  1050. END PROCEDURE.
  1051. /* _UIB-CODE-BLOCK-END */
  1052. &ANALYZE-RESUME
  1053. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATUMTEST F-Frame-Win
  1054. PROCEDURE DATUMTEST :
  1055. /*------------------------------------------------------------------------------
  1056. Purpose:
  1057. Parameters: <none>
  1058. Notes:
  1059. ------------------------------------------------------------------------------*/
  1060. DO WITH FRAME {&FRAME-NAME}:
  1061. ASSIGN F_Datum.
  1062. IF F_Datum = ? THEN DO:
  1063. F_Datum = TODAY.
  1064. DISPLAY F_Datum.
  1065. RETURN.
  1066. END.
  1067. IF F_Datum < TODAY - 365 OR
  1068. F_Datum > TODAY + 365 THEN DO:
  1069. { v8/fehler.i "0096" }
  1070. APPLY 'ENTRY' TO F_Datum.
  1071. RETURN 'ERROR'.
  1072. END.
  1073. RETURN ''.
  1074. END.
  1075. END PROCEDURE.
  1076. /* _UIB-CODE-BLOCK-END */
  1077. &ANALYZE-RESUME
  1078. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI F-Frame-Win _DEFAULT-DISABLE
  1079. PROCEDURE disable_UI :
  1080. /*------------------------------------------------------------------------------
  1081. Purpose: DISABLE the User Interface
  1082. Parameters: <none>
  1083. Notes: Here we clean-up the user-interface by deleting
  1084. dynamic widgets we have created and/or hide
  1085. frames. This procedure is usually called when
  1086. we are ready to "clean-up" after running.
  1087. ------------------------------------------------------------------------------*/
  1088. /* Hide all frames. */
  1089. HIDE FRAME F-Main.
  1090. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  1091. END PROCEDURE.
  1092. /* _UIB-CODE-BLOCK-END */
  1093. &ANALYZE-RESUME
  1094. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI F-Frame-Win _DEFAULT-ENABLE
  1095. PROCEDURE enable_UI :
  1096. /*------------------------------------------------------------------------------
  1097. Purpose: ENABLE the User Interface
  1098. Parameters: <none>
  1099. Notes: Here we display/view/enable the widgets in the
  1100. user-interface. In addition, OPEN all queries
  1101. associated with each FRAME and BROWSE.
  1102. These statements here are based on the "Other
  1103. Settings" section of the widget Property Sheets.
  1104. ------------------------------------------------------------------------------*/
  1105. DISPLAY F_Lager F_Datum F_Artnr F_Inhalt F_Jahr F_Bez F_Kommentar F_GGebinde
  1106. F_VGebinde F_KGebinde F_Preis F_Listen_EP F_Betrag
  1107. WITH FRAME F-Main.
  1108. IF AVAILABLE ArtLager THEN
  1109. DISPLAY ArtLager.Eingang ArtLager.Ausgang ArtLager.Bestand ArtLager.Inv_Best
  1110. ArtLager.Inv_Alt ArtLager.Ort
  1111. WITH FRAME F-Main.
  1112. IF AVAILABLE Artst THEN
  1113. DISPLAY Artst.Bestand Artst.Bestellt Artst.Ausverk
  1114. WITH FRAME F-Main.
  1115. ENABLE RECT-1 RECT-2 RECT-35 F_Lager F_Datum CB_Korrart Btn_Artikel
  1116. Btn_Speichern Br_Artbw
  1117. WITH FRAME F-Main.
  1118. {&OPEN-BROWSERS-IN-QUERY-F-Main}
  1119. END PROCEDURE.
  1120. /* _UIB-CODE-BLOCK-END */
  1121. &ANALYZE-RESUME
  1122. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTOR F-Frame-Win
  1123. PROCEDURE FAKTOR :
  1124. /*------------------------------------------------------------------------------
  1125. Purpose:
  1126. Parameters: <none>
  1127. Notes:
  1128. ------------------------------------------------------------------------------*/
  1129. DO WITH FRAME {&FRAME-NAME}:
  1130. VKorrArt = INTEGER(SUBSTRING(CB_Korrart:SCREEN-VALUE,01,03)).
  1131. Faktor = 1.
  1132. FIND Tabel USE-INDEX Tabel-k1
  1133. WHERE Tabel.Firma = GVFirma
  1134. AND Tabel.RecArt = 'LAGKORR'
  1135. AND Tabel.CodeI = VKorrArt
  1136. AND Tabel.CodeC = ''
  1137. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  1138. IF AVAILABLE Tabel THEN Faktor = Tabel.Int_1.
  1139. END.
  1140. END PROCEDURE.
  1141. /* _UIB-CODE-BLOCK-END */
  1142. &ANALYZE-RESUME
  1143. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize F-Frame-Win
  1144. PROCEDURE local-initialize :
  1145. /*------------------------------------------------------------------------------
  1146. Purpose: Override standard ADM method
  1147. Notes:
  1148. ------------------------------------------------------------------------------*/
  1149. DEF VAR ok AS LOG NO-UNDO.
  1150. DEF VAR cString AS CHAR NO-UNDO.
  1151. DO WITH FRAME {&FRAME-NAME}:
  1152. MinNr = DYNAMIC-FUNCTION('getMinArtnr':U) NO-ERROR.
  1153. IF MinNr > 1 THEN MinNr = INTEGER('1' + FILL('0', MinNr - 1)).
  1154. CB_Korrart:DELIMITER = ";".
  1155. ok = TRUE.
  1156. cString = ''.
  1157. FOR EACH Tabel USE-INDEX Tabel-k2
  1158. WHERE Tabel.Firma = GVFirma
  1159. AND Tabel.RecArt = 'LAGKORR'
  1160. AND Tabel.CodeI > 10
  1161. AND Tabel.CodeI < 20 NO-LOCK:
  1162. cString = cString + (IF cString = '' THEN '' ELSE ';')
  1163. + STRING(Tabel.CodeI,"zz9 ") + Tabel.Bez1.
  1164. END.
  1165. CB_Korrart:LIST-ITEMS = cString.
  1166. CB_Korrart:SCREEN-VALUE = ENTRY(1, cString, ';').
  1167. F_Datum = TODAY.
  1168. DISPLAY F_Datum.
  1169. END.
  1170. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  1171. END PROCEDURE.
  1172. /* _UIB-CODE-BLOCK-END */
  1173. &ANALYZE-RESUME
  1174. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view F-Frame-Win
  1175. PROCEDURE local-view :
  1176. /*------------------------------------------------------------------------------
  1177. Purpose: Override standard ADM method
  1178. Notes:
  1179. ------------------------------------------------------------------------------*/
  1180. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  1181. RUN OPEN_Artbw.
  1182. APPLY 'ENTRY' TO F_Lager IN FRAME {&FRAME-NAME}.
  1183. END PROCEDURE.
  1184. /* _UIB-CODE-BLOCK-END */
  1185. &ANALYZE-RESUME
  1186. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_Artbw F-Frame-Win
  1187. PROCEDURE OPEN_Artbw :
  1188. /*------------------------------------------------------------------------------
  1189. Purpose:
  1190. Parameters: <none>
  1191. Notes:
  1192. ------------------------------------------------------------------------------*/
  1193. DEF VAR VTr_Art AS INT NO-UNDO.
  1194. IF QOpen THEN CLOSE QUERY Br_Artbw.
  1195. QOpen = FALSE.
  1196. Vorhanden = FALSE.
  1197. DO WITH FRAME {&FRAME-NAME}:
  1198. VTr_Art = INTEGER(SUBSTRING(CB_Korrart:SCREEN-VALUE,01,03)).
  1199. {&BROWSE-NAME}:SET-REPOSITIONED-ROW(4, 'CONDITIONAL':U).
  1200. END.
  1201. IF VSort = 1 THEN DO:
  1202. OPEN QUERY Br_Artbw
  1203. FOR EACH Artbw USE-INDEX Artbw-k8
  1204. WHERE Artbw.Firma = GVFirma
  1205. AND Artbw.Tr_Art = VTr_Art
  1206. AND Artbw.Knr = 0 NO-LOCK.
  1207. END.
  1208. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  1209. IF NUM-RESULTS('Br_Artbw':U) = ? THEN LEAVE.
  1210. IF NUM-RESULTS('Br_Artbw':U) = 0 THEN LEAVE.
  1211. Vorhanden = TRUE.
  1212. QOpen = TRUE.
  1213. IF RRecid = 0 THEN LEAVE.
  1214. REPOSITION {&BROWSE-NAME} TO RECID RRecid NO-ERROR.
  1215. LEAVE.
  1216. END.
  1217. END PROCEDURE.
  1218. /* _UIB-CODE-BLOCK-END */
  1219. &ANALYZE-RESUME
  1220. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREIS F-Frame-Win
  1221. PROCEDURE PREIS :
  1222. /*------------------------------------------------------------------------------
  1223. Purpose:
  1224. Parameters: <none>
  1225. Notes:
  1226. ------------------------------------------------------------------------------*/
  1227. F_Preis = Artst.DEP.
  1228. IF F_Preis = 0 THEN F_Preis = Artst.LEP.
  1229. IF F_preis = 0 THEN F_Preis = Artst.Listen_Ep.
  1230. F_Betrag = F_Preis * F_KGebinde.
  1231. F_Listen_EP = Artst.Listen_EP.
  1232. DISPLAY F_Preis
  1233. F_Betrag
  1234. F_Listen_EP WITH FRAME {&FRAME-NAME}.
  1235. END PROCEDURE.
  1236. /* _UIB-CODE-BLOCK-END */
  1237. &ANALYZE-RESUME
  1238. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records F-Frame-Win _ADM-SEND-RECORDS
  1239. PROCEDURE send-records :
  1240. /*------------------------------------------------------------------------------
  1241. Purpose: Send record ROWID's for all tables used by
  1242. this file.
  1243. Parameters: see template/snd-head.i
  1244. ------------------------------------------------------------------------------*/
  1245. /* Define variables needed by this internal procedure. */
  1246. {src/adm/template/snd-head.i}
  1247. /* For each requested table, put it's ROWID in the output list. */
  1248. {src/adm/template/snd-list.i "Artbw"}
  1249. /* Deal with any unexpected table requests before closing. */
  1250. {src/adm/template/snd-end.i}
  1251. END PROCEDURE.
  1252. /* _UIB-CODE-BLOCK-END */
  1253. &ANALYZE-RESUME
  1254. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN F-Frame-Win
  1255. PROCEDURE SPEICHERN :
  1256. /*------------------------------------------------------------------------------
  1257. Purpose:
  1258. Parameters: <none>
  1259. Notes:
  1260. ------------------------------------------------------------------------------*/
  1261. DEF VAR LRecid AS RECID NO-UNDO.
  1262. IF NOT VUpdate THEN RETURN NO-APPLY.
  1263. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
  1264. RUN DATUMTEST.
  1265. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  1266. ASSIGN {&List-2}
  1267. {&List-3}
  1268. F_Bez.
  1269. RUN FAKTOR.
  1270. F_GGebinde = F_GGebinde * Faktor.
  1271. F_VGebinde = F_VGebinde * Faktor.
  1272. F_KGebinde = F_KGebinde * Faktor.
  1273. RRecid = 0.
  1274. IF F_KGebinde = 0 AND
  1275. F_VGebinde = 0 AND
  1276. F_GGebinde = 0 THEN DO:
  1277. BELL.
  1278. APPLY 'ENTRY' TO F_KGebinde.
  1279. RETURN NO-APPLY.
  1280. END.
  1281. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
  1282. FIND Artst WHERE RECID(Artst) = ARecid.
  1283. FIND ArtLager USE-INDEX ArtLager-k1
  1284. WHERE ArtLager.Firma = Artst.Firma
  1285. AND ArtLager.Artnr = Artst.Artnr
  1286. AND ArtLager.Inhalt = Artst.Inhalt
  1287. AND ArtLager.Jahr = Artst.Jahr
  1288. AND ArtLager.Lager = F_Lager NO-ERROR.
  1289. IF NOT AVAILABLE ArtLager THEN DO:
  1290. CREATE ArtLager.
  1291. ASSIGN ArtLager.Firma = Artst.Firma
  1292. ArtLager.Artnr = Artst.Artnr
  1293. ArtLager.Inhalt = Artst.Inhalt
  1294. ArtLager.Jahr = Artst.Jahr
  1295. ArtLager.Lager = F_Lager.
  1296. END.
  1297. LRecid = RECID(ArtLAger).
  1298. ArtLager.Eingang = ArtLager.Eingang + F_KGebinde.
  1299. ArtLager.Bestand = ArtLager.Bestand + F_KGebinde.
  1300. IF VKorrArt = 11 THEN Artst.Letzt_Eing = F_Datum.
  1301. FIND KGebinde USE-INDEX KGebinde-k1
  1302. WHERE KGebinde.Firma = GVFirma
  1303. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK NO-ERROR.
  1304. DO WHILE TRUE:
  1305. IF VLoeschen THEN DO:
  1306. FIND Artbw WHERE RECID(Artbw) = BRecid.
  1307. DELETE Artbw.
  1308. LEAVE.
  1309. END.
  1310. FIND LAST Artbw USE-INDEX Artbw-k1
  1311. WHERE Artbw.Firma = GVFirma NO-LOCK NO-ERROR.
  1312. IF AVAILABLE Artbw THEN i1 = Artbw.Trnr + 1.
  1313. ELSE i1 = 1.
  1314. FIND Wust USE-INDEX Wust-k1
  1315. WHERE Wust.CodeK = 1
  1316. AND Wust.CodeA = Artst.MWST NO-LOCK NO-ERROR.
  1317. CREATE Artbw.
  1318. ASSIGN Artbw.Firma = GVFirma
  1319. Artbw.Trnr = i1
  1320. Artbw.Tr_Art = VKorrArt
  1321. Artbw.Artnr = Artst.Artnr
  1322. Artbw.Inhalt = Artst.Inhalt
  1323. Artbw.Jahr = Artst.Jahr
  1324. Artbw.Bez1 = F_Bez
  1325. Artbw.Bez2 = F_Kommentar
  1326. Artbw.Knr = 0
  1327. Artbw.Menge = F_KGebinde
  1328. Artbw.Alk_Gehalt = Artst.Alk_Gehalt
  1329. Artbw.Aktion = FALSE
  1330. Artbw.Sk_Ber = FALSE
  1331. Artbw.Netto = FALSE
  1332. Artbw.Lager = F_Lager
  1333. Artbw.KGeb_Cd = Artst.KGeb_Cd
  1334. Artbw.VGeb_Cd = Artst.VGeb_Cd
  1335. Artbw.GGeb_Cd = Artst.GGeb_Cd
  1336. Artbw.KGeb_Me = F_KGebinde
  1337. Artbw.VGeb_Me = F_VGebinde
  1338. Artbw.GGeb_Me = F_GGebinde
  1339. Artbw.Preis = F_Preis
  1340. Artbw.Bru_Betr = F_Betrag
  1341. Artbw.Net_Betr = F_Betrag
  1342. Artbw.Liter = F_KGebinde * KGebinde.Inhalt / 100
  1343. Artbw.Gewicht = (F_KGebinde * Artst.Gewicht)
  1344. + KGebinde.Gewicht
  1345. Artbw.Datum = F_Datum
  1346. Artbw.Abhol = FALSE
  1347. Artbw.FRW = FwFRW
  1348. Artbw.Faktor = 1
  1349. Artbw.Kurs = 1.0
  1350. Artbw.WC = Artst.MWST
  1351. Artbw.WuCd = Wust.WuCd
  1352. Artbw.Aufnr = 0.
  1353. VSort = 1.
  1354. RRecid = RECID(Artbw).
  1355. LEAVE.
  1356. END.
  1357. DISPLAY {&List-5}
  1358. {&List-6}.
  1359. DISABLE {&List-2}
  1360. {&List-3}.
  1361. ENABLE {&List-4}.
  1362. ENABLE Btn_Artikel.
  1363. VUpdate = FALSE.
  1364. RUN OPEN_Artbw.
  1365. Btn_Speichern:LABEL = '&Buchen'.
  1366. RELEASE Artst.
  1367. RELEASE ArtLager.
  1368. IF NOT VLoeschen THEN APPLY 'ENTRY' TO Btn_Speichern.
  1369. LEAVE.
  1370. END.
  1371. FIND Artst WHERE RECID(Artst) = ARecid NO-LOCK NO-ERROR.
  1372. FIND ArtLager WHERE RECID(ArtLager) = LRecid NO-LOCK NO-ERROR.
  1373. PUBLISH 'REFRESH_ARTIKEL'.
  1374. IF VLoeschen THEN RETURN NO-APPLY.
  1375. END PROCEDURE.
  1376. /* _UIB-CODE-BLOCK-END */
  1377. &ANALYZE-RESUME
  1378. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed F-Frame-Win
  1379. PROCEDURE state-changed :
  1380. /* -----------------------------------------------------------
  1381. Purpose:
  1382. Parameters: <none>
  1383. Notes:
  1384. -------------------------------------------------------------*/
  1385. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  1386. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  1387. CASE p-state:
  1388. WHEN 'FIRST-RECORD' THEN DO:
  1389. RUN ANZEIGE.
  1390. END.
  1391. END CASE.
  1392. END PROCEDURE.
  1393. /* _UIB-CODE-BLOCK-END */
  1394. &ANALYZE-RESUME