v-liefst.w 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304
  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. /* Temp-Table and Buffer definitions */
  8. DEFINE TEMP-TABLE RowObject
  9. {"d-liefst.i"}.
  10. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS vTableWin
  11. /*------------------------------------------------------------------------
  12. File:
  13. Description: from viewer.w - Template for SmartDataViewer objects
  14. Input Parameters:
  15. <none>
  16. Output Parameters:
  17. <none>
  18. ------------------------------------------------------------------------*/
  19. /* This .W file was created with the Progress AppBuilder. */
  20. /*----------------------------------------------------------------------*/
  21. /* Create an unnamed pool to store all the widgets created
  22. by this procedure. This is a good default which assures
  23. that this procedure's triggers and internal procedures
  24. will execute in this procedure's storage, and that proper
  25. cleanup will occur on deletion of the procedure. */
  26. CREATE WIDGET-POOL.
  27. /* *************************** Definitions ************************** */
  28. /* Komma-Trennzeichen */
  29. /* Keyfelder werden beim Mutieren nicht "Enabled" */
  30. &Scoped-define ERSTES_FELD CB_FRW
  31. &Scoped-define LETZTES_FELD Bemerkung
  32. &Scoped-define KEY_FELDER
  33. &Scoped-define NUR_LESEN
  34. /* Parameters Definitions --- */
  35. /* Local Variable Definitions --- */
  36. { incl/viwdefinition.i }
  37. DEF VAR Vorhanden AS LOG NO-UNDO.
  38. DEF VAR hLEAVE AS HANDLE NO-UNDO.
  39. DEF VAR hENTER AS HANDLE NO-UNDO.
  40. /* _UIB-CODE-BLOCK-END */
  41. &ANALYZE-RESUME
  42. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  43. /* ******************** Preprocessor Definitions ******************** */
  44. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  45. &Scoped-define DB-AWARE no
  46. &Scoped-define ADM-CONTAINER FRAME
  47. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  48. /* Include file with RowObject temp-table definition */
  49. &Scoped-define DATA-FIELD-DEFS "d-liefst.i"
  50. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  51. &Scoped-define FRAME-NAME F-Main
  52. /* Standard List Definitions */
  53. &Scoped-Define ENABLED-FIELDS RowObject.Kontakt RowObject.Anrede ~
  54. RowObject.Lieferungen RowObject.BestBis RowObject.Bestell_Intervall ~
  55. RowObject.Lieferzeit RowObject.GLN_Nr1 RowObject.GLN_Nr2 ~
  56. RowObject.Min_Betrag RowObject.Min_Gewicht RowObject.Min_GGebinde ~
  57. RowObject.Min_VGebinde RowObject.Min_KGebinde RowObject.Rabatt ~
  58. RowObject.ZusRab RowObject.Spesen RowObject.Kopf RowObject.Schluss ~
  59. RowObject.Bemerkung RowObject.Barcode_Typ
  60. &Scoped-define ENABLED-TABLES RowObject
  61. &Scoped-define FIRST-ENABLED-TABLE RowObject
  62. &Scoped-Define ENABLED-OBJECTS CB_Frw CB_Kond Btn_Artikel Btn_Einkauf ~
  63. Btn_Dokumente RECT-1 RECT-2 RECT-4
  64. &Scoped-Define DISPLAYED-FIELDS RowObject.Kontakt RowObject.Esbkb ~
  65. RowObject.Anrede RowObject.Lieferungen RowObject.BestBis ~
  66. RowObject.Bestell_Intervall RowObject.Lieferzeit RowObject.GLN_Nr1 ~
  67. RowObject.GLN_Nr2 RowObject.Min_Betrag RowObject.Min_Gewicht ~
  68. RowObject.Min_GGebinde RowObject.Min_VGebinde RowObject.Edat ~
  69. RowObject.Min_KGebinde RowObject.Rabatt RowObject.ZusRab RowObject.Spesen ~
  70. RowObject.Kopf RowObject.Msbkb RowObject.Schluss RowObject.Bemerkung ~
  71. RowObject.Geb_Cd RowObject.Spez_Cd RowObject.Mdat RowObject.Firma ~
  72. RowObject.Kond RowObject.FRW RowObject.Knr RowObject.Aktiv ~
  73. RowObject.Barcode_Typ
  74. &Scoped-define DISPLAYED-TABLES RowObject
  75. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  76. &Scoped-Define DISPLAYED-OBJECTS CB_Frw CB_Kond
  77. /* Custom List Definitions */
  78. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  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_Pfad_zu_Lieferantendokument LABEL "Pfad zu Lieferantendokumenten".
  85. /* Definitions of the field level widgets */
  86. DEFINE BUTTON Btn_Artikel
  87. LABEL "seine &Artikel"
  88. SIZE 15 BY 1.
  89. DEFINE BUTTON Btn_Dokumente
  90. LABEL "&Dokumente"
  91. SIZE 15 BY 1.
  92. DEFINE BUTTON Btn_Einkauf
  93. LABEL "&Einkäufe"
  94. SIZE 15 BY 1.
  95. DEFINE VARIABLE CB_Frw AS CHARACTER FORMAT "X(256)":U
  96. LABEL "Fremdwährung"
  97. VIEW-AS COMBO-BOX INNER-LINES 5
  98. LIST-ITEM-PAIRS "Item 1","Item 1"
  99. DROP-DOWN-LIST
  100. SIZE 38.4 BY 1
  101. BGCOLOR 15 NO-UNDO.
  102. DEFINE VARIABLE CB_Kond AS CHARACTER FORMAT "X(256)":U
  103. LABEL "Zahlungskondition"
  104. VIEW-AS COMBO-BOX INNER-LINES 5
  105. LIST-ITEM-PAIRS "Item 1","Item 1"
  106. DROP-DOWN-LIST
  107. SIZE 38.4 BY 1
  108. BGCOLOR 15 NO-UNDO.
  109. DEFINE RECTANGLE RECT-1
  110. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  111. SIZE 128 BY 1.95.
  112. DEFINE RECTANGLE RECT-2
  113. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  114. SIZE 132 BY 23.33.
  115. DEFINE RECTANGLE RECT-4
  116. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  117. SIZE 132 BY .05.
  118. /* ************************ Frame Definitions *********************** */
  119. DEFINE FRAME F-Main
  120. CB_Frw AT ROW 1.52 COL 21 COLON-ALIGNED
  121. CB_Kond AT ROW 2.52 COL 21 COLON-ALIGNED
  122. RowObject.Kontakt AT ROW 3.52 COL 21 COLON-ALIGNED
  123. LABEL "Kontaktperson" FORMAT "x(30)"
  124. VIEW-AS FILL-IN NATIVE
  125. SIZE 32 BY 1
  126. BGCOLOR 15
  127. RowObject.Esbkb AT ROW 22.24 COL 21.8 COLON-ALIGNED
  128. LABEL "erfasst durch" FORMAT "x(5)"
  129. VIEW-AS FILL-IN NATIVE
  130. SIZE 10.6 BY 1
  131. FONT 9 NO-TAB-STOP
  132. RowObject.Anrede AT ROW 4.52 COL 21 COLON-ALIGNED
  133. LABEL "Anrede auf Best." FORMAT "x(50)"
  134. VIEW-AS FILL-IN NATIVE
  135. SIZE 52 BY 1
  136. BGCOLOR 15
  137. RowObject.Lieferungen AT ROW 5.52 COL 21 COLON-ALIGNED
  138. VIEW-AS FILL-IN NATIVE
  139. SIZE 32 BY 1
  140. BGCOLOR 15
  141. RowObject.BestBis AT ROW 6.52 COL 21 COLON-ALIGNED
  142. VIEW-AS FILL-IN NATIVE
  143. SIZE 24 BY 1
  144. BGCOLOR 15
  145. RowObject.Bestell_Intervall AT ROW 7.52 COL 21 COLON-ALIGNED WIDGET-ID 8
  146. VIEW-AS FILL-IN NATIVE
  147. SIZE 6 BY 1
  148. BGCOLOR 15
  149. RowObject.Lieferzeit AT ROW 7.52 COL 39 COLON-ALIGNED WIDGET-ID 10
  150. VIEW-AS FILL-IN NATIVE
  151. SIZE 6 BY 1
  152. BGCOLOR 15
  153. RowObject.GLN_Nr1 AT ROW 8.52 COL 21 COLON-ALIGNED WIDGET-ID 2
  154. VIEW-AS FILL-IN NATIVE
  155. SIZE 22 BY 1
  156. BGCOLOR 15
  157. RowObject.GLN_Nr2 AT ROW 8.52 COL 58 COLON-ALIGNED WIDGET-ID 4
  158. VIEW-AS FILL-IN NATIVE
  159. SIZE 22 BY 1
  160. BGCOLOR 15
  161. RowObject.Min_Betrag AT ROW 1.52 COL 93 COLON-ALIGNED
  162. LABEL "Mind. Betrag" FORMAT "zzz,zz9.99"
  163. VIEW-AS FILL-IN NATIVE
  164. SIZE 16 BY 1 TOOLTIP "Mindest Bestellbetrag ohne Kleinmengen-Zuschlag"
  165. BGCOLOR 15
  166. RowObject.Min_Gewicht AT ROW 2.52 COL 93 COLON-ALIGNED
  167. LABEL "Mind. Gewicht" FORMAT "zz,zz9.999"
  168. VIEW-AS FILL-IN NATIVE
  169. SIZE 16 BY 1 TOOLTIP "Mindestgewicht pro Lieferung wegen Transportkosten"
  170. BGCOLOR 15
  171. RowObject.Min_GGebinde AT ROW 3.52 COL 97 COLON-ALIGNED WIDGET-ID 12
  172. LABEL "Mind. Menge GGeb"
  173. VIEW-AS FILL-IN NATIVE
  174. SIZE 12 BY 1
  175. BGCOLOR 15
  176. RowObject.Min_VGebinde AT ROW 4.52 COL 97 COLON-ALIGNED WIDGET-ID 16
  177. LABEL "Mind. Menge VGeb"
  178. VIEW-AS FILL-IN NATIVE
  179. SIZE 12 BY 1
  180. BGCOLOR 15
  181. RowObject.Edat AT ROW 22.24 COL 44.8 COLON-ALIGNED
  182. LABEL "erfasst am" FORMAT "99.99.9999"
  183. VIEW-AS FILL-IN NATIVE
  184. SIZE 16 BY 1
  185. FONT 9 NO-TAB-STOP
  186. RowObject.Min_KGebinde AT ROW 5.52 COL 97 COLON-ALIGNED WIDGET-ID 14
  187. LABEL "Mind. Menge KGeb"
  188. VIEW-AS FILL-IN NATIVE
  189. SIZE 12 BY 1
  190. BGCOLOR 15
  191. RowObject.Rabatt AT ROW 6.52 COL 98 COLON-ALIGNED
  192. VIEW-AS FILL-IN NATIVE
  193. SIZE 11 BY 1
  194. BGCOLOR 15
  195. RowObject.ZusRab AT ROW 7.52 COL 98 COLON-ALIGNED WIDGET-ID 18
  196. LABEL "Zusatzrabatt"
  197. VIEW-AS FILL-IN NATIVE
  198. SIZE 11 BY 1
  199. BGCOLOR 15
  200. RowObject.Spesen AT ROW 8.52 COL 98 COLON-ALIGNED WIDGET-ID 6
  201. VIEW-AS FILL-IN NATIVE
  202. SIZE 11 BY 1
  203. BGCOLOR 15
  204. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  205. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  206. AT COL 1 ROW 1 SCROLLABLE .
  207. /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */
  208. DEFINE FRAME F-Main
  209. RowObject.Kopf AT ROW 12.1 COL 5 NO-LABEL
  210. VIEW-AS EDITOR NO-WORD-WRAP SCROLLBAR-HORIZONTAL SCROLLBAR-VERTICAL
  211. SIZE 55 BY 4.19
  212. BGCOLOR 15
  213. RowObject.Msbkb AT ROW 22.24 COL 78.8 COLON-ALIGNED
  214. LABEL "mutiert durch" FORMAT "x(5)"
  215. VIEW-AS FILL-IN NATIVE
  216. SIZE 10.6 BY 1
  217. FONT 9 NO-TAB-STOP
  218. RowObject.Schluss AT ROW 12.1 COL 65 NO-LABEL
  219. VIEW-AS EDITOR NO-WORD-WRAP SCROLLBAR-HORIZONTAL SCROLLBAR-VERTICAL
  220. SIZE 55 BY 4.19
  221. BGCOLOR 15
  222. RowObject.Bemerkung AT ROW 17.29 COL 5 NO-LABEL
  223. VIEW-AS EDITOR SCROLLBAR-VERTICAL
  224. SIZE 115 BY 4.19
  225. BGCOLOR 15
  226. Btn_Artikel AT ROW 1.52 COL 117.4
  227. RowObject.Geb_Cd AT ROW 6.33 COL 126 COLON-ALIGNED
  228. LABEL "Geb_Cd" FORMAT "X(8)"
  229. VIEW-AS FILL-IN
  230. SIZE 4 BY 1
  231. BGCOLOR 15 NO-TAB-STOP
  232. Btn_Einkauf AT ROW 2.52 COL 117.4
  233. Btn_Dokumente AT ROW 3.52 COL 117.4
  234. RowObject.Spez_Cd AT ROW 6.33 COL 126 COLON-ALIGNED
  235. LABEL "Spez_Cd" FORMAT "x(02)"
  236. VIEW-AS FILL-IN
  237. SIZE 4 BY 1
  238. BGCOLOR 15 NO-TAB-STOP
  239. RowObject.Mdat AT ROW 22.24 COL 101.8 COLON-ALIGNED
  240. LABEL "mutiert am" FORMAT "99.99.9999"
  241. VIEW-AS FILL-IN NATIVE
  242. SIZE 16 BY 1
  243. FONT 9 NO-TAB-STOP
  244. RowObject.Firma AT ROW 6.33 COL 126 COLON-ALIGNED
  245. VIEW-AS FILL-IN
  246. SIZE 4 BY 1 NO-TAB-STOP
  247. RowObject.Kond AT ROW 6.33 COL 126 COLON-ALIGNED
  248. LABEL "Kond" FORMAT "999999"
  249. VIEW-AS FILL-IN
  250. SIZE 4 BY 1 NO-TAB-STOP
  251. RowObject.FRW AT ROW 6.33 COL 126 COLON-ALIGNED
  252. VIEW-AS FILL-IN
  253. SIZE 4 BY 1 NO-TAB-STOP
  254. RowObject.Knr AT ROW 6.33 COL 126 COLON-ALIGNED
  255. VIEW-AS FILL-IN
  256. SIZE 4 BY 1 NO-TAB-STOP
  257. RowObject.Aktiv AT ROW 6.33 COL 126 COLON-ALIGNED
  258. LABEL "Aktiv" FORMAT "ja/nein"
  259. VIEW-AS FILL-IN
  260. SIZE 4 BY 1 NO-TAB-STOP
  261. RowObject.Barcode_Typ AT ROW 9.52 COL 21 COLON-ALIGNED WIDGET-ID 20
  262. LABEL "Barcode-Typ"
  263. VIEW-AS FILL-IN NATIVE
  264. SIZE 4.8 BY 1
  265. BGCOLOR 15
  266. "Kopftext auf Bestellung" VIEW-AS TEXT
  267. SIZE 55 BY .81 AT ROW 11.19 COL 5
  268. "Schlusstext auf Bestellung" VIEW-AS TEXT
  269. SIZE 55 BY .81 AT ROW 11.19 COL 65
  270. "Bemerkungen" VIEW-AS TEXT
  271. SIZE 50 BY .81 AT ROW 16.43 COL 5
  272. RECT-1 AT ROW 21.76 COL 4
  273. RECT-2 AT ROW 1.24 COL 2
  274. RECT-4 AT ROW 10.91 COL 2
  275. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  276. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  277. AT COL 1 ROW 1 SCROLLABLE .
  278. /* *********************** Procedure Settings ************************ */
  279. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  280. /* Settings for THIS-PROCEDURE
  281. Type: SmartDataViewer
  282. Data Source: "d-liefst.w"
  283. Allow: Basic,DB-Fields,Smart
  284. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  285. Frames: 1
  286. Add Fields to: Neither
  287. Other Settings: PERSISTENT-ONLY COMPILE
  288. Temp-Tables and Buffers:
  289. TABLE: RowObject D "?" ?
  290. ADDITIONAL-FIELDS:
  291. {d-liefst.i}
  292. END-FIELDS.
  293. END-TABLES.
  294. */
  295. /* This procedure should always be RUN PERSISTENT. Report the error, */
  296. /* then cleanup and return. */
  297. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  298. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  299. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  300. RETURN.
  301. END.
  302. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  303. /* ************************* Create Window ************************** */
  304. &ANALYZE-SUSPEND _CREATE-WINDOW
  305. /* DESIGN Window definition (used by the UIB)
  306. CREATE WINDOW vTableWin ASSIGN
  307. HEIGHT = 23.81
  308. WIDTH = 135.8.
  309. /* END WINDOW DEFINITION */
  310. */
  311. &ANALYZE-RESUME
  312. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  313. /* ************************* Included-Libraries *********************** */
  314. {src/adm2/viewer.i}
  315. /* _UIB-CODE-BLOCK-END */
  316. &ANALYZE-RESUME
  317. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  318. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  319. /* SETTINGS FOR WINDOW vTableWin
  320. VISIBLE,,RUN-PERSISTENT */
  321. /* SETTINGS FOR FRAME F-Main
  322. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  323. ASSIGN
  324. FRAME F-Main:SCROLLABLE = FALSE
  325. FRAME F-Main:HIDDEN = TRUE
  326. FRAME F-Main:POPUP-MENU = MENU POPUP-MENU-F-Main:HANDLE.
  327. /* SETTINGS FOR FILL-IN RowObject.Aktiv IN FRAME F-Main
  328. NO-ENABLE EXP-LABEL EXP-FORMAT */
  329. ASSIGN
  330. RowObject.Aktiv:HIDDEN IN FRAME F-Main = TRUE
  331. RowObject.Aktiv:READ-ONLY IN FRAME F-Main = TRUE.
  332. /* SETTINGS FOR FILL-IN RowObject.Anrede IN FRAME F-Main
  333. EXP-LABEL EXP-FORMAT */
  334. /* SETTINGS FOR FILL-IN RowObject.Barcode_Typ IN FRAME F-Main
  335. EXP-LABEL */
  336. /* SETTINGS FOR EDITOR RowObject.Bemerkung IN FRAME F-Main
  337. EXP-LABEL */
  338. ASSIGN
  339. RowObject.Bemerkung:RETURN-INSERTED IN FRAME F-Main = TRUE.
  340. /* SETTINGS FOR FILL-IN RowObject.Edat IN FRAME F-Main
  341. NO-ENABLE EXP-LABEL EXP-FORMAT */
  342. ASSIGN
  343. RowObject.Edat:READ-ONLY IN FRAME F-Main = TRUE.
  344. /* SETTINGS FOR FILL-IN RowObject.Esbkb IN FRAME F-Main
  345. NO-ENABLE EXP-LABEL EXP-FORMAT */
  346. ASSIGN
  347. RowObject.Esbkb:READ-ONLY IN FRAME F-Main = TRUE.
  348. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main
  349. NO-ENABLE */
  350. ASSIGN
  351. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE
  352. RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE.
  353. /* SETTINGS FOR FILL-IN RowObject.FRW IN FRAME F-Main
  354. NO-ENABLE */
  355. ASSIGN
  356. RowObject.FRW:HIDDEN IN FRAME F-Main = TRUE
  357. RowObject.FRW:READ-ONLY IN FRAME F-Main = TRUE.
  358. /* SETTINGS FOR FILL-IN RowObject.Geb_Cd IN FRAME F-Main
  359. NO-ENABLE EXP-LABEL EXP-FORMAT */
  360. ASSIGN
  361. RowObject.Geb_Cd:HIDDEN IN FRAME F-Main = TRUE
  362. RowObject.Geb_Cd:READ-ONLY IN FRAME F-Main = TRUE.
  363. /* SETTINGS FOR FILL-IN RowObject.Knr IN FRAME F-Main
  364. NO-ENABLE */
  365. ASSIGN
  366. RowObject.Knr:HIDDEN IN FRAME F-Main = TRUE
  367. RowObject.Knr:READ-ONLY IN FRAME F-Main = TRUE.
  368. /* SETTINGS FOR FILL-IN RowObject.Kond IN FRAME F-Main
  369. NO-ENABLE EXP-LABEL EXP-FORMAT */
  370. ASSIGN
  371. RowObject.Kond:HIDDEN IN FRAME F-Main = TRUE
  372. RowObject.Kond:READ-ONLY IN FRAME F-Main = TRUE.
  373. /* SETTINGS FOR FILL-IN RowObject.Kontakt IN FRAME F-Main
  374. EXP-LABEL EXP-FORMAT */
  375. /* SETTINGS FOR EDITOR RowObject.Kopf IN FRAME F-Main
  376. EXP-LABEL */
  377. ASSIGN
  378. RowObject.Kopf:RETURN-INSERTED IN FRAME F-Main = TRUE.
  379. /* SETTINGS FOR FILL-IN RowObject.Mdat IN FRAME F-Main
  380. NO-ENABLE EXP-LABEL EXP-FORMAT */
  381. ASSIGN
  382. RowObject.Mdat:READ-ONLY IN FRAME F-Main = TRUE.
  383. /* SETTINGS FOR FILL-IN RowObject.Min_Betrag IN FRAME F-Main
  384. EXP-LABEL EXP-FORMAT */
  385. /* SETTINGS FOR FILL-IN RowObject.Min_Gewicht IN FRAME F-Main
  386. EXP-LABEL EXP-FORMAT */
  387. /* SETTINGS FOR FILL-IN RowObject.Min_GGebinde IN FRAME F-Main
  388. EXP-LABEL */
  389. /* SETTINGS FOR FILL-IN RowObject.Min_KGebinde IN FRAME F-Main
  390. EXP-LABEL */
  391. /* SETTINGS FOR FILL-IN RowObject.Min_VGebinde IN FRAME F-Main
  392. EXP-LABEL */
  393. /* SETTINGS FOR FILL-IN RowObject.Msbkb IN FRAME F-Main
  394. NO-ENABLE EXP-LABEL EXP-FORMAT */
  395. ASSIGN
  396. RowObject.Msbkb:READ-ONLY IN FRAME F-Main = TRUE.
  397. /* SETTINGS FOR EDITOR RowObject.Schluss IN FRAME F-Main
  398. EXP-LABEL */
  399. ASSIGN
  400. RowObject.Schluss:RETURN-INSERTED IN FRAME F-Main = TRUE.
  401. /* SETTINGS FOR FILL-IN RowObject.Spez_Cd IN FRAME F-Main
  402. NO-ENABLE EXP-LABEL EXP-FORMAT */
  403. ASSIGN
  404. RowObject.Spez_Cd:HIDDEN IN FRAME F-Main = TRUE
  405. RowObject.Spez_Cd:READ-ONLY IN FRAME F-Main = TRUE.
  406. /* SETTINGS FOR FILL-IN RowObject.ZusRab IN FRAME F-Main
  407. EXP-LABEL */
  408. /* _RUN-TIME-ATTRIBUTES-END */
  409. &ANALYZE-RESUME
  410. /* Setting information for Queries and Browse Widgets fields */
  411. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  412. /* Query rebuild information for FRAME F-Main
  413. _Options = "NO-LOCK"
  414. _Query is NOT OPENED
  415. */ /* FRAME F-Main */
  416. &ANALYZE-RESUME
  417. /* ************************ Control Triggers ************************ */
  418. &Scoped-define SELF-NAME Btn_Artikel
  419. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Artikel vTableWin
  420. ON CHOOSE OF Btn_Artikel IN FRAME F-Main /* seine Artikel */
  421. DO:
  422. IF FMut THEN RETURN NO-APPLY.
  423. DEF VAR Knr AS INT NO-UNDO.
  424. DEF VAR sAdresse AS CHAR NO-UNDO.
  425. DEF VAR sDaten AS CHAR NO-UNDO.
  426. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE).
  427. sAdresse = DYNAMIC-FUNCTION('GETADRESSEANZEIGEBR':U, INPUT Knr, INPUT 0 ) NO-ERROR.
  428. sDaten = STRING(Knr) + CHR(01)
  429. + sAdresse + CHR(01).
  430. RUN 'g-liefart.w':U ( INPUT sDaten ).
  431. IF VALID-HANDLE(hENTER) THEN APPLY 'ENTRY' TO hENTER.
  432. ELSE APPLY 'ENTRY' TO CB_FRW IN FRAME {&FRAME-NAME}.
  433. RETURN NO-APPLY.
  434. END.
  435. /* _UIB-CODE-BLOCK-END */
  436. &ANALYZE-RESUME
  437. &Scoped-define SELF-NAME Btn_Dokumente
  438. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Dokumente vTableWin
  439. ON CHOOSE OF Btn_Dokumente IN FRAME F-Main /* Dokumente */
  440. DO:
  441. IF FMut THEN RETURN NO-APPLY.
  442. RUN OPEN_DATEI.
  443. RETURN NO-APPLY.
  444. END.
  445. /* _UIB-CODE-BLOCK-END */
  446. &ANALYZE-RESUME
  447. &Scoped-define SELF-NAME Btn_Einkauf
  448. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Einkauf vTableWin
  449. ON CHOOSE OF Btn_Einkauf IN FRAME F-Main /* Einkäufe */
  450. DO:
  451. IF FMut THEN RETURN NO-APPLY.
  452. DEF VAR Knr AS INT NO-UNDO.
  453. DEF VAR sAdresse AS CHAR NO-UNDO.
  454. DEF VAR sDaten AS CHAR NO-UNDO.
  455. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE).
  456. sAdresse = DYNAMIC-FUNCTION('GETADRESSEANZEIGEBR':U, INPUT Knr, INPUT 0 ) NO-ERROR.
  457. sDaten = STRING(Knr) + CHR(01)
  458. + sAdresse + CHR(01).
  459. RUN 'g-liefeinkauf.w':U ( INPUT sDaten ).
  460. IF VALID-HANDLE(hENTER) THEN APPLY 'ENTRY' TO hENTER.
  461. ELSE APPLY 'ENTRY' TO CB_FRW IN FRAME {&FRAME-NAME}.
  462. RETURN NO-APPLY.
  463. END.
  464. /* _UIB-CODE-BLOCK-END */
  465. &ANALYZE-RESUME
  466. &Scoped-define SELF-NAME CB_Frw
  467. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Frw vTableWin
  468. ON VALUE-CHANGED OF CB_Frw IN FRAME F-Main /* Fremdwährung */
  469. DO:
  470. IF FMut THEN rowObject.FRW:SCREEN-VALUE = SELF:SCREEN-VALUE.
  471. ELSE SELF:SCREEN-VALUE = rowObject.FRW:SCREEN-VALUE NO-ERROR.
  472. END.
  473. /* _UIB-CODE-BLOCK-END */
  474. &ANALYZE-RESUME
  475. &Scoped-define SELF-NAME CB_Kond
  476. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Kond vTableWin
  477. ON VALUE-CHANGED OF CB_Kond IN FRAME F-Main /* Zahlungskondition */
  478. DO:
  479. IF FMut THEN rowObject.Kond:SCREEN-VALUE = SELF:SCREEN-VALUE.
  480. ELSE SELF:SCREEN-VALUE = rowObject.Kond:SCREEN-VALUE NO-ERROR.
  481. END.
  482. /* _UIB-CODE-BLOCK-END */
  483. &ANALYZE-RESUME
  484. &Scoped-define SELF-NAME m_Pfad_zu_Lieferantendokument
  485. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Pfad_zu_Lieferantendokument vTableWin
  486. ON CHOOSE OF MENU-ITEM m_Pfad_zu_Lieferantendokument /* Pfad zu Lieferantendokumenten */
  487. DO:
  488. DEF VAR cString AS CHAR NO-UNDO.
  489. DEF VAR cDatei AS CHAR NO-UNDO.
  490. DEF VAR Knr AS INT NO-UNDO.
  491. DO WITH FRAME {&FRAME-NAME}:
  492. IF NOT Vorhanden THEN RETURN NO-APPLY.
  493. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE).
  494. GET-KEY-VALUE SECTION 'Dokumente' KEY 'Lieferanten' VALUE cString.
  495. IF cString = ? THEN cString = ''.
  496. cDatei = cString.
  497. FILE-INFO:FILE-NAME = cDatei.
  498. cDatei = FILE-INFO:PATHNAME.
  499. IF cDatei = ? THEN cDatei = ''.
  500. cDatei = cDatei + '\' + STRING(INTEGER(rowObject.Knr:SCREEN-VALUE),'999999').
  501. RUN g-verzeichnis.w ( INPUT-OUTPUT cDatei ).
  502. cString = STRING(Knr,'999999').
  503. cDatei = REPLACE(cDatei, cString, '' ) NO-ERROR.
  504. FILE-INFO:FILE-NAME = cDatei.
  505. cDatei = FILE-INFO:PATHNAME.
  506. IF cDatei = ? THEN cDatei = ''.
  507. PUT-KEY-VALUE SECTION 'Dokumente' KEY 'Lieferanten' VALUE cDatei.
  508. END.
  509. END.
  510. /* _UIB-CODE-BLOCK-END */
  511. &ANALYZE-RESUME
  512. &UNDEFINE SELF-NAME
  513. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  514. /* *************************** Main Block *************************** */
  515. { incl/viwmainblock.i }
  516. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  517. RUN initializeObject.
  518. &ENDIF
  519. /************************ INTERNAL PROCEDURES ********************/
  520. PROCEDURE ShellExecuteA EXTERNAL "shell32.dll":
  521. DEF INPUT PARAMETER hwnd AS LONG. /* Handle to parent window */
  522. DEF INPUT PARAMETER lpOperation AS CHAR. /* Operation to perform: open, print */
  523. DEF INPUT PARAMETER lpFile AS CHAR. /* Document or executable name */
  524. DEF INPUT PARAMETER lpParameters AS CHAR. /* Command line parameters to executable in lpFile */
  525. DEF INPUT PARAMETER lpDirectory AS CHAR. /* Default directory */
  526. DEF INPUT PARAMETER nShowCmd AS LONG. /* whether shown when opened:
  527. 0 hidden, 1 normal, minimized 2, maximized 3,
  528. 0 if lpFile is a document */
  529. DEF RETURN PARAMETER hInstance AS LONG. /* Less than or equal to 32 */
  530. END PROCEDURE.
  531. /* _UIB-CODE-BLOCK-END */
  532. &ANALYZE-RESUME
  533. /* ********************** Internal Procedures *********************** */
  534. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  535. PROCEDURE addRecord :
  536. /*------------------------------------------------------------------------------
  537. Purpose: Super Override
  538. Parameters:
  539. Notes:
  540. ------------------------------------------------------------------------------*/
  541. DEF VAR Knr AS INT NO-UNDO.
  542. Knr = DYNAMIC-FUNCTION('GETKNR':U) NO-ERROR.
  543. IF Knr = 0 THEN DO:
  544. DYNAMIC-FUNCTION('setFlagabbruch':U, INPUT TRUE, INPUT Progname) NO-ERROR.
  545. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  546. RETURN NO-APPLY.
  547. END.
  548. FIND Adresse USE-INDEX Adresse-k1
  549. WHERE Adresse.Firma = ADFirma
  550. AND Adresse.Knr = Knr NO-LOCK NO-ERROR.
  551. IF Adresse.Aktiv = FALSE THEN DO:
  552. RUN FEHLER ( INPUT 1021 ).
  553. DYNAMIC-FUNCTION('setFlagabbruch':U, INPUT TRUE, INPUT Progname) NO-ERROR.
  554. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  555. RETURN NO-APPLY.
  556. END.
  557. FIND Liefst NO-LOCK
  558. WHERE Liefst.Firma = Firma
  559. AND Liefst.Knr = Knr NO-ERROR.
  560. IF AVAILABLE Liefst THEN DO:
  561. DYNAMIC-FUNCTION('setFlagabbruch':U, INPUT TRUE, INPUT Progname) NO-ERROR.
  562. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  563. RETURN NO-APPLY.
  564. END.
  565. FNeu = TRUE.
  566. FMut = TRUE.
  567. RUN SUPER.
  568. END PROCEDURE.
  569. /* _UIB-CODE-BLOCK-END */
  570. &ANALYZE-RESUME
  571. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  572. PROCEDURE cancelRecord :
  573. /*------------------------------------------------------------------------------
  574. Purpose: Super Override
  575. Parameters:
  576. Notes:
  577. ------------------------------------------------------------------------------*/
  578. FCancel = TRUE.
  579. RUN SUPER.
  580. /* Code placed here will execute AFTER standard behavior. */
  581. END PROCEDURE.
  582. /* _UIB-CODE-BLOCK-END */
  583. &ANALYZE-RESUME
  584. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  585. PROCEDURE copyRecord :
  586. /*------------------------------------------------------------------------------
  587. Purpose: Super Override
  588. Parameters:
  589. Notes:
  590. ------------------------------------------------------------------------------*/
  591. FNeu = TRUE.
  592. FMut = TRUE.
  593. FCopy = TRUE.
  594. FDisp = TRUE.
  595. RUN SUPER.
  596. END PROCEDURE.
  597. /* _UIB-CODE-BLOCK-END */
  598. &ANALYZE-RESUME
  599. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  600. PROCEDURE deleteRecord :
  601. /*------------------------------------------------------------------------------
  602. Purpose: Super Override
  603. Parameters:
  604. Notes:
  605. ------------------------------------------------------------------------------*/
  606. DEF VAR Ja AS LOG NO-UNDO.
  607. Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ).
  608. IF NOT Ja THEN DO:
  609. DYNAMIC-FUNCTION('setFlagabbruch':U, INPUT TRUE, INPUT Progname) NO-ERROR.
  610. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  611. RETURN NO-APPLY.
  612. END.
  613. /* DO WITH FRAME {&FRAME-NAME}: */
  614. /* rowObject.Aktiv:SCREEN-VALUE = STRING(FALSE). */
  615. /* RUN updateRecord. */
  616. /* END. */
  617. /* */
  618. END PROCEDURE.
  619. /* _UIB-CODE-BLOCK-END */
  620. &ANALYZE-RESUME
  621. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  622. PROCEDURE disableFields :
  623. /*------------------------------------------------------------------------------
  624. Purpose: Super Override
  625. Parameters:
  626. Notes:
  627. ------------------------------------------------------------------------------*/
  628. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  629. DO WITH FRAME {&FRAME-NAME}:
  630. END.
  631. RUN SUPER( INPUT pcFieldType).
  632. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  633. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  634. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  635. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  636. END.
  637. DO WITH FRAME {&FRAME-NAME}:
  638. END.
  639. END PROCEDURE.
  640. /* _UIB-CODE-BLOCK-END */
  641. &ANALYZE-RESUME
  642. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  643. PROCEDURE disable_UI :
  644. /*------------------------------------------------------------------------------
  645. Purpose: DISABLE the User Interface
  646. Parameters: <none>
  647. Notes: Here we clean-up the user-interface by deleting
  648. dynamic widgets we have created and/or hide
  649. frames. This procedure is usually called when
  650. we are ready to "clean-up" after running.
  651. ------------------------------------------------------------------------------*/
  652. /* Hide all frames. */
  653. HIDE FRAME F-Main.
  654. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  655. END PROCEDURE.
  656. /* _UIB-CODE-BLOCK-END */
  657. &ANALYZE-RESUME
  658. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  659. PROCEDURE displayFields :
  660. /*------------------------------------------------------------------------------
  661. Purpose: Super Override
  662. Parameters:
  663. Notes:
  664. ------------------------------------------------------------------------------*/
  665. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  666. DEF VAR ja AS LOG INIT TRUE NO-UNDO.
  667. DEF VAR Farbe AS INT NO-UNDO.
  668. OldColValues = pcColValues.
  669. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  670. IF pcColValues = ? THEN Ja = FALSE.
  671. IF pcColValues = ? THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  672. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  673. DO WITH FRAME {&FRAME-NAME}:
  674. END.
  675. RUN SUPER( INPUT pcColValues).
  676. DO WITH FRAME {&FRAME-NAME}:
  677. CB_FRW:SCREEN-VALUE = rowObject.FRW:SCREEN-VALUE NO-ERROR.
  678. CB_Kond:SCREEN-VALUE = rowObject.Kond:SCREEN-VALUE NO-ERROR.
  679. END.
  680. IF SAktiv THEN DO WITH FRAME {&FRAME-NAME}:
  681. Farbe = 15.
  682. IF rowObject.Aktiv:SCREEN-VALUE BEGINS 'n' THEN Farbe = 12.
  683. IF NOT Ja THEN Farbe = 08.
  684. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  685. RUN FARBE_FELDER ( INPUT Fenster ,
  686. INPUT '{&ENABLED-FIELDS}',
  687. INPUT Farbe ).
  688. RUN FARBE_FELDER ( INPUT Fenster ,
  689. INPUT '{&ENABLED-OBJECTS}',
  690. INPUT Farbe ).
  691. END.
  692. Vorhanden = Ja.
  693. IF Vorhanden THEN DO:
  694. Btn_Artikel:SENSITIVE = TRUE.
  695. Btn_Einkauf:SENSITIVE = TRUE.
  696. END.
  697. ELSE DO:
  698. Btn_Artikel:SENSITIVE = FALSE.
  699. Btn_Einkauf:SENSITIVE = FALSE.
  700. END.
  701. END PROCEDURE.
  702. /* _UIB-CODE-BLOCK-END */
  703. &ANALYZE-RESUME
  704. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  705. PROCEDURE enableFields :
  706. /*------------------------------------------------------------------------------
  707. Purpose: Super Override
  708. Parameters:
  709. Notes:
  710. ------------------------------------------------------------------------------*/
  711. /* Code placed here will execute PRIOR to standard behavior. */
  712. /*
  713. RUN SUPER.
  714. */
  715. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  716. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  717. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO:
  718. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  719. END.
  720. DO WITH FRAME {&FRAME-NAME}:
  721. END.
  722. IF FNeu THEN RETURN.
  723. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  724. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  725. END.
  726. END PROCEDURE.
  727. /* _UIB-CODE-BLOCK-END */
  728. &ANALYZE-RESUME
  729. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  730. PROCEDURE enableObject :
  731. /*------------------------------------------------------------------------------
  732. Purpose: Super Override
  733. Parameters:
  734. Notes:
  735. ------------------------------------------------------------------------------*/
  736. DO WITH FRAME {&FRAME-NAME}:
  737. RUN COMBO_KONDITION ( INPUT CB_Kond:HANDLE ).
  738. RUN COMBO_FRW ( INPUT CB_Frw:HANDLE ).
  739. END.
  740. RUN SUPER.
  741. { incl/viwenableobject.i }
  742. END PROCEDURE.
  743. /* _UIB-CODE-BLOCK-END */
  744. &ANALYZE-RESUME
  745. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  746. PROCEDURE ENTRY_FELD_TEST :
  747. /*------------------------------------------------------------------------------
  748. Purpose:
  749. Parameters: <none>
  750. Notes:
  751. ------------------------------------------------------------------------------*/
  752. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  753. DEF VAR FeldName AS CHAR NO-UNDO.
  754. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  755. FeldName = ''.
  756. FeldInhalt = ''.
  757. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  758. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  759. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  760. FeldName = ipHandle:NAME.
  761. IF ipHandle:TYPE = 'FILL-IN' OR
  762. ipHandle:TYPE = 'COMBO-BOX' OR
  763. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  764. IF NOT FMut THEN RETURN ''.
  765. RETURN ''.
  766. END PROCEDURE.
  767. /* _UIB-CODE-BLOCK-END */
  768. &ANALYZE-RESUME
  769. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  770. PROCEDURE FEHLWERTE :
  771. /*------------------------------------------------------------------------------
  772. Purpose:
  773. Parameters: <none>
  774. Notes:
  775. ------------------------------------------------------------------------------*/
  776. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  777. DEF VAR FwFelder AS CHAR NO-UNDO.
  778. DEF VAR FwFeld AS CHAR NO-UNDO.
  779. DEF VAR FwValue AS CHAR NO-UNDO.
  780. DEF VAR ix AS INT NO-UNDO.
  781. DEF VAR i1 AS INT NO-UNDO.
  782. DEF VAR iKnr AS INT NO-UNDO.
  783. DEF VAR cKontakt AS CHAR NO-UNDO.
  784. DEF VAR cAnrede AS CHAR NO-UNDO.
  785. cKontakt = ''.
  786. cAnrede = ''.
  787. IF FMut THEN DO:
  788. i1 = LOOKUP('Knr', oldColList, ',') + 1.
  789. iKnr = INTEGER(ENTRY(i1, pcColValues, CHR(1))) NO-ERROR.
  790. FIND FIRST Ansprech NO-LOCK
  791. WHERE Ansprech.Firma = AdFirma
  792. AND Ansprech.Knr = iKnr
  793. AND Ansprech.Bestellung = TRUE NO-ERROR.
  794. IF NOT AVAILABLE Ansprech THEN DO:
  795. FIND Adresse NO-LOCK
  796. WHERE Adresse.Firma = AdFirma
  797. AND Adresse.Knr = iKnr NO-ERROR.
  798. IF AVAILABLE Adresse THEN DO:
  799. cKontakt = TRIM(Adresse.Vorname + ' ' + Adresse.Name).
  800. cAnrede = Adresse.BriefAnr.
  801. END.
  802. END.
  803. ELSE DO:
  804. cKontakt = TRIM(Ansprech.Vorname + ' ' + Ansprech.Name).
  805. cAnrede = Ansprech.BriefAnr.
  806. END.
  807. END.
  808. GET-KEY-VALUE SECTION 'FwLieferant' KEY ? VALUE FwFelder.
  809. IF pcColValues = ?
  810. THEN pcColValues = FILL(CHR(01), NUM-ENTRIES(oldColList, ',')).
  811. IF NOT FCopy THEN DO:
  812. DO ix = 1 TO NUM-ENTRIES(FwFelder, ','):
  813. FwFeld = ENTRY (ix , FwFelder , ',').
  814. i1 = LOOKUP(FwFeld, oldColList, ',') + 1.
  815. IF i1 < 2 THEN NEXT.
  816. GET-KEY-VALUE SECTION 'FwLieferant' KEY FwFeld VALUE FwValue.
  817. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR.
  818. END.
  819. END.
  820. i1 = LOOKUP('Firma', oldColList, ',') + 1.
  821. ENTRY(i1, pcColValues, CHR(1)) = Firma NO-ERROR.
  822. i1 = LOOKUP('Kontakt', oldColList, ',') + 1.
  823. ENTRY(i1, pcColValues, CHR(1)) = cKontakt NO-ERROR.
  824. i1 = LOOKUP('Anrede', oldColList, ',') + 1.
  825. ENTRY(i1, pcColValues, CHR(1)) = cAnrede NO-ERROR.
  826. IF FCopy THEN DO:
  827. END.
  828. OldColValues = pcColValues.
  829. END PROCEDURE.
  830. /* _UIB-CODE-BLOCK-END */
  831. &ANALYZE-RESUME
  832. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  833. PROCEDURE LEAVE_FELD_TEST :
  834. /*------------------------------------------------------------------------------
  835. Purpose:
  836. Parameters: <none>
  837. Notes:
  838. ------------------------------------------------------------------------------*/
  839. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  840. DEF VAR FeldName AS CHAR NO-UNDO.
  841. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  842. DEF VAR ix AS INT NO-UNDO.
  843. DEF VAR LKY AS INT NO-UNDO.
  844. DEF VAR Daten AS CHAR NO-UNDO.
  845. IF FMut = FALSE THEN RETURN ''.
  846. LKY = LASTKEY.
  847. hENTER = LAST-EVENT:WIDGET-ENTER.
  848. hLEAVE = LAST-EVENT:WIDGET-LEAVE.
  849. FeldName = ''.
  850. FeldInhalt = ''.
  851. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  852. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  853. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  854. FeldName = ipHandle:NAME.
  855. IF ipHandle:TYPE = 'FILL-IN' OR
  856. ipHandle:TYPE = 'COMBO-BOX' OR
  857. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  858. DO WHILE FNeu:
  859. CASE FeldName:
  860. END CASE.
  861. LEAVE.
  862. END.
  863. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO:
  864. DO WHILE TRUE:
  865. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  866. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  867. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  868. RETURN ''.
  869. END.
  870. APPLY 'ALT-S'.
  871. RETURN 'APPLY'.
  872. END.
  873. RETURN ''.
  874. END PROCEDURE.
  875. /* _UIB-CODE-BLOCK-END */
  876. &ANALYZE-RESUME
  877. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_DATEI vTableWin
  878. PROCEDURE OPEN_DATEI :
  879. /*------------------------------------------------------------------------------
  880. Purpose:
  881. Parameters: <none>
  882. Notes:
  883. ------------------------------------------------------------------------------*/
  884. DEF VAR cPfad AS CHAR NO-UNDO.
  885. DEF VAR cDatei AS CHAR NO-UNDO.
  886. DEF VAR cExt AS CHAR NO-UNDO.
  887. DEF VAR i1 AS INT NO-UNDO.
  888. DEF VAR Knr AS INT NO-UNDO.
  889. DEF VAR fok AS LOG NO-UNDO.
  890. DEF VAR iStatus AS INT NO-UNDO.
  891. DEF VAR hDok AS COM-HANDLE NO-UNDO.
  892. DO WITH FRAME {&FRAME-NAME}:
  893. GET-KEY-VALUE SECTION 'Dokumente' KEY 'Lieferanten' VALUE cPfad.
  894. IF cPfad = ? THEN cPfad = ''.
  895. i1 = LENGTH(cPfad).
  896. IF i1 > 0 THEN DO:
  897. IF SUBSTRING(cPfad,i1,01) <> '\' AND
  898. SUBSTRING(cPfad,i1,01) <> '/' THEN cPfad = cPfad + '\'.
  899. END.
  900. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE).
  901. cPfad = cPfad + STRING(Knr,'999999').
  902. FILE-INFO:FILE-NAME = cPfad.
  903. cDatei = FILE-INFO:FILE-NAME.
  904. IF FILE-INFO:FILE-TYPE = ? THEN OS-CREATE-DIR VALUE(cPfad).
  905. cPfad = FILE-INFO:FILE-NAME.
  906. fok = FALSE.
  907. SYSTEM-DIALOG GET-FILE cDatei
  908. FILTERS 'alle Dateien *.*' '*.*',
  909. 'Adobe Acrobat *.pdf' '*.pdf',
  910. 'Worddokumente *.doc *.docx' '*.doc *.docx',
  911. 'Exceldokumente *.xls *.xlsx' '*.xls *.xlsx'
  912. INITIAL-FILTER 1
  913. INITIAL-DIR cPfad
  914. TITLE 'LieferantenDokumente'
  915. UPDATE fok.
  916. IF NOT fok THEN RETURN NO-APPLY.
  917. FILE-INFO:FILE-NAME = cDatei.
  918. IF FILE-INFO:FILE-TYPE = ? THEN RETURN NO-APPLY.
  919. IF NOT FILE-INFO:FILE-TYPE BEGINS 'F' THEN RETURN NO-APPLY.
  920. cPfad = FILE-INFO:FULL-PATHNAME.
  921. cPfad = REPLACE(cPfad, '/', '\').
  922. i1 = R-INDEX(cPfad, '\').
  923. IF i1 > 0 THEN cDatei = SUBSTRING(cPfad,i1 + 1).
  924. ELSE cDatei = cPfad.
  925. i1 = NUM-ENTRIES(cDatei, '.').
  926. IF i1 < 2 THEN RETURN.
  927. cExt = ENTRY(i1, cDatei, '.').
  928. CASE cExt:
  929. WHEN 'doc' OR
  930. WHEN 'docx' THEN DO:
  931. hDok = DYNAMIC-FUNCTION('CREATEWORD':U) NO-ERROR.
  932. IF VALID-HANDLE(hDok) THEN
  933. RUN OPENWORD (INPUT hDok ,
  934. INPUT cPfad,
  935. INPUT '' ,
  936. OUTPUT fok ) NO-ERROR.
  937. END.
  938. WHEN 'xls' OR
  939. WHEN 'xlsx' THEN DO:
  940. hDok = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  941. IF VALID-HANDLE(hDok) THEN
  942. RUN OPENEXCEL (INPUT hDok ,
  943. INPUT cPfad,
  944. INPUT '' ,
  945. OUTPUT fok ) NO-ERROR.
  946. END.
  947. WHEN 'pdf' THEN DO:
  948. RUN ShellExecuteA(INPUT 0 ,
  949. INPUT 'open' ,
  950. INPUT cPfad ,
  951. INPUT '' ,
  952. INPUT '' ,
  953. INPUT 0 ,
  954. OUTPUT iStatus).
  955. END.
  956. END CASE.
  957. RELEASE OBJECT hDok NO-ERROR.
  958. END.
  959. END PROCEDURE.
  960. /* _UIB-CODE-BLOCK-END */
  961. &ANALYZE-RESUME
  962. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  963. PROCEDURE RETURN_FELD :
  964. /*------------------------------------------------------------------------------
  965. Purpose:
  966. Parameters: <none>
  967. Notes:
  968. ------------------------------------------------------------------------------*/
  969. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  970. DEF VAR FeldName AS CHAR NO-UNDO.
  971. IF FMut = FALSE THEN RETURN ''.
  972. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  973. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  974. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  975. IF ipHandle:TYPE = 'EDITOR' THEN DO:
  976. ipHandle:INSERT-STRING(CHR(LASTKEY)).
  977. RETURN ''.
  978. END.
  979. FeldName = ipHandle:NAME.
  980. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  981. RETURN 'TAB'.
  982. END.
  983. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO:
  984. RETURN 'TAB'.
  985. END.
  986. FeldName = 'rowObject.' + FeldName.
  987. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  988. RETURN 'TAB'.
  989. END.
  990. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO:
  991. RETURN 'TAB'.
  992. END.
  993. RETURN ''.
  994. END PROCEDURE.
  995. /* _UIB-CODE-BLOCK-END */
  996. &ANALYZE-RESUME
  997. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  998. PROCEDURE updateMode :
  999. /*------------------------------------------------------------------------------
  1000. Purpose: Super Override
  1001. Parameters:
  1002. Notes:
  1003. ------------------------------------------------------------------------------*/
  1004. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  1005. CASE pcMode:
  1006. WHEN 'updateBegin' THEN DO:
  1007. IF NOT Vorhanden THEN DO:
  1008. DYNAMIC-FUNCTION('SETFLAGABBRUCHALT':U, INPUT TRUE) NO-ERROR.
  1009. RETURN NO-APPLY.
  1010. END.
  1011. END.
  1012. WHEN 'updateEnd' THEN DO:
  1013. END.
  1014. END.
  1015. RUN SUPER( INPUT pcMode).
  1016. CASE pcMode:
  1017. WHEN 'updateBegin' THEN DO:
  1018. FMut = TRUE.
  1019. END.
  1020. WHEN 'updateEnd' THEN DO:
  1021. FNeu = FALSE.
  1022. FMut = FALSE.
  1023. FCopy = FALSE.
  1024. END.
  1025. END.
  1026. END PROCEDURE.
  1027. /* _UIB-CODE-BLOCK-END */
  1028. &ANALYZE-RESUME
  1029. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  1030. PROCEDURE updateRecord :
  1031. /*------------------------------------------------------------------------------
  1032. Purpose: Super Override
  1033. Parameters:
  1034. Notes:
  1035. ------------------------------------------------------------------------------*/
  1036. DO WITH FRAME {&FRAME-NAME}:
  1037. rowObject.FRW:SCREEN-VALUE = CB_FRW:SCREEN-VALUE.
  1038. rowObject.Kond:SCREEN-VALUE = CB_Kond:SCREEN-VALUE.
  1039. IF FNeu THEN DO:
  1040. rowObject.Firma:SCREEN-VALUE = Firma.
  1041. rowObject.EDat:SCREEN-VALUE = STRING(TODAY).
  1042. rowObject.ESbKb:SCREEN-VALUE = DYNAMIC-FUNCTION('GETBENUTZER':U) NO-ERROR.
  1043. END.
  1044. ELSE DO:
  1045. rowObject.MDat:SCREEN-VALUE = STRING(TODAY).
  1046. rowObject.MSbKb:SCREEN-VALUE = DYNAMIC-FUNCTION('GETBENUTZER':U) NO-ERROR.
  1047. END.
  1048. END.
  1049. RUN SUPER.
  1050. /* Code placed here will execute AFTER standard behavior. */
  1051. END PROCEDURE.
  1052. /* _UIB-CODE-BLOCK-END */
  1053. &ANALYZE-RESUME