v-abholko.w 43 KB

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