C/AL Stringvergleich
Verfasst: 10. Oktober 2022 13:57
Leider sind meine C/AL Kenntnisse nur rudimentär.
Ich muss für einen Etikettendruck aus der Tabelle BIN (Lagerplätze) das Feld Code auswerten.
Beginnt das Feld mit einem Buchstaben drucke ich das Etikett "APL" (das ist ein frei von mir gewählter Name)
Beginnt das Feld mit einer Zahl und die 6. oder 7. Stelle ist ein A dann drucke ich das Etikette "BinL"
Beginnt das Feld mit einer Zahl und die 6. oder 7. Stelle ist kein A dann drucke ich das Etikette "BinR"
Kann man das eleganter lösen, als mein Ansatz?
Ich muss für einen Etikettendruck aus der Tabelle BIN (Lagerplätze) das Feld Code auswerten.
Beginnt das Feld mit einem Buchstaben drucke ich das Etikett "APL" (das ist ein frei von mir gewählter Name)
Beginnt das Feld mit einer Zahl und die 6. oder 7. Stelle ist ein A dann drucke ich das Etikette "BinL"
Beginnt das Feld mit einer Zahl und die 6. oder 7. Stelle ist kein A dann drucke ich das Etikette "BinR"
Kann man das eleganter lösen, als mein Ansatz?
- Code:
txtTyp := '';
IF COPYSTR(Bin.Code,1,1) = 'A' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'B' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'C' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'D' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'E' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'F' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'G' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'H' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'I' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'J' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'K' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'L' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'M' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'N' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'O' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'P' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'Q' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'R' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'S' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'T' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'U' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'V' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'W' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'X' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'Y' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,1,1) = 'Z' THEN txtTyp :='APL'
ELSE IF COPYSTR(Bin.Code,6,1) = 'A' THEN txtTyp :='BinL'
ELSE IF COPYSTR(Bin.Code,7,1) = 'A' THEN txtTyp :='BinL'
ELSE txtTyp :='BinR'