v-kunbest.w 64 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. {adecomm/appserv.i}
  8. /* Temp-Table and Buffer definitions */
  9. DEFINE TEMP-TABLE RowObject NO-UNDO
  10. {"d-kunbest.i"}.
  11. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS vTableWin
  12. /*------------------------------------------------------------------------
  13. File:
  14. Description: from viewer.w - Template for SmartDataViewer objects
  15. Input Parameters:
  16. <none>
  17. Output Parameters:
  18. <none>
  19. ------------------------------------------------------------------------*/
  20. /* This .W file was created with the Progress AppBuilder. */
  21. /*----------------------------------------------------------------------*/
  22. /* Create an unnamed pool to store all the widgets created
  23. by this procedure. This is a good default which assures
  24. that this procedure's triggers and internal procedures
  25. will execute in this procedure's storage, and that proper
  26. cleanup will occur on deletion of the procedure. */
  27. CREATE WIDGET-POOL.
  28. /* *************************** Definitions ************************** */
  29. /* Komma-Trennzeichen */
  30. /* Keyfelder werden beim Mutieren nicht "Enabled" */
  31. &Scoped-define ERSTES_FELD Pos
  32. &Scoped-define LETZTES_FELD Jahr
  33. &Scoped-define KEY_FELDER Pos,Artnr,Inhalt,jahr
  34. &Scoped-define NUR_LESEN Artikel,iInhalt,AlkGehalt,KGeb,VGeb,GGeb
  35. DEF VAR iKnr AS INT NO-UNDO.
  36. { incl/viwdefinition.i }
  37. DEF TEMP-TABLE tKunBest LIKE KunBest
  38. FIELD cSort AS CHAR
  39. INDEX tKunBest-tk Artnr Inhalt Jahr
  40. INDEX tKunBest-k1 Firma Knr Pos
  41. INDEX tKunBest-k2 Firma cSort.
  42. DEF TEMP-TABLE tAufze LIKE Aufze
  43. FIELD Knr AS INT.
  44. DEF VAR htAufze AS HANDLE NO-UNDO.
  45. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  46. DEF TEMP-TABLE tKunden
  47. FIELD Knr AS INT.
  48. {src/adm2/widgetprto.i}
  49. /* _UIB-CODE-BLOCK-END */
  50. &ANALYZE-RESUME
  51. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  52. /* ******************** Preprocessor Definitions ******************** */
  53. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  54. &Scoped-define DB-AWARE no
  55. &Scoped-define ADM-CONTAINER FRAME
  56. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  57. /* Include file with RowObject temp-table definition */
  58. &Scoped-define DATA-FIELD-DEFS "d-kunbest.i"
  59. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  60. &Scoped-define FRAME-NAME F-Main
  61. /* Standard List Definitions */
  62. &Scoped-Define ENABLED-FIELDS RowObject.Pos RowObject.Artnr ~
  63. RowObject.Inhalt RowObject.Jahr RowObject.Artikel RowObject.iInhalt ~
  64. RowObject.AlkGehalt RowObject.GGeb_Cd RowObject.KGeb RowObject.VGeb ~
  65. RowObject.GGeb
  66. &Scoped-define ENABLED-TABLES RowObject
  67. &Scoped-define FIRST-ENABLED-TABLE RowObject
  68. &Scoped-Define ENABLED-OBJECTS RECT-37 RECT-41 Btn_YourBarMate Btn_Neu ~
  69. Btn_Nummer Btn_Excel
  70. &Scoped-Define DISPLAYED-FIELDS RowObject.Pos RowObject.Artnr ~
  71. RowObject.Inhalt RowObject.Jahr RowObject.Artikel RowObject.iInhalt ~
  72. RowObject.AlkGehalt RowObject.GGeb_Me RowObject.KGeb_Me RowObject.GGeb_Cd ~
  73. RowObject.VGeb_Cd RowObject.VGeb_Me RowObject.KGeb_Cd RowObject.Kunde ~
  74. RowObject.Firma RowObject.Lag_Buch RowObject.Soll RowObject.Knr ~
  75. RowObject.Best RowObject.KGeb RowObject.VGeb RowObject.GGeb
  76. &Scoped-define DISPLAYED-TABLES RowObject
  77. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  78. /* Custom List Definitions */
  79. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  80. /* _UIB-PREPROCESSOR-BLOCK-END */
  81. &ANALYZE-RESUME
  82. /* *********************** Control Definitions ********************** */
  83. /* Definitions of the field level widgets */
  84. DEFINE BUTTON Btn_Excel
  85. LABEL "Excel"
  86. SIZE 18 BY 1.
  87. DEFINE BUTTON Btn_Neu
  88. LABEL "neue Liste"
  89. SIZE 18 BY 1.
  90. DEFINE BUTTON Btn_Nummer
  91. LABEL "neue Nummern"
  92. SIZE 18 BY 1.
  93. DEFINE BUTTON Btn_YourBarMate
  94. LABEL "YourBarMate"
  95. SIZE 18 BY 1.
  96. DEFINE RECTANGLE RECT-37
  97. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  98. SIZE 180 BY 4.29.
  99. DEFINE RECTANGLE RECT-41
  100. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  101. SIZE 180 BY .1.
  102. /* ************************ Frame Definitions *********************** */
  103. DEFINE FRAME F-Main
  104. RowObject.Pos AT ROW 1.52 COL 13 COLON-ALIGNED WIDGET-ID 32
  105. VIEW-AS FILL-IN NATIVE
  106. SIZE 7.6 BY 1
  107. BGCOLOR 15
  108. RowObject.Artnr AT ROW 1.52 COL 31 COLON-ALIGNED WIDGET-ID 6
  109. LABEL "Artikel"
  110. VIEW-AS FILL-IN NATIVE
  111. SIZE 11 BY 1
  112. BGCOLOR 15
  113. RowObject.Inhalt AT ROW 1.52 COL 45 COLON-ALIGNED WIDGET-ID 18
  114. LABEL "/"
  115. VIEW-AS FILL-IN NATIVE
  116. SIZE 8 BY 1
  117. BGCOLOR 15
  118. RowObject.Jahr AT ROW 1.52 COL 56 COLON-ALIGNED WIDGET-ID 20
  119. LABEL "/"
  120. VIEW-AS FILL-IN NATIVE
  121. SIZE 8 BY 1
  122. BGCOLOR 15
  123. RowObject.Artikel AT ROW 1.52 COL 66 COLON-ALIGNED NO-LABEL WIDGET-ID 4
  124. VIEW-AS FILL-IN NATIVE
  125. SIZE 52 BY 1
  126. BGCOLOR 15 NO-TAB-STOP
  127. RowObject.iInhalt AT ROW 1.57 COL 127.8 COLON-ALIGNED WIDGET-ID 16
  128. VIEW-AS FILL-IN NATIVE
  129. SIZE 8 BY 1
  130. BGCOLOR 15
  131. RowObject.AlkGehalt AT ROW 1.67 COL 143.4 COLON-ALIGNED WIDGET-ID 2
  132. VIEW-AS FILL-IN NATIVE
  133. SIZE 11 BY 1
  134. BGCOLOR 15
  135. RowObject.GGeb_Me AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 14
  136. VIEW-AS FILL-IN NATIVE
  137. SIZE 4 BY 1
  138. BGCOLOR 15 NO-TAB-STOP
  139. RowObject.KGeb_Me AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 24
  140. VIEW-AS FILL-IN NATIVE
  141. SIZE 4 BY 1
  142. BGCOLOR 15 NO-TAB-STOP
  143. RowObject.GGeb_Cd AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 12
  144. VIEW-AS FILL-IN NATIVE
  145. SIZE 4 BY 1
  146. BGCOLOR 15 NO-TAB-STOP
  147. RowObject.VGeb_Cd AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 36
  148. VIEW-AS FILL-IN NATIVE
  149. SIZE 4 BY 1
  150. BGCOLOR 15 NO-TAB-STOP
  151. RowObject.VGeb_Me AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 38
  152. VIEW-AS FILL-IN NATIVE
  153. SIZE 4 BY 1
  154. BGCOLOR 15 NO-TAB-STOP
  155. RowObject.KGeb_Cd AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 22
  156. VIEW-AS FILL-IN NATIVE
  157. SIZE 4 BY 1
  158. BGCOLOR 15 NO-TAB-STOP
  159. RowObject.Kunde AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 28
  160. VIEW-AS FILL-IN NATIVE
  161. SIZE 4 BY 1
  162. BGCOLOR 15 NO-TAB-STOP
  163. RowObject.Firma AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 10
  164. VIEW-AS FILL-IN NATIVE
  165. SIZE 4 BY 1
  166. BGCOLOR 15 NO-TAB-STOP
  167. RowObject.Lag_Buch AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 30
  168. VIEW-AS FILL-IN NATIVE
  169. SIZE 4 BY 1
  170. BGCOLOR 15 NO-TAB-STOP
  171. RowObject.Soll AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 34
  172. VIEW-AS FILL-IN NATIVE
  173. SIZE 4 BY 1
  174. BGCOLOR 15 NO-TAB-STOP
  175. RowObject.Knr AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 26
  176. VIEW-AS FILL-IN NATIVE
  177. SIZE 4 BY 1
  178. BGCOLOR 15 NO-TAB-STOP
  179. RowObject.Best AT ROW 2 COL 78 COLON-ALIGNED WIDGET-ID 8
  180. VIEW-AS FILL-IN NATIVE
  181. SIZE 4 BY 1
  182. BGCOLOR 15 NO-TAB-STOP
  183. RowObject.KGeb AT ROW 2.52 COL 31 COLON-ALIGNED WIDGET-ID 42
  184. VIEW-AS FILL-IN NATIVE
  185. SIZE 18 BY 1
  186. BGCOLOR 15 NO-TAB-STOP
  187. RowObject.VGeb AT ROW 2.52 COL 66 COLON-ALIGNED WIDGET-ID 44
  188. VIEW-AS FILL-IN NATIVE
  189. SIZE 18 BY 1
  190. BGCOLOR 15 NO-TAB-STOP
  191. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  192. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  193. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  194. /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */
  195. DEFINE FRAME F-Main
  196. RowObject.GGeb AT ROW 2.52 COL 100 COLON-ALIGNED WIDGET-ID 46
  197. VIEW-AS FILL-IN NATIVE
  198. SIZE 18 BY 1
  199. BGCOLOR 15 NO-TAB-STOP
  200. Btn_YourBarMate AT ROW 4.19 COL 68 WIDGET-ID 58
  201. Btn_Neu AT ROW 4.19 COL 119 WIDGET-ID 52
  202. Btn_Nummer AT ROW 4.19 COL 139 WIDGET-ID 50
  203. Btn_Excel AT ROW 4.19 COL 159 WIDGET-ID 54
  204. RECT-37 AT ROW 1.24 COL 2 WIDGET-ID 40
  205. RECT-41 AT ROW 3.86 COL 2 WIDGET-ID 56
  206. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  207. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  208. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  209. /* *********************** Procedure Settings ************************ */
  210. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  211. /* Settings for THIS-PROCEDURE
  212. Type: SmartDataViewer
  213. Data Source: "d-kunbest.w"
  214. Allow: Basic,DB-Fields,Smart
  215. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  216. Frames: 1
  217. Add Fields to: Neither
  218. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER
  219. Temp-Tables and Buffers:
  220. TABLE: RowObject D "?" NO-UNDO
  221. ADDITIONAL-FIELDS:
  222. {d-kunbest.i}
  223. END-FIELDS.
  224. END-TABLES.
  225. */
  226. /* This procedure should always be RUN PERSISTENT. Report the error, */
  227. /* then cleanup and return. */
  228. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  229. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  230. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  231. RETURN.
  232. END.
  233. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  234. /* ************************* Create Window ************************** */
  235. &ANALYZE-SUSPEND _CREATE-WINDOW
  236. /* DESIGN Window definition (used by the UIB)
  237. CREATE WINDOW vTableWin ASSIGN
  238. HEIGHT = 4.76
  239. WIDTH = 182.
  240. /* END WINDOW DEFINITION */
  241. */
  242. &ANALYZE-RESUME
  243. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  244. /* ************************* Included-Libraries *********************** */
  245. {src/adm2/viewer.i}
  246. /* _UIB-CODE-BLOCK-END */
  247. &ANALYZE-RESUME
  248. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  249. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  250. /* SETTINGS FOR WINDOW vTableWin
  251. VISIBLE,,RUN-PERSISTENT */
  252. /* SETTINGS FOR FRAME F-Main
  253. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  254. ASSIGN
  255. FRAME F-Main:SCROLLABLE = FALSE
  256. FRAME F-Main:HIDDEN = TRUE.
  257. ASSIGN
  258. RowObject.Artikel:READ-ONLY IN FRAME F-Main = TRUE.
  259. /* SETTINGS FOR FILL-IN RowObject.Artnr IN FRAME F-Main
  260. EXP-LABEL */
  261. /* SETTINGS FOR FILL-IN RowObject.Best IN FRAME F-Main
  262. NO-ENABLE */
  263. ASSIGN
  264. RowObject.Best:HIDDEN IN FRAME F-Main = TRUE
  265. RowObject.Best:READ-ONLY IN FRAME F-Main = TRUE.
  266. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main
  267. NO-ENABLE */
  268. ASSIGN
  269. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE
  270. RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE.
  271. ASSIGN
  272. RowObject.GGeb:READ-ONLY IN FRAME F-Main = TRUE.
  273. ASSIGN
  274. RowObject.GGeb_Cd:HIDDEN IN FRAME F-Main = TRUE
  275. RowObject.GGeb_Cd:READ-ONLY IN FRAME F-Main = TRUE.
  276. /* SETTINGS FOR FILL-IN RowObject.GGeb_Me IN FRAME F-Main
  277. NO-ENABLE */
  278. ASSIGN
  279. RowObject.GGeb_Me:HIDDEN IN FRAME F-Main = TRUE
  280. RowObject.GGeb_Me:READ-ONLY IN FRAME F-Main = TRUE.
  281. /* SETTINGS FOR FILL-IN RowObject.Inhalt IN FRAME F-Main
  282. EXP-LABEL */
  283. /* SETTINGS FOR FILL-IN RowObject.Jahr IN FRAME F-Main
  284. EXP-LABEL */
  285. ASSIGN
  286. RowObject.KGeb:READ-ONLY IN FRAME F-Main = TRUE.
  287. /* SETTINGS FOR FILL-IN RowObject.KGeb_Cd IN FRAME F-Main
  288. NO-ENABLE */
  289. ASSIGN
  290. RowObject.KGeb_Cd:HIDDEN IN FRAME F-Main = TRUE
  291. RowObject.KGeb_Cd:READ-ONLY IN FRAME F-Main = TRUE.
  292. /* SETTINGS FOR FILL-IN RowObject.KGeb_Me IN FRAME F-Main
  293. NO-ENABLE */
  294. ASSIGN
  295. RowObject.KGeb_Me:HIDDEN IN FRAME F-Main = TRUE
  296. RowObject.KGeb_Me:READ-ONLY IN FRAME F-Main = TRUE.
  297. /* SETTINGS FOR FILL-IN RowObject.Knr IN FRAME F-Main
  298. NO-ENABLE */
  299. ASSIGN
  300. RowObject.Knr:HIDDEN IN FRAME F-Main = TRUE
  301. RowObject.Knr:READ-ONLY IN FRAME F-Main = TRUE.
  302. /* SETTINGS FOR FILL-IN RowObject.Kunde IN FRAME F-Main
  303. NO-ENABLE */
  304. ASSIGN
  305. RowObject.Kunde:HIDDEN IN FRAME F-Main = TRUE
  306. RowObject.Kunde:READ-ONLY IN FRAME F-Main = TRUE.
  307. /* SETTINGS FOR FILL-IN RowObject.Lag_Buch IN FRAME F-Main
  308. NO-ENABLE */
  309. ASSIGN
  310. RowObject.Lag_Buch:HIDDEN IN FRAME F-Main = TRUE
  311. RowObject.Lag_Buch:READ-ONLY IN FRAME F-Main = TRUE.
  312. /* SETTINGS FOR FILL-IN RowObject.Soll IN FRAME F-Main
  313. NO-ENABLE */
  314. ASSIGN
  315. RowObject.Soll:HIDDEN IN FRAME F-Main = TRUE
  316. RowObject.Soll:READ-ONLY IN FRAME F-Main = TRUE.
  317. ASSIGN
  318. RowObject.VGeb:READ-ONLY IN FRAME F-Main = TRUE.
  319. /* SETTINGS FOR FILL-IN RowObject.VGeb_Cd IN FRAME F-Main
  320. NO-ENABLE */
  321. ASSIGN
  322. RowObject.VGeb_Cd:HIDDEN IN FRAME F-Main = TRUE
  323. RowObject.VGeb_Cd:READ-ONLY IN FRAME F-Main = TRUE.
  324. /* SETTINGS FOR FILL-IN RowObject.VGeb_Me IN FRAME F-Main
  325. NO-ENABLE */
  326. ASSIGN
  327. RowObject.VGeb_Me:HIDDEN IN FRAME F-Main = TRUE
  328. RowObject.VGeb_Me:READ-ONLY IN FRAME F-Main = TRUE.
  329. /* _RUN-TIME-ATTRIBUTES-END */
  330. &ANALYZE-RESUME
  331. /* Setting information for Queries and Browse Widgets fields */
  332. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  333. /* Query rebuild information for FRAME F-Main
  334. _Options = "NO-LOCK"
  335. _Query is NOT OPENED
  336. */ /* FRAME F-Main */
  337. &ANALYZE-RESUME
  338. /* ************************ Control Triggers ************************ */
  339. &Scoped-define SELF-NAME RowObject.Artnr
  340. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Artnr vTableWin
  341. ON ALT-F OF RowObject.Artnr IN FRAME F-Main /* Artikel */
  342. DO:
  343. IF NOT FNeu THEN RETURN NO-APPLY.
  344. DEF VAR iRecid AS RECID NO-UNDO.
  345. DEF BUFFER bArtst FOR Artst.
  346. RUN 'g-suchen-artikel.w':U ( INPUT '', OUTPUT iRecid ) NO-ERROR.
  347. IF iRecid = ? OR
  348. iRecid = 0 THEN RETURN NO-APPLY.
  349. FIND bArtst NO-LOCK WHERE RECID(bArtst) = iRecid.
  350. rowObject.Artnr :SCREEN-VALUE = STRING(bArtst.Artnr).
  351. rowObject.Inhalt:SCREEN-VALUE = STRING(bArtst.Inhalt).
  352. rowObject.Jahr :SCREEN-VALUE = STRING(bArtst.Jahr).
  353. APPLY 'LEAVE' TO rowObject.Jahr.
  354. END.
  355. /* _UIB-CODE-BLOCK-END */
  356. &ANALYZE-RESUME
  357. &Scoped-define SELF-NAME Btn_Excel
  358. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel vTableWin
  359. ON CHOOSE OF Btn_Excel IN FRAME F-Main /* Excel */
  360. DO:
  361. IF FMut THEN RETURN NO-APPLY.
  362. RUN AUSGABE_EXCEL.
  363. APPLY 'U1'.
  364. RETURN NO-APPLY.
  365. END.
  366. /* _UIB-CODE-BLOCK-END */
  367. &ANALYZE-RESUME
  368. &Scoped-define SELF-NAME Btn_Neu
  369. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Neu vTableWin
  370. ON CHOOSE OF Btn_Neu IN FRAME F-Main /* neue Liste */
  371. DO:
  372. IF FMut THEN RETURN NO-APPLY.
  373. RUN NEUE_LISTE.
  374. APPLY 'U1':U.
  375. RETURN NO-APPLY.
  376. END.
  377. /* _UIB-CODE-BLOCK-END */
  378. &ANALYZE-RESUME
  379. &Scoped-define SELF-NAME Btn_Nummer
  380. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Nummer vTableWin
  381. ON CHOOSE OF Btn_Nummer IN FRAME F-Main /* neue Nummern */
  382. DO:
  383. IF FMut THEN RETURN NO-APPLY.
  384. RUN NEUE_POSITIONSNUMMERN.
  385. APPLY 'U1':U.
  386. RETURN NO-APPLY.
  387. END.
  388. /* _UIB-CODE-BLOCK-END */
  389. &ANALYZE-RESUME
  390. &Scoped-define SELF-NAME Btn_YourBarMate
  391. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_YourBarMate vTableWin
  392. ON CHOOSE OF Btn_YourBarMate IN FRAME F-Main /* YourBarMate */
  393. DO:
  394. IF FMut THEN RETURN NO-APPLY.
  395. RUN EXPORT_YOURBARMATE.
  396. APPLY 'U1'.
  397. RETURN NO-APPLY.
  398. END.
  399. /* _UIB-CODE-BLOCK-END */
  400. &ANALYZE-RESUME
  401. &UNDEFINE SELF-NAME
  402. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  403. /* *************************** Main Block *************************** */
  404. { incl/viwmainblock.i }
  405. SUBSCRIBE TO 'ADD_ARTIKEL_TO_FAXLISTE' ANYWHERE.
  406. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  407. RUN initializeObject.
  408. &ENDIF
  409. /************************ INTERNAL PROCEDURES ********************/
  410. /* _UIB-CODE-BLOCK-END */
  411. &ANALYZE-RESUME
  412. /* ********************** Internal Procedures *********************** */
  413. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  414. PROCEDURE addRecord :
  415. /*------------------------------------------------------------------------------
  416. Purpose: Super Override
  417. Parameters:
  418. Notes:
  419. ------------------------------------------------------------------------------*/
  420. FNeu = TRUE.
  421. FMut = TRUE.
  422. FDisp = TRUE.
  423. RUN SUPER.
  424. /* Code placed here will execute AFTER standard behavior. */
  425. END PROCEDURE.
  426. /* _UIB-CODE-BLOCK-END */
  427. &ANALYZE-RESUME
  428. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ADD_ARTIKEL_TO_FAXLISTE vTableWin
  429. PROCEDURE ADD_ARTIKEL_TO_FAXLISTE :
  430. /*------------------------------------------------------------------------------
  431. Purpose:
  432. Parameters: <none>
  433. Notes:
  434. ------------------------------------------------------------------------------*/
  435. DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
  436. DEF VAR iRecid AS RECID NO-UNDO.
  437. DEF VAR iPos AS INT NO-UNDO.
  438. DEF BUFFER bArtst FOR Artst.
  439. DEF BUFFER bKunBest FOR KunBest.
  440. DEF BUFFER bAdresse FOR Adresse.
  441. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
  442. IF iRecid = ? OR
  443. iRecid = 0 THEN DO:
  444. PUBLISH 'GETFAXLISTENKNR' ( OUTPUT iRecid ).
  445. IF iRecid = ? OR
  446. iRecid = 0 THEN RETURN.
  447. FIND bAdresse NO-LOCK WHERE RECID(bAdresse) = iRecid.
  448. iKnr = bAdresse.Knr.
  449. iPos = 10.
  450. END.
  451. ELSE DO:
  452. FIND bKunBest NO-LOCK WHERE RECID(bKunBest) = iRecid.
  453. iPos = bKunBest.Pos + 1.
  454. iKnr = bKunBest.Knr.
  455. END.
  456. DO WHILE TRUE:
  457. FIND FIRST bKunBest NO-LOCK
  458. WHERE bKunBest.Firma = Firma
  459. AND bKunBest.Knr = iKnr
  460. AND bKunBest.Pos = iPos NO-ERROR.
  461. IF NOT AVAILABLE bKunBest THEN LEAVE.
  462. iPos = iPos + 1.
  463. END.
  464. FIND bArtst NO-LOCK WHERE RECID(bArtst) = ipRecid.
  465. RUN TOOLBAR IN hKontainer ('ADD') NO-ERROR.
  466. DO WITH FRAME {&FRAME-NAME}:
  467. ASSIGN rowObject.Pos :SCREEN-VALUE = STRING(iPos)
  468. rowObject.Artnr :SCREEN-VALUE = STRING(bArtst.Artnr)
  469. rowObject.Inhalt:SCREEN-VALUE = STRING(bArtst.Inhalt)
  470. rowObject.Jahr :SCREEN-VALUE = STRING(bArtst.Jahr).
  471. APPLY 'LEAVE' TO rowObject.Jahr.
  472. END.
  473. END PROCEDURE.
  474. /* _UIB-CODE-BLOCK-END */
  475. &ANALYZE-RESUME
  476. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_EXCEL vTableWin
  477. PROCEDURE AUSGABE_EXCEL :
  478. /*------------------------------------------------------------------------------
  479. Purpose:
  480. Parameters: <none>
  481. Notes:
  482. ------------------------------------------------------------------------------*/
  483. DEF VAR Vorlage AS CHAR NO-UNDO.
  484. DEF VAR Datei AS CHAR NO-UNDO.
  485. DEF VAR cParam AS CHAR NO-UNDO.
  486. DEF VAR Zelle AS CHAR NO-UNDO.
  487. DEF VAR io AS LOG NO-UNDO.
  488. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  489. DEF VAR xSort AS CHAR NO-UNDO.
  490. DEF VAR Kol AS INT NO-UNDO.
  491. DEF VAR Bez AS CHAR NO-UNDO.
  492. DEF VAR iRecid AS RECID NO-UNDO.
  493. DEF VAR lInkl AS LOG NO-UNDO.
  494. DEF VAR ii AS INT NO-UNDO.
  495. DEF VAR ix AS INT NO-UNDO.
  496. DEF VAR iPreisArt AS INT NO-UNDO.
  497. DEF BUFFER bKunBest FOR KunBest.
  498. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR.
  499. IF iRecid = ? OR
  500. iRecid = 0 THEN RETURN NO-APPLY.
  501. FIND bKunBest NO-LOCK WHERE RECID(bKunBest) = iRecid.
  502. iKnr = bKunBest.Knr.
  503. FIND Steuer USE-INDEX Steuer-k1 NO-LOCK
  504. WHERE Steuer.Firma = Firma NO-ERROR.
  505. EMPTY TEMP-TABLE tAufze.
  506. CREATE tAufze.
  507. Vorlage = 'Bestell.xls'.
  508. Datei = 'Bestell.xls'.
  509. cParam = Datei + CHR(01) + Vorlage.
  510. RUN CREATEDATEI ( INPUT cParam ).
  511. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  512. Datei = RETURN-VALUE.
  513. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  514. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  515. MESSAGE 'Die Applikation Excel konnte nicht gestartet werden ! '
  516. VIEW-AS ALERT-BOX ERROR.
  517. RETURN NO-APPLY.
  518. END.
  519. RUN OPENEXCEL ( INPUT excelAppl, INPUT Datei, INPUT '', OUTPUT io).
  520. IF NOT io THEN DO:
  521. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  522. RETURN NO-APPLY.
  523. END.
  524. FIND Adresse NO-LOCK USE-INDEX Adresse-k1
  525. WHERE Adresse.Firma = AdFirma
  526. AND Adresse.Knr = iKnr NO-ERROR.
  527. FIND Debst NO-LOCK USE-INDEX Debst-k1
  528. WHERE Debst.Firma = Firma
  529. AND Debst.Knr = iKnr NO-ERROR.
  530. FIND Wust NO-LOCK USE-INDEX Wust-k1
  531. WHERE Wust.CodeK = Debst.MWST
  532. AND Wust.CodeA = 99 NO-ERROR.
  533. lInkl = Wust.Incl.
  534. GET-KEY-VALUE SECTION 'FaxListe'
  535. KEY 'Sortierung'
  536. VALUE xSort.
  537. IF xSort = ? THEN xSort = '1'.
  538. xSort = '1'.
  539. EMPTY TEMP-TABLE tKunBest.
  540. FOR EACH bKunBest NO-LOCK USE-INDEX KunBest-k1
  541. WHERE bKunBest.Firma = Firma
  542. AND bKunBest.Knr = Adresse.Knr
  543. AND bKunBest.Artnr > 0,
  544. FIRST Artst OF bKunBest NO-LOCK :
  545. CREATE tKunBest.
  546. BUFFER-COPY bKunBest TO tKunBest.
  547. CASE xSort:
  548. WHEN '1' THEN tKunBest.cSort = STRING(bKunBest.Pos ,'999999').
  549. WHEN '2' THEN tKunBest.cSort = STRING(bKunBest.Artnr ,'999999')
  550. + STRING(bKunBest.Inhalt,'9999')
  551. + STRING(bKunBest.Jahr ,'9999').
  552. OTHERWISE DO:
  553. tKunBest.cSort = Artst.Bez.
  554. END.
  555. END CASE.
  556. END.
  557. ii = 0.
  558. DO ix = 4 TO 11:
  559. IF Adresse.Anschrift[ix] = '' THEN NEXT.
  560. ii = ii + 1.
  561. Zelle = 'B' + TRIM(STRING(ii + 4,"zzz9")).
  562. excelAppl:Range(Zelle):Select.
  563. excelAppl:ActiveCell:FormulaR1C1 = Adresse.Anschrift[ix].
  564. END.
  565. IF Adresse.Tel-1 <> '' THEN DO:
  566. ii = ii + 1.
  567. Zelle = 'B' + TRIM(STRING(ii + 4,"zzz9")).
  568. excelAppl:Range(Zelle):Select.
  569. excelAppl:ActiveCell:FormulaR1C1 = 'Tel'.
  570. Zelle = 'C' + TRIM(STRING(ii + 4,"zzz9")).
  571. excelAppl:Range(Zelle):Select.
  572. excelAppl:ActiveCell:FormulaR1C1 = Adresse.Tel-1.
  573. END.
  574. IF Adresse.Tel-3 <> '' THEN DO:
  575. ii = ii + 1.
  576. Zelle = 'B' + TRIM(STRING(ii + 4,"zzz9")).
  577. excelAppl:Range(Zelle):Select.
  578. excelAppl:ActiveCell:FormulaR1C1 = 'Fax'.
  579. Zelle = 'C' + TRIM(STRING(ii + 4,"zzz9")).
  580. excelAppl:Range(Zelle):Select.
  581. excelAppl:ActiveCell:FormulaR1C1 = Adresse.Tel-3.
  582. END.
  583. Zelle = 'F5'.
  584. excelAppl:Range(Zelle):Select.
  585. excelAppl:ActiveCell:FormulaR1C1 = Steuer.Firma1.
  586. Zelle = 'F6'.
  587. excelAppl:Range(Zelle):Select.
  588. excelAppl:ActiveCell:FormulaR1C1 = Steuer.Strasse.
  589. Zelle = 'F7'.
  590. excelAppl:Range(Zelle):Select.
  591. excelAppl:ActiveCell:FormulaR1C1 = Steuer.Ort.
  592. Zelle = 'G8'.
  593. excelAppl:Range(Zelle):Select.
  594. excelAppl:ActiveCell:FormulaR1C1 = Steuer.Tel-1.
  595. Zelle = 'G9'.
  596. excelAppl:Range(Zelle):Select.
  597. excelAppl:ActiveCell:FormulaR1C1 = Steuer.Fax-1.
  598. Zelle = 'A12'.
  599. excelAppl:Range(Zelle):Select.
  600. excelAppl:ActiveCell:FormulaR1C1 = 'Kunden-Nr.: ' + TRIM(STRING(Adresse.Knr,'>>>>>>')).
  601. FIND FIRST tAufze.
  602. ASSIGN tAufze.Firma = Firma.
  603. ii = 17.
  604. FOR EACH tKunBest USE-INDEX tKunBest-k2 NO-LOCK:
  605. FIND Artst OF tKunBest NO-LOCK NO-ERROR.
  606. Bez = Artst.Bez.
  607. FIND Wust NO-LOCK
  608. WHERE Wust.CodeK = Debst.Mwst
  609. AND Wust.CodeA = Artst.Mwst.
  610. FIND FIRST tAufze.
  611. ASSIGN tAufze.Artnr = tKunBest.Artnr
  612. tAufze.Inhalt = tKunBest.Inhalt
  613. tAufze.Jahr = tKunBest.Jahr
  614. tAufze.MBest = 1
  615. tAufze.MGeli = 1
  616. tAufze.Netto = Artst.Netto
  617. tAufze.Rab_Art = Debst.Zei_Rab_Art
  618. tAufze.Rab_Wert = Debst.Zei_Rab_Wert
  619. tAufze.Rab_Betr = 0
  620. tAufze.Zus_Art = Debst.Zuschl_Art
  621. tAufze.Zus_Wert = Debst.Zuschl_Wert
  622. tAufze.Zus_Betr = 0
  623. tAufze.Bru_Betr = 0
  624. tAufze.Net_Betr = 0
  625. tAufze.WuCd = Wust.WuCd
  626. tAufze.WC = Artst.Mwst
  627. tAufze.Knr = Debst.Knr.
  628. iPreisArt = DYNAMIC-FUNCTION('getPreisAufze':U, INPUT-OUTPUT htAufze ) NO-ERROR.
  629. FIND FIRST tAufze.
  630. tAufze.PreisArt = iPreisArt.
  631. FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
  632. WHERE KGebinde.Firma = Firma
  633. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-ERROR.
  634. FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
  635. WHERE VGebinde.Firma = Firma
  636. AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-ERROR.
  637. Kol = 65.
  638. ii = ii + 1.
  639. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  640. excelAppl:Range(Zelle):Select.
  641. excelAppl:ActiveCell:FormulaR1C1 = STRING(tKunBest.Pos,"zzz9").
  642. Kol = Kol + 1.
  643. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  644. excelAppl:Range(Zelle):Select.
  645. excelAppl:ActiveCell:FormulaR1C1 = STRING(tKunBest.Artnr,"999999").
  646. IF Steuer.Fwc10 = 'RAUCH' THEN DO:
  647. IF Artst.Ausverk = 2 THEN Bez = Bez + ' **'.
  648. IF Artst.Ausverk = 8 THEN Bez = Bez + ' *'.
  649. END.
  650. Kol = Kol + 1.
  651. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  652. excelAppl:Range(Zelle):Select.
  653. excelAppl:ActiveCell:FormulaR1C1 = Bez.
  654. Kol = Kol + 1.
  655. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  656. excelAppl:Range(Zelle):Select.
  657. excelAppl:ActiveCell:FormulaR1C1 = KGebinde.KBez.
  658. Kol = Kol + 1.
  659. IF Artst.Jahr <> 0 THEN DO:
  660. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  661. excelAppl:Range(Zelle):Select.
  662. excelAppl:ActiveCell:FormulaR1C1 = STRING(Artst.Jahr,"zzz9").
  663. END.
  664. Kol = Kol + 1.
  665. IF Artst.Alk_Gehalt <> 0 THEN DO:
  666. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  667. excelAppl:Range(Zelle):Select.
  668. excelAppl:ActiveCell:FormulaR1C1 = STRING(Artst.Alk_Gehalt,"z9.99").
  669. END.
  670. Kol = Kol + 1.
  671. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  672. excelAppl:Range(Zelle):Select.
  673. excelAppl:ActiveCell:FormulaR1C1 = TRIM(STRING(tAufze.Net_Betr,'->>>>>>9.999')).
  674. Kol = Kol + 1.
  675. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  676. excelAppl:Range(Zelle):Select.
  677. excelAppl:ActiveCell:FormulaR1C1 = VGebinde.KBez.
  678. Kol = Kol + 1.
  679. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  680. excelAppl:Range(Zelle):Select.
  681. excelAppl:ActiveCell:FormulaR1C1 = STRING(tKunBest.Soll,"zzzz").
  682. Kol = Kol + 1.
  683. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  684. excelAppl:Range(Zelle):Select.
  685. excelAppl:ActiveCell:FormulaR1C1 = STRING(tKunBest.Best,"zzzz").
  686. END.
  687. ii = ii + 2.
  688. Zelle = 'A' + STRING(ii).
  689. excelAppl:Range(Zelle):Select.
  690. excelAppl:ActiveCell:FormulaR1C1 = '*'.
  691. Zelle = 'B' + STRING(ii).
  692. excelAppl:Range(Zelle):Select.
  693. excelAppl:Selection:HorizontalAlignment = -4131.
  694. excelAppl:ActiveCell:FormulaR1C1 = 'Beschaffungsartikel, 5 - 10 Arbeitstage bis zur Auslieferung'.
  695. ii = ii + 1.
  696. Zelle = 'A' + STRING(ii).
  697. excelAppl:Range(Zelle):Select.
  698. excelAppl:ActiveCell:FormulaR1C1 = '**'.
  699. Zelle = 'B' + STRING(ii).
  700. excelAppl:Range(Zelle):Select.
  701. excelAppl:Selection:HorizontalAlignment = -4131.
  702. excelAppl:ActiveCell:FormulaR1C1 = 'Restposten'.
  703. Zelle = 'A1'.
  704. excelAppl:Range(Zelle):Select.
  705. DEF VAR SaveName AS CHAR NO-UNDO.
  706. IF Adresse.Firma1 <> '' THEN SaveName = TRIM(SUBSTR(Adresse.Firma1,01,12)).
  707. ELSE SaveName = TRIM(SUBSTR(Adresse.NAME ,01,12)).
  708. IF SaveName = '' THEN SaveName = 'FaxListe'.
  709. SaveName = SESSION:TEMP-DIR + SaveName + '.xls'.
  710. excelAppl:ActiveWorkbook:SaveAs(SaveName,,,,,,TRUE) NO-ERROR.
  711. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  712. END PROCEDURE.
  713. /* _UIB-CODE-BLOCK-END */
  714. &ANALYZE-RESUME
  715. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  716. PROCEDURE cancelRecord :
  717. /*------------------------------------------------------------------------------
  718. Purpose: Super Override
  719. Parameters:
  720. Notes:
  721. ------------------------------------------------------------------------------*/
  722. FCancel = TRUE.
  723. RUN SUPER.
  724. /* Code placed here will execute AFTER standard behavior. */
  725. END PROCEDURE.
  726. /* _UIB-CODE-BLOCK-END */
  727. &ANALYZE-RESUME
  728. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  729. PROCEDURE copyRecord :
  730. /*------------------------------------------------------------------------------
  731. Purpose: Super Override
  732. Parameters:
  733. Notes:
  734. ------------------------------------------------------------------------------*/
  735. FNeu = TRUE.
  736. FMut = TRUE.
  737. FCopy = TRUE.
  738. FDisp = TRUE.
  739. RUN SUPER.
  740. END PROCEDURE.
  741. /* _UIB-CODE-BLOCK-END */
  742. &ANALYZE-RESUME
  743. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  744. PROCEDURE deleteRecord :
  745. /*------------------------------------------------------------------------------
  746. Purpose: Super Override
  747. Parameters:
  748. Notes:
  749. ------------------------------------------------------------------------------*/
  750. DEF VAR Ja AS LOG NO-UNDO.
  751. Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ).
  752. IF NOT Ja THEN DO:
  753. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  754. RETURN NO-APPLY.
  755. END.
  756. /* REPEAT TRANSACTION: */
  757. /* RUN INAKTIVIEREN IN hDaten. */
  758. /* LEAVE. */
  759. /* END. */
  760. /* */
  761. RUN SUPER.
  762. /* Code placed here will execute AFTER standard behavior. */
  763. END PROCEDURE.
  764. /* _UIB-CODE-BLOCK-END */
  765. &ANALYZE-RESUME
  766. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  767. PROCEDURE disableFields :
  768. /*------------------------------------------------------------------------------
  769. Purpose: Super Override
  770. Parameters:
  771. Notes:
  772. ------------------------------------------------------------------------------*/
  773. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  774. DO WITH FRAME {&FRAME-NAME}:
  775. END.
  776. RUN SUPER( INPUT pcFieldType).
  777. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  778. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  779. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  780. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  781. END.
  782. DO WITH FRAME {&FRAME-NAME}:
  783. END.
  784. END PROCEDURE.
  785. /* _UIB-CODE-BLOCK-END */
  786. &ANALYZE-RESUME
  787. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  788. PROCEDURE disable_UI :
  789. /*------------------------------------------------------------------------------
  790. Purpose: DISABLE the User Interface
  791. Parameters: <none>
  792. Notes: Here we clean-up the user-interface by deleting
  793. dynamic widgets we have created and/or hide
  794. frames. This procedure is usually called when
  795. we are ready to "clean-up" after running.
  796. ------------------------------------------------------------------------------*/
  797. /* Hide all frames. */
  798. HIDE FRAME F-Main.
  799. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  800. END PROCEDURE.
  801. /* _UIB-CODE-BLOCK-END */
  802. &ANALYZE-RESUME
  803. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  804. PROCEDURE displayFields :
  805. /*------------------------------------------------------------------------------
  806. Purpose: Super Override
  807. Parameters:
  808. Notes:
  809. ------------------------------------------------------------------------------*/
  810. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  811. DEF VAR ii AS INT NO-UNDO.
  812. IF NOT FDisp THEN DO:
  813. FDisp = TRUE.
  814. RETURN.
  815. END.
  816. IF FCancel THEN pcColValues = OldColValues.
  817. IF NOT FNeu THEN OldColValues = pcColValues.
  818. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  819. ii = LOOKUP('Knr', oldColList, ',') + 1.
  820. iKnr = INTEGER(ENTRY(ii, OldColValues, CHR(1))) NO-ERROR.
  821. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  822. RUN SUPER( INPUT pcColValues).
  823. DO WITH FRAME {&FRAME-NAME}:
  824. IF FMut THEN DO:
  825. ASSIGN Btn_Neu :SENSITIVE = FALSE
  826. Btn_Nummer:SENSITIVE = FALSE
  827. Btn_Excel :SENSITIVE = FALSE.
  828. END.
  829. ELSE DO:
  830. ASSIGN Btn_Neu :SENSITIVE = TRUE
  831. Btn_Nummer:SENSITIVE = TRUE
  832. Btn_Excel :SENSITIVE = TRUE.
  833. END.
  834. END.
  835. FCancel = FALSE.
  836. END PROCEDURE.
  837. /* _UIB-CODE-BLOCK-END */
  838. &ANALYZE-RESUME
  839. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  840. PROCEDURE enableFields :
  841. /*------------------------------------------------------------------------------
  842. Purpose: Super Override
  843. Parameters:
  844. Notes:
  845. ------------------------------------------------------------------------------*/
  846. /* Code placed here will execute PRIOR to standard behavior. */
  847. /*
  848. RUN SUPER.
  849. */
  850. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  851. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  852. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO:
  853. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  854. END.
  855. DO WITH FRAME {&FRAME-NAME}:
  856. END.
  857. IF FNeu THEN RETURN.
  858. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  859. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  860. END.
  861. END PROCEDURE.
  862. /* _UIB-CODE-BLOCK-END */
  863. &ANALYZE-RESUME
  864. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  865. PROCEDURE enableObject :
  866. /*------------------------------------------------------------------------------
  867. Purpose: Super Override
  868. Parameters:
  869. Notes:
  870. ------------------------------------------------------------------------------*/
  871. /* Code placed here will execute PRIOR to standard behavior. */
  872. RUN SUPER.
  873. { incl/viwenableobject.i }
  874. END PROCEDURE.
  875. /* _UIB-CODE-BLOCK-END */
  876. &ANALYZE-RESUME
  877. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  878. PROCEDURE ENTRY_FELD_TEST :
  879. /*------------------------------------------------------------------------------
  880. Purpose:
  881. Parameters: <none>
  882. Notes:
  883. ------------------------------------------------------------------------------*/
  884. { incl/viwentryfeldtest.i }
  885. DO WITH FRAME {&FRAME-NAME}:
  886. CASE FeldName:
  887. END CASE.
  888. END.
  889. RETURN ''.
  890. END PROCEDURE.
  891. /* _UIB-CODE-BLOCK-END */
  892. &ANALYZE-RESUME
  893. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXPORT_YOURBARMATE vTableWin
  894. PROCEDURE EXPORT_YOURBARMATE :
  895. /*------------------------------------------------------------------------------
  896. Purpose:
  897. Parameters: <none>
  898. Notes:
  899. ------------------------------------------------------------------------------*/
  900. DEF VAR Vorlage AS CHAR NO-UNDO.
  901. DEF VAR Datei AS CHAR NO-UNDO.
  902. DEF VAR cParam AS CHAR NO-UNDO.
  903. DEF VAR Zelle AS CHAR NO-UNDO.
  904. DEF VAR io AS LOG NO-UNDO.
  905. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  906. DEF VAR Kol AS INT NO-UNDO.
  907. DEF VAR Bez AS CHAR NO-UNDO.
  908. DEF VAR iRecid AS RECID NO-UNDO.
  909. DEF VAR lInkl AS LOG NO-UNDO.
  910. DEF VAR ii AS INT NO-UNDO.
  911. DEF VAR ix AS INT NO-UNDO.
  912. DEF VAR iPreisArt AS INT NO-UNDO.
  913. DEF VAR cWgr AS CHAR NO-UNDO.
  914. DEF BUFFER bKunBest FOR KunBest.
  915. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR.
  916. IF iRecid = ? OR
  917. iRecid = 0 THEN RETURN NO-APPLY.
  918. FIND bKunBest NO-LOCK WHERE RECID(bKunBest) = iRecid.
  919. iKnr = bKunBest.Knr.
  920. FIND Adresse NO-LOCK
  921. WHERE Adresse.Firma = AdFirma
  922. AND Adresse.Knr = iKnr NO-ERROR.
  923. IF NOT AVAILABLE Adresse THEN RETURN NO-APPLY.
  924. FIND Steuer USE-INDEX Steuer-k1 NO-LOCK
  925. WHERE Steuer.Firma = Firma NO-ERROR.
  926. EMPTY TEMP-TABLE tAufze.
  927. CREATE tAufze.
  928. Vorlage = 'ExportYourBarMate.xlsx'.
  929. Datei = SUBSTITUTE('ExportYourBarMate_&1.xlsx', Adresse.Anzeig_Br).
  930. cParam = Datei + CHR(01) + Vorlage.
  931. RUN CREATEDATEI ( INPUT cParam ).
  932. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  933. Datei = RETURN-VALUE.
  934. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  935. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  936. MESSAGE 'Die Applikation Excel konnte nicht gestartet werden ! '
  937. VIEW-AS ALERT-BOX ERROR.
  938. RETURN NO-APPLY.
  939. END.
  940. RUN OPENEXCEL ( INPUT excelAppl, INPUT Datei, INPUT '', OUTPUT io).
  941. IF NOT io THEN DO:
  942. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  943. RETURN NO-APPLY.
  944. END.
  945. FIND Debst NO-LOCK USE-INDEX Debst-k1
  946. WHERE Debst.Firma = Firma
  947. AND Debst.Knr = iKnr NO-ERROR.
  948. FIND Wust NO-LOCK USE-INDEX Wust-k1
  949. WHERE Wust.CodeK = Debst.MWST
  950. AND Wust.CodeA = 99 NO-ERROR.
  951. lInkl = Wust.Incl.
  952. EMPTY TEMP-TABLE tKunBest.
  953. FOR EACH bKunBest NO-LOCK USE-INDEX KunBest-k1
  954. WHERE bKunBest.Firma = Firma
  955. AND bKunBest.Knr = Adresse.Knr
  956. AND bKunBest.Artnr > 0,
  957. FIRST Artst OF bKunBest NO-LOCK :
  958. CREATE tKunBest.
  959. BUFFER-COPY bKunBest TO tKunBest.
  960. END.
  961. FIND FIRST tAufze.
  962. ASSIGN tAufze.Firma = Firma.
  963. ii = 2.
  964. FOR EACH tKunBest USE-INDEX tKunBest-k2 NO-LOCK:
  965. FIND Artst OF tKunBest NO-LOCK NO-ERROR.
  966. FIND FIRST ArtBez OF Artst NO-LOCK NO-ERROR.
  967. FIND Wust NO-LOCK
  968. WHERE Wust.CodeK = Debst.Mwst
  969. AND Wust.CodeA = Artst.Mwst.
  970. FIND FIRST tAufze.
  971. ASSIGN tAufze.Artnr = tKunBest.Artnr
  972. tAufze.Inhalt = tKunBest.Inhalt
  973. tAufze.Jahr = tKunBest.Jahr
  974. tAufze.MBest = 1
  975. tAufze.MGeli = 1
  976. tAufze.Netto = Artst.Netto
  977. tAufze.Rab_Art = Debst.Zei_Rab_Art
  978. tAufze.Rab_Wert = Debst.Zei_Rab_Wert
  979. tAufze.Rab_Betr = 0
  980. tAufze.Zus_Art = Debst.Zuschl_Art
  981. tAufze.Zus_Wert = Debst.Zuschl_Wert
  982. tAufze.Zus_Betr = 0
  983. tAufze.Bru_Betr = 0
  984. tAufze.Net_Betr = 0
  985. tAufze.WuCd = Wust.WuCd
  986. tAufze.WC = Artst.Mwst
  987. tAufze.Knr = Debst.Knr.
  988. iPreisArt = DYNAMIC-FUNCTION('getPreisAufze':U, INPUT-OUTPUT htAufze ) NO-ERROR.
  989. FIND FIRST tAufze.
  990. tAufze.PreisArt = iPreisArt.
  991. FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
  992. WHERE KGebinde.Firma = Firma
  993. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-ERROR.
  994. FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
  995. WHERE VGebinde.Firma = Firma
  996. AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-ERROR.
  997. RUN FIND_WARENGRP ( Artst.Wg_Grp, OUTPUT cWgr ).
  998. cWgr = ENTRY(2, cWgr, CHR(01)).
  999. Kol = 65.
  1000. ii = ii + 1.
  1001. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  1002. excelAppl:Range(Zelle):Select.
  1003. excelAppl:ActiveCell:FormulaR1C1 = cWgr.
  1004. Kol = Kol + 1.
  1005. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  1006. excelAppl:Range(Zelle):Select.
  1007. excelAppl:ActiveCell:FormulaR1C1 = TRIM(Artbez.Bez1 + ' ' + Artbez.Bez2).
  1008. Kol = Kol + 1.
  1009. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  1010. excelAppl:Range(Zelle):Select.
  1011. excelAppl:ActiveCell:FormulaR1C1 = TRIM(STRING(tAufze.Net_Betr,'zzz9.999')).
  1012. Kol = Kol + 1.
  1013. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  1014. excelAppl:Range(Zelle):Select.
  1015. excelAppl:ActiveCell:FormulaR1C1 = KGebinde.Bez.
  1016. Kol = Kol + 1.
  1017. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  1018. excelAppl:Range(Zelle):Select.
  1019. excelAppl:ActiveCell:FormulaR1C1 = TRIM(STRING(KGebinde.Inhalt,'zzzz9 cl')).
  1020. Kol = Kol + 1.
  1021. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  1022. excelAppl:Range(Zelle):Select.
  1023. excelAppl:ActiveCell:FormulaR1C1 = TRIM(STRING(VGebinde.Inhalt,'zzzz9')) + VGebinde.Bez.
  1024. Kol = Kol + 1.
  1025. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  1026. excelAppl:Range(Zelle):Select.
  1027. excelAppl:ActiveCell:FormulaR1C1 = 'Huber Getränkehandlung AG'.
  1028. Kol = Kol + 1.
  1029. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  1030. excelAppl:Range(Zelle):Select.
  1031. excelAppl:ActiveCell:FormulaR1C1 = STRING(Artst.Artnr,'999999')
  1032. + '.'
  1033. + STRING(Artst.Inhalt,'9999')
  1034. + '.'
  1035. + STRING(Artst.Jahr,'9999').
  1036. Kol = Kol + 1.
  1037. IF Artst.Jahr <> 0 THEN DO:
  1038. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  1039. excelAppl:Range(Zelle):Select.
  1040. excelAppl:ActiveCell:FormulaR1C1 = STRING(Artst.Jahr,"zzz9").
  1041. END.
  1042. Kol = Kol + 1.
  1043. IF Artst.Alk_Gehalt <> 0 THEN DO:
  1044. Zelle = CHR(Kol) + TRIM(STRING(ii,">>>9")).
  1045. excelAppl:Range(Zelle):Select.
  1046. excelAppl:ActiveCell:FormulaR1C1 = STRING(Artst.Alk_Gehalt,"z9.99").
  1047. END.
  1048. END.
  1049. Zelle = 'A1'.
  1050. excelAppl:Range(Zelle):Select.
  1051. DEF VAR SaveName AS CHAR NO-UNDO.
  1052. IF Adresse.Firma1 <> '' THEN SaveName = TRIM(SUBSTR(Adresse.Firma1,01,12)).
  1053. ELSE SaveName = TRIM(SUBSTR(Adresse.NAME ,01,12)).
  1054. IF SaveName = '' THEN SaveName = Datei.
  1055. SaveName = SESSION:TEMP-DIR + SaveName + '.xlsx'.
  1056. excelAppl:ActiveWorkbook:SaveAs(SaveName,,,,,,TRUE) NO-ERROR.
  1057. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  1058. END PROCEDURE.
  1059. /* _UIB-CODE-BLOCK-END */
  1060. &ANALYZE-RESUME
  1061. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  1062. PROCEDURE FEHLWERTE :
  1063. /*------------------------------------------------------------------------------
  1064. Purpose:
  1065. Parameters: <none>
  1066. Notes:
  1067. ------------------------------------------------------------------------------*/
  1068. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  1069. DEF VAR i1 AS INT NO-UNDO.
  1070. DEF VAR iPos AS INT NO-UNDO.
  1071. DEF BUFFER bKunBest FOR KunBest.
  1072. IF FCancel THEN RETURN.
  1073. IF NOT FCopy THEN DO WITH FRAME {&FRAME-NAME}:
  1074. FIND LAST bKunBest NO-LOCK
  1075. WHERE bKunBest.Firma = Firma
  1076. AND bKunBest.Knr = iKnr NO-ERROR.
  1077. IF AVAILABLE bKunBest THEN iPos = bKunBest.Pos + 10.
  1078. ELSE iPos = 10.
  1079. DO WHILE iPos MOD 10 <> 0:
  1080. iPos = iPos + 1.
  1081. END.
  1082. i1 = LOOKUP('Pos', oldColList, ',') + 1.
  1083. ENTRY(i1, pcColValues, CHR(1)) = STRING(iPos) NO-ERROR.
  1084. END.
  1085. IF FCopy THEN DO:
  1086. END.
  1087. END PROCEDURE.
  1088. /* _UIB-CODE-BLOCK-END */
  1089. &ANALYZE-RESUME
  1090. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  1091. PROCEDURE LEAVE_FELD_TEST :
  1092. /*------------------------------------------------------------------------------
  1093. Purpose:
  1094. Parameters: <none>
  1095. Notes:
  1096. ------------------------------------------------------------------------------*/
  1097. { incl/viwleavefeldtest.i }
  1098. DEF BUFFER bArtst FOR Artst.
  1099. DEF BUFFER bArtbez FOR Artbez.
  1100. DEF BUFFER bKunBest FOR KunBest.
  1101. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  1102. CASE FeldName:
  1103. WHEN 'Pos' THEN DO:
  1104. IF INTEGER(SELF:SCREEN-VALUE) <> 0 THEN DO:
  1105. FIND FIRST bKunBest NO-LOCK
  1106. WHERE bKunBest.Firma = Firma
  1107. AND bKunBest.Knr = iKnr
  1108. AND bKunBest.Pos = INTEGER(SELF:SCREEN-VALUE) NO-ERROR.
  1109. IF AVAILABLE bKunBest THEN DO:
  1110. RELEASE bKunBest.
  1111. DYNAMIC-FUNCTION('fehlerMeldung':U, 1099, '' ) NO-ERROR.
  1112. RETURN 'ERROR'.
  1113. END.
  1114. END.
  1115. END.
  1116. WHEN 'Artnr' THEN DO:
  1117. IF INTEGER(SELF:SCREEN-VALUE) = 0 THEN DO:
  1118. DYNAMIC-FUNCTION('fehlerMeldung':U, 213, '' ) NO-ERROR.
  1119. RETURN 'ERROR'.
  1120. END.
  1121. FIND FIRST bArtst NO-LOCK
  1122. WHERE bArtst.Firma = Firma
  1123. AND bArtst.Artnr = INTEGER(SELF:SCREEN-VALUE) NO-ERROR.
  1124. IF NOT AVAILABLE bArtst THEN DO:
  1125. DYNAMIC-FUNCTION('fehlerMeldung':U, 213, '' ) NO-ERROR.
  1126. RETURN 'ERROR'.
  1127. END.
  1128. FIND FIRST bArtbez NO-LOCK
  1129. WHERE bArtbez.Firma = bArtst.Firma
  1130. AND bArtbez.Artnr = bArtst.Artnr
  1131. AND bArtbez.Inhalt = bArtst.Inhalt
  1132. AND bArtbez.Jahr = bArtst.Jahr NO-ERROR.
  1133. rowObject.Inhalt :SCREEN-VALUE = STRING(bArtst.Inhalt).
  1134. rowObject.Jahr :SCREEN-VALUE = STRING(bArtst.Jahr).
  1135. rowObject.Artikel:SCREEN-VALUE = TRIM(bArtbez.Bez1 + ' ' + bArtbez.Bez2).
  1136. rowObject.KGeb :SCREEN-VALUE = DYNAMIC-FUNCTION('getKGebindeKBez':U, bArtst.KGeb_Cd) NO-ERROR.
  1137. rowObject.VGeb :SCREEN-VALUE = DYNAMIC-FUNCTION('getVGebindeKBez':U, bArtst.VGeb_Cd) NO-ERROR.
  1138. rowObject.GGeb :SCREEN-VALUE = DYNAMIC-FUNCTION('getGGebindeKBez':U, bArtst.GGeb_Cd) NO-ERROR.
  1139. END.
  1140. WHEN 'Inhalt' THEN DO:
  1141. FIND FIRST bArtst NO-LOCK
  1142. WHERE bArtst.Firma = Firma
  1143. AND bArtst.Artnr = INTEGER(rowObject.Artnr:SCREEN-VALUE)
  1144. AND bArtst.Artnr = INTEGER(SELF:SCREEN-VALUE) NO-ERROR.
  1145. IF NOT AVAILABLE bArtst THEN DO:
  1146. DYNAMIC-FUNCTION('fehlerMeldung':U, 213, '' ) NO-ERROR.
  1147. RETURN 'ERROR'.
  1148. END.
  1149. FIND FIRST bArtbez NO-LOCK
  1150. WHERE bArtbez.Firma = bArtst.Firma
  1151. AND bArtbez.Artnr = bArtst.Artnr
  1152. AND bArtbez.Inhalt = bArtst.Inhalt
  1153. AND bArtbez.Jahr = bArtst.Jahr NO-ERROR.
  1154. rowObject.Jahr :SCREEN-VALUE = STRING(bArtst.Jahr).
  1155. rowObject.Artikel:SCREEN-VALUE = TRIM(bArtbez.Bez1 + ' ' + bArtbez.Bez2).
  1156. rowObject.KGeb :SCREEN-VALUE = DYNAMIC-FUNCTION('getKGebindeKBez':U, bArtst.KGeb_Cd) NO-ERROR.
  1157. rowObject.VGeb :SCREEN-VALUE = DYNAMIC-FUNCTION('getVGebindeKBez':U, bArtst.VGeb_Cd) NO-ERROR.
  1158. rowObject.GGeb :SCREEN-VALUE = DYNAMIC-FUNCTION('getGGebindeKBez':U, bArtst.GGeb_Cd) NO-ERROR.
  1159. END.
  1160. WHEN 'Jahr' THEN DO:
  1161. FIND FIRST bArtst NO-LOCK
  1162. WHERE bArtst.Firma = Firma
  1163. AND bArtst.Artnr = INTEGER(rowObject.Artnr :SCREEN-VALUE)
  1164. AND bArtst.Inhalt = INTEGER(rowObject.Inhalt:SCREEN-VALUE)
  1165. AND bArtst.Jahr = INTEGER(SELF:SCREEN-VALUE) NO-ERROR.
  1166. IF NOT AVAILABLE bArtst THEN DO:
  1167. DYNAMIC-FUNCTION('fehlerMeldung':U, 213, '' ) NO-ERROR.
  1168. RETURN 'ERROR'.
  1169. END.
  1170. FIND FIRST bArtbez NO-LOCK
  1171. WHERE bArtbez.Firma = bArtst.Firma
  1172. AND bArtbez.Artnr = bArtst.Artnr
  1173. AND bArtbez.Inhalt = bArtst.Inhalt
  1174. AND bArtbez.Jahr = bArtst.Jahr NO-ERROR.
  1175. rowObject.Artikel:SCREEN-VALUE = TRIM(bArtbez.Bez1 + ' ' + bArtbez.Bez2).
  1176. rowObject.KGeb :SCREEN-VALUE = DYNAMIC-FUNCTION('getKGebindeKBez':U, bArtst.KGeb_Cd) NO-ERROR.
  1177. rowObject.VGeb :SCREEN-VALUE = DYNAMIC-FUNCTION('getVGebindeKBez':U, bArtst.VGeb_Cd) NO-ERROR.
  1178. rowObject.GGeb :SCREEN-VALUE = DYNAMIC-FUNCTION('getGGebindeKBez':U, bArtst.GGeb_Cd) NO-ERROR.
  1179. END.
  1180. END CASE.
  1181. LEAVE.
  1182. END.
  1183. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  1184. CASE FeldName:
  1185. END CASE.
  1186. LEAVE.
  1187. END.
  1188. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO:
  1189. DO WHILE TRUE:
  1190. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  1191. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  1192. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  1193. RETURN ''.
  1194. END.
  1195. APPLY 'ALT-S'.
  1196. RETURN 'APPLY'.
  1197. END.
  1198. RETURN ''.
  1199. END PROCEDURE.
  1200. /* _UIB-CODE-BLOCK-END */
  1201. &ANALYZE-RESUME
  1202. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEUE_LISTE vTableWin
  1203. PROCEDURE NEUE_LISTE :
  1204. /*------------------------------------------------------------------------------
  1205. Purpose:
  1206. Parameters: <none>
  1207. Notes:
  1208. ------------------------------------------------------------------------------*/
  1209. DEF VAR cSort AS CHAR NO-UNDO.
  1210. DEF VAR iRecid AS RECID NO-UNDO.
  1211. DEF VAR cRetValue AS CHAR NO-UNDO.
  1212. DEF VAR dvonDatum AS DATE NO-UNDO.
  1213. DEF VAR dbisDatum AS DATE NO-UNDO.
  1214. DEF VAR lOK AS LOG NO-UNDO.
  1215. DEF VAR iPos AS INT NO-UNDO.
  1216. PUBLISH 'GETFAXLISTENKNR' ( OUTPUT iRecid ).
  1217. IF iRecid = ? OR
  1218. iRecid = 0 THEN RETURN.
  1219. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid.
  1220. iKnr = Adresse.Knr.
  1221. GET-KEY-VALUE SECTION 'Faxliste'
  1222. KEY 'vonDatum'
  1223. VALUE cRetValue.
  1224. IF ERROR-STATUS:ERROR OR
  1225. cRetValue = ? THEN cRetValue = ''.
  1226. IF cRetValue = '' THEN cRetValue = STRING((TODAY - 180),'99.99.9999').
  1227. dvonDatum = DATE(cRetValue) NO-ERROR.
  1228. IF ERROR-STATUS:ERROR OR
  1229. dvonDatum = ? THEN DO:
  1230. dvonDatum = (TODAY - 180) .
  1231. END.
  1232. dbisDatum = DATE(MONTH(dvonDatum),01,YEAR(dvonDatum)).
  1233. GET-KEY-VALUE SECTION 'Faxliste'
  1234. KEY 'NeuSort'
  1235. VALUE cRetValue.
  1236. IF ERROR-STATUS:ERROR OR
  1237. cRetValue = ? THEN cRetValue = ''.
  1238. IF cRetValue = '' THEN cRetValue = '1'.
  1239. cSort = cRetValue.
  1240. EMPTY TEMP-TABLE tKunden.
  1241. DO WITH FRAME {&FRAME-NAME}:
  1242. dbisDatum = TODAY.
  1243. lOK = FALSE.
  1244. RUN "g-faxlist-datum.w" ( INPUT-OUTPUT iKnr,
  1245. INPUT-OUTPUT dvonDatum,
  1246. INPUT-OUTPUT dbisDatum,
  1247. INPUT-OUTPUT cSort ,
  1248. INPUT-OUTPUT lOK ).
  1249. DO TRANSACTION WHILE lOK:
  1250. SESSION:SET-WAIT-STATE('GENERAL').
  1251. IF iKnr = 0 THEN DO:
  1252. FOR EACH KunBest NO-LOCK
  1253. WHERE KunBest.Firma = Firma
  1254. BREAK BY KunBest.Knr:
  1255. IF NOT FIRST-OF ( KunBest.Knr ) THEN NEXT.
  1256. CREATE tKunden.
  1257. ASSIGN tKunden.Knr = Kunbest.Knr.
  1258. END.
  1259. END.
  1260. ELSE DO:
  1261. CREATE tKunden.
  1262. ASSIGN tKunden.Knr = iKnr.
  1263. END.
  1264. EMPTY TEMP-TABLE tKunBest.
  1265. FOR EACH tKunden,
  1266. EACH Artbw NO-LOCK USE-INDEX Artbw-k3
  1267. WHERE Artbw.Firma = Firma
  1268. AND Artbw.Knr = tKunden.Knr
  1269. AND Artbw.Datum >= dvonDatum
  1270. AND Artbw.Datum <= dbisDatum
  1271. AND Artbw.Menge > 0
  1272. AND Artbw.Tr_Art = 01,
  1273. FIRST Artst NO-LOCK
  1274. WHERE Artst.Firma = Artbw.Firma
  1275. AND Artst.Artnr = Artbw.Artnr
  1276. AND Artst.Inhalt = Artbw.Inhalt
  1277. AND Artst.Jahr = Artbw.Jahr
  1278. AND Artst.Aktiv
  1279. BREAK BY Artbw.Artnr
  1280. BY Artbw.Inhalt
  1281. BY Artbw.Jahr
  1282. BY Artbw.Datum :
  1283. IF FIRST-OF ( Artbw.Jahr ) THEN DO:
  1284. CREATE tKunBest.
  1285. ASSIGN tKunBest.Firma = Artbw.Firma
  1286. tKunBest.Knr = Artbw.Knr
  1287. tKunBest.Pos = 0
  1288. tKunBest.Artnr = Artbw.Artnr
  1289. tKunBest.Inhalt = Artbw.Inhalt
  1290. tKunBest.Jahr = Artbw.Jahr
  1291. tKunBest.Soll = 0
  1292. tKunBest.KGeb_Cd = Artst.KGeb_Cd
  1293. tKunBest.VGeb_Cd = Artst.VGeb_Cd
  1294. tKunBest.GGeb_Cd = Artst.GGeb_Cd
  1295. tKunBest.Best = 0
  1296. tKunBest.KGeb_Me = 0
  1297. tKunBest.VGeb_Me = 0
  1298. tKunBest.GGeb_Me = 0.
  1299. CASE cSort:
  1300. WHEN '1' THEN tKunBest.cSort = STRING(Artbw.Artnr ,'999999')
  1301. + STRING(Artbw.Inhalt,'9999')
  1302. + STRING(Artbw.Jahr ,'9999').
  1303. WHEN '2' THEN tKunBest.cSort = STRING(Artst.Suchbe,'x(12)')
  1304. + STRING(Artbw.Artnr ,'999999')
  1305. + STRING(Artbw.Inhalt,'9999')
  1306. + STRING(Artbw.Jahr ,'9999').
  1307. WHEN '3' THEN tKunBest.cSort = STRING(Artst.Wg_Grp,'9999')
  1308. + STRING(Artbw.Artnr ,'999999')
  1309. + STRING(Artbw.Inhalt,'9999')
  1310. + STRING(Artbw.Jahr ,'9999').
  1311. WHEN '4' THEN tKunBest.cSort = STRING(Artst.Wg_Grp,'9999')
  1312. + STRING(Artst.Suchbe,'x(12)')
  1313. + STRING(Artbw.Artnr ,'999999')
  1314. + STRING(Artbw.Inhalt,'9999')
  1315. + STRING(Artbw.Jahr ,'9999').
  1316. END CASE.
  1317. iRecid = RECID(tKunBest).
  1318. RELEASE tKunBest.
  1319. END.
  1320. IF LAST-OF ( Artbw.Jahr ) THEN DO:
  1321. FIND tKunBest WHERE RECID(tKunBest) = iRecid.
  1322. tKunBest.Soll = Artbw.Menge.
  1323. END.
  1324. END.
  1325. FOR EACH tKunden,
  1326. EACH KunBest
  1327. WHERE KunBest.Firma = Firma
  1328. AND KunBest.Knr = tKunden.Knr:
  1329. DELETE KunBest.
  1330. END.
  1331. iPos = 0.
  1332. FOR EACH tKunBest
  1333. BREAK BY tKunbest.Knr
  1334. BY tKunBest.cSort:
  1335. IF FIRST-OF ( tKunBest.Knr ) THEN iPos = 0.
  1336. iPos = iPos + 10.
  1337. CREATE KunBest.
  1338. BUFFER-COPY tKunBest EXCEPT Pos TO KunBest
  1339. ASSIGN KunBest.Pos = iPos.
  1340. DELETE tKunBest.
  1341. END.
  1342. LEAVE.
  1343. END.
  1344. SESSION:SET-WAIT-STATE('').
  1345. DYNAMIC-FUNCTION('openQuery':U IN hDaten) NO-ERROR.
  1346. RETURN NO-APPLY.
  1347. END.
  1348. END PROCEDURE.
  1349. /* _UIB-CODE-BLOCK-END */
  1350. &ANALYZE-RESUME
  1351. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEUE_POSITIONSNUMMERN vTableWin
  1352. PROCEDURE NEUE_POSITIONSNUMMERN :
  1353. /*------------------------------------------------------------------------------
  1354. Purpose:
  1355. Parameters: <none>
  1356. Notes:
  1357. ------------------------------------------------------------------------------*/
  1358. DEF VAR iPos AS INT NO-UNDO.
  1359. REPEAT TRANSACTION:
  1360. EMPTY TEMP-TABLE tKunBest.
  1361. iPos = 0.
  1362. FOR EACH KunBest
  1363. WHERE KunBest.Firma = Firma
  1364. AND KunBest.Knr = iKnr.
  1365. iPos = iPos + 10.
  1366. CREATE tKunBest.
  1367. BUFFER-COPY KunBest EXCEPT Pos
  1368. TO tKunBest
  1369. ASSIGN tKunBest.Pos = iPos.
  1370. DELETE KunBest.
  1371. END.
  1372. iPos = 0.
  1373. FOR EACH tKunBest:
  1374. CREATE KunBest.
  1375. BUFFER-COPY tKunBest TO KunBest.
  1376. END.
  1377. LEAVE.
  1378. END.
  1379. DYNAMIC-FUNCTION('openQuery':U IN hDaten) NO-ERROR.
  1380. APPLY 'U1'.
  1381. RETURN NO-APPLY.
  1382. END PROCEDURE.
  1383. /* _UIB-CODE-BLOCK-END */
  1384. &ANALYZE-RESUME
  1385. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  1386. PROCEDURE RETURN_FELD :
  1387. /*------------------------------------------------------------------------------
  1388. Purpose:
  1389. Parameters: <none>
  1390. Notes:
  1391. ------------------------------------------------------------------------------*/
  1392. { incl/viwreturnfeld.i }
  1393. END PROCEDURE.
  1394. /* _UIB-CODE-BLOCK-END */
  1395. &ANALYZE-RESUME
  1396. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin
  1397. PROCEDURE TEST_EINGABEN :
  1398. /*------------------------------------------------------------------------------
  1399. Purpose:
  1400. Parameters: <none>
  1401. Notes:
  1402. ------------------------------------------------------------------------------*/
  1403. DEF OUTPUT PARAMETER opJa AS LOG NO-UNDO.
  1404. DEF VAR eHandle AS HANDLE NO-UNDO.
  1405. DEF VAR cString AS CHAR NO-UNDO.
  1406. DEF VAR iNummer AS INT NO-UNDO.
  1407. DEF VAR iArtnr AS INT NO-UNDO.
  1408. DEF VAR iInhalt AS INT NO-UNDO.
  1409. DEF VAR iJahr AS INT NO-UNDO.
  1410. DEF VAR iPos AS INT NO-UNDO.
  1411. DEF BUFFER bKunbest FOR KunBest.
  1412. DEF BUFFER bArtst FOR Artst .
  1413. opJa = FALSE.
  1414. eHandle = ?.
  1415. IF NOT FMut THEN RETURN.
  1416. DO WITH FRAME {&FRAME-NAME}:
  1417. ASSIGN iArtnr = INTEGER(rowObject.Artnr :SCREEN-VALUE)
  1418. iInhalt = INTEGER(rowObject.Inhalt:SCREEN-VALUE)
  1419. iJahr = INTEGER(rowObject.Jahr :SCREEN-VALUE).
  1420. END.
  1421. AAA000:
  1422. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  1423. iPos = INTEGER(rowObject.Pos:SCREEN-VALUE).
  1424. IF iPos = 0 THEN DO:
  1425. FIND LAST bKunBest NO-LOCK
  1426. WHERE bKunBest.Firma = Firma
  1427. AND bKunBest.Knr = iKnr NO-ERROR.
  1428. IF AVAILABLE bKunBest THEN iPos = bKunBest.Pos + 10.
  1429. ELSE iPos = 10.
  1430. DO WHILE iPos MOD 10 <> 0:
  1431. iPos = iPos + 1.
  1432. END.
  1433. rowObject.Pos:SCREEN-VALUE = STRING(iPos).
  1434. END.
  1435. FIND LAST bKunBest NO-LOCK
  1436. WHERE bKunBest.Firma = Firma
  1437. AND bKunBest.Knr = iKnr
  1438. AND bKunBest.Pos = iPos NO-ERROR.
  1439. IF AVAILABLE bKunBest THEN DO:
  1440. DYNAMIC-FUNCTION('fehlerMeldung':U, 1099, '' ) NO-ERROR.
  1441. eHandle = rowObject.Pos:HANDLE.
  1442. LEAVE.
  1443. END.
  1444. LEAVE.
  1445. END.
  1446. RELEASE bKunBest.
  1447. IF VALID-HANDLE(eHandle) THEN DO:
  1448. APPLY 'ENTRY' TO eHandle.
  1449. RETURN NO-APPLY.
  1450. END.
  1451. FIND bArtst NO-LOCK
  1452. WHERE bArtst.Firma = Firma
  1453. AND bArtst.Artnr = iArtnr
  1454. AND bArtst.Inhalt = iInhalt
  1455. AND bArtst.Jahr = iJahr.
  1456. DO WITH FRAME {&FRAME-NAME}:
  1457. ASSIGN rowObject.KGeb_Cd :SCREEN-VALUE = bArtst.KGeb_Cd
  1458. rowObject.VGeb_Cd :SCREEN-VALUE = bArtst.VGeb_Cd
  1459. rowObject.GGeb_Cd :SCREEN-VALUE = bArtst.GGeb_Cd
  1460. rowObject.Lag_Buch:SCREEN-VALUE = STRING(bArtst.Lager).
  1461. END.
  1462. opJa = TRUE.
  1463. END PROCEDURE.
  1464. /* _UIB-CODE-BLOCK-END */
  1465. &ANALYZE-RESUME
  1466. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  1467. PROCEDURE updateMode :
  1468. /*------------------------------------------------------------------------------
  1469. Purpose: Super Override
  1470. Parameters:
  1471. Notes:
  1472. ------------------------------------------------------------------------------*/
  1473. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  1474. CASE pcMode:
  1475. WHEN 'updateBegin' THEN DO:
  1476. END.
  1477. WHEN 'updateEnd' THEN DO:
  1478. END.
  1479. END.
  1480. RUN SUPER( INPUT pcMode).
  1481. CASE pcMode:
  1482. WHEN 'updateBegin' THEN DO WITH FRAME {&FRAME-NAME}:
  1483. FMut = TRUE.
  1484. ASSIGN Btn_Neu :SENSITIVE = FALSE
  1485. Btn_Nummer:SENSITIVE = FALSE
  1486. Btn_Excel :SENSITIVE = FALSE.
  1487. END.
  1488. WHEN 'updateEnd' THEN DO:
  1489. FNeu = FALSE.
  1490. FMut = FALSE.
  1491. FCopy = FALSE.
  1492. ASSIGN Btn_Neu :SENSITIVE = TRUE
  1493. Btn_Nummer:SENSITIVE = TRUE
  1494. Btn_Excel :SENSITIVE = TRUE.
  1495. END.
  1496. END.
  1497. END PROCEDURE.
  1498. /* _UIB-CODE-BLOCK-END */
  1499. &ANALYZE-RESUME
  1500. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  1501. PROCEDURE updateRecord :
  1502. /*------------------------------------------------------------------------------
  1503. Purpose: Super Override
  1504. Parameters:
  1505. Notes:
  1506. ------------------------------------------------------------------------------*/
  1507. DO WITH FRAME {&FRAME-NAME}:
  1508. IF FNeu THEN DO:
  1509. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE).
  1510. END.
  1511. END.
  1512. FNeu = FALSE.
  1513. FCopy = FALSE.
  1514. RUN SUPER.
  1515. /* Code placed here will execute AFTER standard behavior. */
  1516. END PROCEDURE.
  1517. /* _UIB-CODE-BLOCK-END */
  1518. &ANALYZE-RESUME