크리스탈 보고서에 마스킹 한 값을 표시하는 수식을 넣었습니다. 하지만 카드 번호 변수에 'The string is non-numeric'오류가 표시됩니다. 다음은 내 공식 코드입니다.크리스탈 보고서에 '문자열이 숫자가 아닙니다.'오류가 발생했습니다. 수식
StringVar cardno;
NumberVar current_len;
NumberVar card_len;
NumberVar start;
NumberVar last;
StringVar ca;
card_len := ToNumber (Mid ({@lens},1,2));
start := ToNumber (Mid ({@lens},3,2));
last := ToNumber (Mid ({@lens},5,2));
current_len := Length (Trim (ToText({CA.CA}, 0 ,'')));
ca := ReplicateString("0",card_len-current_len) + Totext({CA.CA},0,'');
If card_len > current_len Then
If start = 0 Then
If last <= 1 Then
cardno := Mid(ca, last, card_len)
Else
cardno := ReplicateString("X",last-start-1) + Mid(ca, last, card_len)
Else
cardno := Mid (ca,1,start) + ReplicateString("X",last-start-1) + Mid(ca, last, card_len);
이 오류가 발생하지 않도록 해결책을 제공해주십시오. 미리 감사드립니다.
당신이 수과 유사한 내용의 예 원하는 마스크를 게시 할 것인가? – craig
"cardno = XXXXXX1234"처럼 cardno가 필요합니다. – maddy2012
문자열의 길이는 상수입니까? 또는 유효한 길이는 무엇입니까? – craig