TDS에서는 메시지 내의 널 값의 핸들링을 지원합니다. 메시지 세트 등록 정보인 Boolean 널 표현을 사용하여
값이 Boolean 널 표현에 사용되도록 지정할 수 있습니다. 오브젝트 등록 정보인 널(Null)
인코딩 및 널 인코딩 값을 사용하여 개별적 오브젝트에
널 핸들링이 표현되는 방법을 제어할 수 있습니다.
세 가지 나열된 값인 NULLPadFill, NULLLogicalValue 및 NULLLiteralValue에서
널(Null) 인코딩 등록 정보를 선택할 수 있습니다.
- 고정 길이 오브젝트의 경우 NULLPadFill 옵션만 사용해야 합니다. 기본 유형 dateTime의
오브젝트에 대해 이 옵션을 선택하면 디리미터가 있는 빈 태그인 널(null) dateTime이 기록됩니다. (널(Null) 인코딩 값 등록 정보가
비어 있는 문자열 ""로 설정된 NullLiteralValue를 선택하는 것과 같습니다.) 다른 단순 유형의 오브젝트에 대해 이 옵션을 선택하면, 오브젝트는
패딩 문자 등록 정보에 지정된 값으로 채워집니다. 이 옵션을 선택하면, 널 인코딩 값 등록 정보를 사용할 수 없습니다.
가변 길이 오브젝트에 대해 이 옵션을 선택하면, 구문 분석기에서는 기록할 패딩 문자의 수를
알 수 없으므로, 아무 것도 기록하지 않습니다. 대신에, 구문 분석기는 태그 및 디리미터를 사용하나 데이터 값이 없는
명확한 널(null)을 기록합니다. 예를 들면,
tag1:,
여기서
tag1은
NULLPadFill 세트가 있는 가변 길이 요소의 태그이며,
":"는 태그 데이터 분리 문자이고,
","는 디리미터입니다.
- NULLLogicalValue 옵션을 선택하면, 널 인코딩 값 등록 정보에 입력한 값은
논리 값으로 변환됩니다. 기록할 경우, 논리 값은 다른 값과 동일한 방식으로
기록됩니다. 구문 분석할 경우, 변환된 논리 값은 변환된 메시지 데이터와
비교됩니다.
- NULLLiteralValue 옵션을 선택하면, 널 인코딩 값 등록 정보에 입력된 값은
문자열 값과 마찬가지로 직접 대체됩니다. 값은 대소문자를 구분합니다. 고정 길이 오브젝트의 경우,
리터럴 값은 오브젝트 길이보다 길면 안 됩니다.
리터럴 값이 더 짧으면, 출력에서
널(Null) 인코딩 값이
채워집니다(패딩 문자를 사용하여). 입력 시, NULLLiteralValue의 길이가
길이 필드와 일치하지 않으면, 패딩된 널(null)이 정확하게 구문 분석되도록
메시지 세트 레벨 고정 길이 문자열 조정 등록 정보를 설정해야 합니다.
널 인코딩 값 등록 정보 사용은 위에서 설명한
널(Null) 인코딩 등록 정보에 대해 선택한 값에 따라 달라집니다. 널(Null) 값은 2진 유형으로 정의되어
있지 않습니다. 따라서 널(Null) 인코딩 및 널(Null) 인코딩 값 등록 정보는
2진 유형으로 설정되어 있지 않습니다.