v-kubes.w 45 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370
  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-kubes.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 Knr
  32. &Scoped-define LETZTES_FELD Beschreibung
  33. &Scoped-define KEY_FELDER CB_Vertreter,Knr
  34. &Scoped-define NUR_LESEN
  35. { incl/viwdefinition.i }
  36. DEF VAR SuchVertr AS INT NO-UNDO.
  37. DEF VAR cUser AS CHAR NO-UNDO.
  38. DEF VAR iKnr AS INT NO-UNDO.
  39. DEF VAR cBesArt AS CHAR NO-UNDO.
  40. DEF VAR dDatum AS DATE NO-UNDO.
  41. DEF VAR iVertr AS INT NO-UNDO.
  42. DEF VAR lCancel AS LOG INIT FALSE NO-UNDO.
  43. DEF VAR hnewKuBes AS HANDLE NO-UNDO.
  44. DEF VAR holdKuBes AS HANDLE NO-UNDO.
  45. DEF BUFFER bAdresse FOR Adresse.
  46. DEF BUFFER bDebst FOR Debst.
  47. DEF BUFFER bKuBes FOR KuBes.
  48. DEF TEMP-TABLE toldKuBes LIKE KuBes.
  49. DEF TEMP-TABLE tnewKuBes LIKE KuBes.
  50. {src/adm2/widgetprto.i}
  51. /* _UIB-CODE-BLOCK-END */
  52. &ANALYZE-RESUME
  53. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  54. /* ******************** Preprocessor Definitions ******************** */
  55. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  56. &Scoped-define DB-AWARE no
  57. &Scoped-define ADM-CONTAINER FRAME
  58. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  59. /* Include file with RowObject temp-table definition */
  60. &Scoped-define DATA-FIELD-DEFS "d-kubes.i"
  61. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  62. &Scoped-define FRAME-NAME F-Main
  63. /* Standard List Definitions */
  64. &Scoped-Define ENABLED-FIELDS RowObject.Knr RowObject.Datum_1 ~
  65. RowObject.Datum_2 RowObject.Spesen RowObject.Abgeschl RowObject.Kontakt ~
  66. RowObject.Beschreibung
  67. &Scoped-define ENABLED-TABLES RowObject
  68. &Scoped-define FIRST-ENABLED-TABLE RowObject
  69. &Scoped-Define ENABLED-OBJECTS CB_Vertreter CB_Besuchsart RECT-5
  70. &Scoped-Define DISPLAYED-FIELDS RowObject.Knr RowObject.Datum_1 ~
  71. RowObject.Datum_2 RowObject.Spesen RowObject.Kunde RowObject.Abgeschl ~
  72. RowObject.Vertr RowObject.Kontakt RowObject.Beschreibung RowObject.Datum ~
  73. RowObject.Adr_01 RowObject.Suchbe RowObject.Adr_02 RowObject.Adr_03 ~
  74. RowObject.Ind RowObject.Adr_04 RowObject.Art RowObject.Firma
  75. &Scoped-define DISPLAYED-TABLES RowObject
  76. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  77. &Scoped-Define DISPLAYED-OBJECTS CB_Vertreter CB_Besuchsart
  78. /* Custom List Definitions */
  79. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  80. /* _UIB-PREPROCESSOR-BLOCK-END */
  81. &ANALYZE-RESUME
  82. /* *********************** Control Definitions ********************** */
  83. /* Menu Definitions */
  84. DEFINE MENU POPUP-MENU-F-Main
  85. MENU-ITEM m_Besuchsauswertung LABEL "Besuchsauswertungen"
  86. MENU-ITEM m_Reorganisation LABEL "Reorganisation".
  87. /* Definitions of the field level widgets */
  88. DEFINE VARIABLE CB_Besuchsart AS CHARACTER FORMAT "X(256)":U
  89. LABEL "Besuchsart"
  90. VIEW-AS COMBO-BOX INNER-LINES 5
  91. LIST-ITEM-PAIRS "Item 1","Item 1"
  92. DROP-DOWN-LIST
  93. SIZE 37 BY 1
  94. BGCOLOR 15 NO-UNDO.
  95. DEFINE VARIABLE CB_Vertreter AS CHARACTER FORMAT "X(256)":U
  96. LABEL "Vertreter"
  97. VIEW-AS COMBO-BOX INNER-LINES 5
  98. LIST-ITEM-PAIRS "Item 1","Item 1"
  99. DROP-DOWN-LIST
  100. SIZE 40 BY 1
  101. BGCOLOR 15 NO-UNDO.
  102. DEFINE RECTANGLE RECT-5
  103. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  104. SIZE 150 BY 6.19.
  105. /* ************************ Frame Definitions *********************** */
  106. DEFINE FRAME F-Main
  107. CB_Vertreter AT ROW 1.52 COL 11 COLON-ALIGNED WIDGET-ID 42
  108. RowObject.Knr AT ROW 2.52 COL 11 COLON-ALIGNED WIDGET-ID 28
  109. VIEW-AS FILL-IN NATIVE
  110. SIZE 10 BY 1
  111. BGCOLOR 15
  112. RowObject.Datum_1 AT ROW 4 COL 11 COLON-ALIGNED WIDGET-ID 20
  113. LABEL "Datum"
  114. VIEW-AS FILL-IN NATIVE
  115. SIZE 16 BY 1
  116. BGCOLOR 15
  117. RowObject.Datum_2 AT ROW 5 COL 11 COLON-ALIGNED WIDGET-ID 22
  118. LABEL "am"
  119. VIEW-AS FILL-IN NATIVE
  120. SIZE 16 BY 1
  121. BGCOLOR 15
  122. CB_Besuchsart AT ROW 4 COL 40 COLON-ALIGNED WIDGET-ID 44
  123. RowObject.Spesen AT ROW 5 COL 40 COLON-ALIGNED WIDGET-ID 34
  124. VIEW-AS FILL-IN NATIVE
  125. SIZE 16 BY 1
  126. BGCOLOR 15
  127. RowObject.Kunde AT ROW 2.52 COL 22 COLON-ALIGNED NO-LABEL WIDGET-ID 32
  128. VIEW-AS FILL-IN NATIVE
  129. SIZE 50 BY 1
  130. BGCOLOR 15 NO-TAB-STOP
  131. RowObject.Abgeschl AT ROW 5 COL 60 WIDGET-ID 2
  132. LABEL "Abgeschlossen"
  133. VIEW-AS TOGGLE-BOX
  134. SIZE 19 BY 1
  135. RowObject.Vertr AT ROW 3 COL 69 COLON-ALIGNED WIDGET-ID 38
  136. LABEL "Vertreter" FORMAT "999999"
  137. VIEW-AS FILL-IN NATIVE
  138. SIZE 4 BY 1
  139. BGCOLOR 15 NO-TAB-STOP
  140. RowObject.Kontakt AT ROW 6 COL 40 COLON-ALIGNED WIDGET-ID 30
  141. VIEW-AS FILL-IN NATIVE
  142. SIZE 37 BY 1
  143. BGCOLOR 15
  144. RowObject.Beschreibung AT ROW 1.52 COL 81 NO-LABEL WIDGET-ID 16
  145. VIEW-AS EDITOR
  146. SIZE 69 BY 5.52
  147. BGCOLOR 15
  148. RowObject.Datum AT ROW 3 COL 69 COLON-ALIGNED WIDGET-ID 18
  149. VIEW-AS FILL-IN NATIVE
  150. SIZE 4 BY 1
  151. BGCOLOR 15 NO-TAB-STOP
  152. RowObject.Adr_01 AT ROW 3 COL 69 COLON-ALIGNED WIDGET-ID 4
  153. VIEW-AS FILL-IN NATIVE
  154. SIZE 4 BY 1
  155. BGCOLOR 15
  156. RowObject.Suchbe AT ROW 3 COL 69 COLON-ALIGNED WIDGET-ID 36
  157. VIEW-AS FILL-IN NATIVE
  158. SIZE 4 BY 1
  159. BGCOLOR 15 NO-TAB-STOP
  160. RowObject.Adr_02 AT ROW 3 COL 69 COLON-ALIGNED WIDGET-ID 6
  161. VIEW-AS FILL-IN NATIVE
  162. SIZE 4 BY 1
  163. BGCOLOR 15
  164. RowObject.Adr_03 AT ROW 3 COL 69 COLON-ALIGNED WIDGET-ID 8
  165. VIEW-AS FILL-IN NATIVE
  166. SIZE 4 BY 1
  167. BGCOLOR 15
  168. RowObject.Ind AT ROW 3 COL 69 COLON-ALIGNED WIDGET-ID 26
  169. VIEW-AS FILL-IN NATIVE
  170. SIZE 4 BY 1
  171. BGCOLOR 15 NO-TAB-STOP
  172. RowObject.Adr_04 AT ROW 3 COL 69 COLON-ALIGNED WIDGET-ID 10
  173. VIEW-AS FILL-IN NATIVE
  174. SIZE 4 BY 1
  175. BGCOLOR 15
  176. RowObject.Art AT ROW 3 COL 69 COLON-ALIGNED WIDGET-ID 14
  177. VIEW-AS FILL-IN NATIVE
  178. SIZE 4 BY 1
  179. BGCOLOR 15 NO-TAB-STOP
  180. RowObject.Firma AT ROW 3 COL 69 COLON-ALIGNED WIDGET-ID 24
  181. VIEW-AS FILL-IN NATIVE
  182. SIZE 4 BY 1
  183. BGCOLOR 15 NO-TAB-STOP
  184. RECT-5 AT ROW 1.24 COL 2 WIDGET-ID 40
  185. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  186. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  187. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  188. /* *********************** Procedure Settings ************************ */
  189. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  190. /* Settings for THIS-PROCEDURE
  191. Type: SmartDataViewer
  192. Data Source: "d-kubes.w"
  193. Allow: Basic,DB-Fields,Smart
  194. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  195. Frames: 1
  196. Add Fields to: Neither
  197. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER
  198. Temp-Tables and Buffers:
  199. TABLE: RowObject D "?" NO-UNDO
  200. ADDITIONAL-FIELDS:
  201. {d-kubes.i}
  202. END-FIELDS.
  203. END-TABLES.
  204. */
  205. /* This procedure should always be RUN PERSISTENT. Report the error, */
  206. /* then cleanup and return. */
  207. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  208. DO:
  209. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  210. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  211. RETURN.
  212. END.
  213. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  214. /* ************************* Create Window ************************** */
  215. &ANALYZE-SUSPEND _CREATE-WINDOW
  216. /* DESIGN Window definition (used by the UIB)
  217. CREATE WINDOW vTableWin ASSIGN
  218. HEIGHT = 6.71
  219. WIDTH = 152.
  220. /* END WINDOW DEFINITION */
  221. */
  222. &ANALYZE-RESUME
  223. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  224. /* ************************* Included-Libraries *********************** */
  225. {src/adm2/viewer.i}
  226. /* _UIB-CODE-BLOCK-END */
  227. &ANALYZE-RESUME
  228. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  229. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  230. /* SETTINGS FOR WINDOW vTableWin
  231. VISIBLE,,RUN-PERSISTENT */
  232. /* SETTINGS FOR FRAME F-Main
  233. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  234. ASSIGN
  235. FRAME F-Main:SCROLLABLE = FALSE
  236. FRAME F-Main:HIDDEN = TRUE
  237. FRAME F-Main:POPUP-MENU = MENU POPUP-MENU-F-Main:HANDLE.
  238. /* SETTINGS FOR TOGGLE-BOX RowObject.Abgeschl IN FRAME F-Main
  239. EXP-LABEL */
  240. /* SETTINGS FOR FILL-IN RowObject.Adr_01 IN FRAME F-Main
  241. NO-ENABLE */
  242. ASSIGN
  243. RowObject.Adr_01:HIDDEN IN FRAME F-Main = TRUE.
  244. /* SETTINGS FOR FILL-IN RowObject.Adr_02 IN FRAME F-Main
  245. NO-ENABLE */
  246. ASSIGN
  247. RowObject.Adr_02:HIDDEN IN FRAME F-Main = TRUE.
  248. /* SETTINGS FOR FILL-IN RowObject.Adr_03 IN FRAME F-Main
  249. NO-ENABLE */
  250. ASSIGN
  251. RowObject.Adr_03:HIDDEN IN FRAME F-Main = TRUE.
  252. /* SETTINGS FOR FILL-IN RowObject.Adr_04 IN FRAME F-Main
  253. NO-ENABLE */
  254. ASSIGN
  255. RowObject.Adr_04:HIDDEN IN FRAME F-Main = TRUE.
  256. /* SETTINGS FOR FILL-IN RowObject.Art IN FRAME F-Main
  257. NO-ENABLE */
  258. ASSIGN
  259. RowObject.Art:HIDDEN IN FRAME F-Main = TRUE
  260. RowObject.Art:READ-ONLY IN FRAME F-Main = TRUE.
  261. /* SETTINGS FOR EDITOR RowObject.Beschreibung IN FRAME F-Main
  262. EXP-LABEL */
  263. /* SETTINGS FOR FILL-IN RowObject.Datum IN FRAME F-Main
  264. NO-ENABLE */
  265. ASSIGN
  266. RowObject.Datum:HIDDEN IN FRAME F-Main = TRUE
  267. RowObject.Datum:READ-ONLY IN FRAME F-Main = TRUE.
  268. /* SETTINGS FOR FILL-IN RowObject.Datum_1 IN FRAME F-Main
  269. EXP-LABEL */
  270. /* SETTINGS FOR FILL-IN RowObject.Datum_2 IN FRAME F-Main
  271. EXP-LABEL */
  272. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main
  273. NO-ENABLE */
  274. ASSIGN
  275. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE
  276. RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE.
  277. /* SETTINGS FOR FILL-IN RowObject.Ind IN FRAME F-Main
  278. NO-ENABLE */
  279. ASSIGN
  280. RowObject.Ind:HIDDEN IN FRAME F-Main = TRUE
  281. RowObject.Ind:READ-ONLY IN FRAME F-Main = TRUE.
  282. /* SETTINGS FOR FILL-IN RowObject.Kunde IN FRAME F-Main
  283. NO-ENABLE */
  284. ASSIGN
  285. RowObject.Kunde:READ-ONLY IN FRAME F-Main = TRUE.
  286. /* SETTINGS FOR FILL-IN RowObject.Suchbe IN FRAME F-Main
  287. NO-ENABLE */
  288. ASSIGN
  289. RowObject.Suchbe:HIDDEN IN FRAME F-Main = TRUE
  290. RowObject.Suchbe:READ-ONLY IN FRAME F-Main = TRUE.
  291. /* SETTINGS FOR FILL-IN RowObject.Vertr IN FRAME F-Main
  292. NO-ENABLE EXP-LABEL EXP-FORMAT */
  293. ASSIGN
  294. RowObject.Vertr:HIDDEN IN FRAME F-Main = TRUE
  295. RowObject.Vertr:READ-ONLY IN FRAME F-Main = TRUE.
  296. /* _RUN-TIME-ATTRIBUTES-END */
  297. &ANALYZE-RESUME
  298. /* Setting information for Queries and Browse Widgets fields */
  299. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  300. /* Query rebuild information for FRAME F-Main
  301. _Options = "NO-LOCK"
  302. _Query is NOT OPENED
  303. */ /* FRAME F-Main */
  304. &ANALYZE-RESUME
  305. /* ************************ Control Triggers ************************ */
  306. &Scoped-define SELF-NAME RowObject.Abgeschl
  307. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Abgeschl vTableWin
  308. ON VALUE-CHANGED OF RowObject.Abgeschl IN FRAME F-Main /* Abgeschlossen */
  309. DO:
  310. IF NOT FMut THEN SELF:SCREEN-VALUE =
  311. IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE).
  312. END.
  313. /* _UIB-CODE-BLOCK-END */
  314. &ANALYZE-RESUME
  315. &Scoped-define SELF-NAME CB_Vertreter
  316. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Vertreter vTableWin
  317. ON VALUE-CHANGED OF CB_Vertreter IN FRAME F-Main /* Vertreter */
  318. DO:
  319. IF FMut AND
  320. NOT Fneu THEN SELF:SCREEN-VALUE = STRING(iVertr,'999999') NO-ERROR.
  321. /* Oswald Spezial */
  322. IF cBenutzer = 'gt' THEN
  323. DO:
  324. SELF:SCREEN-VALUE = STRING(iVertr,'999999') NO-ERROR.
  325. SELF:SENSITIVE = FALSE.
  326. END.
  327. iVertr = INTEGER(SELF:SCREEN-VALUE) NO-ERROR.
  328. rowObject.Vertr:SCREEN-VALUE = STRING(iVertr) NO-ERROR.
  329. PUT-KEY-VALUE SECTION cUser
  330. KEY 'VertreterBesuch'
  331. VALUE STRING(iVertr) NO-ERROR.
  332. IF NOT FMut THEN APPLY 'U1'.
  333. ELSE RETURN NO-APPLY.
  334. END.
  335. /* _UIB-CODE-BLOCK-END */
  336. &ANALYZE-RESUME
  337. &Scoped-define SELF-NAME RowObject.Knr
  338. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Knr vTableWin
  339. ON ALT-F OF RowObject.Knr IN FRAME F-Main /* Knr */
  340. DO:
  341. DEF VAR cAdresse AS CHAR NO-UNDO.
  342. DEF VAR cParam AS CHAR NO-UNDO.
  343. DEF VAR bRecid AS RECID NO-UNDO.
  344. IF NOT FNeu THEN RETURN NO-APPLY.
  345. SuchVertr = DYNAMIC-FUNCTION('getSuchVertreter':U IN hKontainer) NO-ERROR.
  346. cParam = 'KUBES,' + STRING(SuchVertr,'999999').
  347. RUN g-suchen-adresse.w ( INPUT cParam, OUTPUT bRecid ).
  348. IF bRecid = ? THEN RETURN.
  349. IF bRecid = 0 THEN RETURN.
  350. FIND Adresse NO-LOCK WHERE RECID(Adresse) = bRecid.
  351. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  352. /* FIND LAST KuBes NO-LOCK */
  353. /* WHERE KuBes.Firma = Firma */
  354. /* AND KuBes.Knr = Adresse.Knr NO-ERROR. */
  355. /* IF AVAILABLE KuBes THEN DO: */
  356. /* bRecid = RECID(KuBes). */
  357. /* RUN REPOS IN hDaten ( INPUT bRecid ). */
  358. /* END. */
  359. APPLY 'TAB' TO SELF.
  360. RETURN NO-APPLY.
  361. END.
  362. /* _UIB-CODE-BLOCK-END */
  363. &ANALYZE-RESUME
  364. &Scoped-define SELF-NAME m_Besuchsauswertung
  365. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Besuchsauswertung vTableWin
  366. ON CHOOSE OF MENU-ITEM m_Besuchsauswertung /* Besuchsauswertungen */
  367. DO:
  368. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL' ).
  369. RUN g-p_kubes.w.
  370. APPLY 'ENTRY' TO SELF.
  371. RETURN NO-APPLY.
  372. END.
  373. /* _UIB-CODE-BLOCK-END */
  374. &ANALYZE-RESUME
  375. &Scoped-define SELF-NAME m_Reorganisation
  376. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Reorganisation vTableWin
  377. ON CHOOSE OF MENU-ITEM m_Reorganisation /* Reorganisation */
  378. DO:
  379. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL' ).
  380. RUN g-reorg-kubes.w.
  381. APPLY 'U1'.
  382. RETURN NO-APPLY.
  383. END.
  384. /* _UIB-CODE-BLOCK-END */
  385. &ANALYZE-RESUME
  386. &UNDEFINE SELF-NAME
  387. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  388. /* *************************** Main Block *************************** */
  389. { incl/viwmainblock.i }
  390. SUBSCRIBE TO 'VERTRETERWECHSEL' ANYWHERE.
  391. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  392. RUN initializeObject.
  393. &ENDIF
  394. /************************ INTERNAL PROCEDURES ********************/
  395. /* _UIB-CODE-BLOCK-END */
  396. &ANALYZE-RESUME
  397. /* ********************** Internal Procedures *********************** */
  398. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  399. PROCEDURE addRecord :
  400. /*------------------------------------------------------------------------------
  401. Purpose: Super Override
  402. Parameters:
  403. Notes:
  404. ------------------------------------------------------------------------------*/
  405. FNeu = TRUE.
  406. FMut = TRUE.
  407. FDisp = TRUE.
  408. EMPTY TEMP-TABLE toldKuBes.
  409. CREATE toldKuBes.
  410. RUN SUPER.
  411. /* Code placed here will execute AFTER standard behavior. */
  412. END PROCEDURE.
  413. /* _UIB-CODE-BLOCK-END */
  414. &ANALYZE-RESUME
  415. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ADESSANZEIGE vTableWin
  416. PROCEDURE ADESSANZEIGE :
  417. /*------------------------------------------------------------------------------
  418. Purpose:
  419. Parameters: <none>
  420. Notes:
  421. ------------------------------------------------------------------------------*/
  422. DEF VAR Daten AS CHAR NO-UNDO.
  423. DEF VAR ix AS INT NO-UNDO.
  424. DO WITH FRAME {&FRAME-NAME}:
  425. IF rowObject.Adr_04:SCREEN-VALUE = '' THEN RETURN NO-APPLY.
  426. Daten = rowObject.Adr_01:SCREEN-VALUE + CHR(01)
  427. + rowObject.Adr_02:SCREEN-VALUE + CHR(01)
  428. + rowObject.Adr_03:SCREEN-VALUE + CHR(01)
  429. + rowObject.Adr_04:SCREEN-VALUE.
  430. RUN g-adresseingabe.w ( INPUT-OUTPUT Daten ).
  431. IF Daten = '' THEN RETURN NO-APPLY.
  432. rowObject.Adr_01:SCREEN-VALUE = ENTRY(1, Daten, CHR(01)).
  433. rowObject.Adr_02:SCREEN-VALUE = ENTRY(2, Daten, CHR(01)).
  434. rowObject.Adr_03:SCREEN-VALUE = ENTRY(3, Daten, CHR(01)).
  435. rowObject.Adr_04:SCREEN-VALUE = ENTRY(4, Daten, CHR(01)).
  436. Daten = rowObject.Adr_04:SCREEN-VALUE.
  437. DO ix = 3 TO 1 BY -1:
  438. CASE ix:
  439. WHEN 1 THEN
  440. DO:
  441. IF rowObject.Adr_01:SCREEN-VALUE = '' THEN NEXT.
  442. Daten = rowObject.Adr_01:SCREEN-VALUE + ', ' + Daten.
  443. END.
  444. WHEN 2 THEN
  445. DO:
  446. IF rowObject.Adr_02:SCREEN-VALUE = '' THEN NEXT.
  447. Daten = rowObject.Adr_02:SCREEN-VALUE + ', ' + Daten.
  448. END.
  449. WHEN 3 THEN
  450. DO:
  451. IF rowObject.Adr_03:SCREEN-VALUE = '' THEN NEXT.
  452. Daten = rowObject.Adr_03:SCREEN-VALUE + ', ' + Daten.
  453. END.
  454. END CASE.
  455. END.
  456. rowObject.Kunde:SCREEN-VALUE = Daten.
  457. END.
  458. END PROCEDURE.
  459. /* _UIB-CODE-BLOCK-END */
  460. &ANALYZE-RESUME
  461. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  462. PROCEDURE cancelRecord :
  463. /*------------------------------------------------------------------------------
  464. Purpose: Super Override
  465. Parameters:
  466. Notes:
  467. ------------------------------------------------------------------------------*/
  468. FCancel = TRUE.
  469. lCancel = TRUE.
  470. RUN SUPER.
  471. /* Code placed here will execute AFTER standard behavior. */
  472. END PROCEDURE.
  473. /* _UIB-CODE-BLOCK-END */
  474. &ANALYZE-RESUME
  475. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  476. PROCEDURE copyRecord :
  477. /*------------------------------------------------------------------------------
  478. Purpose: Super Override
  479. Parameters:
  480. Notes:
  481. ------------------------------------------------------------------------------*/
  482. FNeu = TRUE.
  483. FMut = TRUE.
  484. FCopy = TRUE.
  485. FDisp = TRUE.
  486. RUN SUPER.
  487. END PROCEDURE.
  488. /* _UIB-CODE-BLOCK-END */
  489. &ANALYZE-RESUME
  490. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  491. PROCEDURE deleteRecord :
  492. /*------------------------------------------------------------------------------
  493. Purpose: Super Override
  494. Parameters:
  495. Notes:
  496. ------------------------------------------------------------------------------*/
  497. DEF VAR Ja AS LOG NO-UNDO.
  498. Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ).
  499. IF NOT Ja THEN
  500. DO:
  501. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  502. RETURN NO-APPLY.
  503. END.
  504. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  505. iKnr = INTEGER(rowObject.Knr:SCREEN-VALUE) NO-ERROR.
  506. cBesArt = CB_Besuchsart :SCREEN-VALUE NO-ERROR.
  507. dDatum = DATE(rowObject.Datum_2:SCREEN-VALUE) NO-ERROR.
  508. FIND Tabel NO-LOCK USE-INDEX Tabel-k1
  509. WHERE Tabel.Firma = Firma
  510. AND Tabel.RecArt = 'BESUCH'
  511. AND Tabel.CodeC = cBesArt
  512. AND Tabel.CodeI = 0
  513. AND Tabel.Sprcd = 1 NO-ERROR.
  514. IF NOT AVAILABLE Tabel THEN LEAVE.
  515. IF Tabel.INT_1 = 0 THEN LEAVE.
  516. REPEAT TRANSACTION:
  517. FIND KuBesSta USE-INDEX KuBesSta-k1
  518. WHERE KuBesSta.Firma = Firma
  519. AND KuBesSta.Knr = iKnr NO-ERROR.
  520. IF NOT AVAILABLE KuBesSta THEN LEAVE.
  521. IF KuBesSta.AnzHaben = 0 THEN LEAVE.
  522. KuBesSta.AnzHaben = KuBesSta.AnzHaben - 1.
  523. RELEASE KuBesSta.
  524. PUBLISH 'REFRESHKUBESSTA'.
  525. LEAVE.
  526. END.
  527. LEAVE.
  528. END.
  529. RUN SUPER.
  530. REPEAT TRANSACTION:
  531. FIND FIRST KuBes NO-LOCK USE-INDEX KuBes-k1
  532. WHERE KuBes.Firma = Firma
  533. AND KuBes.Knr = iKnr NO-ERROR.
  534. IF AVAILABLE KuBes THEN LEAVE.
  535. FOR EACH KuBesSta
  536. WHERE KuBesSta.Firma = Firma
  537. AND KuBesSta.Knr = iKnr:
  538. DELETE KuBesSta.
  539. END.
  540. RELEASE KuBes.
  541. RELEASE KuBesSta.
  542. LEAVE.
  543. END.
  544. END PROCEDURE.
  545. /* _UIB-CODE-BLOCK-END */
  546. &ANALYZE-RESUME
  547. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  548. PROCEDURE disableFields :
  549. /*------------------------------------------------------------------------------
  550. Purpose: Super Override
  551. Parameters:
  552. Notes:
  553. ------------------------------------------------------------------------------*/
  554. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  555. DO WITH FRAME {&FRAME-NAME}:
  556. END.
  557. RUN SUPER( INPUT pcFieldType).
  558. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  559. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  560. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  561. DO:
  562. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  563. END.
  564. DO WITH FRAME {&FRAME-NAME}:
  565. CB_Vertreter:SENSITIVE = TRUE.
  566. END.
  567. END PROCEDURE.
  568. /* _UIB-CODE-BLOCK-END */
  569. &ANALYZE-RESUME
  570. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  571. PROCEDURE disable_UI :
  572. /*------------------------------------------------------------------------------
  573. Purpose: DISABLE the User Interface
  574. Parameters: <none>
  575. Notes: Here we clean-up the user-interface by deleting
  576. dynamic widgets we have created and/or hide
  577. frames. This procedure is usually called when
  578. we are ready to "clean-up" after running.
  579. ------------------------------------------------------------------------------*/
  580. /* Hide all frames. */
  581. HIDE FRAME F-Main.
  582. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  583. END PROCEDURE.
  584. /* _UIB-CODE-BLOCK-END */
  585. &ANALYZE-RESUME
  586. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  587. PROCEDURE displayFields :
  588. /*------------------------------------------------------------------------------
  589. Purpose: Super Override
  590. Parameters:
  591. Notes:
  592. ------------------------------------------------------------------------------*/
  593. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  594. IF NOT FDisp THEN
  595. DO:
  596. FDisp = TRUE.
  597. RETURN.
  598. END.
  599. IF FCancel THEN pcColValues = OldColValues.
  600. IF NOT FNeu THEN OldColValues = pcColValues.
  601. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  602. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  603. DO WITH FRAME {&FRAME-NAME}:
  604. END.
  605. RUN SUPER( INPUT pcColValues).
  606. FCancel = FALSE.
  607. DO WITH FRAME {&FRAME-NAME}:
  608. CB_Besuchsart:SCREEN-VALUE = rowObject.Art :SCREEN-VALUE NO-ERROR.
  609. CB_Vertreter :SCREEN-VALUE = rowObject.Vertr:SCREEN-VALUE NO-ERROR.
  610. IF NOT FNeu THEN
  611. DO:
  612. iKnr = INTEGER(rowObject.Knr:SCREEN-VALUE) NO-ERROR.
  613. cBesArt = CB_Besuchsart:SCREEN-VALUE.
  614. IF iVertr = -1 THEN iVertr = INTEGER(rowObject.Vertr:SCREEN-VALUE) NO-ERROR.
  615. END.
  616. END.
  617. END PROCEDURE.
  618. /* _UIB-CODE-BLOCK-END */
  619. &ANALYZE-RESUME
  620. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  621. PROCEDURE enableFields :
  622. /*------------------------------------------------------------------------------
  623. Purpose: Super Override
  624. Parameters:
  625. Notes:
  626. ------------------------------------------------------------------------------*/
  627. /* Code placed here will execute PRIOR to standard behavior. */
  628. /*
  629. RUN SUPER.
  630. */
  631. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  632. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  633. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN
  634. DO:
  635. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  636. END.
  637. DO WITH FRAME {&FRAME-NAME}:
  638. END.
  639. IF FNeu THEN RETURN.
  640. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  641. DO:
  642. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  643. END.
  644. END PROCEDURE.
  645. /* _UIB-CODE-BLOCK-END */
  646. &ANALYZE-RESUME
  647. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  648. PROCEDURE enableObject :
  649. /*------------------------------------------------------------------------------
  650. Purpose: Super Override
  651. Parameters:
  652. Notes:
  653. ------------------------------------------------------------------------------*/
  654. DEF VAR cString AS CHAR NO-UNDO.
  655. cUser = DYNAMIC-FUNCTION('getDBUser') NO-ERROR.
  656. holdKuBes = TEMP-TABLE toldKuBes:DEFAULT-BUFFER-HANDLE.
  657. hnewKuBes = TEMP-TABLE tnewKuBes:DEFAULT-BUFFER-HANDLE.
  658. cInstallation = DYNAMIC-FUNCTION ('getInstallation':U) NO-ERROR.
  659. cBenutzer = DYNAMIC-FUNCTION ('getBenutzer':U) NO-ERROR.
  660. RUN SUPER.
  661. { incl/viwenableobject.i }
  662. GET-KEY-VALUE SECTION cUser
  663. KEY 'VertreterBesuch'
  664. VALUE cString.
  665. IF cString = ? THEN cString = ''.
  666. IF cString = '' THEN iVertr = -1.
  667. ELSE iVertr = INTEGER(cString) NO-ERROR.
  668. DO WITH FRAME {&FRAME-NAME}:
  669. RUN COMBO_BESUCHSART ( INPUT CB_Besuchsart:HANDLE ).
  670. RUN COMBO_VERTRETER ( INPUT CB_Vertreter :HANDLE ).
  671. IF iVertr = 0 OR
  672. iVertr = 999999 THEN iVertr = INTEGER(ENTRY(2, CB_Vertreter:LIST-ITEM-PAIRS, ';')).
  673. CB_Vertreter:SCREEN-VALUE = STRING(iVertr,'999999') NO-ERROR.
  674. END.
  675. RUN SUPER.
  676. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  677. IF SAktiv THEN
  678. DO:
  679. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  680. END.
  681. /* Oswald Spezial */
  682. IF cInstallation = 'oswald' AND
  683. cBenutzer = 'gt' THEN
  684. DO WITH FRAME {&FRAME-NAME}:
  685. CB_Vertreter:SCREEN-VALUE = '000030'.
  686. CB_Vertreter:SENSITIVE = FALSE.
  687. iVertr = 30.
  688. END.
  689. END PROCEDURE.
  690. /* _UIB-CODE-BLOCK-END */
  691. &ANALYZE-RESUME
  692. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  693. PROCEDURE ENTRY_FELD_TEST :
  694. /*------------------------------------------------------------------------------
  695. Purpose:
  696. Parameters: <none>
  697. Notes:
  698. ------------------------------------------------------------------------------*/
  699. { incl/viwentryfeldtest.i }
  700. DO WITH FRAME {&FRAME-NAME}:
  701. CASE FeldName:
  702. END CASE.
  703. END.
  704. RETURN ''.
  705. END PROCEDURE.
  706. /* _UIB-CODE-BLOCK-END */
  707. &ANALYZE-RESUME
  708. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  709. PROCEDURE FEHLWERTE :
  710. /*------------------------------------------------------------------------------
  711. Purpose:
  712. Parameters: <none>
  713. Notes:
  714. ------------------------------------------------------------------------------*/
  715. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  716. DEF VAR i1 AS INT NO-UNDO.
  717. IF FCancel THEN RETURN.
  718. IF NOT FCopy THEN
  719. DO WITH FRAME {&FRAME-NAME}:
  720. i1 = LOOKUP('Firma', oldColList, ',') + 1.
  721. ENTRY(i1, pcColValues, CHR(1)) = Firma NO-ERROR.
  722. i1 = LOOKUP('Knr', oldColList, ',') + 1.
  723. ENTRY(i1, pcColValues, CHR(1)) = STRING(iKnr) NO-ERROR.
  724. i1 = LOOKUP('Ind', oldColList, ',') + 1.
  725. ENTRY(i1, pcColValues, CHR(1)) = STRING(0) NO-ERROR.
  726. i1 = LOOKUP('Vertr', oldColList, ',') + 1.
  727. ENTRY(i1, pcColValues, CHR(1)) = STRING(iVertr) NO-ERROR.
  728. i1 = LOOKUP('Art', oldColList, ',') + 1.
  729. ENTRY(i1, pcColValues, CHR(1)) = cBesArt NO-ERROR.
  730. END.
  731. IF FCopy THEN
  732. DO:
  733. END.
  734. END PROCEDURE.
  735. /* _UIB-CODE-BLOCK-END */
  736. &ANALYZE-RESUME
  737. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  738. PROCEDURE LEAVE_FELD_TEST :
  739. /*------------------------------------------------------------------------------
  740. Purpose:
  741. Parameters: <none>
  742. Notes:
  743. ------------------------------------------------------------------------------*/
  744. { incl/viwleavefeldtest.i }
  745. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  746. CASE FeldName:
  747. WHEN 'Knr' THEN
  748. DO:
  749. iKnr = INTEGER(FeldInhalt).
  750. FIND bAdresse NO-LOCK USE-INDEX Adresse-k1
  751. WHERE bAdresse.Firma = AdFirma
  752. AND bAdresse.Knr = iKnr NO-ERROR.
  753. IF NOT AVAILABLE bAdresse THEN
  754. DO:
  755. RUN FEHLER ( INPUT 1015 ).
  756. RETURN 'ERROR'.
  757. END.
  758. IF NOT bAdresse.Aktiv THEN
  759. DO:
  760. MESSAGE 'Adresse ist im Status <gelöscht>!'
  761. VIEW-AS ALERT-BOX ERROR.
  762. RETURN 'ERROR'.
  763. END.
  764. rowObject.Kunde:SCREEN-VALUE = bAdresse.Anzeig_Br.
  765. FIND BDebst NO-LOCK USE-INDEX Debst-k1
  766. WHERE BDebst.Firma = Firma
  767. AND BDebst.Knr = iKnr NO-ERROR.
  768. IF NOT AVAILABLE BDebst THEN RETURN ''.
  769. IF NOT BDebst.Passant THEN RETURN ''.
  770. Daten = rowObject.Adr_01:SCREEN-VALUE + CHR(01)
  771. + rowObject.Adr_02:SCREEN-VALUE + CHR(01)
  772. + rowObject.Adr_03:SCREEN-VALUE + CHR(01)
  773. + rowObject.Adr_04:SCREEN-VALUE.
  774. RUN g-adresseingabe.w ( INPUT-OUTPUT Daten ).
  775. IF Daten = '' THEN
  776. DO:
  777. MESSAGE 'Adresse muss eingegeben werden'
  778. VIEW-AS ALERT-BOX ERROR.
  779. RETURN 'ERROR'.
  780. END.
  781. rowObject.Adr_01:SCREEN-VALUE = ENTRY(1, Daten, CHR(01)).
  782. rowObject.Adr_02:SCREEN-VALUE = ENTRY(2, Daten, CHR(01)).
  783. rowObject.Adr_03:SCREEN-VALUE = ENTRY(3, Daten, CHR(01)).
  784. rowObject.Adr_04:SCREEN-VALUE = ENTRY(4, Daten, CHR(01)).
  785. Daten = rowObject.Adr_04:SCREEN-VALUE.
  786. DO ix = 3 TO 1 BY -1:
  787. CASE ix:
  788. WHEN 1 THEN
  789. DO:
  790. IF rowObject.Adr_01:SCREEN-VALUE = '' THEN NEXT.
  791. Daten = rowObject.Adr_01:SCREEN-VALUE + ', ' + Daten.
  792. END.
  793. WHEN 2 THEN
  794. DO:
  795. IF rowObject.Adr_02:SCREEN-VALUE = '' THEN NEXT.
  796. Daten = rowObject.Adr_02:SCREEN-VALUE + ', ' + Daten.
  797. END.
  798. WHEN 3 THEN
  799. DO:
  800. IF rowObject.Adr_03:SCREEN-VALUE = '' THEN NEXT.
  801. Daten = rowObject.Adr_03:SCREEN-VALUE + ', ' + Daten.
  802. END.
  803. END CASE.
  804. END.
  805. rowObject.Kunde:SCREEN-VALUE = Daten.
  806. END.
  807. END CASE.
  808. LEAVE.
  809. END.
  810. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  811. CASE FeldName:
  812. WHEN 'Datum_1' THEN
  813. DO:
  814. IF FeldInhalt = '' THEN SELF:SCREEN-VALUE = STRING(TODAY).
  815. dDatum = DATE(SELF:SCREEN-VALUE) NO-ERROR.
  816. IF ERROR-STATUS:ERROR THEN
  817. DO:
  818. MESSAGE 'Datum ungültig' VIEW-AS ALERT-BOX.
  819. APPLY 'ENTRY' TO rowObject.Datum_1.
  820. RETURN 'ERROR'.
  821. END.
  822. SELF:SCREEN-VALUE = STRING(dDatum).
  823. END.
  824. END CASE.
  825. LEAVE.
  826. END.
  827. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN
  828. DO:
  829. DO WHILE TRUE:
  830. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  831. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  832. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  833. RETURN ''.
  834. END.
  835. APPLY 'ALT-S'.
  836. RETURN 'APPLY'.
  837. END.
  838. RETURN ''.
  839. END PROCEDURE.
  840. /* _UIB-CODE-BLOCK-END */
  841. &ANALYZE-RESUME
  842. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  843. PROCEDURE RETURN_FELD :
  844. /*------------------------------------------------------------------------------
  845. Purpose:
  846. Parameters: <none>
  847. Notes:
  848. ------------------------------------------------------------------------------*/
  849. { incl/viwreturnfeld.i }
  850. END PROCEDURE.
  851. /* _UIB-CODE-BLOCK-END */
  852. &ANALYZE-RESUME
  853. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin
  854. PROCEDURE TEST_EINGABEN :
  855. /*------------------------------------------------------------------------------
  856. Purpose:
  857. Parameters: <none>
  858. Notes:
  859. ------------------------------------------------------------------------------*/
  860. DEF OUTPUT PARAMETER opJa AS LOG NO-UNDO.
  861. DEF VAR eHandle AS HANDLE NO-UNDO.
  862. DEF VAR cString AS CHAR NO-UNDO.
  863. DEF VAR iNummer AS INT NO-UNDO.
  864. DEF VAR dDatum AS DATE NO-UNDO.
  865. DEF VAR lPassant AS LOG NO-UNDO.
  866. opJa = FALSE.
  867. eHandle = ?.
  868. IF NOT FMut THEN RETURN.
  869. AAA000:
  870. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  871. rowObject.Vertr:SCREEN-VALUE = CB_Vertreter :SCREEN-VALUE.
  872. rowObject.Art :SCREEN-VALUE = CB_Besuchsart:SCREEN-VALUE.
  873. iKnr = INTEGER(rowObject.Knr :SCREEN-VALUE).
  874. iVertr = INTEGER(rowObject.Vertr:SCREEN-VALUE).
  875. IF FNeu THEN
  876. DO:
  877. cString = DYNAMIC-FUNCTION('getAdressAnzeige':U, iKnr) NO-ERROR.
  878. IF cString = '' THEN
  879. DO:
  880. RUN FEHLER ( INPUT 1015 ).
  881. eHandle = rowObject.Knr:HANDLE.
  882. LEAVE.
  883. END.
  884. END.
  885. IF NOT rowObject.Abgeschl:SCREEN-VALUE BEGINS 'n' THEN
  886. DO:
  887. dDatum = DATE(rowObject.Datum_2:SCREEN-VALUE) NO-ERROR.
  888. IF dDatum = ? THEN dDatum = DATE(rowObject.Datum_1:SCREEN-VALUE) NO-ERROR.
  889. IF dDatum = ? THEN dDatum = TODAY.
  890. rowObject.Datum_2:SCREEN-VALUE = STRING(dDatum).
  891. END.
  892. FIND bAdresse NO-LOCK USE-INDEX Adresse-k1
  893. WHERE bAdresse.Firma = AdFirma
  894. AND bAdresse.Knr = iKnr NO-ERROR.
  895. FIND bDebst NO-LOCK USE-INDEX Debst-k1
  896. WHERE bDebst.Firma = Firma
  897. AND bDebst.Knr = iKnr NO-ERROR.
  898. IF AVAILABLE bDebst THEN lPassant = bDebst.Passant.
  899. ELSE lPassant = FALSE.
  900. IF NOT lPassant THEN
  901. DO:
  902. rowObject.Suchbe:SCREEN-VALUE = bAdresse.Suchbe .
  903. rowObject.Kunde :SCREEN-VALUE = bAdresse.Anzeig_Br .
  904. END.
  905. LEAVE.
  906. END.
  907. IF VALID-HANDLE(eHandle) THEN
  908. DO:
  909. APPLY 'ENTRY' TO eHandle.
  910. RETURN NO-APPLY.
  911. END.
  912. opJa = TRUE.
  913. END PROCEDURE.
  914. /* _UIB-CODE-BLOCK-END */
  915. &ANALYZE-RESUME
  916. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  917. PROCEDURE updateMode :
  918. /*------------------------------------------------------------------------------
  919. Purpose: Super Override
  920. Parameters:
  921. Notes:
  922. ------------------------------------------------------------------------------*/
  923. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  924. DEF VAR hrowObject AS HANDLE NO-UNDO.
  925. DEF VAR cDiff AS CHAR NO-UNDO.
  926. DEF BUFFER bOldTabel FOR Tabel.
  927. DEF BUFFER bNewTabel FOR Tabel.
  928. CASE pcMode:
  929. WHEN 'updateBegin' THEN
  930. DO:
  931. END.
  932. WHEN 'updateEnd' THEN
  933. DO:
  934. END.
  935. END.
  936. RUN SUPER( INPUT pcMode).
  937. CASE pcMode:
  938. WHEN 'updateBegin' THEN
  939. DO WITH FRAME {&FRAME-NAME}:
  940. FMut = TRUE.
  941. hrowObject = DYNAMIC-FUNCTION('getCurrentKuBes':U IN hDaten).
  942. EMPTY TEMP-TABLE toldKuBes.
  943. CREATE toldKuBes.
  944. holdKuBes:BUFFER-COPY(hrowObject).
  945. END.
  946. WHEN 'updateEnd' THEN
  947. DO:
  948. DO TRANSACTION WHILE NOT lCancel:
  949. hrowObject = DYNAMIC-FUNCTION('getCurrentKuBes':U IN hDaten).
  950. EMPTY TEMP-TABLE tnewKuBes.
  951. CREATE tnewKuBes.
  952. hnewKuBes:BUFFER-COPY(hrowObject).
  953. FIND KuBesSta USE-INDEX KuBesSta-k1
  954. WHERE KuBesSta.Firma = Firma
  955. AND KuBesSta.Knr = tnewKuBes.Knr NO-ERROR.
  956. IF NOT AVAILABLE KuBesSta THEN
  957. DO:
  958. CREATE KuBesSta.
  959. ASSIGN
  960. KuBesSta.Firma = tNewKuBes.Firma
  961. KuBesSta.Knr = tNewKuBes.Knr.
  962. END.
  963. BUFFER-COMPARE tnewKuBes
  964. USING Abgeschl Art
  965. TO toldKuBes
  966. SAVE RESULT IN cDiff.
  967. IF cDiff = '' THEN LEAVE.
  968. IF toldKuBes.Firma = '' THEN
  969. DO: /* NEUER BESUCH */
  970. IF tnewKuBes.Abgeschl = FALSE THEN LEAVE.
  971. FIND bnewTabel USE-INDEX Tabel-k1
  972. WHERE bnewTabel.Firma = Firma
  973. AND bnewTabel.RecArt = 'BESUCH'
  974. AND bnewTabel.CodeC = tnewKuBes.Art
  975. AND bnewTabel.CodeI = 0
  976. AND bnewTabel.Sprcd = 1 NO-ERROR.
  977. IF NOT AVAILABLE bnewTabel THEN
  978. DO:
  979. CREATE bnewTabel.
  980. ASSIGN
  981. bnewTabel.Firma = Firma
  982. bnewTabel.RecArt = 'BESUCH'
  983. bnewTabel.CodeC = tnewKuBes.Art
  984. bnewTabel.CodeI = 0
  985. bnewTabel.Sprcd = 1.
  986. END.
  987. ASSIGN
  988. bnewTabel.Int_1 = bnewTabel.Int_1 + 1 /* Anzahl Besuche einer Besuchsart */
  989. KuBesSta.AnzHaben = KuBesSta.AnzHaben + 1
  990. KuBesSta.LetztBesuch = tnewKuBes.Datum_2.
  991. RELEASE bnewTabel.
  992. RELEASE KuBesSta.
  993. LEAVE.
  994. END.
  995. /* MUTATION */
  996. FIND bnewTabel USE-INDEX Tabel-k1
  997. WHERE bnewTabel.Firma = Firma
  998. AND bnewTabel.RecArt = 'BESUCH'
  999. AND bnewTabel.CodeC = tnewKuBes.Art
  1000. AND bnewTabel.CodeI = 0
  1001. AND bnewTabel.Sprcd = 1 NO-ERROR.
  1002. IF NOT AVAILABLE bnewTabel THEN
  1003. DO:
  1004. CREATE bnewTabel.
  1005. ASSIGN
  1006. bnewTabel.Firma = Firma
  1007. bnewTabel.RecArt = 'BESUCH'
  1008. bnewTabel.CodeC = tnewKuBes.Art
  1009. bnewTabel.CodeI = 0
  1010. bnewTabel.Sprcd = 1.
  1011. END.
  1012. FIND boldTabel USE-INDEX Tabel-k1
  1013. WHERE boldTabel.Firma = Firma
  1014. AND boldTabel.RecArt = 'BESUCH'
  1015. AND boldTabel.CodeC = toldKuBes.Art
  1016. AND boldTabel.CodeI = 0
  1017. AND boldTabel.Sprcd = 1 NO-ERROR.
  1018. IF NOT AVAILABLE boldTabel THEN
  1019. DO:
  1020. CREATE boldTabel.
  1021. ASSIGN
  1022. boldTabel.Firma = Firma
  1023. boldTabel.RecArt = 'BESUCH'
  1024. boldTabel.CodeC = toldKuBes.Art
  1025. boldTabel.CodeI = 0
  1026. boldTabel.Sprcd = 1.
  1027. END.
  1028. IF toldKuBes.Abgeschl THEN
  1029. ASSIGN boldTabel.Int_1 = boldTabel.Int_1 - 1
  1030. KuBesSta.AnzHaben = KuBesSta.AnzHaben - 1.
  1031. IF tnewKuBes.Abgeschl THEN
  1032. ASSIGN bnewTabel.Int_1 = bnewTabel.Int_1 + 1
  1033. KuBesSta.AnzHaben = KuBesSta.AnzHaben + 1
  1034. KuBesSta.LetztBesuch = tnewKuBes.Datum_2.
  1035. IF boldTabel.Int_1 < 0 THEN boldTabel.Int_1 = 0.
  1036. IF KuBesSta.AnzHaben < 0 THEN KuBesSta.AnzHaben = 0.
  1037. RELEASE KuBesSta.
  1038. RELEASE boldTabel.
  1039. RELEASE bnewTabel.
  1040. LEAVE.
  1041. END.
  1042. RELEASE KuBesSta.
  1043. PUBLISH 'REFRESHKUBESSTA'.
  1044. FNeu = FALSE.
  1045. FMut = FALSE.
  1046. FCopy = FALSE.
  1047. lCancel = FALSE.
  1048. END.
  1049. END.
  1050. END PROCEDURE.
  1051. /* _UIB-CODE-BLOCK-END */
  1052. &ANALYZE-RESUME
  1053. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  1054. PROCEDURE updateRecord :
  1055. /*------------------------------------------------------------------------------
  1056. Purpose: Super Override
  1057. Parameters:
  1058. Notes:
  1059. ------------------------------------------------------------------------------*/
  1060. DEF VAR ErfDatum AS DATE NO-UNDO.
  1061. DEF VAR BesDatum AS DATE NO-UNDO.
  1062. DEF VAR BesAnz AS INT NO-UNDO.
  1063. DEF VAR XNeu AS LOG NO-UNDO.
  1064. XNeu = FNeu.
  1065. DO WITH FRAME {&FRAME-NAME}:
  1066. IF FNeu THEN
  1067. DO:
  1068. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE).
  1069. END.
  1070. ErfDatum = DATE(rowObject.Datum_1:SCREEN-VALUE) NO-ERROR.
  1071. BesDatum = DATE(rowObject.Datum_2:SCREEN-VALUE) NO-ERROR.
  1072. IF BesDatum = ? AND
  1073. NOT rowObject.abgeschl:SCREEN-VALUE BEGINS 'n' THEN BesDatum = ErfDatum.
  1074. rowObject.Datum_2:SCREEN-VALUE = STRING(BesDatum).
  1075. IF rowObject.Datum_1:MODIFIED AND
  1076. FNeu THEN
  1077. DO:
  1078. FIND LAST bKuBes NO-LOCK USE-INDEX KuBes-k1
  1079. WHERE bKuBes.Firma = Firma
  1080. AND bKuBes.Knr = iKnr
  1081. AND bKuBes.Datum_1 = ErfDatum NO-ERROR.
  1082. IF AVAILABLE bKuBes THEN rowObject.Ind:SCREEN-VALUE = STRING(bKuBes.Ind + 1).
  1083. ELSE rowObject.Ind:SCREEN-VALUE = STRING(0).
  1084. END.
  1085. IF rowObject.Datum_1:MODIFIED THEN XNeu = TRUE.
  1086. END.
  1087. FNeu = FALSE.
  1088. FCopy = FALSE.
  1089. RUN SUPER.
  1090. DO WHILE TRUE:
  1091. IF NOT XNeu THEN LEAVE.
  1092. RUN NEUER_EINTRAG IN hDaten NO-ERROR.
  1093. LEAVE.
  1094. END.
  1095. END PROCEDURE.
  1096. /* _UIB-CODE-BLOCK-END */
  1097. &ANALYZE-RESUME
  1098. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERTRETERWECHSEL vTableWin
  1099. PROCEDURE VERTRETERWECHSEL :
  1100. /*------------------------------------------------------------------------------
  1101. Purpose:
  1102. Parameters: <none>
  1103. Notes:
  1104. ------------------------------------------------------------------------------*/
  1105. DEF INPUT PARAMETER ipVertr AS INT NO-UNDO.
  1106. IF FMut THEN RETURN NO-APPLY.
  1107. SuchVertr = ipVertr.
  1108. END PROCEDURE.
  1109. /* _UIB-CODE-BLOCK-END */
  1110. &ANALYZE-RESUME