w-bestellvorschlag.w 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. */
  5. &Scoped-define WINDOW-NAME wBestellvorschlag
  6. {adecomm/appserv.i}
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wBestellvorschlag
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from cntnrwin.w - ADM SmartWindow Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. History: New V9 Version - January 15, 1998
  16. ------------------------------------------------------------------------*/
  17. /* This .W file was created with the Progress AB. */
  18. /*----------------------------------------------------------------------*/
  19. /* Create an unnamed pool to store all the widgets created
  20. by this procedure. This is a good default which assures
  21. that this procedure's triggers and internal procedures
  22. will execute in this procedure's storage, and that proper
  23. cleanup will occur on deletion of the procedure. */
  24. CREATE WIDGET-POOL.
  25. /* *************************** Definitions ************************** */
  26. /* Parameters Definitions --- */
  27. DEFINE INPUT PARAMETER iphtVorschlag AS HANDLE NO-UNDO.
  28. /* Local Variable Definitions --- */
  29. DEFINE VARIABLE hDaten AS HANDLE NO-UNDO.
  30. DEFINE VARIABLE hFenster AS HANDLE NO-UNDO.
  31. DEFINE VARIABLE Sektion AS CHARACTER NO-UNDO.
  32. DEFINE VARIABLE hQuery AS HANDLE NO-UNDO.
  33. DEFINE VARIABLE hQueryVorschlag AS HANDLE NO-UNDO.
  34. DEFINE VARIABLE hQueryPaletten AS HANDLE NO-UNDO.
  35. DEFINE VARIABLE hQueryPalArt AS HANDLE NO-UNDO.
  36. DEFINE VARIABLE iBesnr AS INTEGER NO-UNDO.
  37. DEFINE VARIABLE iKnr AS INTEGER NO-UNDO.
  38. DEFINE VARIABLE cGGeb_Cd AS CHARACTER NO-UNDO.
  39. DEFINE TEMP-TABLE tPaletten
  40. FIELD GGeb_Cd AS CHARACTER
  41. FIELD GGebinde AS CHARACTER
  42. FIELD GGeb_Inhalt AS INTEGER
  43. FIELD VGeb_Cd AS CHARACTER
  44. FIELD VGebinde AS CHARACTER
  45. FIELD VGeb_Inhalt AS INTEGER
  46. FIELD VGeb_Menge AS INTEGER
  47. FIELD Anz_Paletten AS INTEGER
  48. .
  49. DEFINE TEMP-TABLE tPalArtikel
  50. FIELD GGeb_Cd AS CHARACTER
  51. FIELD Artnr AS INTEGER
  52. FIELD Inhalt AS INTEGER
  53. FIELD Jahr AS INTEGER
  54. FIELD Bez AS CHARACTER
  55. FIELD VGeb_Me AS INTEGER
  56. FIELD KGeb_Me AS INTEGER
  57. INDEX tPalArtikel-k1 IS PRIMARY
  58. GGeb_Cd
  59. Artnr
  60. .
  61. DEFINE TEMP-TABLE tBrowser NO-UNDO
  62. FIELD Feld AS CHARACTER
  63. FIELD Pos AS INTEGER
  64. FIELD Breit AS DECIMAL
  65. FIELD fAktiv AS LOG
  66. FIELD fVisible AS LOG
  67. FIELD PosAkt AS INTEGER
  68. FIELD BreitAkt AS DECIMAL
  69. FIELD hCol AS HANDLE
  70. FIELD cType AS CHARACTER
  71. FIELD cFormat AS CHARACTER
  72. FIELD cInitial AS CHARACTER
  73. FIELD cLabel AS CHARACTER.
  74. DEFINE TEMP-TABLE tMenuItems NO-UNDO
  75. FIELD hMenuItem AS HANDLE.
  76. DEFINE TEMP-TABLE tBesze LIKE Besze
  77. FIELD iStatus AS INTEGER.
  78. DEFINE VARIABLE htBesze AS HANDLE NO-UNDO.
  79. htBesze = TEMP-TABLE tBesze:DEFAULT-BUFFER-HANDLE.
  80. { incl/ttbestellvorschlag.i }
  81. { incl/windefinition.i }
  82. {src/adm2/widgetprto.i}
  83. /* _UIB-CODE-BLOCK-END */
  84. &ANALYZE-RESUME
  85. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  86. /* ******************** Preprocessor Definitions ******************** */
  87. &Scoped-define PROCEDURE-TYPE SmartWindow
  88. &Scoped-define DB-AWARE no
  89. &Scoped-define ADM-CONTAINER WINDOW
  90. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  91. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  92. &Scoped-define FRAME-NAME fMain
  93. &Scoped-define BROWSE-NAME Br_PalArt
  94. /* Internal Tables (found by Frame, Query & Browse Queries) */
  95. &Scoped-define INTERNAL-TABLES tPalArtikel tPaletten tVorschlag
  96. /* Definitions for BROWSE Br_PalArt */
  97. &Scoped-define FIELDS-IN-QUERY-Br_PalArt tPalArtikel.Artnr tPalArtikel.Inhalt tPalArtikel.Jahr tPalArtikel.Bez tPalArtikel.VGeb_Me tPalArtikel.KGeb_Me
  98. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_PalArt
  99. &Scoped-define SELF-NAME Br_PalArt
  100. &Scoped-define QUERY-STRING-Br_PalArt FOR EACH tPalArtikel
  101. &Scoped-define OPEN-QUERY-Br_PalArt OPEN QUERY {&SELF-NAME} FOR EACH tPalArtikel.
  102. &Scoped-define TABLES-IN-QUERY-Br_PalArt tPalArtikel
  103. &Scoped-define FIRST-TABLE-IN-QUERY-Br_PalArt tPalArtikel
  104. /* Definitions for BROWSE Br_Paletten */
  105. &Scoped-define FIELDS-IN-QUERY-Br_Paletten tPaletten.GGeb_Cd tPaletten.GGebinde tPaletten.GGeb_Inhalt tPaletten.GGebinde tPaletten.VGeb_Cd tPaletten.VGebinde tPaletten.VGeb_Inhalt tPaletten.VGeb_Menge tPaletten.Anz_Paletten
  106. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Paletten
  107. &Scoped-define SELF-NAME Br_Paletten
  108. &Scoped-define QUERY-STRING-Br_Paletten FOR EACH tPaletten
  109. &Scoped-define OPEN-QUERY-Br_Paletten OPEN QUERY {&SELF-NAME} FOR EACH tPaletten.
  110. &Scoped-define TABLES-IN-QUERY-Br_Paletten tPaletten
  111. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Paletten tPaletten
  112. /* Definitions for BROWSE Br_Vorschlag */
  113. &Scoped-define FIELDS-IN-QUERY-Br_Vorschlag tVorschlag.Artnr tVorschlag.Inhalt tVorschlag.Jahr tVorschlag.KGeb_Text tVorschlag.Artikel tVorschlag.lBeschaff tVorschlag.Bestand tVorschlag.TagesBestand tVorschlag.Bestellt tVorschlag.Rueckstand tVorschlag.Reserviert tVorschlag.Mind_Bestand tVorschlag.Soll_Bestand tVorschlag.Meld_Bestand tVorschlag.Mind_Berechnet tVorschlag.Vorschlag_Me tVorschlag.Bestellung tVorschlag.Verbrauch_VorMt1 tVorschlag.Verbrauch_VorMt2 tVorschlag.Verbrauch_VorMt3 tVorschlag.Verbrauch_12Mt tVorschlag.Verbrauch_0106 tVorschlag.Verbrauch_0712 tVorschlag.Verbrauch_Aktiv tVorschlag.Verbrauch_Verg tVorschlag.Verbrauch_VjPer1 /* Menge vor 1 Jahr für Bestellperiode + 1 (Bestelldatum + Bestellintervall + Lieferzeit */ tVorschlag.Verbrauch_VjPer2 /* Menge vor 1 Jahr für Bestellperiode + 2 */ tVorschlag.Verbrauch_VjPer3 /* Menge vor 1 Jahr für Bestellperiode + 3 */ tVorschlag.Verbrauch_Letzt tVorschlag.GGeb_Me tVorschlag.VGeb_Me tVorschlag.KGeb_Me tVorschlag.lBewegungen
  114. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Vorschlag
  115. &Scoped-define SELF-NAME Br_Vorschlag
  116. &Scoped-define QUERY-STRING-Br_Vorschlag FOR EACH tVorschlag
  117. &Scoped-define OPEN-QUERY-Br_Vorschlag OPEN QUERY {&SELF-NAME} FOR EACH tVorschlag.
  118. &Scoped-define TABLES-IN-QUERY-Br_Vorschlag tVorschlag
  119. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Vorschlag tVorschlag
  120. /* Definitions for FRAME fMain */
  121. /* Standard List Definitions */
  122. &Scoped-Define ENABLED-OBJECTS F_Lieferant F_Paletten F_Angebrochen ~
  123. F_Betrag F_Mindest F_MinBetrag Br_Vorschlag Br_Paletten Br_PalArt ~
  124. Btn_Erfassen Btn_Cancel
  125. &Scoped-Define DISPLAYED-OBJECTS F_Lieferant F_Paletten F_Angebrochen ~
  126. F_Betrag F_Mindest F_MinBetrag
  127. /* Custom List Definitions */
  128. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  129. /* _UIB-PREPROCESSOR-BLOCK-END */
  130. &ANALYZE-RESUME
  131. /* ************************ Function Prototypes ********************** */
  132. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD calculatePaletten wBestellvorschlag
  133. FUNCTION calculatePaletten RETURNS INTEGER
  134. ( ) FORWARD.
  135. /* _UIB-CODE-BLOCK-END */
  136. &ANALYZE-RESUME
  137. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getProgname wBestellvorschlag
  138. FUNCTION getProgname RETURNS CHARACTER
  139. ( /* parameter-definitions */ ) FORWARD.
  140. /* _UIB-CODE-BLOCK-END */
  141. &ANALYZE-RESUME
  142. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD SetFarbe wBestellvorschlag
  143. FUNCTION SetFarbe RETURNS LOGICAL
  144. ( ipFarbe AS INTEGER ) FORWARD.
  145. /* _UIB-CODE-BLOCK-END */
  146. &ANALYZE-RESUME
  147. /* *********************** Control Definitions ********************** */
  148. /* Define the widget handle for the window */
  149. DEFINE VAR wBestellvorschlag AS WIDGET-HANDLE NO-UNDO.
  150. /* Definitions of the field level widgets */
  151. DEFINE BUTTON Btn_Cancel
  152. LABEL "Abbrechen"
  153. SIZE 29 BY 1.14.
  154. DEFINE BUTTON Btn_Erfassen
  155. LABEL "Bestellung erfassen"
  156. SIZE 29 BY 1.14.
  157. DEFINE VARIABLE F_Angebrochen AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
  158. LABEL "angebrochene Paletten"
  159. VIEW-AS FILL-IN NATIVE
  160. SIZE 13 BY 1
  161. BGCOLOR 15 NO-UNDO.
  162. DEFINE VARIABLE F_Betrag AS INTEGER FORMAT "zzz,zzz,zz9.99-":U INITIAL 0
  163. LABEL "Betrag"
  164. VIEW-AS FILL-IN NATIVE
  165. SIZE 24 BY 1
  166. BGCOLOR 15 NO-UNDO.
  167. DEFINE VARIABLE F_Lieferant AS CHARACTER FORMAT "X(256)":U
  168. VIEW-AS FILL-IN NATIVE
  169. SIZE 100 BY 1
  170. BGCOLOR 15 NO-UNDO.
  171. DEFINE VARIABLE F_MinBetrag AS INTEGER FORMAT "zzz,zzz,zz9.99-":U INITIAL 0
  172. LABEL "Mind. Betrag"
  173. VIEW-AS FILL-IN NATIVE
  174. SIZE 24 BY 1
  175. BGCOLOR 15 NO-UNDO.
  176. DEFINE VARIABLE F_Mindest AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
  177. LABEL "Mind. Paletten"
  178. VIEW-AS FILL-IN NATIVE
  179. SIZE 13 BY 1
  180. BGCOLOR 15 NO-UNDO.
  181. DEFINE VARIABLE F_Paletten AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
  182. LABEL "Paletten"
  183. VIEW-AS FILL-IN NATIVE
  184. SIZE 13 BY 1
  185. BGCOLOR 15 NO-UNDO.
  186. /* Query definitions */
  187. &ANALYZE-SUSPEND
  188. DEFINE QUERY Br_PalArt FOR
  189. tPalArtikel SCROLLING.
  190. DEFINE QUERY Br_Paletten FOR
  191. tPaletten SCROLLING.
  192. DEFINE QUERY Br_Vorschlag FOR
  193. tVorschlag SCROLLING.
  194. &ANALYZE-RESUME
  195. /* Browse definitions */
  196. DEFINE BROWSE Br_PalArt
  197. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_PalArt wBestellvorschlag _FREEFORM
  198. QUERY Br_PalArt DISPLAY
  199. tPalArtikel.Artnr FORMAT '999999'
  200. tPalArtikel.Inhalt FORMAT '9999'
  201. tPalArtikel.Jahr FORMAT '9999'
  202. tPalArtikel.Bez FORMAT 'x(40)' LABEL 'Artikel'
  203. tPalArtikel.VGeb_Me FORMAT '->>>,>>9' LABEL 'Me VGeb'
  204. tPalArtikel.KGeb_Me FORMAT '->>>,>>9' LABEL 'Me KGeb'
  205. /* _UIB-CODE-BLOCK-END */
  206. &ANALYZE-RESUME
  207. WITH NO-ROW-MARKERS SEPARATORS SIZE 90 BY 8.57.
  208. DEFINE BROWSE Br_Paletten
  209. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Paletten wBestellvorschlag _FREEFORM
  210. QUERY Br_Paletten DISPLAY
  211. tPaletten.GGeb_Cd FORMAT "x(12)" LABEL 'GGeb_Cd'
  212. tPaletten.GGebinde FORMAT "x(30)" LABEL 'GGebinde'
  213. tPaletten.GGeb_Inhalt FORMAT "zzzz9" LABEL 'Inhalt'
  214. tPaletten.GGebinde FORMAT "x(30)" LABEL 'Gebinde'
  215. tPaletten.VGeb_Cd FORMAT "x(12)" LABEL 'VGeb_Cd'
  216. tPaletten.VGebinde FORMAT "x(30)" LABEL 'VGebinde'
  217. tPaletten.VGeb_Inhalt FORMAT "zzzz9" LABEL 'Inhalt'
  218. tPaletten.VGeb_Menge FORMAT "zzzz9" LABEL 'VGeb Menge'
  219. tPaletten.Anz_Paletten FORMAT "zz9" LABEL 'Anz. Pal'
  220. /* _UIB-CODE-BLOCK-END */
  221. &ANALYZE-RESUME
  222. WITH NO-ROW-MARKERS SEPARATORS SIZE 130 BY 8.57.
  223. DEFINE BROWSE Br_Vorschlag
  224. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Vorschlag wBestellvorschlag _FREEFORM
  225. QUERY Br_Vorschlag DISPLAY
  226. tVorschlag.Artnr FORMAT 'z999999' COLUMN-LABEL '!Artnr'
  227. tVorschlag.Inhalt FORMAT 'z9999' COLUMN-LABEL '!Inhalt'
  228. tVorschlag.Jahr FORMAT 'zzzzz' COLUMN-LABEL '!Jahr'
  229. tVorschlag.KGeb_Text FORMAT "x(12)" COLUMN-LABEL '!Inhalt'
  230. tVorschlag.Artikel FORMAT "x(40)" COLUMN-LABEL '!Artikel'
  231. tVorschlag.lBeschaff FORMAT "Ja/Nein" COLUMN-LABEL 'Beschaff!Artikel'
  232. tVorschlag.Bestand FORMAT '->>>,>>9' COLUMN-LABEL '!Bestand'
  233. tVorschlag.TagesBestand FORMAT '->>>,>>9' COLUMN-LABEL 'Tages!Bestand'
  234. tVorschlag.Bestellt FORMAT '->>>,>>9' COLUMN-LABEL '!Bestellt'
  235. tVorschlag.Rueckstand FORMAT '->>>,>>9' COLUMN-LABEL 'Rück!stand'
  236. tVorschlag.Reserviert FORMAT '->>>,>>9' COLUMN-LABEL 'Reser!viert'
  237. tVorschlag.Mind_Bestand FORMAT '->>>,>>9' COLUMN-LABEL 'Mindest!Bestand'
  238. tVorschlag.Soll_Bestand FORMAT '->>>,>>9' COLUMN-LABEL 'Soll!Bestand'
  239. tVorschlag.Meld_Bestand FORMAT '->>>,>>9' COLUMN-LABEL 'Meld!Bestand'
  240. tVorschlag.Mind_Berechnet FORMAT '->>>,>>9' COLUMN-LABEL 'Mind!BestMe'
  241. tVorschlag.Vorschlag_Me FORMAT '->>>,>>9' COLUMN-LABEL 'Menge!Vorschlag'
  242. tVorschlag.Bestellung FORMAT '->>>,>>9' COLUMN-LABEL 'Bestellen'
  243. tVorschlag.Verbrauch_VorMt1 FORMAT '->>>,>>9' COLUMN-LABEL 'Verbr!vorMt-1'
  244. tVorschlag.Verbrauch_VorMt2 FORMAT '->>>,>>9' COLUMN-LABEL 'Verbr!vorMt-2'
  245. tVorschlag.Verbrauch_VorMt3 FORMAT '->>>,>>9' COLUMN-LABEL 'Verbr!vorMt-3'
  246. tVorschlag.Verbrauch_12Mt FORMAT '->>>,>>9' COLUMN-LABEL 'Verbr!Lzt12Mt'
  247. tVorschlag.Verbrauch_0106 FORMAT '->>>,>>9' COLUMN-LABEL 'Verbr!Mt01-06'
  248. tVorschlag.Verbrauch_0712 FORMAT '->>>,>>9' COLUMN-LABEL 'Verbr!Mt07-12'
  249. tVorschlag.Verbrauch_Aktiv FORMAT '->>>,>>9' COLUMN-LABEL 'Verbr!VorjPer'
  250. tVorschlag.Verbrauch_Verg FORMAT '->>>,>>9' COLUMN-LABEL 'Verbr!VergPer'
  251. tVorschlag.Verbrauch_VjPer1 FORMAT '->>>,>>9' COLUMN-LABEL 'Vj Best!Periode-1' /* Menge vor 1 Jahr für Bestellperiode + 1 (Bestelldatum + Bestellintervall + Lieferzeit */
  252. tVorschlag.Verbrauch_VjPer2 FORMAT '->>>,>>9' COLUMN-LABEL 'Vj Best!Periode-2' /* Menge vor 1 Jahr für Bestellperiode + 2 */
  253. tVorschlag.Verbrauch_VjPer3 FORMAT '->>>,>>9' COLUMN-LABEL 'Vj Best!Periode-3' /* Menge vor 1 Jahr für Bestellperiode + 3 */
  254. tVorschlag.Verbrauch_Letzt FORMAT '->>>,>>9' COLUMN-LABEL 'Verbr!LetztPer'
  255. tVorschlag.GGeb_Me FORMAT '->>>,>>9' COLUMN-LABEL 'GGeb!Menge'
  256. tVorschlag.VGeb_Me FORMAT '->>>,>>9' COLUMN-LABEL 'VGeb!Menge'
  257. tVorschlag.KGeb_Me FORMAT '->>>,>>9' COLUMN-LABEL 'KGeb!Menge'
  258. tVorschlag.lBewegungen FORMAT 'Ja/Nein' COLUMN-LABEL 'Beweg!ungen'
  259. /* _UIB-CODE-BLOCK-END */
  260. &ANALYZE-RESUME
  261. WITH NO-ROW-MARKERS SEPARATORS SIZE 296 BY 23.81.
  262. /* ************************ Frame Definitions *********************** */
  263. DEFINE FRAME fMain
  264. F_Lieferant AT ROW 1.48 COL 3 COLON-ALIGNED NO-LABEL WIDGET-ID 2 NO-TAB-STOP
  265. F_Paletten AT ROW 1.48 COL 118 COLON-ALIGNED WIDGET-ID 8 NO-TAB-STOP
  266. F_Angebrochen AT ROW 1.48 COL 160 COLON-ALIGNED WIDGET-ID 16 NO-TAB-STOP
  267. F_Betrag AT ROW 1.48 COL 193 COLON-ALIGNED WIDGET-ID 10 NO-TAB-STOP
  268. F_Mindest AT ROW 1.48 COL 240.8 COLON-ALIGNED WIDGET-ID 14 NO-TAB-STOP
  269. F_MinBetrag AT ROW 1.48 COL 272.8 COLON-ALIGNED WIDGET-ID 18 NO-TAB-STOP
  270. Br_Vorschlag AT ROW 2.91 COL 3 WIDGET-ID 200
  271. Br_Paletten AT ROW 27.52 COL 43 WIDGET-ID 300
  272. Br_PalArt AT ROW 27.52 COL 181.8 WIDGET-ID 400
  273. Btn_Erfassen AT ROW 36.52 COL 91.8 WIDGET-ID 4
  274. Btn_Cancel AT ROW 36.52 COL 191.8 WIDGET-ID 6
  275. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  276. SIDE-LABELS NO-UNDERLINE THREE-D
  277. AT COL 1 ROW 1
  278. SIZE 300 BY 37.38
  279. CANCEL-BUTTON Btn_Cancel WIDGET-ID 100.
  280. /* *********************** Procedure Settings ************************ */
  281. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  282. /* Settings for THIS-PROCEDURE
  283. Type: SmartWindow
  284. Allow: Basic,Browse,DB-Fields,Query,Smart,Window
  285. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  286. Other Settings: COMPILE APPSERVER
  287. */
  288. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  289. /* ************************* Create Window ************************** */
  290. &ANALYZE-SUSPEND _CREATE-WINDOW
  291. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  292. CREATE WINDOW wBestellvorschlag ASSIGN
  293. HIDDEN = YES
  294. TITLE = "Bestellvorschlag"
  295. HEIGHT = 37.38
  296. WIDTH = 300
  297. MAX-HEIGHT = 99.86
  298. MAX-WIDTH = 768
  299. VIRTUAL-HEIGHT = 99.86
  300. VIRTUAL-WIDTH = 768
  301. RESIZE = NO
  302. SCROLL-BARS = NO
  303. STATUS-AREA = NO
  304. BGCOLOR = ?
  305. FGCOLOR = ?
  306. THREE-D = YES
  307. MESSAGE-AREA = NO
  308. SENSITIVE = YES.
  309. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  310. &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN
  311. IF NOT wBestellvorschlag:LOAD-ICON("grafik/appl.ico":U) THEN
  312. MESSAGE "Unable to load icon: grafik/appl.ico"
  313. VIEW-AS ALERT-BOX WARNING BUTTONS OK.
  314. &ENDIF
  315. /* END WINDOW DEFINITION */
  316. &ANALYZE-RESUME
  317. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wBestellvorschlag
  318. /* ************************* Included-Libraries *********************** */
  319. {src/adm2/containr.i}
  320. /* _UIB-CODE-BLOCK-END */
  321. &ANALYZE-RESUME
  322. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  323. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  324. /* SETTINGS FOR WINDOW wBestellvorschlag
  325. VISIBLE,,RUN-PERSISTENT */
  326. /* SETTINGS FOR FRAME fMain
  327. FRAME-NAME */
  328. /* BROWSE-TAB Br_Vorschlag F_MinBetrag fMain */
  329. /* BROWSE-TAB Br_Paletten Br_Vorschlag fMain */
  330. /* BROWSE-TAB Br_PalArt Br_Paletten fMain */
  331. ASSIGN
  332. Br_Vorschlag:ALLOW-COLUMN-SEARCHING IN FRAME fMain = TRUE
  333. Br_Vorschlag:COLUMN-RESIZABLE IN FRAME fMain = TRUE
  334. Br_Vorschlag:COLUMN-MOVABLE IN FRAME fMain = TRUE.
  335. ASSIGN
  336. F_Angebrochen:READ-ONLY IN FRAME fMain = TRUE.
  337. ASSIGN
  338. F_Betrag:READ-ONLY IN FRAME fMain = TRUE.
  339. ASSIGN
  340. F_Lieferant:READ-ONLY IN FRAME fMain = TRUE.
  341. ASSIGN
  342. F_MinBetrag:READ-ONLY IN FRAME fMain = TRUE.
  343. ASSIGN
  344. F_Mindest:READ-ONLY IN FRAME fMain = TRUE.
  345. ASSIGN
  346. F_Paletten:READ-ONLY IN FRAME fMain = TRUE.
  347. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wBestellvorschlag)
  348. THEN wBestellvorschlag:HIDDEN = YES.
  349. /* _RUN-TIME-ATTRIBUTES-END */
  350. &ANALYZE-RESUME
  351. /* Setting information for Queries and Browse Widgets fields */
  352. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_PalArt
  353. /* Query rebuild information for BROWSE Br_PalArt
  354. _START_FREEFORM
  355. OPEN QUERY {&SELF-NAME} FOR EACH tPalArtikel
  356. _END_FREEFORM
  357. _Query is NOT OPENED
  358. */ /* BROWSE Br_PalArt */
  359. &ANALYZE-RESUME
  360. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Paletten
  361. /* Query rebuild information for BROWSE Br_Paletten
  362. _START_FREEFORM
  363. OPEN QUERY {&SELF-NAME} FOR EACH tPaletten.
  364. _END_FREEFORM
  365. _Query is NOT OPENED
  366. */ /* BROWSE Br_Paletten */
  367. &ANALYZE-RESUME
  368. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Vorschlag
  369. /* Query rebuild information for BROWSE Br_Vorschlag
  370. _START_FREEFORM
  371. OPEN QUERY {&SELF-NAME} FOR EACH tVorschlag.
  372. _END_FREEFORM
  373. _Query is NOT OPENED
  374. */ /* BROWSE Br_Vorschlag */
  375. &ANALYZE-RESUME
  376. /* ************************ Control Triggers ************************ */
  377. &Scoped-define SELF-NAME wBestellvorschlag
  378. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wBestellvorschlag wBestellvorschlag
  379. ON END-ERROR OF wBestellvorschlag /* Bestellvorschlag */
  380. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE
  381. DO:
  382. /* This case occurs when the user presses the "Esc" key.
  383. In a persistently run window, just ignore this. If we did not, the
  384. application would exit. */
  385. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  386. /* ****************************** */
  387. RUN ENDE.
  388. RETURN NO-APPLY.
  389. /* ****************************** */
  390. END.
  391. /* _UIB-CODE-BLOCK-END */
  392. &ANALYZE-RESUME
  393. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wBestellvorschlag wBestellvorschlag
  394. ON WINDOW-CLOSE OF wBestellvorschlag /* Bestellvorschlag */
  395. DO:
  396. /* This ADM code must be left here in order for the SmartWindow
  397. and its descendents to terminate properly on exit. */
  398. RUN ENDE.
  399. RETURN NO-APPLY.
  400. END.
  401. /* _UIB-CODE-BLOCK-END */
  402. &ANALYZE-RESUME
  403. &Scoped-define BROWSE-NAME Br_Paletten
  404. &Scoped-define SELF-NAME Br_Paletten
  405. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Paletten wBestellvorschlag
  406. ON VALUE-CHANGED OF Br_Paletten IN FRAME fMain
  407. DO:
  408. BROWSE Br_Paletten:FETCH-SELECTED-ROW(1).
  409. cGGeb_Cd = tPaletten.GGeb_Cd.
  410. hQueryPalArt:QUERY-PREPARE(SUBSTITUTE('FOR EACH tPalArtikel NO-LOCK WHERE tPalArtikel.GGeb_Cd = &1', QUOTER(cGGeb_Cd))).
  411. hQueryPalArt:QUERY-OPEN().
  412. END.
  413. /* _UIB-CODE-BLOCK-END */
  414. &ANALYZE-RESUME
  415. &Scoped-define BROWSE-NAME Br_Vorschlag
  416. &Scoped-define SELF-NAME Br_Vorschlag
  417. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Vorschlag wBestellvorschlag
  418. ON CTRL-0 OF Br_Vorschlag IN FRAME fMain
  419. DO:
  420. FOR EACH tVorschlag:
  421. tVorschlag.Bestellung = 0.
  422. END.
  423. hQueryVorschlag:QUERY-OPEN().
  424. END.
  425. /* _UIB-CODE-BLOCK-END */
  426. &ANALYZE-RESUME
  427. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Vorschlag wBestellvorschlag
  428. ON DELETE-CHARACTER OF Br_Vorschlag IN FRAME fMain
  429. DO:
  430. BROWSE Br_Vorschlag:FETCH-SELECTED-ROW(1).
  431. DELETE tVorschlag.
  432. BROWSE Br_Vorschlag:DELETE-SELECTED-ROW (1).
  433. END.
  434. /* _UIB-CODE-BLOCK-END */
  435. &ANALYZE-RESUME
  436. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Vorschlag wBestellvorschlag
  437. ON RETURN OF Br_Vorschlag IN FRAME fMain
  438. DO:
  439. DEFINE VARIABLE iRest AS INTEGER NO-UNDO.
  440. BROWSE Br_Vorschlag:FETCH-SELECTED-ROW (1).
  441. RUN g-bestell-mengen.w ( INPUT-OUTPUT htVorschlag ).
  442. tVorschlag.Bestellung:SCREEN-VALUE = STRING(tVorschlag.Bestellung).
  443. tVorschlag.GGeb_Me :SCREEN-VALUE = STRING(tVorschlag.GGeb_Me).
  444. tVorschlag.VGeb_Me :SCREEN-VALUE = STRING(tVorschlag.VGeb_Me).
  445. tVorschlag.KGeb_Me :SCREEN-VALUE = STRING(tVorschlag.KGeb_Me).
  446. RUN BETRAG_PALETTEN_RECHNEN ( RECID(tVorschlag) ).
  447. END.
  448. /* _UIB-CODE-BLOCK-END */
  449. &ANALYZE-RESUME
  450. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Vorschlag wBestellvorschlag
  451. ON ROW-DISPLAY OF Br_Vorschlag IN FRAME fMain
  452. DO:
  453. DEFINE VARIABLE iFarbe AS INTEGER INIT 15.
  454. IF tVorschlag.Typ = 2 THEN iFarbe = 11.
  455. DYNAMIC-FUNCTION ('setFarbe':U, iFarbe ) NO-ERROR.
  456. tVorschlag.Vorschlag_Me:BGCOLOR IN BROWSE Br_Vorschlag = 08.
  457. tVorschlag.Bestellung :BGCOLOR IN BROWSE Br_Vorschlag = 14.
  458. IF tVorschlag.Verbrauch_VjPer1 > (tVorschlag.Verbrauch_Letzt * 1.2) THEN tVorschlag.Verbrauch_VjPer1:BGCOLOR IN BROWSE Br_Vorschlag = 14.
  459. IF tVorschlag.Verbrauch_VjPer2 > (tVorschlag.Verbrauch_Letzt * 1.2) THEN tVorschlag.Verbrauch_VjPer2:BGCOLOR IN BROWSE Br_Vorschlag = 14.
  460. IF tVorschlag.Verbrauch_VjPer3 > (tVorschlag.Verbrauch_Letzt * 1.2) THEN tVorschlag.Verbrauch_VjPer3:BGCOLOR IN BROWSE Br_Vorschlag = 14.
  461. IF tVorschlag.Vorschlag_Me > 0 AND
  462. tVorschlag.Mind_Berechnet > 0 AND
  463. tVorschlag.lMindBestMenge THEN ASSIGN tVorschlag.Vorschlag_Me :BGCOLOR IN BROWSE Br_Vorschlag = 14
  464. tVorschlag.Mind_Berechnet:BGCOLOR IN BROWSE Br_Vorschlag = 14.
  465. END.
  466. /* _UIB-CODE-BLOCK-END */
  467. &ANALYZE-RESUME
  468. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Vorschlag wBestellvorschlag
  469. ON START-SEARCH OF Br_Vorschlag IN FRAME fMain
  470. DO:
  471. END.
  472. /* _UIB-CODE-BLOCK-END */
  473. &ANALYZE-RESUME
  474. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Vorschlag wBestellvorschlag
  475. ON VALUE-CHANGED OF Br_Vorschlag IN FRAME fMain
  476. DO:
  477. PUBLISH 'BESTELLVORSCHLAG' ( tVorschlag.Artnr, tVorschlag.Inhalt, tVorschlag.Jahr ).
  478. APPLY 'ENTRY' TO SELF.
  479. RETURN NO-APPLY.
  480. END.
  481. /* _UIB-CODE-BLOCK-END */
  482. &ANALYZE-RESUME
  483. &Scoped-define SELF-NAME Btn_Cancel
  484. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel wBestellvorschlag
  485. ON CHOOSE OF Btn_Cancel IN FRAME fMain /* Abbrechen */
  486. DO:
  487. RUN ENDE.
  488. RETURN NO-APPLY.
  489. END.
  490. /* _UIB-CODE-BLOCK-END */
  491. &ANALYZE-RESUME
  492. &Scoped-define SELF-NAME Btn_Erfassen
  493. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Erfassen wBestellvorschlag
  494. ON CHOOSE OF Btn_Erfassen IN FRAME fMain /* Bestellung erfassen */
  495. DO:
  496. RUN BESTELLUNG_ERFASSEN.
  497. PUBLISH 'BESTELLUNG_ERFASST' ( iBesnr ).
  498. RUN ENDE.
  499. END.
  500. /* _UIB-CODE-BLOCK-END */
  501. &ANALYZE-RESUME
  502. &Scoped-define BROWSE-NAME Br_PalArt
  503. &UNDEFINE SELF-NAME
  504. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wBestellvorschlag
  505. /* *************************** Main Block *************************** */
  506. { incl/winmainblock.i }
  507. PROCEDURE ShellExecuteA EXTERNAL "shell32.dll":
  508. DEFINE INPUT PARAMETER hwnd AS LONG. /* Handle to parent window */
  509. DEFINE INPUT PARAMETER lpOperation AS CHARACTER. /* Operation to perform: open, print */
  510. DEFINE INPUT PARAMETER lpFile AS CHARACTER. /* Document or executable name */
  511. DEFINE INPUT PARAMETER lpParameters AS CHARACTER. /* Command line parameters to executable in lpFile */
  512. DEFINE INPUT PARAMETER lpDirectory AS CHARACTER. /* Default directory */
  513. DEFINE INPUT PARAMETER nShowCmd AS LONG. /* whether shown when opened:
  514. 0 hidden, 1 normal, minimized 2, maximized 3,
  515. 0 if lpFile is a document */
  516. DEFINE RETURN PARAMETER hInstance AS LONG. /* Less than or equal to 32 */
  517. END PROCEDURE.
  518. /* PROCEDURE EXPORT_EXCEL: */
  519. /* { incl/brwexportexcel.i } */
  520. /* END PROCEDURE. */
  521. /* */
  522. /* PROCEDURE FILTER_SETZEN: */
  523. /* { incl/brwfilter.i } */
  524. /* END PROCEDURE. */
  525. /* */
  526. /* PROCEDURE ZURUECKSETZEN: */
  527. /* { incl/brwresetbreitespalte.i } */
  528. /* END PROCEDURE. */
  529. /* */
  530. PROCEDURE SORTIERBAR:
  531. DEF INPUT PARAMETER ipSort AS HANDLE NO-UNDO.
  532. DEF INPUT PARAMETER ipMove AS HANDLE NO-UNDO.
  533. DEF VAR hBrowser AS HANDLE NO-UNDO.
  534. ipMove:CHECKED = FALSE.
  535. ipSort:CHECKED = TRUE .
  536. hBrowser = Br_Vorschlag:HANDLE IN FRAME {&FRAME-NAME}.
  537. hBrowser:COLUMN-MOVABLE = FALSE.
  538. hBrowser:ALLOW-COLUMN-SEARCHING = TRUE.
  539. END PROCEDURE.
  540. /* */
  541. /* PROCEDURE VERSCHIEBBAR: */
  542. /* DEF INPUT PARAMETER ipMove AS HANDLE NO-UNDO. */
  543. /* DEF INPUT PARAMETER ipSort AS HANDLE NO-UNDO. */
  544. /* */
  545. /* DEF VAR hBrowser AS HANDLE NO-UNDO. */
  546. /* */
  547. /* ipSort:CHECKED = FALSE. */
  548. /* ipMove:CHECKED = FALSE. */
  549. /* hBrowser = Br_Vorschlag:HANDLE IN FRAME {&FRAME-NAME}. */
  550. /* hBrowser:ALLOW-COLUMN-SEARCHING = FALSE. */
  551. /* hBrowser:COLUMN-MOVABLE = TRUE. */
  552. /* END PROCEDURE. */
  553. {src/adm2/windowmn.i}
  554. /* _UIB-CODE-BLOCK-END */
  555. &ANALYZE-RESUME
  556. /* ********************** Internal Procedures *********************** */
  557. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wBestellvorschlag _ADM-CREATE-OBJECTS
  558. PROCEDURE adm-create-objects :
  559. /*------------------------------------------------------------------------------
  560. Purpose: Create handles for all SmartObjects used in this procedure.
  561. After SmartObjects are initialized, then SmartLinks are added.
  562. Parameters: <none>
  563. ------------------------------------------------------------------------------*/
  564. END PROCEDURE.
  565. /* _UIB-CODE-BLOCK-END */
  566. &ANALYZE-RESUME
  567. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BESTELLUNG_ERFASSEN wBestellvorschlag
  568. PROCEDURE BESTELLUNG_ERFASSEN :
  569. /*------------------------------------------------------------------------------*/
  570. /* Purpose: */
  571. /* Parameters: <none> */
  572. /* Notes: */
  573. /*------------------------------------------------------------------------------*/
  574. DEFINE VARIABLE rBesze AS RECID NO-UNDO.
  575. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  576. FOR EACH tVorschlag
  577. WHERE tVorschlag.Bestellung > 0:
  578. EMPTY TEMP-TABLE tBesze.
  579. CREATE tBesze.
  580. ASSIGN
  581. tBesze.Firma = Firma
  582. tBesze.Besnr = tVorschlag.Besnr
  583. tBesze.iStatus = 0
  584. tBesze.Artnr = tVorschlag.Artnr
  585. tBesze.Inhalt = tVorschlag.Inhalt
  586. tBesze.Jahr = tVorschlag.Jahr
  587. .
  588. DYNAMIC-FUNCTION ('fillBesze':U, INPUT-OUTPUT htBesze) NO-ERROR.
  589. IF ERROR-STATUS:ERROR THEN NEXT.
  590. FIND FIRST tBesze.
  591. ASSIGN
  592. tBesze.GGeb_Me = tVorschlag.GGeb_Me
  593. tBesze.VGeb_Me = tVorschlag.VGeb_Me
  594. tBesze.KGeb_Me = tVorschlag.KGeb_Me
  595. tBesze.MBest = tVorschlag.KGeb_Me
  596. tBesze.Verbrauch = tVorschlag.Verbrauch_Letzt
  597. .
  598. CREATE Besze.
  599. BUFFER-COPY tBesze TO Besze.
  600. rBesze = RECID(Besze).
  601. RELEASE Besze.
  602. DYNAMIC-FUNCTION ('calculateBeszeNetto':U, Firma, 0, 0, rBesze ) NO-ERROR.
  603. END.
  604. FOR EACH Besze
  605. WHERE Besze.Firma = Firma
  606. AND Besze.Besnr = iBesnr
  607. AND Besze.Artnr > 0:
  608. FIND ArtLief NO-LOCK
  609. WHERE ArtLief.Firma = Firma
  610. AND ArtLief.Knr = iKnr
  611. AND ArtLief.Artnr = Besze.Artnr
  612. AND ArtLief.Inhalt = Besze.Inhalt
  613. AND ArtLief.Jahr = Besze.Jahr NO-ERROR.
  614. IF NOT AVAILABLE ArtLief THEN NEXT.
  615. IF ArtLief.S_Artnr = '' THEN NEXT.
  616. Besze.S_Artnr = ArtLief.S_Artnr.
  617. END.
  618. LEAVE.
  619. END.
  620. END PROCEDURE.
  621. /* _UIB-CODE-BLOCK-END */
  622. &ANALYZE-RESUME
  623. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BETRAG_PALETTEN_RECHNEN wBestellvorschlag
  624. PROCEDURE BETRAG_PALETTEN_RECHNEN :
  625. /*------------------------------------------------------------------------------*/
  626. /* Purpose: */
  627. /* Parameters: <none> */
  628. /* Notes: */
  629. /*------------------------------------------------------------------------------*/
  630. DEFINE INPUT PARAMETER iprtVorschlag AS RECID NO-UNDO.
  631. DEFINE VARIABLE iAnzPal AS INTEGER NO-UNDO.
  632. DEFINE BUFFER btVorschlag FOR tVorschlag.
  633. FIND btVorschlag WHERE RECID(btVorschlag) = iprtVorschlag.
  634. EMPTY TEMP-TABLE tBesze.
  635. CREATE tBesze.
  636. ASSIGN
  637. tBesze.Firma = Firma
  638. tBesze.Besnr = tVorschlag.Besnr
  639. tBesze.iStatus = 0
  640. tBesze.Artnr = tVorschlag.Artnr
  641. tBesze.Inhalt = tVorschlag.Inhalt
  642. tBesze.Jahr = tVorschlag.Jahr
  643. .
  644. DYNAMIC-FUNCTION ('fillBesze':U, INPUT-OUTPUT htBesze) NO-ERROR.
  645. IF ERROR-STATUS:ERROR THEN RETURN.
  646. ASSIGN
  647. tBesze.GGeb_Me = tVorschlag.GGeb_Me
  648. tBesze.VGeb_Me = tVorschlag.VGeb_Me
  649. tBesze.KGeb_Me = tVorschlag.KGeb_Me
  650. tBesze.MBest = tVorschlag.KGeb_Me
  651. tBesze.Verbrauch = tVorschlag.Verbrauch_Letzt
  652. .
  653. DYNAMIC-FUNCTION ('calculatetBeszeNetto':U, INPUT-OUTPUT htBesze ) NO-ERROR.
  654. DO WITH FRAME {&FRAME-NAME}:
  655. ASSIGN
  656. F_Betrag = F_Betrag - tVorschlag.nNetto
  657. tVorschlag.nNetto = tBesze.Netto
  658. F_Betrag = F_Betrag + tVorschlag.nNetto.
  659. DISPLAY F_Betrag.
  660. END.
  661. iAnzPal = 0.
  662. FOR EACH btVorschlag:
  663. iAnzPal = iAnzPal + tVorschlag.GGeb_Me.
  664. END.
  665. F_Paletten:SCREEN-VALUE = STRING(iAnzPal).
  666. DYNAMIC-FUNCTION ('calculatePaletten':U) NO-ERROR.
  667. END PROCEDURE.
  668. /* _UIB-CODE-BLOCK-END */
  669. &ANALYZE-RESUME
  670. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage wBestellvorschlag
  671. PROCEDURE changePage :
  672. /*------------------------------------------------------------------------------*/
  673. /* Purpose: */
  674. /* Parameters: <none> */
  675. /* Notes: */
  676. /*------------------------------------------------------------------------------*/
  677. RUN SUPER.
  678. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  679. CASE AktSeite:
  680. WHEN 1 THEN
  681. DO:
  682. /* RUN addLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  683. /* RUN addLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  684. /* RUN setButtons IN hAktionen ( 'initial-TableIo' ) NO-ERROR. */
  685. END.
  686. WHEN 2 THEN
  687. DO:
  688. END.
  689. END CASE.
  690. RUN ENTRY_CURSOR.
  691. END PROCEDURE.
  692. /* _UIB-CODE-BLOCK-END */
  693. &ANALYZE-RESUME
  694. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject wBestellvorschlag
  695. PROCEDURE destroyObject :
  696. /*------------------------------------------------------------------------------*/
  697. /* Purpose: */
  698. /* Parameters: <none> */
  699. /* Notes: */
  700. /*------------------------------------------------------------------------------*/
  701. IF VALID-HANDLE(hQueryVorschlag) THEN
  702. DO:
  703. hQueryVorschlag:QUERY-CLOSE().
  704. DELETE OBJECT hQueryVorschlag.
  705. END.
  706. IF VALID-HANDLE(hQueryPaletten) THEN
  707. DO:
  708. hQueryPaletten:QUERY-CLOSE().
  709. DELETE OBJECT hQueryPaletten.
  710. END.
  711. IF VALID-HANDLE(hQueryPalArt) THEN
  712. DO:
  713. hQueryPalArt:QUERY-CLOSE().
  714. DELETE OBJECT hQueryPalArt.
  715. END.
  716. DEF VAR hBrowser AS HANDLE NO-UNDO.
  717. hBrowser = Br_Vorschlag:HANDLE IN FRAME {&FRAME-NAME}.
  718. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
  719. INPUT Sektion ) NO-ERROR.
  720. RUN SUPER.
  721. /* Code placed here will execute AFTER standard behavior. */
  722. END PROCEDURE.
  723. /* _UIB-CODE-BLOCK-END */
  724. &ANALYZE-RESUME
  725. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wBestellvorschlag _DEFAULT-DISABLE
  726. PROCEDURE disable_UI :
  727. /*------------------------------------------------------------------------------
  728. Purpose: DISABLE the User Interface
  729. Parameters: <none>
  730. Notes: Here we clean-up the user-interface by deleting
  731. dynamic widgets we have created and/or hide
  732. frames. This procedure is usually called when
  733. we are ready to "clean-up" after running.
  734. ------------------------------------------------------------------------------*/
  735. /* Delete the WINDOW we created */
  736. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wBestellvorschlag)
  737. THEN DELETE WIDGET wBestellvorschlag.
  738. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  739. END PROCEDURE.
  740. /* _UIB-CODE-BLOCK-END */
  741. &ANALYZE-RESUME
  742. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wBestellvorschlag
  743. PROCEDURE enableObject :
  744. /*------------------------------------------------------------------------------*/
  745. /* Purpose: */
  746. /* Parameters: <none> */
  747. /* Notes: */
  748. /*------------------------------------------------------------------------------*/
  749. Sektion = 'Br_Vorschlag'.
  750. CREATE QUERY hQueryVorschlag.
  751. hQueryVorschlag:SET-BUFFERS(htVorschlag).
  752. hQueryVorschlag:QUERY-PREPARE('FOR EACH tVorschlag').
  753. BROWSE Br_Vorschlag:QUERY = hQueryVorschlag.
  754. CREATE QUERY hQueryPaletten.
  755. hQueryPaletten:SET-BUFFERS(TEMP-TABLE tPaletten:DEFAULT-BUFFER-HANDLE).
  756. hQueryPaletten:QUERY-PREPARE('FOR EACH tPaletten NO-LOCK').
  757. BROWSE Br_Paletten:QUERY = hQueryPaletten.
  758. CREATE QUERY hQueryPalArt.
  759. hQueryPalArt:SET-BUFFERS(TEMP-TABLE tPalArtikel:DEFAULT-BUFFER-HANDLE).
  760. hQueryPalArt:QUERY-PREPARE(SUBSTITUTE('FOR EACH tPalArtikel NO-LOCK WHERE tPalArtikel.GGeb_Cd = &1', QUOTER(cGGeb_Cd))).
  761. BROWSE Br_PalArt:QUERY = hQueryPalArt.
  762. { incl/winenableobject.i }
  763. RUN SUPER.
  764. END PROCEDURE.
  765. /* _UIB-CODE-BLOCK-END */
  766. &ANALYZE-RESUME
  767. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wBestellvorschlag _DEFAULT-ENABLE
  768. PROCEDURE enable_UI :
  769. /*------------------------------------------------------------------------------
  770. Purpose: ENABLE the User Interface
  771. Parameters: <none>
  772. Notes: Here we display/view/enable the widgets in the
  773. user-interface. In addition, OPEN all queries
  774. associated with each FRAME and BROWSE.
  775. These statements here are based on the "Other
  776. Settings" section of the widget Property Sheets.
  777. ------------------------------------------------------------------------------*/
  778. DISPLAY F_Lieferant F_Paletten F_Angebrochen F_Betrag F_Mindest F_MinBetrag
  779. WITH FRAME fMain IN WINDOW wBestellvorschlag.
  780. ENABLE F_Lieferant F_Paletten F_Angebrochen F_Betrag F_Mindest F_MinBetrag
  781. Br_Vorschlag Br_Paletten Br_PalArt Btn_Erfassen Btn_Cancel
  782. WITH FRAME fMain IN WINDOW wBestellvorschlag.
  783. {&OPEN-BROWSERS-IN-QUERY-fMain}
  784. VIEW wBestellvorschlag.
  785. END PROCEDURE.
  786. /* _UIB-CODE-BLOCK-END */
  787. &ANALYZE-RESUME
  788. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wBestellvorschlag
  789. PROCEDURE ENDE :
  790. /*------------------------------------------------------------------------------*/
  791. /* Purpose: */
  792. /* Parameters: <none> */
  793. /* Notes: */
  794. /*------------------------------------------------------------------------------*/
  795. { incl/winende.i }
  796. END PROCEDURE.
  797. /* _UIB-CODE-BLOCK-END */
  798. &ANALYZE-RESUME
  799. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR wBestellvorschlag
  800. PROCEDURE ENTRY_CURSOR :
  801. /*------------------------------------------------------------------------------*/
  802. /* Purpose: */
  803. /* Parameters: <none> */
  804. /* Notes: */
  805. /*------------------------------------------------------------------------------*/
  806. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  807. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname) NO-ERROR.
  808. CASE AktSeite:
  809. /* WHEN 1 THEN DO: */
  810. /* IF FMutFlag THEN RUN applyEntry IN h_v- ( INPUT ? ). */
  811. /* ELSE RUN applyEntry IN h_b- ( INPUT ? ). */
  812. /* END. */
  813. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  814. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  815. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  816. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  817. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  818. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  819. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  820. END CASE.
  821. RETURN NO-APPLY.
  822. END PROCEDURE.
  823. /* _UIB-CODE-BLOCK-END */
  824. &ANALYZE-RESUME
  825. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wBestellvorschlag
  826. PROCEDURE exitObject :
  827. /*------------------------------------------------------------------------------*/
  828. /* Purpose: */
  829. /* Parameters: <none> */
  830. /* Notes: */
  831. /*------------------------------------------------------------------------------*/
  832. RUN ENDE.
  833. RETURN NO-APPLY.
  834. END PROCEDURE.
  835. /* _UIB-CODE-BLOCK-END */
  836. &ANALYZE-RESUME
  837. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject wBestellvorschlag
  838. PROCEDURE initializeObject :
  839. /*------------------------------------------------------------------------------*/
  840. /* Purpose: */
  841. /* Parameters: <none> */
  842. /* Notes: */
  843. /*------------------------------------------------------------------------------*/
  844. /* Code placed here will execute PRIOR to standard behavior. */
  845. RUN SUPER.
  846. { incl/wininitializeobject.i }
  847. DEFINE VARIABLE hBrowser AS HANDLE NO-UNDO.
  848. DEFINE VARIABLE htBrowser AS HANDLE NO-UNDO.
  849. DEFINE VARIABLE hMenu AS HANDLE NO-UNDO.
  850. DEFINE VARIABLE hMenuItem AS HANDLE NO-UNDO.
  851. DEFINE VARIABLE hItem_Filter AS HANDLE NO-UNDO.
  852. DEFINE VARIABLE hItem_Excel AS HANDLE NO-UNDO.
  853. DEFINE VARIABLE hItem_zurueck AS HANDLE NO-UNDO.
  854. DEFINE VARIABLE hItem_sort AS HANDLE NO-UNDO.
  855. DEFINE VARIABLE hItem_move AS HANDLE NO-UNDO.
  856. DEFINE VARIABLE hItem_Rule AS HANDLE NO-UNDO.
  857. DEFINE VARIABLE cMenu AS CHARACTER NO-UNDO.
  858. DEFINE VARIABLE hxMenu AS HANDLE NO-UNDO.
  859. DEFINE VARIABLE hxMenuItem AS HANDLE EXTENT 10 NO-UNDO.
  860. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  861. cInstallation = DYNAMIC-FUNCTION('getInstallation':U) NO-ERROR.
  862. hFenster = DYNAMIC-FUNCTION('getContainerSource':U) NO-ERROR.
  863. IF VALID-HANDLE(hFenster)
  864. THEN Progname = DYNAMIC-FUNCTION('getProgname':U IN hFenster ) NO-ERROR.
  865. EMPTY TEMP-TABLE tBrowser .
  866. EMPTY TEMP-TABLE tMenuItems .
  867. hBrowser = Br_Vorschlag:HANDLE IN FRAME {&FRAME-NAME}.
  868. hBrowser:COLUMN-MOVABLE = TRUE.
  869. htBrowser = TEMP-TABLE tBrowser:DEFAULT-BUFFER-HANDLE.
  870. hMenu = hBrowser:POPUP-MENU NO-ERROR.
  871. hMenuItem = hMenu :FIRST-CHILD NO-ERROR.
  872. DO WHILE VALID-HANDLE (hMenuItem):
  873. IF hMenuItem:NAME = ? OR
  874. NOT hMenuItem:NAME BEGINS 'x_' THEN
  875. DO:
  876. hMenuItem = hMenuItem:NEXT-SIBLING.
  877. NEXT.
  878. END.
  879. CREATE tMenuItems.
  880. ASSIGN
  881. tMenuItems.hMenuItem = hMenuItem.
  882. hMenuItem = hMenuItem:NEXT-SIBLING.
  883. END.
  884. hMenu = ?.
  885. CREATE MENU hMenu
  886. ASSIGN
  887. POPUP-ONLY = TRUE
  888. TITLE = 'Browser Menu'.
  889. CREATE MENU-ITEM hItem_Excel
  890. ASSIGN
  891. LABEL = 'Export in Excel'
  892. NAME = 'm_excel'
  893. PARENT = hMenu.
  894. CREATE MENU-ITEM hItem_Filter
  895. ASSIGN
  896. LABEL = 'Filter setzen'
  897. NAME = 'm_filter'
  898. PARENT = hMenu.
  899. CREATE MENU-ITEM hItem_Rule
  900. ASSIGN
  901. SUBTYPE = 'RULE':U
  902. PARENT = hMenu.
  903. CREATE MENU-ITEM hItem_zurueck
  904. ASSIGN
  905. LABEL = 'Spalten und Breite zurücksetzen'
  906. NAME = 'm_zurueck'
  907. PARENT = hMenu.
  908. CREATE MENU-ITEM hItem_Rule
  909. ASSIGN
  910. SUBTYPE = 'RULE':U
  911. PARENT = hMenu.
  912. CREATE MENU-ITEM hItem_sort
  913. ASSIGN
  914. LABEL = 'Spalten sortierbar'
  915. NAME = 'm_zurueck'
  916. TOGGLE-BOX = TRUE
  917. CHECKED = FALSE
  918. PARENT = hMenu.
  919. CREATE MENU-ITEM hItem_move
  920. ASSIGN
  921. LABEL = 'Spalten verschiebbar'
  922. NAME = 'm_move'
  923. TOGGLE-BOX = TRUE
  924. CHECKED = TRUE
  925. PARENT = hMenu.
  926. CREATE MENU-ITEM hItem_Rule
  927. ASSIGN
  928. SUBTYPE = 'RULE':U
  929. PARENT = hMenu.
  930. FOR EACH tMenuItems ii = 1 TO 10:
  931. CREATE MENU-ITEM hxMenuItem[ii]
  932. ASSIGN
  933. LABEL = tMenuItems.hMenuItem:LABEL
  934. NAME = SUBSTRING(tMenuItems.hMenuItem:NAME,03)
  935. TOGGLE-BOX = tMenuItems.hMenuItem:TOGGLE-BOX
  936. PARENT = hMenu.
  937. IF hxMenuItem[ii]:TOGGLE-BOX = TRUE THEN hxMenuItem[ii]:CHECKED = FALSE.
  938. ON CHOOSE OF hxMenuItem[ii] PERSISTENT RUN VALUE(hxMenuItem[ii]:NAME) IN TARGET-PROCEDURE.
  939. ON VALUE-CHANGED OF hxMenuItem[ii] PERSISTENT RUN VALUE(hxMenuItem[ii]:NAME) IN TARGET-PROCEDURE.
  940. END.
  941. hBrowser:POPUP-MENU = hMenu NO-ERROR.
  942. ON CHOOSE OF hItem_Filter PERSISTENT RUN FILTER_SETZEN IN TARGET-PROCEDURE.
  943. ON CHOOSE OF hItem_Excel PERSISTENT RUN EXPORT_EXCEL IN TARGET-PROCEDURE.
  944. ON CHOOSE OF hItem_zurueck PERSISTENT RUN ZURUECKSETZEN IN TARGET-PROCEDURE.
  945. ON VALUE-CHANGED OF hItem_sort
  946. PERSISTENT RUN SORTIERBAR IN TARGET-PROCEDURE ( hItem_sort, hItem_move ).
  947. ON VALUE-CHANGED OF hItem_move
  948. PERSISTENT RUN VERSCHIEBBAR IN TARGET-PROCEDURE ( hItem_move, hItem_sort ).
  949. DYNAMIC-FUNCTION('getBrowserDaten':U, INPUT htBrowser,
  950. INPUT hBrowser,
  951. INPUT Sektion ) NO-ERROR.
  952. END PROCEDURE.
  953. /* _UIB-CODE-BLOCK-END */
  954. &ANALYZE-RESUME
  955. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENQUERY wBestellvorschlag
  956. PROCEDURE OPENQUERY :
  957. /*------------------------------------------------------------------------------*/
  958. /* Purpose: */
  959. /* Notes: */
  960. /* Parameters: */
  961. /*------------------------------------------------------------------------------*/
  962. IF VALID-HANDLE(hQuery) THEN
  963. DO:
  964. hQuery:QUERY-CLOSE() NO-ERROR.
  965. DELETE OBJECT hQuery.
  966. END.
  967. EMPTY TEMP-TABLE tVorschlag.
  968. ASSIGN
  969. iKnr = 0
  970. iBesnr = 0.
  971. CREATE QUERY hQuery.
  972. hQuery:SET-BUFFERS(iphtVorschlag).
  973. hQuery:QUERY-PREPARE('FOR EACH tVorschlag').
  974. hQuery:QUERY-OPEN().
  975. hQuery:GET-FIRST() NO-ERROR.
  976. F_Betrag = 0.
  977. DO WHILE NOT hQuery:QUERY-OFF-END:
  978. CREATE tVorschlag.
  979. htVorschlag:BUFFER-COPY (iphtVorschlag ).
  980. IF iKnr = 0 THEN iKnr = tVorschlag.Knr.
  981. IF iBesnr = 0 THEN iBesnr = tVorschlag.Besnr.
  982. F_Betrag = F_Betrag + tVorschlag.nNetto.
  983. hQuery:GET-NEXT().
  984. END.
  985. hQuery:QUERY-CLOSE().
  986. DELETE OBJECT hQuery.
  987. DO WITH FRAME {&FRAME-NAME}:
  988. FIND Adresse NO-LOCK
  989. WHERE Adresse.Firma = AdFirma
  990. AND Adresse.Knr = iKnr.
  991. FIND Liefst NO-LOCK
  992. WHERE Liefst.Firma = Firma
  993. AND Liefst.Knr = iKnr NO-ERROR.
  994. IF Liefst.Min_GGebinde > 0 THEN
  995. DO:
  996. F_Mindest:LABEL = 'Mindestmenge GGebinde'.
  997. F_Mindest:SCREEN-VALUE = STRING (Liefst.Min_GGebinde).
  998. END.
  999. IF Liefst.Min_VGebinde > 0 THEN
  1000. DO:
  1001. F_Mindest:LABEL = 'Mindestmenge VGebinde'.
  1002. F_Mindest:SCREEN-VALUE = STRING (Liefst.Min_VGebinde).
  1003. END.
  1004. IF Liefst.Min_KGebinde > 0 THEN
  1005. DO:
  1006. F_Mindest:LABEL = 'Mindestmenge KGebinde'.
  1007. F_Mindest:SCREEN-VALUE = STRING (Liefst.Min_KGebinde).
  1008. END.
  1009. F_Lieferant:SCREEN-VALUE = STRING(iKnr,'999999 ') + Adresse.Anzeig_br.
  1010. F_Betrag :SCREEN-VALUE = STRING(F_Betrag).
  1011. F_MinBetrag:SCREEN-VALUE = STRING(Liefst.Min_Betrag).
  1012. RELEASE Adresse.
  1013. RELEASE Liefst.
  1014. END.
  1015. DYNAMIC-FUNCTION ('calculatePaletten':U IN THIS-PROCEDURE) NO-ERROR.
  1016. hQueryVorschlag:QUERY-OPEN().
  1017. APPLY 'VALUE-CHANGED' TO BROWSE Br_Vorschlag.
  1018. END PROCEDURE.
  1019. /* _UIB-CODE-BLOCK-END */
  1020. &ANALYZE-RESUME
  1021. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEITENWECHSEL wBestellvorschlag
  1022. PROCEDURE SEITENWECHSEL :
  1023. /*------------------------------------------------------------------------------*/
  1024. /* Purpose: */
  1025. /* Notes: */
  1026. /* Parameters: */
  1027. /*------------------------------------------------------------------------------*/
  1028. { incl/winseitenwechsel.i }
  1029. END PROCEDURE.
  1030. /* _UIB-CODE-BLOCK-END */
  1031. &ANALYZE-RESUME
  1032. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage wBestellvorschlag
  1033. PROCEDURE selectPage :
  1034. /*------------------------------------------------------------------------------*/
  1035. /* Purpose: */
  1036. /* Notes: */
  1037. /* Parameters: */
  1038. /*------------------------------------------------------------------------------*/
  1039. DEFINE INPUT PARAMETER piPageNum AS INTEGER NO-UNDO.
  1040. DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
  1041. DEFINE VARIABLE MutProg AS CHARACTER NO-UNDO.
  1042. FMutFlag = DYNAMIC-FUNCTION ('getMutflag':U, INPUT Progname) NO-ERROR.
  1043. IF FMutFlag THEN RETURN NO-APPLY.
  1044. CASE piPageNum:
  1045. END CASE.
  1046. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1047. CASE AktSeite:
  1048. WHEN 1 THEN
  1049. DO:
  1050. /* RUN removeLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  1051. /* RUN removeLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  1052. END.
  1053. END CASE.
  1054. RUN SUPER( INPUT piPageNum).
  1055. END PROCEDURE.
  1056. /* _UIB-CODE-BLOCK-END */
  1057. &ANALYZE-RESUME
  1058. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR wBestellvorschlag
  1059. PROCEDURE TOOLBAR :
  1060. /*------------------------------------------------------------------------------*/
  1061. /* Purpose: */
  1062. /* Parameters: <none> */
  1063. /* Notes: */
  1064. /*------------------------------------------------------------------------------*/
  1065. { incl/wintoolbar.i }
  1066. END PROCEDURE.
  1067. /* _UIB-CODE-BLOCK-END */
  1068. &ANALYZE-RESUME
  1069. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wBestellvorschlag
  1070. PROCEDURE viewObject :
  1071. /*------------------------------------------------------------------------------*/
  1072. /* Purpose: */
  1073. /* Parameters: <none> */
  1074. /* Notes: */
  1075. /*------------------------------------------------------------------------------*/
  1076. RUN SUPER.
  1077. RUN ENTRY_CURSOR.
  1078. END PROCEDURE.
  1079. /* _UIB-CODE-BLOCK-END */
  1080. &ANALYZE-RESUME
  1081. /* ************************ Function Implementations ***************** */
  1082. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION calculatePaletten wBestellvorschlag
  1083. FUNCTION calculatePaletten RETURNS INTEGER
  1084. ( ):
  1085. /*------------------------------------------------------------------------------*/
  1086. /* Purpose: */
  1087. /* Parameters: <none> */
  1088. /* Notes: */
  1089. /*------------------------------------------------------------------------------*/
  1090. DEFINE VARIABLE iRest AS INTEGER NO-UNDO.
  1091. DEFINE VARIABLE GGeb_Voll AS INTEGER NO-UNDO.
  1092. F_Paletten = 0.
  1093. F_Angebrochen = 0.
  1094. EMPTY TEMP-TABLE tPaletten.
  1095. EMPTY TEMP-TABLE tPalArtikel.
  1096. FOR EACH tVorschlag WHERE tVorschlag.Bestellung > 0:
  1097. FIND FIRST tPaletten
  1098. WHERE tPaletten.GGeb_Inhalt = tVorschlag.GGeb_Inhalt
  1099. AND tPaletten.VGeb_Inhalt = tVorschlag.VGeb_Inhalt NO-ERROR.
  1100. IF NOT AVAILABLE tPaletten THEN
  1101. DO:
  1102. CREATE tPaletten.
  1103. ASSIGN
  1104. tPaletten.GGeb_Cd = tVorschlag.GGeb_Cd
  1105. tPaletten.VGeb_Cd = tVorschlag.VGeb_Cd
  1106. tPaletten.GGeb_Inhalt = tVorschlag.GGeb_Inhalt
  1107. tPaletten.VGeb_Inhalt = tVorschlag.VGeb_Inhalt
  1108. .
  1109. FIND GGebinde NO-LOCK
  1110. WHERE GGebinde.Firma = Firma
  1111. AND GGebinde.Geb_Cd = tVorschlag.GGeb_Cd NO-ERROR.
  1112. tPaletten.GGebinde = (IF AVAILABLE GGebinde THEN GGebinde.Bez ELSE FILL('?', 15)).
  1113. RELEASE GGebinde.
  1114. FIND VGebinde NO-LOCK
  1115. WHERE VGebinde.Firma = Firma
  1116. AND VGebinde.Geb_Cd = tVorschlag.VGeb_Cd NO-ERROR.
  1117. tPaletten.VGebinde = (IF AVAILABLE VGebinde THEN VGebinde.Bez ELSE FILL('?', 15)).
  1118. RELEASE VGebinde.
  1119. END.
  1120. tPaletten.VGeb_Menge = tPaletten.VGeb_Menge + tVorschlag.VGeb_Me.
  1121. FIND FIRST tPalArtikel
  1122. WHERE tPalArtikel.GGeb_Cd = tVorschlag.GGeb_Cd
  1123. AND tPalArtikel.Artnr = tVorschlag.Artnr
  1124. AND tPalArtikel.Inhalt = tVorschlag.Inhalt
  1125. AND tPalArtikel.Jahr = tVorschlag.Jahr NO-ERROR.
  1126. IF NOT AVAILABLE tPalArtikel THEN
  1127. DO:
  1128. CREATE tPalArtikel.
  1129. ASSIGN
  1130. tPalArtikel.GGeb_Cd = tVorschlag.GGeb_Cd
  1131. tPalArtikel.Artnr = tVorschlag.Artnr
  1132. tPalArtikel.Inhalt = tVorschlag.Inhalt
  1133. tPalArtikel.Jahr = tVorschlag.Jahr.
  1134. FIND FIRST Artbez NO-LOCK
  1135. WHERE Artbez.Firma = Firma
  1136. AND Artbez.Artnr = tVorschlag.Artnr
  1137. AND Artbez.Inhalt = tVorschlag.Inhalt
  1138. AND Artbez.Jahr = tVorschlag.Jahr.
  1139. tPalArtikel.Bez = TRIM(Artbez.Bez1 + ' ' + Artbez.Bez2).
  1140. END.
  1141. ASSIGN
  1142. tPalArtikel.VGeb_Me = tPalArtikel.VGeb_Me + tVorschlag.VGeb_Me
  1143. tPalArtikel.KGeb_Me = tPalArtikel.KGeb_Me + tVorschlag.KGeb_Me.
  1144. END.
  1145. FOR EACH tPaletten:
  1146. IF tPaletten.GGeb_Inhalt = 0 THEN NEXT.
  1147. iRest = tPaletten.VGeb_Menge MOD tPaletten.GGeb_Inhalt.
  1148. tPaletten.Anz_Paletten = (tPaletten.VGeb_Menge - iRest) / tPaletten.GGeb_Inhalt.
  1149. F_Paletten = F_Paletten + tPaletten.Anz_Paletten.
  1150. IF iRest > 0 THEN F_Angebrochen = F_Angebrochen + 1.
  1151. END.
  1152. F_Paletten :SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(F_Paletten) .
  1153. F_Angebrochen:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(F_Angebrochen).
  1154. hQueryPaletten:QUERY-OPEN().
  1155. IF BROWSE br_Paletten:NUM-ENTRIES > 0 THEN
  1156. DO:
  1157. APPLY 'OFF-HOME' TO Br_Paletten.
  1158. BROWSE br_Paletten:SELECT-FOCUSED-ROW().
  1159. cGGeb_Cd = tPaletten.GGeb_Cd.
  1160. END.
  1161. hQueryPalArt:QUERY-PREPARE(SUBSTITUTE('FOR EACH tPalArtikel NO-LOCK WHERE tPalArtikel.GGeb_Cd = &1', QUOTER(cGGeb_Cd))).
  1162. hQueryPalArt:QUERY-OPEN().
  1163. END FUNCTION.
  1164. /* _UIB-CODE-BLOCK-END */
  1165. &ANALYZE-RESUME
  1166. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getProgname wBestellvorschlag
  1167. FUNCTION getProgname RETURNS CHARACTER
  1168. ( /* parameter-definitions */ ) :
  1169. /*------------------------------------------------------------------------------*/
  1170. /* Purpose: */
  1171. /* Parameters: <none> */
  1172. /* Notes: */
  1173. /*------------------------------------------------------------------------------*/
  1174. RETURN Progname.
  1175. END FUNCTION.
  1176. /* _UIB-CODE-BLOCK-END */
  1177. &ANALYZE-RESUME
  1178. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION SetFarbe wBestellvorschlag
  1179. FUNCTION SetFarbe RETURNS LOGICAL
  1180. ( ipFarbe AS INTEGER ):
  1181. /*------------------------------------------------------------------------------*/
  1182. /* Purpose: */
  1183. /* Parameters: <none> */
  1184. /* Notes: */
  1185. /*------------------------------------------------------------------------------*/
  1186. { incl/brwsetzeilenfarbe.i }
  1187. END FUNCTION.
  1188. /* _UIB-CODE-BLOCK-END */
  1189. &ANALYZE-RESUME