DEFINE TEMP-TABLE tAufko LIKE Aufko. PROCEDURE CREATE_AUFKO. /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipBuffer AS HANDLE NO-UNDO. DEFINE VARIABLE BenDaten AS CHARACTER NO-UNDO. DEFINE VARIABLE Aufnr AS INTEGER NO-UNDO. DEFINE VARIABLE Knr AS INTEGER NO-UNDO. DEFINE VARIABLE FwFakArt AS INTEGER NO-UNDO. DEFINE VARIABLE FwAufSta AS INTEGER NO-UNDO. DEFINE VARIABLE FwFahrer AS INTEGER NO-UNDO. DEFINE VARIABLE FwLKW AS INTEGER NO-UNDO. DEFINE VARIABLE FwBeiFahr AS INTEGER NO-UNDO. DEFINE VARIABLE FwSprcd AS INTEGER INIT 1 NO-UNDO. DEFINE VARIABLE retValue AS CHARACTER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE ii AS INTEGER NO-UNDO. DEFINE VARIABLE hBuffer AS HANDLE NO-UNDO. DEFINE VARIABLE iLager AS INTEGER INIT 0 NO-UNDO. FIND FIRST tAufko. hBuffer = TEMP-TABLE tAufko:DEFAULT-BUFFER-HANDLE. hBuffer:BUFFER-COPY(ipBuffer). FIND Adresse NO-LOCK USE-INDEX Adresse-k1 WHERE Adresse.Firma = '1000' AND Adresse.Knr = tAufko.Knr NO-ERROR. FIND Debst USE-INDEX Debst-k1 WHERE Debst.Firma = '1000' AND Debst.Knr = Adresse.Knr NO-ERROR. FwLKW = 0. FwFahrer = 0. FwBeiFahr = 0. DO WHILE TRUE: IF Debst.KnrLie <> 0 AND Debst.KnrLie <> Debst.Knr THEN DO: ASSIGN tAufko.Knr = Debst.KnrLie tAufko.Fak_Knr = Debst.Knr. LEAVE. END. IF Debst.KnrFak <> 0 AND Debst.KnrFak <> Debst.Knr THEN DO: ASSIGN tAufko.Knr = Debst.KnrLie tAufko.Fak_Knr = Debst.KnrFak. LEAVE. END. ASSIGN tAufko.Knr = Debst.Knr tAufko.Fak_Knr = Debst.Knr. LEAVE. END. FIND Waehrung NO-LOCK WHERE Waehrung.Firma = Debst.Firma AND Waehrung.FRW = Debst.FRW NO-ERROR. Aufnr = DYNAMIC-FUNCTION('createAufnr':U) NO-ERROR. ASSIGN tAufko.Aufnr = Aufnr tAufko.Auf_Datum = TODAY tAufko.Lief_Datum = TODAY tAufko.Kond_Datum = TODAY tAufko.Fak_Datum = ? tAufko.I_Best = '' tAufko.U_Ref = 'eShop' tAufko.Abhol = FALSE tAufko.Vertr = Debst.Vertr tAufko.Rabatt = 0 tAufko.Preis_Grp = Debst.Preis_Grp tAufko.Ku_Grp = Debst.Ku_Grp tAufko.Rab_Grp = Debst.Rab_Grp tAufko.Lief_Bed = Debst.Lief_Bed tAufko.Avis = Debst.Avis tAufko.Frw = Debst.FRW tAufko.Kurs = Waehrung.Kurs tAufko.Faktor = Waehrung.Faktor tAufko.Gedruckt = FALSE tAufko.WW = 0 tAufko.Wpfl = 0 tAufko.Wust = 0 tAufko.Auf_Tot = 0 tAufko.Faknr = 0 tAufko.Bar_Fak = FALSE tAufko.Bar_Betr = 0 tAufko.Bar_Skonto = 0 tAufko.Bar_Konto = '' tAufko.GG_Berech = Debst.Geb_rg tAufko.Kopf_Text = '' tAufko.Fuss_Text = '' tAufko.Samm_Nr = 0 tAufko.SK_Ber = 0 tAufko.Verbucht = FALSE tAufko.Rueckst = FALSE tAufko.Fak_KTnr = 0 tAufko.Fak_FTnr = 0 tAufko.Filiale = 0 tAufko.Tour_Nr1 = Debst.Tour_Nr1 tAufko.Tour_Nr2 = Debst.Tour_Nr2 tAufko.Konto = Debst.Konto tAufko.Geb_Rg = Debst.Geb_Rg tAufko.MWST_Nr = '' tAufko.Passant = Debst.Passant tAufko.Auf_Text = Debst.Auf_Text tAufko.Bar_Text = Debst.Bar_Text tAufko.Abh_Text = Debst.Bemerk tAufko.Zei_Rab_Art = Debst.Zei_Rab_Art tAufko.Zei_Rab_Wert = Debst.Zei_Rab_Wert tAufko.Auf_Rab_Art = Debst.Auf_Rab_Art tAufko.Auf_Rab_Wert = Debst.Auf_Rab_Wert /* tAufko.Abh_Rab_Art = Debst.Abh_Rab_Art tAufko.Abh_Rab_Wert = Debst.Abh_Rab_Wert */ tAufko.Zuschl_Art = Debst.Zuschl_Art tAufko.Zuschl_Wert = Debst.Zuschl_Wert tAufko.Ablad_Vor = Debst.Ablad_Vor tAufko.Wirt_So = Debst.Wirt_So tAufko.Ablad_Vor_Text = Debst.Ablad_Vor_Text tAufko.Wirt_So_Text = Debst.Wirt_So_Text tAufko.MWST = Debst.MWST tAufko.Kond = Debst.Kond tAufko.LKW = FwLKW tAufko.Fahrer = FwFahrer tAufko.BeiFahrer = FwBeiFahr tAufko.Gewicht = 0 tAufko.Transp = 0 tAufko.Verpack = 0 tAufko.Porto = 0 tAufko.Lager = iLager . IF tAufko.Konto = '' THEN DO: FIND SteuNr USE-INDEX SteuNr-k1 WHERE SteuNr.Firma = '1000' NO-LOCK. tAufko.Konto = SteuNr.Konto_Debi. END. ipBuffer:BUFFER-COPY(hBuffer) NO-ERROR. RELEASE Adresse. RELEASE Debst. END PROCEDURE. FUNCTION createAufnr RETURN INTEGER. DEFINE VARIABLE iAufnr AS INTEGER INIT 0 NO-UNDO. REPEAT TRANSACTION: FIND SteuNr WHERE SteuNr.Firma = '1000' EXCLUSIVE-LOCK NO-WAIT NO-ERROR. IF AVAILABLE SteuNr THEN DO: ASSIGN SteuNr.Nr1 = SteuNr.Nr1 + 1 iAufnr = SteuNr.Nr1. RELEASE SteuNr. LEAVE. END. IF LOCKED SteuNr THEN DO: MESSAGE 'SteuNr LOCKED' VIEW-AS ALERT-BOX INFORMATION. NEXT. END. LEAVE. END. RETURN iAufnr. END FUNCTION.