KorrArtbwAbSavze.p 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. DEF VAR ii AS INT NO-UNDO.
  2. DEF VAR hSavze AS HANDLE NO-UNDO.
  3. DEF VAR Firma AS CHAR INIT '1000' NO-UNDO.
  4. FOR EACH Savko NO-LOCK
  5. WHERE Savko.Firma = Firma
  6. AND Savko.Fak_Datum >= 01/01/2018,
  7. EACH Savze
  8. WHERE Savze.Firma = Savko.Firma
  9. AND Savze.Aufnr = Savko.Aufnr
  10. AND Savze.Artnr > 0:
  11. FIND Artbw NO-LOCK
  12. WHERE Artbw.Firma = Savze.Firma
  13. AND Artbw.Trnr = Savze.Trnr
  14. AND Artbw.Aufnr = Savko.Aufnr
  15. AND Artbw.Faknr = Savko.Faknr
  16. AND Artbw.Artnr = Savze.Artnr
  17. AND Artbw.Inhalt = Savze.Inhalt
  18. AND Artbw.Jahr = Savze.Jahr NO-ERROR.
  19. IF AVAILABLE Artbw THEN NEXT.
  20. FIND Artbw NO-LOCK
  21. WHERE Artbw.Firma = Savze.Firma
  22. AND Artbw.Trnr = Savze.Trnr NO-ERROR.
  23. IF AVAILABLE Artbw THEN DO:
  24. Savze.Trnr = 0.
  25. hSavze = BUFFER Savze:HANDLE.
  26. DYNAMIC-FUNCTION('fillArtbwFromSavze':U, INPUT-OUTPUT hSavze ).
  27. ii = ii + 1.
  28. NEXT.
  29. END.
  30. END.
  31. MESSAGE ii
  32. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
  33. FUNCTION fillArtbwFromSavze
  34. RETURNS LOGICAL
  35. ( INPUT-OUTPUT iohtSavze AS HANDLE ):
  36. /*------------------------------------------------------------------------------
  37. Purpose:
  38. Notes:
  39. ------------------------------------------------------------------------------*/
  40. DEF VAR hArtbw AS HANDLE NO-UNDO.
  41. DEF VAR iAufnr AS INT NO-UNDO.
  42. DEF VAR iArtnr AS INT NO-UNDO.
  43. DEF VAR iTrnr AS INT NO-UNDO.
  44. DEF BUFFER bSavko FOR Savko.
  45. DEF BUFFER bArtbw FOR Artbw.
  46. DEF BUFFER bArtst FOR Artst.
  47. iAufnr = iohtSavze::Aufnr.
  48. iArtnr = iohtSavze::Artnr.
  49. iTrnr = iohtSavze::Trnr .
  50. IF iArtnr = 0 THEN RETURN TRUE.
  51. FIND bSavko NO-LOCK
  52. WHERE bSavko.Firma = Firma
  53. AND bSavko.Aufnr = iAufnr.
  54. FIND LAST bArtbw NO-LOCK USE-INDEX Artbw-k1
  55. WHERE bArtbw.Firma = Firma NO-ERROR.
  56. IF AVAILABLE bArtbw THEN iTrnr = bArtbw.Trnr + 1.
  57. ELSE iTrnr = 1.
  58. iohtSavze::Trnr = iTrnr.
  59. CREATE bArtbw.
  60. ASSIGN bArtbw.Tr_Art = 01.
  61. hArtbw = BUFFER bArtbw:HANDLE.
  62. hArtbw:BUFFER-COPY(iohtSavze).
  63. ASSIGN bArtbw.Menge = iohtSavze::MGeli
  64. bArtbw.Datum = bSavko.Auf_Datum
  65. bArtbw.Faknr = bSavko.Faknr
  66. bArtbw.Fak_Dat = bSavko.Fak_Datum
  67. bArtbw.Knr = bSavko.Knr
  68. bArtbw.Fak_Knr = bSavko.Fak_Knr
  69. bArtbw.Fak_Art = bSavko.Fak_Art
  70. bArtbw.Abhol = bSavko.Abhol
  71. bArtbw.Vertr = bSavko.Vertr
  72. bArtbw.Lag_Buch = FALSE
  73. .
  74. RELEASE bSavko.
  75. RELEASE bArtbw.
  76. RELEASE bArtst.
  77. RETURN TRUE.
  78. END FUNCTION.