b-savko.w 33 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108
  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. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS bTableWin
  8. /*------------------------------------------------------------------------
  9. File: adm2\src\browser.w
  10. Description: SmartDataBrowser Object
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. DEFINE VARIABLE lAdmin AS LOG NO-UNDO.
  28. { incl/tmpbrowser.i }
  29. { incl/ttdruckparam.i }
  30. {src/adm2/widgetprto.i}
  31. /* _UIB-CODE-BLOCK-END */
  32. &ANALYZE-RESUME
  33. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  34. /* ******************** Preprocessor Definitions ******************** */
  35. &Scoped-define PROCEDURE-TYPE SmartDataBrowser
  36. &Scoped-define DB-AWARE no
  37. &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
  38. /* Include file with RowObject temp-table definition */
  39. &Scoped-define DATA-FIELD-DEFS "d-savko.i"
  40. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  41. &Scoped-define FRAME-NAME F-Main
  42. &Scoped-define BROWSE-NAME br_table
  43. /* Internal Tables (found by Frame, Query & Browse Queries) */
  44. &Scoped-define INTERNAL-TABLES rowObject
  45. /* Definitions for BROWSE br_table */
  46. &Scoped-define FIELDS-IN-QUERY-br_table rowObject.Faknr rowObject.Knr ~
  47. rowObject.Kunde rowObject.Fak_Art rowObject.Fak_Datum rowObject.Auf_Tot ~
  48. rowObject.Aufnr rowObject.U_Ref rowObject.Auf_Datum rowObject.Lief_Datum
  49. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  50. &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
  51. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
  52. &Scoped-define TABLES-IN-QUERY-br_table rowObject
  53. &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject
  54. /* Definitions for FRAME F-Main */
  55. /* Standard List Definitions */
  56. &Scoped-Define ENABLED-OBJECTS RECT-1 br_table E_Adresse Btn_Drucken ~
  57. Btn_Gebinde
  58. &Scoped-Define DISPLAYED-OBJECTS E_Adresse
  59. /* Custom List Definitions */
  60. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  61. /* _UIB-PREPROCESSOR-BLOCK-END */
  62. &ANALYZE-RESUME
  63. /* ************************ Function Prototypes ********************** */
  64. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD checkMSSQL bTableWin
  65. FUNCTION checkMSSQL RETURNS LOGICAL
  66. ( ipFaknr AS INTEGER ) FORWARD.
  67. /* _UIB-CODE-BLOCK-END */
  68. &ANALYZE-RESUME
  69. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenfarbe bTableWin
  70. FUNCTION setZeilenfarbe RETURNS LOGICAL
  71. ( ipFarbe AS INTEGER ) FORWARD.
  72. /* _UIB-CODE-BLOCK-END */
  73. &ANALYZE-RESUME
  74. /* *********************** Control Definitions ********************** */
  75. /* Menu Definitions */
  76. DEFINE MENU POPUP-MENU-br_table
  77. MENU-ITEM X_RECHNUNG_LOESCHEN LABEL "Rechnung löschen/stornieren"
  78. MENU-ITEM X_IN_AUFTRAG_ZURUECK LABEL "In Auftrag zurück (von - bis Fak-Datum)".
  79. /* Definitions of the field level widgets */
  80. DEFINE BUTTON Btn_Drucken
  81. LABEL "Drucken"
  82. SIZE 15 BY 1.
  83. DEFINE BUTTON Btn_Gebinde
  84. LABEL "Gebinde"
  85. SIZE 15 BY 1.
  86. DEFINE VARIABLE E_Adresse AS CHARACTER
  87. VIEW-AS EDITOR
  88. SIZE 48 BY 6.67
  89. BGCOLOR 15 NO-UNDO.
  90. DEFINE RECTANGLE RECT-1
  91. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  92. SIZE 182 BY 11.43.
  93. /* Query definitions */
  94. &ANALYZE-SUSPEND
  95. DEFINE TEMP-TABLE RowObject NO-UNDO
  96. {{&DATA-FIELD-DEFS}}
  97. {src/adm2/robjflds.i}.
  98. DEFINE QUERY br_table FOR
  99. rowObject SCROLLING.
  100. &ANALYZE-RESUME
  101. /* Browse definitions */
  102. DEFINE BROWSE br_table
  103. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED
  104. QUERY br_table NO-LOCK DISPLAY
  105. rowObject.Faknr FORMAT "9999999":U
  106. rowObject.Knr FORMAT "999999":U
  107. rowObject.Kunde FORMAT "x(60)":U WIDTH 50
  108. rowObject.Fak_Art FORMAT "99":U
  109. rowObject.Fak_Datum FORMAT "99.99.9999":U
  110. rowObject.Auf_Tot FORMAT "zzz,zzz,zz9.99-":U
  111. rowObject.Aufnr FORMAT "9999999":U
  112. rowObject.U_Ref FORMAT "x(20)":U WIDTH 10
  113. rowObject.Auf_Datum FORMAT "99.99.9999":U
  114. rowObject.Lief_Datum FORMAT "99.99.9999":U
  115. /* _UIB-CODE-BLOCK-END */
  116. &ANALYZE-RESUME
  117. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 128 BY 10.95.
  118. /* ************************ Frame Definitions *********************** */
  119. DEFINE FRAME F-Main
  120. br_table AT ROW 1.48 COL 3 WIDGET-ID 200
  121. E_Adresse AT ROW 1.57 COL 133.4 NO-LABEL WIDGET-ID 4 NO-TAB-STOP
  122. Btn_Drucken AT ROW 10 COL 140 WIDGET-ID 6
  123. Btn_Gebinde AT ROW 10 COL 160 WIDGET-ID 10
  124. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2
  125. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  126. SIDE-LABELS NO-UNDERLINE THREE-D
  127. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  128. /* *********************** Procedure Settings ************************ */
  129. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  130. /* Settings for THIS-PROCEDURE
  131. Type: SmartDataBrowser
  132. Data Source: "d-savko.w"
  133. Allow: Basic,Browse
  134. Frames: 1
  135. Add Fields to: Neither
  136. Other Settings: PERSISTENT-ONLY COMPILE
  137. */
  138. /* This procedure should always be RUN PERSISTENT. Report the error, */
  139. /* then cleanup and return. */
  140. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  141. DO:
  142. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  143. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  144. RETURN.
  145. END.
  146. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  147. /* ************************* Create Window ************************** */
  148. &ANALYZE-SUSPEND _CREATE-WINDOW
  149. /* DESIGN Window definition (used by the UIB)
  150. CREATE WINDOW bTableWin ASSIGN
  151. HEIGHT = 11.91
  152. WIDTH = 184.
  153. /* END WINDOW DEFINITION */
  154. */
  155. &ANALYZE-RESUME
  156. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  157. /* ************************* Included-Libraries *********************** */
  158. {src/adm2/browser.i}
  159. /* _UIB-CODE-BLOCK-END */
  160. &ANALYZE-RESUME
  161. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  162. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  163. /* SETTINGS FOR WINDOW bTableWin
  164. NOT-VISIBLE,,RUN-PERSISTENT */
  165. /* SETTINGS FOR FRAME F-Main
  166. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  167. /* BROWSE-TAB br_table RECT-1 F-Main */
  168. ASSIGN
  169. FRAME F-Main:SCROLLABLE = FALSE
  170. FRAME F-Main:HIDDEN = TRUE.
  171. ASSIGN
  172. br_table:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-br_table:HANDLE.
  173. ASSIGN
  174. E_Adresse:READ-ONLY IN FRAME F-Main = TRUE.
  175. /* _RUN-TIME-ATTRIBUTES-END */
  176. &ANALYZE-RESUME
  177. /* Setting information for Queries and Browse Widgets fields */
  178. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  179. /* Query rebuild information for BROWSE br_table
  180. _TblList = "rowObject"
  181. _Options = "NO-LOCK INDEXED-REPOSITION"
  182. _FldNameList[1] > _<SDO>.rowObject.Faknr
  183. "rowObject.Faknr" ? "9999999" "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  184. _FldNameList[2] = _<SDO>.rowObject.Knr
  185. _FldNameList[3] > _<SDO>.rowObject.Kunde
  186. "rowObject.Kunde" ? ? "character" ? ? ? ? ? ? no ? no no "50" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  187. _FldNameList[4] = _<SDO>.rowObject.Fak_Art
  188. _FldNameList[5] = _<SDO>.rowObject.Fak_Datum
  189. _FldNameList[6] = _<SDO>.rowObject.Auf_Tot
  190. _FldNameList[7] > _<SDO>.rowObject.Aufnr
  191. "rowObject.Aufnr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  192. _FldNameList[8] > _<SDO>.rowObject.U_Ref
  193. "rowObject.U_Ref" ? ? "character" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  194. _FldNameList[9] = _<SDO>.rowObject.Auf_Datum
  195. _FldNameList[10] = _<SDO>.rowObject.Lief_Datum
  196. _Query is NOT OPENED
  197. */ /* BROWSE br_table */
  198. &ANALYZE-RESUME
  199. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  200. /* Query rebuild information for FRAME F-Main
  201. _Options = "NO-LOCK"
  202. _Query is NOT OPENED
  203. */ /* FRAME F-Main */
  204. &ANALYZE-RESUME
  205. /* ************************ Control Triggers ************************ */
  206. &Scoped-define BROWSE-NAME br_table
  207. &Scoped-define SELF-NAME br_table
  208. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  209. ON CTRL-END OF br_table IN FRAME F-Main
  210. DO:
  211. APPLY "END":U TO BROWSE {&BROWSE-NAME}.
  212. END.
  213. /* _UIB-CODE-BLOCK-END */
  214. &ANALYZE-RESUME
  215. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  216. ON CTRL-HOME OF br_table IN FRAME F-Main
  217. DO:
  218. APPLY "HOME":U TO BROWSE {&BROWSE-NAME}.
  219. END.
  220. /* _UIB-CODE-BLOCK-END */
  221. &ANALYZE-RESUME
  222. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  223. ON CTRL-P OF br_table IN FRAME F-Main
  224. DO:
  225. RUN DRUCKEN IN THIS-PROCEDURE.
  226. APPLY 'U1'.
  227. RETURN NO-APPLY.
  228. END.
  229. /* _UIB-CODE-BLOCK-END */
  230. &ANALYZE-RESUME
  231. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  232. ON DEFAULT-ACTION OF br_table IN FRAME F-Main
  233. DO:
  234. {src/adm2/brsdefault.i}
  235. END.
  236. /* _UIB-CODE-BLOCK-END */
  237. &ANALYZE-RESUME
  238. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  239. ON END OF br_table IN FRAME F-Main
  240. DO:
  241. {src/adm2/brsend.i}
  242. END.
  243. /* _UIB-CODE-BLOCK-END */
  244. &ANALYZE-RESUME
  245. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  246. ON ENTRY OF br_table IN FRAME F-Main
  247. DO:
  248. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  249. END.
  250. /* _UIB-CODE-BLOCK-END */
  251. &ANALYZE-RESUME
  252. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  253. ON HOME OF br_table IN FRAME F-Main
  254. DO:
  255. {src/adm2/brshome.i}
  256. END.
  257. /* _UIB-CODE-BLOCK-END */
  258. &ANALYZE-RESUME
  259. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  260. ON LEFT-MOUSE-CLICK OF br_table IN FRAME F-Main
  261. DO:
  262. APPLY 'ENTRY' TO {&BROWSE-NAME}.
  263. END.
  264. /* _UIB-CODE-BLOCK-END */
  265. &ANALYZE-RESUME
  266. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  267. ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main
  268. DO:
  269. IF NOT VALID-HANDLE( hFenster ) THEN RETURN NO-APPLY.
  270. RUN TOOLBAR IN hFenster ( INPUT 'UPDATE' ).
  271. RETURN NO-APPLY.
  272. END.
  273. /* _UIB-CODE-BLOCK-END */
  274. &ANALYZE-RESUME
  275. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  276. ON OFF-END OF br_table IN FRAME F-Main
  277. DO:
  278. {src/adm2/brsoffnd.i}
  279. END.
  280. /* _UIB-CODE-BLOCK-END */
  281. &ANALYZE-RESUME
  282. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  283. ON OFF-HOME OF br_table IN FRAME F-Main
  284. DO:
  285. {src/adm2/brsoffhm.i}
  286. END.
  287. /* _UIB-CODE-BLOCK-END */
  288. &ANALYZE-RESUME
  289. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  290. ON ROW-ENTRY OF br_table IN FRAME F-Main
  291. DO:
  292. {src/adm2/brsentry.i}
  293. END.
  294. /* _UIB-CODE-BLOCK-END */
  295. &ANALYZE-RESUME
  296. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  297. ON ROW-LEAVE OF br_table IN FRAME F-Main
  298. DO:
  299. {src/adm2/brsleave.i}
  300. END.
  301. /* _UIB-CODE-BLOCK-END */
  302. &ANALYZE-RESUME
  303. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  304. ON SCROLL-NOTIFY OF br_table IN FRAME F-Main
  305. DO:
  306. {src/adm2/brsscrol.i}
  307. END.
  308. /* _UIB-CODE-BLOCK-END */
  309. &ANALYZE-RESUME
  310. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  311. ON START-SEARCH OF br_table IN FRAME F-Main
  312. DO:
  313. { incl/brwstartsearch.i }
  314. END.
  315. /* _UIB-CODE-BLOCK-END */
  316. &ANALYZE-RESUME
  317. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  318. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  319. DO:
  320. {src/adm2/brschnge.i}
  321. RUN ANZEIGEN_ADRESSE.
  322. END.
  323. /* _UIB-CODE-BLOCK-END */
  324. &ANALYZE-RESUME
  325. &Scoped-define SELF-NAME Btn_Drucken
  326. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Drucken bTableWin
  327. ON CHOOSE OF Btn_Drucken IN FRAME F-Main /* Drucken */
  328. DO:
  329. RUN DRUCKEN IN THIS-PROCEDURE.
  330. APPLY 'U1'.
  331. RETURN NO-APPLY.
  332. END.
  333. /* _UIB-CODE-BLOCK-END */
  334. &ANALYZE-RESUME
  335. &Scoped-define SELF-NAME Btn_Gebinde
  336. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Gebinde bTableWin
  337. ON CHOOSE OF Btn_Gebinde IN FRAME F-Main /* Gebinde */
  338. DO:
  339. RUN GEBINDE IN THIS-PROCEDURE.
  340. APPLY 'U1'.
  341. RETURN NO-APPLY.
  342. END.
  343. /* _UIB-CODE-BLOCK-END */
  344. &ANALYZE-RESUME
  345. &UNDEFINE SELF-NAME
  346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  347. /* *************************** Main Block *************************** */
  348. { incl/brwmainblock.i }
  349. { incl/brwinternproc.i }
  350. cInstallation = DYNAMIC-FUNCTION ('getInstallation':U) NO-ERROR.
  351. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  352. RUN initializeObject.
  353. &ENDIF
  354. /* _UIB-CODE-BLOCK-END */
  355. &ANALYZE-RESUME
  356. /* ********************** Internal Procedures *********************** */
  357. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGEN_ADRESSE bTableWin
  358. PROCEDURE ANZEIGEN_ADRESSE :
  359. /*------------------------------------------------------------------------------
  360. Purpose:
  361. Parameters: <none>
  362. Notes:
  363. ------------------------------------------------------------------------------*/
  364. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  365. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  366. DEFINE VARIABLE lPassant AS LOG NO-UNDO.
  367. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  368. DEFINE BUFFER bSavko FOR Savko .
  369. DEFINE BUFFER bAdresse FOR Adresse .
  370. DEFINE BUFFER bDebst FOR Debst .
  371. DEFINE BUFFER bPassant FOR Passant .
  372. E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = ''.
  373. IF NOT VALID-HANDLE(hDaten) THEN hDaten = DYNAMIC-FUNCTION ('getDataSource':U) NO-ERROR.
  374. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR.
  375. IF iRecid = ? OR
  376. iRecid = 0 THEN RETURN.
  377. FIND bSavko NO-LOCK WHERE RECID(bSavko) = iRecid NO-ERROR.
  378. IF NOT AVAILABLE bSavko THEN RETURN.
  379. FIND bDebst NO-LOCK
  380. WHERE bDebst.Firma = bSavko.Firma
  381. AND bDebst.Knr = bSavko.Fak_Knr NO-ERROR.
  382. IF bDebst.Passant THEN
  383. DO:
  384. FIND bPassant NO-LOCK
  385. WHERE bPassant.Firma = bSavko.Firma
  386. AND bPassant.Knr = bSavko.Fak_Knr
  387. AND bPassant.Faknr = bSavko.Faknr NO-ERROR.
  388. IF AVAILABLE bPassant THEN
  389. DO:
  390. DO ii = 1 TO 5:
  391. IF bPassant.Adr[ii] = '' THEN NEXT.
  392. cString = cString
  393. + (IF cString = '' THEN '' ELSE CHR(10))
  394. + bPassant.Adr[ii].
  395. lPassant = TRUE.
  396. END.
  397. END.
  398. END.
  399. ELSE
  400. DO:
  401. DO ii = 1 TO 5:
  402. IF bSavko.Adresse[ii] = '' THEN NEXT.
  403. cString = cString
  404. + (IF cString = '' THEN '' ELSE CHR(10))
  405. + bSavko.Adresse[ii].
  406. lPassant = TRUE.
  407. END.
  408. END.
  409. IF lPassant THEN
  410. DO:
  411. E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = cString.
  412. E_Adresse:BGCOLOR = 14.
  413. RETURN.
  414. END.
  415. FIND bAdresse NO-LOCK
  416. WHERE bAdresse.Firma = AdFirma
  417. AND bAdresse.Knr = bSavko.Knr NO-ERROR.
  418. IF NOT AVAILABLE bAdresse THEN RETURN.
  419. DO ii = 3 TO 12:
  420. cString = cString
  421. + (IF ii = 3 THEN '' ELSE CHR(10))
  422. + bAdresse.Anschrift[ii].
  423. END.
  424. E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = cString.
  425. E_Adresse:BGCOLOR = 15.
  426. RELEASE bSavko.
  427. RELEASE bAdresse.
  428. END PROCEDURE.
  429. /* _UIB-CODE-BLOCK-END */
  430. &ANALYZE-RESUME
  431. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject bTableWin
  432. PROCEDURE destroyObject :
  433. /*------------------------------------------------------------------------------
  434. Purpose: Super Override
  435. Parameters:
  436. Notes:
  437. ------------------------------------------------------------------------------*/
  438. DEFINE VARIABLE hBrowser AS HANDLE NO-UNDO.
  439. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  440. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
  441. INPUT Sektion ) NO-ERROR.
  442. RUN SUPER.
  443. /* Code placed here will execute AFTER standard behavior. */
  444. END PROCEDURE.
  445. /* _UIB-CODE-BLOCK-END */
  446. &ANALYZE-RESUME
  447. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  448. PROCEDURE disable_UI :
  449. /*------------------------------------------------------------------------------
  450. Purpose: DISABLE the User Interface
  451. Parameters: <none>
  452. Notes: Here we clean-up the user-interface by deleting
  453. dynamic widgets we have created and/or hide
  454. frames. This procedure is usually called when
  455. we are ready to "clean-up" after running.
  456. ------------------------------------------------------------------------------*/
  457. /* Hide all frames. */
  458. HIDE FRAME F-Main.
  459. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  460. END PROCEDURE.
  461. /* _UIB-CODE-BLOCK-END */
  462. &ANALYZE-RESUME
  463. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN bTableWin
  464. PROCEDURE DRUCKEN :
  465. /*------------------------------------------------------------------------------
  466. Purpose:
  467. Parameters: <none>
  468. Notes:
  469. ------------------------------------------------------------------------------*/
  470. DEFINE VARIABLE cUser AS CHARACTER NO-UNDO.
  471. DEFINE VARIABLE iVDRecid AS RECID NO-UNDO.
  472. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  473. DEFINE VARIABLE cResult AS CHARACTER NO-UNDO.
  474. DEFINE VARIABLE cDruckProgramm AS CHARACTER NO-UNDO.
  475. DEFINE VARIABLE lSammFak AS LOG NO-UNDO.
  476. DEFINE VARIABLE iRuestArt AS INTEGER NO-UNDO.
  477. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  478. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  479. DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO.
  480. DEFINE BUFFER bViperDoc FOR ViperDoc.
  481. DEFINE BUFFER bSavko FOR Savko.
  482. IF NOT VALID-HANDLE (hDaten) THEN hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  483. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
  484. IF iRecid = ? OR
  485. iRecid = 0 THEN RETURN.
  486. FIND bSavko NO-LOCK WHERE RECID(bSavko) = iRecid.
  487. ASSIGN
  488. iAufnr = bSavko.Aufnr.
  489. EMPTY TEMP-TABLE tParam.
  490. CREATE tParam.
  491. FIND Steuer NO-LOCK
  492. WHERE Steuer.Firma = D1Firma.
  493. ASSIGN
  494. iRuestArt = Steuer.RuestArt.
  495. ASSIGN
  496. tParam.cFirma = bSavko.Firma
  497. tParam.iRecid = RECID(bSavko)
  498. tParam.iAufnr = bSavko.Aufnr
  499. tParam.iKnr = bSavko.Knr
  500. tParam.iFak_Knr = bSavko.Fak_Knr
  501. tParam.iFakArt = bSavko.Fak_Art
  502. tParam.iFaknr = bSavko.Faknr
  503. tParam.dFakDatum = bSavko.Fak_Datum
  504. tParam.iAufSta = bSavko.Auf_Sta
  505. tParam.iVerband = bSavko.Ku_Grp
  506. tParam.cBenutzer = DYNAMIC-FUNCTION('getBenutzer':U)
  507. tParam.cDBUser = DYNAMIC-FUNCTION('getDBUser':U)
  508. tParam.cWinUser = DYNAMIC-FUNCTION('getSysUser':U)
  509. tParam.cInstall = DYNAMIC-FUNCTION('getInstallation':U)
  510. tParam.lPreis = TRUE
  511. .
  512. CASE cInstallation:
  513. WHEN 'oswald' THEN
  514. DO:
  515. IF bSavko.Fak_Art = 30 THEN
  516. DO:
  517. RUN 'v8/c-p_oswald-sk.w' ( INPUT htParam ).
  518. RETURN cRetVal.
  519. END.
  520. END.
  521. END CASE.
  522. FIND FIRST Tabel NO-LOCK
  523. WHERE Tabel.Firma = tParam.cFirma
  524. AND Tabel.RecArt = 'FAKART'
  525. AND Tabel.CodeI = bSavko.Fak_Art NO-ERROR.
  526. tParam.cDokument = Tabel.Bez2.
  527. lSammFak = (IF Tabel.Int_3 = 4 THEN TRUE ELSE FALSE).
  528. iVDRecid = ?.
  529. DO ii = 1 TO 3:
  530. CASE ii:
  531. WHEN 1 THEN
  532. cUser = tParam.cBenutzer.
  533. WHEN 2 THEN
  534. cUser = tParam.cDBUser.
  535. WHEN 3 THEN
  536. cUser = tParam.cWinUser.
  537. END CASE.
  538. FIND FIRST ViperDoc NO-LOCK
  539. WHERE ViperDoc.Firma = bSavko.Firma
  540. AND ViperDoc.Benutzer = cUser
  541. AND ViperDoc.Formular = tParam.cDokument
  542. AND ViperDoc.DokArt = bSavko.Ku_Grp NO-ERROR.
  543. IF AVAILABLE ViperDoc THEN
  544. DO:
  545. iVDRecid = RECID(ViperDoc).
  546. LEAVE.
  547. END.
  548. END.
  549. DO WHILE iVDREcid = ?:
  550. FIND FIRST ViperDoc NO-LOCK
  551. WHERE ViperDoc.Firma = bSavko.Firma
  552. AND ViperDoc.Formular = tParam.cDokument
  553. AND ViperDoc.DokArt = bSavko.Ku_Grp NO-ERROR.
  554. IF NOT AVAILABLE ViperDoc THEN
  555. DO:
  556. MESSAGE 'Es ist keine Drucker-Formular-Definition hinterlegt'
  557. VIEW-AS ALERT-BOX ERROR.
  558. APPLY 'U1'.
  559. RETURN NO-APPLY.
  560. END.
  561. REPEAT TRANSACTION:
  562. CREATE bViperDoc.
  563. BUFFER-COPY ViperDoc
  564. EXCEPT Benutzer
  565. TO bViperDoc
  566. ASSIGN
  567. bViperDoc.Benutzer = tParam.cBenutzer.
  568. iVDRecid = RECID(bViperDoc).
  569. RELEASE bViperDoc.
  570. RELEASE ViperDoc.
  571. LEAVE.
  572. END.
  573. LEAVE.
  574. END.
  575. ASSIGN
  576. tParam.iVDRecid = iVDRecid
  577. tParam.lBatch = FALSE.
  578. RELEASE bSavko.
  579. RELEASE ViperDoc.
  580. RELEASE Tabel.
  581. RUN 'g-druck-bestaetigung.w':U ( INPUT-OUTPUT htParam, OUTPUT cResult ).
  582. IF cResult <> 'OK' THEN
  583. DO:
  584. APPLY 'U1'.
  585. RETURN NO-APPLY.
  586. END.
  587. FIND FIRST tParam.
  588. cDruckProgramm = SUBSTITUTE('DruckProgramme/&1/Sav_&2',
  589. cInstallation,
  590. tParam.Programm ).
  591. IF cDruckProgramm = ? THEN
  592. DO:
  593. MESSAGE 'Druckprogramm nicht gefunden' VIEW-AS ALERT-BOX ERROR.
  594. APPLY 'U1'.
  595. RETURN NO-APPLY.
  596. END.
  597. RUN VALUE(cDruckProgramm) ( htParam, OUTPUT cResult ).
  598. RETURN cResult.
  599. END PROCEDURE.
  600. /* _UIB-CODE-BLOCK-END */
  601. &ANALYZE-RESUME
  602. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE bTableWin
  603. PROCEDURE ENTRY_BROWSE :
  604. /*------------------------------------------------------------------------------
  605. Purpose:
  606. Parameters: <none>
  607. Notes:
  608. ------------------------------------------------------------------------------*/
  609. APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
  610. RETURN NO-APPLY.
  611. END PROCEDURE.
  612. /* _UIB-CODE-BLOCK-END */
  613. &ANALYZE-RESUME
  614. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE bTableWin
  615. PROCEDURE GEBINDE :
  616. /*------------------------------------------------------------------------------
  617. Purpose:
  618. Parameters: <none>
  619. Notes:
  620. ------------------------------------------------------------------------------*/
  621. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  622. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  623. DEFINE BUFFER bSavko FOR Savko.
  624. iRecid = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten ) NO-ERROR.
  625. IF iRecid = ? OR
  626. iRecid = ? THEN
  627. DO:
  628. APPLY 'U1'.
  629. RETURN NO-APPLY.
  630. END.
  631. FIND bSavko NO-LOCK WHERE RECID(bSavko) = iRecid NO-ERROR.
  632. IF NOT AVAILABLE bSavko THEN
  633. DO:
  634. APPLY 'U1'.
  635. RETURN NO-APPLY.
  636. END.
  637. iAufnr = bSavko.Aufnr.
  638. RUN 'g-savgebko.w' ( INPUT iAufnr ) NO-ERROR.
  639. APPLY 'U1'.
  640. RETURN NO-APPLY.
  641. END PROCEDURE.
  642. /* _UIB-CODE-BLOCK-END */
  643. &ANALYZE-RESUME
  644. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin
  645. PROCEDURE initializeObject :
  646. /*------------------------------------------------------------------------------
  647. Purpose: Super Override
  648. Parameters:
  649. Notes:
  650. ------------------------------------------------------------------------------*/
  651. { incl/brwinitialize.i }
  652. lAdmin = DYNAMIC-FUNCTION('getAdmin':U) NO-ERROR.
  653. APPLY 'VALUE-CHANGED':U TO hItem_sort.
  654. END PROCEDURE.
  655. /* _UIB-CODE-BLOCK-END */
  656. &ANALYZE-RESUME
  657. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE IN_AUFTRAG_ZURUECK bTableWin
  658. PROCEDURE IN_AUFTRAG_ZURUECK :
  659. /*------------------------------------------------------------------------------
  660. Purpose:
  661. Parameters: <none>
  662. Notes:
  663. ------------------------------------------------------------------------------*/
  664. DEFINE VARIABLE fNeuFnr AS LOG INIT FALSE NO-UNDO.
  665. DEFINE VARIABLE fNochmals AS LOG INIT TRUE NO-UNDO.
  666. DEFINE VARIABLE lSpez AS LOG INIT TRUE NO-UNDO.
  667. DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
  668. DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
  669. DEFINE VARIABLE fOK AS LOG NO-UNDO.
  670. DEFINE VARIABLE iKnr AS INTEGER NO-UNDO.
  671. DEFINE VARIABLE dvonFakdat AS DATE FORMAT '99.99.9999' NO-UNDO.
  672. DEFINE VARIABLE dbisFakdat AS DATE FORMAT '99.99.9999' NO-UNDO.
  673. iKnr = 0.
  674. RUN g-spezloeschen.w ( INPUT-OUTPUT iKnr,
  675. INPUT-OUTPUT dvonFakDat,
  676. INPUT-OUTPUT dbisFakDat).
  677. IF iKnr = 0 THEN RETURN NO-APPLY.
  678. SESSION:SET-WAIT-STATE('GENERAL').
  679. FOR EACH Savko NO-LOCK
  680. WHERE Savko.Firma = D1Firma
  681. AND Savko.Knr = iKnr
  682. AND Savko.Fak_Datum >= dvonFakDat
  683. AND Savko.Fak_Datum <= dbisFakDat:
  684. RUN "v8/loeschen_rechnung.p" ( Savko.Firma, Savko.Knr, Savko.Faknr, fNochmals, fNeuFnr, lSpez ).
  685. END.
  686. SESSION:SET-WAIT-STATE('').
  687. DYNAMIC-FUNCTION('openQuery':U IN hDaten ) NO-ERROR.
  688. END PROCEDURE.
  689. /* _UIB-CODE-BLOCK-END */
  690. &ANALYZE-RESUME
  691. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RECHNUNG_LOESCHEN bTableWin
  692. PROCEDURE RECHNUNG_LOESCHEN :
  693. /*------------------------------------------------------------------------------
  694. Purpose:
  695. Parameters: <none>
  696. Notes:
  697. ------------------------------------------------------------------------------*/
  698. DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
  699. DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
  700. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  701. DEFINE VARIABLE lOK AS LOG NO-UNDO.
  702. DEFINE VARIABLE lNochmals AS LOG INIT FALSE NO-UNDO.
  703. DEFINE VARIABLE lNeuFnr AS LOG INIT FALSE NO-UNDO.
  704. DEFINE VARIABLE lSpez AS LOG INIT FALSE NO-UNDO.
  705. DEFINE BUFFER bSavko FOR Savko.
  706. IF NOT lAdmin THEN RETURN NO-APPLY.
  707. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR.
  708. IF iRecid = ? OR
  709. iRecid = 0 THEN RETURN NO-APPLY.
  710. FIND bSavko NO-LOCK
  711. WHERE RECID(bSavko) = iRecid.
  712. FIND Steuer NO-LOCK
  713. WHERE Steuer.Firma = bSavko.Firma NO-ERROR.
  714. IF NOT AVAILABLE Steuer THEN RETURN NO-APPLY.
  715. IF Steuer.Fwc09 = 'SESAM' THEN
  716. DO:
  717. lOK = DYNAMIC-FUNCTION('checkMSSQL':U, INPUT bSavko.Faknr ).
  718. IF NOT lOK THEN
  719. DO:
  720. FIND Debop NO-LOCK
  721. WHERE Debop.Firma = bSavko.Firma
  722. AND Debop.Knr = bSavko.Knr
  723. AND Debop.Faknr = bSavko.Faknr NO-ERROR.
  724. MESSAGE 'Diese Rechnung ist bereits im SESAM' SKIP
  725. 'trotzedem weiterfahren ? ' SKIP
  726. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  727. UPDATE lOK.
  728. IF NOT lOK THEN RETURN NO-APPLY.
  729. END.
  730. END.
  731. lOK = FALSE.
  732. MESSAGE 'Wollen Sie die Rechnung ' bSavko.Faknr ' und eventuelle Zahlungen' SKIP
  733. 'komplett stornieren/löschen ?'
  734. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  735. UPDATE lOK.
  736. IF NOT lOK THEN RETURN NO-APPLY.
  737. MESSAGE 'Wollen Sie die Rechnung danach nochmals verbuchen ?'
  738. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  739. UPDATE lNochmals.
  740. IF lNochmals THEN
  741. DO:
  742. MESSAGE 'Wollen Sie eine neue Rechnungsnummer zuteilen ?'
  743. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  744. UPDATE lNeuFnr.
  745. END.
  746. IF lNeuFnr THEN
  747. DO:
  748. MESSAGE 'es wird eine neue Rechnungsnummer zugeteilt' VIEW-AS ALERT-BOX INFORMATION.
  749. END.
  750. lOK = FALSE.
  751. MESSAGE 'Verarbeitung starten ?'
  752. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  753. UPDATE lOK.
  754. IF NOT lOK THEN RETURN NO-APPLY.
  755. SESSION:SET-WAIT-STATE('GENERAL').
  756. RUN "v8/loeschen_rechnung.p" ( bSavko.Firma, bSavko.Knr, bSavko.Faknr, lNochmals, lNeuFnr, lSpez ).
  757. DYNAMIC-FUNCTION('openquery':U IN hDaten ) NO-ERROR.
  758. SESSION:SET-WAIT-STATE('').
  759. END PROCEDURE.
  760. /* _UIB-CODE-BLOCK-END */
  761. &ANALYZE-RESUME
  762. /* ************************ Function Implementations ***************** */
  763. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION checkMSSQL bTableWin
  764. FUNCTION checkMSSQL RETURNS LOGICAL
  765. ( ipFaknr AS INTEGER ) :
  766. /*------------------------------------------------------------------------------
  767. Purpose:
  768. Notes:
  769. ------------------------------------------------------------------------------*/
  770. DEFINE VARIABLE ObjRecordSet AS COMPONENT-HANDLE NO-UNDO.
  771. DEFINE VARIABLE ObjConnection AS COMPONENT-HANDLE NO-UNDO.
  772. DEFINE VARIABLE ObjCommand AS COMPONENT-HANDLE NO-UNDO.
  773. DEFINE VARIABLE ODBC-DSN AS CHARACTER NO-UNDO.
  774. DEFINE VARIABLE ODBC-SERVER AS CHARACTER NO-UNDO.
  775. DEFINE VARIABLE ODBC-USERID AS CHARACTER NO-UNDO.
  776. DEFINE VARIABLE ODBC-PASSWD AS CHARACTER NO-UNDO.
  777. DEFINE VARIABLE ODBC-QUERY AS CHARACTER NO-UNDO.
  778. DEFINE VARIABLE ODBC-STATUS AS CHARACTER NO-UNDO.
  779. DEFINE VARIABLE ODBC-RECCOUNT AS INTEGER NO-UNDO.
  780. DEFINE VARIABLE ODBC-NULL AS CHARACTER NO-UNDO.
  781. DEFINE VARIABLE ODBC-CURSOR AS INTEGER NO-UNDO.
  782. DEFINE VARIABLE cConnCommand AS CHARACTER NO-UNDO.
  783. DEFINE VARIABLE cDSN AS CHARACTER NO-UNDO.
  784. DEFINE VARIABLE cServer AS CHARACTER NO-UNDO.
  785. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  786. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  787. DEFINE VARIABLE lOK AS LOG INIT FALSE NO-UNDO.
  788. CREATE "ADODB.Connection" ObjConnection NO-ERROR.
  789. CREATE "ADODB.RecordSet" ObjRecordSet NO-ERROR.
  790. CREATE "ADODB.Command" ObjCommand NO-ERROR.
  791. GET-KEY-VALUE SECTION 'Grundeinstellungen'
  792. KEY 'SQLServer'
  793. VALUE cServer.
  794. IF cServer = ? THEN RETURN lOK.
  795. IF cServer = '' THEN RETURN lOK.
  796. GET-KEY-VALUE SECTION 'Grundeinstellungen'
  797. KEY 'SQLDSN'
  798. VALUE cDSN.
  799. IF cDSN = ? THEN RETURN lOK.
  800. IF cDSN = '' THEN RETURN lOK.
  801. ASSIGN
  802. ODBC-STATUS = ''
  803. ODBC-NULL = ''
  804. ODBC-DSN = cDSN
  805. ODBC-SERVER = cServer
  806. ODBC-USERID = 'gebtools'
  807. ODBC-PASSWD = 'gebtools'
  808. ODBC-QUERY = ''.
  809. cConnCommand = 'data source='
  810. + ODBC-DSN
  811. + ';server='
  812. + ODBC-SERVER
  813. .
  814. ObjConnection:Open ( cConnCommand, ODBC-USERID, ODBC-PASSWD, 0 ) NO-ERROR.
  815. IF ( ERROR-STATUS:NUM-MESSAGES > 0 ) THEN
  816. DO:
  817. ii = ERROR-STATUS:NUM-MESSAGES.
  818. ODBC-STATUS = "Error: keine Verbindung zu Datenserver "
  819. + cConnCommand.
  820. MESSAGE ODBC-STATUS VIEW-AS ALERT-BOX.
  821. DO ix = 1 TO ii:
  822. MESSAGE 'Fehlerbeschreibung:' ERROR-STATUS:GET-MESSAGE(ix) VIEW-AS ALERT-BOX.
  823. END.
  824. RETURN lOK.
  825. END.
  826. DO WHILE TRUE:
  827. ASSIGN
  828. ObjCommand:ActiveConnection = ObjConnection
  829. ObjCommand:CommandType = 1 /* adCmdText */
  830. ObjConnection:CursorLocation = 3 /* adUseClient */
  831. ObjRecordSet:CursorType = 3 /* adOpenStatic */.
  832. ODBC-QUERY = "SELECT OpId "
  833. + "FROM [Huber].[dbo].[Beleg] WHERE OpId = '"
  834. + TRIM(STRING(ipFaknr,'>>>>>>>>'))
  835. + "' ".
  836. ASSIGN
  837. ObjCommand:CommandText = ODBC-QUERY
  838. ObjRecordSet = ObjCommand:EXECUTE( OUTPUT ODBC-NULL, '', 32 )
  839. ODBC-RECCOUNT = ObjRecordSet:RecordCount NO-ERROR.
  840. IF ODBC-RECCOUNT = ? THEN ODBC-RECCOUNT = 0.
  841. IF ODBC-RECCOUNT = 0 THEN lOK = TRUE .
  842. LEAVE.
  843. END.
  844. ObjConnection:Close NO-ERROR.
  845. RELEASE OBJECT ObjConnection NO-ERROR.
  846. RELEASE OBJECT ObjCommand NO-ERROR.
  847. RELEASE OBJECT ObjRecordSet NO-ERROR.
  848. RETURN lOK.
  849. END FUNCTION.
  850. /* _UIB-CODE-BLOCK-END */
  851. &ANALYZE-RESUME
  852. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin
  853. FUNCTION setZeilenfarbe RETURNS LOGICAL
  854. ( ipFarbe AS INTEGER ) :
  855. /*------------------------------------------------------------------------------
  856. Purpose:
  857. Notes:
  858. ------------------------------------------------------------------------------*/
  859. { incl/brwsetzeilenfarbe.i }
  860. END FUNCTION.
  861. /* _UIB-CODE-BLOCK-END */
  862. &ANALYZE-RESUME