w-horelager.w 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME w-lagerverwaltung
  4. {adecomm/appserv.i}
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS w-lagerverwaltung
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrwin.w - ADM SmartWindow Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. History: New V9 Version - January 15, 1998
  14. ------------------------------------------------------------------------*/
  15. /* This .W file was created with the Progress AB. */
  16. /*----------------------------------------------------------------------*/
  17. /* Create an unnamed pool to store all the widgets created
  18. by this procedure. This is a good default which assures
  19. that this procedure's triggers and internal procedures
  20. will execute in this procedure's storage, and that proper
  21. cleanup will occur on deletion of the procedure. */
  22. CREATE WIDGET-POOL.
  23. /* *************************** Definitions ************************** */
  24. /* Parameters Definitions --- */
  25. /* Local Variable Definitions --- */
  26. { incl/windefinition.i }
  27. {src/adm2/widgetprto.i}
  28. /* _UIB-CODE-BLOCK-END */
  29. &ANALYZE-RESUME
  30. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  31. /* ******************** Preprocessor Definitions ******************** */
  32. &Scoped-define PROCEDURE-TYPE SmartWindow
  33. &Scoped-define DB-AWARE no
  34. &Scoped-define ADM-CONTAINER WINDOW
  35. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  36. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  37. &Scoped-define FRAME-NAME fMain
  38. /* Standard List Definitions */
  39. &Scoped-Define ENABLED-OBJECTS CB_Lager CB_Lagerart Btn_Suchen
  40. &Scoped-Define DISPLAYED-OBJECTS CB_Lager CB_Lagerart
  41. /* Custom List Definitions */
  42. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  43. /* _UIB-PREPROCESSOR-BLOCK-END */
  44. &ANALYZE-RESUME
  45. /* ************************ Function Prototypes ********************** */
  46. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getLager w-lagerverwaltung
  47. FUNCTION getLager RETURNS INTEGER
  48. ( /* parameter-definitions */ ) FORWARD.
  49. /* _UIB-CODE-BLOCK-END */
  50. &ANALYZE-RESUME
  51. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getLagerArt w-lagerverwaltung
  52. FUNCTION getLagerArt RETURNS INTEGER
  53. ( /* parameter-definitions */ ) FORWARD.
  54. /* _UIB-CODE-BLOCK-END */
  55. &ANALYZE-RESUME
  56. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getProgname w-lagerverwaltung
  57. FUNCTION getProgname RETURNS CHARACTER
  58. ( /* parameter-definitions */ ) FORWARD.
  59. /* _UIB-CODE-BLOCK-END */
  60. &ANALYZE-RESUME
  61. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setLagerArt w-lagerverwaltung
  62. FUNCTION setLagerArt RETURNS INTEGER
  63. (ipiLagerArt AS INTEGER) FORWARD.
  64. /* _UIB-CODE-BLOCK-END */
  65. &ANALYZE-RESUME
  66. /* *********************** Control Definitions ********************** */
  67. /* Define the widget handle for the window */
  68. DEFINE VARIABLE w-lagerverwaltung AS WIDGET-HANDLE NO-UNDO.
  69. /* Definitions of handles for SmartObjects */
  70. DEFINE VARIABLE h_b-horelager AS HANDLE NO-UNDO.
  71. DEFINE VARIABLE h_b-lotlager AS HANDLE NO-UNDO.
  72. DEFINE VARIABLE h_d-horelager AS HANDLE NO-UNDO.
  73. DEFINE VARIABLE h_d-lotlager AS HANDLE NO-UNDO.
  74. DEFINE VARIABLE h_dyntoolbar AS HANDLE NO-UNDO.
  75. DEFINE VARIABLE h_folder AS HANDLE NO-UNDO.
  76. DEFINE VARIABLE h_v-horelager AS HANDLE NO-UNDO.
  77. /* Definitions of the field level widgets */
  78. DEFINE BUTTON Btn_Suchen
  79. IMAGE-UP FILE "grafik/select.bmp":U
  80. IMAGE-DOWN FILE "grafik/select.bmp":U
  81. LABEL "Suchen"
  82. SIZE 4 BY .95.
  83. DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U
  84. LABEL "Lager"
  85. VIEW-AS COMBO-BOX INNER-LINES 5
  86. LIST-ITEM-PAIRS "Item 1","Item 1"
  87. DROP-DOWN-LIST
  88. SIZE 30 BY 1
  89. BGCOLOR 15 NO-UNDO.
  90. DEFINE VARIABLE CB_Lagerart AS CHARACTER FORMAT "X(256)":U
  91. LABEL "Lagerart"
  92. VIEW-AS COMBO-BOX INNER-LINES 5
  93. LIST-ITEM-PAIRS "Item 1","Item 1"
  94. DROP-DOWN-LIST
  95. SIZE 30 BY 1
  96. BGCOLOR 15 NO-UNDO.
  97. /* ************************ Frame Definitions *********************** */
  98. DEFINE FRAME fMain
  99. CB_Lager AT ROW 1.1 COL 80 COLON-ALIGNED WIDGET-ID 4
  100. CB_Lagerart AT ROW 1.1 COL 125 COLON-ALIGNED WIDGET-ID 6
  101. Btn_Suchen AT ROW 1.19 COL 69.4 WIDGET-ID 2
  102. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  103. SIDE-LABELS NO-UNDERLINE THREE-D
  104. AT COL 1 ROW 1
  105. SIZE 160 BY 30.48 WIDGET-ID 100.
  106. /* *********************** Procedure Settings ************************ */
  107. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  108. /* Settings for THIS-PROCEDURE
  109. Type: SmartWindow
  110. Allow: Basic,Browse,DB-Fields,Query,Smart,Window
  111. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  112. Design Page: 1
  113. Other Settings: COMPILE APPSERVER
  114. */
  115. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  116. /* ************************* Create Window ************************** */
  117. &ANALYZE-SUSPEND _CREATE-WINDOW
  118. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  119. CREATE WINDOW w-lagerverwaltung ASSIGN
  120. HIDDEN = YES
  121. TITLE = "Lagerverwaltung"
  122. HEIGHT = 30.48
  123. WIDTH = 160
  124. MAX-HEIGHT = 30.48
  125. MAX-WIDTH = 160
  126. VIRTUAL-HEIGHT = 30.48
  127. VIRTUAL-WIDTH = 160
  128. RESIZE = NO
  129. SCROLL-BARS = NO
  130. STATUS-AREA = NO
  131. BGCOLOR = ?
  132. FGCOLOR = ?
  133. THREE-D = YES
  134. MESSAGE-AREA = NO
  135. SENSITIVE = YES.
  136. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  137. &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN
  138. IF NOT w-lagerverwaltung:LOAD-ICON("grafik/appl.ico":U) THEN
  139. MESSAGE "Unable to load icon: grafik/appl.ico"
  140. VIEW-AS ALERT-BOX WARNING BUTTONS OK.
  141. &ENDIF
  142. /* END WINDOW DEFINITION */
  143. &ANALYZE-RESUME
  144. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB w-lagerverwaltung
  145. /* ************************* Included-Libraries *********************** */
  146. {src/adm2/containr.i}
  147. /* _UIB-CODE-BLOCK-END */
  148. &ANALYZE-RESUME
  149. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  150. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  151. /* SETTINGS FOR WINDOW w-lagerverwaltung
  152. VISIBLE,,RUN-PERSISTENT */
  153. /* SETTINGS FOR FRAME fMain
  154. FRAME-NAME */
  155. ASSIGN
  156. Btn_Suchen:AUTO-RESIZE IN FRAME fMain = TRUE.
  157. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(w-lagerverwaltung)
  158. THEN w-lagerverwaltung:HIDDEN = YES.
  159. /* _RUN-TIME-ATTRIBUTES-END */
  160. &ANALYZE-RESUME
  161. /* ************************ Control Triggers ************************ */
  162. &Scoped-define SELF-NAME w-lagerverwaltung
  163. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL w-lagerverwaltung w-lagerverwaltung
  164. ON END-ERROR OF w-lagerverwaltung /* Lagerverwaltung */
  165. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE
  166. DO:
  167. /* This case occurs when the user presses the "Esc" key.
  168. In a persistently run window, just ignore this. If we did not, the
  169. application would exit. */
  170. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  171. /* ****************************** */
  172. RUN ENDE.
  173. RETURN NO-APPLY.
  174. /* ****************************** */
  175. END.
  176. /* _UIB-CODE-BLOCK-END */
  177. &ANALYZE-RESUME
  178. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL w-lagerverwaltung w-lagerverwaltung
  179. ON WINDOW-CLOSE OF w-lagerverwaltung /* Lagerverwaltung */
  180. DO:
  181. /* This ADM code must be left here in order for the SmartWindow
  182. and its descendents to terminate properly on exit. */
  183. RUN ENDE.
  184. RETURN NO-APPLY.
  185. END.
  186. /* _UIB-CODE-BLOCK-END */
  187. &ANALYZE-RESUME
  188. &Scoped-define SELF-NAME Btn_Suchen
  189. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Suchen w-lagerverwaltung
  190. ON CHOOSE OF Btn_Suchen IN FRAME fMain /* Suchen */
  191. DO:
  192. RUN FINDEN NO-ERROR.
  193. RETURN NO-APPLY.
  194. END.
  195. /* _UIB-CODE-BLOCK-END */
  196. &ANALYZE-RESUME
  197. &Scoped-define SELF-NAME CB_Lager
  198. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager w-lagerverwaltung
  199. ON VALUE-CHANGED OF CB_Lager IN FRAME fMain /* Lager */
  200. DO:
  201. DYNAMIC-FUNCTION('openQuery':U IN h_d-horelager) NO-ERROR.
  202. APPLY 'U1'.
  203. RETURN NO-APPLY.
  204. END.
  205. /* _UIB-CODE-BLOCK-END */
  206. &ANALYZE-RESUME
  207. &Scoped-define SELF-NAME CB_Lagerart
  208. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lagerart w-lagerverwaltung
  209. ON VALUE-CHANGED OF CB_Lagerart IN FRAME fMain /* Lagerart */
  210. DO:
  211. DYNAMIC-FUNCTION('openQuery':U IN h_d-horelager) NO-ERROR.
  212. APPLY 'U1'.
  213. RETURN NO-APPLY.
  214. END.
  215. /* _UIB-CODE-BLOCK-END */
  216. &ANALYZE-RESUME
  217. &UNDEFINE SELF-NAME
  218. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK w-lagerverwaltung
  219. /* *************************** Main Block *************************** */
  220. { incl/winmainblock.i }
  221. SUBSCRIBE TO 'LAGERMUTATION' ANYWHERE.
  222. SUBSCRIBE TO 'BESTELLVORSCHLAG' ANYWHERE RUN-PROCEDURE 'CHANGE_ARTNR'.
  223. {src/adm2/windowmn.i}
  224. ON 'ALT-F':U, 'CTRL-F':U OF {&WINDOW-NAME} ANYWHERE
  225. DO:
  226. RUN FINDEN NO-ERROR.
  227. RETURN NO-APPLY.
  228. END.
  229. ON 'CTRL-N':U OF {&WINDOW-NAME} ANYWHERE
  230. DO:
  231. RUN FINDEN_NUMMER NO-ERROR.
  232. RETURN NO-APPLY.
  233. END.
  234. /* _UIB-CODE-BLOCK-END */
  235. &ANALYZE-RESUME
  236. /* ********************** Internal Procedures *********************** */
  237. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects w-lagerverwaltung _ADM-CREATE-OBJECTS
  238. PROCEDURE adm-create-objects :
  239. /*------------------------------------------------------------------------------
  240. Purpose: Create handles for all SmartObjects used in this procedure.
  241. After SmartObjects are initialized, then SmartLinks are added.
  242. Parameters: <none>
  243. ------------------------------------------------------------------------------*/
  244. DEFINE VARIABLE currentPage AS INTEGER NO-UNDO.
  245. ASSIGN
  246. currentPage = getCurrentPage().
  247. CASE currentPage:
  248. WHEN 0 THEN
  249. DO:
  250. RUN constructObject (
  251. INPUT 'd-horelager.wDB-AWARE':U ,
  252. INPUT FRAME fMain:HANDLE ,
  253. INPUT 'AppServiceASInfoASUsePrompt?CacheDuration0CheckCurrentChangedyesDestroyStatelessyesDisconnectAppServernoServerOperatingModeNONEShareDatanoUpdateFromSourcenoForeignFieldsObjectNamed-horelagerOpenOnInitnoPromptColumns(NONE)PromptOnDeletenoRowsToBatch200RebuildOnReposyesToggleDataTargetsyes':U ,
  254. OUTPUT h_d-horelager ).
  255. RUN repositionObject IN h_d-horelager ( 4.24 , 15.40 ) NO-ERROR.
  256. /* Size in AB: ( 4.00 , 27.60 ) */
  257. RUN constructObject (
  258. INPUT 'd-lotlager.wDB-AWARE':U ,
  259. INPUT FRAME fMain:HANDLE ,
  260. INPUT 'AppServiceASInfoASUsePrompt?CacheDuration0CheckCurrentChangedyesDestroyStatelessyesDisconnectAppServernoServerOperatingModeNONEShareDatanoUpdateFromSourcenoForeignFieldsLotLager.HoReLager_Id,HoReLager_IdObjectNamed-lotlagerOpenOnInityesPromptColumns(NONE)PromptOnDeletenoRowsToBatch200RebuildOnReposyesToggleDataTargetsyes':U ,
  261. OUTPUT h_d-lotlager ).
  262. RUN repositionObject IN h_d-lotlager ( 4.81 , 64.00 ) NO-ERROR.
  263. /* Size in AB: ( 3.10 , 23.00 ) */
  264. RUN constructObject (
  265. INPUT 'adm2/dyntoolbar.w':U ,
  266. INPUT FRAME fMain:HANDLE ,
  267. INPUT 'EdgePixels2DeactivateTargetOnHideyesDisabledActionsFlatButtonsyesMenunoShowBorderyesToolbaryesActionGroupsTableio,NavigationTableIOTypeUpdateSupportedLinksNavigation-source,Tableio-sourceToolbarBandsToolbarAutoSizenoToolbarDrawDirectionHorizontalLogicalObjectNameDisabledActionsHiddenActionsResetHiddenToolbarBandsHiddenMenuBandsMenuMergeOrder0RemoveMenuOnHidenoCreateSubMenuOnConflictyesNavigationTargetNameHideOnInitnoDisableOnInitnoObjectLayout':U ,
  268. OUTPUT h_dyntoolbar ).
  269. RUN repositionObject IN h_dyntoolbar ( 1.00 , 1.00 ) NO-ERROR.
  270. RUN resizeObject IN h_dyntoolbar ( 1.24 , 67.20 ) NO-ERROR.
  271. RUN constructObject (
  272. INPUT 'adm2/folder.w':U ,
  273. INPUT FRAME fMain:HANDLE ,
  274. INPUT 'FolderLabels':U + 'Lagerdefinition' + 'FolderTabWidth0FolderFont-1HideOnInitnoDisableOnInitnoObjectLayout':U ,
  275. OUTPUT h_folder ).
  276. RUN repositionObject IN h_folder ( 2.24 , 1.00 ) NO-ERROR.
  277. RUN resizeObject IN h_folder ( 29.14 , 160.00 ) NO-ERROR.
  278. /* Links to SmartDataObject h_d-horelager. */
  279. RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-horelager ).
  280. /* Links to SmartDataObject h_d-lotlager. */
  281. RUN addLink ( h_d-horelager , 'Data':U , h_d-lotlager ).
  282. /* Links to SmartFolder h_folder. */
  283. RUN addLink ( h_folder , 'Page':U , THIS-PROCEDURE ).
  284. /* Adjust the tab order of the smart objects. */
  285. RUN adjustTabOrder ( h_dyntoolbar ,
  286. CB_Lager:HANDLE IN FRAME fMain , 'BEFORE':U ).
  287. RUN adjustTabOrder ( h_folder ,
  288. Btn_Suchen:HANDLE IN FRAME fMain , 'AFTER':U ).
  289. END. /* Page 0 */
  290. WHEN 1 THEN
  291. DO:
  292. RUN constructObject (
  293. INPUT 'b-horelager.w':U ,
  294. INPUT FRAME fMain:HANDLE ,
  295. INPUT 'ScrollRemotenoNumDown0CalcWidthnoMaxWidth80FetchOnReposToEndyesUseSortIndicatoryesSearchFieldDataSourceNames?UpdateTargetNames?LogicalObjectNameHideOnInitnoDisableOnInitnoObjectLayout':U ,
  296. OUTPUT h_b-horelager ).
  297. RUN repositionObject IN h_b-horelager ( 4.00 , 3.00 ) NO-ERROR.
  298. RUN resizeObject IN h_b-horelager ( 7.38 , 127.00 ) NO-ERROR.
  299. RUN constructObject (
  300. INPUT 'b-lotlager.w':U ,
  301. INPUT FRAME fMain:HANDLE ,
  302. INPUT 'ScrollRemotenoNumDown0CalcWidthnoMaxWidth80FetchOnReposToEndyesUseSortIndicatoryesSearchFieldDataSourceNames?UpdateTargetNames?LogicalObjectNameHideOnInitnoDisableOnInitnoObjectLayout':U ,
  303. OUTPUT h_b-lotlager ).
  304. RUN repositionObject IN h_b-lotlager ( 23.62 , 3.80 ) NO-ERROR.
  305. RUN resizeObject IN h_b-lotlager ( 7.38 , 143.00 ) NO-ERROR.
  306. RUN constructObject (
  307. INPUT 'v-horelager.w':U ,
  308. INPUT FRAME fMain:HANDLE ,
  309. INPUT 'EnabledObjFldsToDisable?ModifyFields(All)DataSourceNamesUpdateTargetNamesLogicalObjectNameLogicalObjectNamePhysicalObjectNameDynamicObjectnoRunAttributeHideOnInitnoDisableOnInitnoObjectLayout':U ,
  310. OUTPUT h_v-horelager ).
  311. RUN repositionObject IN h_v-horelager ( 11.71 , 3.00 ) NO-ERROR.
  312. /* Size in AB: ( 11.67 , 127.00 ) */
  313. /* Links to SmartDataBrowser h_b-horelager. */
  314. RUN addLink ( h_d-horelager , 'Data':U , h_b-horelager ).
  315. /* Links to SmartDataBrowser h_b-lotlager. */
  316. RUN addLink ( h_d-lotlager , 'Data':U , h_b-lotlager ).
  317. /* Links to SmartDataViewer h_v-horelager. */
  318. RUN addLink ( h_d-horelager , 'Data':U , h_v-horelager ).
  319. RUN addLink ( h_v-horelager , 'Update':U , h_d-horelager ).
  320. RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-horelager ).
  321. /* Adjust the tab order of the smart objects. */
  322. RUN adjustTabOrder ( h_b-horelager ,
  323. h_folder , 'AFTER':U ).
  324. RUN adjustTabOrder ( h_v-horelager ,
  325. h_d-lotlager , 'AFTER':U ).
  326. RUN adjustTabOrder ( h_b-lotlager ,
  327. h_v-horelager , 'AFTER':U ).
  328. END. /* Page 1 */
  329. END CASE.
  330. END PROCEDURE.
  331. /* _UIB-CODE-BLOCK-END */
  332. &ANALYZE-RESUME
  333. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CHANGE_ARTNR w-lagerverwaltung
  334. PROCEDURE CHANGE_ARTNR:
  335. /*------------------------------------------------------------------------------
  336. Purpose:
  337. Notes:
  338. ------------------------------------------------------------------------------*/
  339. DEFINE INPUT PARAMETER ipiArtnr AS INTEGER NO-UNDO.
  340. DEFINE INPUT PARAMETER ipiInhalt AS INTEGER NO-UNDO.
  341. DEFINE INPUT PARAMETER ipiJahr AS INTEGER NO-UNDO.
  342. DEFINE VARIABLE iArt AS INTEGER NO-UNDO.
  343. DEFINE VARIABLE iLager AS INTEGER NO-UNDO.
  344. DEFINE BUFFER bHoReLager FOR HoReLager.
  345. DO WITH FRAME {&FRAME-NAME}:
  346. iArt = INTEGER(CB_Lagerart:SCREEN-VALUE).
  347. iLager = INTEGER(CB_Lager :SCREEN-VALUE).
  348. END.
  349. FIND FIRST bHoReLager NO-LOCK
  350. WHERE bHoReLager.Firma = Firma
  351. AND bHoReLager.Art = iArt
  352. AND bHoReLager.Lager = iArt
  353. AND bHoReLager.Artnr = ipiArtnr
  354. AND bHoReLager.Inhalt = ipiInhalt
  355. AND bHoReLager.Jahr = ipiJahr NO-ERROR.
  356. IF NOT AVAILABLE bHoReLager THEN
  357. DO:
  358. FIND FIRST bHoReLager NO-LOCK
  359. WHERE bHoReLager.Firma = Firma
  360. AND bHoReLager.Art = iArt
  361. AND bHoReLager.Lager = iLager
  362. AND bHoReLager.Artnr = ipiArtnr
  363. AND bHoReLager.Inhalt = ipiInhalt NO-ERROR.
  364. END.
  365. IF NOT AVAILABLE bHoReLager THEN RETURN NO-APPLY.
  366. DYNAMIC-FUNCTION ('fetchRowIdent':U IN h_d-HoReLager, STRING(ROWID(bHoReLager)), ? ).
  367. RELEASE bHoReLager.
  368. RETURN NO-APPLY.
  369. END PROCEDURE.
  370. /* _UIB-CODE-BLOCK-END */
  371. &ANALYZE-RESUME
  372. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage w-lagerverwaltung
  373. PROCEDURE changePage :
  374. /*------------------------------------------------------------------------------
  375. Purpose: Super Override
  376. Parameters:
  377. Notes:
  378. ------------------------------------------------------------------------------*/
  379. RUN SUPER.
  380. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  381. CASE AktSeite:
  382. WHEN 1 THEN
  383. DO:
  384. /* RUN addLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  385. /* RUN addLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  386. /* RUN setButtons IN hAktionen ( 'initial-TableIo' ) NO-ERROR. */
  387. END.
  388. WHEN 2 THEN
  389. DO:
  390. END.
  391. END CASE.
  392. RUN ENTRY_CURSOR.
  393. END PROCEDURE.
  394. /* _UIB-CODE-BLOCK-END */
  395. &ANALYZE-RESUME
  396. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI w-lagerverwaltung _DEFAULT-DISABLE
  397. PROCEDURE disable_UI :
  398. /*------------------------------------------------------------------------------
  399. Purpose: DISABLE the User Interface
  400. Parameters: <none>
  401. Notes: Here we clean-up the user-interface by deleting
  402. dynamic widgets we have created and/or hide
  403. frames. This procedure is usually called when
  404. we are ready to "clean-up" after running.
  405. ------------------------------------------------------------------------------*/
  406. /* Delete the WINDOW we created */
  407. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(w-lagerverwaltung)
  408. THEN DELETE WIDGET w-lagerverwaltung.
  409. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  410. END PROCEDURE.
  411. /* _UIB-CODE-BLOCK-END */
  412. &ANALYZE-RESUME
  413. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject w-lagerverwaltung
  414. PROCEDURE enableObject :
  415. /*------------------------------------------------------------------------------
  416. Purpose: Super Override
  417. Parameters:
  418. Notes:
  419. ------------------------------------------------------------------------------*/
  420. DO WITH FRAME {&FRAME-NAME}:
  421. RUN COMBO_LAGER ( CB_Lager :HANDLE ) NO-ERROR.
  422. RUN COMBO_LAGERART ( CB_LagerArt:HANDLE ) NO-ERROR.
  423. END.
  424. { incl/winenableobject.i }
  425. RUN SUPER.
  426. END PROCEDURE.
  427. /* _UIB-CODE-BLOCK-END */
  428. &ANALYZE-RESUME
  429. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI w-lagerverwaltung _DEFAULT-ENABLE
  430. PROCEDURE enable_UI :
  431. /*------------------------------------------------------------------------------
  432. Purpose: ENABLE the User Interface
  433. Parameters: <none>
  434. Notes: Here we display/view/enable the widgets in the
  435. user-interface. In addition, OPEN all queries
  436. associated with each FRAME and BROWSE.
  437. These statements here are based on the "Other
  438. Settings" section of the widget Property Sheets.
  439. ------------------------------------------------------------------------------*/
  440. DISPLAY CB_Lager CB_Lagerart
  441. WITH FRAME fMain IN WINDOW w-lagerverwaltung.
  442. ENABLE CB_Lager CB_Lagerart Btn_Suchen
  443. WITH FRAME fMain IN WINDOW w-lagerverwaltung.
  444. {&OPEN-BROWSERS-IN-QUERY-fMain}
  445. VIEW w-lagerverwaltung.
  446. END PROCEDURE.
  447. /* _UIB-CODE-BLOCK-END */
  448. &ANALYZE-RESUME
  449. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE w-lagerverwaltung
  450. PROCEDURE ENDE :
  451. /*------------------------------------------------------------------------------
  452. Purpose:
  453. Parameters: <none>
  454. Notes:
  455. ------------------------------------------------------------------------------*/
  456. { incl/winende.i }
  457. END PROCEDURE.
  458. /* _UIB-CODE-BLOCK-END */
  459. &ANALYZE-RESUME
  460. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR w-lagerverwaltung
  461. PROCEDURE ENTRY_CURSOR :
  462. /*------------------------------------------------------------------------------
  463. Purpose:
  464. Parameters: <none>
  465. Notes:
  466. ------------------------------------------------------------------------------*/
  467. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  468. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname) NO-ERROR.
  469. CASE AktSeite:
  470. WHEN 1 THEN
  471. DO:
  472. IF FMutFlag THEN RUN applyEntry IN h_v-horelager ( INPUT ? ).
  473. ELSE RUN applyEntry IN h_b-horelager ( INPUT ? ).
  474. END.
  475. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  476. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  477. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  478. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  479. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  480. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  481. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  482. END CASE.
  483. RETURN NO-APPLY.
  484. END PROCEDURE.
  485. /* _UIB-CODE-BLOCK-END */
  486. &ANALYZE-RESUME
  487. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject w-lagerverwaltung
  488. PROCEDURE exitObject :
  489. /*------------------------------------------------------------------------------
  490. Purpose: Window-specific override of this procedure which destroys
  491. its contents and itself.
  492. Notes:
  493. ------------------------------------------------------------------------------*/
  494. RUN ENDE.
  495. RETURN NO-APPLY.
  496. END PROCEDURE.
  497. /* _UIB-CODE-BLOCK-END */
  498. &ANALYZE-RESUME
  499. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FINDEN w-lagerverwaltung
  500. PROCEDURE FINDEN :
  501. /*------------------------------------------------------------------------------
  502. Purpose:
  503. Parameters: <none>
  504. Notes:
  505. ------------------------------------------------------------------------------*/
  506. DEFINE VARIABLE cRowId AS CHARACTER NO-UNDO.
  507. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, Progname) NO-ERROR.
  508. IF FMutFlag THEN RETURN NO-APPLY.
  509. /* RUN g-xxxxx-suchen.w (OUTPUT cRowid) NO-ERROR. */
  510. /* IF cRowid <> ? AND */
  511. /* cRowid <> '' THEN DYNAMIC-FUNCTION('fetchRowIdent':U IN h_d-meldung, cRowid, ?) NO-ERROR. */
  512. APPLY 'U1'.
  513. RETURN NO-APPLY.
  514. END PROCEDURE.
  515. /* _UIB-CODE-BLOCK-END */
  516. &ANALYZE-RESUME
  517. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FINDEN_NUMMER w-lagerverwaltung
  518. PROCEDURE FINDEN_NUMMER :
  519. /*------------------------------------------------------------------------------
  520. Purpose:
  521. Parameters: <none>
  522. Notes:
  523. ------------------------------------------------------------------------------*/
  524. DEFINE VARIABLE iNummer AS INTEGER NO-UNDO.
  525. DEFINE VARIABLE cRowId AS CHARACTER NO-UNDO.
  526. DEFINE VARIABLE rArtst AS RECID NO-UNDO.
  527. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, Progname) NO-ERROR.
  528. IF FMutFlag THEN RETURN NO-APPLY.
  529. RUN g-artikelnr.w (OUTPUT rArtst) NO-ERROR.
  530. IF rArtst = ? THEN RETURN NO-APPLY.
  531. IF rArtst = 0 THEN RETURN NO-APPLY.
  532. FIND Artst NO-LOCK WHERE RECID(Artst) = rArtst.
  533. FIND FIRST HoReLager NO-LOCK
  534. WHERE HoReLager.Firma = Firma
  535. AND HoReLager.Art = 1
  536. AND HoReLager.Lager = 0
  537. AND HoReLager.Artnr = Artst.Artnr
  538. AND HoReLager.Inhalt = Artst.Inhalt
  539. AND HoReLager.Jahr = Artst.Jahr NO-ERROR.
  540. IF NOT AVAILABLE HoReLager THEN
  541. DO:
  542. FIND FIRST HoReLager NO-LOCK
  543. WHERE HoReLager.Firma = Firma
  544. AND HoReLager.Art = 1
  545. AND HoReLager.Lager = 0
  546. AND HoReLager.Artnr = Artst.Artnr
  547. AND HoReLager.Inhalt = Artst.Inhalt NO-ERROR.
  548. END.
  549. IF AVAILABLE HoReLager THEN
  550. DO:
  551. cRowId = STRING(ROWID(HoReLager)).
  552. DYNAMIC-FUNCTION ('fetchRowIdent':U IN h_d-horelager, cRowid, ?) NO-ERROR.
  553. END.
  554. APPLY 'U1'.
  555. RETURN NO-APPLY.
  556. END PROCEDURE.
  557. /* _UIB-CODE-BLOCK-END */
  558. &ANALYZE-RESUME
  559. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject w-lagerverwaltung
  560. PROCEDURE initializeObject :
  561. /*------------------------------------------------------------------------------
  562. Purpose: Super Override
  563. Parameters:
  564. Notes:
  565. ------------------------------------------------------------------------------*/
  566. /* Code placed here will execute PRIOR to standard behavior. */
  567. RUN SUPER.
  568. { incl/wininitializeobject.i }
  569. RUN SET_OPENFLAG IN h_d-horelager ( TRUE ) NO-ERROR.
  570. END PROCEDURE.
  571. /* _UIB-CODE-BLOCK-END */
  572. &ANALYZE-RESUME
  573. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LAGERMUTATION w-lagerverwaltung
  574. PROCEDURE LAGERMUTATION :
  575. /*------------------------------------------------------------------------------
  576. Purpose:
  577. Parameters: <none>
  578. Notes:
  579. ------------------------------------------------------------------------------*/
  580. DEFINE INPUT PARAMETER ipcArt AS CHARACTER NO-UNDO.
  581. CASE ipcArt:
  582. WHEN 'START' THEN
  583. DO WITH FRAME {&FRAME-NAME}:
  584. CB_Lager :SENSITIVE = FALSE.
  585. CB_LagerArt:SENSITIVE = FALSE.
  586. END.
  587. WHEN 'ENDE' THEN
  588. DO WITH FRAME {&FRAME-NAME}:
  589. CB_Lager :SENSITIVE = TRUE.
  590. CB_LagerArt:SENSITIVE = TRUE.
  591. END.
  592. END CASE.
  593. END PROCEDURE.
  594. /* _UIB-CODE-BLOCK-END */
  595. &ANALYZE-RESUME
  596. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEITENWECHSEL w-lagerverwaltung
  597. PROCEDURE SEITENWECHSEL :
  598. /*------------------------------------------------------------------------------
  599. Purpose:
  600. Parameters: <none>
  601. Notes:
  602. ------------------------------------------------------------------------------*/
  603. { incl/winseitenwechsel.i }
  604. END PROCEDURE.
  605. /* _UIB-CODE-BLOCK-END */
  606. &ANALYZE-RESUME
  607. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage w-lagerverwaltung
  608. PROCEDURE selectPage :
  609. /*------------------------------------------------------------------------------
  610. Purpose: Super Override
  611. Parameters:
  612. Notes:
  613. ------------------------------------------------------------------------------*/
  614. DEFINE INPUT PARAMETER piPageNum AS INTEGER NO-UNDO.
  615. DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
  616. DEFINE VARIABLE MutProg AS CHARACTER NO-UNDO.
  617. FMutFlag = DYNAMIC-FUNCTION ('getMutflag':U, INPUT Progname) NO-ERROR.
  618. IF FMutFlag THEN RETURN NO-APPLY.
  619. CASE piPageNum:
  620. END CASE.
  621. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  622. CASE AktSeite:
  623. WHEN 1 THEN
  624. DO:
  625. /* RUN removeLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  626. /* RUN removeLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  627. END.
  628. END CASE.
  629. RUN SUPER( INPUT piPageNum).
  630. END PROCEDURE.
  631. /* _UIB-CODE-BLOCK-END */
  632. &ANALYZE-RESUME
  633. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR w-lagerverwaltung
  634. PROCEDURE TOOLBAR :
  635. /*------------------------------------------------------------------------------
  636. Purpose:
  637. Parameters: <none>
  638. Notes:
  639. ------------------------------------------------------------------------------*/
  640. { incl/wintoolbar.i }
  641. END PROCEDURE.
  642. /* _UIB-CODE-BLOCK-END */
  643. &ANALYZE-RESUME
  644. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject w-lagerverwaltung
  645. PROCEDURE viewObject :
  646. /*------------------------------------------------------------------------------
  647. Purpose: Super Override
  648. Parameters:
  649. Notes:
  650. ------------------------------------------------------------------------------*/
  651. RUN SUPER.
  652. RUN ENTRY_CURSOR.
  653. END PROCEDURE.
  654. /* _UIB-CODE-BLOCK-END */
  655. &ANALYZE-RESUME
  656. /* ************************ Function Implementations ***************** */
  657. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLager w-lagerverwaltung
  658. FUNCTION getLager RETURNS INTEGER
  659. ( /* parameter-definitions */ ) :
  660. /*------------------------------------------------------------------------------
  661. Purpose:
  662. Notes:
  663. ------------------------------------------------------------------------------*/
  664. DEFINE VARIABLE iLager AS INTEGER NO-UNDO.
  665. DO WITH FRAME {&FRAME-NAME}:
  666. iLager = INTEGER(CB_lager:SCREEN-VALUE).
  667. END.
  668. RETURN iLager.
  669. END FUNCTION.
  670. /* _UIB-CODE-BLOCK-END */
  671. &ANALYZE-RESUME
  672. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLagerArt w-lagerverwaltung
  673. FUNCTION getLagerArt RETURNS INTEGER
  674. ( /* parameter-definitions */ ) :
  675. /*------------------------------------------------------------------------------
  676. Purpose:
  677. Notes:
  678. ------------------------------------------------------------------------------*/
  679. DEFINE VARIABLE iLagerArt AS INTEGER NO-UNDO.
  680. DO WITH FRAME {&FRAME-NAME}:
  681. iLagerArt = INTEGER(CB_LagerArt:SCREEN-VALUE).
  682. END.
  683. RETURN iLagerArt.
  684. END FUNCTION.
  685. /* _UIB-CODE-BLOCK-END */
  686. &ANALYZE-RESUME
  687. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getProgname w-lagerverwaltung
  688. FUNCTION getProgname RETURNS CHARACTER
  689. ( /* parameter-definitions */ ) :
  690. /*------------------------------------------------------------------------------
  691. Purpose:
  692. Notes:
  693. ------------------------------------------------------------------------------*/
  694. RETURN Progname.
  695. END FUNCTION.
  696. /* _UIB-CODE-BLOCK-END */
  697. &ANALYZE-RESUME
  698. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setLagerArt w-lagerverwaltung
  699. FUNCTION setLagerArt RETURNS INTEGER
  700. ( ipiLagerArt AS INTEGER ):
  701. /*------------------------------------------------------------------------------*/
  702. /* Purpose: */
  703. /* Notes: */
  704. /*------------------------------------------------------------------------------*/
  705. IF DYNAMIC-FUNCTION ('getLagerArt':U) = ipiLagerart THEN RETURN DYNAMIC-FUNCTION ('getLagerArt':U).
  706. DO WITH FRAME {&FRAME-NAME}:
  707. CB_Lagerart:SCREEN-VALUE = STRING(ipiLagerArt,'999999') NO-ERROR.
  708. APPLY 'VALUE-CHANGED' TO CB_Lagerart.
  709. END.
  710. RETURN DYNAMIC-FUNCTION('getLagerArt':U).
  711. END FUNCTION.
  712. /* _UIB-CODE-BLOCK-END */
  713. &ANALYZE-RESUME