cancel
Showing results for 
Search instead for 
Did you mean: 

MAX(CardCode) für Kunden und MAX(CardCode) für Lieferanten

bastian_hofmeister
Participant
0 Kudos

Hallo liebe B1-Gemeinde,

ich habe ein kleines Problem.

Ich brauche eine SQL-Abfrage(wobei ich nicht weiß, ob das ganze mit SQL überhaupt abbildbar ist), welche folgendes kann:

Es soll wie in Note 571681 die GPs hochzählen, jedoch gehen die Kundennummer von 10000-69999 und die Lieferanten erst ab 70000 los.

Ich wollte das ganze schon über den CardType steuern, ich hab mir hier aber die Haare dabei ausgerissen

Hat irgendjemand so eine query parat?? Wäre echt seht dankbar!

LG Bastian

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Wie wäre es mit:

Select Cardtype, max(cardcode)+1 as NeueNummer from ocrd where isnumeric(cardcode)=1
group by cardtype

Gruß

Answers (1)

Answers (1)

Former Member
0 Kudos

Alternativ wäre das hier eine Möglichkleit, um das ganze über den GP-Typ Schalter zu steuern.


Declare @StartWert nvarchar(15)
Declare @EndWert nvarchar(15)
Declare @CardType nvarchar(1)

Set @CardType = $[$40.1]
If @CardType = 'S' Set @StartWert = '70000' Else Set @StartWert = '10000'
If @CardType = 'S' Set @Endwert = '99999' Else Set @EndWert = '69999'

select 
Min(T0.CardCode) +1
from OCRD T0 
where T0.CardCode between @StartWert-1 and @EndWert-1
and CardType = @CardType
and T0.CardCode + 1 not in 
(select U0.CardCode from OCRD U0 where U0.CardType = @CardType)

Als Zusatzfunktion füllt diese Abfrage auch eventuell aufgetretene Lücken innerhalb der zulässigen Nummernbereiche für Kunden/ Leads und Lieferanten.