v-aufze.w 82 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479
  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-aufze.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 Bez1
  32. &Scoped-define LETZTES_FELD Zus_Wert
  33. &Scoped-define KEY_FELDER F_Artnr,Inhalt,Jahr
  34. &Scoped-define NUR_LESEN MBest,MGeli,MRuek,VGebinde,KGebinde,Alk_Gehalt
  35. { incl/viwdefinition.i }
  36. DEFINE VARIABLE lLeave AS LOG NO-UNDO.
  37. DEFINE VARIABLE lNew AS LOG NO-UNDO.
  38. DEFINE VARIABLE lVorEntry AS LOG NO-UNDO.
  39. DEFINE VARIABLE iLKY AS INTEGER NO-UNDO.
  40. DEFINE VARIABLE htAufze AS HANDLE NO-UNDO.
  41. DEFINE VARIABLE hLastField AS HANDLE NO-UNDO.
  42. DEFINE VARIABLE cAktRowId AS CHARACTER NO-UNDO.
  43. DEFINE VARIABLE iPreisArt AS INTEGER NO-UNDO.
  44. DEFINE VARIABLE iOldRabArt AS INTEGER NO-UNDO.
  45. DEFINE VARIABLE rAufze AS RECID NO-UNDO.
  46. DEFINE TEMP-TABLE tAufze NO-UNDO LIKE Aufze
  47. FIELD Knr AS INTEGER
  48. FIELD Datum AS DATE
  49. FIELD lAktion AS LOGICAL INIT TRUE
  50. FIELD KGebinde AS CHARACTER
  51. FIELD VGebinde AS CHARACTER
  52. FIELD GGebinde AS CHARACTER
  53. .
  54. DEFINE TEMP-TABLE sAufze NO-UNDO LIKE Aufze.
  55. DEFINE TEMP-TABLE eAufze NO-UNDO LIKE Aufze.
  56. DEFINE TEMP-TABLE tKunBest LIKE KunBest.
  57. DEFINE VARIABLE htKunBest AS HANDLE NO-UNDO.
  58. htKunBest = TEMP-TABLE tKunbest:DEFAULT-BUFFER-HANDLE.
  59. {src/adm2/widgetprto.i}
  60. /* _UIB-CODE-BLOCK-END */
  61. &ANALYZE-RESUME
  62. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  63. /* ******************** Preprocessor Definitions ******************** */
  64. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  65. &Scoped-define DB-AWARE no
  66. &Scoped-define ADM-CONTAINER FRAME
  67. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  68. /* Include file with RowObject temp-table definition */
  69. &Scoped-define DATA-FIELD-DEFS "d-aufze.i"
  70. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  71. &Scoped-define FRAME-NAME F-Main
  72. /* Standard List Definitions */
  73. &Scoped-Define ENABLED-FIELDS RowObject.Inhalt RowObject.Jahr ~
  74. RowObject.Bez1 RowObject.Bez2 RowObject.Preis RowObject.Rab_Art ~
  75. RowObject.Rab_Wert RowObject.Zus_Art RowObject.Zus_Wert RowObject.MBest ~
  76. RowObject.MGeli RowObject.MRuek RowObject.KGebinde RowObject.VGebinde ~
  77. RowObject.Alk_Gehalt
  78. &Scoped-define ENABLED-TABLES RowObject
  79. &Scoped-define FIRST-ENABLED-TABLE RowObject
  80. &Scoped-Define ENABLED-OBJECTS F_Artnr RECT-35 RECT-40
  81. &Scoped-Define DISPLAYED-FIELDS RowObject.Inhalt RowObject.Jahr ~
  82. RowObject.Bez1 RowObject.Bez2 RowObject.Preis RowObject.Rab_Art ~
  83. RowObject.Rab_Wert RowObject.Zus_Art RowObject.Zus_Wert RowObject.Artnr ~
  84. RowObject.Aufnr RowObject.Firma RowObject.Pos RowObject.WC RowObject.MBest ~
  85. RowObject.MGeli RowObject.MRuek RowObject.KGebinde RowObject.VGebinde ~
  86. RowObject.Alk_Gehalt RowObject.PreisArt RowObject.GGeb_Be RowObject.GGeb_Me ~
  87. RowObject.GGeb_Ru RowObject.KGeb_Be RowObject.KGeb_Me RowObject.KGeb_Ru ~
  88. RowObject.VGeb_Be RowObject.VGeb_Me RowObject.VGeb_Ru
  89. &Scoped-define DISPLAYED-TABLES RowObject
  90. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  91. &Scoped-Define DISPLAYED-OBJECTS F_Artnr CB_Mwst
  92. /* Custom List Definitions */
  93. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  94. &Scoped-define List-4 RowObject.Bez1 RowObject.Bez2
  95. &Scoped-define List-5 F_Artnr RowObject.Inhalt RowObject.Jahr
  96. &Scoped-define List-6 RowObject.Preis RowObject.Rab_Art RowObject.Rab_Wert ~
  97. RowObject.Zus_Art RowObject.Zus_Wert
  98. /* _UIB-PREPROCESSOR-BLOCK-END */
  99. &ANALYZE-RESUME
  100. /* *********************** Control Definitions ********************** */
  101. /* Menu Definitions */
  102. DEFINE MENU POPUP-MENU-F_Artnr
  103. MENU-ITEM X_EXCEL_LISTE LABEL "Excel-Liste einlesen".
  104. /* Definitions of the field level widgets */
  105. DEFINE VARIABLE CB_Mwst AS CHARACTER FORMAT "X(256)":U
  106. VIEW-AS COMBO-BOX INNER-LINES 5
  107. LIST-ITEM-PAIRS "Item 1","Item 1"
  108. DROP-DOWN-LIST
  109. SIZE 21 BY 1
  110. BGCOLOR 15 NO-UNDO.
  111. DEFINE VARIABLE E_Bemerk AS CHARACTER
  112. VIEW-AS EDITOR NO-WORD-WRAP SCROLLBAR-HORIZONTAL SCROLLBAR-VERTICAL
  113. SIZE 96.8 BY 5.91
  114. BGCOLOR 15 NO-UNDO.
  115. DEFINE VARIABLE F_Artnr AS CHARACTER FORMAT "x(20)":U
  116. VIEW-AS FILL-IN NATIVE
  117. SIZE 14 BY 1
  118. BGCOLOR 15 NO-UNDO.
  119. DEFINE RECTANGLE RECT-35
  120. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  121. SIZE 182 BY 6.19.
  122. DEFINE RECTANGLE RECT-40
  123. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  124. SIZE 182 BY 6.67.
  125. /* ************************ Frame Definitions *********************** */
  126. DEFINE FRAME F-Main
  127. E_Bemerk AT ROW 7.86 COL 26.2 NO-LABELS WIDGET-ID 82 NO-TAB-STOP
  128. F_Artnr AT ROW 2.52 COL 5 COLON-ALIGNED NO-LABELS WIDGET-ID 42
  129. RowObject.Inhalt AT ROW 2.52 COL 21 COLON-ALIGNED NO-LABELS WIDGET-ID 14
  130. VIEW-AS FILL-IN NATIVE
  131. SIZE 8 BY 1
  132. BGCOLOR 15
  133. RowObject.Jahr AT ROW 2.52 COL 31 COLON-ALIGNED NO-LABELS WIDGET-ID 16
  134. VIEW-AS FILL-IN NATIVE
  135. SIZE 8 BY 1
  136. BGCOLOR 15
  137. RowObject.Bez1 AT ROW 2.52 COL 41 COLON-ALIGNED NO-LABELS WIDGET-ID 8
  138. VIEW-AS FILL-IN NATIVE
  139. SIZE 40 BY 1
  140. BGCOLOR 15
  141. RowObject.Bez2 AT ROW 3.52 COL 41 COLON-ALIGNED NO-LABELS WIDGET-ID 10
  142. VIEW-AS FILL-IN NATIVE
  143. SIZE 40 BY 1
  144. BGCOLOR 15
  145. RowObject.Preis AT ROW 2.57 COL 84 COLON-ALIGNED NO-LABELS WIDGET-ID 28
  146. VIEW-AS FILL-IN NATIVE
  147. SIZE 18 BY 1
  148. BGCOLOR 15
  149. RowObject.Rab_Art AT ROW 2.52 COL 105 COLON-ALIGNED NO-LABELS WIDGET-ID 30
  150. VIEW-AS COMBO-BOX
  151. LIST-ITEM-PAIRS "Kein Rabatt",0,
  152. "Prozent",1,
  153. "Betrag",2,
  154. "EP Plus",3
  155. DROP-DOWN-LIST
  156. SIZE 20 BY 1
  157. BGCOLOR 15
  158. RowObject.Rab_Wert AT ROW 2.52 COL 127 COLON-ALIGNED NO-LABELS WIDGET-ID 32
  159. VIEW-AS FILL-IN NATIVE
  160. SIZE 14 BY 1
  161. BGCOLOR 15
  162. RowObject.Zus_Art AT ROW 2.52 COL 144 COLON-ALIGNED NO-LABELS WIDGET-ID 38
  163. VIEW-AS COMBO-BOX
  164. LIST-ITEM-PAIRS "Kein Zuschlag",0,
  165. "Prozent",1,
  166. "Betrag",2
  167. DROP-DOWN-LIST
  168. SIZE 20 BY 1
  169. BGCOLOR 15
  170. RowObject.Zus_Wert AT ROW 2.52 COL 165 COLON-ALIGNED NO-LABELS WIDGET-ID 40
  171. VIEW-AS FILL-IN NATIVE
  172. SIZE 14 BY 1
  173. BGCOLOR 15
  174. RowObject.Artnr AT ROW 2 COL 98 COLON-ALIGNED WIDGET-ID 4
  175. VIEW-AS FILL-IN NATIVE
  176. SIZE 4 BY 1
  177. BGCOLOR 15 NO-TAB-STOP
  178. RowObject.Aufnr AT ROW 2 COL 98 COLON-ALIGNED WIDGET-ID 6
  179. VIEW-AS FILL-IN NATIVE
  180. SIZE 4 BY 1
  181. BGCOLOR 15 NO-TAB-STOP
  182. RowObject.Firma AT ROW 2 COL 98 COLON-ALIGNED WIDGET-ID 12
  183. VIEW-AS FILL-IN NATIVE
  184. SIZE 4 BY 1
  185. BGCOLOR 15 NO-TAB-STOP
  186. RowObject.Pos AT ROW 2 COL 98 COLON-ALIGNED WIDGET-ID 26
  187. VIEW-AS FILL-IN NATIVE
  188. SIZE 4 BY 1
  189. BGCOLOR 15 NO-TAB-STOP
  190. RowObject.WC AT ROW 2 COL 98 COLON-ALIGNED WIDGET-ID 36 FORMAT "999999"
  191. VIEW-AS FILL-IN NATIVE
  192. SIZE 4 BY 1
  193. BGCOLOR 15 NO-TAB-STOP
  194. RowObject.MBest AT ROW 6 COL 5 COLON-ALIGNED NO-LABELS WIDGET-ID 20
  195. VIEW-AS FILL-IN NATIVE
  196. SIZE 14 BY 1
  197. BGCOLOR 15 NO-TAB-STOP
  198. RowObject.MGeli AT ROW 6 COL 23 COLON-ALIGNED NO-LABELS WIDGET-ID 22
  199. VIEW-AS FILL-IN NATIVE
  200. SIZE 14 BY 1
  201. BGCOLOR 15 NO-TAB-STOP
  202. RowObject.MRuek AT ROW 6 COL 41 COLON-ALIGNED NO-LABELS WIDGET-ID 24
  203. VIEW-AS FILL-IN NATIVE
  204. SIZE 14 BY 1
  205. BGCOLOR 15 NO-TAB-STOP
  206. RowObject.KGebinde AT ROW 6 COL 63 COLON-ALIGNED NO-LABELS WIDGET-ID 18
  207. VIEW-AS FILL-IN NATIVE
  208. SIZE 18 BY 1
  209. BGCOLOR 14 NO-TAB-STOP
  210. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  211. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  212. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  213. /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */
  214. DEFINE FRAME F-Main
  215. RowObject.VGebinde AT ROW 6 COL 83 COLON-ALIGNED NO-LABELS WIDGET-ID 34
  216. VIEW-AS FILL-IN NATIVE
  217. SIZE 18 BY 1
  218. BGCOLOR 14 NO-TAB-STOP
  219. RowObject.Alk_Gehalt AT ROW 6 COL 105 COLON-ALIGNED NO-LABELS WIDGET-ID 2
  220. VIEW-AS FILL-IN NATIVE
  221. SIZE 12 BY 1
  222. BGCOLOR 15 NO-TAB-STOP
  223. CB_Mwst AT ROW 6 COL 120 COLON-ALIGNED NO-LABELS WIDGET-ID 48 NO-TAB-STOP
  224. RowObject.PreisArt AT ROW 2 COL 98 COLON-ALIGNED WIDGET-ID 84
  225. LABEL "PreisArt" FORMAT "->9"
  226. VIEW-AS FILL-IN NATIVE
  227. SIZE 4 BY 1
  228. BGCOLOR 15 NO-TAB-STOP
  229. RowObject.GGeb_Be AT ROW 10 COL 143 COLON-ALIGNED WIDGET-ID 86
  230. VIEW-AS FILL-IN NATIVE
  231. SIZE 4 BY 1
  232. BGCOLOR 15 NO-TAB-STOP
  233. RowObject.GGeb_Me AT ROW 10 COL 143 COLON-ALIGNED WIDGET-ID 88
  234. VIEW-AS FILL-IN NATIVE
  235. SIZE 4 BY 1
  236. BGCOLOR 15 NO-TAB-STOP
  237. RowObject.GGeb_Ru AT ROW 10 COL 143 COLON-ALIGNED WIDGET-ID 90
  238. VIEW-AS FILL-IN NATIVE
  239. SIZE 4 BY 1
  240. BGCOLOR 15 NO-TAB-STOP
  241. RowObject.KGeb_Be AT ROW 10 COL 143 COLON-ALIGNED WIDGET-ID 92
  242. VIEW-AS FILL-IN NATIVE
  243. SIZE 4 BY 1
  244. BGCOLOR 15 NO-TAB-STOP
  245. RowObject.KGeb_Me AT ROW 10 COL 143 COLON-ALIGNED WIDGET-ID 94
  246. VIEW-AS FILL-IN NATIVE
  247. SIZE 4 BY 1
  248. BGCOLOR 15 NO-TAB-STOP
  249. RowObject.KGeb_Ru AT ROW 10 COL 143 COLON-ALIGNED WIDGET-ID 96
  250. VIEW-AS FILL-IN NATIVE
  251. SIZE 4 BY 1
  252. BGCOLOR 15 NO-TAB-STOP
  253. RowObject.VGeb_Be AT ROW 10 COL 143 COLON-ALIGNED WIDGET-ID 98
  254. VIEW-AS FILL-IN NATIVE
  255. SIZE 4 BY 1
  256. BGCOLOR 15 NO-TAB-STOP
  257. RowObject.VGeb_Me AT ROW 10 COL 143 COLON-ALIGNED WIDGET-ID 100
  258. VIEW-AS FILL-IN NATIVE
  259. SIZE 4 BY 1
  260. BGCOLOR 15 NO-TAB-STOP
  261. RowObject.VGeb_Ru AT ROW 10 COL 143 COLON-ALIGNED WIDGET-ID 102
  262. VIEW-AS FILL-IN NATIVE
  263. SIZE 4 BY 1
  264. BGCOLOR 15 NO-TAB-STOP
  265. "Bezeichnung" VIEW-AS TEXT
  266. SIZE 40 BY 1 AT ROW 1.52 COL 43 WIDGET-ID 56
  267. FONT 6
  268. "Rabatt" VIEW-AS TEXT
  269. SIZE 36 BY 1 AT ROW 1.52 COL 107 WIDGET-ID 60
  270. FONT 6
  271. "Rückstand" VIEW-AS TEXT
  272. SIZE 14 BY 1 AT ROW 5 COL 43 WIDGET-ID 68
  273. FONT 6
  274. "Jahr" VIEW-AS TEXT
  275. SIZE 8 BY 1 AT ROW 1.52 COL 33 WIDGET-ID 54
  276. FONT 6
  277. "Inhalt" VIEW-AS TEXT
  278. SIZE 8 BY 1 AT ROW 1.52 COL 23 WIDGET-ID 52
  279. FONT 6
  280. "Preis" VIEW-AS TEXT
  281. SIZE 18 BY 1 AT ROW 1.52 COL 86 WIDGET-ID 58
  282. FONT 6
  283. "MWSt-Ansatz" VIEW-AS TEXT
  284. SIZE 21 BY 1 AT ROW 5 COL 122 WIDGET-ID 76
  285. FONT 6
  286. "Vol. %" VIEW-AS TEXT
  287. SIZE 12 BY 1 AT ROW 5 COL 118 RIGHT-ALIGNED WIDGET-ID 74
  288. FONT 6
  289. "GGebinde" VIEW-AS TEXT
  290. SIZE 18 BY 1 AT ROW 5 COL 85 WIDGET-ID 72
  291. FONT 6
  292. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  293. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  294. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  295. /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */
  296. DEFINE FRAME F-Main
  297. "KGebinde" VIEW-AS TEXT
  298. SIZE 18 BY 1 AT ROW 5 COL 65 WIDGET-ID 70
  299. FONT 6
  300. "Geliefert" VIEW-AS TEXT
  301. SIZE 14 BY 1 AT ROW 5 COL 25 WIDGET-ID 66
  302. FONT 6
  303. "Zuschlag" VIEW-AS TEXT
  304. SIZE 35 BY 1 AT ROW 1.52 COL 146 WIDGET-ID 62
  305. FONT 6
  306. "Artikel" VIEW-AS TEXT
  307. SIZE 14 BY 1 AT ROW 1.52 COL 7 WIDGET-ID 50
  308. FONT 6
  309. "Bestellt" VIEW-AS TEXT
  310. SIZE 14 BY 1 AT ROW 5 COL 7 WIDGET-ID 64
  311. FONT 6
  312. RECT-35 AT ROW 1.24 COL 2 WIDGET-ID 44
  313. RECT-40 AT ROW 7.43 COL 2 WIDGET-ID 80
  314. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  315. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  316. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  317. /* *********************** Procedure Settings ************************ */
  318. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  319. /* Settings for THIS-PROCEDURE
  320. Type: SmartDataViewer
  321. Data Source: "d-aufze.w"
  322. Allow: Basic,DB-Fields,Smart
  323. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  324. Frames: 1
  325. Add Fields to: Neither
  326. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER
  327. Temp-Tables and Buffers:
  328. TABLE: RowObject D "?" NO-UNDO
  329. ADDITIONAL-FIELDS:
  330. {d-aufze.i}
  331. END-FIELDS.
  332. END-TABLES.
  333. */
  334. /* This procedure should always be RUN PERSISTENT. Report the error, */
  335. /* then cleanup and return. */
  336. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  337. DO:
  338. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  339. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  340. RETURN.
  341. END.
  342. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  343. /* ************************* Create Window ************************** */
  344. &ANALYZE-SUSPEND _CREATE-WINDOW
  345. /* DESIGN Window definition (used by the UIB)
  346. CREATE WINDOW vTableWin ASSIGN
  347. HEIGHT = 13.52
  348. WIDTH = 184.
  349. /* END WINDOW DEFINITION */
  350. */
  351. &ANALYZE-RESUME
  352. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  353. /* ************************* Included-Libraries *********************** */
  354. {src/adm2/viewer.i}
  355. /* _UIB-CODE-BLOCK-END */
  356. &ANALYZE-RESUME
  357. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  358. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  359. /* SETTINGS FOR WINDOW vTableWin
  360. VISIBLE,,RUN-PERSISTENT */
  361. /* SETTINGS FOR FRAME F-Main
  362. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  363. ASSIGN
  364. FRAME F-Main:SCROLLABLE = FALSE
  365. FRAME F-Main:HIDDEN = TRUE.
  366. ASSIGN
  367. RowObject.Alk_Gehalt:READ-ONLY IN FRAME F-Main = TRUE.
  368. /* SETTINGS FOR FILL-IN RowObject.Artnr IN FRAME F-Main
  369. NO-ENABLE */
  370. ASSIGN
  371. RowObject.Artnr:HIDDEN IN FRAME F-Main = TRUE
  372. RowObject.Artnr:READ-ONLY IN FRAME F-Main = TRUE.
  373. /* SETTINGS FOR FILL-IN RowObject.Aufnr IN FRAME F-Main
  374. NO-ENABLE */
  375. ASSIGN
  376. RowObject.Aufnr:HIDDEN IN FRAME F-Main = TRUE
  377. RowObject.Aufnr:READ-ONLY IN FRAME F-Main = TRUE.
  378. /* SETTINGS FOR FILL-IN RowObject.Bez1 IN FRAME F-Main
  379. 4 */
  380. /* SETTINGS FOR FILL-IN RowObject.Bez2 IN FRAME F-Main
  381. 4 */
  382. /* SETTINGS FOR COMBO-BOX CB_Mwst IN FRAME F-Main
  383. NO-ENABLE */
  384. /* SETTINGS FOR EDITOR E_Bemerk IN FRAME F-Main
  385. NO-DISPLAY NO-ENABLE */
  386. ASSIGN
  387. E_Bemerk:RETURN-INSERTED IN FRAME F-Main = TRUE
  388. E_Bemerk:READ-ONLY IN FRAME F-Main = TRUE.
  389. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main
  390. NO-ENABLE */
  391. ASSIGN
  392. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE
  393. RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE.
  394. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME F-Main
  395. 5 */
  396. ASSIGN
  397. F_Artnr:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-F_Artnr:HANDLE.
  398. /* SETTINGS FOR FILL-IN RowObject.GGeb_Be IN FRAME F-Main
  399. NO-ENABLE */
  400. ASSIGN
  401. RowObject.GGeb_Be:HIDDEN IN FRAME F-Main = TRUE
  402. RowObject.GGeb_Be:READ-ONLY IN FRAME F-Main = TRUE.
  403. /* SETTINGS FOR FILL-IN RowObject.GGeb_Me IN FRAME F-Main
  404. NO-ENABLE */
  405. ASSIGN
  406. RowObject.GGeb_Me:HIDDEN IN FRAME F-Main = TRUE
  407. RowObject.GGeb_Me:READ-ONLY IN FRAME F-Main = TRUE.
  408. /* SETTINGS FOR FILL-IN RowObject.GGeb_Ru IN FRAME F-Main
  409. NO-ENABLE */
  410. ASSIGN
  411. RowObject.GGeb_Ru:HIDDEN IN FRAME F-Main = TRUE
  412. RowObject.GGeb_Ru:READ-ONLY IN FRAME F-Main = TRUE.
  413. /* SETTINGS FOR FILL-IN RowObject.Inhalt IN FRAME F-Main
  414. 5 EXP-LABEL */
  415. /* SETTINGS FOR FILL-IN RowObject.Jahr IN FRAME F-Main
  416. 5 EXP-LABEL */
  417. ASSIGN
  418. RowObject.KGebinde:READ-ONLY IN FRAME F-Main = TRUE.
  419. /* SETTINGS FOR FILL-IN RowObject.KGeb_Be IN FRAME F-Main
  420. NO-ENABLE */
  421. ASSIGN
  422. RowObject.KGeb_Be:HIDDEN IN FRAME F-Main = TRUE
  423. RowObject.KGeb_Be:READ-ONLY IN FRAME F-Main = TRUE.
  424. /* SETTINGS FOR FILL-IN RowObject.KGeb_Me IN FRAME F-Main
  425. NO-ENABLE */
  426. ASSIGN
  427. RowObject.KGeb_Me:HIDDEN IN FRAME F-Main = TRUE
  428. RowObject.KGeb_Me:READ-ONLY IN FRAME F-Main = TRUE.
  429. /* SETTINGS FOR FILL-IN RowObject.KGeb_Ru IN FRAME F-Main
  430. NO-ENABLE */
  431. ASSIGN
  432. RowObject.KGeb_Ru:HIDDEN IN FRAME F-Main = TRUE
  433. RowObject.KGeb_Ru:READ-ONLY IN FRAME F-Main = TRUE.
  434. /* SETTINGS FOR FILL-IN RowObject.MBest IN FRAME F-Main
  435. EXP-LABEL */
  436. ASSIGN
  437. RowObject.MBest:READ-ONLY IN FRAME F-Main = TRUE.
  438. /* SETTINGS FOR FILL-IN RowObject.MGeli IN FRAME F-Main
  439. EXP-LABEL */
  440. ASSIGN
  441. RowObject.MGeli:READ-ONLY IN FRAME F-Main = TRUE.
  442. /* SETTINGS FOR FILL-IN RowObject.MRuek IN FRAME F-Main
  443. EXP-LABEL */
  444. ASSIGN
  445. RowObject.MRuek:READ-ONLY IN FRAME F-Main = TRUE.
  446. /* SETTINGS FOR FILL-IN RowObject.Pos IN FRAME F-Main
  447. NO-ENABLE */
  448. ASSIGN
  449. RowObject.Pos:HIDDEN IN FRAME F-Main = TRUE
  450. RowObject.Pos:READ-ONLY IN FRAME F-Main = TRUE.
  451. /* SETTINGS FOR FILL-IN RowObject.Preis IN FRAME F-Main
  452. 6 */
  453. /* SETTINGS FOR FILL-IN RowObject.PreisArt IN FRAME F-Main
  454. NO-ENABLE EXP-LABEL EXP-FORMAT */
  455. ASSIGN
  456. RowObject.PreisArt:HIDDEN IN FRAME F-Main = TRUE
  457. RowObject.PreisArt:READ-ONLY IN FRAME F-Main = TRUE.
  458. /* SETTINGS FOR COMBO-BOX RowObject.Rab_Art IN FRAME F-Main
  459. 6 */
  460. /* SETTINGS FOR FILL-IN RowObject.Rab_Wert IN FRAME F-Main
  461. 6 */
  462. ASSIGN
  463. RowObject.VGebinde:READ-ONLY IN FRAME F-Main = TRUE.
  464. /* SETTINGS FOR FILL-IN RowObject.VGeb_Be IN FRAME F-Main
  465. NO-ENABLE */
  466. ASSIGN
  467. RowObject.VGeb_Be:HIDDEN IN FRAME F-Main = TRUE
  468. RowObject.VGeb_Be:READ-ONLY IN FRAME F-Main = TRUE.
  469. /* SETTINGS FOR FILL-IN RowObject.VGeb_Me IN FRAME F-Main
  470. NO-ENABLE */
  471. ASSIGN
  472. RowObject.VGeb_Me:HIDDEN IN FRAME F-Main = TRUE
  473. RowObject.VGeb_Me:READ-ONLY IN FRAME F-Main = TRUE.
  474. /* SETTINGS FOR FILL-IN RowObject.VGeb_Ru IN FRAME F-Main
  475. NO-ENABLE */
  476. ASSIGN
  477. RowObject.VGeb_Ru:HIDDEN IN FRAME F-Main = TRUE
  478. RowObject.VGeb_Ru:READ-ONLY IN FRAME F-Main = TRUE.
  479. /* SETTINGS FOR FILL-IN RowObject.WC IN FRAME F-Main
  480. NO-ENABLE EXP-FORMAT */
  481. ASSIGN
  482. RowObject.WC:HIDDEN IN FRAME F-Main = TRUE
  483. RowObject.WC:READ-ONLY IN FRAME F-Main = TRUE.
  484. /* SETTINGS FOR COMBO-BOX RowObject.Zus_Art IN FRAME F-Main
  485. 6 */
  486. /* SETTINGS FOR FILL-IN RowObject.Zus_Wert IN FRAME F-Main
  487. 6 */
  488. /* SETTINGS FOR TEXT-LITERAL "Vol. %"
  489. SIZE 12 BY 1 AT ROW 5 COL 118 RIGHT-ALIGNED */
  490. /* _RUN-TIME-ATTRIBUTES-END */
  491. &ANALYZE-RESUME
  492. /* Setting information for Queries and Browse Widgets fields */
  493. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  494. /* Query rebuild information for FRAME F-Main
  495. _Options = "NO-LOCK"
  496. _Query is NOT OPENED
  497. */ /* FRAME F-Main */
  498. &ANALYZE-RESUME
  499. /* ************************ Control Triggers ************************ */
  500. &Scoped-define SELF-NAME RowObject.Bez1
  501. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Bez1 vTableWin
  502. ON BACK-TAB OF RowObject.Bez1 IN FRAME F-Main /* Bez1 */
  503. DO:
  504. RUN TOOLBAR IN hKontainer ( 'CANCEL' ).
  505. APPLY 'U1'.
  506. RETURN NO-APPLY.
  507. END.
  508. /* _UIB-CODE-BLOCK-END */
  509. &ANALYZE-RESUME
  510. &Scoped-define SELF-NAME E_Bemerk
  511. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL E_Bemerk vTableWin
  512. ON END-ERROR OF E_Bemerk IN FRAME F-Main
  513. DO:
  514. IF VALID-HANDLE ( hLastField ) THEN APPLY 'ENTRY' TO hLastField.
  515. RETURN NO-APPLY.
  516. END.
  517. /* _UIB-CODE-BLOCK-END */
  518. &ANALYZE-RESUME
  519. &Scoped-define SELF-NAME F_Artnr
  520. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr vTableWin
  521. ON ALT-F OF F_Artnr IN FRAME F-Main
  522. DO:
  523. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
  524. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  525. DEFINE VARIABLE iAnzArt AS INTEGER NO-UNDO.
  526. DEFINE VARIABLE iRetVal AS INTEGER INIT 0 NO-UNDO.
  527. DEFINE BUFFER bArtst FOR Artst.
  528. DEFINE BUFFER bArtbez FOR Artbez.
  529. IF NOT lNew THEN RETURN.
  530. RUN 'g-suchen-artikel.w':U ( F_Artnr:SCREEN-VALUE, OUTPUT iRecid ) NO-ERROR.
  531. IF iRecid = ? OR
  532. iRecid = 0 THEN
  533. DO:
  534. APPLY 'ENTRY' TO F_Artnr.
  535. RETURN.
  536. END.
  537. FIND bArtst NO-LOCK WHERE RECID(bArtst) = iRecid.
  538. ASSIGN
  539. rowObject.Artnr :SCREEN-VALUE = STRING(bArtst.Artnr)
  540. rowObject.Inhalt:SCREEN-VALUE = STRING(bArtst.Inhalt)
  541. rowObject.Jahr :SCREEN-VALUE = STRING(bArtst.Jahr)
  542. F_Artnr :SCREEN-VALUE = STRING(bArtst.Artnr).
  543. FIND FIRST tAufze NO-ERROR.
  544. ASSIGN
  545. tAufze.Firma = Firma
  546. tAufze.Aufnr = INTEGER(rowObject.Aufnr:SCREEN-VALUE)
  547. tAufze.Artnr = bArtst.Artnr
  548. tAufze.Inhalt = bArtst.Inhalt
  549. tAufze.Jahr = bArtst.Jahr.
  550. RELEASE bArtst.
  551. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  552. iRetVal = DYNAMIC-FUNCTION ( 'fillAufze':U, INPUT-OUTPUT htAufze ) NO-ERROR.
  553. IF iRetVal > 0 THEN
  554. DO:
  555. DYNAMIC-FUNCTION('fehlerMeldung':U, iRetVal, '' ) NO-ERROR.
  556. APPLY 'ENTRY' TO SELF.
  557. RETURN NO-APPLY.
  558. END.
  559. RUN MENGE.
  560. IF RETURN-VALUE <> '' THEN
  561. DO:
  562. APPLY 'ENTRY' TO SELF.
  563. RETURN NO-APPLY.
  564. END.
  565. FIND FIRST tAufze.
  566. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  567. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-5}', INPUT TRUE ).
  568. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-4}', INPUT FALSE ).
  569. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}', INPUT FALSE ).
  570. APPLY 'ENTRY' TO rowObject.Bez1.
  571. RETURN NO-APPLY.
  572. END.
  573. /* _UIB-CODE-BLOCK-END */
  574. &ANALYZE-RESUME
  575. &Scoped-define SELF-NAME RowObject.Rab_Art
  576. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Rab_Art vTableWin
  577. ON ENTRY OF RowObject.Rab_Art IN FRAME F-Main /* Rab_Art */
  578. DO:
  579. iOldRabArt = INTEGER(SELF:SCREEN-VALUE).
  580. END.
  581. /* _UIB-CODE-BLOCK-END */
  582. &ANALYZE-RESUME
  583. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Rab_Art vTableWin
  584. ON VALUE-CHANGED OF RowObject.Rab_Art IN FRAME F-Main /* Rab_Art */
  585. DO:
  586. DEFINE BUFFER bArtst FOR Artst.
  587. FIND FIRST tAufze.
  588. ASSIGN
  589. tAufze.Rab_Wert = 0.0
  590. tAufze.Rab_Art = INTEGER(SELF:SCREEN-VALUE).
  591. DO WHILE TRUE:
  592. IF tAufze.Rab_Art = 0 THEN
  593. DO:
  594. rowObject.Rab_Wert:READ-ONLY = TRUE.
  595. END.
  596. ELSE
  597. DO:
  598. rowObject.Rab_Wert:READ-ONLY = FALSE.
  599. IF tAufze.Rab_Art = 3 THEN
  600. DO:
  601. FIND bArtst NO-LOCK
  602. WHERE bArtst.Firma = tAufze.Firma
  603. AND bArtst.Artnr = tAufze.Artnr
  604. AND bArtst.Inhalt = tAufze.Inhalt
  605. AND bArtst.Jahr = tAufze.Jahr.
  606. tAufze.Rab_Wert = 0.0.
  607. IF bArtst.DEP <> 0 THEN tAufze.Preis = bArtst.DEP.
  608. IF bArtst.LEP <> 0 THEN tAufze.Preis = bArtst.LEP.
  609. IF bArtst.Listen_EP <> 0 THEN tAufze.Preis = bArtst.Listen_EP.
  610. END.
  611. ELSE
  612. DO:
  613. IF iOldRabArt = 3 THEN
  614. DO:
  615. FIND FIRST tAufze.
  616. ASSIGN
  617. tAufze.Preis_Mut = FALSE
  618. tAufze.Rab_Art = tAufze.Rab_Art
  619. tAufze.Rab_Wert = 0.
  620. iPreisArt = DYNAMIC-FUNCTION('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
  621. IF iPreisArt < 0 THEN
  622. DO:
  623. MESSAGE 'Artikel ohne Preis'
  624. VIEW-AS ALERT-BOX INFORMATION.
  625. iPreisArt = 0.
  626. END.
  627. END.
  628. END.
  629. END.
  630. iOldRabArt = tAufze.Rab_Art.
  631. LEAVE.
  632. END.
  633. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  634. END.
  635. /* _UIB-CODE-BLOCK-END */
  636. &ANALYZE-RESUME
  637. &Scoped-define SELF-NAME X_EXCEL_LISTE
  638. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL X_EXCEL_LISTE vTableWin
  639. ON CHOOSE OF MENU-ITEM X_EXCEL_LISTE /* Excel-Liste einlesen */
  640. DO:
  641. IF FMut THEN RETURN NO-APPLY.
  642. RUN EXCEL_LISTE.
  643. PUBLISH 'refreshAufko'.
  644. DYNAMIC-FUNCTION('openQuery':U IN hDaten) NO-ERROR.
  645. APPLY 'U1'.
  646. RETURN NO-APPLY.
  647. END.
  648. /* _UIB-CODE-BLOCK-END */
  649. &ANALYZE-RESUME
  650. &Scoped-define SELF-NAME RowObject.Zus_Art
  651. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Zus_Art vTableWin
  652. ON VALUE-CHANGED OF RowObject.Zus_Art IN FRAME F-Main /* Zus_Art */
  653. DO:
  654. FIND FIRST tAufze.
  655. ASSIGN
  656. tAufze.Zus_Art = INTEGER(SELF:SCREEN-VALUE).
  657. tAufze.Zus_Wert = 0.0.
  658. IF INTEGER(SELF:SCREEN-VALUE) = 0 THEN
  659. DO:
  660. rowObject.Zus_Wert:READ-ONLY = TRUE.
  661. END.
  662. ELSE
  663. DO:
  664. rowObject.Zus_Wert:READ-ONLY = FALSE.
  665. END.
  666. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  667. END.
  668. /* _UIB-CODE-BLOCK-END */
  669. &ANALYZE-RESUME
  670. &UNDEFINE SELF-NAME
  671. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  672. /* *************************** Main Block *************************** */
  673. { incl/viwmainblock.i }
  674. CREATE tAufze.
  675. CREATE sAufze.
  676. CREATE eAufze.
  677. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  678. ON 'END':U OF FRAME {&FRAME-NAME} ANYWHERE
  679. DO:
  680. FMut = DYNAMIC-FUNCTION ('getMutflag':U, INPUT Progname) NO-ERROR.
  681. IF NOT FMut THEN RETURN 'APPLY'.
  682. RUN TOOLBAR IN hKontainer ( INPUT 'SAVE':U ).
  683. RETURN NO-APPLY.
  684. END.
  685. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  686. RUN initializeObject.
  687. &ENDIF
  688. /************************ INTERNAL PROCEDURES ********************/
  689. /* _UIB-CODE-BLOCK-END */
  690. &ANALYZE-RESUME
  691. /* ********************** Internal Procedures *********************** */
  692. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  693. PROCEDURE addRecord :
  694. /*------------------------------------------------------------------------------
  695. Purpose: Super Override
  696. Parameters:
  697. Notes:
  698. ------------------------------------------------------------------------------*/
  699. DEFINE VARIABLE cRowId AS CHARACTER NO-UNDO.
  700. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
  701. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  702. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  703. DEFINE VARIABLE iKnr AS INTEGER NO-UNDO.
  704. DEFINE VARIABLE lJa AS LOG NO-UNDO.
  705. DEFINE BUFFER bAufko FOR Aufko.
  706. PUBLISH 'GET_CURRENT_AUFKO' ( OUTPUT iRecid, OUTPUT iAufnr ).
  707. DO WITH FRAME {&FRAME-NAME}:
  708. IF iAufnr = 0 THEN
  709. DO:
  710. RUN TOOLBAR IN hKontainer ( 'ABBRUCH' ).
  711. RUN TOOLBAR IN hKontainer ( 'CANCEL' ).
  712. RETURN NO-APPLY.
  713. END.
  714. END.
  715. lNew = TRUE.
  716. FNeu = TRUE.
  717. FMut = TRUE.
  718. FDisp = TRUE.
  719. RUN SUPER.
  720. DO WITH FRAME {&FRAME-NAME}:
  721. EMPTY TEMP-TABLE tAufze.
  722. CREATE tAufze.
  723. ASSIGN
  724. tAufze.Firma = rowObject.Firma:SCREEN-VALUE
  725. tAufze.Aufnr = INTEGER(rowObject.Aufnr:SCREEN-VALUE)
  726. tAufze.Artnr = 0
  727. tAufze.Inhalt = 0
  728. tAufze.Jahr = 0.
  729. FIND bAufko NO-LOCK
  730. WHERE bAufko.Firma = tAufze.Firma
  731. AND bAufko.Aufnr = tAufze.Aufnr.
  732. ASSIGN
  733. tAufze.Rab_Art = bAufko.Zei_Rab_Art
  734. tAufze.Rab_Wert = bAufko.Zei_Rab_Wert
  735. tAufze.Zus_Art = bAufko.Zuschl_Art
  736. tAufze.Zus_Wert = bAufko.Zuschl_Wert.
  737. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  738. END.
  739. END PROCEDURE.
  740. /* _UIB-CODE-BLOCK-END */
  741. &ANALYZE-RESUME
  742. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE applyEntry vTableWin
  743. PROCEDURE applyEntry :
  744. /*------------------------------------------------------------------------------
  745. Purpose: Super Override
  746. Parameters:
  747. Notes:
  748. ------------------------------------------------------------------------------*/
  749. DEFINE INPUT PARAMETER pcField AS CHARACTER NO-UNDO.
  750. lVorEntry = TRUE.
  751. RUN SUPER( INPUT pcField).
  752. APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}.
  753. END PROCEDURE.
  754. /* _UIB-CODE-BLOCK-END */
  755. &ANALYZE-RESUME
  756. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  757. PROCEDURE cancelRecord :
  758. /*------------------------------------------------------------------------------
  759. Purpose: Super Override
  760. Parameters:
  761. Notes:
  762. ------------------------------------------------------------------------------*/
  763. FCancel = TRUE.
  764. lNew = FALSE.
  765. RUN SUPER.
  766. /* Code placed here will execute AFTER standard behavior. */
  767. END PROCEDURE.
  768. /* _UIB-CODE-BLOCK-END */
  769. &ANALYZE-RESUME
  770. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  771. PROCEDURE copyRecord :
  772. /*------------------------------------------------------------------------------
  773. Purpose: Super Override
  774. Parameters:
  775. Notes:
  776. ------------------------------------------------------------------------------*/
  777. RUN TOOLBAR IN hKontainer ('ABBRUCH') NO-ERROR.
  778. /* FNeu = TRUE. */
  779. /* FMut = TRUE. */
  780. /* FCopy = TRUE. */
  781. /* FDisp = TRUE. */
  782. /* */
  783. /* RUN SUPER. */
  784. END PROCEDURE.
  785. /* _UIB-CODE-BLOCK-END */
  786. &ANALYZE-RESUME
  787. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  788. PROCEDURE deleteRecord :
  789. /*------------------------------------------------------------------------------*/
  790. /* Purpose: Super Override */
  791. /* Parameters: */
  792. /* Notes: */
  793. /*------------------------------------------------------------------------------*/
  794. DEFINE VARIABLE lJa AS LOG NO-UNDO.
  795. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  796. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  797. DEFINE VARIABLE lAdmin AS LOG NO-UNDO.
  798. DEFINE VARIABLE lSpez AS LOG NO-UNDO.
  799. DEFINE VARIABLE cMeldung AS CHARACTER NO-UNDO.
  800. DEFINE VARIABLE nTotal AS DECIMAL DECIMALS 4 NO-UNDO EXTENT 15.
  801. DEFINE VARIABLE cRetValue AS CHARACTER NO-UNDO.
  802. DEFINE VARIABLE nAuftot AS DECIMAL NO-UNDO.
  803. DEFINE BUFFER bAufko FOR Aufko.
  804. DEFINE BUFFER bAufze FOR Aufze.
  805. DEFINE BUFFER bRuestAuf FOR RuestAuf.
  806. lAdmin = DYNAMIC-FUNCTION('getAdmin':U) NO-ERROR.
  807. lSpez = DYNAMIC-FUNCTION('getSpez':U ) NO-ERROR.
  808. lJa = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ).
  809. IF NOT lJa THEN
  810. DO:
  811. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  812. RETURN NO-APPLY.
  813. END.
  814. RUN 'refreshRow' IN hDaten.
  815. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
  816. FIND bAufze NO-LOCK WHERE RECID(bAufze) = iRecid.
  817. FIND bAufko NO-LOCK
  818. WHERE bAufko.Firma = bAufze.Firma
  819. AND bAufko.Aufnr = bAufze.Aufnr.
  820. iAufnr = bAufze.Aufnr.
  821. IF bAufko.Auf_Sta >= 03 AND
  822. bAufko.Auf_Sta <= 05 AND
  823. bAufko.Gedruckt AND
  824. NOT lAdmin THEN
  825. DO:
  826. MESSAGE 'Auftragszeile darf nicht mehr gelöscht werden' SKIP
  827. 'Bitte Administrator fragen! ' VIEW-AS ALERT-BOX INFORMATION.
  828. RELEASE bAufko.
  829. RELEASE bAufze.
  830. RETURN NO-APPLY.
  831. END.
  832. lJa = TRUE.
  833. FIND FIRST bRuestAuf NO-LOCK
  834. WHERE bRuestAuf.Firma = bAufko.Firma
  835. AND bRuestAuf.Aufnr = bAufko.Aufnr NO-ERROR.
  836. /* DO WHILE AVAILABLE bRuestAuf: */
  837. /* FIND FIRST bRuestAuf NO-LOCK */
  838. /* WHERE bRuestAuf.Firma = bAufko.Firma */
  839. /* AND bRuestAuf.Aufnr = bAufko.Aufnr */
  840. /* AND bRuestAuf.Artnr = bAufze.Artnr */
  841. /* AND bRuestAuf.Inhalt = bAufze.Inhalt */
  842. /* AND bRuestAuf.Jahr = bAufze.Jahr NO-ERROR. */
  843. /* IF NOT AVAILABLE bRuestAuf THEN LEAVE. */
  844. /* lJa = FALSE. */
  845. /* IF bRuestAuf.lGeruestet THEN */
  846. /* DO: */
  847. /* cMeldung = 'Achtung!!! Artikel ist bereits gerüstet!!!' */
  848. /* + CHR(10) */
  849. /* + 'Unbedingt im Lager melden, dass der Artikel wieder zurück muss!'*/
  850. /* + CHR(10) */
  851. /* + 'Trotzdem löschen?'. */
  852. /* MESSAGE cMeldung VIEW-AS ALERT-BOX QUESTION */
  853. /* BUTTONS YES-NO */
  854. /* UPDATE lJa. */
  855. /* LEAVE. */
  856. /* END. */
  857. /* IF bRuestAuf.lRSGedruckt THEN */
  858. /* DO: */
  859. /* cMeldung = 'Achtung!!! Rüstschein neu Drucken!' */
  860. /* + CHR(10) */
  861. /* + 'Meldung an Lager, dass der Alte vernichtet werden soll'. */
  862. /* MESSAGE cMeldung VIEW-AS ALERT-BOX. */
  863. /* END. */
  864. /* lJa = TRUE. */
  865. /* LEAVE. */
  866. /* END. */
  867. IF NOT lJa THEN
  868. DO:
  869. RUN TOOLBAR IN hKontainer ( 'ABBRUCH' ) NO-ERROR.
  870. RUN TOOLBAR IN hKontainer ( 'CANCEL' ) NO-ERROR.
  871. RELEASE bAufko.
  872. RETURN NO-APPLY.
  873. END.
  874. lJa = DYNAMIC-FUNCTION('deleteAufzeile':U, iRecid ) NO-ERROR.
  875. IF NOT lJa THEN
  876. DO:
  877. cMeldung = DYNAMIC-FUNCTION ('getErrorMessage':U) NO-ERROR.
  878. IF cMeldung = ? THEN cMeldung = ''.
  879. IF cMeldung <> '' THEN
  880. DO:
  881. cMeldung = ENTRY(2, cMeldung, ':') NO-ERROR.
  882. MESSAGE cMeldung
  883. VIEW-AS ALERT-BOX.
  884. END.
  885. RUN TOOLBAR IN hKontainer ( 'CANCEL' ).
  886. RETURN NO-APPLY.
  887. END.
  888. FIND bAufko NO-LOCK
  889. WHERE bAufko.Firma = Firma
  890. AND bAufko.Aufnr = iAufnr NO-ERROR.
  891. nAufTot = bAufko.Auf_Tot.
  892. cRetValue = DYNAMIC-FUNCTION('calculateAuftragsTotal':U, Firma, iAufnr, OUTPUT nTotal ) NO-ERROR.
  893. IF nAufTot <> nTotal[10] THEN DYNAMIC-FUNCTION('setAufkoDruckFlag':U, bAufko.Firma, bAufko.Aufnr, FALSE ) NO-ERROR.
  894. PUBLISH 'refreshAufko'.
  895. DYNAMIC-FUNCTION ('openQuery':U IN hDaten).
  896. END PROCEDURE.
  897. /* _UIB-CODE-BLOCK-END */
  898. &ANALYZE-RESUME
  899. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  900. PROCEDURE disableFields :
  901. /*------------------------------------------------------------------------------
  902. Purpose: Super Override
  903. Parameters:
  904. Notes:
  905. ------------------------------------------------------------------------------*/
  906. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  907. DO WITH FRAME {&FRAME-NAME}:
  908. IF lNew THEN
  909. DO:
  910. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}', INPUT FALSE ).
  911. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-5}', INPUT FALSE ).
  912. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-4}', INPUT FALSE ).
  913. END.
  914. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}', INPUT FALSE ).
  915. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-5}', INPUT FALSE ).
  916. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-4}', INPUT FALSE ).
  917. lNew = FALSE.
  918. END.
  919. RUN SUPER( INPUT pcFieldType).
  920. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  921. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  922. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  923. DO:
  924. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  925. END.
  926. DO WITH FRAME {&FRAME-NAME}:
  927. F_Artnr:READ-ONLY = TRUE.
  928. END.
  929. END PROCEDURE.
  930. /* _UIB-CODE-BLOCK-END */
  931. &ANALYZE-RESUME
  932. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  933. PROCEDURE disable_UI :
  934. /*------------------------------------------------------------------------------
  935. Purpose: DISABLE the User Interface
  936. Parameters: <none>
  937. Notes: Here we clean-up the user-interface by deleting
  938. dynamic widgets we have created and/or hide
  939. frames. This procedure is usually called when
  940. we are ready to "clean-up" after running.
  941. ------------------------------------------------------------------------------*/
  942. /* Hide all frames. */
  943. HIDE FRAME F-Main.
  944. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  945. END PROCEDURE.
  946. /* _UIB-CODE-BLOCK-END */
  947. &ANALYZE-RESUME
  948. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  949. PROCEDURE displayFields :
  950. /*------------------------------------------------------------------------------
  951. Purpose: Super Override
  952. Parameters:
  953. Notes:
  954. ------------------------------------------------------------------------------*/
  955. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  956. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
  957. IF NOT FDisp THEN
  958. DO:
  959. FDisp = TRUE.
  960. RETURN.
  961. END.
  962. cAktRowId = ENTRY(1, pcColValues, CHR(01)).
  963. IF FCancel THEN pcColValues = OldColValues.
  964. IF NOT FNeu THEN OldColValues = pcColValues.
  965. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  966. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  967. DO WITH FRAME {&FRAME-NAME}:
  968. END.
  969. RUN SUPER( INPUT pcColValues).
  970. iArtnr = INTEGER(rowObject.Artnr:SCREEN-VALUE) NO-ERROR.
  971. DO WITH FRAME {&FRAME-NAME}:
  972. F_Artnr:SCREEN-VALUE = (IF iArtnr = 0 THEN '' ELSE rowObject.Artnr:SCREEN-VALUE) NO-ERROR.
  973. CB_Mwst:SCREEN-VALUE = rowObject.WC :SCREEN-VALUE NO-ERROR.
  974. IF NOT FCancel AND
  975. lNew THEN F_Artnr:SCREEN-VALUE = ''.
  976. IF INTEGER(rowObject.PreisArt:SCREEN-VALUE) >= 3 AND
  977. INTEGER(rowObject.PreisArt:SCREEN-VALUE) <= 4 THEN rowObject.Preis:BGCOLOR = 11.
  978. ELSE rowObject.Preis:BGCOLOR = 15.
  979. END.
  980. FCancel = FALSE.
  981. END PROCEDURE.
  982. /* _UIB-CODE-BLOCK-END */
  983. &ANALYZE-RESUME
  984. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  985. PROCEDURE enableFields :
  986. /*------------------------------------------------------------------------------
  987. Purpose: Super Override
  988. Parameters:
  989. Notes:
  990. ------------------------------------------------------------------------------*/
  991. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
  992. /* Code placed here will execute PRIOR to standard behavior. */
  993. /*
  994. RUN SUPER.
  995. */
  996. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  997. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  998. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN
  999. DO:
  1000. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  1001. END.
  1002. DO WITH FRAME {&FRAME-NAME}:
  1003. END.
  1004. IF lNew THEN
  1005. DO:
  1006. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-4}', INPUT TRUE ).
  1007. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}', INPUT TRUE ).
  1008. F_Artnr:READ-ONLY = FALSE.
  1009. RETURN.
  1010. END.
  1011. ELSE
  1012. DO:
  1013. iArtnr = INTEGER(rowObject.Artnr:SCREEN-VALUE) NO-ERROR.
  1014. IF iArtnr = 0 THEN RUN READONLY_FELDER ( INPUT Fenster, '{&List-5}', INPUT TRUE ).
  1015. END.
  1016. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  1017. DO:
  1018. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  1019. END.
  1020. END PROCEDURE.
  1021. /* _UIB-CODE-BLOCK-END */
  1022. &ANALYZE-RESUME
  1023. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  1024. PROCEDURE enableObject :
  1025. /*------------------------------------------------------------------------------
  1026. Purpose: Super Override
  1027. Parameters:
  1028. Notes:
  1029. ------------------------------------------------------------------------------*/
  1030. DO WITH FRAME {&FRAME-NAME}:
  1031. RUN COMBO_MWSTARTIK ( INPUT CB_Mwst:HANDLE ) NO-ERROR.
  1032. END.
  1033. RUN SUPER.
  1034. { incl/viwenableobject.i }
  1035. IF cInstallation = 'realwines' THEN
  1036. DO:
  1037. rowObject.Bez1:FORMAT = 'x(40)'.
  1038. rowObject.Bez2:FORMAT = 'x(40)'.
  1039. END.
  1040. END PROCEDURE.
  1041. /* _UIB-CODE-BLOCK-END */
  1042. &ANALYZE-RESUME
  1043. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  1044. PROCEDURE ENTRY_FELD_TEST :
  1045. /*------------------------------------------------------------------------------
  1046. Purpose:
  1047. Parameters: <none>
  1048. Notes:
  1049. ------------------------------------------------------------------------------*/
  1050. { incl/viwentryfeldtest.i }
  1051. IF lVorEntry THEN
  1052. DO:
  1053. lVorEntry = FALSE.
  1054. RETURN.
  1055. END.
  1056. FIND FIRST tAufze.
  1057. DO WHILE NOT FNeu WITH FRAME {&FRAME-NAME}:
  1058. CASE FeldName:
  1059. WHEN 'F_Artnr' OR
  1060. WHEN 'Inhalt' OR
  1061. WHEN 'Jahr' THEN
  1062. DO:
  1063. APPLY 'TAB' TO SELF.
  1064. RETURN 'APPLY'.
  1065. END.
  1066. WHEN 'Preis' THEN
  1067. DO:
  1068. SELF:MODIFIED = FALSE.
  1069. IF tAufze.Preis_Mut THEN
  1070. DO:
  1071. RUN MELDUNG ( 1065 ).
  1072. END.
  1073. END.
  1074. WHEN 'Rab_Art' OR
  1075. WHEN 'Rab_Wert' OR
  1076. WHEN 'Zus_Art' OR
  1077. WHEN 'Zus_Wert' THEN
  1078. DO:
  1079. SELF:MODIFIED = FALSE.
  1080. END.
  1081. END CASE.
  1082. LEAVE.
  1083. END.
  1084. RETURN ''.
  1085. END PROCEDURE.
  1086. /* _UIB-CODE-BLOCK-END */
  1087. &ANALYZE-RESUME
  1088. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_LISTE vTableWin
  1089. PROCEDURE EXCEL_LISTE :
  1090. /*------------------------------------------------------------------------------
  1091. Purpose:
  1092. Parameters: <none>
  1093. Notes:
  1094. ------------------------------------------------------------------------------*/
  1095. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  1096. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  1097. PUBLISH 'GET_CURRENT_AUFKO' ( OUTPUT iRecid, OUTPUT iAufnr ).
  1098. IF iAufnr = 0 OR
  1099. iAufnr = ? THEN RETURN.
  1100. htKunBest = TEMP-TABLE tKunBest:DEFAULT-BUFFER-HANDLE.
  1101. RUN 'g-excelbestellung.w' ( iAufnr ).
  1102. IF RETURN-VALUE <> '' THEN
  1103. DO:
  1104. MESSAGE RETURN-VALUE
  1105. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
  1106. RETURN NO-APPLY.
  1107. END.
  1108. END PROCEDURE.
  1109. /* _UIB-CODE-BLOCK-END */
  1110. &ANALYZE-RESUME
  1111. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  1112. PROCEDURE FEHLWERTE :
  1113. /*------------------------------------------------------------------------------
  1114. Purpose:
  1115. Parameters: <none>
  1116. Notes:
  1117. ------------------------------------------------------------------------------*/
  1118. DEFINE INPUT-OUTPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  1119. DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
  1120. IF FCancel THEN RETURN.
  1121. IF NOT FCopy THEN
  1122. DO WITH FRAME {&FRAME-NAME}:
  1123. /* i1 = LOOKUP('Feld', oldColList, ',') + 1. */
  1124. /* ENTRY(i1, pcColValues, CHR(1)) = 'Fehlwert' NO-ERROR. */
  1125. END.
  1126. IF FCopy THEN
  1127. DO:
  1128. END.
  1129. END PROCEDURE.
  1130. /* _UIB-CODE-BLOCK-END */
  1131. &ANALYZE-RESUME
  1132. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_ARTNR vTableWin
  1133. PROCEDURE LEAVE_ARTNR :
  1134. /*------------------------------------------------------------------------------
  1135. Purpose:
  1136. Parameters: <none>
  1137. Notes:
  1138. ------------------------------------------------------------------------------*/
  1139. DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  1140. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
  1141. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  1142. DEFINE VARIABLE iAnzArt AS INTEGER NO-UNDO.
  1143. DEFINE VARIABLE iRetVal AS INTEGER INIT 0 NO-UNDO.
  1144. DEFINE VARIABLE lRetVal AS LOG NO-UNDO.
  1145. DEFINE BUFFER bArtst FOR Artst.
  1146. DEFINE BUFFER bArtbez FOR Artbez.
  1147. iLKY = LASTKEY.
  1148. iAnzArt = 0.
  1149. iRecid = 0.
  1150. DO WITH FRAME {&FRAME-NAME}:
  1151. /* ---------------------------------------------------------- */
  1152. /* Artikelnummer = Leer -> Nur Text-Eingabe */
  1153. /* ---------------------------------------------------------- */
  1154. IF ipHandle:SCREEN-VALUE = '' THEN
  1155. DO WITH FRAME {&FRAME-NAME}:
  1156. F_Artnr :SCREEN-VALUE = ''.
  1157. rowObject.Inhalt:SCREEN-VALUE = ''.
  1158. rowObject.Jahr :SCREEN-VALUE = ''.
  1159. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-4}', INPUT FALSE ).
  1160. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-5}', INPUT TRUE ).
  1161. EMPTY TEMP-TABLE tAufze.
  1162. CREATE tAufze.
  1163. ASSIGN
  1164. tAufze.Firma = Firma
  1165. tAufze.Aufnr = INTEGER(rowObject.Aufnr:SCREEN-VALUE)
  1166. tAufze.Artnr = 0
  1167. tAufze.Inhalt = 0
  1168. tAufze.Jahr = 0
  1169. tAufze.Rab_Art = 0
  1170. tAUfze.Rab_Wert = 0.0
  1171. tAufze.Zus_Art = 0
  1172. tAUfze.Zus_Wert = 0.0
  1173. tAufze.Preis_Mut = FALSE.
  1174. lVorEntry = TRUE.
  1175. APPLY 'ENTRY' TO rowObject.Bez1.
  1176. RETURN 'APPLY'.
  1177. END.
  1178. A000:
  1179. REPEAT WHILE TRUE:
  1180. iArtnr = INTEGER(ipHandle:SCREEN-VALUE) NO-ERROR.
  1181. IF ERROR-STATUS:ERROR THEN LEAVE.
  1182. FOR EACH bArtst NO-LOCK
  1183. WHERE bArtst.Firma = Firma
  1184. AND bArtst.Artnr = iArtnr
  1185. AND bArtst.Aktiv = TRUE
  1186. AND bArtst.Ausverk < 9 :
  1187. iAnzArt = iAnzArt + 1.
  1188. IF iAnzArt > 1 THEN LEAVE A000.
  1189. ASSIGN
  1190. iRecid = RECID(bArtst).
  1191. RELEASE bArtst.
  1192. END.
  1193. LEAVE.
  1194. END.
  1195. DO WHILE TRUE:
  1196. IF iAnzArt = 1 THEN LEAVE.
  1197. IF iLKY = 9 AND
  1198. iAnzArt > 0 THEN LEAVE.
  1199. RUN 'g-suchen-artikel.w':U ( F_Artnr:SCREEN-VALUE, OUTPUT iRecid ) NO-ERROR.
  1200. IF iRecid = ? OR
  1201. iRecid = 0 THEN
  1202. DO:
  1203. APPLY 'ENTRY' TO F_Artnr.
  1204. RETURN 'APPLY'.
  1205. END.
  1206. LEAVE.
  1207. END.
  1208. FIND bArtst NO-LOCK WHERE RECID(bArtst) = iRecid.
  1209. IF NOT bArtst.Aktiv THEN
  1210. DO:
  1211. DYNAMIC-FUNCTION('fehlerMeldung':U, 1052, '' ) NO-ERROR.
  1212. APPLY 'ENTRY' TO F_Artnr.
  1213. RETURN 'APPLY'.
  1214. END.
  1215. IF bArtst.Ausverk = 9 THEN
  1216. DO:
  1217. lRetVal = DYNAMIC-FUNCTION('ANTWORT_NEIN':U, 1053, '' ) NO-ERROR.
  1218. IF NOT lRetVal THEN
  1219. DO:
  1220. APPLY 'ENTRY' TO F_Artnr.
  1221. RETURN 'APPLY'.
  1222. END.
  1223. END.
  1224. ASSIGN
  1225. rowObject.Artnr :SCREEN-VALUE = STRING(bArtst.Artnr)
  1226. rowObject.Inhalt:SCREEN-VALUE = STRING(bArtst.Inhalt)
  1227. rowObject.Jahr :SCREEN-VALUE = STRING(bArtst.Jahr)
  1228. F_Artnr :SCREEN-VALUE = STRING(bArtst.Artnr).
  1229. FIND FIRST tAufze NO-ERROR.
  1230. ASSIGN
  1231. tAufze.Firma = Firma
  1232. tAufze.Aufnr = INTEGER(rowObject.Aufnr:SCREEN-VALUE)
  1233. tAufze.Artnr = bArtst.Artnr
  1234. tAufze.Inhalt = bArtst.Inhalt
  1235. tAufze.Jahr = bArtst.Jahr.
  1236. RELEASE bArtst.
  1237. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  1238. iRetVal = DYNAMIC-FUNCTION ( 'fillAufze':U, INPUT-OUTPUT htAufze ) NO-ERROR.
  1239. IF iRetVal > 0 THEN
  1240. DO:
  1241. DYNAMIC-FUNCTION('fehlerMeldung':U, iRetVal, '' ) NO-ERROR.
  1242. APPLY 'ENTRY' TO ipHandle.
  1243. RETURN 'APPLY'.
  1244. END.
  1245. IF iLKY = 09 AND
  1246. iAnzArt > 1 THEN
  1247. DO:
  1248. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  1249. APPLY 'ENTRY' TO rowObject.Inhalt.
  1250. RETURN 'APPLY'.
  1251. END.
  1252. RUN MENGE.
  1253. IF RETURN-VALUE <> '' THEN
  1254. DO:
  1255. APPLY 'ENTRY' TO ipHandle.
  1256. RETURN 'APPLY'.
  1257. END.
  1258. FIND FIRST tAufze.
  1259. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  1260. F_Artnr:SCREEN-VALUE = STRING(tAufze.Artnr).
  1261. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-4}', (IF tAufze.Artnr > 0 THEN FALSE ELSE TRUE) ).
  1262. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}', INPUT FALSE ).
  1263. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-5}', INPUT TRUE ).
  1264. APPLY 'ENTRY' TO rowObject.Bez1.
  1265. RETURN 'APPLY'.
  1266. END.
  1267. END PROCEDURE.
  1268. /* _UIB-CODE-BLOCK-END */
  1269. &ANALYZE-RESUME
  1270. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  1271. PROCEDURE LEAVE_FELD_TEST :
  1272. /*------------------------------------------------------------------------------
  1273. Purpose:
  1274. Parameters: <none>
  1275. Notes:
  1276. ------------------------------------------------------------------------------*/
  1277. { incl/viwleavefeldtest.i }
  1278. DEFINE VARIABLE lJa AS LOG NO-UNDO.
  1279. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
  1280. DEFINE VARIABLE iRabArt AS INTEGER NO-UNDO.
  1281. DEFINE VARIABLE nPreis AS DECIMAL DECIMALS 4 NO-UNDO.
  1282. DEFINE VARIABLE hWiType AS CHARACTER NO-UNDO.
  1283. DEFINE BUFFER bArtst FOR Artst.
  1284. FeldName = ipHandle:NAME.
  1285. hLastField = hLEAVE.
  1286. FIND FIRST tAufze.
  1287. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  1288. CASE FeldName:
  1289. WHEN 'F_Artnr' THEN
  1290. DO:
  1291. RUN LEAVE_ARTNR (SELF:HANDLE).
  1292. RETURN RETURN-VALUE.
  1293. END.
  1294. WHEN 'Inhalt' THEN
  1295. DO:
  1296. RUN LEAVE_INHALT (SELF:HANDLE).
  1297. RETURN RETURN-VALUE.
  1298. END.
  1299. WHEN 'Jahr' THEN
  1300. DO:
  1301. RUN LEAVE_JAHR (SELF:HANDLE).
  1302. RETURN RETURN-VALUE.
  1303. END.
  1304. END CASE.
  1305. LEAVE.
  1306. END.
  1307. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  1308. CASE FeldName:
  1309. WHEN 'Jahr' THEN
  1310. DO:
  1311. IF tAufze.Artnr = 0 THEN
  1312. DO:
  1313. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-4}', INPUT FALSE ).
  1314. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-5}', INPUT TRUE ).
  1315. APPLY 'ENTRY' TO rowObject.Bez1.
  1316. RETURN 'APPLY'.
  1317. END.
  1318. ELSE
  1319. DO:
  1320. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-4}', INPUT FALSE ).
  1321. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}', INPUT FALSE ).
  1322. RUN MENGE.
  1323. IF RETURN-VALUE <> '' THEN
  1324. DO:
  1325. RUN TOOLBAR IN hKontainer ( 'CANCEL' ).
  1326. APPLY 'U1'.
  1327. RETURN 'APPLY'.
  1328. END.
  1329. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-5}', INPUT TRUE ).
  1330. FIND FIRST tAufze.
  1331. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  1332. APPLY 'ENTRY' TO rowObject.Bez1.
  1333. RETURN 'APPLY'.
  1334. END.
  1335. END.
  1336. WHEN 'Preis' THEN
  1337. DO:
  1338. IF tAufze.Artnr > 0 AND
  1339. DECIMAL(SELF:SCREEN-VALUE) = 0.00 THEN
  1340. DO:
  1341. lJa = DYNAMIC-FUNCTION('ANTWORT_NEIN':U, 0329 ) NO-ERROR.
  1342. IF NOT lJa THEN RETURN 'ERROR'.
  1343. tAufze.Preis_Mut = TRUE.
  1344. END.
  1345. IF SELF:MODIFIED THEN tAufze.Preis_Mut = TRUE.
  1346. IF DECIMAL(SELF:SCREEN-VALUE) = 0.00 THEN
  1347. DO:
  1348. ASSIGN
  1349. tAufze.Rab_Art = 0
  1350. tAufze.Rab_Wert = 0.0
  1351. tAufze.Zus_Art = 0
  1352. tAufze.Zus_Wert = 0.0
  1353. tAufze.Aktion = FALSE
  1354. tAufze.Aktion_Text = ''
  1355. tAufze.Preis = 0.
  1356. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  1357. END.
  1358. END.
  1359. WHEN 'Rab_Art' THEN
  1360. DO:
  1361. iRabArt = INTEGER(SELF:SCREEN-VALUE).
  1362. CASE iRabArt:
  1363. WHEN 3 THEN
  1364. DO:
  1365. IF SELF:MODIFIED THEN
  1366. DO:
  1367. FIND bArtst NO-LOCK OF tAufze.
  1368. IF bArtst.DEP <> 0 THEN nPreis = bArtst.DEP.
  1369. IF bArtst.LEP <> 0 THEN nPreis = bArtst.LEP.
  1370. IF bArtst.Listen_EP <> 0 THEN nPreis = bArtst.Listen_EP.
  1371. rowObject.Preis :SCREEN-VALUE = STRING(nPreis).
  1372. rowObject.Rab_Wert:SCREEN-VALUE = STRING(0.0).
  1373. RELEASE bArtst.
  1374. END.
  1375. END.
  1376. END.
  1377. END.
  1378. WHEN 'Rab_Art' OR
  1379. WHEN 'Rab_Wert' OR
  1380. WHEN 'Zus_Art' OR
  1381. WHEN 'Zus_Wert' THEN
  1382. DO:
  1383. IF SELF:MODIFIED THEN
  1384. DO:
  1385. ASSIGN
  1386. tAufze.Preis_Mut = TRUE
  1387. tAufze.Aktion = FALSE
  1388. tAufze.Aktion_Text = ''.
  1389. END.
  1390. END.
  1391. END.
  1392. LEAVE.
  1393. END.
  1394. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  1395. IF NOT SELF:MODIFIED THEN LEAVE.
  1396. IF FeldName = 'F_Artnr' THEN RETURN.
  1397. hWiType = SELF:TYPE.
  1398. CASE hWiType:
  1399. WHEN 'FILL-IN' THEN
  1400. DO:
  1401. IF NOT SELF:READ-ONLY THEN
  1402. DO:
  1403. FIND FIRST tAufze.
  1404. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  1405. htAufze:BUFFER-FIELD(FeldName):BUFFER-VALUE = SELF:SCREEN-VALUE.
  1406. END.
  1407. END.
  1408. WHEN 'COMBO-BOX' THEN
  1409. DO:
  1410. IF SELF:SENSITIVE THEN
  1411. DO:
  1412. FIND FIRST tAufze.
  1413. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  1414. htAufze:BUFFER-FIELD(FeldName):BUFFER-VALUE = SELF:SCREEN-VALUE.
  1415. END.
  1416. END.
  1417. END CASE.
  1418. CASE FeldName:
  1419. END CASE.
  1420. LEAVE.
  1421. END.
  1422. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN
  1423. DO:
  1424. DO WHILE TRUE:
  1425. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  1426. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  1427. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  1428. RETURN ''.
  1429. END.
  1430. APPLY 'ALT-S'.
  1431. RETURN 'APPLY'.
  1432. END.
  1433. RETURN ''.
  1434. END PROCEDURE.
  1435. /* _UIB-CODE-BLOCK-END */
  1436. &ANALYZE-RESUME
  1437. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_INHALT vTableWin
  1438. PROCEDURE LEAVE_INHALT :
  1439. /*------------------------------------------------------------------------------
  1440. Purpose:
  1441. Parameters: <none>
  1442. Notes:
  1443. ------------------------------------------------------------------------------*/
  1444. DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  1445. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
  1446. DEFINE VARIABLE iInhalt AS INTEGER NO-UNDO.
  1447. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  1448. DEFINE VARIABLE iAnzArt AS INTEGER NO-UNDO.
  1449. DEFINE VARIABLE lFehler AS LOG INIT FALSE NO-UNDO.
  1450. DEFINE VARIABLE iRetVal AS INTEGER INIT 0 NO-UNDO.
  1451. DEFINE BUFFER bArtst FOR Artst.
  1452. DEFINE BUFFER bArtbez FOR Artbez.
  1453. DO WITH FRAME {&FRAME-NAME}:
  1454. iLKY = LASTKEY.
  1455. iAnzArt = 0.
  1456. iRecid = 0.
  1457. IF KEYFUNCTION(iLKY) = 'BACK-TAB' THEN RETURN.
  1458. IF KEYLABEL (iLKY) BEGINS 'MOUSE' THEN
  1459. DO:
  1460. APPLY 'ENTRY' TO F_Artnr.
  1461. RETURN 'APPLY'.
  1462. END.
  1463. A000:
  1464. REPEAT WHILE TRUE:
  1465. iArtnr = INTEGER(F_Artnr:SCREEN-VALUE) NO-ERROR.
  1466. IF ERROR-STATUS:ERROR THEN LEAVE.
  1467. iInhalt = INTEGER(ipHandle:SCREEN-VALUE) NO-ERROR.
  1468. FOR EACH bArtst NO-LOCK
  1469. WHERE bArtst.Firma = Firma
  1470. AND bArtst.Artnr = iArtnr
  1471. AND bArtst.Inhalt = iInhalt
  1472. AND bArtst.Aktiv = TRUE
  1473. AND bArtst.Ausverk < 9 :
  1474. iAnzArt = iAnzArt + 1.
  1475. IF iAnzArt > 1 THEN LEAVE A000.
  1476. ASSIGN
  1477. iRecid = RECID(bArtst).
  1478. RELEASE bArtst.
  1479. END.
  1480. LEAVE.
  1481. END.
  1482. DO WHILE TRUE:
  1483. IF iAnzArt = 1 THEN LEAVE.
  1484. IF iLKY = 9 AND
  1485. iAnzArt > 0 THEN LEAVE.
  1486. RUN 'g-suchen-artikel.w':U ( F_Artnr:SCREEN-VALUE, OUTPUT iRecid ) NO-ERROR.
  1487. IF iRecid = ? OR
  1488. iRecid = 0 THEN
  1489. DO:
  1490. APPLY 'ENTRY' TO F_Artnr.
  1491. RETURN 'APPLY'.
  1492. END.
  1493. LEAVE.
  1494. END.
  1495. FIND bArtst NO-LOCK WHERE RECID(bArtst) = iRecid.
  1496. ASSIGN
  1497. rowObject.Artnr :SCREEN-VALUE = STRING(bArtst.Artnr)
  1498. rowObject.Inhalt:SCREEN-VALUE = STRING(bArtst.Inhalt)
  1499. rowObject.Jahr :SCREEN-VALUE = STRING(bArtst.Jahr)
  1500. F_Artnr :SCREEN-VALUE = STRING(bArtst.Artnr).
  1501. FIND FIRST tAufze NO-ERROR.
  1502. ASSIGN
  1503. tAufze.Firma = Firma
  1504. tAufze.Aufnr = INTEGER(rowObject.Aufnr:SCREEN-VALUE)
  1505. tAufze.Artnr = bArtst.Artnr
  1506. tAufze.Inhalt = bArtst.Inhalt
  1507. tAufze.Jahr = bArtst.Jahr.
  1508. RELEASE bArtst.
  1509. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  1510. iRetVal = DYNAMIC-FUNCTION ( 'fillAufze':U, INPUT-OUTPUT htAufze ) NO-ERROR.
  1511. IF iRetVal > 0 THEN
  1512. DO:
  1513. DYNAMIC-FUNCTION('fehlerMeldung':U, iRetVal, '' ) NO-ERROR.
  1514. APPLY 'ENTRY' TO ipHandle.
  1515. RETURN 'APPLY'.
  1516. END.
  1517. IF iLKY = 09 AND
  1518. iAnzArt > 1 THEN
  1519. DO:
  1520. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  1521. RETURN.
  1522. END.
  1523. RUN MENGE.
  1524. IF RETURN-VALUE <> '' THEN
  1525. DO:
  1526. APPLY 'ENTRY' TO ipHandle.
  1527. RETURN 'APPLY'.
  1528. END.
  1529. FIND FIRST tAufze.
  1530. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  1531. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-4}', (IF tAufze.Artnr > 0 THEN FALSE ELSE TRUE) ).
  1532. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}', INPUT FALSE ).
  1533. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-5}', INPUT TRUE ).
  1534. APPLY 'ENTRY' TO rowObject.Bez1.
  1535. RETURN 'APPLY'.
  1536. END.
  1537. END PROCEDURE.
  1538. /* _UIB-CODE-BLOCK-END */
  1539. &ANALYZE-RESUME
  1540. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_JAHR vTableWin
  1541. PROCEDURE LEAVE_JAHR :
  1542. /*------------------------------------------------------------------------------
  1543. Purpose:
  1544. Parameters: <none>
  1545. Notes:
  1546. ------------------------------------------------------------------------------*/
  1547. DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  1548. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
  1549. DEFINE VARIABLE iInhalt AS INTEGER NO-UNDO.
  1550. DEFINE VARIABLE iJahr AS INTEGER NO-UNDO.
  1551. DEFINE VARIABLE iAnzArt AS INTEGER NO-UNDO.
  1552. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  1553. DEFINE VARIABLE iRetVal AS INTEGER NO-UNDO.
  1554. DEFINE BUFFER bArtst FOR Artst.
  1555. DEFINE BUFFER bArtbez FOR Artbez.
  1556. DO WITH FRAME {&FRAME-NAME}:
  1557. iLKY = LASTKEY.
  1558. iAnzArt = 0.
  1559. iRecid = 0.
  1560. IF KEYFUNCTION(iLKY) = 'BACK-TAB' THEN RETURN.
  1561. IF KEYLABEL (iLKY) BEGINS 'MOUSE' THEN
  1562. DO:
  1563. APPLY 'ENTRY' TO rowObject.Inhalt.
  1564. RETURN 'APPLY'.
  1565. END.
  1566. A000:
  1567. REPEAT WHILE TRUE:
  1568. iArtnr = INTEGER(F_Artnr:SCREEN-VALUE) NO-ERROR.
  1569. IF ERROR-STATUS:ERROR THEN LEAVE.
  1570. iInhalt = INTEGER(rowObject.Inhalt:SCREEN-VALUE) NO-ERROR.
  1571. iJahr = INTEGER(ipHandle:SCREEN-VALUE) NO-ERROR.
  1572. FOR EACH bArtst NO-LOCK
  1573. WHERE bArtst.Firma = Firma
  1574. AND bArtst.Artnr = iArtnr
  1575. AND bArtst.Inhalt = iInhalt
  1576. AND bArtst.Jahr = iJahr
  1577. AND bArtst.Aktiv = TRUE
  1578. AND bArtst.Ausverk < 9 :
  1579. iAnzArt = iAnzArt + 1.
  1580. IF iAnzArt > 1 THEN LEAVE A000.
  1581. ASSIGN
  1582. iRecid = RECID(bArtst).
  1583. RELEASE bArtst.
  1584. END.
  1585. LEAVE.
  1586. END.
  1587. DO WHILE TRUE:
  1588. IF iAnzArt = 1 THEN LEAVE.
  1589. APPLY 'ENTRY' TO ipHandle.
  1590. RETURN 'APPLY'.
  1591. END.
  1592. FIND bArtst NO-LOCK WHERE RECID(bArtst) = iRecid.
  1593. ASSIGN
  1594. rowObject.Artnr :SCREEN-VALUE = STRING(bArtst.Artnr)
  1595. rowObject.Inhalt:SCREEN-VALUE = STRING(bArtst.Inhalt)
  1596. rowObject.Jahr :SCREEN-VALUE = STRING(bArtst.Jahr)
  1597. F_Artnr :SCREEN-VALUE = STRING(bArtst.Artnr).
  1598. FIND FIRST tAufze NO-ERROR.
  1599. ASSIGN
  1600. tAufze.Firma = Firma
  1601. tAufze.Aufnr = INTEGER(rowObject.Aufnr:SCREEN-VALUE)
  1602. tAufze.Artnr = bArtst.Artnr
  1603. tAufze.Inhalt = bArtst.Inhalt
  1604. tAufze.Jahr = bArtst.Jahr .
  1605. RELEASE bArtst.
  1606. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  1607. iRetVal = DYNAMIC-FUNCTION ( 'fillAufze':U, INPUT-OUTPUT htAufze ) NO-ERROR.
  1608. IF iRetVal > 0 THEN
  1609. DO:
  1610. DYNAMIC-FUNCTION('fehlerMeldung':U, iRetVal, '' ) NO-ERROR.
  1611. APPLY 'ENTRY' TO ipHandle.
  1612. RETURN 'APPLY'.
  1613. END.
  1614. RUN MENGE.
  1615. IF RETURN-VALUE <> '' THEN
  1616. DO:
  1617. APPLY 'ENTRY' TO ipHandle.
  1618. RETURN 'APPLY'.
  1619. END.
  1620. FIND FIRST tAufze.
  1621. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  1622. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-4}', (IF tAufze.Artnr > 0 THEN FALSE ELSE TRUE) ).
  1623. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-6}', INPUT FALSE ).
  1624. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&List-5}', INPUT TRUE ).
  1625. APPLY 'ENTRY' TO rowObject.Bez1.
  1626. RETURN 'APPLY'.
  1627. END.
  1628. END PROCEDURE.
  1629. /* _UIB-CODE-BLOCK-END */
  1630. &ANALYZE-RESUME
  1631. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MENGE vTableWin
  1632. PROCEDURE MENGE :
  1633. /*------------------------------------------------------------------------------
  1634. Purpose:
  1635. Parameters: <none>
  1636. Notes:
  1637. ------------------------------------------------------------------------------*/
  1638. DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
  1639. DEFINE VARIABLE lRetVal AS LOG NO-UNDO.
  1640. DEFINE BUFFER bArtst FOR Artst.
  1641. DEFINE BUFFER bKGebinde FOR KGebinde.
  1642. DEFINE BUFFER bVGebinde FOR VGebinde.
  1643. DEFINE BUFFER bGGebinde FOR GGebinde.
  1644. FIND FIRST tAufze NO-ERROR.
  1645. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  1646. RUN "g-gebindemenge-neu.w" ( INPUT-OUTPUT htAufze, OUTPUT lRetVal ).
  1647. IF NOT lRetVal THEN RETURN 'Fehler'.
  1648. FIND FIRST tAufze.
  1649. FIND bArtst NO-LOCK
  1650. WHERE bArtst.Firma = tAufze.Firma
  1651. AND bArtst.Artnr = tAufze.Artnr
  1652. AND bArtst.Inhalt = tAufze.Inhalt
  1653. AND bArtst.Jahr = tAufze.Jahr.
  1654. ASSIGN
  1655. tAufze.KGeb_Ru = tAufze.KGeb_Be - tAufze.KGeb_Me
  1656. tAufze.VGeb_Ru = tAufze.VGeb_Be - tAufze.VGeb_Me
  1657. tAufze.GGeb_Ru = tAufze.GGeb_Be - tAufze.GGeb_Me
  1658. tAufze.MBest = tAufze.KGeb_Be
  1659. tAufze.MGeli = tAufze.KGeb_Me
  1660. tAufze.MRuek = tAufze.KGeb_Ru.
  1661. FIND bGGebinde NO-LOCK
  1662. WHERE bGGebinde.Firma = Firma
  1663. AND bGGebinde.Geb_Cd = tAufze.GGeb_Cd NO-ERROR.
  1664. FIND bVGebinde NO-LOCK
  1665. WHERE bVGebinde.Firma = Firma
  1666. AND bVGebinde.Geb_Cd = tAufze.VGeb_Cd NO-ERROR.
  1667. FIND bKGebinde NO-LOCK
  1668. WHERE bKGebinde.Firma = Firma
  1669. AND bKGebinde.Geb_Cd = tAufze.KGeb_Cd NO-ERROR.
  1670. /* -------------------------------------------------------------- */
  1671. /* Liter und Gewicht */
  1672. /* -------------------------------------------------------------- */
  1673. tAufze.Liter = bKGebinde.Inhalt * tAufze.KGeb_Me / 100.
  1674. tAufze.Gewicht = (bArtst.Gewicht * tAufze.KGeb_Me)
  1675. + (bKGebinde.Gewicht * tAufze.KGeb_Me)
  1676. + (bVGebinde.Gewicht * tAufze.VGeb_Me)
  1677. + (bGGebinde.Gewicht * tAufze.GGeb_Me).
  1678. tAufze.KGebinde = bKGebinde.KBez.
  1679. tAufze.VGebinde = bVGebinde.KBez.
  1680. tAufze.GGebinde = bGGebinde.KBez.
  1681. iPreisArt = DYNAMIC-FUNCTION('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
  1682. IF iPreisArt < 0 THEN
  1683. DO:
  1684. MESSAGE 'Artikel ohne Preis'
  1685. VIEW-AS ALERT-BOX INFORMATION.
  1686. iPreisArt = 0.
  1687. END.
  1688. DO WITH FRAME {&FRAME-NAME}:
  1689. tAufze.PreisArt = iPreisArt.
  1690. rowObject.PreisArt:SCREEN-VALUE = STRING(iPreisArt).
  1691. rowObject.Preis:BGCOLOR = 15.
  1692. CASE iPreisArt:
  1693. WHEN 3 THEN
  1694. rowObject.Preis:BGCOLOR = 11.
  1695. WHEN 4 THEN
  1696. rowObject.Preis:BGCOLOR = 11.
  1697. END.
  1698. END.
  1699. RELEASE bArtst.
  1700. RELEASE bKGebinde.
  1701. RELEASE bVGebinde.
  1702. RELEASE bGGebinde.
  1703. END PROCEDURE.
  1704. /* _UIB-CODE-BLOCK-END */
  1705. &ANALYZE-RESUME
  1706. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  1707. PROCEDURE RETURN_FELD :
  1708. /*------------------------------------------------------------------------------
  1709. Purpose:
  1710. Parameters: <none>
  1711. Notes:
  1712. ------------------------------------------------------------------------------*/
  1713. { incl/viwreturnfeld.i }
  1714. END PROCEDURE.
  1715. /* _UIB-CODE-BLOCK-END */
  1716. &ANALYZE-RESUME
  1717. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEMP_TABLE_TO_BUFFER vTableWin
  1718. PROCEDURE TEMP_TABLE_TO_BUFFER :
  1719. /*------------------------------------------------------------------------------
  1720. Purpose:
  1721. Parameters: <none>
  1722. Notes:
  1723. ------------------------------------------------------------------------------*/
  1724. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  1725. DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
  1726. DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
  1727. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
  1728. DEFINE VARIABLE cColList AS CHARACTER NO-UNDO.
  1729. DEFINE VARIABLE hFeld AS HANDLE NO-UNDO.
  1730. DEFINE VARIABLE hbAufze AS HANDLE NO-UNDO.
  1731. DEFINE BUFFER bAufze FOR Aufze.
  1732. cColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  1733. ii = NUM-ENTRIES(cColList, ',') + 1.
  1734. FIND FIRST tAufze.
  1735. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
  1736. DYNAMIC-FUNCTION('fillArtbwFromAufze':U, INPUT-OUTPUT htAufze ) NO-ERROR.
  1737. REPEAT TRANSACTION:
  1738. DISABLE TRIGGERS FOR LOAD OF Aufze.
  1739. FIND bAufze OF tAufze.
  1740. rAufze = RECID(bAufze).
  1741. hbAufze = BUFFER bAufze:HANDLE.
  1742. DO ii = 1 TO hbAufze:NUM-FIELDS:
  1743. cFeld = hbAufze:BUFFER-FIELD(ii):NAME.
  1744. hFeld = htAufze:BUFFER-FIELD(cFeld) NO-ERROR.
  1745. IF NOT VALID-HANDLE(hFeld) THEN NEXT.
  1746. IF hFeld:EXTENT > 1 THEN
  1747. DO:
  1748. DO i2 = 1 TO hFeld:EXTENT:
  1749. IF hbAufze:BUFFER-FIELD(cFeld):BUFFER-VALUE(i2) = hFeld:BUFFER-VALUE(i2) THEN NEXT.
  1750. hbAufze:BUFFER-FIELD(cFeld):BUFFER-VALUE(i2) = hFeld:BUFFER-VALUE(i2).
  1751. END.
  1752. NEXT.
  1753. END.
  1754. IF hbAufze:BUFFER-FIELD(cFeld):BUFFER-VALUE = hFeld:BUFFER-VALUE THEN NEXT.
  1755. hbAufze:BUFFER-FIELD(cFeld):BUFFER-VALUE = hFeld:BUFFER-VALUE.
  1756. END.
  1757. RELEASE bAufze.
  1758. LEAVE.
  1759. END.
  1760. DO WITH FRAME {&FRAME-NAME}:
  1761. RUN refreshRow IN hDaten NO-ERROR.
  1762. END.
  1763. END PROCEDURE.
  1764. /* _UIB-CODE-BLOCK-END */
  1765. &ANALYZE-RESUME
  1766. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEMP_TABLE_TO_SCREEN vTableWin
  1767. PROCEDURE TEMP_TABLE_TO_SCREEN :
  1768. /*------------------------------------------------------------------------------
  1769. Purpose:
  1770. Parameters: <none>
  1771. Notes:
  1772. ------------------------------------------------------------------------------*/
  1773. DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  1774. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  1775. DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
  1776. DEFINE VARIABLE cColList AS CHARACTER NO-UNDO.
  1777. DEFINE VARIABLE cColValues AS CHARACTER NO-UNDO.
  1778. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
  1779. cColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  1780. ii = NUM-ENTRIES(cColList, ',') + 1.
  1781. cColValues = FILL(CHR(01), ii).
  1782. DO ii = 1 TO ipHandle:NUM-FIELDS:
  1783. cFeld = ipHandle:BUFFER-FIELD(ii):NAME.
  1784. i1 = LOOKUP(cFeld, cColList, ',') + 1 NO-ERROR.
  1785. IF i1 < 2 THEN NEXT.
  1786. ENTRY(i1, cColValues, CHR(1)) = ipHandle:BUFFER-FIELD(ii):BUFFER-VALUE NO-ERROR.
  1787. END.
  1788. ENTRY(1, cColValues, CHR(01)) = cAktRowId.
  1789. RUN displayFields ( cColValues ).
  1790. END PROCEDURE.
  1791. /* _UIB-CODE-BLOCK-END */
  1792. &ANALYZE-RESUME
  1793. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin
  1794. PROCEDURE TEST_EINGABEN :
  1795. /*------------------------------------------------------------------------------
  1796. Purpose:
  1797. Parameters: <none>
  1798. Notes:
  1799. ------------------------------------------------------------------------------*/
  1800. DEFINE OUTPUT PARAMETER opJa AS LOG NO-UNDO.
  1801. DEFINE VARIABLE eHandle AS HANDLE NO-UNDO.
  1802. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  1803. DEFINE VARIABLE iNummer AS INTEGER NO-UNDO.
  1804. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  1805. DEFINE VARIABLE lJa AS LOG NO-UNDO.
  1806. DEFINE BUFFER bAufze FOR Aufze.
  1807. FIND FIRST tAufze.
  1808. opJa = FALSE.
  1809. eHandle = ?.
  1810. IF NOT FMut THEN RETURN.
  1811. AAA000:
  1812. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  1813. IF tAufze.Artnr = 0 THEN LEAVE.
  1814. IF DECIMAL(rowObject.Preis:SCREEN-VALUE) = 0 AND
  1815. tAufze.Preis_Mut = FALSE THEN
  1816. DO:
  1817. lJa = DYNAMIC-FUNCTION('ANTWORT_NEIN', 0329 ) NO-ERROR.
  1818. IF NOT lJa THEN
  1819. DO:
  1820. eHandle = rowObject.Preis:HANDLE.
  1821. LEAVE.
  1822. END.
  1823. END.
  1824. IF INTEGER(rowObject.Rab_Art :SCREEN-VALUE) = 0 THEN rowObject.Rab_Wert:SCREEN-VALUE = STRING(0).
  1825. IF INTEGER(rowObject.Zus_Art :SCREEN-VALUE) = 0 THEN rowObject.Zus_Wert:SCREEN-VALUE = STRING(0).
  1826. IF DECIMAL(rowObject.Zus_Wert:SCREEN-VALUE) = 0 THEN rowObject.Zus_Art :SCREEN-VALUE = STRING(0).
  1827. ASSIGN
  1828. tAufze.Rab_Art = INTEGER(rowObject.Rab_Art :SCREEN-VALUE)
  1829. tAufze.Rab_Wert = DECIMAL(rowObject.Rab_Wert:SCREEN-VALUE)
  1830. tAufze.Zus_Art = INTEGER(rowObject.Zus_Art :SCREEN-VALUE)
  1831. tAufze.Zus_Wert = DECIMAL(rowObject.Zus_Wert:SCREEN-VALUE) NO-ERROR.
  1832. LEAVE.
  1833. END.
  1834. IF VALID-HANDLE(eHandle) THEN
  1835. DO:
  1836. APPLY 'ENTRY' TO eHandle.
  1837. RETURN NO-APPLY.
  1838. END.
  1839. IF NOT lNew THEN
  1840. DO:
  1841. /* -------------------------------------------------------------------------- */
  1842. /* ist der Datensatz inwischen von einem anderen Benutzer geändert worden ? */
  1843. /* -------------------------------------------------------------------------- */
  1844. FIND FIRST eAufze.
  1845. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
  1846. FIND bAufze EXCLUSIVE-LOCK WHERE RECID(bAufze) = iRecid.
  1847. BUFFER-COPY bAufze TO eAufze.
  1848. RELEASE bAufze.
  1849. FIND FIRST sAufze.
  1850. BUFFER-COMPARE sAufze TO eAufze SAVE RESULT IN cString.
  1851. IF cString <> '' THEN
  1852. DO:
  1853. MESSAGE 'Dieser Datensatz wurde inzwischen von einem anderen Benutzer verändert' SKIP
  1854. 'Ihre Änderungen werden rückgängig gemacht, bitte nochmals eingeben'
  1855. VIEW-AS ALERT-BOX.
  1856. RELEASE bAufze.
  1857. RUN TOOLBAR IN hKontainer ('ABBRUCH') NO-ERROR.
  1858. RUN TOOLBAR IN hKontainer ('CANCEL') NO-ERROR.
  1859. RUN refreshRow IN hDaten.
  1860. RETURN NO-APPLY.
  1861. END.
  1862. RELEASE bAufze.
  1863. END.
  1864. ELSE
  1865. DO:
  1866. FIND FIRST tAufze.
  1867. FIND LAST bAufze NO-LOCK
  1868. WHERE bAufze.Firma = tAufze.Firma
  1869. AND bAufze.Aufnr = tAufze.Aufnr NO-ERROR.
  1870. IF NOT AVAILABLE bAufze THEN tAufze.Pos = 05.
  1871. ELSE tAufze.Pos = bAufze.Pos - (bAufze.Pos MOD 5) + 05.
  1872. rowObject.Pos:SCREEN-VALUE = STRING(tAufze.Pos).
  1873. END.
  1874. RUN TEMP_TABLE_TO_SCREEN ( htAufze ).
  1875. opJa = TRUE.
  1876. END PROCEDURE.
  1877. /* _UIB-CODE-BLOCK-END */
  1878. &ANALYZE-RESUME
  1879. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  1880. PROCEDURE updateMode :
  1881. /*------------------------------------------------------------------------------
  1882. Purpose: Super Override
  1883. Parameters:
  1884. Notes:
  1885. ------------------------------------------------------------------------------*/
  1886. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  1887. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  1888. DEFINE BUFFER bAufze FOR Aufze.
  1889. CASE pcMode:
  1890. WHEN 'updateBegin' THEN
  1891. DO:
  1892. RUN 'refreshRow' IN hDaten.
  1893. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten).
  1894. FIND bAufze NO-LOCK WHERE RECID(bAufze) = iRecid.
  1895. FIND FIRST tAufze NO-ERROR.
  1896. IF NOT AVAILABLE tAufze THEN CREATE tAufze.
  1897. BUFFER-COPY bAufze TO tAufze.
  1898. FIND FIRST sAufze.
  1899. BUFFER-COPY bAufze TO sAufze.
  1900. RELEASE bAufze.
  1901. END.
  1902. WHEN 'updateEnd' THEN
  1903. DO:
  1904. END.
  1905. END.
  1906. RUN SUPER( INPUT pcMode).
  1907. CASE pcMode:
  1908. WHEN 'updateBegin' THEN
  1909. DO WITH FRAME {&FRAME-NAME}:
  1910. FMut = TRUE.
  1911. END.
  1912. WHEN 'updateEnd' THEN
  1913. DO:
  1914. FNeu = FALSE.
  1915. FMut = FALSE.
  1916. FCopy = FALSE.
  1917. lNew = FALSE.
  1918. PUBLISH 'REFRESHAUFZE'.
  1919. APPLY 'U1'.
  1920. END.
  1921. END.
  1922. END PROCEDURE.
  1923. /* _UIB-CODE-BLOCK-END */
  1924. &ANALYZE-RESUME
  1925. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  1926. PROCEDURE updateRecord :
  1927. /*------------------------------------------------------------------------------
  1928. Purpose: Super Override
  1929. Parameters:
  1930. Notes:
  1931. ------------------------------------------------------------------------------*/
  1932. DEFINE VARIABLE lrNew AS LOG NO-UNDO.
  1933. DEFINE VARIABLE nTotal AS DECIMAL DECIMALS 4 NO-UNDO EXTENT 15.
  1934. DEFINE VARIABLE cRetValue AS CHARACTER NO-UNDO.
  1935. DEFINE VARIABLE nAufTot AS DECIMAL NO-UNDO.
  1936. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  1937. DEFINE BUFFER bAufko FOR Aufko.
  1938. DO WITH FRAME {&FRAME-NAME}:
  1939. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE).
  1940. END.
  1941. lrNew = lNew.
  1942. FNeu = FALSE.
  1943. FCopy = FALSE.
  1944. FIND FIRST tAufze.
  1945. IF tAufze.Artnr > 0 THEN DYNAMIC-FUNCTION('calculateZeilenTotal':U, INPUT-OUTPUT htAufze ).
  1946. REPEAT TRANSACTION:
  1947. RUN SUPER.
  1948. RUN TEMP_TABLE_TO_BUFFER.
  1949. LEAVE.
  1950. END.
  1951. ii = (IF lrNew THEN 0 ELSE 1).
  1952. DYNAMIC-FUNCTION ('updateRuestAuftrag':U, ii, rAufze ).
  1953. IF tAufze.Artnr > 0 THEN
  1954. DO:
  1955. FIND bAufko NO-LOCK
  1956. WHERE bAufko.Firma = tAufze.Firma
  1957. AND bAufko.Aufnr = tAufze.Aufnr NO-ERROR.
  1958. nAufTot = bAufko.Auf_Tot.
  1959. cRetValue = DYNAMIC-FUNCTION('calculateAuftragsTotal':U, tAufze.Firma, tAufze.Aufnr, OUTPUT nTotal ) NO-ERROR.
  1960. IF nAufTot <> nTotal[10] THEN DYNAMIC-FUNCTION('setAufkoDruckFlag':U, tAufze.Firma, tAufze.Aufnr, FALSE ) NO-ERROR.
  1961. PUBLISH 'refreshAufko'.
  1962. END.
  1963. END PROCEDURE.
  1964. /* _UIB-CODE-BLOCK-END */
  1965. &ANALYZE-RESUME
  1966. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject vTableWin
  1967. PROCEDURE viewObject :
  1968. /*------------------------------------------------------------------------------
  1969. Purpose: Super Override
  1970. Parameters:
  1971. Notes:
  1972. ------------------------------------------------------------------------------*/
  1973. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  1974. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  1975. DEFINE VARIABLE iKnr AS INTEGER NO-UNDO.
  1976. DEFINE VARIABLE lJa AS LOG NO-UNDO.
  1977. DEFINE VARIABLE cBemerk AS CHARACTER NO-UNDO.
  1978. DEFINE VARIABLE lFirst AS LOG NO-UNDO.
  1979. DEFINE BUFFER bAufko FOR Aufko.
  1980. DEFINE BUFFER bAufze FOR Aufze.
  1981. DEFINE BUFFER bKunBest FOR KunBest.
  1982. DEFINE BUFFER bDebst FOR Debst.
  1983. DEFINE BUFFER bSteuer FOR Steuer.
  1984. DEFINE BUFFER bAdresse FOR Adresse.
  1985. RUN SUPER.
  1986. DYNAMIC-FUNCTION('openQuery':U IN hDaten) NO-ERROR.
  1987. PUBLISH 'GET_CURRENT_AUFKO' ( OUTPUT iRecid, OUTPUT iAufnr ).
  1988. IF iAufnr = 0 OR
  1989. iAufnr = ? THEN RETURN.
  1990. FIND FIRST bAufze NO-LOCK
  1991. WHERE bAufze.Firma = Firma
  1992. AND bAufze.Aufnr = iAufnr NO-ERROR.
  1993. IF AVAILABLE bAufze THEN lFirst = FALSE.
  1994. ELSE lFirst = TRUE.
  1995. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid.
  1996. iKnr = bAufko.Knr.
  1997. FIND bSteuer NO-LOCK
  1998. WHERE bSteuer.Firma = bAufko.Firma NO-ERROR.
  1999. FIND bDebst NO-LOCK
  2000. WHERE bDebst.Firma = bAufko.Firma
  2001. AND bDebst.Knr = bAufko.Knr NO-ERROR.
  2002. FIND bAdresse NO-LOCK
  2003. WHERE bAdresse.Firma = AdFirma
  2004. AND bAdresse.Knr = bAufko.Knr NO-ERROR.
  2005. cBemerk = ''.
  2006. CASE bSteuer.St05:
  2007. WHEN 0 THEN
  2008. cBemerk = bDebst.Bemerk .
  2009. WHEN 1 THEN
  2010. cBemerk = bAdresse.Bem .
  2011. WHEN 2 THEN
  2012. cBemerk = bDebst.Auf_Text .
  2013. END CASE.
  2014. IF cBemerk <> '' THEN
  2015. DO:
  2016. E_Bemerk:SCREEN-VALUE IN FRAME {&FRAME-NAME} = cBemerk.
  2017. E_Bemerk:BGCOLOR = 14.
  2018. END.
  2019. ELSE
  2020. DO:
  2021. E_Bemerk:SCREEN-VALUE IN FRAME {&FRAME-NAME} = ''.
  2022. E_Bemerk:BGCOLOR = 15.
  2023. END.
  2024. RELEASE bAufko.
  2025. RELEASE bAufze.
  2026. RELEASE bDebst.
  2027. RELEASE bSteuer.
  2028. RELEASE bAdresse.
  2029. IF NOT lFirst THEN RETURN.
  2030. FIND FIRST bKunBest NO-LOCK
  2031. WHERE bKunBest.Firma = Firma
  2032. AND bKunBest.Knr = iKnr NO-ERROR.
  2033. IF NOT AVAILABLE bKunBest THEN RETURN.
  2034. lJa = DYNAMIC-FUNCTION('ANTWORT_NEIN':U, 0315) NO-ERROR.
  2035. IF NOT lJa THEN RETURN.
  2036. RUN 'g-faxbestellung.w' ( iAufnr, bKunBest.Knr, OUTPUT htKunBest ) NO-ERROR.
  2037. PUBLISH 'refreshAufko'.
  2038. DYNAMIC-FUNCTION('openQuery':U IN hDaten) NO-ERROR.
  2039. END PROCEDURE.
  2040. /* _UIB-CODE-BLOCK-END */
  2041. &ANALYZE-RESUME