중간 규모의 복잡한 플랫 파일 스키마에서 작업하고 있으며 커브 볼을 내게 던졌습니다. 여기에 입력이 보이는 무엇과 같은 :Biztalk 매핑 문제, 아이디어 please
BCT121, C, 7.35,6.5,0.39,7216, "스미스, 트레이시", 13456321, 클래스 양재 전문점, 클래스 양재 전문점, VAN, BC, 200901092009011220090127, V , 0.46, BCT121, C, 14.7,13.01,0.78,7216, "SMITH, TRACEY", 13456321, 클래스 드레스 셔츠, 클래스 드레스 셔츠, VAN, BC 200901102009011220090127, V, 0.91, BCT121, C , 60.27,53.34,3.2,5812, "SMITH, TRACEY", 13456321, ME-N-ED 'S PIZZA PARLORS, ME-N-ED 'S PIZZA PARLORS, VAN, BC 200901102009011220090127, V, 3.73, BCT121, C, 201.56,179.96,0,5200, "SMITH, TRACEY", 13456321, 홈 디포 # 7145, 홈 디포 # 7145, 밴, BC 200901102009011220090127, V, 21.6, REF. #^1^
좋아, 그래서 클라이언트가 원하는 출력은 다음과 같습니다.
각 개인/카드 번호에 대해 PRQT라는 헤더 행과 위의 각 거래에 대한 행이 있습니다. 따라서 Tracy의 경우 거래 세부 사항 인 PRQT 행 1 개와 PRLN 행 4 개가 있습니다. . 그래서 같은과 같습니다
PRQT, SMIT6321, 13456321, 세부 사항, 세부 사항 등
PRLN, SMIT6321,7.35, 6.5, 등 등
PRLN, SMIT6321, 14.7 , 13.01 등.
PRLN 등
PRLN, 등 등
좋아, 그래서 내 주요 문제는 헤더에 대해 하나 개의 prqt의 레코드를 삽입하는 방법은? 논리 펑 토이 드에서 출력 스키마에 대해 기존 값이 만들어 졌는지 확인하기 위해 찾아 볼 수있는 것이 있는지 살펴보고 있습니다. 내 기본 키는 SMIT6321 (성 + 카드 번호의 마지막 4 자리)입니다. 그래서 기본적으로 내가 C#으로 코딩했다면 이전에 삽입 된 PRQT 키 배열을 만들고 내 루프 중에 이미 레코드를 만들었는지 확인하기 위해 검색을 수행 할 것입니다. 이미 만든 경우 PRQT 중복 레코드를 만들지 않으므로 건너 뛰었습니다. 레코드는 원본 문서에서 연대순으로 작성되므로 위의 레코드는 위의 샘플처럼 순식간에 뒤죽박죽이 될 가능성이 있습니다.
누구나 올바른 방향으로 나를 가리킬 수 있습니까? 어떤 펑 토이 드를 사용해야합니까? Biztalk Mapper가 이런 종류의 문제를 처리 할 수 있습니까? 나는 그것을 할 수있을 것이라고 확신한다 ... 나는 그것을 알아낼 필요가있다.
덕분에,
에릭
감사합니다. 나는 커스텀 XSLT를 사용하는 것을 끝내었고, 처음에는 약간은 알아 내기가 까다 롭지 만, 꽤 직설적이었다. 나는 필터를 사용하고 나서 위의 출력을 얻기 위해 모든 레코드를 루핑 (for-each)했다. 다시 한 번 감사드립니다. –