b-debop-fak.w 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  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 B-table-Win
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from BROWSER.W - Basic SmartBrowser Object Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress UIB. */
  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. DEF VAR QOpen AS LOG INIT FALSE NO-UNDO.
  28. DEF VAR OpenQ AS LOG INIT FALSE NO-UNDO.
  29. DEF VAR LKNr AS INT.
  30. DEF VAR DRecid AS RECID.
  31. DEF VAR ORecid AS RECID.
  32. DEF VAR VTrNr1 AS INT.
  33. DEF VAR VTrNr2 AS INT.
  34. DEF BUFFER BDebop FOR Debop.
  35. DEF BUFFER BMWSTAns FOR MWSTAns.
  36. DEF BUFFER BWust FOR Wust .
  37. /* ---------- Globale Variablen ---------------------------------- */
  38. { v8/globvar.i" " " " "SHARED" }
  39. { v8/debivar.i " " " " "SHARED" }
  40. { v8/artivar.i " " " " "SHARED" }
  41. { v8/contvar.i " " " " "SHARED" }
  42. /* _UIB-CODE-BLOCK-END */
  43. &ANALYZE-RESUME
  44. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  45. /* ******************** Preprocessor Definitions ******************** */
  46. &Scoped-define PROCEDURE-TYPE SmartBrowser
  47. &Scoped-define DB-AWARE no
  48. &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
  49. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  50. &Scoped-define FRAME-NAME F-Main
  51. &Scoped-define BROWSE-NAME br_table
  52. /* Internal Tables (found by Frame, Query & Browse Queries) */
  53. &Scoped-define INTERNAL-TABLES Debop
  54. /* Define KEY-PHRASE in case it is used by any query. */
  55. &Scoped-define KEY-PHRASE TRUE
  56. /* Definitions for BROWSE br_table */
  57. &Scoped-define FIELDS-IN-QUERY-br_table Debop.Faknr Debop.Fakdat Debop.Faellig Debop.Fakbetr Debop.Saldo
  58. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  59. &Scoped-define SELF-NAME br_table
  60. &Scoped-define QUERY-STRING-br_table FOR EACH Debop WHERE Debop.Firma = Debst.Firma AND Debop.Knr = Debst.Knr NO-LOCK ~{&SORTBY-PHRASE}
  61. &Scoped-define OPEN-QUERY-br_table OPEN QUERY {&SELF-NAME} FOR EACH Debop WHERE Debop.Firma = Debst.Firma AND Debop.Knr = Debst.Knr NO-LOCK ~{&SORTBY-PHRASE}.
  62. &Scoped-define TABLES-IN-QUERY-br_table Debop
  63. &Scoped-define FIRST-TABLE-IN-QUERY-br_table Debop
  64. /* Definitions for FRAME F-Main */
  65. /* Standard List Definitions */
  66. &Scoped-Define ENABLED-OBJECTS F_Knr F_Adresse F_Faknr F_Fakdat F_Faellig ~
  67. F_WW F_MWST F_MWST_Text F_Porto F_Verpack F_Steuer F_Fakbetr F_Konto ~
  68. Btn_Erfassen br_table RECT-2 RECT-24
  69. &Scoped-Define DISPLAYED-OBJECTS F_Knr F_Adresse F_Faknr F_Saldo F_Fakdat ~
  70. F_Faellig F_WW F_MWST F_MWST_Text F_Porto F_Verpack F_Steuer F_Fakbetr ~
  71. F_Konto
  72. /* Custom List Definitions */
  73. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  74. &Scoped-define List-1 F_Knr F_Adresse F_Faknr F_Saldo F_Fakdat F_Faellig ~
  75. F_WW F_MWST F_MWST_Text F_Porto F_Verpack F_Steuer F_Fakbetr F_Konto
  76. /* _UIB-PREPROCESSOR-BLOCK-END */
  77. &ANALYZE-RESUME
  78. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  79. /* Actions: ? adm/support/keyedit.w ? ? ? */
  80. /* STRUCTURED-DATA
  81. <KEY-OBJECT>
  82. &BROWSE-NAME
  83. </KEY-OBJECT>
  84. <FOREIGN-KEYS>
  85. FRW||y|Anadat.Debop.FRW
  86. Firma||y|Anadat.Debop.Firma
  87. Knr||y|AnaDat.Debop.Knr
  88. </FOREIGN-KEYS>
  89. <EXECUTING-CODE>
  90. **************************
  91. * Set attributes related to FOREIGN KEYS
  92. */
  93. RUN set-attribute-list (
  94. 'Keys-Accepted = ,
  95. Keys-Supplied = "FRW,Firma,Knr"':U).
  96. /* Tell the ADM to use the OPEN-QUERY-CASES. */
  97. &Scoped-define OPEN-QUERY-CASES RUN dispatch ('open-query-cases':U).
  98. /**************************
  99. </EXECUTING-CODE> */
  100. /* _UIB-CODE-BLOCK-END */
  101. &ANALYZE-RESUME
  102. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  103. /* Actions: ? adm/support/advqedit.w ? ? ? */
  104. /* STRUCTURED-DATA
  105. <KEY-OBJECT>
  106. &BROWSE-NAME
  107. </KEY-OBJECT>
  108. <SORTBY-OPTIONS>
  109. </SORTBY-OPTIONS>
  110. <SORTBY-RUN-CODE>
  111. ************************
  112. * Set attributes related to SORTBY-OPTIONS */
  113. RUN set-attribute-list (
  114. 'SortBy-Options = ""':U).
  115. /************************
  116. </SORTBY-RUN-CODE>
  117. <FILTER-ATTRIBUTES>
  118. </FILTER-ATTRIBUTES> */
  119. /* _UIB-CODE-BLOCK-END */
  120. &ANALYZE-RESUME
  121. /* *********************** Control Definitions ********************** */
  122. /* Definitions of the field level widgets */
  123. DEFINE BUTTON Btn_Erfassen
  124. LABEL "&Erfassen"
  125. SIZE 17.4 BY 1.
  126. DEFINE VARIABLE F_Adresse AS CHARACTER FORMAT "X(60)":U
  127. VIEW-AS FILL-IN NATIVE
  128. SIZE 77 BY 1
  129. BGCOLOR 15 NO-UNDO.
  130. DEFINE VARIABLE F_Faellig AS DATE FORMAT "99.99.9999"
  131. LABEL "Fällig"
  132. VIEW-AS FILL-IN NATIVE
  133. SIZE 16 BY 1
  134. BGCOLOR 15 .
  135. DEFINE VARIABLE F_Fakbetr AS DECIMAL FORMAT "zzz,zz9.99-" INITIAL 0
  136. LABEL "Fakturabetrag"
  137. VIEW-AS FILL-IN NATIVE
  138. SIZE 16 BY 1
  139. BGCOLOR 15 .
  140. DEFINE VARIABLE F_Fakdat AS DATE FORMAT "99.99.9999"
  141. LABEL "Datum"
  142. VIEW-AS FILL-IN NATIVE
  143. SIZE 16 BY 1
  144. BGCOLOR 15 .
  145. DEFINE VARIABLE F_Faknr AS INTEGER FORMAT "999999" INITIAL 0
  146. LABEL "Faktura"
  147. VIEW-AS FILL-IN NATIVE
  148. SIZE 11 BY 1
  149. BGCOLOR 15 .
  150. DEFINE VARIABLE F_Knr AS INTEGER FORMAT "999999" INITIAL 0
  151. LABEL "Knr"
  152. VIEW-AS FILL-IN NATIVE
  153. SIZE 11 BY 1
  154. BGCOLOR 15 .
  155. DEFINE VARIABLE F_Konto AS CHARACTER FORMAT "x(12)"
  156. LABEL "Konto"
  157. VIEW-AS FILL-IN NATIVE
  158. SIZE 17 BY 1
  159. BGCOLOR 15 .
  160. DEFINE VARIABLE F_MWST AS INTEGER FORMAT "99":U INITIAL 0
  161. LABEL "MWSt-Cd"
  162. VIEW-AS FILL-IN NATIVE
  163. SIZE 5.6 BY 1
  164. BGCOLOR 15 NO-UNDO.
  165. DEFINE VARIABLE F_MWST_Text AS CHARACTER FORMAT "X(40)":U
  166. VIEW-AS FILL-IN NATIVE
  167. SIZE 42 BY 1
  168. BGCOLOR 15 NO-UNDO.
  169. DEFINE VARIABLE F_Porto AS DECIMAL FORMAT "zzz,zz9.99-" INITIAL 0
  170. LABEL "Porto"
  171. VIEW-AS FILL-IN NATIVE
  172. SIZE 16 BY 1
  173. BGCOLOR 15 .
  174. DEFINE VARIABLE F_Saldo AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
  175. LABEL "Saldo"
  176. VIEW-AS FILL-IN NATIVE
  177. SIZE 21 BY 1
  178. BGCOLOR 15 FGCOLOR 12 NO-UNDO.
  179. DEFINE VARIABLE F_Steuer AS DECIMAL FORMAT "zzz,zz9.99-" INITIAL 0
  180. LABEL "MWST"
  181. VIEW-AS FILL-IN NATIVE
  182. SIZE 17 BY 1
  183. BGCOLOR 15 .
  184. DEFINE VARIABLE F_Verpack AS DECIMAL FORMAT "zzz,zz9.99-" INITIAL 0
  185. LABEL "Verpackung"
  186. VIEW-AS FILL-IN NATIVE
  187. SIZE 16 BY 1
  188. BGCOLOR 15 .
  189. DEFINE VARIABLE F_WW AS DECIMAL FORMAT "zzz,zz9.99-" INITIAL 0
  190. LABEL "Warenwert"
  191. VIEW-AS FILL-IN NATIVE
  192. SIZE 16 BY 1
  193. BGCOLOR 15 .
  194. DEFINE RECTANGLE RECT-2
  195. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  196. SIZE 117 BY 10.95.
  197. DEFINE RECTANGLE RECT-24
  198. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  199. SIZE 117 BY 9.1.
  200. /* Query definitions */
  201. &ANALYZE-SUSPEND
  202. DEFINE QUERY br_table FOR
  203. Debop SCROLLING.
  204. &ANALYZE-RESUME
  205. /* Browse definitions */
  206. DEFINE BROWSE br_table
  207. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _FREEFORM
  208. QUERY br_table NO-LOCK DISPLAY
  209. Debop.Faknr COLUMN-LABEL "Nummer" FORMAT "zzzzz9":U
  210. Debop.Fakdat COLUMN-LABEL "Datum" FORMAT "99.99.9999":U
  211. Debop.Faellig COLUMN-LABEL "Fällig" FORMAT "99.99.9999":U
  212. Debop.Fakbetr COLUMN-LABEL "Betrag" FORMAT "zzz,zzz,zz9.99-":U
  213. Debop.Saldo FORMAT "zzz,zzz,zz9.99-":U
  214. /* _UIB-CODE-BLOCK-END */
  215. &ANALYZE-RESUME
  216. WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 69.4 BY 8.24
  217. BGCOLOR 15 .
  218. /* ************************ Frame Definitions *********************** */
  219. DEFINE FRAME F-Main
  220. F_Knr AT ROW 2 COL 22 COLON-ALIGNED
  221. F_Adresse AT ROW 2 COL 34 COLON-ALIGNED NO-LABEL
  222. F_Faknr AT ROW 3 COL 22 COLON-ALIGNED
  223. F_Saldo AT ROW 3 COL 90 COLON-ALIGNED
  224. F_Fakdat AT ROW 4 COL 22 COLON-ALIGNED
  225. F_Faellig AT ROW 5 COL 22 COLON-ALIGNED
  226. F_WW AT ROW 6 COL 22 COLON-ALIGNED
  227. F_MWST AT ROW 6 COL 56.2 COLON-ALIGNED
  228. F_MWST_Text AT ROW 6 COL 63.2 COLON-ALIGNED NO-LABEL
  229. F_Porto AT ROW 7 COL 22 COLON-ALIGNED
  230. F_Verpack AT ROW 8 COL 22 COLON-ALIGNED
  231. F_Steuer AT ROW 8 COL 56.2 COLON-ALIGNED
  232. F_Fakbetr AT ROW 9 COL 22 COLON-ALIGNED
  233. F_Konto AT ROW 9 COL 56.2 COLON-ALIGNED
  234. Btn_Erfassen AT ROW 10.14 COL 96.2
  235. br_table AT ROW 13.38 COL 24
  236. RECT-2 AT ROW 1.67 COL 5.8
  237. RECT-24 AT ROW 12.95 COL 5.8
  238. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  239. SIDE-LABELS NO-UNDERLINE THREE-D
  240. AT COL 1 ROW 1
  241. SIZE 131.6 BY 21.71.
  242. /* *********************** Procedure Settings ************************ */
  243. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  244. /* Settings for THIS-PROCEDURE
  245. Type: SmartBrowser
  246. Allow: Basic,Browse
  247. Frames: 1
  248. Add Fields to: EXTERNAL-TABLES
  249. Other Settings: PERSISTENT-ONLY COMPILE
  250. */
  251. /* This procedure should always be RUN PERSISTENT. Report the error, */
  252. /* then cleanup and return. */
  253. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  254. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  255. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  256. RETURN.
  257. END.
  258. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  259. /* ************************* Create Window ************************** */
  260. &ANALYZE-SUSPEND _CREATE-WINDOW
  261. /* DESIGN Window definition (used by the UIB)
  262. CREATE WINDOW B-table-Win ASSIGN
  263. HEIGHT = 21.71
  264. WIDTH = 131.6.
  265. /* END WINDOW DEFINITION */
  266. */
  267. &ANALYZE-RESUME
  268. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  269. /* ************************* Included-Libraries *********************** */
  270. {src/adm/method/browser.i}
  271. /* _UIB-CODE-BLOCK-END */
  272. &ANALYZE-RESUME
  273. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  274. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  275. /* SETTINGS FOR WINDOW B-table-Win
  276. NOT-VISIBLE,,RUN-PERSISTENT */
  277. /* SETTINGS FOR FRAME F-Main
  278. NOT-VISIBLE FRAME-NAME Custom */
  279. /* BROWSE-TAB br_table Btn_Erfassen F-Main */
  280. ASSIGN
  281. FRAME F-Main:HIDDEN = TRUE.
  282. /* SETTINGS FOR FILL-IN F_Adresse IN FRAME F-Main
  283. 1 */
  284. /* SETTINGS FOR FILL-IN F_Faellig IN FRAME F-Main
  285. 1 */
  286. /* SETTINGS FOR FILL-IN F_Fakbetr IN FRAME F-Main
  287. 1 */
  288. /* SETTINGS FOR FILL-IN F_Fakdat IN FRAME F-Main
  289. 1 */
  290. /* SETTINGS FOR FILL-IN F_Faknr IN FRAME F-Main
  291. 1 */
  292. /* SETTINGS FOR FILL-IN F_Knr IN FRAME F-Main
  293. 1 */
  294. /* SETTINGS FOR FILL-IN F_Konto IN FRAME F-Main
  295. 1 */
  296. /* SETTINGS FOR FILL-IN F_MWST IN FRAME F-Main
  297. 1 */
  298. /* SETTINGS FOR FILL-IN F_MWST_Text IN FRAME F-Main
  299. 1 */
  300. /* SETTINGS FOR FILL-IN F_Porto IN FRAME F-Main
  301. 1 */
  302. /* SETTINGS FOR FILL-IN F_Saldo IN FRAME F-Main
  303. NO-ENABLE 1 */
  304. /* SETTINGS FOR FILL-IN F_Steuer IN FRAME F-Main
  305. 1 */
  306. /* SETTINGS FOR FILL-IN F_Verpack IN FRAME F-Main
  307. 1 */
  308. /* SETTINGS FOR FILL-IN F_WW IN FRAME F-Main
  309. 1 */
  310. /* _RUN-TIME-ATTRIBUTES-END */
  311. &ANALYZE-RESUME
  312. /* Setting information for Queries and Browse Widgets fields */
  313. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  314. /* Query rebuild information for BROWSE br_table
  315. _START_FREEFORM
  316. OPEN QUERY {&SELF-NAME} FOR EACH Debop WHERE Debop.Firma = Debst.Firma AND Debop.Knr = Debst.Knr NO-LOCK
  317. ~{&SORTBY-PHRASE}.
  318. _END_FREEFORM
  319. _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
  320. _Query is NOT OPENED
  321. */ /* BROWSE br_table */
  322. &ANALYZE-RESUME
  323. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  324. /* Query rebuild information for FRAME F-Main
  325. _Options = "NO-LOCK"
  326. _Query is NOT OPENED
  327. */ /* FRAME F-Main */
  328. &ANALYZE-RESUME
  329. /* ************************ Control Triggers ************************ */
  330. &Scoped-define SELF-NAME F-Main
  331. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main B-table-Win
  332. ON END-ERROR OF FRAME F-Main
  333. DO:
  334. RUN new-state ( INPUT 'ENDE, MAIN':U ).
  335. RETURN NO-APPLY.
  336. END.
  337. /* _UIB-CODE-BLOCK-END */
  338. &ANALYZE-RESUME
  339. &Scoped-define BROWSE-NAME br_table
  340. &Scoped-define SELF-NAME br_table
  341. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  342. ON ROW-ENTRY OF br_table IN FRAME F-Main
  343. DO:
  344. /* This code displays initial values for newly added or copied rows. */
  345. {src/adm/template/brsentry.i}
  346. END.
  347. /* _UIB-CODE-BLOCK-END */
  348. &ANALYZE-RESUME
  349. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  350. ON ROW-LEAVE OF br_table IN FRAME F-Main
  351. DO:
  352. /* Do not disable this code or no updates will take place except
  353. by pressing the Save button on an Update SmartPanel. */
  354. {src/adm/template/brsleave.i}
  355. END.
  356. /* _UIB-CODE-BLOCK-END */
  357. &ANALYZE-RESUME
  358. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  359. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  360. DO:
  361. /* This ADM trigger code must be preserved in order to notify other
  362. objects when the browser's current row changes. */
  363. {src/adm/template/brschnge.i}
  364. END.
  365. /* _UIB-CODE-BLOCK-END */
  366. &ANALYZE-RESUME
  367. &Scoped-define SELF-NAME Btn_Erfassen
  368. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Erfassen B-table-Win
  369. ON CHOOSE OF Btn_Erfassen IN FRAME F-Main /* Erfassen */
  370. DO:
  371. APPLY 'LEAVE' TO F_Faknr IN FRAME {&FRAME-NAME}.
  372. APPLY 'LEAVE' TO F_FakDat IN FRAME {&FRAME-NAME}.
  373. APPLY 'LEAVE' TO F_Faellig IN FRAME {&FRAME-NAME}.
  374. APPLY 'LEAVE' TO F_WW IN FRAME {&FRAME-NAME}.
  375. APPLY 'LEAVE' TO F_Porto IN FRAME {&FRAME-NAME}.
  376. APPLY 'LEAVE' TO F_Verpack IN FRAME {&FRAME-NAME}.
  377. APPLY 'LEAVE' TO F_MWST IN FRAME {&FRAME-NAME}.
  378. RUN ERFASSEN.
  379. END.
  380. /* _UIB-CODE-BLOCK-END */
  381. &ANALYZE-RESUME
  382. &UNDEFINE SELF-NAME
  383. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  384. /* *************************** Main Block *************************** */
  385. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  386. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  387. &ENDIF
  388. ON END-ERROR OF F_Knr IN FRAME {&FRAME-NAME}
  389. DO:
  390. RUN new-state ( INPUT 'ENDE, MAIN':U ).
  391. RETURN NO-APPLY.
  392. END.
  393. ON END-ERROR OF F_Adresse, F_MWST_Text, F_Faknr , F_Konto ,
  394. F_FakDat , F_Faellig , F_WW , F_Porto ,
  395. F_Verpack, F_MWST , F_Steuer , F_Fakbetr
  396. IN FRAME {&FRAME-NAME}
  397. DO:
  398. DVKnr = LKnr.
  399. RUN ADRESSE.
  400. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  401. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  402. RETURN NO-APPLY.
  403. END.
  404. ON RETURN OF F_Knr IN FRAME {&FRAME-NAME}
  405. DO:
  406. APPLY 'TAB' TO SELF.
  407. RETURN NO-APPLY.
  408. END.
  409. ON LEAVE OF F_Knr IN FRAME {&FRAME-NAME}
  410. DO:
  411. F_Knr = INTEGER(SELF:SCREEN-VALUE).
  412. IF F_Knr = 0 THEN RETURN.
  413. DVKnr = F_Knr.
  414. RUN ADRESSE.
  415. IF F_Knr = 0 THEN DO:
  416. { v8/fehler.i "0101" }
  417. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  418. RETURN NO-APPLY.
  419. END.
  420. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  421. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  422. APPLY 'ENTRY' TO F_Faknr IN FRAME {&FRAME-NAME}.
  423. RETURN NO-APPLY.
  424. END.
  425. ON ENTRY OF F_Adresse IN FRAME {&FRAME-NAME}
  426. DO:
  427. APPLY LASTKEY.
  428. RETURN NO-APPLY.
  429. END.
  430. ON ENTRY OF F_MWST_Text IN FRAME {&FRAME-NAME}
  431. DO:
  432. APPLY LASTKEY.
  433. RETURN NO-APPLY.
  434. END.
  435. ON ENTRY OF F_FakBetr IN FRAME {&FRAME-NAME}
  436. DO:
  437. APPLY LASTKEY.
  438. RETURN NO-APPLY.
  439. END.
  440. ON ENTRY OF F_Steuer IN FRAME {&FRAME-NAME}
  441. DO:
  442. APPLY LASTKEY.
  443. RETURN NO-APPLY.
  444. END.
  445. ON RETURN OF F_Adresse, F_MWST_Text, F_Faknr , F_Konto ,
  446. F_FakDat , F_Faellig , F_WW , F_Porto ,
  447. F_Verpack, F_MWST , F_Steuer , F_Fakbetr
  448. IN FRAME {&FRAME-NAME}
  449. DO:
  450. APPLY 'TAB' TO SELF.
  451. RETURN NO-APPLY.
  452. END.
  453. ON LEAVE OF F_Faknr IN FRAME {&FRAME-NAME}
  454. DO:
  455. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  456. F_Faknr = INTEGER(SELF:SCREEN-VALUE).
  457. IF F_Faknr <> 999999 THEN DO:
  458. FIND Debop USE-INDEX Debop-k2
  459. WHERE Debop.Firma = GVFirma
  460. AND Debop.Faknr = F_Faknr NO-LOCK NO-ERROR.
  461. FIND Debfa USE-INDEX Debfa-k2
  462. WHERE Debfa.Firma = GVFirma
  463. AND Debfa.Faknr = F_Faknr NO-LOCK NO-ERROR.
  464. END.
  465. ELSE DO:
  466. FIND Debop USE-INDEX Debop-k1
  467. WHERE Debop.Firma = GVFirma
  468. AND Debop.Knr = F_Knr
  469. AND Debop.Faknr = F_Faknr NO-LOCK NO-ERROR.
  470. FIND Debfa USE-INDEX Debfa-k1
  471. WHERE Debfa.Firma = GVFirma
  472. AND Debop.Knr = F_Knr
  473. AND Debfa.Faknr = F_Faknr NO-LOCK NO-ERROR.
  474. END.
  475. IF AVAILABLE Debfa OR
  476. AVAILABLE Debop OR
  477. F_Faknr = 0 THEN DO:
  478. MESSAGE 'Diese Rechnung ist bereits erfasst' VIEW-AS ALERT-BOX ERROR.
  479. APPLY 'ENTRY' TO SELF.
  480. RETURN NO-APPLY.
  481. END.
  482. END.
  483. ON LEAVE OF F_FakDat IN FRAME {&FRAME-NAME}
  484. DO:
  485. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  486. ASSIGN F_FakDat.
  487. IF F_FakDat = ? THEN DO:
  488. MESSAGE 'Dieses Rechnungsdatum ist ungültig' VIEW-AS ALERT-BOX ERROR.
  489. APPLY 'ENTRY' TO SELF.
  490. RETURN NO-APPLY.
  491. END.
  492. IF F_Faellig = ? THEN DO:
  493. F_Faellig = F_FakDat + Debst.Kond.
  494. DISPLAY F_Faellig WITH FRAME {&FRAME-NAME}.
  495. END.
  496. END.
  497. ON LEAVE OF F_Faellig IN FRAME {&FRAME-NAME}
  498. DO:
  499. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  500. ASSIGN F_Faellig.
  501. IF F_Faellig = ? OR
  502. F_Faellig < F_FakDat THEN DO:
  503. MESSAGE 'Dieses Fälligkeitsdatum ist ungültig' VIEW-AS ALERT-BOX ERROR.
  504. APPLY 'ENTRY' TO SELF.
  505. RETURN NO-APPLY.
  506. END.
  507. END.
  508. ON LEAVE OF F_WW IN FRAME {&FRAME-NAME}
  509. DO:
  510. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  511. ASSIGN F_WW.
  512. IF F_WW = 0 AND
  513. F_Faknr <> 999999 THEN DO:
  514. MESSAGE 'Dieser Betrag darf nicht <NULL> sein' VIEW-AS ALERT-BOX ERROR.
  515. APPLY 'ENTRY' TO SELF.
  516. RETURN NO-APPLY.
  517. END.
  518. RUN STEUER.
  519. F_Fakbetr = F_WW + F_Porto + F_Verpack + F_Steuer.
  520. DISPLAY F_Steuer F_Fakbetr WITH FRAME {&FRAME-NAME}.
  521. END.
  522. ON LEAVE OF F_MWST IN FRAME {&FRAME-NAME}
  523. DO:
  524. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  525. ASSIGN F_MWST.
  526. FIND FIRST BWust USE-INDEX Wust-k2
  527. WHERE BWust.WuCd = F_MWST
  528. AND BWust.CodeK <> 99
  529. AND BWust.CodeA <> 99 NO-LOCK NO-ERROR.
  530. IF NOT AVAILABLE BWust OR
  531. F_MWST = 0 THEN DO:
  532. MESSAGE 'Dieser MWSt-Code ist ungültig' VIEW-AS ALERT-BOX ERROR.
  533. APPLY 'ENTRY' TO SELF.
  534. RETURN NO-APPLY.
  535. END.
  536. FIND LAST BMWSTAns USE-INDEX MWSTAns-k1
  537. WHERE BMWSTAns.MWST_Cd = F_MWST
  538. AND BMWSTAns.Datum <= F_FakDat NO-LOCK NO-ERROR.
  539. IF AVAILABLE MWSTAns THEN F_MWST_Text = MWSTAns.Bez.
  540. ELSE F_MWST_Text = BWust.LText.
  541. DISPLAY F_MWST_Text WITH FRAME {&FRAME-NAME}.
  542. RUN STEUER.
  543. F_Fakbetr = F_WW + F_Porto + F_Verpack + F_Steuer.
  544. DISPLAY F_Steuer F_Fakbetr WITH FRAME {&FRAME-NAME}.
  545. END.
  546. ON LEAVE OF F_Porto IN FRAME {&FRAME-NAME}
  547. DO:
  548. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  549. ASSIGN F_Porto.
  550. RUN STEUER.
  551. F_Fakbetr = F_WW + F_Porto + F_Verpack + F_Steuer.
  552. DISPLAY F_Steuer F_Porto F_FakBetr WITH FRAME {&FRAME-NAME}.
  553. END.
  554. ON LEAVE OF F_Verpack IN FRAME {&FRAME-NAME}
  555. DO:
  556. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  557. ASSIGN F_Verpack.
  558. RUN STEUER.
  559. F_Fakbetr = F_WW + F_Porto + F_Verpack + F_Steuer.
  560. DISPLAY F_Steuer F_Verpack F_FakBetr WITH FRAME {&FRAME-NAME}.
  561. END.
  562. ON LEAVE OF F_Konto IN FRAME {&FRAME-NAME}
  563. DO:
  564. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  565. ASSIGN F_Konto.
  566. IF F_Konto = '' THEN F_Konto = SteuNr.Konto_Debit.
  567. DISPLAY F_Konto WITH FRAME {&FRAME-NAME}.
  568. END.
  569. /* _UIB-CODE-BLOCK-END */
  570. &ANALYZE-RESUME
  571. /* ********************** Internal Procedures *********************** */
  572. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-open-query-cases B-table-Win adm/support/_adm-opn.p
  573. PROCEDURE adm-open-query-cases :
  574. /*------------------------------------------------------------------------------
  575. Purpose: Opens different cases of the query based on attributes
  576. such as the 'Key-Name', or 'SortBy-Case'
  577. Parameters: <none>
  578. ------------------------------------------------------------------------------*/
  579. /* No Foreign keys are accepted by this SmartObject. */
  580. {&OPEN-QUERY-{&BROWSE-NAME}}
  581. END PROCEDURE.
  582. /* _UIB-CODE-BLOCK-END */
  583. &ANALYZE-RESUME
  584. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  585. PROCEDURE adm-row-available :
  586. /*------------------------------------------------------------------------------
  587. Purpose: Dispatched to this procedure when the Record-
  588. Source has a new row available. This procedure
  589. tries to get the new row (or foriegn keys) from
  590. the Record-Source and process it.
  591. Parameters: <none>
  592. ------------------------------------------------------------------------------*/
  593. /* Define variables needed by this internal procedure. */
  594. {src/adm/template/row-head.i}
  595. /* Process the newly available records (i.e. display fields,
  596. open queries, and/or pass records on to any RECORD-TARGETS). */
  597. {src/adm/template/row-end.i}
  598. END PROCEDURE.
  599. /* _UIB-CODE-BLOCK-END */
  600. &ANALYZE-RESUME
  601. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ADRESSE B-table-Win
  602. PROCEDURE ADRESSE :
  603. /*------------------------------------------------------------------------------
  604. Purpose:
  605. Parameters: <none>
  606. Notes:
  607. ------------------------------------------------------------------------------*/
  608. F_Knr = 0.
  609. F_Adresse = ''.
  610. F_MWST_Text = ''.
  611. F_Faknr = 0.
  612. F_FakDat = TODAY.
  613. F_Faellig = ?.
  614. F_WW = 0.
  615. F_Porto = 0.
  616. F_Verpack = 0.
  617. F_MWST = 0.
  618. F_Steuer = 0.
  619. F_Fakbetr = 0.
  620. F_Konto = SteuNr.Konto_Debit.
  621. DRecid = 0.
  622. FIND Adresse USE-INDEX Adresse-k1
  623. WHERE Adresse.Firma = AdFirma
  624. AND Adresse.Knr = DVKnr NO-LOCK NO-ERROR.
  625. IF NOT AVAILABLE Adresse THEN RETURN.
  626. FIND Debst USE-INDEX Debst-k1
  627. WHERE Debst.Firma = GVFirma
  628. AND Debst.Knr = Adresse.Knr NO-LOCK NO-ERROR.
  629. IF NOT AVAILABLE Debst THEN RETURN.
  630. F_Knr = DVKnr.
  631. F_Adresse = Adresse.Anzeig_Br.
  632. F_Saldo = Debst.Saldo.
  633. DRecid = RECID(Debst).
  634. END PROCEDURE.
  635. /* _UIB-CODE-BLOCK-END */
  636. &ANALYZE-RESUME
  637. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  638. PROCEDURE disable_UI :
  639. /*------------------------------------------------------------------------------
  640. Purpose: DISABLE the User Interface
  641. Parameters: <none>
  642. Notes: Here we clean-up the user-interface by deleting
  643. dynamic widgets we have created and/or hide
  644. frames. This procedure is usually called when
  645. we are ready to "clean-up" after running.
  646. ------------------------------------------------------------------------------*/
  647. /* Hide all frames. */
  648. HIDE FRAME F-Main.
  649. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  650. END PROCEDURE.
  651. /* _UIB-CODE-BLOCK-END */
  652. &ANALYZE-RESUME
  653. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ERFASSEN B-table-Win
  654. PROCEDURE ERFASSEN :
  655. /*------------------------------------------------------------------------------
  656. Purpose:
  657. Parameters: <none>
  658. Notes:
  659. ------------------------------------------------------------------------------*/
  660. DO TRANSACTION WITH FRAME {&FRAME-NAME}:
  661. ASSIGN {&List-1}.
  662. FIND Debst WHERE RECID(Debst) = DRecid.
  663. FIND LAST TransNr USE-INDEX TransNr-k1
  664. WHERE TransNr.Firma = StFirma NO-LOCK NO-ERROR.
  665. IF AVAILABLE TransNr THEN DO:
  666. VTrNr1 = TransNr.TrNr1 + 1.
  667. VTrNr2 = 1.
  668. END.
  669. ELSE DO:
  670. VTrNr1 = 1.
  671. VTrNr2 = 1.
  672. END.
  673. CREATE TransNr.
  674. ASSIGN TransNr.Firma = StFirma
  675. TransNr.TrNr1 = VTrNr1
  676. TransNr.TrNr2 = VTrNr2
  677. TransNr.Herk = 52.
  678. CREATE Debop.
  679. ASSIGN Debop.Firma = GVFirma
  680. Debop.Knr = F_Knr
  681. Debop.Faknr = F_Faknr
  682. Debop.Fakdat = F_FakDat
  683. Debop.Faellig = F_Faellig
  684. Debop.Skber = F_WW
  685. Debop.WW = F_WW
  686. Debop.Fakbetr = F_FakBetr
  687. Debop.Saldo = F_FakBetr
  688. Debop.Kond = Debst.Kond
  689. Debop.Transp = 0
  690. Debop.Porto = F_Porto
  691. Debop.Verpack = F_Verpack
  692. Debop.Konto = F_Konto
  693. Debop.Vertr = 0
  694. Debop.Kte = 'MAF'
  695. Debop.TrNr1 = VTrNr1
  696. Debop.TrNr2 = VTrNr2
  697. Debop.FRW = Steuer.Fwc03
  698. Debop.Kurs = 1.0
  699. Debop.Faktor = 1.
  700. IF Steuer.MWST = 0 THEN Debop.WustAbr = TRUE. /* vereinbahrt */
  701. ELSE Debop.WustAbr = FALSE. /* vereinnahmt */
  702. DO ix = 1 TO 12:
  703. FIND FIRST Wust USE-INDEX Wust-k2
  704. WHERE Wust.WuCd = ix NO-LOCK NO-ERROR.
  705. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  706. WHERE MWSTAns.MWST_Cd = Wust.WuCd
  707. AND MWSTAns.Datum <= Debop.Fakdat
  708. NO-LOCK NO-ERROR.
  709. IF ix = F_MWST THEN DO:
  710. ASSIGN Debop.FakWpfl[ix] = F_FakBetr - F_Steuer
  711. Debop.FakWust[ix] = F_Steuer
  712. Debop.FakWPro[ix] = MWSTAns.Ansatz.
  713. END.
  714. IF AVAILABLE Wust THEN DO:
  715. ASSIGN Debop.FakIncl[ix] = Wust.Incl.
  716. END.
  717. IF ix = 12 THEN DO:
  718. ASSIGN Debop.FakWpfl[ix] = F_Porto + F_Verpack. Debop.FakWust[ix] = F_Steuer.
  719. END.
  720. END.
  721. ORecid = RECID(Debop).
  722. CREATE Debfa.
  723. ASSIGN Debfa.Firma = Debop.Firma
  724. Debfa.Knr = Debop.Knr
  725. Debfa.Faknr = Debop.Faknr
  726. Debfa.Fakdat = Debop.Fakdat
  727. Debfa.Faellig = Debop.Faellig
  728. Debfa.Fakbetr = Debop.Fakbetr
  729. Debfa.Skber = Debop.Skber
  730. Debfa.WW = Debop.WW
  731. Debfa.Transp = Debop.Transp
  732. Debfa.Porto = Debop.Porto
  733. Debfa.Verpack = Debop.Verpack
  734. Debfa.Konto = Debop.Konto
  735. Debfa.Vertr = Debop.Vertr
  736. Debfa.Kte = Debop.Kte
  737. Debfa.TrNr1 = Debop.TrNr1
  738. Debfa.TrNr2 = Debop.TrNr2
  739. Debfa.FRW = Debop.FRW
  740. Debfa.Kurs = Debop.Kurs
  741. Debfa.Faktor = 1.
  742. DO ix = 1 TO 12:
  743. ASSIGN Debfa.FakWpfl[ix] = Debop.FakWpfl[ix]
  744. Debfa.FakWust[ix] = Debop.FakWust[ix].
  745. END.
  746. FIND LAST Debhi USE-INDEX Debhi-k1
  747. WHERE Debhi.Firma = Debop.Firma
  748. AND Debhi.Knr = Debop.Knr NO-LOCK NO-ERROR.
  749. IF AVAILABLE Debhi THEN ix = Debhi.Trnr + 1.
  750. ELSE ix = 1.
  751. CREATE Debhi.
  752. ASSIGN Debhi.Firma = Debop.Firma
  753. Debhi.Knr = Debop.Knr
  754. Debhi.Trnr = ix
  755. Debhi.Datum = Debop.Fakdat
  756. Debhi.Faknr = Debop.Faknr
  757. Debhi.Kte = Debop.Kte
  758. Debhi.Soll = Debop.Fakbetr
  759. Debhi.Transp = Debop.Transp
  760. Debhi.Porto = Debop.Porto
  761. Debhi.Verpack = Debop.Verpack
  762. Debhi.Konto = Debop.Konto
  763. Debhi.TrNr1 = Debop.TrNr1
  764. Debhi.TrNr2 = Debop.TrNr2
  765. Debhi.FRW = Debop.FRW
  766. Debhi.Kurs = 1.0
  767. Debhi.Faktor = 1
  768. Debhi.Saldo = Debst.Saldo + Debop.Fakbetr.
  769. IF Steuer.MWST = 0 THEN DO: /* Mehrwertsteuer vereinbart */
  770. CREATE Debwu.
  771. ASSIGN Debwu.Firma = Debop.Firma
  772. Debwu.Knr = Debop.Knr
  773. Debwu.Faknr = Debop.Faknr
  774. Debwu.Trnr = 1
  775. Debwu.Datum = Debop.Fakdat
  776. Debwu.Betrag = Debop.Fakbetr
  777. Debwu.Konto = Debop.Konto
  778. Debwu.Kte = Debop.Kte
  779. Debwu.TrNr1 = Debop.TrNr1
  780. Debwu.TrNr2 = Debop.TrNr2
  781. Debwu.FRW = Debop.FRW
  782. Debwu.Kurs = 1.0
  783. Debwu.Faktor = 1.
  784. DO ix = 1 TO 12:
  785. IF Debop.FakWpfl[ix] = 0 THEN NEXT.
  786. ASSIGN Debwu.Wustpfl[ix] = Debop.FakWpfl[ix]
  787. Debwu.Wust [ix] = Debop.FakWust[ix].
  788. END.
  789. END.
  790. Debst.Saldo = Debst.Saldo + Debop.Fakbetr.
  791. END. /* Transaction DEBITOR */
  792. RELEASE Debst.
  793. FIND Debst WHERE RECID(Debst) = DRecid NO-LOCK NO-ERROR.
  794. LKnr = F_Knr.
  795. DVKnr = F_Knr.
  796. RUN ADRESSE.
  797. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  798. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  799. FIND BDebop WHERE RECID(BDebop) = ORecid NO-LOCK NO-ERROR.
  800. REPOSITION {&BROWSE-NAME} TO ROWID ROWID(BDebop).
  801. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  802. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  803. RETURN NO-APPLY.
  804. END PROCEDURE.
  805. /* _UIB-CODE-BLOCK-END */
  806. &ANALYZE-RESUME
  807. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
  808. PROCEDURE local-hide :
  809. /*------------------------------------------------------------------------------
  810. Purpose: Override standard ADM method
  811. Notes:
  812. ------------------------------------------------------------------------------*/
  813. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  814. IF QOpen THEN CLOSE QUERY {&BROWSE-NAME}.
  815. QOpen = FALSE.
  816. OpenQ = FALSE.
  817. END PROCEDURE.
  818. /* _UIB-CODE-BLOCK-END */
  819. &ANALYZE-RESUME
  820. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
  821. PROCEDURE local-open-query :
  822. /*------------------------------------------------------------------------------
  823. Purpose: Override standard ADM method
  824. Notes:
  825. ------------------------------------------------------------------------------*/
  826. IF NOT OpenQ THEN RETURN NO-APPLY.
  827. IF QOpen THEN CLOSE QUERY {&BROWSE-NAME}.
  828. OPEN QUERY {&BROWSE-NAME}
  829. FOR EACH Debop USE-INDEX Debop-k1
  830. WHERE Debop.Firma = GVFirma
  831. AND Debop.KNr = DVKnr NO-LOCK.
  832. QOpen = TRUE.
  833. END PROCEDURE.
  834. /* _UIB-CODE-BLOCK-END */
  835. &ANALYZE-RESUME
  836. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  837. PROCEDURE local-view :
  838. /*------------------------------------------------------------------------------
  839. Purpose: Override standard ADM method
  840. Notes:
  841. ------------------------------------------------------------------------------*/
  842. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  843. FIND SteuNr WHERE SteuNr.Firma = GVFirma NO-LOCK NO-ERROR.
  844. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  845. OpenQ = TRUE.
  846. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  847. LKnr = DVKnr.
  848. RUN ADRESSE.
  849. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  850. APPLY 'ENTRY' TO F_Knr IN FRAME {&FRAME-NAME}.
  851. END PROCEDURE.
  852. /* _UIB-CODE-BLOCK-END */
  853. &ANALYZE-RESUME
  854. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-key B-table-Win adm/support/_key-snd.p
  855. PROCEDURE send-key :
  856. /*------------------------------------------------------------------------------
  857. Purpose: Sends a requested KEY value back to the calling
  858. SmartObject.
  859. Parameters: <see adm/template/sndkytop.i>
  860. ------------------------------------------------------------------------------*/
  861. /* Define variables needed by this internal procedure. */
  862. {src/adm/template/sndkytop.i}
  863. /* Return the key value associated with each key case. */
  864. {src/adm/template/sndkycas.i "FRW" "Debop" "FRW"}
  865. {src/adm/template/sndkycas.i "Firma" "Debop" "Firma"}
  866. {src/adm/template/sndkycas.i "Knr" "Debop" "Knr"}
  867. /* Close the CASE statement and end the procedure. */
  868. {src/adm/template/sndkyend.i}
  869. END PROCEDURE.
  870. /* _UIB-CODE-BLOCK-END */
  871. &ANALYZE-RESUME
  872. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  873. PROCEDURE send-records :
  874. /*------------------------------------------------------------------------------
  875. Purpose: Send record ROWID's for all tables used by
  876. this file.
  877. Parameters: see template/snd-head.i
  878. ------------------------------------------------------------------------------*/
  879. /* Define variables needed by this internal procedure. */
  880. {src/adm/template/snd-head.i}
  881. /* For each requested table, put it's ROWID in the output list. */
  882. {src/adm/template/snd-list.i "Debop"}
  883. /* Deal with any unexpected table requests before closing. */
  884. {src/adm/template/snd-end.i}
  885. END PROCEDURE.
  886. /* _UIB-CODE-BLOCK-END */
  887. &ANALYZE-RESUME
  888. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  889. PROCEDURE state-changed :
  890. /* -----------------------------------------------------------
  891. Purpose:
  892. Parameters: <none>
  893. Notes:
  894. -------------------------------------------------------------*/
  895. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  896. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  897. CASE p-state:
  898. /* Object instance CASEs can go here to replace standard behavior
  899. or add new cases. */
  900. {src/adm/template/bstates.i}
  901. END CASE.
  902. END PROCEDURE.
  903. /* _UIB-CODE-BLOCK-END */
  904. &ANALYZE-RESUME
  905. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE STEUER B-table-Win
  906. PROCEDURE STEUER :
  907. /*------------------------------------------------------------------------------
  908. Purpose:
  909. Parameters: <none>
  910. Notes:
  911. ------------------------------------------------------------------------------*/
  912. DO WITH FRAME {&FRAME-NAME}:
  913. ASSIGN {&List-1}.
  914. IF NOT AVAILABLE BWust THEN DO:
  915. F_Steuer = 0.
  916. RETURN.
  917. END.
  918. IF BWust.Incl THEN F_Steuer = 0.
  919. ELSE DO:
  920. Rundbetr = (F_WW + F_Porto + F_Verpack) * BMWSTAns.Ansatz / 100.
  921. Rundcode = 1.
  922. RUN "v8/runden.p".
  923. F_Steuer = Rundbetr.
  924. END.
  925. END.
  926. END PROCEDURE.
  927. /* _UIB-CODE-BLOCK-END */
  928. &ANALYZE-RESUME