f-inventar.w 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461
  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. /* Temp-Table and Buffer definitions */
  8. DEFINE TEMP-TABLE XArtbw NO-UNDO LIKE Artbw.
  9. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS F-Frame-Win
  10. /*------------------------------------------------------------------------
  11. File:
  12. Description: from cntnrfrm.w - ADM SmartFrame Template
  13. Input Parameters:
  14. <none>
  15. Output Parameters:
  16. <none>
  17. ------------------------------------------------------------------------*/
  18. /* This .W file was created with the Progress UIB. */
  19. /*----------------------------------------------------------------------*/
  20. /* Create an unnamed pool to store all the widgets created
  21. by this procedure. This is a good default which assures
  22. that this procedure's triggers and internal procedures
  23. will execute in this procedure's storage, and that proper
  24. cleanup will occur on deletion of the procedure. */
  25. CREATE WIDGET-POOL.
  26. /* *************************** Definitions ************************** */
  27. /* Parameters Definitions --- */
  28. /* Local Variable Definitions --- */
  29. &Scoped-define FELDER CB_Lager,CB_Datum,F_Artnr,F_Inhalt,F_Jahr,~
  30. F_GGebinde,F_VGebinde,F_KGebinde,~
  31. Btn_Speichern,Btn_Vorbereitung
  32. DEF VAR VUpdate AS LOG NO-UNDO.
  33. DEF VAR FGefunden AS LOG NO-UNDO.
  34. DEF VAR Vorhanden AS LOG NO-UNDO.
  35. DEF VAR XRecid AS RECID NO-UNDO.
  36. DEF VAR VArtnr AS INT NO-UNDO.
  37. DEF VAR VInhalt AS INT NO-UNDO.
  38. DEF VAR VJahr AS INT NO-UNDO.
  39. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  40. DEF VAR FeldName AS CHAR NO-UNDO.
  41. DEF VAR LHandle AS HANDLE NO-UNDO.
  42. DEF VAR XHandle AS HANDLE NO-UNDO.
  43. DEF VAR ARecid AS RECID NO-UNDO.
  44. DEF VAR FwFRW AS CHAR NO-UNDO.
  45. DEF VAR AArtnr AS INT NO-UNDO.
  46. DEF VAR AInhalt AS INT NO-UNDO.
  47. DEF VAR AJahr AS INT NO-UNDO.
  48. DEF BUFFER BArtst FOR Artst.
  49. DEF BUFFER BArtbw FOR Artbw.
  50. DEF TEMP-TABLE tDatum NO-UNDO
  51. FIELD Datum AS DATE
  52. INDEX tDatum-k1 IS PRIMARY
  53. Datum DESCENDING.
  54. /* ---------- Globale Variablen ---------------------------------- */
  55. { v8/globvar.i" " " " "SHARED" }
  56. { v8/debivar.i " " " " "SHARED" }
  57. { v8/artivar.i " " " " "SHARED" }
  58. { v8/contvar.i " " " " "SHARED" }
  59. /* _UIB-CODE-BLOCK-END */
  60. &ANALYZE-RESUME
  61. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  62. /* ******************** Preprocessor Definitions ******************** */
  63. &Scoped-define PROCEDURE-TYPE SmartFrame
  64. &Scoped-define DB-AWARE no
  65. &Scoped-define ADM-CONTAINER FRAME
  66. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  67. &Scoped-define FRAME-NAME F-Main
  68. &Scoped-define BROWSE-NAME Br_XArtbw
  69. /* Internal Tables (found by Frame, Query & Browse Queries) */
  70. &Scoped-define INTERNAL-TABLES XArtbw Artbw ArtLager Artst
  71. /* Definitions for BROWSE Br_XArtbw */
  72. &Scoped-define FIELDS-IN-QUERY-Br_XArtbw XArtbw.Artnr ~
  73. DYNAMIC-FUNCTION('getKGebindeKBez':U,XArtbw.KGeb_Cd) XArtbw.Bez1 ~
  74. XArtbw.Inhalt XArtbw.Jahr XArtbw.Lager XArtbw.Datum XArtbw.Menge ~
  75. XArtbw.KGeb_Me XArtbw.VGeb_Me XArtbw.GGeb_Me
  76. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_XArtbw
  77. &Scoped-define QUERY-STRING-Br_XArtbw FOR EACH XArtbw OF Artbw NO-LOCK
  78. &Scoped-define OPEN-QUERY-Br_XArtbw OPEN QUERY Br_XArtbw FOR EACH XArtbw OF Artbw NO-LOCK.
  79. &Scoped-define TABLES-IN-QUERY-Br_XArtbw XArtbw
  80. &Scoped-define FIRST-TABLE-IN-QUERY-Br_XArtbw XArtbw
  81. /* Definitions for FRAME F-Main */
  82. &Scoped-define FIELDS-IN-QUERY-F-Main Artst.Bestand Artst.Bestellt ~
  83. Artst.Ausverk ArtLager.Eingang ArtLager.Ausgang ArtLager.Bestand ~
  84. ArtLager.Inv_Best ArtLager.Inv_Alt ArtLager.Ort
  85. &Scoped-define OPEN-BROWSERS-IN-QUERY-F-Main ~
  86. ~{&OPEN-QUERY-Br_XArtbw}
  87. &Scoped-define QUERY-STRING-F-Main FOR EACH Artbw NO-LOCK, ~
  88. EACH ArtLager OF Artbw NO-LOCK, ~
  89. EACH Artst OF Artbw NO-LOCK
  90. &Scoped-define OPEN-QUERY-F-Main OPEN QUERY F-Main FOR EACH Artbw NO-LOCK, ~
  91. EACH ArtLager OF Artbw NO-LOCK, ~
  92. EACH Artst OF Artbw NO-LOCK.
  93. &Scoped-define TABLES-IN-QUERY-F-Main Artbw ArtLager Artst
  94. &Scoped-define FIRST-TABLE-IN-QUERY-F-Main Artbw
  95. &Scoped-define SECOND-TABLE-IN-QUERY-F-Main ArtLager
  96. &Scoped-define THIRD-TABLE-IN-QUERY-F-Main Artst
  97. /* Standard List Definitions */
  98. &Scoped-Define ENABLED-OBJECTS CB_Lager CB_Datum Btn_Speichern Br_XArtbw ~
  99. Btn_Vorbereitung Btn_Uebernahme RECT-1
  100. &Scoped-Define DISPLAYED-FIELDS Artst.Bestand Artst.Bestellt Artst.Ausverk ~
  101. ArtLager.Eingang ArtLager.Ausgang ArtLager.Bestand ArtLager.Inv_Best ~
  102. ArtLager.Inv_Alt ArtLager.Ort
  103. &Scoped-define DISPLAYED-TABLES Artst ArtLager
  104. &Scoped-define FIRST-DISPLAYED-TABLE Artst
  105. &Scoped-define SECOND-DISPLAYED-TABLE ArtLager
  106. &Scoped-Define DISPLAYED-OBJECTS CB_Lager CB_Datum F_Artnr F_Inhalt F_Jahr ~
  107. F_Bez F_GGebinde F_VGebinde F_KGebinde
  108. /* Custom List Definitions */
  109. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  110. &Scoped-define List-1 F_Datum F_Artnr F_Inhalt F_Jahr F_GGebinde F_VGebinde ~
  111. F_KGebinde
  112. &Scoped-define List-2 F_Artnr F_Inhalt F_Jahr
  113. &Scoped-define List-3 F_GGebinde F_VGebinde F_KGebinde
  114. &Scoped-define List-4 F_Datum
  115. &Scoped-define List-5 F_Bez Artst.Bestand Artst.Bestellt Artst.Ausverk
  116. &Scoped-define List-6 ArtLager.Eingang ArtLager.Ausgang ArtLager.Bestand ~
  117. ArtLager.Inv_Best ArtLager.Inv_Alt ArtLager.Ort
  118. /* _UIB-PREPROCESSOR-BLOCK-END */
  119. &ANALYZE-RESUME
  120. /* *********************** Control Definitions ********************** */
  121. /* Definitions of the field level widgets */
  122. DEFINE BUTTON Btn_Speichern
  123. LABEL "Buchen"
  124. SIZE 16.8 BY 1.24.
  125. DEFINE BUTTON Btn_Uebernahme
  126. LABEL "&Ubernahme"
  127. SIZE 18.2 BY 1.
  128. DEFINE BUTTON Btn_Vorbereitung
  129. LABEL "&Vorbereitung"
  130. SIZE 18.2 BY 1.
  131. DEFINE VARIABLE CB_Datum AS CHARACTER FORMAT "X(256)":U
  132. LABEL "Inventardatum"
  133. VIEW-AS COMBO-BOX INNER-LINES 5
  134. LIST-ITEMS "item 1"
  135. DROP-DOWN-LIST
  136. SIZE 18 BY 1 NO-UNDO.
  137. DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U INITIAL "00"
  138. LABEL "Lager"
  139. VIEW-AS COMBO-BOX INNER-LINES 5
  140. LIST-ITEM-PAIRS "Lager (00)","00",
  141. "Lager (01)","01"
  142. DROP-DOWN-LIST
  143. SIZE 25 BY 1 NO-UNDO.
  144. DEFINE VARIABLE F_Artnr AS CHARACTER FORMAT "x(20)"
  145. LABEL "Artnr/Inhalt/Jahr"
  146. VIEW-AS FILL-IN NATIVE
  147. SIZE 12 BY 1
  148. BGCOLOR 15 .
  149. DEFINE VARIABLE F_Bez AS CHARACTER FORMAT "x(30)"
  150. LABEL "Artikel"
  151. VIEW-AS FILL-IN NATIVE
  152. SIZE 52 BY 1
  153. BGCOLOR 15 .
  154. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999"
  155. LABEL "Inventardatum"
  156. VIEW-AS FILL-IN NATIVE
  157. SIZE 18 BY 1
  158. BGCOLOR 15 .
  159. DEFINE VARIABLE F_GGebinde AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
  160. LABEL ""
  161. VIEW-AS FILL-IN NATIVE
  162. SIZE 12 BY 1
  163. BGCOLOR 15 NO-UNDO.
  164. DEFINE VARIABLE F_Inhalt AS INTEGER FORMAT "9999" INITIAL 0
  165. LABEL "/"
  166. VIEW-AS FILL-IN NATIVE
  167. SIZE 8.6 BY 1
  168. BGCOLOR 15 .
  169. DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999" INITIAL 0
  170. LABEL "/"
  171. VIEW-AS FILL-IN NATIVE
  172. SIZE 8.6 BY 1
  173. BGCOLOR 15 .
  174. DEFINE VARIABLE F_KGebinde AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
  175. LABEL ""
  176. VIEW-AS FILL-IN NATIVE
  177. SIZE 12 BY 1
  178. BGCOLOR 15 NO-UNDO.
  179. DEFINE VARIABLE F_Lager AS INTEGER FORMAT "999999" INITIAL 0
  180. LABEL "Lager"
  181. VIEW-AS FILL-IN NATIVE
  182. SIZE 5.6 BY 1
  183. BGCOLOR 15 .
  184. DEFINE VARIABLE F_VGebinde AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
  185. LABEL ""
  186. VIEW-AS FILL-IN NATIVE
  187. SIZE 12 BY 1
  188. BGCOLOR 15 NO-UNDO.
  189. DEFINE RECTANGLE RECT-1
  190. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  191. SIZE 126 BY 19.76.
  192. /* Query definitions */
  193. &ANALYZE-SUSPEND
  194. DEFINE QUERY Br_XArtbw FOR
  195. XArtbw SCROLLING.
  196. DEFINE QUERY F-Main FOR
  197. Artbw,
  198. ArtLager,
  199. Artst SCROLLING.
  200. &ANALYZE-RESUME
  201. /* Browse definitions */
  202. DEFINE BROWSE Br_XArtbw
  203. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_XArtbw F-Frame-Win _STRUCTURED
  204. QUERY Br_XArtbw DISPLAY
  205. XArtbw.Artnr FORMAT "999999":U
  206. DYNAMIC-FUNCTION('getKGebindeKBez':U,XArtbw.KGeb_Cd) COLUMN-LABEL "Gebinde" FORMAT "x(12)":U
  207. XArtbw.Bez1 COLUMN-LABEL "Artikel" FORMAT "x(30)":U
  208. XArtbw.Inhalt FORMAT "9999":U
  209. XArtbw.Jahr FORMAT "9999":U
  210. XArtbw.Lager FORMAT "99":U
  211. XArtbw.Datum FORMAT "99.99.9999":U
  212. XArtbw.Menge FORMAT "zzzz9-":U
  213. XArtbw.KGeb_Me COLUMN-LABEL "KGeb" FORMAT "zzz,zz9-":U
  214. XArtbw.VGeb_Me COLUMN-LABEL "VGeb" FORMAT "zz,zz9-":U
  215. XArtbw.GGeb_Me COLUMN-LABEL "GGeb" FORMAT "zz9-":U
  216. /* _UIB-CODE-BLOCK-END */
  217. &ANALYZE-RESUME
  218. WITH NO-ROW-MARKERS SEPARATORS SIZE 117.8 BY 5.62
  219. BGCOLOR 15 .
  220. /* ************************ Frame Definitions *********************** */
  221. DEFINE FRAME F-Main
  222. F_Lager AT ROW 2 COL 23 COLON-ALIGNED NO-TAB-STOP
  223. CB_Lager AT ROW 2 COL 23 COLON-ALIGNED WIDGET-ID 2
  224. CB_Datum AT ROW 2 COL 71 COLON-ALIGNED WIDGET-ID 4
  225. F_Datum AT ROW 2 COL 71 COLON-ALIGNED NO-TAB-STOP
  226. F_Artnr AT ROW 4.14 COL 22.8 COLON-ALIGNED
  227. F_Inhalt AT ROW 4.14 COL 38.2 COLON-ALIGNED
  228. F_Jahr AT ROW 4.14 COL 51 COLON-ALIGNED
  229. F_Bez AT ROW 4.14 COL 71 COLON-ALIGNED
  230. F_GGebinde AT ROW 7.33 COL 16 COLON-ALIGNED
  231. F_VGebinde AT ROW 8.24 COL 16 COLON-ALIGNED
  232. F_KGebinde AT ROW 9.24 COL 16 COLON-ALIGNED
  233. Artst.Bestand AT ROW 8.71 COL 51 COLON-ALIGNED
  234. LABEL "Bestand" FORMAT "zz,zzz,zz9-"
  235. VIEW-AS FILL-IN NATIVE
  236. SIZE 17 BY 1
  237. BGCOLOR 15
  238. Artst.Bestellt AT ROW 9.71 COL 51 COLON-ALIGNED
  239. LABEL "Bestellt" FORMAT "zz,zzz,zz9-"
  240. VIEW-AS FILL-IN NATIVE
  241. SIZE 17 BY 1
  242. BGCOLOR 15
  243. Artst.Ausverk AT ROW 10.71 COL 51 COLON-ALIGNED
  244. LABEL "Ausverk" FORMAT "9"
  245. VIEW-AS FILL-IN NATIVE
  246. SIZE 4 BY 1
  247. BGCOLOR 15
  248. ArtLager.Eingang AT ROW 6.71 COL 98 COLON-ALIGNED
  249. LABEL "Eingang" FORMAT "zz,zzz,zz9-"
  250. VIEW-AS FILL-IN NATIVE
  251. SIZE 17 BY 1
  252. BGCOLOR 15
  253. ArtLager.Ausgang AT ROW 7.71 COL 98 COLON-ALIGNED
  254. LABEL "Ausgang" FORMAT "zz,zzz,zz9-"
  255. VIEW-AS FILL-IN NATIVE
  256. SIZE 17 BY 1
  257. BGCOLOR 15
  258. ArtLager.Bestand AT ROW 8.71 COL 98 COLON-ALIGNED
  259. LABEL "Bestand" FORMAT "zz,zzz,zz9-"
  260. VIEW-AS FILL-IN NATIVE
  261. SIZE 17 BY 1
  262. BGCOLOR 15
  263. ArtLager.Inv_Best AT ROW 9.71 COL 98 COLON-ALIGNED
  264. LABEL "Inventar" FORMAT "zz,zzz,zz9-"
  265. VIEW-AS FILL-IN NATIVE
  266. SIZE 17 BY 1
  267. BGCOLOR 15
  268. ArtLager.Inv_Alt AT ROW 10.71 COL 98 COLON-ALIGNED
  269. LABEL "Inventar Alt" FORMAT "zz,zzz,zz9-"
  270. VIEW-AS FILL-IN NATIVE
  271. SIZE 17 BY 1
  272. BGCOLOR 15
  273. ArtLager.Ort AT ROW 11.71 COL 98 COLON-ALIGNED
  274. LABEL "Lagerort/Platz" FORMAT "x(15)"
  275. VIEW-AS FILL-IN NATIVE
  276. SIZE 17 BY 1
  277. BGCOLOR 15
  278. Btn_Speichern AT ROW 11.05 COL 18
  279. Br_XArtbw AT ROW 14.33 COL 6
  280. Btn_Vorbereitung AT ROW 1.62 COL 105
  281. Btn_Uebernahme AT ROW 2.86 COL 105
  282. RECT-1 AT ROW 1.24 COL 2
  283. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  284. SIDE-LABELS NO-UNDERLINE THREE-D
  285. AT COL 1 ROW 1 SCROLLABLE .
  286. /* *********************** Procedure Settings ************************ */
  287. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  288. /* Settings for THIS-PROCEDURE
  289. Type: SmartFrame
  290. Allow: Basic,Browse,DB-Fields,Query,Smart
  291. Design Page: 2
  292. Other Settings: PERSISTENT-ONLY COMPILE
  293. Temp-Tables and Buffers:
  294. TABLE: XArtbw T "?" NO-UNDO AnaDat Artbw
  295. END-TABLES.
  296. */
  297. /* This procedure should always be RUN PERSISTENT. Report the error, */
  298. /* then cleanup and return. */
  299. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  300. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  301. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  302. RETURN.
  303. END.
  304. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  305. /* ************************* Create Window ************************** */
  306. &ANALYZE-SUSPEND _CREATE-WINDOW
  307. /* DESIGN Window definition (used by the UIB)
  308. CREATE WINDOW F-Frame-Win ASSIGN
  309. HEIGHT = 20.91
  310. WIDTH = 129.2.
  311. /* END WINDOW DEFINITION */
  312. */
  313. &ANALYZE-RESUME
  314. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB F-Frame-Win
  315. /* ************************* Included-Libraries *********************** */
  316. {src/adm/method/containr.i}
  317. /* _UIB-CODE-BLOCK-END */
  318. &ANALYZE-RESUME
  319. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  320. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  321. /* SETTINGS FOR WINDOW F-Frame-Win
  322. VISIBLE,,RUN-PERSISTENT */
  323. /* SETTINGS FOR FRAME F-Main
  324. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  325. /* BROWSE-TAB Br_XArtbw Btn_Speichern F-Main */
  326. ASSIGN
  327. FRAME F-Main:SCROLLABLE = FALSE.
  328. /* SETTINGS FOR FILL-IN ArtLager.Ausgang IN FRAME F-Main
  329. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  330. /* SETTINGS FOR FILL-IN Artst.Ausverk IN FRAME F-Main
  331. NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
  332. /* SETTINGS FOR FILL-IN Artst.Bestand IN FRAME F-Main
  333. NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
  334. /* SETTINGS FOR FILL-IN ArtLager.Bestand IN FRAME F-Main
  335. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  336. /* SETTINGS FOR FILL-IN Artst.Bestellt IN FRAME F-Main
  337. NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
  338. /* SETTINGS FOR FILL-IN ArtLager.Eingang IN FRAME F-Main
  339. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  340. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME F-Main
  341. NO-ENABLE 1 2 */
  342. /* SETTINGS FOR FILL-IN F_Bez IN FRAME F-Main
  343. NO-ENABLE 5 */
  344. /* SETTINGS FOR FILL-IN F_Datum IN FRAME F-Main
  345. NO-DISPLAY NO-ENABLE 1 4 */
  346. ASSIGN
  347. F_Datum:HIDDEN IN FRAME F-Main = TRUE
  348. F_Datum:READ-ONLY IN FRAME F-Main = TRUE.
  349. /* SETTINGS FOR FILL-IN F_GGebinde IN FRAME F-Main
  350. NO-ENABLE 1 3 */
  351. /* SETTINGS FOR FILL-IN F_Inhalt IN FRAME F-Main
  352. NO-ENABLE 1 2 */
  353. /* SETTINGS FOR FILL-IN F_Jahr IN FRAME F-Main
  354. NO-ENABLE 1 2 */
  355. /* SETTINGS FOR FILL-IN F_KGebinde IN FRAME F-Main
  356. NO-ENABLE 1 3 */
  357. /* SETTINGS FOR FILL-IN F_Lager IN FRAME F-Main
  358. NO-DISPLAY NO-ENABLE */
  359. ASSIGN
  360. F_Lager:HIDDEN IN FRAME F-Main = TRUE
  361. F_Lager:READ-ONLY IN FRAME F-Main = TRUE.
  362. /* SETTINGS FOR FILL-IN F_VGebinde IN FRAME F-Main
  363. NO-ENABLE 1 3 */
  364. /* SETTINGS FOR FILL-IN ArtLager.Inv_Alt IN FRAME F-Main
  365. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  366. /* SETTINGS FOR FILL-IN ArtLager.Inv_Best IN FRAME F-Main
  367. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  368. /* SETTINGS FOR FILL-IN ArtLager.Ort IN FRAME F-Main
  369. NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
  370. /* _RUN-TIME-ATTRIBUTES-END */
  371. &ANALYZE-RESUME
  372. /* Setting information for Queries and Browse Widgets fields */
  373. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_XArtbw
  374. /* Query rebuild information for BROWSE Br_XArtbw
  375. _TblList = "Temp-Tables.XArtbw OF AnaDat.Artbw"
  376. _FldNameList[1] = Temp-Tables.XArtbw.Artnr
  377. _FldNameList[2] > "_<CALC>"
  378. "DYNAMIC-FUNCTION('getKGebindeKBez':U,XArtbw.KGeb_Cd)" "Gebinde" "x(12)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  379. _FldNameList[3] > Temp-Tables.XArtbw.Bez1
  380. "XArtbw.Bez1" "Artikel" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  381. _FldNameList[4] = Temp-Tables.XArtbw.Inhalt
  382. _FldNameList[5] = Temp-Tables.XArtbw.Jahr
  383. _FldNameList[6] = Temp-Tables.XArtbw.Lager
  384. _FldNameList[7] = Temp-Tables.XArtbw.Datum
  385. _FldNameList[8] > Temp-Tables.XArtbw.Menge
  386. "XArtbw.Menge" ? "zzzz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  387. _FldNameList[9] > Temp-Tables.XArtbw.KGeb_Me
  388. "XArtbw.KGeb_Me" "KGeb" "zzz,zz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  389. _FldNameList[10] > Temp-Tables.XArtbw.VGeb_Me
  390. "XArtbw.VGeb_Me" "VGeb" "zz,zz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  391. _FldNameList[11] > Temp-Tables.XArtbw.GGeb_Me
  392. "XArtbw.GGeb_Me" "GGeb" "zz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  393. _Query is OPENED
  394. */ /* BROWSE Br_XArtbw */
  395. &ANALYZE-RESUME
  396. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  397. /* Query rebuild information for FRAME F-Main
  398. _TblList = "AnaDat.Artbw,AnaDat.ArtLager OF AnaDat.Artbw,AnaDat.Artst OF AnaDat.Artbw"
  399. _Options = ""
  400. _Query is NOT OPENED
  401. */ /* FRAME F-Main */
  402. &ANALYZE-RESUME
  403. /* ************************ Control Triggers ************************ */
  404. &Scoped-define SELF-NAME Btn_Speichern
  405. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Speichern F-Frame-Win
  406. ON CHOOSE OF Btn_Speichern IN FRAME F-Main /* Buchen */
  407. DO:
  408. DO WITH FRAME {&FRAME-NAME}:
  409. IF Btn_Speichern:LABEL = 'Buchen' THEN DO:
  410. RUN BUCHEN.
  411. RETURN NO-APPLY.
  412. END.
  413. IF Btn_Speichern:LABEL = 'Speichern' THEN DO:
  414. RUN SPEICHERN.
  415. RETURN NO-APPLY.
  416. END.
  417. END.
  418. END.
  419. /* _UIB-CODE-BLOCK-END */
  420. &ANALYZE-RESUME
  421. &Scoped-define SELF-NAME Btn_Uebernahme
  422. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Uebernahme F-Frame-Win
  423. ON CHOOSE OF Btn_Uebernahme IN FRAME F-Main /* Ubernahme */
  424. DO:
  425. RUN g-invent-ueber.w.
  426. END.
  427. /* _UIB-CODE-BLOCK-END */
  428. &ANALYZE-RESUME
  429. &Scoped-define SELF-NAME Btn_Vorbereitung
  430. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Vorbereitung F-Frame-Win
  431. ON CHOOSE OF Btn_Vorbereitung IN FRAME F-Main /* Vorbereitung */
  432. DO:
  433. RUN g-invent-vorber.w.
  434. RUN LAGER_EINSTELLUNGEN.
  435. APPLY 'ENTRY' TO F_Artnr.
  436. END.
  437. /* _UIB-CODE-BLOCK-END */
  438. &ANALYZE-RESUME
  439. &Scoped-define SELF-NAME CB_Datum
  440. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Datum F-Frame-Win
  441. ON VALUE-CHANGED OF CB_Datum IN FRAME F-Main /* Inventardatum */
  442. DO:
  443. F_Datum = DATE(CB_Datum:SCREEN-VALUE).
  444. F_Datum:SCREEN-VALUE = CB_Datum:SCREEN-VALUE.
  445. APPLY 'TAB' TO SELF.
  446. RETURN NO-APPLY.
  447. END.
  448. /* _UIB-CODE-BLOCK-END */
  449. &ANALYZE-RESUME
  450. &Scoped-define SELF-NAME CB_Lager
  451. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager F-Frame-Win
  452. ON VALUE-CHANGED OF CB_Lager IN FRAME F-Main /* Lager */
  453. DO:
  454. F_Lager = INTEGER(SELF:SCREEN-VALUE).
  455. F_Lager:SCREEN-VALUE = STRING(F_Lager).
  456. RUN LAGER_EINSTELLUNGEN.
  457. APPLY 'ENTRY' TO F_Artnr.
  458. RETURN NO-APPLY.
  459. END.
  460. /* _UIB-CODE-BLOCK-END */
  461. &ANALYZE-RESUME
  462. &Scoped-define SELF-NAME F_Artnr
  463. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr F-Frame-Win
  464. ON LEAVE OF F_Artnr IN FRAME F-Main /* Artnr/Inhalt/Jahr */
  465. DO:
  466. DEF VAR ARecid AS RECID NO-UNDO.
  467. DEF VAR iArtnr AS INT NO-UNDO.
  468. DEF VAR yy AS INT NO-UNDO.
  469. DO WITH FRAME {&FRAME-NAME}:
  470. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  471. IF NOT VUpdate THEN RETURN.
  472. LKY = LASTKEY.
  473. LHandle = LAST-EVENT:WIDGET-ENTER.
  474. XHandle = SELF:HANDLE.
  475. Feldname = XHandle:NAME.
  476. FeldInhalt = XHandle:SCREEN-VALUE.
  477. DO WHILE TRUE:
  478. iArtnr = 0.
  479. ARecid = ?.
  480. IF NUM-ENTRIES(FeldInhalt, ' ') = 1 THEN iArtnr = INTEGER(FeldInhalt) NO-ERROR.
  481. IF NOT ERROR-STATUS:ERROR AND
  482. iArtnr > 0 THEN DO:
  483. yy = 0.
  484. FOR EACH Artst NO-LOCK
  485. WHERE Artst.Firma = GVFirma
  486. AND Artst.Artnr = iArtnr:
  487. ASSIGN yy = yy + 1
  488. ARecid = RECID(Artst).
  489. END.
  490. END.
  491. IF yy = 1 THEN LEAVE.
  492. LVSuchbe = FeldINhalt.
  493. ARecid = ?.
  494. LVSuchbe = 'INVENTAR,' + STRING(F_Lager,'999999') + ';' + LVSuchbe.
  495. RUN g-suchen-artikel.w ( LVSuchbe, OUTPUT ARecid ).
  496. LEAVE.
  497. END.
  498. IF ARecid = ? OR
  499. ARecid = 0 THEN DO:
  500. APPLY 'ENTRY' TO SELF.
  501. RETURN NO-APPLY.
  502. END.
  503. FIND Artst NO-LOCK WHERE RECID(Artst) = ARecid.
  504. ASSIGN VArtnr = Artst.Artnr
  505. VInhalt = Artst.Inhalt
  506. VJahr = Artst.Jahr
  507. F_Artnr = STRING(Artst.Artnr,"999999")
  508. F_Inhalt = Artst.Inhalt
  509. F_Jahr = Artst.Jahr.
  510. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
  511. FIND Artbez USE-INDEX Artbez-k1
  512. WHERE Artbez.Firma = GVFirma
  513. AND Artbez.Artnr = Artst.Artnr
  514. AND Artbez.Inhalt = F_Inhalt
  515. AND Artbez.Jahr = F_Jahr
  516. AND Artbez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
  517. IF AVAILABLE Artbez THEN DO:
  518. F_Bez = Artbez.Bez1.
  519. END.
  520. DISPLAY {&List-2} {&List-5} F_Bez.
  521. APPLY 'ENTRY' TO F_Inhalt.
  522. RETURN NO-APPLY.
  523. END.
  524. END.
  525. /* _UIB-CODE-BLOCK-END */
  526. &ANALYZE-RESUME
  527. &Scoped-define SELF-NAME F_Datum
  528. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum F-Frame-Win
  529. ON LEAVE OF F_Datum IN FRAME F-Main /* Inventardatum */
  530. DO:
  531. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  532. RUN DATUMTEST.
  533. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  534. END.
  535. /* _UIB-CODE-BLOCK-END */
  536. &ANALYZE-RESUME
  537. &Scoped-define SELF-NAME F_GGebinde
  538. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_GGebinde F-Frame-Win
  539. ON CURSOR-DOWN OF F_GGebinde IN FRAME F-Main
  540. DO:
  541. APPLY 'TAB' TO SELF.
  542. RETURN NO-APPLY.
  543. END.
  544. /* _UIB-CODE-BLOCK-END */
  545. &ANALYZE-RESUME
  546. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_GGebinde F-Frame-Win
  547. ON LEAVE OF F_GGebinde IN FRAME F-Main
  548. DO:
  549. DO WITH FRAME {&FRAME-NAME}:
  550. ASSIGN {&List-3}.
  551. IF F_GGebinde > 0 THEN DO:
  552. IF AVAILABLE GGebinde THEN F_VGebinde = F_GGebinde * GGebinde.Inhalt.
  553. IF AVAILABLE VGebinde THEN F_KGebinde = F_VGebinde * VGebinde.Inhalt.
  554. END.
  555. DISPLAY {&List-3}.
  556. END.
  557. END.
  558. /* _UIB-CODE-BLOCK-END */
  559. &ANALYZE-RESUME
  560. &Scoped-define SELF-NAME F_Inhalt
  561. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt F-Frame-Win
  562. ON LEAVE OF F_Inhalt IN FRAME F-Main /* / */
  563. DO:
  564. DO WITH FRAME {&FRAME-NAME}:
  565. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  566. F_Lager = INTEGER(CB_Lager:SCREEN-VALUE).
  567. F_Lager:SCREEN-VALUE = STRING(F_Lager).
  568. LKY = LASTKEY.
  569. LHandle = LAST-EVENT:WIDGET-ENTER.
  570. XHandle = SELF:HANDLE.
  571. Feldname = XHandle:NAME.
  572. FeldInhalt = XHandle:SCREEN-VALUE.
  573. F_Inhalt = INTEGER(FeldInhalt).
  574. FIND FIRST Artst USE-INDEX Artst-k1
  575. WHERE Artst.Firma = GVFirma
  576. AND Artst.Artnr = VArtnr
  577. AND Artst.Inhalt = F_Inhalt NO-LOCK NO-ERROR.
  578. IF NOT AVAILABLE Artst THEN DO:
  579. { v8/fehler.i "0213" }
  580. APPLY 'ENTRY' TO F_Inhalt.
  581. RETURN NO-APPLY.
  582. END.
  583. F_Jahr = Artst.Jahr.
  584. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
  585. FIND ArtBez USE-INDEX ArtBez-k1
  586. WHERE ArtBez.Firma = GVFirma
  587. AND ArtBez.Artnr = Artst.Artnr
  588. AND ArtBez.Inhalt = F_Inhalt
  589. AND ArtBez.Jahr = F_Jahr
  590. AND ArtBez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
  591. IF AVAILABLE ArtBez THEN DO:
  592. F_Bez = ArtBez.Bez1.
  593. END.
  594. DISPLAY {&List-5}.
  595. END.
  596. END.
  597. /* _UIB-CODE-BLOCK-END */
  598. &ANALYZE-RESUME
  599. &Scoped-define SELF-NAME F_Jahr
  600. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr F-Frame-Win
  601. ON LEAVE OF F_Jahr IN FRAME F-Main /* / */
  602. DO:
  603. DO WITH FRAME {&FRAME-NAME}:
  604. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  605. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN DO:
  606. APPLY 'ENTRY' TO F_Inhalt.
  607. RETURN NO-APPLY.
  608. END.
  609. F_Lager = INTEGER(CB_Lager:SCREEN-VALUE).
  610. F_Lager:SCREEN-VALUE = STRING(F_Lager).
  611. LKY = LASTKEY.
  612. LHandle = LAST-EVENT:WIDGET-ENTER.
  613. XHandle = SELF:HANDLE.
  614. Feldname = XHandle:NAME.
  615. FeldInhalt = XHandle:SCREEN-VALUE.
  616. F_Jahr = INTEGER(FeldInhalt).
  617. FIND Artst USE-INDEX Artst-k1
  618. WHERE Artst.Firma = GVFirma
  619. AND Artst.Artnr = VArtnr
  620. AND Artst.Inhalt = F_Inhalt
  621. AND Artst.Jahr = F_Jahr NO-LOCK NO-ERROR.
  622. IF NOT AVAILABLE Artst THEN DO:
  623. { v8/fehler.i "0213" }
  624. APPLY 'ENTRY' TO F_Inhalt.
  625. RETURN NO-APPLY.
  626. END.
  627. IF Artst.Aktiv = FALSE THEN DO:
  628. { v8/fehler.i "0201" }
  629. APPLY 'ENTRY' TO F_Inhalt.
  630. RETURN NO-APPLY.
  631. END.
  632. ARecid = RECID(Artst).
  633. FIND ArtBez USE-INDEX ArtBez-k1
  634. WHERE ArtBez.Firma = GVFirma
  635. AND ArtBez.Artnr = Artst.Artnr
  636. AND ArtBez.Inhalt = F_Inhalt
  637. AND ArtBez.Jahr = F_Jahr
  638. AND ArtBez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
  639. IF AVAILABLE ArtBez THEN DO:
  640. F_Bez = ArtBez.Bez1.
  641. END.
  642. FIND ArtLager USE-INDEX ArtLager-k1
  643. WHERE ArtLager.Firma = Artst.Firma
  644. AND ArtLager.Artnr = Artst.Artnr
  645. AND ArtLager.Inhalt = Artst.Inhalt
  646. AND ArtLager.Jahr = F_Jahr
  647. AND ArtLager.Lager = F_Lager NO-LOCK NO-ERROR.
  648. IF AVAILABLE ArtLager THEN DO:
  649. DISPLAY {&List-6}.
  650. END.
  651. DISPLAY {&List-5}.
  652. DISABLE {&List-2}.
  653. ENABLE {&List-3}.
  654. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  655. AND GGebinde.Geb_Cd = Artst.GGeb_Cd NO-LOCK NO-ERROR.
  656. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  657. AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-LOCK NO-ERROR.
  658. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  659. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK NO-ERROR.
  660. F_KGebinde:LABEL = KGebinde.KBez.
  661. F_VGebinde:LABEL = VGebinde.KBez.
  662. F_GGebinde:LABEL = GGebinde.KBez.
  663. F_KGebinde = 0.
  664. F_VGebinde = 0.
  665. F_GGebinde = 0.
  666. DISPLAY {&List-3}.
  667. IF ArtLager.Datum_Inv <> ? THEN DO:
  668. IF ArtLager.Datum_Inv >= (TODAY - 120) THEN DO:
  669. F_Datum = ArtLager.Datum_Inv.
  670. F_Datum :SCREEN-VALUE = STRING(ArtLager.datum_Inv,'99.99.9999').
  671. CB_Datum:SCREEN-VALUE = STRING(F_Datum,'99.99.9999').
  672. END.
  673. END.
  674. APPLY 'ENTRY' TO F_VGebinde.
  675. RETURN NO-APPLY.
  676. END.
  677. END.
  678. /* _UIB-CODE-BLOCK-END */
  679. &ANALYZE-RESUME
  680. &Scoped-define SELF-NAME F_KGebinde
  681. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_KGebinde F-Frame-Win
  682. ON CURSOR-UP OF F_KGebinde IN FRAME F-Main
  683. DO:
  684. APPLY 'BACK-TAB' TO SELF.
  685. RETURN NO-APPLY.
  686. END.
  687. /* _UIB-CODE-BLOCK-END */
  688. &ANALYZE-RESUME
  689. &Scoped-define SELF-NAME F_Lager
  690. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Lager F-Frame-Win
  691. ON LEAVE OF F_Lager IN FRAME F-Main /* Lager */
  692. DO:
  693. F_Lager = INTEGER(F_Lager:SCREEN-VALUE).
  694. END.
  695. /* _UIB-CODE-BLOCK-END */
  696. &ANALYZE-RESUME
  697. &Scoped-define SELF-NAME F_VGebinde
  698. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde F-Frame-Win
  699. ON CURSOR-DOWN OF F_VGebinde IN FRAME F-Main
  700. DO:
  701. APPLY 'TAB' TO SELF.
  702. RETURN NO-APPLY.
  703. END.
  704. /* _UIB-CODE-BLOCK-END */
  705. &ANALYZE-RESUME
  706. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde F-Frame-Win
  707. ON CURSOR-UP OF F_VGebinde IN FRAME F-Main
  708. DO:
  709. APPLY 'BACK-TAB' TO SELF.
  710. RETURN NO-APPLY.
  711. END.
  712. /* _UIB-CODE-BLOCK-END */
  713. &ANALYZE-RESUME
  714. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde F-Frame-Win
  715. ON LEAVE OF F_VGebinde IN FRAME F-Main
  716. DO:
  717. DO WITH FRAME {&FRAME-NAME}:
  718. ASSIGN {&List-3}.
  719. IF F_VGebinde > 0 THEN DO:
  720. IF AVAILABLE VGebinde THEN F_KGebinde = F_VGebinde * VGebinde.Inhalt.
  721. END.
  722. DISPLAY {&List-3}.
  723. END.
  724. END.
  725. /* _UIB-CODE-BLOCK-END */
  726. &ANALYZE-RESUME
  727. &Scoped-define BROWSE-NAME Br_XArtbw
  728. &UNDEFINE SELF-NAME
  729. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK F-Frame-Win
  730. /* *************************** Main Block *************************** */
  731. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  732. /* Now enable the interface if in test mode - otherwise this happens when
  733. the object is explicitly initialized from its container. */
  734. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  735. &ENDIF
  736. GET-KEY-VALUE SECTION 'FwSteuer' KEY 'FwFRW' VALUE FwFRW.
  737. IF FwFRW = ? THEN FwFRW = 'CHF'.
  738. SESSION:DATA-ENTRY-RETURN = TRUE.
  739. ON END-ERROR OF {&FELDER} IN FRAME {&FRAME-NAME}
  740. DO:
  741. DO WITH FRAME {&FRAME-NAME}:
  742. LKY = LASTKEY.
  743. XHandle = SELF:HANDLE.
  744. IF VUpdate THEN DO:
  745. VUpdate = FALSE.
  746. DISABLE {&List-2}.
  747. DISABLE {&List-3}.
  748. ENABLE {&List-4}.
  749. Btn_Speichern:LABEL = 'Buchen'.
  750. APPLY 'ENTRY' TO Btn_Speichern.
  751. RETURN NO-APPLY.
  752. END.
  753. IF VALID-HANDLE(XHandle) THEN DO:
  754. IF XHandle:NAME = 'CB_Lager' THEN DO:
  755. RUN new-state ( 'ENDE, MAIN':U).
  756. RETURN NO-APPLY.
  757. END.
  758. APPLY 'ENTRY' TO CB_Lager.
  759. RETURN NO-APPLY.
  760. END.
  761. END.
  762. END.
  763. /* _UIB-CODE-BLOCK-END */
  764. &ANALYZE-RESUME
  765. /* ********************** Internal Procedures *********************** */
  766. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects F-Frame-Win _ADM-CREATE-OBJECTS
  767. PROCEDURE adm-create-objects :
  768. /*------------------------------------------------------------------------------
  769. Purpose: Create handles for all SmartObjects used in this procedure.
  770. After SmartObjects are initialized, then SmartLinks are added.
  771. Parameters: <none>
  772. ------------------------------------------------------------------------------*/
  773. END PROCEDURE.
  774. /* _UIB-CODE-BLOCK-END */
  775. &ANALYZE-RESUME
  776. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available F-Frame-Win _ADM-ROW-AVAILABLE
  777. PROCEDURE adm-row-available :
  778. /*------------------------------------------------------------------------------
  779. Purpose: Dispatched to this procedure when the Record-
  780. Source has a new row available. This procedure
  781. tries to get the new row (or foriegn keys) from
  782. the Record-Source and process it.
  783. Parameters: <none>
  784. ------------------------------------------------------------------------------*/
  785. /* Define variables needed by this internal procedure. */
  786. {src/adm/template/row-head.i}
  787. /* Process the newly available records (i.e. display fields,
  788. open queries, and/or pass records on to any RECORD-TARGETS). */
  789. {src/adm/template/row-end.i}
  790. END PROCEDURE.
  791. /* _UIB-CODE-BLOCK-END */
  792. &ANALYZE-RESUME
  793. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELNUMMER F-Frame-Win
  794. PROCEDURE ARTIKELNUMMER :
  795. /*------------------------------------------------------------------------------
  796. Purpose:
  797. Parameters: <none>
  798. Notes:
  799. ------------------------------------------------------------------------------*/
  800. VArtnr = -1.
  801. FIND FIRST BArtst USE-INDEX Artst-k2
  802. WHERE BArtst.Firma = GVFirma
  803. AND BArtst.Suchbe BEGINS FeldInhalt NO-LOCK NO-ERROR.
  804. IF AVAILABLE BArtst THEN DO:
  805. VArtnr = BArtst.Artnr.
  806. FIND NEXT BArtst USE-INDEX Artst-k2
  807. WHERE BArtst.Firma = GVFirma
  808. AND BArtst.Suchbe BEGINS FeldInhalt NO-LOCK NO-ERROR.
  809. IF AVAILABLE BArtst THEN VArtnr = -1.
  810. END.
  811. IF VArtnr = -1 THEN DO:
  812. Linkcd = 0.
  813. Linknr = VArtnr.
  814. Linktext = FeldInhalt.
  815. i5 = 1.
  816. RUN new-state ( INPUT 'artikelsuche, MAIN' ).
  817. RETURN NO-APPLY.
  818. END.
  819. END PROCEDURE.
  820. /* _UIB-CODE-BLOCK-END */
  821. &ANALYZE-RESUME
  822. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BUCHEN F-Frame-Win
  823. PROCEDURE BUCHEN :
  824. /*------------------------------------------------------------------------------
  825. Purpose:
  826. Parameters: <none>
  827. Notes:
  828. ------------------------------------------------------------------------------*/
  829. DO WITH FRAME {&FRAME-NAME}:
  830. ASSIGN {&List-4} NO-ERROR.
  831. RUN DATUMTEST.
  832. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  833. DISABLE {&List-1}.
  834. ENABLE {&List-2}.
  835. F_Artnr:SCREEN-VALUE = STRING(AArtnr).
  836. F_Inhalt:SCREEN-VALUE = STRING(AInhalt).
  837. F_Jahr:SCREEN-VALUE = STRING(AJahr).
  838. F_Bez:SCREEN-VALUE = ''.
  839. Btn_Speichern:LABEL = 'Speichern'.
  840. VUpdate = TRUE.
  841. APPLY 'ENTRY' TO F_Artnr.
  842. RETURN NO-APPLY.
  843. END.
  844. END PROCEDURE.
  845. /* _UIB-CODE-BLOCK-END */
  846. &ANALYZE-RESUME
  847. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATUMTEST F-Frame-Win
  848. PROCEDURE DATUMTEST :
  849. /*------------------------------------------------------------------------------
  850. Purpose:
  851. Parameters: <none>
  852. Notes:
  853. ------------------------------------------------------------------------------*/
  854. DO WITH FRAME {&FRAME-NAME}:
  855. F_Datum = DATE(CB_Datum:SCREEN-VALUE) NO-ERROR.
  856. F_Datum:SCREEN-VALUE = CB_Datum:SCREEN-VALUE.
  857. IF F_Datum = ? OR
  858. F_Datum < TODAY - 120 OR
  859. F_Datum > TODAY + 120 THEN DO:
  860. { v8/fehler.i "0096" }
  861. APPLY 'ENTRY' TO CB_Datum.
  862. RETURN 'ERROR'.
  863. END.
  864. RETURN ''.
  865. END.
  866. END PROCEDURE.
  867. /* _UIB-CODE-BLOCK-END */
  868. &ANALYZE-RESUME
  869. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI F-Frame-Win _DEFAULT-DISABLE
  870. PROCEDURE disable_UI :
  871. /*------------------------------------------------------------------------------
  872. Purpose: DISABLE the User Interface
  873. Parameters: <none>
  874. Notes: Here we clean-up the user-interface by deleting
  875. dynamic widgets we have created and/or hide
  876. frames. This procedure is usually called when
  877. we are ready to "clean-up" after running.
  878. ------------------------------------------------------------------------------*/
  879. /* Hide all frames. */
  880. HIDE FRAME F-Main.
  881. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  882. END PROCEDURE.
  883. /* _UIB-CODE-BLOCK-END */
  884. &ANALYZE-RESUME
  885. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI F-Frame-Win _DEFAULT-ENABLE
  886. PROCEDURE enable_UI :
  887. /*------------------------------------------------------------------------------
  888. Purpose: ENABLE the User Interface
  889. Parameters: <none>
  890. Notes: Here we display/view/enable the widgets in the
  891. user-interface. In addition, OPEN all queries
  892. associated with each FRAME and BROWSE.
  893. These statements here are based on the "Other
  894. Settings" section of the widget Property Sheets.
  895. ------------------------------------------------------------------------------*/
  896. DISPLAY CB_Lager CB_Datum F_Artnr F_Inhalt F_Jahr F_Bez F_GGebinde F_VGebinde
  897. F_KGebinde
  898. WITH FRAME F-Main.
  899. IF AVAILABLE ArtLager THEN
  900. DISPLAY ArtLager.Eingang ArtLager.Ausgang ArtLager.Bestand ArtLager.Inv_Best
  901. ArtLager.Inv_Alt ArtLager.Ort
  902. WITH FRAME F-Main.
  903. IF AVAILABLE Artst THEN
  904. DISPLAY Artst.Bestand Artst.Bestellt Artst.Ausverk
  905. WITH FRAME F-Main.
  906. ENABLE CB_Lager CB_Datum Btn_Speichern Br_XArtbw Btn_Vorbereitung
  907. Btn_Uebernahme RECT-1
  908. WITH FRAME F-Main.
  909. {&OPEN-BROWSERS-IN-QUERY-F-Main}
  910. END PROCEDURE.
  911. /* _UIB-CODE-BLOCK-END */
  912. &ANALYZE-RESUME
  913. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEFUNDEN_ARTIKEL F-Frame-Win
  914. PROCEDURE GEFUNDEN_ARTIKEL :
  915. /*------------------------------------------------------------------------------
  916. Purpose:
  917. Parameters: <none>
  918. Notes:
  919. ------------------------------------------------------------------------------*/
  920. VArtnr = Linknr.
  921. FeldInhalt = Linktext.
  922. Linktext = ''.
  923. Linknr = 0.
  924. FGefunden = TRUE.
  925. DO WITH FRAME {&FRAME-NAME}:
  926. F_Artnr = STRING(AVArtnr).
  927. F_Inhalt = AVInhalt.
  928. F_Jahr = AVJahr.
  929. F_Artnr:SCREEN-VALUE = STRING(AVArtnr).
  930. FIND Artst USE-INDEX Artst-k1
  931. WHERE Artst.Firma = GVFirma
  932. AND Artst.Artnr = AVArtnr
  933. AND Artst.Inhalt = AVInhalt
  934. AND Artst.Jahr = AVJahr NO-LOCK NO-ERROR.
  935. IF AVAILABLE Artst THEN DO:
  936. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
  937. FIND Artbez USE-INDEX Artbez-k1
  938. WHERE Artbez.Firma = GVFirma
  939. AND Artbez.Artnr = AVArtnr
  940. AND Artbez.Inhalt = AVInhalt
  941. AND Artbez.Jahr = AVJahr
  942. AND Artbez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
  943. END.
  944. IF AVAILABLE Artbez THEN DO:
  945. F_Bez = Artbez.Bez1.
  946. END.
  947. APPLY 'LEAVE' TO F_Artnr.
  948. DISPLAY {&List-2}.
  949. RETURN NO-APPLY.
  950. END.
  951. END PROCEDURE.
  952. /* _UIB-CODE-BLOCK-END */
  953. &ANALYZE-RESUME
  954. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LAGER_EINSTELLUNGEN F-Frame-Win
  955. PROCEDURE LAGER_EINSTELLUNGEN :
  956. /*------------------------------------------------------------------------------
  957. Purpose:
  958. Parameters: <none>
  959. Notes:
  960. ------------------------------------------------------------------------------*/
  961. DEF VAR Datum AS DATE FORMAT '99.99.9999' NO-UNDO.
  962. DEF VAR cString AS CHAR NO-UNDO.
  963. DO WITH FRAME {&FRAME-NAME}:
  964. CB_Lager:SCREEN-VALUE = STRING(F_Lager,'999999').
  965. END.
  966. EMPTY TEMP-TABLE tDatum.
  967. FOR EACH ArtLager NO-LOCK
  968. WHERE ArtLager.Firma = Firma
  969. AND ArtLager.Lager = F_Lager
  970. AND ArtLager.Datum_Inv <> ?:
  971. Datum = ArtLager.Datum_Inv.
  972. FIND FIRST tDatum WHERE tDatum.Datum = Datum NO-ERROR.
  973. IF NOT AVAILABLE tDatum THEN DO:
  974. CREATE tDatum.
  975. ASSIGN tDatum.Datum = Datum.
  976. END.
  977. END.
  978. FOR EACH tDatum:
  979. cString = cString + (IF cString = '' THEN '' ELSE ';')
  980. + STRING(tDatum.Datum,'99.99.9999').
  981. END.
  982. FIND FIRST tDatum NO-ERROR.
  983. IF NOT AVAILABLE tDatum THEN Datum = TODAY.
  984. ELSE Datum = tDatum.Datum.
  985. DO WITH FRAME {&FRAME-NAME}:
  986. CB_Datum:DELIMITER = ';'.
  987. CB_Datum:LIST-ITEMS = cString.
  988. CB_Datum:SCREEN-VALUE = STRING(Datum,'99.99.9999') NO-ERROR.
  989. APPLY 'ENTRY' TO F_Artnr.
  990. END.
  991. END PROCEDURE.
  992. /* _UIB-CODE-BLOCK-END */
  993. &ANALYZE-RESUME
  994. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize F-Frame-Win
  995. PROCEDURE local-initialize :
  996. /*------------------------------------------------------------------------------
  997. Purpose: Override standard ADM method
  998. Notes:
  999. ------------------------------------------------------------------------------*/
  1000. /* Code placed here will execute PRIOR to standard behavior. */
  1001. /* Dispatch standard ADM method. */
  1002. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  1003. DO WITH FRAME {&FRAME-NAME}:
  1004. F_Lager = DYNAMIC-FUNCTION('getBenLager':U) NO-ERROR.
  1005. RUN COMBO_LAGER ( CB_Lager:HANDLE ).
  1006. RUN LAGER_EINSTELLUNGEN.
  1007. F_Lager:SCREEN-VALUE = STRING(F_Lager).
  1008. APPLY 'ENTRY' TO F_Artnr.
  1009. END.
  1010. /* Code placed here will execute AFTER standard behavior. */
  1011. END PROCEDURE.
  1012. /* _UIB-CODE-BLOCK-END */
  1013. &ANALYZE-RESUME
  1014. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view F-Frame-Win
  1015. PROCEDURE local-view :
  1016. /*------------------------------------------------------------------------------
  1017. Purpose: Override standard ADM method
  1018. Notes:
  1019. ------------------------------------------------------------------------------*/
  1020. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  1021. APPLY 'ENTRY' TO CB_Lager IN FRAME {&FRAME-NAME}.
  1022. END PROCEDURE.
  1023. /* _UIB-CODE-BLOCK-END */
  1024. &ANALYZE-RESUME
  1025. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NICHT_GEFUNDEN_ARTIKEL F-Frame-Win
  1026. PROCEDURE NICHT_GEFUNDEN_ARTIKEL :
  1027. /*------------------------------------------------------------------------------
  1028. Purpose:
  1029. Parameters: <none>
  1030. Notes:
  1031. ------------------------------------------------------------------------------*/
  1032. DO WITH FRAME {&FRAME-NAME}:
  1033. APPLY 'ENTRY' TO F_Artnr.
  1034. RETURN NO-APPLY.
  1035. END.
  1036. END PROCEDURE.
  1037. /* _UIB-CODE-BLOCK-END */
  1038. &ANALYZE-RESUME
  1039. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_XARTBW F-Frame-Win
  1040. PROCEDURE OPEN_XARTBW :
  1041. /*------------------------------------------------------------------------------
  1042. Purpose:
  1043. Parameters: <none>
  1044. Notes:
  1045. ------------------------------------------------------------------------------*/
  1046. OPEN QUERY Br_XArtbw
  1047. FOR EACH XArtbw WHERE XArtbw.Firma = GVFirma NO-LOCK
  1048. BY XArtbw.Trnr DESCENDING.
  1049. END PROCEDURE.
  1050. /* _UIB-CODE-BLOCK-END */
  1051. &ANALYZE-RESUME
  1052. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records F-Frame-Win _ADM-SEND-RECORDS
  1053. PROCEDURE send-records :
  1054. /*------------------------------------------------------------------------------
  1055. Purpose: Send record ROWID's for all tables used by
  1056. this file.
  1057. Parameters: see template/snd-head.i
  1058. ------------------------------------------------------------------------------*/
  1059. /* Define variables needed by this internal procedure. */
  1060. {src/adm/template/snd-head.i}
  1061. /* For each requested table, put it's ROWID in the output list. */
  1062. {src/adm/template/snd-list.i "Artbw"}
  1063. {src/adm/template/snd-list.i "ArtLager"}
  1064. {src/adm/template/snd-list.i "Artst"}
  1065. {src/adm/template/snd-list.i "XArtbw"}
  1066. /* Deal with any unexpected table requests before closing. */
  1067. {src/adm/template/snd-end.i}
  1068. END PROCEDURE.
  1069. /* _UIB-CODE-BLOCK-END */
  1070. &ANALYZE-RESUME
  1071. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN F-Frame-Win
  1072. PROCEDURE SPEICHERN :
  1073. /*------------------------------------------------------------------------------
  1074. Purpose:
  1075. Parameters: <none>
  1076. Notes:
  1077. ------------------------------------------------------------------------------*/
  1078. DEF VAR LRecid AS RECID NO-UNDO.
  1079. IF NOT VUpdate THEN RETURN NO-APPLY.
  1080. DISABLE TRIGGERS FOR LOAD OF ArtLager.
  1081. DISABLE TRIGGERS FOR LOAD OF Artst.
  1082. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
  1083. RUN DATUMTEST.
  1084. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  1085. ASSIGN {&List-2}
  1086. {&List-3}.
  1087. DO WHILE TRUE:
  1088. IF F_KGebinde > 0 OR
  1089. F_VGebinde > 0 OR
  1090. F_GGebinde > 0 THEN LEAVE.
  1091. MESSAGE "Wollen Sie wirklich ein Inventar mit 0 erfassen ? "
  1092. VIEW-AS ALERT-BOX QUESTION BUTTONS OK-CANCEL
  1093. Update Ja.
  1094. IF Ja THEN LEAVE.
  1095. BELL.
  1096. APPLY 'ENTRY' TO F_KGebinde.
  1097. RETURN NO-APPLY.
  1098. END.
  1099. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
  1100. FIND Artst WHERE RECID(Artst) = ARecid.
  1101. FIND ArtLager USE-INDEX ArtLager-k1
  1102. WHERE ArtLager.Firma = Artst.Firma
  1103. AND ArtLager.Artnr = Artst.Artnr
  1104. AND ArtLager.Inhalt = Artst.Inhalt
  1105. AND ArtLager.Jahr = F_Jahr
  1106. AND ArtLager.Lager = F_Lager NO-ERROR.
  1107. IF NOT AVAILABLE ArtLager THEN DO:
  1108. CREATE ArtLager.
  1109. ASSIGN ArtLager.Firma = Artst.Firma
  1110. ArtLager.Artnr = Artst.Artnr
  1111. ArtLager.Inhalt = Artst.Inhalt
  1112. ArtLager.Jahr = F_Jahr
  1113. ArtLager.Lager = F_Lager.
  1114. END.
  1115. LRecid = RECID(ArtLAger).
  1116. ArtLager.Inv_Best = ArtLager.Inv_Best + F_KGebinde.
  1117. FIND LAST Artbw USE-INDEX Artbw-k1
  1118. WHERE Artbw.Firma = GVFirma NO-LOCK NO-ERROR.
  1119. IF AVAILABLE Artbw THEN i1 = Artbw.Trnr + 1.
  1120. ELSE i1 = 1.
  1121. CREATE Artbw.
  1122. ASSIGN Artbw.Firma = GVFirma
  1123. Artbw.Trnr = i1
  1124. Artbw.Tr_Art = 21
  1125. Artbw.Artnr = Artst.Artnr
  1126. Artbw.Inhalt = Artst.Inhalt
  1127. Artbw.Jahr = Artst.Jahr
  1128. Artbw.Bez1 = F_Bez
  1129. Artbw.Menge = F_KGebinde
  1130. Artbw.Alk_Gehalt = Artst.Alk_Gehalt
  1131. Artbw.Aktion = FALSE
  1132. Artbw.Sk_Ber = FALSE
  1133. Artbw.Netto = FALSE
  1134. Artbw.Lager = F_Lager
  1135. Artbw.KGeb_Cd = Artst.KGeb_Cd
  1136. Artbw.VGeb_Cd = Artst.VGeb_Cd
  1137. Artbw.GGeb_Cd = Artst.GGeb_Cd
  1138. Artbw.KGeb_Me = F_KGebinde
  1139. Artbw.VGeb_Me = F_VGebinde
  1140. Artbw.GGeb_Me = F_GGebinde
  1141. Artbw.Liter = F_KGebinde * KGebinde.Inhalt / 100
  1142. Artbw.Datum = F_Datum
  1143. Artbw.Abhol = FALSE
  1144. Artbw.FRW = FwFRW
  1145. Artbw.Faktor = 1
  1146. Artbw.Kurs = 1.0.
  1147. AArtnr = Artst.Artnr.
  1148. AInhalt = Artst.Inhalt.
  1149. AJahr = Artst.Jahr.
  1150. CREATE XArtbw.
  1151. BUFFER-COPY Artbw to XArtbw.
  1152. FIND BArtst WHERE RECID(BArtst) = ARecid NO-LOCK.
  1153. FIND NEXT BArtst USE-INDEX Artst-k1
  1154. WHERE BArtst.Firma = GVFirma NO-LOCK NO-ERROR.
  1155. IF AVAILABLE BArtst THEN DO:
  1156. F_Artnr = STRING(BArtst.Artnr,"999999").
  1157. F_Inhalt = BArtst.Inhalt.
  1158. F_Jahr = BArtst.Jahr.
  1159. AArtnr = BArtst.Artnr.
  1160. AInhalt = BArtst.Inhalt.
  1161. AJahr = BArtst.Jahr.
  1162. END.
  1163. DISPLAY {&list-2}
  1164. {&List-5}
  1165. {&List-6}.
  1166. DISABLE {&List-2}
  1167. {&List-3}.
  1168. ENABLE {&List-4}.
  1169. VUpdate = FALSE.
  1170. RUN OPEN_XARTBW.
  1171. Btn_Speichern:LABEL = 'Buchen'.
  1172. APPLY 'ENTRY' TO Btn_Speichern.
  1173. RELEASE Artst.
  1174. RELEASE ArtLager.
  1175. LEAVE.
  1176. END.
  1177. FIND Artst WHERE RECID(Artst) = ARecid NO-LOCK NO-ERROR.
  1178. FIND ArtLager WHERE RECID(ArtLager) = LRecid NO-LOCK NO-ERROR.
  1179. END PROCEDURE.
  1180. /* _UIB-CODE-BLOCK-END */
  1181. &ANALYZE-RESUME
  1182. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed F-Frame-Win
  1183. PROCEDURE state-changed :
  1184. /* -----------------------------------------------------------
  1185. Purpose:
  1186. Parameters: <none>
  1187. Notes:
  1188. -------------------------------------------------------------*/
  1189. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  1190. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  1191. END PROCEDURE.
  1192. /* _UIB-CODE-BLOCK-END */
  1193. &ANALYZE-RESUME