g-adresse-erf.w 46 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388
  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. &Scoped-define FRAME-NAME gAdressErfassung
  8. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gAdressErfassung
  9. /*------------------------------------------------------------------------
  10. File:
  11. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  12. Input Parameters:
  13. <none>
  14. Output Parameters:
  15. <none>
  16. Author:
  17. Created:
  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. /* Parameters Definitions --- */
  29. DEF OUTPUT PARAMETER opAdresse AS CHAR NO-UNDO.
  30. /* Local Variable Definitions --- */
  31. DEF VAR MaxPage AS INT NO-UNDO.
  32. DEF VAR AktSeite AS INT NO-UNDO.
  33. DEF VAR FMutFlag AS LOG NO-UNDO.
  34. DEF VAR Firma AS CHAR NO-UNDO INIT '1000'.
  35. DEF VAR AdFirma AS CHAR NO-UNDO INIT '1000'.
  36. DEF VAR Inhalt AS CHAR NO-UNDO INIT ''.
  37. DEF VAR Lkz AS CHAR NO-UNDO.
  38. DEF VAR Sprcd AS INT NO-UNDO.
  39. DEF VAR FLeave AS LOG NO-UNDO.
  40. /* _UIB-CODE-BLOCK-END */
  41. &ANALYZE-RESUME
  42. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  43. /* ******************** Preprocessor Definitions ******************** */
  44. &Scoped-define PROCEDURE-TYPE SmartDialog
  45. &Scoped-define DB-AWARE no
  46. &Scoped-define ADM-CONTAINER DIALOG-BOX
  47. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  48. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  49. &Scoped-define FRAME-NAME gAdressErfassung
  50. &Scoped-define BROWSE-NAME Br_Adressen
  51. /* Internal Tables (found by Frame, Query & Browse Queries) */
  52. &Scoped-define INTERNAL-TABLES Adresse
  53. /* Definitions for BROWSE Br_Adressen */
  54. &Scoped-define FIELDS-IN-QUERY-Br_Adressen Adresse.Knr Adresse.Firma1 ~
  55. Adresse.Name Adresse.Vorname Adresse.Strasse Adresse.Ort
  56. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Adressen
  57. &Scoped-define QUERY-STRING-Br_Adressen FOR EACH Adresse NO-LOCK INDEXED-REPOSITION
  58. &Scoped-define OPEN-QUERY-Br_Adressen OPEN QUERY Br_Adressen FOR EACH Adresse NO-LOCK INDEXED-REPOSITION.
  59. &Scoped-define TABLES-IN-QUERY-Br_Adressen Adresse
  60. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Adressen Adresse
  61. /* Definitions for DIALOG-BOX gAdressErfassung */
  62. /* Standard List Definitions */
  63. &Scoped-Define ENABLED-OBJECTS F_Knr F_Suchbe F_Firma1 F_Firma2 F_Name ~
  64. F_Vorname F_Zusatz1 F_Zusatz2 F_Strasse F_Postfach CB_Land F_Plz F_Ort ~
  65. Btn_Erfassen Br_Adressen
  66. &Scoped-Define DISPLAYED-OBJECTS F_Knr F_Suchbe F_Firma1 F_Firma2 F_Name ~
  67. F_Vorname F_Zusatz1 F_Zusatz2 F_Strasse F_Postfach CB_Land F_Plz F_Ort
  68. /* Custom List Definitions */
  69. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  70. &Scoped-define List-6 F_Lkz F_Knr F_Suchbe F_Firma1 F_Firma2 F_Name ~
  71. F_Vorname F_Zusatz1 F_Zusatz2 F_Strasse F_Postfach F_Plz F_Ort
  72. /* _UIB-PREPROCESSOR-BLOCK-END */
  73. &ANALYZE-RESUME
  74. /* *********************** Control Definitions ********************** */
  75. /* Define a dialog box */
  76. /* Definitions of the field level widgets */
  77. DEFINE BUTTON Btn_Erfassen
  78. LABEL "&Erfassen"
  79. SIZE 12 BY 1.
  80. DEFINE VARIABLE CB_Land AS CHARACTER FORMAT "X(256)":U
  81. LABEL "Land/Plz/Ort"
  82. VIEW-AS COMBO-BOX INNER-LINES 5
  83. LIST-ITEM-PAIRS "Item 1","Item 1"
  84. DROP-DOWN-LIST
  85. SIZE 24 BY 1
  86. BGCOLOR 15 NO-UNDO.
  87. DEFINE VARIABLE F_Firma1 AS CHARACTER FORMAT "x(30)":U
  88. LABEL "Firma/Zusatz"
  89. VIEW-AS FILL-IN NATIVE
  90. SIZE 34 BY 1
  91. BGCOLOR 15 NO-UNDO.
  92. DEFINE VARIABLE F_Firma2 AS CHARACTER FORMAT "x(30)":U
  93. VIEW-AS FILL-IN NATIVE
  94. SIZE 34 BY 1
  95. BGCOLOR 15 NO-UNDO.
  96. DEFINE VARIABLE F_Knr AS INTEGER FORMAT "999999":U INITIAL 0
  97. LABEL "Nummer"
  98. VIEW-AS FILL-IN NATIVE
  99. SIZE 11 BY 1
  100. BGCOLOR 15 NO-UNDO.
  101. DEFINE VARIABLE F_Lkz AS CHARACTER FORMAT "X(256)":U
  102. LABEL "Lkz"
  103. VIEW-AS FILL-IN NATIVE
  104. SIZE 4 BY 1 NO-UNDO.
  105. DEFINE VARIABLE F_Name AS CHARACTER FORMAT "x(30)":U
  106. LABEL "Name/Vorname"
  107. VIEW-AS FILL-IN NATIVE
  108. SIZE 34 BY 1
  109. BGCOLOR 15 NO-UNDO.
  110. DEFINE VARIABLE F_Ort AS CHARACTER FORMAT "x(30)":U
  111. VIEW-AS FILL-IN NATIVE
  112. SIZE 34 BY 1
  113. BGCOLOR 15 NO-UNDO.
  114. DEFINE VARIABLE F_Plz AS CHARACTER FORMAT "x(30)":U
  115. VIEW-AS FILL-IN NATIVE
  116. SIZE 10 BY 1
  117. BGCOLOR 15 NO-UNDO.
  118. DEFINE VARIABLE F_Postfach AS CHARACTER FORMAT "x(30)":U
  119. VIEW-AS FILL-IN NATIVE
  120. SIZE 34 BY 1
  121. BGCOLOR 15 NO-UNDO.
  122. DEFINE VARIABLE F_Strasse AS CHARACTER FORMAT "x(30)":U
  123. LABEL "Strasse/Postfach"
  124. VIEW-AS FILL-IN NATIVE
  125. SIZE 34 BY 1
  126. BGCOLOR 15 NO-UNDO.
  127. DEFINE VARIABLE F_Suchbe AS CHARACTER FORMAT "x(30)":U
  128. LABEL "Suchbegriff"
  129. VIEW-AS FILL-IN NATIVE
  130. SIZE 34 BY 1
  131. BGCOLOR 15 NO-UNDO.
  132. DEFINE VARIABLE F_Vorname AS CHARACTER FORMAT "x(30)":U
  133. VIEW-AS FILL-IN NATIVE
  134. SIZE 34 BY 1
  135. BGCOLOR 15 NO-UNDO.
  136. DEFINE VARIABLE F_Zusatz1 AS CHARACTER FORMAT "x(30)":U
  137. LABEL "Beruf oder Zusatz"
  138. VIEW-AS FILL-IN NATIVE
  139. SIZE 34 BY 1
  140. BGCOLOR 15 NO-UNDO.
  141. DEFINE VARIABLE F_Zusatz2 AS CHARACTER FORMAT "x(30)":U
  142. VIEW-AS FILL-IN NATIVE
  143. SIZE 34 BY 1
  144. BGCOLOR 15 NO-UNDO.
  145. /* Query definitions */
  146. &ANALYZE-SUSPEND
  147. DEFINE QUERY Br_Adressen FOR
  148. Adresse SCROLLING.
  149. &ANALYZE-RESUME
  150. /* Browse definitions */
  151. DEFINE BROWSE Br_Adressen
  152. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Adressen gAdressErfassung _STRUCTURED
  153. QUERY Br_Adressen NO-LOCK DISPLAY
  154. Adresse.Knr FORMAT "999999":U WIDTH 8
  155. Adresse.Firma1 COLUMN-LABEL "Firma" FORMAT "x(20)":U
  156. Adresse.Name FORMAT "x(18)":U
  157. Adresse.Vorname FORMAT "x(15)":U
  158. Adresse.Strasse FORMAT "x(18)":U
  159. Adresse.Ort FORMAT "x(18)":U
  160. /* _UIB-CODE-BLOCK-END */
  161. &ANALYZE-RESUME
  162. WITH NO-ROW-MARKERS SEPARATORS SIZE 104.4 BY 9.24
  163. BGCOLOR 15 FIT-LAST-COLUMN.
  164. /* ************************ Frame Definitions *********************** */
  165. DEFINE FRAME gAdressErfassung
  166. F_Lkz AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 2 NO-TAB-STOP
  167. F_Knr AT ROW 1.57 COL 20 COLON-ALIGNED
  168. F_Suchbe AT ROW 1.52 COL 54 COLON-ALIGNED
  169. F_Firma1 AT ROW 2.52 COL 20 COLON-ALIGNED
  170. F_Firma2 AT ROW 2.52 COL 54 COLON-ALIGNED NO-LABEL
  171. F_Name AT ROW 3.52 COL 20 COLON-ALIGNED
  172. F_Vorname AT ROW 3.52 COL 54 COLON-ALIGNED NO-LABEL
  173. F_Zusatz1 AT ROW 4.52 COL 20 COLON-ALIGNED
  174. F_Zusatz2 AT ROW 4.52 COL 54 COLON-ALIGNED NO-LABEL
  175. F_Strasse AT ROW 5.52 COL 20 COLON-ALIGNED
  176. F_Postfach AT ROW 5.52 COL 54 COLON-ALIGNED NO-LABEL
  177. CB_Land AT ROW 6.52 COL 20 COLON-ALIGNED
  178. F_Plz AT ROW 6.52 COL 44 COLON-ALIGNED NO-LABEL
  179. F_Ort AT ROW 6.52 COL 54 COLON-ALIGNED NO-LABEL
  180. Btn_Erfassen AT ROW 7.76 COL 93.4
  181. Br_Adressen AT ROW 9 COL 3.4
  182. SPACE(2.79) SKIP(0.80)
  183. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  184. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  185. TITLE "Erfassen neue Adresse".
  186. /* *********************** Procedure Settings ************************ */
  187. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  188. /* Settings for THIS-PROCEDURE
  189. Type: SmartDialog
  190. Allow: Basic,Browse,DB-Fields,Query,Smart
  191. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  192. Design Page: 1
  193. Other Settings: COMPILE
  194. */
  195. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  196. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gAdressErfassung
  197. /* ************************* Included-Libraries *********************** */
  198. {src/adm2/containr.i}
  199. /* _UIB-CODE-BLOCK-END */
  200. &ANALYZE-RESUME
  201. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  202. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  203. /* SETTINGS FOR DIALOG-BOX gAdressErfassung
  204. FRAME-NAME Custom */
  205. /* BROWSE-TAB Br_Adressen Btn_Erfassen gAdressErfassung */
  206. ASSIGN
  207. FRAME gAdressErfassung:SCROLLABLE = FALSE
  208. FRAME gAdressErfassung:HIDDEN = TRUE.
  209. /* SETTINGS FOR FILL-IN F_Firma1 IN FRAME gAdressErfassung
  210. 6 */
  211. /* SETTINGS FOR FILL-IN F_Firma2 IN FRAME gAdressErfassung
  212. 6 */
  213. /* SETTINGS FOR FILL-IN F_Knr IN FRAME gAdressErfassung
  214. 6 */
  215. /* SETTINGS FOR FILL-IN F_Lkz IN FRAME gAdressErfassung
  216. NO-DISPLAY NO-ENABLE 6 */
  217. ASSIGN
  218. F_Lkz:HIDDEN IN FRAME gAdressErfassung = TRUE
  219. F_Lkz:READ-ONLY IN FRAME gAdressErfassung = TRUE.
  220. /* SETTINGS FOR FILL-IN F_Name IN FRAME gAdressErfassung
  221. 6 */
  222. /* SETTINGS FOR FILL-IN F_Ort IN FRAME gAdressErfassung
  223. 6 */
  224. /* SETTINGS FOR FILL-IN F_Plz IN FRAME gAdressErfassung
  225. 6 */
  226. /* SETTINGS FOR FILL-IN F_Postfach IN FRAME gAdressErfassung
  227. 6 */
  228. /* SETTINGS FOR FILL-IN F_Strasse IN FRAME gAdressErfassung
  229. 6 */
  230. /* SETTINGS FOR FILL-IN F_Suchbe IN FRAME gAdressErfassung
  231. 6 */
  232. /* SETTINGS FOR FILL-IN F_Vorname IN FRAME gAdressErfassung
  233. 6 */
  234. /* SETTINGS FOR FILL-IN F_Zusatz1 IN FRAME gAdressErfassung
  235. 6 */
  236. /* SETTINGS FOR FILL-IN F_Zusatz2 IN FRAME gAdressErfassung
  237. 6 */
  238. /* _RUN-TIME-ATTRIBUTES-END */
  239. &ANALYZE-RESUME
  240. /* Setting information for Queries and Browse Widgets fields */
  241. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Adressen
  242. /* Query rebuild information for BROWSE Br_Adressen
  243. _TblList = "AnaDat.Adresse"
  244. _Options = "NO-LOCK INDEXED-REPOSITION"
  245. _FldNameList[1] > AnaDat.Adresse.Knr
  246. "Adresse.Knr" ? ? "integer" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  247. _FldNameList[2] > AnaDat.Adresse.Firma1
  248. "Adresse.Firma1" "Firma" "x(20)" "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  249. _FldNameList[3] > AnaDat.Adresse.Name
  250. "Adresse.Name" ? "x(18)" "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  251. _FldNameList[4] > AnaDat.Adresse.Vorname
  252. "Adresse.Vorname" ? "x(15)" "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  253. _FldNameList[5] > AnaDat.Adresse.Strasse
  254. "Adresse.Strasse" ? "x(18)" "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  255. _FldNameList[6] > AnaDat.Adresse.Ort
  256. "Adresse.Ort" ? "x(18)" "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  257. _Query is NOT OPENED
  258. */ /* BROWSE Br_Adressen */
  259. &ANALYZE-RESUME
  260. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gAdressErfassung
  261. /* Query rebuild information for DIALOG-BOX gAdressErfassung
  262. _Options = "SHARE-LOCK"
  263. _Query is NOT OPENED
  264. */ /* DIALOG-BOX gAdressErfassung */
  265. &ANALYZE-RESUME
  266. /* ************************ Control Triggers ************************ */
  267. &Scoped-define SELF-NAME gAdressErfassung
  268. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAdressErfassung gAdressErfassung
  269. ON END-ERROR OF FRAME gAdressErfassung /* Erfassen neue Adresse */
  270. DO:
  271. RUN ENDE.
  272. RETURN NO-APPLY.
  273. END.
  274. /* _UIB-CODE-BLOCK-END */
  275. &ANALYZE-RESUME
  276. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAdressErfassung gAdressErfassung
  277. ON GO OF FRAME gAdressErfassung /* Erfassen neue Adresse */
  278. DO:
  279. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  280. END.
  281. /* _UIB-CODE-BLOCK-END */
  282. &ANALYZE-RESUME
  283. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAdressErfassung gAdressErfassung
  284. ON WINDOW-CLOSE OF FRAME gAdressErfassung /* Erfassen neue Adresse */
  285. DO:
  286. RUN ENDE.
  287. RETURN NO-APPLY.
  288. END.
  289. /* _UIB-CODE-BLOCK-END */
  290. &ANALYZE-RESUME
  291. &Scoped-define BROWSE-NAME Br_Adressen
  292. &Scoped-define SELF-NAME Br_Adressen
  293. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Adressen gAdressErfassung
  294. ON END-ERROR OF Br_Adressen IN FRAME gAdressErfassung
  295. DO:
  296. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  297. RETURN NO-APPLY.
  298. END.
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Adressen gAdressErfassung
  302. ON RETURN OF Br_Adressen IN FRAME gAdressErfassung
  303. DO:
  304. IF NUM-RESULTS('{&BROWSE-NAME}') = ? THEN RETURN NO-APPLY.
  305. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN RETURN NO-APPLY.
  306. IF {&BROWSE-NAME}:NUM-SELECTED-ROWS = 0 THEN RETURN NO-APPLY.
  307. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  308. opAdresse = 'U' + CHR(01)
  309. + STRING(Adresse.Knr) + CHR(01)
  310. + STRING(RECID(Adresse)) + CHR(01).
  311. RUN ENDE.
  312. RETURN NO-APPLY.
  313. END.
  314. /* _UIB-CODE-BLOCK-END */
  315. &ANALYZE-RESUME
  316. &Scoped-define SELF-NAME Btn_Erfassen
  317. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Erfassen gAdressErfassung
  318. ON CHOOSE OF Btn_Erfassen IN FRAME gAdressErfassung /* Erfassen */
  319. DO:
  320. DO WITH FRAME {&FRAME-NAME}:
  321. ASSIGN {&List-6}.
  322. opAdresse = "N" + CHR(01)
  323. + STRING(F_Knr) + CHR(01)
  324. + F_Suchbe + CHR(01)
  325. + F_Firma1 + CHR(01)
  326. + F_Firma2 + CHR(01)
  327. + F_Name + CHR(01)
  328. + F_Vorname + CHR(01)
  329. + F_Zusatz1 + CHR(01)
  330. + F_zusatz2 + CHR(01)
  331. + F_Strasse + CHR(01)
  332. + F_Postfach + CHR(01)
  333. + CB_Land:SCREEN-VALUE + CHR(01)
  334. + F_Plz + CHR(01)
  335. + F_Ort.
  336. RUN ENDE.
  337. END.
  338. END.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &Scoped-define SELF-NAME CB_Land
  342. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Land gAdressErfassung
  343. ON END-ERROR OF CB_Land IN FRAME gAdressErfassung /* Land/Plz/Ort */
  344. DO:
  345. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  346. RETURN NO-APPLY.
  347. END.
  348. /* _UIB-CODE-BLOCK-END */
  349. &ANALYZE-RESUME
  350. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Land gAdressErfassung
  351. ON LEAVE OF CB_Land IN FRAME gAdressErfassung /* Land/Plz/Ort */
  352. DO:
  353. F_Lkz:SCREEN-VALUE = CB_Land:SCREEN-VALUE NO-ERROR.
  354. END.
  355. /* _UIB-CODE-BLOCK-END */
  356. &ANALYZE-RESUME
  357. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Land gAdressErfassung
  358. ON RETURN OF CB_Land IN FRAME gAdressErfassung /* Land/Plz/Ort */
  359. DO:
  360. APPLY 'TAB' TO SELF.
  361. RETURN NO-APPLY.
  362. END.
  363. /* _UIB-CODE-BLOCK-END */
  364. &ANALYZE-RESUME
  365. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Land gAdressErfassung
  366. ON VALUE-CHANGED OF CB_Land IN FRAME gAdressErfassung /* Land/Plz/Ort */
  367. DO:
  368. F_Lkz:SCREEN-VALUE = CB_Land:SCREEN-VALUE NO-ERROR.
  369. END.
  370. /* _UIB-CODE-BLOCK-END */
  371. &ANALYZE-RESUME
  372. &Scoped-define SELF-NAME F_Firma1
  373. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Firma1 gAdressErfassung
  374. ON END-ERROR OF F_Firma1 IN FRAME gAdressErfassung /* Firma/Zusatz */
  375. DO:
  376. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  377. RETURN NO-APPLY.
  378. END.
  379. /* _UIB-CODE-BLOCK-END */
  380. &ANALYZE-RESUME
  381. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Firma1 gAdressErfassung
  382. ON LEAVE OF F_Firma1 IN FRAME gAdressErfassung /* Firma/Zusatz */
  383. DO:
  384. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  385. RUN OPENQUERY.
  386. END.
  387. /* _UIB-CODE-BLOCK-END */
  388. &ANALYZE-RESUME
  389. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Firma1 gAdressErfassung
  390. ON VALUE-CHANGED OF F_Firma1 IN FRAME gAdressErfassung /* Firma/Zusatz */
  391. DO:
  392. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  393. RUN OPENQUERY.
  394. APPLY 'END' TO SELF.
  395. RETURN NO-APPLY.
  396. END.
  397. /* _UIB-CODE-BLOCK-END */
  398. &ANALYZE-RESUME
  399. &Scoped-define SELF-NAME F_Firma2
  400. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Firma2 gAdressErfassung
  401. ON END-ERROR OF F_Firma2 IN FRAME gAdressErfassung
  402. DO:
  403. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  404. RETURN NO-APPLY.
  405. END.
  406. /* _UIB-CODE-BLOCK-END */
  407. &ANALYZE-RESUME
  408. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Firma2 gAdressErfassung
  409. ON VALUE-CHANGED OF F_Firma2 IN FRAME gAdressErfassung
  410. DO:
  411. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  412. RUN OPENQUERY.
  413. APPLY 'END' TO SELF.
  414. RETURN NO-APPLY.
  415. END.
  416. /* _UIB-CODE-BLOCK-END */
  417. &ANALYZE-RESUME
  418. &Scoped-define SELF-NAME F_Knr
  419. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr gAdressErfassung
  420. ON ENTRY OF F_Knr IN FRAME gAdressErfassung /* Nummer */
  421. DO:
  422. DO WITH FRAME {&FRAME-NAME}:
  423. F_Suchbe:SCREEN-VALUE = ''.
  424. F_Firma1:SCREEN-VALUE = ''.
  425. F_Firma2:SCREEN-VALUE = ''.
  426. F_Name:SCREEN-VALUE = ''.
  427. F_Vorname:SCREEN-VALUE = ''.
  428. F_Zusatz1:SCREEN-VALUE = ''.
  429. F_Zusatz2:SCREEN-VALUE = ''.
  430. F_Strasse:SCREEN-VALUE = ''.
  431. F_Postfach:SCREEN-VALUE = ''.
  432. F_Plz:SCREEN-VALUE = ''.
  433. F_Ort:SCREEN-VALUE = ''.
  434. END.
  435. END.
  436. /* _UIB-CODE-BLOCK-END */
  437. &ANALYZE-RESUME
  438. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr gAdressErfassung
  439. ON LEAVE OF F_Knr IN FRAME gAdressErfassung /* Nummer */
  440. DO:
  441. DEF VAR Mandant AS CHAR NO-UNDO.
  442. DEF VAR Knr AS INT NO-UNDO.
  443. Knr = INTEGER(SELF:SCREEN-VALUE).
  444. Mandant = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  445. FIND Adresse USE-INDEX Adresse-k1
  446. WHERE Adresse.Firma = Mandant
  447. AND Adresse.Knr = Knr NO-LOCK NO-ERROR.
  448. IF NOT AVAILABLE Adresse THEN RETURN.
  449. RUN FEHLER ( INPUT 1009 ).
  450. APPLY 'ENTRY' TO SELF.
  451. RETURN NO-APPLY.
  452. END.
  453. /* _UIB-CODE-BLOCK-END */
  454. &ANALYZE-RESUME
  455. &Scoped-define SELF-NAME F_Name
  456. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Name gAdressErfassung
  457. ON END-ERROR OF F_Name IN FRAME gAdressErfassung /* Name/Vorname */
  458. DO:
  459. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  460. RETURN NO-APPLY.
  461. END.
  462. /* _UIB-CODE-BLOCK-END */
  463. &ANALYZE-RESUME
  464. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Name gAdressErfassung
  465. ON LEAVE OF F_Name IN FRAME gAdressErfassung /* Name/Vorname */
  466. DO:
  467. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  468. RUN OPENQUERY.
  469. END.
  470. /* _UIB-CODE-BLOCK-END */
  471. &ANALYZE-RESUME
  472. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Name gAdressErfassung
  473. ON VALUE-CHANGED OF F_Name IN FRAME gAdressErfassung /* Name/Vorname */
  474. DO:
  475. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  476. RUN OPENQUERY.
  477. APPLY 'END' TO SELF.
  478. RETURN NO-APPLY.
  479. END.
  480. /* _UIB-CODE-BLOCK-END */
  481. &ANALYZE-RESUME
  482. &Scoped-define SELF-NAME F_Ort
  483. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Ort gAdressErfassung
  484. ON ALT-F OF F_Ort IN FRAME gAdressErfassung
  485. DO:
  486. DO WITH FRAME {&FRAME-NAME}:
  487. DEF VAR cParam AS CHAR NO-UNDO.
  488. cParam = F_Ort:SCREEN-VALUE.
  489. RUN g-such-ort.w ( INPUT TRIM(CB_Land:SCREEN-VALUE), INPUT 2,
  490. INPUT-OUTPUT cParam).
  491. IF cParam = '' THEN DO:
  492. APPLY 'ENTRY' TO SELF.
  493. RETURN NO-APPLY.
  494. END.
  495. CB_Land:SCREEN-VALUE = ENTRY(1, cParam, CHR(01)).
  496. F_Plz:SCREEN-VALUE = ENTRY(2, cParam, CHR(01)).
  497. F_Ort:SCREEN-VALUE = ENTRY(3, cParam, CHR(01)).
  498. APPLY 'TAB' TO F_Ort.
  499. RETURN NO-APPLY.
  500. END.
  501. END.
  502. /* _UIB-CODE-BLOCK-END */
  503. &ANALYZE-RESUME
  504. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Ort gAdressErfassung
  505. ON END-ERROR OF F_Ort IN FRAME gAdressErfassung
  506. DO:
  507. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  508. RETURN NO-APPLY.
  509. END.
  510. /* _UIB-CODE-BLOCK-END */
  511. &ANALYZE-RESUME
  512. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Ort gAdressErfassung
  513. ON LEAVE OF F_Ort IN FRAME gAdressErfassung
  514. DO:
  515. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  516. RUN OPENQUERY.
  517. END.
  518. /* _UIB-CODE-BLOCK-END */
  519. &ANALYZE-RESUME
  520. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Ort gAdressErfassung
  521. ON VALUE-CHANGED OF F_Ort IN FRAME gAdressErfassung
  522. DO:
  523. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  524. RUN OPENQUERY.
  525. APPLY 'END' TO SELF.
  526. RETURN NO-APPLY.
  527. END.
  528. /* _UIB-CODE-BLOCK-END */
  529. &ANALYZE-RESUME
  530. &Scoped-define SELF-NAME F_Plz
  531. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Plz gAdressErfassung
  532. ON ALT-F OF F_Plz IN FRAME gAdressErfassung
  533. DO:
  534. DO WITH FRAME {&FRAME-NAME}:
  535. DEF VAR cParam AS CHAR NO-UNDO.
  536. FLeave = FALSE.
  537. cParam = F_Plz:SCREEN-VALUE.
  538. RUN g-such-ort.w ( INPUT TRIM(CB_Land:SCREEN-VALUE), INPUT 1,
  539. INPUT-OUTPUT cParam).
  540. IF cParam = '' THEN DO:
  541. APPLY 'ENTRY' TO SELF.
  542. FLeave = TRUE.
  543. RETURN NO-APPLY.
  544. END.
  545. CB_Land:SCREEN-VALUE = ENTRY(1, cParam, CHR(01)).
  546. F_Plz:SCREEN-VALUE = ENTRY(2, cParam, CHR(01)).
  547. F_Ort:SCREEN-VALUE = ENTRY(3, cParam, CHR(01)).
  548. APPLY 'TAB' TO F_Ort.
  549. FLeave = TRUE.
  550. RETURN NO-APPLY.
  551. END.
  552. END.
  553. /* _UIB-CODE-BLOCK-END */
  554. &ANALYZE-RESUME
  555. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Plz gAdressErfassung
  556. ON END-ERROR OF F_Plz IN FRAME gAdressErfassung
  557. DO:
  558. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  559. RETURN NO-APPLY.
  560. END.
  561. /* _UIB-CODE-BLOCK-END */
  562. &ANALYZE-RESUME
  563. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Plz gAdressErfassung
  564. ON LEAVE OF F_Plz IN FRAME gAdressErfassung
  565. DO:
  566. DEF VAR i1 AS INT NO-UNDO.
  567. DEF VAR Inhalt AS CHAR NO-UNDO.
  568. IF NOT FLeave THEN RETURN.
  569. DO WITH FRAME {&FRAME-NAME}:
  570. Inhalt = SELF:SCREEN-VALUE.
  571. IF Inhalt = '' THEN RETURN.
  572. FIND Orte USE-INDEX Orte-k1
  573. WHERE Orte.Lkz = CB_Land:SCREEN-VALUE
  574. AND Orte.Plz = Inhalt NO-LOCK NO-ERROR.
  575. IF NOT AVAILABLE Orte THEN DO:
  576. APPLY 'ENTRY' TO SELF.
  577. RETURN NO-APPLY.
  578. END.
  579. F_Ort:SCREEN-VALUE = Orte.Ort.
  580. END.
  581. RUN OPENQUERY.
  582. END.
  583. /* _UIB-CODE-BLOCK-END */
  584. &ANALYZE-RESUME
  585. &Scoped-define SELF-NAME F_Postfach
  586. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Postfach gAdressErfassung
  587. ON END-ERROR OF F_Postfach IN FRAME gAdressErfassung
  588. DO:
  589. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  590. RETURN NO-APPLY.
  591. END.
  592. /* _UIB-CODE-BLOCK-END */
  593. &ANALYZE-RESUME
  594. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Postfach gAdressErfassung
  595. ON LEAVE OF F_Postfach IN FRAME gAdressErfassung
  596. DO:
  597. Inhalt = SELF:SCREEN-VALUE.
  598. IF SUBSTRING(Inhalt,01,01) < '0' THEN LEAVE.
  599. IF SUBSTRING(Inhalt,01,01) > '9' THEN LEAVE.
  600. Sprcd = DYNAMIC-FUNCTION('GETSPRCD':U).
  601. FIND Sprache WHERE Sprache.Sprcd = Sprcd NO-LOCK NO-ERROR.
  602. IF NOT AVAILABLE Sprache THEN LEAVE.
  603. IF Sprache.Postfach = '' THEN LEAVE.
  604. Inhalt = Sprache.Postfach + ' ' + Inhalt.
  605. SELF:SCREEN-VALUE = TRIM(Inhalt).
  606. END.
  607. /* _UIB-CODE-BLOCK-END */
  608. &ANALYZE-RESUME
  609. &Scoped-define SELF-NAME F_Strasse
  610. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Strasse gAdressErfassung
  611. ON END-ERROR OF F_Strasse IN FRAME gAdressErfassung /* Strasse/Postfach */
  612. DO:
  613. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  614. RETURN NO-APPLY.
  615. END.
  616. /* _UIB-CODE-BLOCK-END */
  617. &ANALYZE-RESUME
  618. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Strasse gAdressErfassung
  619. ON LEAVE OF F_Strasse IN FRAME gAdressErfassung /* Strasse/Postfach */
  620. DO:
  621. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  622. RUN OPENQUERY.
  623. END.
  624. /* _UIB-CODE-BLOCK-END */
  625. &ANALYZE-RESUME
  626. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Strasse gAdressErfassung
  627. ON VALUE-CHANGED OF F_Strasse IN FRAME gAdressErfassung /* Strasse/Postfach */
  628. DO:
  629. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  630. RUN OPENQUERY.
  631. APPLY 'END' TO SELF.
  632. RETURN NO-APPLY.
  633. END.
  634. /* _UIB-CODE-BLOCK-END */
  635. &ANALYZE-RESUME
  636. &Scoped-define SELF-NAME F_Suchbe
  637. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gAdressErfassung
  638. ON END-ERROR OF F_Suchbe IN FRAME gAdressErfassung /* Suchbegriff */
  639. DO:
  640. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  641. RETURN NO-APPLY.
  642. END.
  643. /* _UIB-CODE-BLOCK-END */
  644. &ANALYZE-RESUME
  645. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gAdressErfassung
  646. ON LEAVE OF F_Suchbe IN FRAME gAdressErfassung /* Suchbegriff */
  647. DO:
  648. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  649. RUN OPENQUERY.
  650. END.
  651. /* _UIB-CODE-BLOCK-END */
  652. &ANALYZE-RESUME
  653. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gAdressErfassung
  654. ON VALUE-CHANGED OF F_Suchbe IN FRAME gAdressErfassung /* Suchbegriff */
  655. DO:
  656. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  657. RUN OPENQUERY.
  658. APPLY 'END' TO SELF.
  659. RETURN NO-APPLY.
  660. END.
  661. /* _UIB-CODE-BLOCK-END */
  662. &ANALYZE-RESUME
  663. &Scoped-define SELF-NAME F_Vorname
  664. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Vorname gAdressErfassung
  665. ON END-ERROR OF F_Vorname IN FRAME gAdressErfassung
  666. DO:
  667. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  668. RETURN NO-APPLY.
  669. END.
  670. /* _UIB-CODE-BLOCK-END */
  671. &ANALYZE-RESUME
  672. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Vorname gAdressErfassung
  673. ON LEAVE OF F_Vorname IN FRAME gAdressErfassung
  674. DO:
  675. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  676. RUN OPENQUERY.
  677. END.
  678. /* _UIB-CODE-BLOCK-END */
  679. &ANALYZE-RESUME
  680. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Vorname gAdressErfassung
  681. ON VALUE-CHANGED OF F_Vorname IN FRAME gAdressErfassung
  682. DO:
  683. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  684. RUN OPENQUERY.
  685. APPLY 'END' TO SELF.
  686. RETURN NO-APPLY.
  687. END.
  688. /* _UIB-CODE-BLOCK-END */
  689. &ANALYZE-RESUME
  690. &Scoped-define SELF-NAME F_Zusatz1
  691. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zusatz1 gAdressErfassung
  692. ON END-ERROR OF F_Zusatz1 IN FRAME gAdressErfassung /* Beruf oder Zusatz */
  693. DO:
  694. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  695. RETURN NO-APPLY.
  696. END.
  697. /* _UIB-CODE-BLOCK-END */
  698. &ANALYZE-RESUME
  699. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zusatz1 gAdressErfassung
  700. ON LEAVE OF F_Zusatz1 IN FRAME gAdressErfassung /* Beruf oder Zusatz */
  701. DO:
  702. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  703. RUN OPENQUERY.
  704. END.
  705. /* _UIB-CODE-BLOCK-END */
  706. &ANALYZE-RESUME
  707. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zusatz1 gAdressErfassung
  708. ON VALUE-CHANGED OF F_Zusatz1 IN FRAME gAdressErfassung /* Beruf oder Zusatz */
  709. DO:
  710. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  711. RUN OPENQUERY.
  712. APPLY 'END' TO SELF.
  713. RETURN NO-APPLY.
  714. END.
  715. /* _UIB-CODE-BLOCK-END */
  716. &ANALYZE-RESUME
  717. &Scoped-define SELF-NAME F_Zusatz2
  718. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zusatz2 gAdressErfassung
  719. ON END-ERROR OF F_Zusatz2 IN FRAME gAdressErfassung
  720. DO:
  721. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  722. RETURN NO-APPLY.
  723. END.
  724. /* _UIB-CODE-BLOCK-END */
  725. &ANALYZE-RESUME
  726. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zusatz2 gAdressErfassung
  727. ON LEAVE OF F_Zusatz2 IN FRAME gAdressErfassung
  728. DO:
  729. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  730. RUN OPENQUERY.
  731. END.
  732. /* _UIB-CODE-BLOCK-END */
  733. &ANALYZE-RESUME
  734. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zusatz2 gAdressErfassung
  735. ON VALUE-CHANGED OF F_Zusatz2 IN FRAME gAdressErfassung
  736. DO:
  737. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  738. RUN OPENQUERY.
  739. APPLY 'END' TO SELF.
  740. RETURN NO-APPLY.
  741. END.
  742. /* _UIB-CODE-BLOCK-END */
  743. &ANALYZE-RESUME
  744. &UNDEFINE SELF-NAME
  745. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gAdressErfassung
  746. /* *************************** Main Block *************************** */
  747. MaxPage = 1.
  748. AktSeite = 1.
  749. Firma = DYNAMIC-FUNCTION('GETMANDANT':U ).
  750. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U).
  751. opAdresse = ''.
  752. FLeave = TRUE.
  753. SESSION:DATA-ENTRY-RETURN = TRUE.
  754. /* TRIGGERS ------------------------------------------------------ */
  755. ON 'CURSOR-DOWN':U OF F_Firma1, F_Firma2, F_Name, F_Vorname,
  756. F_Strasse, CB_Land, F_Plz, F_Ort IN FRAME {&FRAME-NAME}
  757. DO:
  758. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  759. RETURN NO-APPLY.
  760. END.
  761. /* ------------------------------------------------------------------ */
  762. {src/adm2/dialogmn.i}
  763. /* _UIB-CODE-BLOCK-END */
  764. &ANALYZE-RESUME
  765. /* ********************** Internal Procedures *********************** */
  766. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gAdressErfassung _ADM-CREATE-OBJECTS
  767. PROCEDURE adm-create-objects :
  768. /*------------------------------------------------------------------------------
  769. Purpose: Create handles for all SmartObjects used in this procedure.
  770. After SmartObjects are initialized, then SmartLinks are added.
  771. Parameters: <none>
  772. ------------------------------------------------------------------------------*/
  773. END PROCEDURE.
  774. /* _UIB-CODE-BLOCK-END */
  775. &ANALYZE-RESUME
  776. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gAdressErfassung
  777. PROCEDURE changePage :
  778. /*------------------------------------------------------------------------------
  779. Purpose: Super Override
  780. Parameters:
  781. Notes:
  782. ------------------------------------------------------------------------------*/
  783. /* Code placed here will execute PRIOR to standard behavior. */
  784. RUN SUPER.
  785. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  786. CASE AktSeite:
  787. WHEN 1 THEN DO:
  788. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  789. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  790. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  791. RUN ENTRY_CURSOR.
  792. END.
  793. WHEN 2 THEN DO:
  794. RUN ENTRY_CURSOR.
  795. END.
  796. END CASE.
  797. END PROCEDURE.
  798. /* _UIB-CODE-BLOCK-END */
  799. &ANALYZE-RESUME
  800. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gAdressErfassung _DEFAULT-DISABLE
  801. PROCEDURE disable_UI :
  802. /*------------------------------------------------------------------------------
  803. Purpose: DISABLE the User Interface
  804. Parameters: <none>
  805. Notes: Here we clean-up the user-interface by deleting
  806. dynamic widgets we have created and/or hide
  807. frames. This procedure is usually called when
  808. we are ready to "clean-up" after running.
  809. ------------------------------------------------------------------------------*/
  810. /* Hide all frames. */
  811. HIDE FRAME gAdressErfassung.
  812. END PROCEDURE.
  813. /* _UIB-CODE-BLOCK-END */
  814. &ANALYZE-RESUME
  815. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gAdressErfassung
  816. PROCEDURE enableObject :
  817. /*------------------------------------------------------------------------------
  818. Purpose: Super Override
  819. Parameters:
  820. Notes:
  821. ------------------------------------------------------------------------------*/
  822. DEF VAR MaxNummer AS INT NO-UNDO.
  823. DEF VAR xMaxNummer AS CHAR NO-UNDO.
  824. DEF VAR Mandant AS CHAR NO-UNDO.
  825. DO WITH FRAME {&FRAME-NAME}:
  826. RUN COMBO_LAND ( INPUT CB_Land:HANDLE ).
  827. GET-KEY-VALUE SECTION 'FwAdresse' KEY 'MaxNummer' VALUE xMaxNummer.
  828. IF xMaxNummer = ? THEN xMaxNummer = '900000'.
  829. MaxNummer = INTEGER(xMaxNummer).
  830. Mandant = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  831. FIND LAST Adresse USE-INDEX Adresse-k1
  832. WHERE Adresse.Firma = Mandant
  833. AND Adresse.Knr LE MaxNummer NO-LOCK NO-ERROR.
  834. IF AVAILABLE Adresse THEN F_Knr = Adresse.Knr + 1.
  835. ELSE F_Knr = 0.
  836. CB_Land:SCREEN-VALUE = 'CH' NO-ERROR.
  837. F_Lkz = 'CH' NO-ERROR.
  838. F_Lkz:SCREEN-VALUE = F_Lkz.
  839. END.
  840. RUN SUPER.
  841. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  842. END PROCEDURE.
  843. /* _UIB-CODE-BLOCK-END */
  844. &ANALYZE-RESUME
  845. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gAdressErfassung _DEFAULT-ENABLE
  846. PROCEDURE enable_UI :
  847. /*------------------------------------------------------------------------------
  848. Purpose: ENABLE the User Interface
  849. Parameters: <none>
  850. Notes: Here we display/view/enable the widgets in the
  851. user-interface. In addition, OPEN all queries
  852. associated with each FRAME and BROWSE.
  853. These statements here are based on the "Other
  854. Settings" section of the widget Property Sheets.
  855. ------------------------------------------------------------------------------*/
  856. DISPLAY F_Knr F_Suchbe F_Firma1 F_Firma2 F_Name F_Vorname F_Zusatz1 F_Zusatz2
  857. F_Strasse F_Postfach CB_Land F_Plz F_Ort
  858. WITH FRAME gAdressErfassung.
  859. ENABLE F_Knr F_Suchbe F_Firma1 F_Firma2 F_Name F_Vorname F_Zusatz1 F_Zusatz2
  860. F_Strasse F_Postfach CB_Land F_Plz F_Ort Btn_Erfassen Br_Adressen
  861. WITH FRAME gAdressErfassung.
  862. VIEW FRAME gAdressErfassung.
  863. {&OPEN-BROWSERS-IN-QUERY-gAdressErfassung}
  864. END PROCEDURE.
  865. /* _UIB-CODE-BLOCK-END */
  866. &ANALYZE-RESUME
  867. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gAdressErfassung
  868. PROCEDURE ENDE :
  869. /*------------------------------------------------------------------------------
  870. Purpose:
  871. Parameters: <none>
  872. Notes:
  873. ------------------------------------------------------------------------------*/
  874. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  875. IF AktSeite > 1 THEN DO:
  876. RUN selectPage ( INPUT 1 ).
  877. RETURN NO-APPLY.
  878. END.
  879. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  880. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  881. RETURN NO-APPLY.
  882. END PROCEDURE.
  883. /* _UIB-CODE-BLOCK-END */
  884. &ANALYZE-RESUME
  885. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gAdressErfassung
  886. PROCEDURE exitObject :
  887. /*------------------------------------------------------------------------------
  888. Purpose: Super Override
  889. Parameters:
  890. Notes:
  891. ------------------------------------------------------------------------------*/
  892. RUN ENDE.
  893. RETURN NO-APPLY.
  894. END PROCEDURE.
  895. /* _UIB-CODE-BLOCK-END */
  896. &ANALYZE-RESUME
  897. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENQUERY gAdressErfassung
  898. PROCEDURE OPENQUERY :
  899. /*------------------------------------------------------------------------------
  900. Purpose:
  901. Parameters: <none>
  902. Notes:
  903. ------------------------------------------------------------------------------*/
  904. DEF VAR VSort AS INT NO-UNDO.
  905. DEF VAR ix AS INT NO-UNDO.
  906. DO WITH FRAME {&FRAME-NAME}:
  907. ASSIGN {&List-6}.
  908. IF F_Firma1 <> '' THEN F_Firma1 = ENTRY(1, F_Firma1 , ' ').
  909. IF F_Name <> '' THEN F_Name = ENTRY(1, F_Name , ' ').
  910. IF F_Strasse <> '' THEN F_Strasse = ENTRY(1, F_Strasse, ' ').
  911. IF F_Ort <> '' THEN F_Ort = ENTRY(1, F_Ort , ' ').
  912. IF F_Strasse <> '' THEN DO:
  913. IF F_Strasse MATCHES '*strasse' THEN DO:
  914. ix = LENGTH(F_Strasse) - 4.
  915. F_Strasse = SUBSTRING(F_Strasse,01,ix).
  916. END.
  917. END.
  918. VSort = 1.
  919. IF F_Ort <> '' AND INDEX(F_Ort , '*') = 0 THEN VSort = 5.
  920. IF F_Plz <> '' AND INDEX(F_Plz , '*') = 0 THEN VSort = 6.
  921. IF F_Strasse <> '' AND INDEX(F_Strasse, '*') = 0 THEN VSort = 7.
  922. IF F_Name <> '' AND INDEX(F_Name , '*') = 0 THEN VSort = 4.
  923. IF F_Firma1 <> '' AND INDEX(F_Firma1 , '*') = 0 THEN VSort = 3.
  924. IF F_Suchbe <> '' AND INDEX(F_Suchbe , '*') = 0 THEN VSort = 2.
  925. CASE VSort:
  926. WHEN 1 THEN DO:
  927. OPEN QUERY {&BROWSE-NAME}
  928. FOR EACH Adresse USE-INDEX Adresse-k1
  929. WHERE Adresse.Firma = AdFirma
  930. AND Adresse.Aktiv = TRUE
  931. AND Adresse.Knr >= F_Knr
  932. AND (IF INDEX(F_Suchbe , '*') = 0 THEN Adresse.Suchbe BEGINS F_Suchbe
  933. ELSE Adresse.Suchbe MATCHES F_Suchbe)
  934. AND (IF INDEX(F_Firma1 , '*') = 0 THEN Adresse.Firma BEGINS F_Firma1
  935. ELSE Adresse.Firma MATCHES F_Firma1)
  936. AND (IF INDEX(F_Name , '*') = 0 THEN Adresse.NAME BEGINS F_Name
  937. ELSE Adresse.NAME MATCHES F_Name)
  938. AND (IF INDEX(F_Vorname, '*') = 0 THEN Adresse.Vornam BEGINS F_Vorname
  939. ELSE Adresse.Vornam MATCHES F_Vorname)
  940. AND (IF INDEX(F_Strasse, '*') = 0 THEN Adresse.Strass BEGINS F_Strasse
  941. ELSE Adresse.Strass MATCHES F_Strasse)
  942. AND (IF INDEX(F_Plz , '*') = 0 THEN Adresse.Plz BEGINS F_Plz
  943. ELSE Adresse.Plz MATCHES F_Plz)
  944. AND (IF INDEX(F_Ort , '*') = 0 THEN Adresse.Ort BEGINS F_Ort
  945. ELSE Adresse.Ort MATCHES F_Ort)
  946. NO-LOCK.
  947. END.
  948. WHEN 2 THEN DO:
  949. OPEN QUERY {&BROWSE-NAME}
  950. FOR EACH Adresse USE-INDEX Adresse-k2
  951. WHERE Adresse.Firma = AdFirma
  952. AND Adresse.Aktiv = TRUE
  953. AND Adresse.Suchbe BEGINS F_Suchbe
  954. AND (IF INDEX(F_Firma1 , '*') = 0 THEN Adresse.Firma BEGINS F_Firma1
  955. ELSE Adresse.Firma MATCHES F_Firma1)
  956. AND (IF INDEX(F_Name , '*') = 0 THEN Adresse.NAME BEGINS F_Name
  957. ELSE Adresse.NAME MATCHES F_Name)
  958. AND (IF INDEX(F_Vorname, '*') = 0 THEN Adresse.Vornam BEGINS F_Vorname
  959. ELSE Adresse.Vornam MATCHES F_Vorname)
  960. AND (IF INDEX(F_Strasse, '*') = 0 THEN Adresse.Strass BEGINS F_Strasse
  961. ELSE Adresse.Strass MATCHES F_Strasse)
  962. AND (IF INDEX(F_Plz , '*') = 0 THEN Adresse.Plz BEGINS F_Plz
  963. ELSE Adresse.Plz MATCHES F_Plz)
  964. AND (IF INDEX(F_Ort , '*') = 0 THEN Adresse.Ort BEGINS F_Ort
  965. ELSE Adresse.Ort MATCHES F_Ort)
  966. NO-LOCK.
  967. END.
  968. WHEN 3 THEN DO:
  969. OPEN QUERY {&BROWSE-NAME}
  970. FOR EACH Adresse USE-INDEX Adresse-k3
  971. WHERE Adresse.Firma = AdFirma
  972. AND Adresse.Aktiv = TRUE
  973. AND Adresse.Firma1 BEGINS F_Firma1
  974. AND (IF INDEX(F_Suchbe , '*') = 0 THEN Adresse.Suchbe BEGINS F_Suchbe
  975. ELSE Adresse.Suchbe MATCHES F_Suchbe)
  976. AND (IF INDEX(F_Name , '*') = 0 THEN Adresse.NAME BEGINS F_Name
  977. ELSE Adresse.NAME MATCHES F_Name)
  978. AND (IF INDEX(F_Vorname, '*') = 0 THEN Adresse.Vornam BEGINS F_Vorname
  979. ELSE Adresse.Vornam MATCHES F_Vorname)
  980. AND (IF INDEX(F_Strasse, '*') = 0 THEN Adresse.Strass BEGINS F_Strasse
  981. ELSE Adresse.Strass MATCHES F_Strasse)
  982. AND (IF INDEX(F_Plz , '*') = 0 THEN Adresse.Plz BEGINS F_Plz
  983. ELSE Adresse.Plz MATCHES F_Plz)
  984. AND (IF INDEX(F_Ort , '*') = 0 THEN Adresse.Ort BEGINS F_Ort
  985. ELSE Adresse.Ort MATCHES F_Ort)
  986. NO-LOCK.
  987. END.
  988. WHEN 4 THEN DO:
  989. OPEN QUERY {&BROWSE-NAME}
  990. FOR EACH Adresse USE-INDEX Adresse-k4
  991. WHERE Adresse.Firma = AdFirma
  992. AND Adresse.Aktiv = TRUE
  993. AND Adresse.NAME BEGINS F_Name
  994. AND (IF INDEX(F_Suchbe , '*') = 0 THEN Adresse.Suchbe BEGINS F_Suchbe
  995. ELSE Adresse.Suchbe MATCHES F_Suchbe)
  996. AND (IF INDEX(F_Firma1 , '*') = 0 THEN Adresse.Firma BEGINS F_Firma1
  997. ELSE Adresse.Firma MATCHES F_Firma1)
  998. AND (IF INDEX(F_Vorname, '*') = 0 THEN Adresse.Vornam BEGINS F_Vorname
  999. ELSE Adresse.Vornam MATCHES F_Vorname)
  1000. AND (IF INDEX(F_Strasse, '*') = 0 THEN Adresse.Strass BEGINS F_Strasse
  1001. ELSE Adresse.Strass MATCHES F_Strasse)
  1002. AND (IF INDEX(F_Plz , '*') = 0 THEN Adresse.Plz BEGINS F_Plz
  1003. ELSE Adresse.Plz MATCHES F_Plz)
  1004. AND (IF INDEX(F_Ort , '*') = 0 THEN Adresse.Ort BEGINS F_Ort
  1005. ELSE Adresse.Ort MATCHES F_Ort)
  1006. NO-LOCK.
  1007. END.
  1008. WHEN 5 THEN DO:
  1009. OPEN QUERY {&BROWSE-NAME}
  1010. FOR EACH Adresse USE-INDEX Adresse-k5
  1011. WHERE Adresse.Firma = AdFirma
  1012. AND Adresse.Aktiv = TRUE
  1013. AND Adresse.Ort BEGINS F_Ort
  1014. AND (IF INDEX(F_Suchbe , '*') = 0 THEN Adresse.Suchbe BEGINS F_Suchbe
  1015. ELSE Adresse.Suchbe MATCHES F_Suchbe)
  1016. AND (IF INDEX(F_Firma1 , '*') = 0 THEN Adresse.Firma BEGINS F_Firma1
  1017. ELSE Adresse.Firma MATCHES F_Firma1)
  1018. AND (IF INDEX(F_Name , '*') = 0 THEN Adresse.NAME BEGINS F_Name
  1019. ELSE Adresse.NAME MATCHES F_Name)
  1020. AND (IF INDEX(F_Vorname, '*') = 0 THEN Adresse.Vornam BEGINS F_Vorname
  1021. ELSE Adresse.Vornam MATCHES F_Vorname)
  1022. AND (IF INDEX(F_Strasse, '*') = 0 THEN Adresse.Strass BEGINS F_Strasse
  1023. ELSE Adresse.Strass MATCHES F_Strasse)
  1024. AND (IF INDEX(F_Plz , '*') = 0 THEN Adresse.Plz BEGINS F_Plz
  1025. ELSE Adresse.Plz MATCHES F_Plz)
  1026. NO-LOCK.
  1027. END.
  1028. WHEN 6 THEN DO:
  1029. OPEN QUERY {&BROWSE-NAME}
  1030. FOR EACH Adresse USE-INDEX Adresse-k6
  1031. WHERE Adresse.Firma = AdFirma
  1032. AND Adresse.Aktiv = TRUE
  1033. AND Adresse.Plz BEGINS F_Plz
  1034. AND (IF INDEX(F_Suchbe , '*') = 0 THEN Adresse.Suchbe BEGINS F_Suchbe
  1035. ELSE Adresse.Suchbe MATCHES F_Suchbe)
  1036. AND (IF INDEX(F_Firma1 , '*') = 0 THEN Adresse.Firma BEGINS F_Firma1
  1037. ELSE Adresse.Firma MATCHES F_Firma1)
  1038. AND (IF INDEX(F_Name , '*') = 0 THEN Adresse.NAME BEGINS F_Name
  1039. ELSE Adresse.NAME MATCHES F_Name)
  1040. AND (IF INDEX(F_Vorname, '*') = 0 THEN Adresse.Vornam BEGINS F_Vorname
  1041. ELSE Adresse.Vornam MATCHES F_Vorname)
  1042. AND (IF INDEX(F_Strasse, '*') = 0 THEN Adresse.Strass BEGINS F_Strasse
  1043. ELSE Adresse.Strass MATCHES F_Strasse)
  1044. AND (IF INDEX(F_Ort , '*') = 0 THEN Adresse.Ort BEGINS F_Ort
  1045. ELSE Adresse.Ort MATCHES F_Ort)
  1046. NO-LOCK.
  1047. END.
  1048. WHEN 7 THEN DO:
  1049. OPEN QUERY {&BROWSE-NAME}
  1050. FOR EACH Adresse USE-INDEX Adresse-k7
  1051. WHERE Adresse.Firma = AdFirma
  1052. AND Adresse.Aktiv = TRUE
  1053. AND Adresse.Strasse BEGINS F_Strasse
  1054. AND (IF INDEX(F_Suchbe , '*') = 0 THEN Adresse.Suchbe BEGINS F_Suchbe
  1055. ELSE Adresse.Suchbe MATCHES F_Suchbe)
  1056. AND (IF INDEX(F_Firma1 , '*') = 0 THEN Adresse.Firma BEGINS F_Firma1
  1057. ELSE Adresse.Firma MATCHES F_Firma1)
  1058. AND (IF INDEX(F_Name , '*') = 0 THEN Adresse.NAME BEGINS F_Name
  1059. ELSE Adresse.NAME MATCHES F_Name)
  1060. AND (IF INDEX(F_Vorname, '*') = 0 THEN Adresse.Vornam BEGINS F_Vorname
  1061. ELSE Adresse.Vornam MATCHES F_Vorname)
  1062. AND (IF INDEX(F_Plz , '*') = 0 THEN Adresse.Plz BEGINS F_Plz
  1063. ELSE Adresse.Plz MATCHES F_Plz)
  1064. AND (IF INDEX(F_Ort , '*') = 0 THEN Adresse.Ort BEGINS F_Ort
  1065. ELSE Adresse.Ort MATCHES F_Ort)
  1066. NO-LOCK.
  1067. END.
  1068. END CASE.
  1069. END.
  1070. END PROCEDURE.
  1071. /* _UIB-CODE-BLOCK-END */
  1072. &ANALYZE-RESUME
  1073. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gAdressErfassung
  1074. PROCEDURE selectPage :
  1075. /*------------------------------------------------------------------------------
  1076. Purpose: Super Override
  1077. Parameters:
  1078. Notes:
  1079. ------------------------------------------------------------------------------*/
  1080. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  1081. DEF VAR FMutFlag AS LOG NO-UNDO.
  1082. DEF VAR MutProg AS CHAR NO-UNDO.
  1083. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  1084. DO WHILE TRUE:
  1085. IF NOT FMutFlag THEN LEAVE.
  1086. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  1087. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  1088. RETURN NO-APPLY.
  1089. END.
  1090. CASE piPageNum:
  1091. END CASE.
  1092. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  1093. CASE AktSeite:
  1094. WHEN 1 THEN DO:
  1095. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  1096. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  1097. END.
  1098. END CASE.
  1099. RUN SUPER( INPUT piPageNum).
  1100. END PROCEDURE.
  1101. /* _UIB-CODE-BLOCK-END */
  1102. &ANALYZE-RESUME