v-spezprei-art.w 64 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021
  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-spezprei.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 F_Knr
  32. &Scoped-define LETZTES_FELD F_Wert
  33. &Scoped-define KEY_FELDER F_Knr,Menge
  34. &Scoped-define NUR_LESEN Kunde
  35. &Scoped-define Eingabe F_Knr,F_Wert
  36. { incl/viwdefinition.i }
  37. DEF VAR lLeave AS LOG INIT TRUE NO-UNDO.
  38. DEF VAR cArtikel AS CHAR NO-UNDO.
  39. DEF VAR nKnr AS INT NO-UNDO.
  40. DEF VAR nArtnr AS INT NO-UNDO.
  41. DEF VAR nInhalt AS INT NO-UNDO.
  42. DEF VAR nJahr AS INT NO-UNDO.
  43. DEF VAR iKnr AS INT NO-UNDO.
  44. DEF TEMP-TABLE TSpezPrei LIKE Spezprei.
  45. {src/adm2/widgetprto.i}
  46. /* _UIB-CODE-BLOCK-END */
  47. &ANALYZE-RESUME
  48. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  49. /* ******************** Preprocessor Definitions ******************** */
  50. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  51. &Scoped-define DB-AWARE no
  52. &Scoped-define ADM-CONTAINER FRAME
  53. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  54. /* Include file with RowObject temp-table definition */
  55. &Scoped-define DATA-FIELD-DEFS "d-spezprei.i"
  56. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  57. &Scoped-define FRAME-NAME F-Main
  58. /* Standard List Definitions */
  59. &Scoped-Define ENABLED-FIELDS RowObject.Menge RowObject.Ab_Datum ~
  60. RowObject.Bis_Datum RowObject.Kunde RowObject.Wert RowObject.VP_Normal ~
  61. RowObject.Marge RowObject.AltPreis
  62. &Scoped-define ENABLED-TABLES RowObject
  63. &Scoped-define FIRST-ENABLED-TABLE RowObject
  64. &Scoped-Define ENABLED-OBJECTS F_Knr CB_Art F_Wert Btn_Kopieren ~
  65. Btn_Loeschen Btn_Excel RECT-1 RECT-2
  66. &Scoped-Define DISPLAYED-FIELDS RowObject.Menge RowObject.Ab_Datum ~
  67. RowObject.Bis_Datum RowObject.Kunde RowObject.Wert RowObject.VP_Normal ~
  68. RowObject.Proz_Betr RowObject.Inhalt RowObject.Artnr RowObject.Firma ~
  69. RowObject.PreisMut RowObject.Jahr RowObject.Knr RowObject.Marge ~
  70. RowObject.AltPreis
  71. &Scoped-define DISPLAYED-TABLES RowObject
  72. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  73. &Scoped-Define DISPLAYED-OBJECTS F_Knr CB_Art F_Artnr F_Inhalt F_Jahr ~
  74. F_Datum
  75. /* Custom List Definitions */
  76. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  77. &Scoped-define List-5 Btn_Kopieren Btn_Loeschen Btn_Excel
  78. &Scoped-define List-6 F_Artnr F_Inhalt F_Jahr F_Datum
  79. /* _UIB-PREPROCESSOR-BLOCK-END */
  80. &ANALYZE-RESUME
  81. /* *********************** Control Definitions ********************** */
  82. /* Menu Definitions */
  83. DEFINE MENU POPUP-MENU-F-Main
  84. MENU-ITEM m_lschen_Spezialpreise_von_in LABEL "löschen Spezialpreise von inaktiven Artikeln".
  85. /* Definitions of the field level widgets */
  86. DEFINE BUTTON Btn_Excel
  87. IMAGE-UP FILE "grafik/results%.ico":U
  88. IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
  89. LABEL "Excel"
  90. SIZE 7 BY 1.81.
  91. DEFINE BUTTON Btn_Kopieren
  92. LABEL "Ko&pieren"
  93. SIZE 12 BY 1.
  94. DEFINE BUTTON Btn_Loeschen
  95. LABEL "&Löschen"
  96. SIZE 12 BY 1.
  97. DEFINE VARIABLE CB_Art AS CHARACTER FORMAT "X(256)":U
  98. LABEL "Preisart"
  99. VIEW-AS COMBO-BOX INNER-LINES 5
  100. LIST-ITEM-PAIRS "Prozent","P",
  101. "Betrag","B"
  102. DROP-DOWN-LIST
  103. SIZE 16 BY 1
  104. BGCOLOR 15 NO-UNDO.
  105. DEFINE VARIABLE F_Artnr AS INTEGER FORMAT "999999":U INITIAL 0
  106. LABEL "zu Artikel"
  107. VIEW-AS FILL-IN NATIVE
  108. SIZE 11 BY 1 TOOLTIP "Kopieren mit <RETURN>-Taste"
  109. BGCOLOR 15 NO-UNDO.
  110. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
  111. LABEL "bis Datum"
  112. VIEW-AS FILL-IN NATIVE
  113. SIZE 15 BY 1
  114. BGCOLOR 15 NO-UNDO.
  115. DEFINE VARIABLE F_Inhalt AS INTEGER FORMAT "9999":U INITIAL 0
  116. LABEL "/"
  117. VIEW-AS FILL-IN NATIVE
  118. SIZE 8 BY 1 TOOLTIP "Kopieren mit <RETURN>-Taste"
  119. BGCOLOR 15 NO-UNDO.
  120. DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999":U INITIAL 0
  121. LABEL "/"
  122. VIEW-AS FILL-IN NATIVE
  123. SIZE 8 BY 1 TOOLTIP "Kopieren mit <RETURN>-Taste"
  124. BGCOLOR 15 NO-UNDO.
  125. DEFINE VARIABLE F_Knr AS CHARACTER FORMAT "x(20)":U
  126. LABEL "Kunde"
  127. VIEW-AS FILL-IN NATIVE
  128. SIZE 15 BY 1
  129. BGCOLOR 15 NO-UNDO.
  130. DEFINE VARIABLE F_Wert AS DECIMAL FORMAT "zzzz9.9999-":U INITIAL 0
  131. LABEL "Wert"
  132. VIEW-AS FILL-IN NATIVE
  133. SIZE 17 BY 1
  134. BGCOLOR 11 NO-UNDO.
  135. DEFINE RECTANGLE RECT-1
  136. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  137. SIZE 150 BY 4.81.
  138. DEFINE RECTANGLE RECT-2
  139. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  140. SIZE 150 BY 2.48.
  141. /* ************************ Frame Definitions *********************** */
  142. DEFINE FRAME F-Main
  143. F_Knr AT ROW 1.52 COL 9 COLON-ALIGNED WIDGET-ID 22
  144. RowObject.Menge AT ROW 2.52 COL 24 COLON-ALIGNED WIDGET-ID 30
  145. LABEL "ab Menge" FORMAT "zzz,zz9"
  146. VIEW-AS FILL-IN NATIVE
  147. SIZE 12 BY 1
  148. BGCOLOR 15
  149. RowObject.Ab_Datum AT ROW 3.52 COL 24 COLON-ALIGNED WIDGET-ID 16
  150. LABEL "gültig ab/bis" FORMAT "99.99.9999"
  151. VIEW-AS FILL-IN NATIVE
  152. SIZE 16 BY 1
  153. BGCOLOR 15
  154. RowObject.Bis_Datum AT ROW 3.52 COL 48 COLON-ALIGNED WIDGET-ID 18
  155. LABEL "/" FORMAT "99.99.9999"
  156. VIEW-AS FILL-IN NATIVE
  157. SIZE 16 BY 1
  158. BGCOLOR 15
  159. RowObject.Kunde AT ROW 1.52 COL 24 COLON-ALIGNED NO-LABEL WIDGET-ID 26 FORMAT "x(60)"
  160. VIEW-AS FILL-IN NATIVE
  161. SIZE 80 BY 1
  162. BGCOLOR 15 NO-TAB-STOP
  163. CB_Art AT ROW 4.52 COL 24 COLON-ALIGNED WIDGET-ID 20
  164. RowObject.Wert AT ROW 4.52 COL 48 COLON-ALIGNED WIDGET-ID 34
  165. LABEL "Wert" FORMAT "zzz9.9999-"
  166. VIEW-AS FILL-IN NATIVE
  167. SIZE 16 BY 1
  168. BGCOLOR 15
  169. RowObject.VP_Normal AT ROW 1.52 COL 123 COLON-ALIGNED WIDGET-ID 32
  170. LABEL "aktueller VP"
  171. VIEW-AS FILL-IN NATIVE
  172. SIZE 18 BY 1
  173. BGCOLOR 14 NO-TAB-STOP
  174. F_Wert AT ROW 4.52 COL 83.4 COLON-ALIGNED WIDGET-ID 24
  175. Btn_Kopieren AT ROW 7.14 COL 4.6 WIDGET-ID 42
  176. F_Artnr AT ROW 7.14 COL 26 COLON-ALIGNED WIDGET-ID 46
  177. RowObject.Proz_Betr AT ROW 4 COL 100 WIDGET-ID 12
  178. LABEL "Proz_Betr"
  179. VIEW-AS TOGGLE-BOX
  180. SIZE 4 BY 1 NO-TAB-STOP
  181. F_Inhalt AT ROW 7.14 COL 40 COLON-ALIGNED WIDGET-ID 50
  182. F_Jahr AT ROW 7.14 COL 51 COLON-ALIGNED WIDGET-ID 52
  183. RowObject.Inhalt AT ROW 4 COL 98 COLON-ALIGNED WIDGET-ID 6
  184. VIEW-AS FILL-IN NATIVE
  185. SIZE 4 BY 1
  186. BGCOLOR 15 NO-TAB-STOP
  187. Btn_Loeschen AT ROW 7.14 COL 65.4 WIDGET-ID 44
  188. F_Datum AT ROW 7.14 COL 88 COLON-ALIGNED WIDGET-ID 48
  189. RowObject.Artnr AT ROW 4 COL 98 COLON-ALIGNED WIDGET-ID 2
  190. VIEW-AS FILL-IN NATIVE
  191. SIZE 4 BY 1
  192. BGCOLOR 15 NO-TAB-STOP
  193. Btn_Excel AT ROW 6.76 COL 115.6 WIDGET-ID 40
  194. RowObject.Firma AT ROW 4 COL 98 COLON-ALIGNED WIDGET-ID 4
  195. VIEW-AS FILL-IN NATIVE
  196. SIZE 4 BY 1
  197. BGCOLOR 15 NO-TAB-STOP
  198. RowObject.PreisMut AT ROW 4 COL 98 COLON-ALIGNED WIDGET-ID 10
  199. VIEW-AS FILL-IN NATIVE
  200. SIZE 4 BY 1
  201. BGCOLOR 15 NO-TAB-STOP
  202. RowObject.Jahr AT ROW 4 COL 98 COLON-ALIGNED WIDGET-ID 8
  203. VIEW-AS FILL-IN NATIVE
  204. SIZE 4 BY 1
  205. BGCOLOR 15 NO-TAB-STOP
  206. RowObject.Knr AT ROW 4 COL 100 COLON-ALIGNED WIDGET-ID 14
  207. VIEW-AS FILL-IN NATIVE
  208. SIZE 4 BY 1
  209. BGCOLOR 15 NO-TAB-STOP
  210. RowObject.Marge AT ROW 4.52 COL 123 COLON-ALIGNED WIDGET-ID 28
  211. LABEL "Marge" FORMAT "zzzz9.9999-"
  212. VIEW-AS FILL-IN NATIVE
  213. SIZE 18 BY 1
  214. BGCOLOR 14 NO-TAB-STOP
  215. RowObject.AltPreis AT ROW 2.52 COL 123 COLON-ALIGNED WIDGET-ID 54
  216. LABEL "alter VP"
  217. VIEW-AS FILL-IN NATIVE
  218. SIZE 18 BY 1
  219. BGCOLOR 14 NO-TAB-STOP
  220. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 36
  221. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  222. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  223. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  224. /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */
  225. DEFINE FRAME F-Main
  226. RECT-2 AT ROW 6.43 COL 2 WIDGET-ID 38
  227. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  228. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  229. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  230. /* *********************** Procedure Settings ************************ */
  231. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  232. /* Settings for THIS-PROCEDURE
  233. Type: SmartDataViewer
  234. Data Source: "d-spezprei.w"
  235. Allow: Basic,DB-Fields,Smart
  236. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  237. Frames: 1
  238. Add Fields to: Neither
  239. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER
  240. Temp-Tables and Buffers:
  241. TABLE: RowObject D "?" NO-UNDO
  242. ADDITIONAL-FIELDS:
  243. {d-spezprei.i}
  244. END-FIELDS.
  245. END-TABLES.
  246. */
  247. /* This procedure should always be RUN PERSISTENT. Report the error, */
  248. /* then cleanup and return. */
  249. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  250. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  251. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  252. RETURN.
  253. END.
  254. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  255. /* ************************* Create Window ************************** */
  256. &ANALYZE-SUSPEND _CREATE-WINDOW
  257. /* DESIGN Window definition (used by the UIB)
  258. CREATE WINDOW vTableWin ASSIGN
  259. HEIGHT = 8.67
  260. WIDTH = 152.
  261. /* END WINDOW DEFINITION */
  262. */
  263. &ANALYZE-RESUME
  264. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  265. /* ************************* Included-Libraries *********************** */
  266. {src/adm2/viewer.i}
  267. /* _UIB-CODE-BLOCK-END */
  268. &ANALYZE-RESUME
  269. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  270. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  271. /* SETTINGS FOR WINDOW vTableWin
  272. VISIBLE,,RUN-PERSISTENT */
  273. /* SETTINGS FOR FRAME F-Main
  274. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  275. ASSIGN
  276. FRAME F-Main:SCROLLABLE = FALSE
  277. FRAME F-Main:HIDDEN = TRUE
  278. FRAME F-Main:POPUP-MENU = MENU POPUP-MENU-F-Main:HANDLE.
  279. /* SETTINGS FOR FILL-IN RowObject.Ab_Datum IN FRAME F-Main
  280. EXP-LABEL EXP-FORMAT */
  281. /* SETTINGS FOR FILL-IN RowObject.AltPreis IN FRAME F-Main
  282. EXP-LABEL */
  283. ASSIGN
  284. RowObject.AltPreis:READ-ONLY IN FRAME F-Main = TRUE.
  285. /* SETTINGS FOR FILL-IN RowObject.Artnr IN FRAME F-Main
  286. NO-ENABLE */
  287. ASSIGN
  288. RowObject.Artnr:HIDDEN IN FRAME F-Main = TRUE
  289. RowObject.Artnr:READ-ONLY IN FRAME F-Main = TRUE.
  290. /* SETTINGS FOR FILL-IN RowObject.Bis_Datum IN FRAME F-Main
  291. EXP-LABEL EXP-FORMAT */
  292. /* SETTINGS FOR BUTTON Btn_Excel IN FRAME F-Main
  293. 5 */
  294. /* SETTINGS FOR BUTTON Btn_Kopieren IN FRAME F-Main
  295. 5 */
  296. /* SETTINGS FOR BUTTON Btn_Loeschen IN FRAME F-Main
  297. 5 */
  298. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main
  299. NO-ENABLE */
  300. ASSIGN
  301. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE
  302. RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE.
  303. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME F-Main
  304. NO-ENABLE 6 */
  305. ASSIGN
  306. F_Artnr:READ-ONLY IN FRAME F-Main = TRUE.
  307. /* SETTINGS FOR FILL-IN F_Datum IN FRAME F-Main
  308. NO-ENABLE 6 */
  309. ASSIGN
  310. F_Datum:READ-ONLY IN FRAME F-Main = TRUE.
  311. /* SETTINGS FOR FILL-IN F_Inhalt IN FRAME F-Main
  312. NO-ENABLE 6 */
  313. ASSIGN
  314. F_Inhalt:READ-ONLY IN FRAME F-Main = TRUE.
  315. /* SETTINGS FOR FILL-IN F_Jahr IN FRAME F-Main
  316. NO-ENABLE 6 */
  317. ASSIGN
  318. F_Jahr:READ-ONLY IN FRAME F-Main = TRUE.
  319. /* SETTINGS FOR FILL-IN F_Wert IN FRAME F-Main
  320. NO-DISPLAY */
  321. /* SETTINGS FOR FILL-IN RowObject.Inhalt IN FRAME F-Main
  322. NO-ENABLE */
  323. ASSIGN
  324. RowObject.Inhalt:HIDDEN IN FRAME F-Main = TRUE
  325. RowObject.Inhalt:READ-ONLY IN FRAME F-Main = TRUE.
  326. /* SETTINGS FOR FILL-IN RowObject.Jahr IN FRAME F-Main
  327. NO-ENABLE */
  328. ASSIGN
  329. RowObject.Jahr:HIDDEN IN FRAME F-Main = TRUE
  330. RowObject.Jahr:READ-ONLY IN FRAME F-Main = TRUE.
  331. /* SETTINGS FOR FILL-IN RowObject.Knr IN FRAME F-Main
  332. NO-ENABLE */
  333. ASSIGN
  334. RowObject.Knr:HIDDEN IN FRAME F-Main = TRUE
  335. RowObject.Knr:READ-ONLY IN FRAME F-Main = TRUE.
  336. /* SETTINGS FOR FILL-IN RowObject.Kunde IN FRAME F-Main
  337. EXP-LABEL EXP-FORMAT */
  338. ASSIGN
  339. RowObject.Kunde:READ-ONLY IN FRAME F-Main = TRUE.
  340. /* SETTINGS FOR FILL-IN RowObject.Marge IN FRAME F-Main
  341. EXP-LABEL EXP-FORMAT */
  342. ASSIGN
  343. RowObject.Marge:READ-ONLY IN FRAME F-Main = TRUE.
  344. /* SETTINGS FOR FILL-IN RowObject.Menge IN FRAME F-Main
  345. EXP-LABEL EXP-FORMAT */
  346. /* SETTINGS FOR FILL-IN RowObject.PreisMut IN FRAME F-Main
  347. NO-ENABLE */
  348. ASSIGN
  349. RowObject.PreisMut:HIDDEN IN FRAME F-Main = TRUE
  350. RowObject.PreisMut:READ-ONLY IN FRAME F-Main = TRUE.
  351. /* SETTINGS FOR TOGGLE-BOX RowObject.Proz_Betr IN FRAME F-Main
  352. NO-ENABLE EXP-LABEL */
  353. ASSIGN
  354. RowObject.Proz_Betr:HIDDEN IN FRAME F-Main = TRUE.
  355. /* SETTINGS FOR FILL-IN RowObject.VP_Normal IN FRAME F-Main
  356. EXP-LABEL */
  357. ASSIGN
  358. RowObject.VP_Normal:READ-ONLY IN FRAME F-Main = TRUE.
  359. /* SETTINGS FOR FILL-IN RowObject.Wert IN FRAME F-Main
  360. EXP-LABEL EXP-FORMAT */
  361. /* _RUN-TIME-ATTRIBUTES-END */
  362. &ANALYZE-RESUME
  363. /* Setting information for Queries and Browse Widgets fields */
  364. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  365. /* Query rebuild information for FRAME F-Main
  366. _Options = "NO-LOCK"
  367. _Query is NOT OPENED
  368. */ /* FRAME F-Main */
  369. &ANALYZE-RESUME
  370. /* ************************ Control Triggers ************************ */
  371. &Scoped-define SELF-NAME Btn_Excel
  372. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel vTableWin
  373. ON CHOOSE OF Btn_Excel IN FRAME F-Main /* Excel */
  374. DO:
  375. DISABLE Btn_Excel WITH FRAME {&FRAME-NAME}.
  376. RUN REPORT.
  377. ENABLE Btn_Excel WITH FRAME {&FRAME-NAME}.
  378. END.
  379. /* _UIB-CODE-BLOCK-END */
  380. &ANALYZE-RESUME
  381. &Scoped-define SELF-NAME Btn_Kopieren
  382. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Kopieren vTableWin
  383. ON CHOOSE OF Btn_Kopieren IN FRAME F-Main /* Kopieren */
  384. DO:
  385. IF FMut THEN RETURN NO-APPLY.
  386. DO WITH FRAME {&FRAME-NAME}:
  387. IF INDEX(SELF:LABEL, 'eich') > 0 THEN RUN KOPIEREN.
  388. ELSE DO:
  389. RUN ENABLE_DISABLE ( INPUT TRUE ).
  390. Btn_Kopieren:LABEL = '&Speichern'.
  391. Btn_Loeschen:SENSITIVE = FALSE.
  392. Btn_Excel :SENSITIVE = FALSE.
  393. F_Datum :SENSITIVE = FALSE.
  394. F_Datum :TAB-STOP = FALSE.
  395. APPLY 'ENTRY' TO F_Artnr.
  396. RETURN NO-APPLY.
  397. END.
  398. END.
  399. END.
  400. /* _UIB-CODE-BLOCK-END */
  401. &ANALYZE-RESUME
  402. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Kopieren vTableWin
  403. ON END-ERROR OF Btn_Kopieren IN FRAME F-Main /* Kopieren */
  404. DO:
  405. IF INDEX(SELF:LABEL, 'eic') > 0 THEN DO:
  406. SELF:LABEL = 'Ko&pieren'.
  407. RUN ENABLE_DISABLE ( TRUE ).
  408. APPLY 'U1'.
  409. RETURN NO-APPLY.
  410. END.
  411. ELSE DO:
  412. APPLY 'U1'.
  413. RETURN NO-APPLY.
  414. END.
  415. END.
  416. /* _UIB-CODE-BLOCK-END */
  417. &ANALYZE-RESUME
  418. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Kopieren vTableWin
  419. ON ENDKEY OF Btn_Kopieren IN FRAME F-Main /* Kopieren */
  420. DO:
  421. IF INDEX(SELF:LABEL, 'eic') > 0 THEN DO:
  422. SELF:LABEL = 'Ko&pieren'.
  423. RUN ENABLE_DISABLE ( TRUE ).
  424. APPLY 'U1'.
  425. RETURN NO-APPLY.
  426. END.
  427. ELSE DO:
  428. APPLY 'U1'.
  429. RETURN NO-APPLY.
  430. END.
  431. END.
  432. /* _UIB-CODE-BLOCK-END */
  433. &ANALYZE-RESUME
  434. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Kopieren vTableWin
  435. ON RETURN OF Btn_Kopieren IN FRAME F-Main /* Kopieren */
  436. DO:
  437. IF FMut THEN RETURN NO-APPLY.
  438. DO WITH FRAME {&FRAME-NAME}:
  439. IF INDEX(SELF:LABEL, 'eich') > 0 THEN RUN KOPIEREN.
  440. ELSE DO:
  441. RUN ENABLE_DISABLE ( INPUT TRUE ).
  442. Btn_Kopieren:LABEL = '&Speichern'.
  443. Btn_Loeschen:SENSITIVE = FALSE.
  444. Btn_Excel :SENSITIVE = FALSE.
  445. F_Datum :SENSITIVE = FALSE.
  446. F_Datum :TAB-STOP = FALSE.
  447. APPLY 'ENTRY' TO F_Artnr.
  448. RETURN NO-APPLY.
  449. END.
  450. END.
  451. END.
  452. /* _UIB-CODE-BLOCK-END */
  453. &ANALYZE-RESUME
  454. &Scoped-define SELF-NAME Btn_Loeschen
  455. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Loeschen vTableWin
  456. ON CHOOSE OF Btn_Loeschen IN FRAME F-Main /* Löschen */
  457. DO:
  458. IF FMut THEN RETURN NO-APPLY.
  459. DO WITH FRAME {&FRAME-NAME}:
  460. SELF:SENSITIVE = FALSE.
  461. F_Datum:SENSITIVE = TRUE.
  462. F_Datum:TAB-STOP = TRUE.
  463. APPLY 'ENTRY' TO F_Datum.
  464. RETURN NO-APPLY.
  465. END.
  466. END.
  467. /* _UIB-CODE-BLOCK-END */
  468. &ANALYZE-RESUME
  469. &Scoped-define SELF-NAME CB_Art
  470. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Art vTableWin
  471. ON VALUE-CHANGED OF CB_Art IN FRAME F-Main /* Preisart */
  472. DO:
  473. DO WITH FRAME {&FRAME-NAME}:
  474. IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.Proz_Betr:SCREEN-VALUE.
  475. rowObject.Proz_Betr:SCREEN-VALUE = SELF:SCREEN-VALUE.
  476. rowObject.Proz_Betr:MODIFIED = TRUE.
  477. IF CB_Art:SCREEN-VALUE = 'P' THEN F_Wert:LABEL = 'Preis'.
  478. ELSE F_Wert:LABEL = 'Prozent'.
  479. END.
  480. END.
  481. /* _UIB-CODE-BLOCK-END */
  482. &ANALYZE-RESUME
  483. &Scoped-define SELF-NAME F_Artnr
  484. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr vTableWin
  485. ON END-ERROR OF F_Artnr IN FRAME F-Main /* zu Artikel */
  486. DO:
  487. DO WITH FRAME {&FRAME-NAME}:
  488. SELF:SCREEN-VALUE = '0'.
  489. RUN ENABLE_DISABLE ( INPUT FALSE ).
  490. APPLY 'U1'.
  491. RETURN NO-APPLY.
  492. END.
  493. END.
  494. /* _UIB-CODE-BLOCK-END */
  495. &ANALYZE-RESUME
  496. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr vTableWin
  497. ON LEAVE OF F_Artnr IN FRAME F-Main /* zu Artikel */
  498. DO:
  499. IF INTEGER(SELF:SCREEN-VALUE) = 0 THEN RETURN.
  500. FIND FIRST Artst USE-INDEX Artst-k1
  501. WHERE Artst.Firma = Firma
  502. AND Artst.Artnr = INTEGER(SELF:SCREEN-VALUE)
  503. NO-LOCK NO-ERROR.
  504. IF NOT AVAILABLE Artst THEN DO:
  505. RUN FEHLER ( INPUT 1042 ) NO-ERROR.
  506. APPLY 'ENTRY' TO SELF.
  507. RETURN NO-APPLY.
  508. END.
  509. END.
  510. /* _UIB-CODE-BLOCK-END */
  511. &ANALYZE-RESUME
  512. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr vTableWin
  513. ON RETURN OF F_Artnr IN FRAME F-Main /* zu Artikel */
  514. DO:
  515. APPLY 'TAB' TO SELF.
  516. RETURN NO-APPLY.
  517. END.
  518. /* _UIB-CODE-BLOCK-END */
  519. &ANALYZE-RESUME
  520. &Scoped-define SELF-NAME F_Datum
  521. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum vTableWin
  522. ON END-ERROR OF F_Datum IN FRAME F-Main /* bis Datum */
  523. DO:
  524. DO WITH FRAME {&FRAME-NAME}:
  525. SELF:SCREEN-VALUE = ''.
  526. SELF:SENSITIVE = FALSE.
  527. SELF:TAB-STOP = FALSE.
  528. ENABLE {&list-5}.
  529. APPLY 'U1'.
  530. RETURN NO-APPLY.
  531. END.
  532. END.
  533. /* _UIB-CODE-BLOCK-END */
  534. &ANALYZE-RESUME
  535. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum vTableWin
  536. ON LEAVE OF F_Datum IN FRAME F-Main /* bis Datum */
  537. DO:
  538. RUN LOESCHEN.
  539. RETURN NO-APPLY.
  540. END.
  541. /* _UIB-CODE-BLOCK-END */
  542. &ANALYZE-RESUME
  543. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum vTableWin
  544. ON RETURN OF F_Datum IN FRAME F-Main /* bis Datum */
  545. DO:
  546. APPLY 'TAB' TO SELF.
  547. RETURN NO-APPLY.
  548. END.
  549. /* _UIB-CODE-BLOCK-END */
  550. &ANALYZE-RESUME
  551. &Scoped-define SELF-NAME F_Inhalt
  552. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt vTableWin
  553. ON END-ERROR OF F_Inhalt IN FRAME F-Main /* / */
  554. DO:
  555. DO WITH FRAME {&FRAME-NAME}:
  556. SELF:SCREEN-VALUE = '0'.
  557. RUN ENABLE_DISABLE ( INPUT FALSE ).
  558. APPLY 'U1'.
  559. RETURN NO-APPLY.
  560. END.
  561. END.
  562. /* _UIB-CODE-BLOCK-END */
  563. &ANALYZE-RESUME
  564. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt vTableWin
  565. ON LEAVE OF F_Inhalt IN FRAME F-Main /* / */
  566. DO:
  567. DEF VAR iArtnr AS INT NO-UNDO.
  568. DEF VAR iInhalt AS INT NO-UNDO.
  569. iArtnr = INTEGER(F_Artnr :SCREEN-VALUE).
  570. iInhalt = INTEGER(F_Inhalt:SCREEN-VALUE).
  571. IF iArtnr = 0 THEN RETURN.
  572. FIND FIRST Artst USE-INDEX Artst-k1
  573. WHERE Artst.Firma = Firma
  574. AND Artst.Artnr = iArtnr
  575. AND Artst.Inhalt = iInhalt NO-LOCK NO-ERROR.
  576. IF NOT AVAILABLE Artst THEN DO:
  577. RUN FEHLER ( INPUT 1042 ) NO-ERROR.
  578. APPLY 'ENTRY' TO SELF.
  579. RETURN NO-APPLY.
  580. END.
  581. END.
  582. /* _UIB-CODE-BLOCK-END */
  583. &ANALYZE-RESUME
  584. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt vTableWin
  585. ON RETURN OF F_Inhalt IN FRAME F-Main /* / */
  586. DO:
  587. APPLY 'TAB' TO SELF.
  588. RETURN NO-APPLY.
  589. END.
  590. /* _UIB-CODE-BLOCK-END */
  591. &ANALYZE-RESUME
  592. &Scoped-define SELF-NAME F_Jahr
  593. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr vTableWin
  594. ON END-ERROR OF F_Jahr IN FRAME F-Main /* / */
  595. DO:
  596. DO WITH FRAME {&FRAME-NAME}:
  597. SELF:SCREEN-VALUE = '0'.
  598. RUN ENABLE_DISABLE ( INPUT FALSE ).
  599. APPLY 'U1'.
  600. RETURN NO-APPLY.
  601. END.
  602. END.
  603. /* _UIB-CODE-BLOCK-END */
  604. &ANALYZE-RESUME
  605. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr vTableWin
  606. ON LEAVE OF F_Jahr IN FRAME F-Main /* / */
  607. DO:
  608. DEF VAR iArtnr AS INT NO-UNDO.
  609. DEF VAR iInhalt AS INT NO-UNDO.
  610. DEF VAR iJahr AS INT NO-UNDO.
  611. DEF VAR cString AS CHAR NO-UNDO.
  612. iArtnr = INTEGER(F_Artnr :SCREEN-VALUE).
  613. iInhalt = INTEGER(F_Inhalt:SCREEN-VALUE).
  614. iJahr = INTEGER(F_Jahr :SCREEN-VALUE).
  615. IF iArtnr = 0 THEN RETURN NO-APPLY.
  616. FIND FIRST Artst NO-LOCK USE-INDEX Artst-k1
  617. WHERE Artst.Firma = Firma
  618. AND Artst.Artnr = iArtnr
  619. AND Artst.Inhalt = iInhalt
  620. AND Artst.Jahr = iJahr NO-ERROR.
  621. IF NOT AVAILABLE Artst THEN DO:
  622. RUN FEHLER ( INPUT 1042 ) NO-ERROR.
  623. APPLY 'ENTRY' TO SELF.
  624. RETURN NO-APPLY.
  625. END.
  626. cString = SUBSTITUTE('kopieren zu Artikel &1.&2.&3 &4 &5 &6 mit Speichern bestätigen!',
  627. Artst.Artnr, Artst.Inhalt, Artst.Jahr, Artst.Bez, Artst.VGeb_Cd, Artst.KGeb_Cd).
  628. MESSAGE cString
  629. VIEW-AS ALERT-BOX INFORMATION.
  630. APPLY 'ENTRY' TO Btn_Kopieren.
  631. RETURN NO-APPLY.
  632. END.
  633. /* _UIB-CODE-BLOCK-END */
  634. &ANALYZE-RESUME
  635. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr vTableWin
  636. ON RETURN OF F_Jahr IN FRAME F-Main /* / */
  637. DO:
  638. APPLY 'TAB' TO SELF.
  639. RETURN NO-APPLY.
  640. END.
  641. /* _UIB-CODE-BLOCK-END */
  642. &ANALYZE-RESUME
  643. &Scoped-define SELF-NAME m_lschen_Spezialpreise_von_in
  644. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_lschen_Spezialpreise_von_in vTableWin
  645. ON CHOOSE OF MENU-ITEM m_lschen_Spezialpreise_von_in /* löschen Spezialpreise von inaktiven Artikeln */
  646. DO:
  647. IF FMut THEN RETURN NO-APPLY.
  648. RUN LOESCHEN_INAKT.
  649. APPLY 'U1'.
  650. RETURN NO-APPLY.
  651. END.
  652. /* _UIB-CODE-BLOCK-END */
  653. &ANALYZE-RESUME
  654. &UNDEFINE SELF-NAME
  655. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  656. /* *************************** Main Block *************************** */
  657. { incl/viwmainblock.i }
  658. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  659. RUN initializeObject.
  660. &ENDIF
  661. /************************ INTERNAL PROCEDURES ********************/
  662. /* _UIB-CODE-BLOCK-END */
  663. &ANALYZE-RESUME
  664. /* ********************** Internal Procedures *********************** */
  665. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  666. PROCEDURE addRecord :
  667. /*------------------------------------------------------------------------------
  668. Purpose: Super Override
  669. Parameters:
  670. Notes:
  671. ------------------------------------------------------------------------------*/
  672. DO WITH FRAME {&FRAME-NAME}:
  673. RUN ENABLE_DISABLE ( INPUT FALSE ).
  674. END.
  675. cArtikel = DYNAMIC-FUNCTION('getArtikel':U) NO-ERROR.
  676. IF cArtikel = '' OR
  677. cArtikel = ? THEN DO:
  678. DYNAMIC-FUNCTION('setFlagAbbruch':U, TRUE, ProgName) NO-ERROR.
  679. RETURN NO-APPLY.
  680. END.
  681. nArtnr = INTEGER(ENTRY(2, cArtikel, CHR(01))).
  682. nInhalt = INTEGER(ENTRY(3, cArtikel, CHR(01))).
  683. nJahr = INTEGER(ENTRY(4, cArtikel, CHR(01))).
  684. FNeu = TRUE.
  685. FMut = TRUE.
  686. FDisp = TRUE.
  687. RUN SUPER.
  688. /* Code placed here will execute AFTER standard behavior. */
  689. END PROCEDURE.
  690. /* _UIB-CODE-BLOCK-END */
  691. &ANALYZE-RESUME
  692. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BERECHNEN vTableWin
  693. PROCEDURE BERECHNEN :
  694. /*------------------------------------------------------------------------------
  695. Purpose:
  696. Parameters: <none>
  697. Notes:
  698. ------------------------------------------------------------------------------*/
  699. DEF VAR lInkl AS LOG NO-UNDO.
  700. DEF VAR PreisGrp AS INT NO-UNDO.
  701. DEF VAR FwPreisGrp AS INT NO-UNDO.
  702. DEF VAR Marge AS DEC DECIMALS 4 NO-UNDO.
  703. DEF VAR VK_Netto AS DEC DECIMALS 4 NO-UNDO.
  704. DEF VAR VK_Spez AS DEC DECIMALS 4 NO-UNDO.
  705. DEF VAR Ansatz AS DEC DECIMALS 4 NO-UNDO.
  706. DEF VAR Wert AS DEC DECIMALS 4 NO-UNDO.
  707. FwPreisGrp = DYNAMIC-FUNCTION('GETFWPREISGRP':U) NO-ERROR.
  708. DO WITH FRAME {&FRAME-NAME}:
  709. nKnr = INTEGER(F_Knr:SCREEN-VALUE ).
  710. nArtnr = INTEGER(rowObject.Artnr:SCREEN-VALUE ).
  711. nInhalt = INTEGER(rowObject.Inhalt:SCREEN-VALUE).
  712. nJahr = INTEGER(rowObject.Jahr:SCREEN-VALUE ).
  713. Wert = DECIMAL(rowObject.Wert:SCREEN-VALUE ).
  714. END.
  715. FIND Artst NO-LOCK USE-INDEX Artst-k1
  716. WHERE Artst.Firma = Firma
  717. AND Artst.Artnr = nArtnr
  718. AND Artst.Inhalt = nInhalt
  719. AND Artst.Jahr = nJahr NO-ERROR.
  720. FIND Debst NO-LOCK USE-INDEX Debst-k1
  721. WHERE Debst.Firma = Firma
  722. AND Debst.Knr = nKnr NO-ERROR.
  723. PreisGrp = Debst.Preis_Grp.
  724. FIND Wust NO-LOCK USE-INDEX Wust-k1
  725. WHERE Wust.CodeK = Debst.MWST
  726. AND Wust.CodeA = 99 NO-ERROR.
  727. lInkl = Wust.Incl.
  728. FIND AbwPrGrp NO-LOCK USE-INDEX AbwPrGrp-k1
  729. WHERE AbwPrGrp.Firma = Firma
  730. AND AbwPrGrp.Knr = SpezPrei.Knr
  731. AND AbwPrGrp.Wg_Grp = Artst.Wg_Grp NO-ERROR.
  732. IF AVAILABLE AbwPrGrp THEN PreisGrp = AbwPrGrp.Preis_Grp.
  733. FIND LAST ArtPreis NO-LOCK USE-INDEX ArtPreis-k1
  734. WHERE ArtPreis.Firma = Firma
  735. AND ArtPreis.Artnr = nArtnr
  736. AND ArtPreis.Inhalt = nInhalt
  737. AND ArtPreis.Jahr = nJahr
  738. AND ArtPreis.Preis_Grp = PreisGrp
  739. AND ArtPreis.Ab_Datum <= TODAY
  740. AND ArtPreis.Aktion = FALSE
  741. AND ArtPreis.Aktiv = TRUE NO-ERROR.
  742. IF NOT AVAILABLE ArtPreis THEN DO:
  743. FIND LAST ArtPreis NO-LOCK USE-INDEX ArtPreis-k1
  744. WHERE ArtPreis.Firma = Firma
  745. AND ArtPreis.Artnr = nArtnr
  746. AND ArtPreis.Inhalt = nInhalt
  747. AND ArtPreis.Jahr = nJahr
  748. AND ArtPreis.Preis_Grp = Debst.Preis_Grp
  749. AND ArtPreis.Ab_Datum <= TODAY
  750. AND ArtPreis.Aktion = FALSE
  751. AND ArtPreis.Aktiv = TRUE NO-ERROR.
  752. END.
  753. IF NOT AVAILABLE ArtPreis THEN DO:
  754. FIND LAST ArtPreis NO-LOCK USE-INDEX ArtPreis-k1
  755. WHERE ArtPreis.Firma = Firma
  756. AND ArtPreis.Artnr = nArtnr
  757. AND ArtPreis.Inhalt = nInhalt
  758. AND ArtPreis.Jahr = nJahr
  759. AND ArtPreis.Preis_Grp = FwPreisGrp
  760. AND ArtPreis.Ab_Datum <= TODAY
  761. AND ArtPreis.Aktion = FALSE
  762. AND ArtPreis.Aktiv = TRUE NO-ERROR.
  763. END.
  764. DO WITH FRAME {&FRAME-NAME}:
  765. Ansatz = ArtPreis.VK_Brutto * 100 / ArtPreis.VK_Netto.
  766. IF lInkl THEN rowObject.VP_Norm:SCREEN-VALUE = STRING(ArtPreis.VK_Brutto).
  767. ELSE rowObject.VP_Norm:SCREEN-VALUE = STRING(ArtPreis.VK_Netto).
  768. VK_Netto = DECIMAL(rowObject.VP_Norm:SCREEN-VALUE).
  769. IF CB_Art:SCREEN-VALUE = 'P' THEN VK_Spez = VK_Netto * (100 - Wert) / 100.
  770. ELSE VK_Spez = Wert.
  771. IF lInkl THEN VK_Spez = VK_Spez / Ansatz * 100.
  772. IF Artst.Listen_EP = 0 THEN Marge = 0.
  773. ELSE Marge = 100 - (Artst.Listen_EP * 100 / VK_Spez).
  774. rowObject.Marge:SCREEN-VALUE = STRING(Marge).
  775. END.
  776. END PROCEDURE.
  777. /* _UIB-CODE-BLOCK-END */
  778. &ANALYZE-RESUME
  779. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  780. PROCEDURE cancelRecord :
  781. /*------------------------------------------------------------------------------
  782. Purpose: Super Override
  783. Parameters:
  784. Notes:
  785. ------------------------------------------------------------------------------*/
  786. FCancel = TRUE.
  787. DO WITH FRAME {&FRAME-NAME}:
  788. RUN ENABLE_DISABLE ( INPUT TRUE ).
  789. END.
  790. RUN SUPER.
  791. /* Code placed here will execute AFTER standard behavior. */
  792. END PROCEDURE.
  793. /* _UIB-CODE-BLOCK-END */
  794. &ANALYZE-RESUME
  795. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  796. PROCEDURE copyRecord :
  797. /*------------------------------------------------------------------------------
  798. Purpose: Super Override
  799. Parameters:
  800. Notes:
  801. ------------------------------------------------------------------------------*/
  802. DO WITH FRAME {&FRAME-NAME}:
  803. RUN ENABLE_DISABLE ( INPUT FALSE ).
  804. END.
  805. cArtikel = DYNAMIC-FUNCTION('getArtikel':U) NO-ERROR.
  806. IF cArtikel = '' OR
  807. cArtikel = ? THEN DO:
  808. DYNAMIC-FUNCTION('setFlagAbbruch':U, INPUT TRUE, Progname) NO-ERROR.
  809. RETURN NO-APPLY.
  810. END.
  811. nArtnr = INTEGER(ENTRY(2, cArtikel, CHR(01))).
  812. nInhalt = INTEGER(ENTRY(3, cArtikel, CHR(01))).
  813. nJahr = INTEGER(ENTRY(4, cArtikel, CHR(01))).
  814. FNeu = TRUE.
  815. FMut = TRUE.
  816. FCopy = TRUE.
  817. FDisp = TRUE.
  818. RUN SUPER.
  819. END PROCEDURE.
  820. /* _UIB-CODE-BLOCK-END */
  821. &ANALYZE-RESUME
  822. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  823. PROCEDURE deleteRecord :
  824. /*------------------------------------------------------------------------------
  825. Purpose: Super Override
  826. Parameters:
  827. Notes:
  828. ------------------------------------------------------------------------------*/
  829. DEF VAR Ja AS LOG NO-UNDO.
  830. Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ).
  831. IF NOT Ja THEN DO:
  832. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  833. RETURN NO-APPLY.
  834. END.
  835. RUN SUPER.
  836. /* Code placed here will execute AFTER standard behavior. */
  837. END PROCEDURE.
  838. /* _UIB-CODE-BLOCK-END */
  839. &ANALYZE-RESUME
  840. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  841. PROCEDURE disableFields :
  842. /*------------------------------------------------------------------------------
  843. Purpose: Super Override
  844. Parameters:
  845. Notes:
  846. ------------------------------------------------------------------------------*/
  847. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  848. DO WITH FRAME {&FRAME-NAME}:
  849. END.
  850. RUN SUPER( INPUT pcFieldType).
  851. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  852. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  853. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&Eingabe}' , INPUT TRUE ).
  854. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}' , INPUT FALSE ).
  855. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  856. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  857. END.
  858. DO WITH FRAME {&FRAME-NAME}:
  859. ENABLE {&List-5}.
  860. END.
  861. END PROCEDURE.
  862. /* _UIB-CODE-BLOCK-END */
  863. &ANALYZE-RESUME
  864. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  865. PROCEDURE disable_UI :
  866. /*------------------------------------------------------------------------------
  867. Purpose: DISABLE the User Interface
  868. Parameters: <none>
  869. Notes: Here we clean-up the user-interface by deleting
  870. dynamic widgets we have created and/or hide
  871. frames. This procedure is usually called when
  872. we are ready to "clean-up" after running.
  873. ------------------------------------------------------------------------------*/
  874. /* Hide all frames. */
  875. HIDE FRAME F-Main.
  876. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  877. END PROCEDURE.
  878. /* _UIB-CODE-BLOCK-END */
  879. &ANALYZE-RESUME
  880. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  881. PROCEDURE displayFields :
  882. /*------------------------------------------------------------------------------
  883. Purpose: Super Override
  884. Parameters:
  885. Notes:
  886. ------------------------------------------------------------------------------*/
  887. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  888. DEF VAR VP AS DEC DECIMALS 4 NO-UNDO.
  889. DEF VAR Wert AS DEC DECIMALS 4 NO-UNDO.
  890. DEF VAR Betrag AS DEC DECIMALS 4 NO-UNDO.
  891. IF NOT FDisp THEN DO:
  892. FDisp = TRUE.
  893. RETURN.
  894. END.
  895. IF FCancel THEN pcColValues = OldColValues.
  896. IF NOT FNeu THEN OldColValues = pcColValues.
  897. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  898. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  899. DO WITH FRAME {&FRAME-NAME}:
  900. END.
  901. RUN SUPER( INPUT pcColValues).
  902. FCancel = FALSE.
  903. DO WITH FRAME {&FRAME-NAME}:
  904. F_Knr:SCREEN-VALUE = rowObject.Knr:SCREEN-VALUE.
  905. CB_Art:SCREEN-VALUE = rowObject.Proz_Betr:SCREEN-VALUE NO-ERROR.
  906. VP = DECIMAL(rowObject.VP_Norm:SCREEN-VALUE).
  907. Wert = DECIMAL(rowObject.Wert:SCREEN-VALUE ).
  908. IF CB_Art:SCREEN-VALUE = 'P' THEN DO:
  909. F_Wert:LABEL = 'Preis'.
  910. Betrag = VP * (100 - Wert) / 100.
  911. F_Wert:SCREEN-VALUE = STRING(Betrag).
  912. END.
  913. ELSE DO:
  914. F_Wert:LABEL = 'Prozent'.
  915. Betrag = (100 - (Wert * 100 / VP)).
  916. F_Wert:SCREEN-VALUE = STRING(Betrag).
  917. END.
  918. END.
  919. END PROCEDURE.
  920. /* _UIB-CODE-BLOCK-END */
  921. &ANALYZE-RESUME
  922. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  923. PROCEDURE enableFields :
  924. /*------------------------------------------------------------------------------
  925. Purpose: Super Override
  926. Parameters:
  927. Notes:
  928. ------------------------------------------------------------------------------*/
  929. /* Code placed here will execute PRIOR to standard behavior. */
  930. /*
  931. RUN SUPER.
  932. */
  933. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  934. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}' , INPUT FALSE ).
  935. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&Eingabe}' , INPUT FALSE ).
  936. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}' , INPUT TRUE ).
  937. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO:
  938. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  939. END.
  940. DO WITH FRAME {&FRAME-NAME}:
  941. IF CB_Art:SCREEN-VALUE = 'P' THEN F_Wert:LABEL = 'Preis'.
  942. ELSE F_Wert:LABEL = 'Prozent'.
  943. DISABLE {&List-5}.
  944. END.
  945. IF FNeu THEN RETURN.
  946. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  947. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  948. END.
  949. END PROCEDURE.
  950. /* _UIB-CODE-BLOCK-END */
  951. &ANALYZE-RESUME
  952. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  953. PROCEDURE enableObject :
  954. /*------------------------------------------------------------------------------
  955. Purpose: Super Override
  956. Parameters:
  957. Notes:
  958. ------------------------------------------------------------------------------*/
  959. /* Code placed here will execute PRIOR to standard behavior. */
  960. RUN SUPER.
  961. { incl/viwenableobject.i }
  962. IF SAktiv THEN DO WITH FRAME {&FRAME-NAME}:
  963. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}' , INPUT TRUE ).
  964. END.
  965. RUN ENABLE_DISABLE ( TRUE ).
  966. END PROCEDURE.
  967. /* _UIB-CODE-BLOCK-END */
  968. &ANALYZE-RESUME
  969. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENABLE_DISABLE vTableWin
  970. PROCEDURE ENABLE_DISABLE :
  971. /*------------------------------------------------------------------------------
  972. Purpose:
  973. Parameters: <none>
  974. Notes:
  975. ------------------------------------------------------------------------------*/
  976. DEF INPUT PARAMETER ipArt AS LOG NO-UNDO.
  977. DO WITH FRAME {&FRAME-NAME}:
  978. CASE ipArt:
  979. WHEN FALSE THEN DO:
  980. Btn_Kopieren:SENSITIVE = TRUE.
  981. Btn_Loeschen:SENSITIVE = TRUE.
  982. Btn_Excel :SENSITIVE = TRUE.
  983. Btn_Kopieren:LABEL = 'Ko&pieren'.
  984. END.
  985. OTHERWISE DO:
  986. Btn_Kopieren:SENSITIVE = TRUE .
  987. Btn_Loeschen:SENSITIVE = FALSE.
  988. Btn_Excel :SENSITIVE = FALSE.
  989. Btn_Kopieren:LABEL = 'Ko&pieren'.
  990. END.
  991. END CASE.
  992. F_Artnr :SCREEN-VALUE = ''.
  993. F_Inhalt:SCREEN-VALUE = ''.
  994. F_Jahr :SCREEN-VALUE = ''.
  995. F_Datum :SCREEN-VALUE = ''.
  996. F_Artnr :SENSITIVE = ipArt.
  997. F_Artnr :READ-ONLY = NOT ipArt.
  998. F_Artnr :TAB-STOP = ipArt.
  999. F_Inhalt:SENSITIVE = ipArt.
  1000. F_Inhalt:READ-ONLY = NOT ipArt.
  1001. F_Inhalt:TAB-STOP = ipArt.
  1002. F_Jahr :SENSITIVE = ipArt.
  1003. F_Jahr :READ-ONLY = NOT ipArt.
  1004. F_Jahr :TAB-STOP = ipArt.
  1005. F_Datum :SENSITIVE = ipArt.
  1006. F_Datum :READ-ONLY = NOT ipArt.
  1007. F_Datum :TAB-STOP = ipArt.
  1008. END.
  1009. END PROCEDURE.
  1010. /* _UIB-CODE-BLOCK-END */
  1011. &ANALYZE-RESUME
  1012. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  1013. PROCEDURE ENTRY_FELD_TEST :
  1014. /*------------------------------------------------------------------------------
  1015. Purpose:
  1016. Parameters: <none>
  1017. Notes:
  1018. ------------------------------------------------------------------------------*/
  1019. DEF VAR nPreis AS DEC DECIMALS 4 NO-UNDO.
  1020. DEF VAR nWert AS DEC DECIMALS 4 NO-UNDO.
  1021. DEF VAR nBetrag AS DEC DECIMALS 4 NO-UNDO.
  1022. { incl/viwentryfeldtest.i }
  1023. DO WITH FRAME {&FRAME-NAME}:
  1024. CASE FeldName:
  1025. WHEN 'F_Wert' THEN DO:
  1026. nWert = DECIMAL(rowObject.Wert:SCREEN-VALUE).
  1027. IF nWert = 0 THEN RETURN ''.
  1028. nPreis = DECIMAL(rowObject.VP_Norm:SCREEN-VALUE).
  1029. IF CB_Art:SCREEN-VALUE = 'P' THEN DO:
  1030. nBetrag = nPreis * (100 - nWert) / 100.
  1031. ipHandle:SCREEN-VALUE = STRING(nBetrag).
  1032. END.
  1033. ELSE DO:
  1034. nBetrag = 100 - (nWert * 100 / nPreis).
  1035. ipHandle:SCREEN-VALUE = STRING(nBetrag).
  1036. END.
  1037. RUN BERECHNEN.
  1038. ipHandle:MODIFIED = FALSE.
  1039. END.
  1040. END CASE.
  1041. END.
  1042. RETURN ''.
  1043. END PROCEDURE.
  1044. /* _UIB-CODE-BLOCK-END */
  1045. &ANALYZE-RESUME
  1046. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  1047. PROCEDURE FEHLWERTE :
  1048. /*------------------------------------------------------------------------------
  1049. Purpose:
  1050. Parameters: <none>
  1051. Notes:
  1052. ------------------------------------------------------------------------------*/
  1053. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  1054. DEF VAR i1 AS INT NO-UNDO.
  1055. IF FCancel THEN RETURN.
  1056. IF NOT FCopy THEN DO WITH FRAME {&FRAME-NAME}:
  1057. i1 = LOOKUP('Firma', oldColList, ',') + 1.
  1058. ENTRY(i1, pcColValues, CHR(01)) = Firma NO-ERROR.
  1059. i1 = LOOKUP('Proz_Betr', oldColList, ',') + 1.
  1060. ENTRY(i1, pcColValues, CHR(01)) = STRING(FALSE,rowObject.Proz_Betr:FORMAT) NO-ERROR.
  1061. END.
  1062. IF FCopy THEN DO:
  1063. END.
  1064. END PROCEDURE.
  1065. /* _UIB-CODE-BLOCK-END */
  1066. &ANALYZE-RESUME
  1067. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FIND_DEBITOR vTableWin
  1068. PROCEDURE FIND_DEBITOR :
  1069. /*------------------------------------------------------------------------------
  1070. Purpose:
  1071. Parameters: <none>
  1072. Notes:
  1073. ------------------------------------------------------------------------------*/
  1074. DEF VAR iRecid AS RECID NO-UNDO.
  1075. DEF VAR cInput AS CHAR NO-UNDO.
  1076. DO WITH FRAME {&FRAME-NAME}:
  1077. cInput = 'DEB;' + TRIM(F_Knr:SCREEN-VALUE).
  1078. RUN 'g-suchen-adresse.w':U ( cInput, OUTPUT iRecid ).
  1079. IF iRecid = ? OR
  1080. iRecid = 0 THEN RETURN 'ERROR'.
  1081. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  1082. lLeave = FALSE.
  1083. iKnr = Adresse.Knr.
  1084. F_Knr:SCREEN-VALUE = STRING(Adresse.Knr,'999999').
  1085. rowObject.Knr:SCREEN-VALUE = STRING(Adresse.Knr,'999999').
  1086. rowObject.Kunde:SCREEN-VALUE = Adresse.Anzeig_Br.
  1087. RUN BERECHNEN.
  1088. APPLY 'ENTRY' TO rowObject.Menge.
  1089. lLeave = TRUE.
  1090. RETURN NO-APPLY ''.
  1091. END.
  1092. END PROCEDURE.
  1093. /* _UIB-CODE-BLOCK-END */
  1094. &ANALYZE-RESUME
  1095. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF vTableWin
  1096. PROCEDURE KOPF :
  1097. /*------------------------------------------------------------------------------
  1098. Purpose:
  1099. Parameters: <none>
  1100. Notes:
  1101. ------------------------------------------------------------------------------*/
  1102. DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
  1103. DEF VAR Zelle AS CHAR NO-UNDO.
  1104. FIND Steuer USE-INDEX Steuer-k1
  1105. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  1106. Zelle = 'Links1'.
  1107. eh:Range(Zelle):SELECT.
  1108. eh:SELECTION:VALUE = Steuer.Firma1.
  1109. Zelle = 'D1'.
  1110. eh:Range(Zelle):SELECT.
  1111. eh:SELECTION:VALUE = 'Alle Kunden dieses Artikel mit Spezpreis'.
  1112. Zelle = 'Rechts1'.
  1113. eh:Range(Zelle):SELECT.
  1114. eh:SELECTION:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
  1115. Zelle = 'Links2'.
  1116. eh:Range(Zelle):SELECT.
  1117. eh:SELECTION:VALUE = Steuer.Ort.
  1118. Zelle = 'D2'.
  1119. eh:Range(Zelle):SELECT.
  1120. eh:SELECTION:VALUE = ''.
  1121. Zelle = 'Rechts2'.
  1122. eh:Range(Zelle):SELECT.
  1123. eh:SELECTION:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  1124. END PROCEDURE.
  1125. /* _UIB-CODE-BLOCK-END */
  1126. &ANALYZE-RESUME
  1127. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPIEREN vTableWin
  1128. PROCEDURE KOPIEREN :
  1129. /*------------------------------------------------------------------------------
  1130. Purpose:
  1131. Parameters: <none>
  1132. Notes:
  1133. ------------------------------------------------------------------------------*/
  1134. DEF VAR Artnr AS INT NO-UNDO.
  1135. DEF VAR Inhalt AS INT NO-UNDO.
  1136. DEF VAR Jahr AS INT NO-UNDO.
  1137. DEF VAR iArtnr AS INT NO-UNDO.
  1138. DEF VAR iInhalt AS INT NO-UNDO.
  1139. DEF VAR iJahr AS INT NO-UNDO.
  1140. DO WITH FRAME {&FRAME-NAME}:
  1141. ASSIGN {&List-6}.
  1142. Artnr = INTEGER(rowObject.Artnr :SCREEN-VALUE).
  1143. Inhalt = INTEGER(rowObject.Inhalt:SCREEN-VALUE).
  1144. Jahr = INTEGER(rowObject.Jahr :SCREEN-VALUE).
  1145. FIND Artst NO-LOCK USE-INDEX Artst-k1
  1146. WHERE Artst.Firma = Firma
  1147. AND Artst.Artnr = F_Artnr
  1148. AND Artst.Inhalt = F_Inhalt
  1149. AND Artst.Jahr = F_Jahr NO-ERROR.
  1150. IF NOT AVAILABLE Artst THEN DO:
  1151. RUN FEHLER ( INPUT 1042 ) NO-ERROR.
  1152. APPLY 'ENTRY' TO F_Artnr.
  1153. RETURN NO-APPLY.
  1154. END.
  1155. IF Artnr = F_Artnr AND
  1156. Inhalt = F_Inhalt AND
  1157. Jahr = F_Jahr THEN DO:
  1158. MESSAGE 'Kopieren in den selben/gleichen Artikel nicht möglich!'
  1159. VIEW-AS ALERT-BOX ERROR.
  1160. APPLY 'ENTRY' TO F_Artnr.
  1161. RETURN NO-APPLY.
  1162. END.
  1163. EMPTY TEMP-TABLE TSpezPrei.
  1164. FOR EACH SpezPrei NO-LOCK USE-INDEX Spezprei-k2
  1165. WHERE SpezPrei.Firma = Firma
  1166. AND SpezPrei.Artnr = Artnr
  1167. AND SpezPrei.Inhalt = Inhalt
  1168. AND SpezPrei.Jahr = Jahr :
  1169. CREATE TSpezPrei.
  1170. BUFFER-COPY SpezPrei
  1171. EXCEPT Artnr Inhalt Jahr
  1172. TO TSpezPrei
  1173. ASSIGN TSpezPrei.Artnr = F_Artnr
  1174. TSpezPrei.Inhalt = F_Inhalt
  1175. TSpezPrei.Jahr = F_Jahr.
  1176. END.
  1177. REPEAT TRANSACTION:
  1178. FOR EACH TSpezPrei.
  1179. FIND SpezPrei OF TSpezPrei NO-ERROR.
  1180. IF NOT AVAILABLE SpezPrei THEN CREATE SpezPrei.
  1181. BUFFER-COPY TSpezPrei TO SpezPrei.
  1182. END.
  1183. RELEASE SpezPrei.
  1184. LEAVE.
  1185. END.
  1186. RUN ENABLE_DISABLE ( INPUT FALSE ).
  1187. APPLY 'U1'.
  1188. RETURN NO-APPLY.
  1189. END.
  1190. END PROCEDURE.
  1191. /* _UIB-CODE-BLOCK-END */
  1192. &ANALYZE-RESUME
  1193. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  1194. PROCEDURE LEAVE_FELD_TEST :
  1195. /*------------------------------------------------------------------------------
  1196. Purpose:
  1197. Parameters: <none>
  1198. Notes:
  1199. ------------------------------------------------------------------------------*/
  1200. { incl/viwleavefeldtest.i }
  1201. DEF VAR nPreis AS DEC DECIMALS 4 NO-UNDO.
  1202. DEF VAR nWert AS DEC DECIMALS 4 NO-UNDO.
  1203. DEF VAR nBetrag AS DEC DECIMALS 4 NO-UNDO.
  1204. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  1205. CASE FeldName:
  1206. WHEN 'F_Knr' THEN DO WITH FRAME {&FRAME-NAME}:
  1207. F_Knr = SELF:SCREEN-VALUE.
  1208. iKnr = INTEGER(F_Knr) NO-ERROR.
  1209. IF ERROR-STATUS:ERROR THEN DO:
  1210. RUN FIND_DEBITOR.
  1211. IF RETURN-VALUE = 'ERROR' THEN DO:
  1212. APPLY 'ENTRY' TO F_Knr.
  1213. RETURN 'APPLY'.
  1214. END.
  1215. END.
  1216. FIND Adresse NO-LOCK USE-INDEX Adresse-k1
  1217. WHERE Adresse.Firma = AdFirma
  1218. AND Adresse.Knr = iKnr NO-ERROR.
  1219. IF NOT AVAILABLE Adresse THEN DO:
  1220. RUN FIND_DEBITOR.
  1221. IF RETURN-VALUE = 'ERROR' THEN DO:
  1222. APPLY 'ENTRY' TO F_Knr.
  1223. RETURN 'APPLY'.
  1224. END.
  1225. END.
  1226. IF Adresse.Aktiv = FALSE THEN DO:
  1227. RUN FEHLER ( INPUT 1021 ).
  1228. RETURN 'ERROR'.
  1229. END.
  1230. iKnr = Adresse.Knr.
  1231. FIND Debst NO-LOCK USE-INDEX Debst-k1
  1232. WHERE Debst.Firma = Firma
  1233. AND Debst.Knr = iKnr NO-ERROR.
  1234. IF NOT AVAILABLE Debst THEN DO:
  1235. RUN FEHLER ( INPUT 1016 ).
  1236. RETURN 'ERROR'.
  1237. END.
  1238. IF Debst.Aktiv = FALSE THEN DO:
  1239. RUN FEHLER ( INPUT 1019 ).
  1240. RETURN 'ERROR'.
  1241. END.
  1242. rowObject.Kunde:SCREEN-VALUE = Adresse.Anzeig_Br.
  1243. rowObject.Knr :SCREEN-VALUE = STRING(Adresse.Knr).
  1244. F_Knr :SCREEN-VALUE = STRING(Adresse.Knr).
  1245. RUN BERECHNEN.
  1246. RETURN ''.
  1247. END.
  1248. WHEN 'Menge' THEN DO:
  1249. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN.
  1250. IF VALID-HANDLE(hENTER) THEN DO:
  1251. IF hENTER:NAME = 'F_Knr' THEN RETURN.
  1252. END.
  1253. nArtnr = INTEGER(rowObject.Artnr:SCREEN-VALUE).
  1254. nInhalt = INTEGER(rowObject.Inhalt:SCREEN-VALUE).
  1255. nJahr = INTEGER(rowObject.Jahr:SCREEN-VALUE).
  1256. FIND SpezPrei NO-LOCK USE-INDEX SpezPrei-k1
  1257. WHERE SpezPrei.Firma = Firma
  1258. AND SpezPrei.Knr = iKnr
  1259. AND SpezPrei.Artnr = nArtnr
  1260. AND SpezPrei.Inhalt = nInhalt
  1261. AND SpezPrei.Jahr = nJahr
  1262. AND SpezPrei.Menge = DECIMAL(FeldInhalt) NO-ERROR.
  1263. IF AVAILABLE SpezPrei THEN DO:
  1264. RUN FEHLER ( INPUT 1043 ).
  1265. RETURN 'ERROR'.
  1266. END.
  1267. RETURN ''.
  1268. END.
  1269. END CASE.
  1270. LEAVE.
  1271. END.
  1272. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  1273. CASE FeldName:
  1274. WHEN 'Ab_Datum' THEN DO:
  1275. IF DATE(FeldInhalt) = ?
  1276. THEN ipHandle:SCREEN-VALUE = STRING(TODAY).
  1277. END.
  1278. WHEN 'Bis_Datum' THEN DO:
  1279. IF DATE(FeldInhalt) = ?
  1280. THEN ipHandle:SCREEN-VALUE = STRING(DATE(12,31,2099)).
  1281. END.
  1282. WHEN 'F_Wert' THEN DO:
  1283. IF ipHandle:MODIFIED = TRUE THEN DO:
  1284. nBetrag = DECIMAL(FeldInhalt).
  1285. nPreis = DECIMAL(rowObject.VP_Norm:SCREEN-VALUE).
  1286. nWert = DECIMAL(rowObject.Wert:SCREEN-VALUE ).
  1287. IF CB_Art:SCREEN-VALUE = 'P' THEN DO:
  1288. nWert = 100 - (nBetrag * 100 / nPreis).
  1289. rowObject.Wert:SCREEN-VALUE = STRING(nWert).
  1290. END.
  1291. ELSE DO:
  1292. nWert = nPreis * (100 - nBetrag) / 100.
  1293. rowObject.Wert:SCREEN-VALUE = STRING(nWert).
  1294. END.
  1295. RUN BERECHNEN.
  1296. RETURN 'ERROR'.
  1297. END.
  1298. END.
  1299. END CASE.
  1300. LEAVE.
  1301. END.
  1302. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO:
  1303. DO WHILE TRUE:
  1304. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  1305. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  1306. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  1307. RETURN ''.
  1308. END.
  1309. APPLY 'ALT-S'.
  1310. RETURN 'APPLY'.
  1311. END.
  1312. RETURN ''.
  1313. END PROCEDURE.
  1314. /* _UIB-CODE-BLOCK-END */
  1315. &ANALYZE-RESUME
  1316. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN vTableWin
  1317. PROCEDURE LOESCHEN :
  1318. /*------------------------------------------------------------------------------
  1319. Purpose:
  1320. Parameters: <none>
  1321. Notes:
  1322. ------------------------------------------------------------------------------*/
  1323. DEF VAR Ja AS LOG NO-UNDO.
  1324. DEF VAR dHandle AS HANDLE NO-UNDO.
  1325. DEF VAR Artnr AS INT NO-UNDO.
  1326. DEF VAR Inhalt AS INT NO-UNDO.
  1327. DEF VAR Jahr AS INT NO-UNDO.
  1328. DO WITH FRAME {&FRAME-NAME}:
  1329. IF KEYFUNCTION(LASTKEY) <> 'RETURN' THEN DO:
  1330. F_Datum:SCREEN-VALUE = ''.
  1331. F_Datum:SENSITIVE = FALSE.
  1332. F_Datum:TAB-STOP = FALSE.
  1333. ENABLE {&List-5}.
  1334. APPLY 'U1'.
  1335. RETURN NO-APPLY.
  1336. END.
  1337. IF DATE(F_Datum:SCREEN-VALUE) = ? THEN DO:
  1338. F_Datum:SCREEN-VALUE = ''.
  1339. F_Datum:SENSITIVE = FALSE.
  1340. F_Datum:TAB-STOP = FALSE.
  1341. ENABLE {&List-5}.
  1342. APPLY 'U1'.
  1343. RETURN NO-APPLY.
  1344. END.
  1345. Artnr = INTEGER(rowObject.Artnr :SCREEN-VALUE).
  1346. Inhalt = INTEGER(rowObject.Inhalt:SCREEN-VALUE).
  1347. Jahr = INTEGER(rowObject.Jahr :SCREEN-VALUE).
  1348. FIND Artst USE-INDEX Artst-k1
  1349. WHERE Artst.Firma = Firma
  1350. AND Artst.Artnr = Artnr
  1351. AND Artst.Inhalt = Inhalt
  1352. AND Artst.Jahr = Jahr NO-LOCK NO-ERROR.
  1353. IF NOT AVAILABLE Artst THEN DO:
  1354. RUN FEHLER ( INPUT 1042 ).
  1355. F_Datum:SCREEN-VALUE = ''.
  1356. F_Datum:SENSITIVE = FALSE.
  1357. F_Datum:TAB-STOP = FALSE.
  1358. ENABLE {&List-5}.
  1359. APPLY 'U1'.
  1360. RETURN NO-APPLY.
  1361. END.
  1362. Ja = FALSE.
  1363. F_Datum = DATE(F_Datum:SCREEN-VALUE).
  1364. MESSAGE 'Wollen Sie alle Spezialpreise mit Gültigkeit ' SKIP
  1365. 'bis ' STRING(F_Datum,'99.99.9999') ' dieses Artikels löschen ? '
  1366. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  1367. UPDATE Ja.
  1368. IF NOT Ja THEN DO:
  1369. F_Datum:SCREEN-VALUE = ''.
  1370. F_Datum:SENSITIVE = FALSE.
  1371. F_Datum:TAB-STOP = FALSE.
  1372. ENABLE {&List-5}.
  1373. APPLY 'U1'.
  1374. RETURN NO-APPLY.
  1375. END.
  1376. FOR EACH SpezPrei USE-INDEX SpezPrei-k2
  1377. WHERE SpezPrei.Firma = Firma
  1378. AND SpezPrei.Artnr = Artnr
  1379. AND SpezPrei.Inhalt = Inhalt
  1380. AND SpezPrei.Jahr = Jahr
  1381. AND SpezPrei.Bis_Datum <= F_Datum TRANSACTION:
  1382. DELETE SpezPrei.
  1383. END.
  1384. dHandle = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  1385. IF VALID-HANDLE(dHandle) THEN DYNAMIC-FUNCTION('openQuery':U IN dHandle ) NO-ERROR.
  1386. F_Datum:SCREEN-VALUE = ''.
  1387. F_Datum:SENSITIVE = FALSE.
  1388. F_Datum:TAB-STOP = FALSE.
  1389. ENABLE {&List-5}.
  1390. APPLY 'U1'.
  1391. RETURN NO-APPLY.
  1392. END.
  1393. END PROCEDURE.
  1394. /* _UIB-CODE-BLOCK-END */
  1395. &ANALYZE-RESUME
  1396. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN_INAKT vTableWin
  1397. PROCEDURE LOESCHEN_INAKT :
  1398. /*------------------------------------------------------------------------------
  1399. Purpose:
  1400. Parameters: <none>
  1401. Notes:
  1402. ------------------------------------------------------------------------------*/
  1403. SESSION:SET-WAIT-STATE('GENERAL').
  1404. FOR EACH Artst USE-INDEX Artst-k1
  1405. WHERE Artst.Firma = Firma
  1406. AND Artst.Aktiv = FALSE NO-LOCK:
  1407. FOR EACH SpezPrei USE-INDEX SpezPrei-k2
  1408. WHERE SpezPrei.Firma = Artst.Firma
  1409. AND SpezPrei.Artnr = Artst.Artnr
  1410. AND SpezPrei.Inhalt = Artst.Inhalt
  1411. AND SpezPrei.Jahr = Artst.Jahr:
  1412. DELETE SpezPrei.
  1413. END.
  1414. RELEASE SpezPrei.
  1415. RELEASE Artst.
  1416. END.
  1417. SESSION:SET-WAIT-STATE('').
  1418. END PROCEDURE.
  1419. /* _UIB-CODE-BLOCK-END */
  1420. &ANALYZE-RESUME
  1421. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT vTableWin
  1422. PROCEDURE REPORT :
  1423. /*------------------------------------------------------------------------------
  1424. Purpose:
  1425. Parameters: <none>
  1426. Notes:
  1427. ------------------------------------------------------------------------------*/
  1428. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  1429. DEF VAR DatenName AS CHAR NO-UNDO.
  1430. DEF VAR DateiName AS CHAR NO-UNDO.
  1431. DEF VAR Zelle AS CHAR NO-UNDO.
  1432. DEF VAR xText AS CHAR NO-UNDO.
  1433. DEF VAR Ja AS LOG NO-UNDO.
  1434. DEF VAR KGeb AS CHAR NO-UNDO.
  1435. DEF VAR cArtikel AS CHAR NO-UNDO.
  1436. DEF VAR Artikel AS CHAR NO-UNDO.
  1437. DEF VAR Kunde AS CHAR NO-UNDO.
  1438. DEF VAR ARecid AS RECID NO-UNDO.
  1439. Firma = DYNAMIC-FUNCTION('getMandant':U) NO-ERROR.
  1440. cArtikel = DYNAMIC-FUNCTION('getArtikel':U) NO-ERROR.
  1441. IF cArtikel = '' OR
  1442. cArtikel = ? THEN RETURN NO-APPLY.
  1443. ARecid = INTEGER(ENTRY(1, cArtikel, CHR(01))).
  1444. FIND Artst WHERE RECID(Artst) = ARecid NO-LOCK NO-ERROR.
  1445. FIND FIRST ArtBez OF Artst NO-LOCK NO-ERROR.
  1446. FIND KGebinde USE-INDEX KGebinde-k1
  1447. WHERE KGebinde.Firma = Firma
  1448. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK NO-ERROR.
  1449. IF AVAILABLE KGebinde THEN KGeb = KGebinde.KBez.
  1450. ELSE KGeb = FILL('?', 10).
  1451. Artikel = STRING(Artst.Artnr,'999999 ')
  1452. + Artbez.Bez1.
  1453. IF Artbez.Bez2 <> '' THEN Artikel = Artikel + ', '
  1454. + Artbez.Bez2.
  1455. Artikel = Artikel + ' / ' + KGeb.
  1456. IF Artst.Jahr > 1900 THEN Artikel = Artikel + ' / '
  1457. + STRING(Artst.Jahr,'9999').
  1458. IF Artst.Alk_Gehalt > 0 THEN Artikel = Artikel + ' / '
  1459. + STRING(Artst.Alk_Gehalt,'zz9.99%').
  1460. DatenName = 'ArtikelSpezialPreise.txt'.
  1461. DateiName = 'ArtikelSpezialPreise.xls' + CHR(01) + 'ArtikelSpezialPreise.xls'.
  1462. DO WITH FRAME {&FRAME-NAME}:
  1463. DO WHILE TRUE:
  1464. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  1465. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  1466. RUN FEHLER ( INPUT 1035 ).
  1467. RETURN NO-APPLY.
  1468. END.
  1469. LEAVE.
  1470. END.
  1471. DO WHILE TRUE:
  1472. RUN CREATEDATEI ( INPUT DateiName ).
  1473. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  1474. CASE RETURN-VALUE:
  1475. WHEN 'ERROR-PARAMETER' THEN DO:
  1476. RUN FEHLER ( INPUT 1036 ).
  1477. RETURN NO-APPLY.
  1478. END.
  1479. WHEN 'ERROR-LOESCHEN' THEN DO:
  1480. RUN FEHLER ( INPUT 1037 ).
  1481. RETURN NO-APPLY.
  1482. END.
  1483. WHEN 'ERROR-VORLAGE' THEN DO:
  1484. RUN FEHLER ( INPUT 1038 ).
  1485. RETURN NO-APPLY.
  1486. END.
  1487. OTHERWISE DO:
  1488. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  1489. RETURN NO-APPLY.
  1490. END.
  1491. END CASE.
  1492. LEAVE.
  1493. END.
  1494. DateiName = RETURN-VALUE.
  1495. DO WHILE TRUE:
  1496. RUN CREATEDATEI ( INPUT DatenName ).
  1497. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  1498. CASE RETURN-VALUE:
  1499. WHEN 'ERROR-PARAMETER' THEN DO:
  1500. RUN FEHLER ( INPUT 1036 ).
  1501. RETURN NO-APPLY.
  1502. END.
  1503. WHEN 'ERROR-LOESCHEN' THEN DO:
  1504. RUN FEHLER ( INPUT 1037 ).
  1505. RETURN NO-APPLY.
  1506. END.
  1507. WHEN 'ERROR-VORLAGE' THEN DO:
  1508. RUN FEHLER ( INPUT 1038 ).
  1509. RETURN NO-APPLY.
  1510. END.
  1511. OTHERWISE DO:
  1512. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  1513. RETURN NO-APPLY.
  1514. END.
  1515. END CASE.
  1516. LEAVE.
  1517. END.
  1518. DatenName = RETURN-VALUE.
  1519. OUTPUT TO VALUE(DatenName) APPEND.
  1520. PUT CONTROL '£'
  1521. Artikel CHR(10).
  1522. PUT CONTROL '£Knr£Kunde£Menge£ab£bis£P/B£Wert' CHR(10)
  1523. '£' CHR(10).
  1524. FOR EACH SpezPrei USE-INDEX SpezPrei-k2
  1525. WHERE SpezPrei.Firma = Firma
  1526. AND SpezPrei.Artnr = Artst.Artnr
  1527. AND SpezPrei.Inhalt = Artst.Inhalt
  1528. AND SpezPrei.Jahr = Artst.Jahr NO-LOCK:
  1529. Kunde = DYNAMIC-FUNCTION('GETADRESSEANZEIGEBR':U,
  1530. INPUT SpezPrei.Knr, INPUT 0) NO-ERROR.
  1531. PUT CONTROL '£'.
  1532. PUT CONTROL STRING(SpezPrei.Knr ,'999999') '£'
  1533. Kunde '£'
  1534. STRING(SpezPrei.Menge ,'zzzzzz') '£'
  1535. STRING(SpezPrei.Ab_Datum ,'99.99.9999') '£'
  1536. STRING(SpezPrei.Bis_Datum,'99.99.9999') '£'
  1537. STRING(SpezPrei.Proz_Betr,'%/Fr') '£'
  1538. STRING(SpezPrei.Wert ,'>>>>9.999') CHR(10).
  1539. END.
  1540. OUTPUT CLOSE.
  1541. RUN OPENEXCEL ( INPUT excelAppl,
  1542. INPUT DateiName,
  1543. INPUT '',
  1544. OUTPUT Ja ).
  1545. IF NOT Ja THEN DO:
  1546. RUN FEHLER ( INPUT 1040 ).
  1547. RETURN NO-APPLY.
  1548. END.
  1549. Zelle = 'A3'.
  1550. excelAppl:Range(Zelle):SELECT.
  1551. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + DatenName.
  1552. excelAppl:Application:RUN ( 'DateiEinfügen' ).
  1553. RUN KOPF ( INPUT excelAppl ).
  1554. Zelle = 'A1'.
  1555. excelAppl:Range(Zelle):SELECT.
  1556. excelAppl:Selection:ColumnWidth = 0.3.
  1557. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  1558. END.
  1559. END PROCEDURE.
  1560. /* _UIB-CODE-BLOCK-END */
  1561. &ANALYZE-RESUME
  1562. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  1563. PROCEDURE RETURN_FELD :
  1564. /*------------------------------------------------------------------------------
  1565. Purpose:
  1566. Parameters: <none>
  1567. Notes:
  1568. ------------------------------------------------------------------------------*/
  1569. { incl/viwreturnfeld.i }
  1570. END PROCEDURE.
  1571. /* _UIB-CODE-BLOCK-END */
  1572. &ANALYZE-RESUME
  1573. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin
  1574. PROCEDURE TEST_EINGABEN :
  1575. /*------------------------------------------------------------------------------
  1576. Purpose:
  1577. Parameters: <none>
  1578. Notes:
  1579. ------------------------------------------------------------------------------*/
  1580. DEF OUTPUT PARAMETER opJa AS LOG NO-UNDO.
  1581. DEF VAR eHandle AS HANDLE NO-UNDO.
  1582. DEF VAR cString AS CHAR NO-UNDO.
  1583. DEF VAR iNummer AS INT NO-UNDO.
  1584. opJa = FALSE.
  1585. eHandle = ?.
  1586. IF NOT FMut THEN RETURN.
  1587. AAA000:
  1588. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  1589. LEAVE.
  1590. END.
  1591. IF VALID-HANDLE(eHandle) THEN DO:
  1592. APPLY 'ENTRY' TO eHandle.
  1593. RETURN NO-APPLY.
  1594. END.
  1595. opJa = TRUE.
  1596. END PROCEDURE.
  1597. /* _UIB-CODE-BLOCK-END */
  1598. &ANALYZE-RESUME
  1599. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  1600. PROCEDURE updateMode :
  1601. /*------------------------------------------------------------------------------
  1602. Purpose: Super Override
  1603. Parameters:
  1604. Notes:
  1605. ------------------------------------------------------------------------------*/
  1606. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  1607. CASE pcMode:
  1608. WHEN 'updateBegin' THEN DO:
  1609. END.
  1610. WHEN 'updateEnd' THEN DO:
  1611. END.
  1612. END.
  1613. RUN SUPER( INPUT pcMode).
  1614. CASE pcMode:
  1615. WHEN 'updateBegin' THEN DO:
  1616. FMut = TRUE.
  1617. END.
  1618. WHEN 'updateEnd' THEN DO:
  1619. FNeu = FALSE.
  1620. FMut = FALSE.
  1621. FCopy = FALSE.
  1622. END.
  1623. END.
  1624. END PROCEDURE.
  1625. /* _UIB-CODE-BLOCK-END */
  1626. &ANALYZE-RESUME
  1627. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  1628. PROCEDURE updateRecord :
  1629. /*------------------------------------------------------------------------------
  1630. Purpose: Super Override
  1631. Parameters:
  1632. Notes:
  1633. ------------------------------------------------------------------------------*/
  1634. DO WITH FRAME {&FRAME-NAME}:
  1635. rowObject.Knr:SCREEN-VALUE = F_Knr:SCREEN-VALUE.
  1636. rowObject.Proz_Betr:SCREEN-VALUE = CB_Art:SCREEN-VALUE.
  1637. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE).
  1638. rowObject.VP_Norm:MODIFIED = FALSE.
  1639. rowObject.Marge:MODIFIED = FALSE.
  1640. rowObject.AltPreis:MODIFIED = FALSE.
  1641. F_Wert:MODIFIED = FALSE.
  1642. END.
  1643. FNeu = FALSE.
  1644. FCopy = FALSE.
  1645. RUN SUPER.
  1646. /* Code placed here will execute AFTER standard behavior. */
  1647. END PROCEDURE.
  1648. /* _UIB-CODE-BLOCK-END */
  1649. &ANALYZE-RESUME