2012-04-27 4 views
0

EDIFACT에는 숫자 데이터 요소가 있습니다. 형식 n..5로 - 데이터베이스 테이블에 해당 필드를 저장하려고합니다 (영숫자 필드가 있으므로 확인할 수 있습니다). 가능한 모든 유효한 값을 저장할 수 있도록 db 필드가 얼마나 오래 있어야합니까? 적어도 두 개의 추가 문자 (소수점 (또는 쉼표 또는 기타) 및 가능한 경우 빼기 기호)가 있음을 알고 있습니다.숫자 EDIFACT 데이터 요소는 얼마나 길 수 있습니까?

관련 가이드가 아닌 UN/EDIFACT 표준을 사용하여 테이블을 만들고 있으므로 해당 표준과 일치하는 모든 것을 저장할 수 있기를 원합니다. 그러나 숫자 데이터 요소에 대한 문서화는 그리 간단하지 않습니다. (또는 적어도 그 부분을 찾을 수 없었습니다.) 어떤 도움

답변

1

UN/EDIFACT 규칙 Part 4. UN/EDIFACT rules Chapter 2.2 Syntax Rules의 설명서에서 UNECE web site에 대한 정보를 찾았습니다. 그들은 직접 말하지 않지만, 모든 부분을 함께 넣으면 이해할 수 있습니다. 목차 10 : 숫자 데이터 요소 값의 표현을 참조하십시오.

여기가 기본적으로 말씀입니다 :

10.1 : (필요한 경우) (항상 하나 개의 문자 넣어, 쉼표 또는 점) UNA에 지정된 소수점
진수 표시가 전송되어야한다. 그것은 데이터 요소의 최대 필드 길이를 계산할 때 값의 특성으로 간주되어서는 안된다.

10.2 : 인조의 separator
인조 구분이 교환에 사용할 수 없다.

10.3 : 로그인
값이 마이너스로 표시 할 경우 [...], 그것은 즉시 송신 빼기 선행되어야 예컨대 -112. - 기호는 데이터 요소의 최대 필드 길이를 계산할 때 값의 문자로 계산되지 않습니다. 그러나 캐릭터는 송수신 할 때 수당을 주어야합니다.

함께 넣어 : 소수점 구분자와 마이너스 기호 (공 i이 문자의 사이에서 허용되지 않습니다) : 자신이 숫자 필드에 허용 된 두 (선택 사항) 문자가있는 숫자 이외의
. 이 두 개의 추가 문자는 필드의 값의 최대 길이에 대해 계산되지 않습니다.

숫자 필드의 최대 문자 수는 숫자 필드의 최대 길이에 2를 더한 값입니다. n..17으로 지정된 필드에 전송 된 모든 구문 적으로 올바른 값을 데이터베이스에 저장할 수있게하려면, 길이가 19 자 (예 : varchar(19)) 여야합니다.n..17으로 지정된 필드에서 19 자보다 긴 값을 갖는 모든 EDIFACT 메시지는 구문 론적으로 잘못되어 거부 될 수 있기 때문에 의미 검사를 위해 DB에 저장 될 필요가 없습니다.

0

에 대한

덕분에 나는 비슷한 문제를 해결하기 위해 연락에서 EDI 메모장을 사용했다. https://liaison.com/products/integrate/edi/edi-notepad

적어도 EDI 메모장 무료 (익스프레스) 버전을 얻으려면 EDI를 보는 것이 좋습니다.

"하이 엔드"버전 (EDI 메모장 생산성 제품군)에는 요소의 최소/최대 길이 및 유형을 내보낼 수있는 "사전 뷰어"도구가 함께 제공됩니다. 뷰어 도구에서 문서를 HTML로 내보낼 수 있습니다. 또한 ANSI X12도 처리합니다.

+0

팁 주셔서 감사합니다 -하지만 거기에 등록해야합니다 (무료 버전 인 경우에도). 나는 회사 정보를 사용하지 않을 것입니다. – kratenko

+0

가짜 정보로 항상 채울 수 있습니다. :) 다운로드 페이지로 이동하는 것입니다. 무료 이메일 주소로 양식을 작성하면 소프트웨어를 다운로드 할 수 있습니다. 당신이 원하지 않는 한 그 누구와도 말할 필요가 없습니다. – Andrew