MHDListe.p 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. /*------------------------------------------------------------------------
  2. File : MHDListe.p
  3. Purpose :
  4. Syntax :
  5. Description :
  6. Author(s) : walter.riechsteiner
  7. Created : Thu May 06 09:09:53 CEST 2021
  8. Notes :
  9. ----------------------------------------------------------------------*/
  10. /* *************************** Definitions ************************** */
  11. BLOCK-LEVEL ON ERROR UNDO, THROW.
  12. DEFINE TEMP-TABLE tArtLager LIKE ArtLager
  13. FIELD TagesBestand AS INTEGER.
  14. DEFINE TEMP-TABLE tMHDListe
  15. FIELD Artnr AS INTEGER
  16. FIELD Inhalt AS INTEGER
  17. FIELD Jahr AS INTEGER
  18. FIELD Lagerplatz AS CHARACTER
  19. FIELD Bestand AS INTEGER
  20. FIELD Verfall AS DATE FORMAT "99.99.9999"
  21. FIELD Menge AS INTEGER
  22. INDEX tMHDListe-k1 IS PRIMARY
  23. Artnr
  24. Inhalt
  25. Jahr
  26. Lagerplatz
  27. Verfall
  28. .
  29. /* ******************** Preprocessor Definitions ******************** */
  30. /* *************************** Main Block *************************** */
  31. FOR EACH Artst NO-LOCK
  32. WHERE Artst.Firma = '1000'
  33. AND Artst.Aktiv
  34. AND Artst.Lager
  35. AND Artst.lVerfall,
  36. FIRST ArtLager NO-LOCK OF Artst:
  37. CREATE tArtLager.
  38. BUFFER-COPY ArtLager TO tArtLager
  39. ASSIGN
  40. tArtLager.TagesBestand = ArtLager.Bestand.
  41. FOR EACH Aufze NO-LOCK
  42. WHERE Aufze.Firma = Artst.Firma
  43. AND Aufze.Artnr = Artst.Artnr
  44. AND Aufze.Inhalt = Artst.Inhalt
  45. AND Aufze.Jahr = Artst.Jahr
  46. AND Aufze.Lag_Buch = TRUE ,
  47. FIRST Aufko NO-LOCK OF Aufze:
  48. IF Aufko.Lief_Datum <= (TODAY + 1) THEN NEXT.
  49. tArtLager.TagesBestand = tArtLager.TagesBestand + Aufze.MGeli.
  50. END.
  51. END.
  52. FOR EACH tArtLager:
  53. FOR EACH HoReLager NO-LOCK
  54. WHERE HoReLager.Firma = tArtLager.Firma
  55. AND HoReLager.Lager = tArtLager.Lager
  56. AND HoReLager.Artnr = tArtLager.Artnr
  57. AND HoReLager.Inhalt = tArtLager.Inhalt
  58. AND HoReLager.Jahr = tArtLager.Jahr:
  59. FOR EACH LotLager NO-LOCK
  60. WHERE LotLager.HoReLager_Id = HoReLager.HoReLager_Id:
  61. CREATE tMHDListe.
  62. ASSIGN
  63. tMHDListe.Artnr = tArtLager.Artnr
  64. tMHDListe.Inhalt = tArtLager.Inhalt
  65. tMHDListe.Jahr = tArtLager.Jahr
  66. tMHDListe.Lagerplatz = HoReLager.cSort
  67. tMHDListe.Bestand = HoReLager.Bestand
  68. tMHDListe.Verfall = LotLager.Verfall
  69. tMHDListe.Menge = LotLager.Bestand.
  70. END.
  71. END.
  72. END.
  73. OUTPUT TO 'D:\LogFiles\MHDListe.csv' NO-MAP NO-CONVERT.
  74. FOR EACH tArtLager:
  75. FIND Artst NO-LOCK OF tArtLager.
  76. FIND FIRST Artbez NO-LOCK
  77. WHERE ArtBez.Firma = tArtLager.Firma
  78. AND ArtBez.Artnr = tArtLager.Artnr
  79. AND ArtBez.Inhalt = tArtLager.Inhalt
  80. AND ArtBez.Jahr = tArtLager.Jahr.
  81. FIND KGebinde NO-LOCK
  82. WHERE KGebinde.Firma = Artst.Firma
  83. AND KGebinde.Geb_Cd = Artst.KGeb_Cd.
  84. FOR EACH tMHDListe
  85. WHERE tMHDListe.Artnr = tArtLager.Artnr
  86. AND tMHDListe.Inhalt = tArtLager.Inhalt
  87. AND tMHDListe.Jahr = tArtLager.Jahr.
  88. EXPORT DELIMITER ';'
  89. tArtLager.Artnr
  90. tArtLager.Inhalt
  91. tArtLager.Jahr
  92. tArtLager.Bestand
  93. tArtLager.TagesBestand
  94. Artbez.Bez1 + ' ' + Artbez.Bez2
  95. KGebinde.KBez
  96. tMHDListe.Lagerplatz
  97. tMHDListe.Bestand
  98. tMHDListe.Verfall
  99. tMHDListe.Menge.
  100. END.
  101. END.
  102. OUTPUT CLOSE.