2013-06-14 2 views
0

FIX 메시지에서 반복 그룹을 생성하려고하지만 모든 반복 코드 그룹에 대해 필요한 필드를 결정하는 방법이 필요하므로 모든 것을 하드 코딩 할 필요가 없습니다. 어떤 이유는 quickfix DataDictionary 클래스의 방법반복 그룹 내의 필수 필드 FIX

isRequiredField((java.lang.String msgType, int field) 

가 반복 그룹 내 필수 필드가 작동하지 않습니다하십시오. 예를 들어,

isRequiredField("V", 269) 

이 거짓이더라도, 심지어 required이라고 생각합니다. Fix 4.2 XML에는 필요에 따라이 기능이 있으므로 isRequiredField 메소드가 false를 반환하는 이유는 무엇입니까?

답변

1

필드는 그룹의 카운터 필드에 대한 태그 인 getGroup(java.lang.String msg, int field)이 필요하다고 생각합니다.

그러면 DataDictionary.GroupInfo 개체가 생기며 getDataDictionary().isRequiredField(msgType,field) (동일한 메시지 유형 사용)으로 전화 할 수 있습니다.

어쨌든 작동한다고 생각합니다. docs은 이에 대해 명시 적으로 명확하지 않습니다.

하지만 왜이 작업을 수행하고 있습니까?

솔직히 말해서 왜 이렇게해야한다고 생각하는지 모르겠습니다. 필요한 필드를 동적으로 질의 할 필요가 없습니다. 엔진을 수령하면 필요/불필요한 사항을 확인합니다. 전송할 때 필수 필드를 모두 값으로 설정해야합니다 (동적으로 설정할 수는 없습니다!).

일종의 DD 분석 도구를 쓰지 않는다면, 당신은 빨간 청어를 조사하는 데 시간을 할애하고 있다고 생각합니다.