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진 유형으로 설정되어 있지 않습니다.