LagerplatzAufArtLagerSetzen.p 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. FOR EACH Artst NO-LOCK
  2. WHERE Artst.Firma = '1000':
  3. RELEASE HoReLager.
  4. FIND FIRST LotLager NO-LOCK USE-INDEX LotLager-k3
  5. WHERE LotLager.Firma = Artst.Firma
  6. AND LotLager.Lager = 0
  7. AND LotLager.Artnr = Artst.Artnr
  8. AND LotLager.Inhalt = Artst.Inhalt
  9. AND LotLager.Jahr = Artst.Jahr NO-ERROR.
  10. IF NOT AVAILABLE LotLager THEN
  11. DO:
  12. FIND FIRST LotLager NO-LOCK USE-INDEX LotLager-k3
  13. WHERE LotLager.Firma = Artst.Firma
  14. AND LotLager.Lager = 0
  15. AND LotLager.Artnr = Artst.Artnr
  16. AND LotLager.Inhalt = Artst.Inhalt NO-ERROR.
  17. END.
  18. IF AVAILABLE LotLager THEN
  19. DO:
  20. FIND HoReLager NO-LOCK USE-INDEX HoReLager_Id
  21. WHERE HoReLager.HoReLager_Id = LotLager.HoReLager_Id NO-ERROR.
  22. END.
  23. DO WHILE NOT AVAILABLE HoReLager:
  24. FIND FIRST HoReLager NO-LOCK
  25. WHERE HoReLager.Firma = Artst.Firma
  26. AND HoReLager.Lager = 0
  27. AND HoReLager.Art = 1
  28. AND HoReLager.Artnr = Artst.Artnr
  29. AND HoReLager.Inhalt = Artst.Inhalt
  30. AND HoReLager.Jahr = Artst.Jahr NO-ERROR.
  31. IF AVAILABLE HoReLager THEN LEAVE.
  32. FIND FIRST HoReLager NO-LOCK
  33. WHERE HoReLager.Firma = Artst.Firma
  34. AND HoReLager.Lager = 0
  35. AND HoReLager.Art = 1
  36. AND HoReLager.Artnr = Artst.Artnr
  37. AND HoReLager.Inhalt = Artst.Inhalt NO-ERROR.
  38. IF AVAILABLE HoReLager THEN LEAVE.
  39. FIND FIRST HoReLager NO-LOCK
  40. WHERE HoReLager.Firma = Artst.Firma
  41. AND HoReLager.Lager = 0
  42. AND HoReLager.Art = 2
  43. AND HoReLager.Artnr = Artst.Artnr
  44. AND HoReLager.Inhalt = Artst.Inhalt
  45. AND HoReLager.Jahr = Artst.Jahr NO-ERROR.
  46. IF AVAILABLE HoReLager THEN LEAVE.
  47. FIND FIRST HoReLager NO-LOCK
  48. WHERE HoReLager.Firma = Artst.Firma
  49. AND HoReLager.Lager = 0
  50. AND HoReLager.Art = 2
  51. AND HoReLager.Artnr = Artst.Artnr
  52. AND HoReLager.Inhalt = Artst.Inhalt NO-ERROR.
  53. IF AVAILABLE HoReLager THEN LEAVE.
  54. LEAVE.
  55. END.
  56. IF NOT AVAILABLE HoReLager THEN NEXT.
  57. IF Artst.Jahr > 0 AND
  58. HoReLager.Jahr = 0 THEN
  59. DO:
  60. FOR EACH ArtLager
  61. WHERE ArtLager.Firma = Artst.Firma
  62. AND ArtLager.Lager = 0
  63. AND ArtLager.Artnr = Artst.Artnr
  64. AND ArtLager.Inhalt = Artst.Inhalt:
  65. ArtLager.Ort = HoReLager.cSort.
  66. END.
  67. END.
  68. ELSE DO:
  69. FOR EACH ArtLager
  70. WHERE ArtLager.Firma = Artst.Firma
  71. AND ArtLager.Lager = 0
  72. AND ArtLager.Artnr = Artst.Artnr
  73. AND ArtLager.Inhalt = Artst.Inhalt
  74. AND ArtLager.Jahr = Artst.Jahr:
  75. ArtLager.Ort = HoReLager.cSort.
  76. END.
  77. END.
  78. END.