Menü

cn_TraAfLf_dojob

Zurück | Ebene zurück

Erzeugt einen Lieferschein anhand der vorher mit cn_TraAfLf_AddAfp hinterlegten Auftragspositionen und -Mengen.

Syntax

PROC cn_TraAfLf_DoJob
      @JobId int,
      @lf_id int = NULL OUT,
      @lf_Nummer int = NULL OUT,
      @LfBuchungsTyp int = NULL

Argumente

@JobId

Die ID des Umwandlungs-Jobs. Das ist die ID-Spalte aus cnTraAfLfJob

@lf_id

[OUT]
Die ID des erzeugten Lieferscheins

@lf_nummer

[OUT]
Die Nummer (Spalte Kopfnummer) des erzeugten Lieferscheins

@lfBuchungsTyp

Angabe ob, und wenn ja, wie der Lieferschein verbucht werden soll

Wert Beschreibung
NULL Der Standard-Wert wird verwendet
0 Der Lieferschein wird nicht gebucht
1 Der Lieferschein wird reserviert
2 Das Lager wird gebucht

Beispiel

DECLARE @JobId int, @lf_nummer int, @exec int

/* Erzeugen eines neuen Jobs */
INSERT cnTraAfLfJob (Status) VALUES(0)
SELECT @jobid = SCOPE_IDENTITY()

/* Hinzufügen einer Auftragsposition zu diesem Job */
EXEC @exec = cn_TraAfLf_JobAddAfp
  @JobId = @JobId, @Menge = 5, @afp_id = 433

/* hier können weitere Auftragspositionen angefügt werden */

/* Das eigentliche Umwandeln des Auftrags */
EXEC @exec = cn_TraAfLf_DoJob @JobId = @JobId, 
      @lf_nummer = @lf_nummer OUT

IF @exec = 0
BEGIN
  PRINT 'Erzeugter Lieferschein:'+CONVERT(varchar, @lf_nummer)

  /* An dieser Stelle kann auf IDs der erzeugten */
  /* Lieferscheinpositionen zugegriffen werden */
  SELECT afp_id [AuftragPos-ID], lfp_id [LieferscheinPos-ID], Menge
  FROM cnTraAfLfJobItem WHERE jobid = @jobId

END ELSE
  PRINT 'Es ist ein Fehler aufgetreten'

/* Löschen des Jobs */
EXEC @exec = cn_TraAfLf_DelJob @JobId = @JobId