f-abfuellen.w 58 KB

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