이 주제는 다음 절을 포함합니다.
Mapping 노드를 사용하여 하나 이상의 새 메시지를 구성하고 새 정보, 입력 메시지에서 수정된 정보 또는 데이터베이스에서 가져온 정보로 이들 메시지를 채우십시오. 메시지 본문 데이터, 해당 연관 환경 및 해당 예외 목록의 요소를 수정할 수 있습니다.
먼저 노드의 메시지 맵을 열거나 작성할 경우, 이 맵은 메시지 플로우 노드에서 호출되며 등록 정보와 메시지 본문을 맵핑합니다. 옵션을 지정하면 입력 메시지의 헤더가 항상 수정 없이 출력 메시지에 복사됩니다.
Mapping 노드에서 메시지 헤더를 수정하려면 이 맵은 메시지 플로우 노드에서 호출되며 등록 정보와 헤더 및 메시지 본문을 맵핑합니다. 옵션을 선택해야 합니다. 이와 같이 하면 작성되는 맵에서 MQ, HTTP 및 JMS 헤더와 같은 추가 요소를 맵핑할 수 있습니다.
이러한 출력 메시지 구성요소는 입력 메시지와 외부 데이터베이스 데이터 둘 모두의 요소에 기반하는 맵핑을 사용하여 정의할 수 있습니다. 입력(메시지 또는 데이터베이스)을 출력에 맵핑하여 이 노드와 연관된 맵핑 파일에 노드와 연관된 맵핑을 작성합니다. 제공되었거나 사용자 정의 함수 및 프로시저를 사용하여 이 맵핑에 의해 이루어진 지정을 선택적으로 수정할 수 있습니다. 예를 들면, 메시지 출력 필드로 지정할 때 문자열 값을 대문자로 변환할 수 있습니다.
맵핑 노드를 사용하여 다음을 수행할 수 있습니다.
Mapping 노드는 Workbench에서 다음 아이콘으로 표시됩니다.
Mapping 노드 인스턴스를 메시지 플로우에 넣었으면 이 노드를 구성할 수 있습니다. 편집기 보기에서 이 노드를 마우스 오른쪽 단추로 누른 후 등록 정보를 누르십시오. 노드의 기본 등록 정보가 표시됩니다.
값을 입력해야 하는 모든 필수 등록 정보(정의된 디폴트 값이 없는 등록 정보)는 등록 정보 대화 상자에서 별표(*)로 표시됩니다.
다음과 같이 Mapping 노드를 구성하십시오.
z/OS 시스템에서는 브로커가 브로커 시작 작업 ID나, 사용자 정의 데이터 세트 <hlq>.SBIPPROC에서 mqsisetdbparms 명령 JCL, BIPSDBP에 지정한 사용자 ID 및 암호를 사용합니다.
이 입력 필드 옆의 찾아보기를 누르면 이 노드에서 액세스할 수 있는 사용 가능한 모든 맵핑 루틴을 나열하는 대화 상자가 표시됩니다. 원하는 루틴을 선택한 후 확인을 누르십시오. 루틴 이름은 맵핑 모듈에서 설정합니다.
이 노드와 연관된 맵핑 루틴에 대해 작업하려면 노드를 마우스 오른쪽 단추로 누르고 맵핑 열기를 누르십시오. 맵핑 루틴이 존재하지 않을 경우, 디폴트 파일의 디폴트 이름이 작성됩니다. 파일이 이미 존재할 경우, 네비게이터 보기에서 <flow_name>_<node_name>.mfmap 파일을 열 수도 있습니다.
맵핑 루틴은 연관되는 노드 유형에 고유합니다. Mapping 노드용으로 개발한 맵핑 루틴을 맵핑을 사용하는 다른 노드(예: DataInsert 노드)와 함께 사용할 수 없습니다. 맵핑 루틴을 작성하는 경우, ESQL 루틴에서 맵핑 루틴을 호출할 수 있지만 다른 맵핑 루틴에서는 이를 호출할 수 없습니다.
맵핑 파일에 대한 작업 및 이들 파일의 컨텐츠 정의에 대한 자세한 정보는 메시지 맵핑 개발을 참조하십시오.
필요한 출력 메시지 형식을 올바르게 반영하려면 이 등록 정보를 설정해야 합니다. 특정 메시지 구성요소를 포함시키지 않는 옵션을 선택한 경우(또는 디폴트 값을 승인한 경우), 이 구성요소는 구성된 출력 메시지에 포함되지 않습니다.
(버전 2.1 이전의 릴리스에서, 연관된 환경(로컬 환경)은 목적지 목록(DestinationList)으로 알려져 있었습니다.) 목적지 목록도는 유효하며 호환성을 위해 사용될 수 있습니다.)
(메시지 트리의 환경 구성요소는 모드 설정의 영향을 받지 않습니다. 해당 컨텐츠(있는 경우)는 이 노드에서 전달됩니다.)
다음 표에는 옵션이 설명되어 있습니다.
모드 | 설명 |
---|---|
메시지(디폴트) | 노드에서 수정한 대로 Mapping 노드를 통해 생성되거나 전달되는 메시지. |
LocalEnvironment | 로컬 환경 트리 구조는 노드 내에서 수정한 대로 Mapping 노드를 통해 생성되거나 전달됩니다. |
로컬 환경 및 메시지 | 로컬 환경 트리 구조 및 메시지는 노드에서 수정한 대로 Mapping 노드를 통해 생성되거나 전달됩니다. |
예외 | 예외 목록은 노드에서 수정한 대로 Mapping 노드를 통해 생성되거나 전달됩니다. |
예외 및 메시지 | 예외 목록 및 메시지는 노드에서 수정한 대로 Mapping 노드를 통해 생성되거나 전달됩니다. |
예외 및 로컬 환경 | 예외 목록 및 로컬 환경 트리 구조는 노드에서 수정한 대로 Mapping 노드를 통해 생성되거나 전달됩니다. |
모두 | 메시지, 예외 목록 및 로컬 환경은 노드에서 수정한 대로 Mapping 노드를 통해 생성되거나 전달됩니다. |
상자를 선택하면, 노드는 데이터베이스에서 리턴된 모든 양의 리턴 코드를 오류로 핸들링하고 음의 리턴 코드 또는 그 이상의 심각한 오류에서와 같은 방법으로 예외를 생성합니다.
선택란을 선택하지 않으면, 노드에서는 경고를 정상 리턴 코드로 처리하고 예외를 전달하지 않습니다. 발생하는 경고 중 가장 중요한 것은 없음으로서, 대부분의 환경에서 정상적인 리턴 코드로 안전하게 핸들링될 수 있습니다.
선택란을 지운 경우, 브로커와 데이터베이스의 무결성을 보장하려면 메시지 플로우 내의 오류를 핸들링해야 합니다. 자체 처리를 통해 오류를 핸들링하지 않을 경우, 브로커가 디폴트 오류 핸들링을 호출하도록 선택하지 않았으므로 오류가 무시됩니다. 예를 들면, failure 터미널을 오류 처리 서브루틴에 연결할 수 있습니다.
자세한 정보는 메시지 유효성 검증 및 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.
MQRFH2 헤더에 MQRFH2 구문 분석기 대신 MQRFH2C 압축 구문 분석기를 사용하려면 MQRFH2 도메인에 대해 MQRFH2C 압축 구문 분석기 사용 선택란을 선택하십시오.
기타 등록 정보는 입력 메시지에 있는 혼합 텍스트, 주석 및 처리 지시사항에 XMLNSC 구문 분석기를 사용할지 여부를 제어합니다.
대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.
다음 표에는 Mapping 노드의 터미널이 설명되어 있습니다.
터미널 | 설명 |
---|---|
In | 노드가 처리할 메시지를 승인하는 입력 터미널. |
Failure | 처리 중에 실패가 감지될 경우 입력 메시지가 전달될 출력 터미널. 경고를 오류로 처리를 선택한 경우 처리가 정상적으로 완료되어도 데이터베이스 경고 메시지가 리턴되면 노드는 메시지를 해당 터미널에 전달합니다. |
Out | 맵핑 실행 결과 발생하는 메시지를 출력하는 출력 터미널. |
다음 표에는 노드 등록 정보가 설명되어 있습니다. 앞에 M이 표시된 열은 등록 정보가 필수임을 나타내며(디폴트가 정의되지 않았을 때 값을 입력해야 하는 경우 등록 정보 대화 상자에 별표(*)로 표시됨) 앞에 C가 표시된 열은 등록 정보가 구성 가능함을 나타냅니다(메시지 플로우를 Bar 파일에 추가하여 전개할 때 값을 변경할 수 있음).
다음 표에는 Mapping 노드의 기본 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
데이터 소스 | 아니오 | 예 | 이 등록 정보는 이 노드와 연관된 맵핑에서 참조하는 테이블이 상주하는 데이터베이스의 ODBC 데이터 소스 이름(맵핑 모듈 등록 정보에 의해 식별됨). | |
트랜잭션 | 예 | 아니오 | 자동 | 노드의 트랜잭션 모드. 올바른 값은 자동 또는 확약입니다. |
맵핑 루틴 | 예 | 아니오 | 맵핑 | 데이터베이스 또는 메시지 트리에 대해 실행되는 명령문을 포함하는 맵핑 루틴의 이름. 이 유형의 노드에 대해 루틴은 고유합니다. |
맵핑 모드 | 예 | 아니오 | 메시지 | 다음 중에서 하나를 선택하십시오.
|
경고를 오류로 처리 | 예 | 아니오 | 지우기 | 데이터베이스 SQL 경고를 오류로 처리합니다. 이 선택란을 선택하면 이 조치가 수행됩니다. |
데이터베이스 오류 시 예외 전달 | 예 | 아니오 | 선택 | 데이터베이스 오류가 발생할 때 브로커가 예외를 전달하도록 합니다. 이 선택란을 선택하면 이 조치가 수행됩니다. |
다음 표에는 Mapping 노드의 유효성 검증 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
유효성 검증 | 예 | 예 | 없음 | 유효성 검증이 발생하는지의 여부. 올바른 값은 없음, 컨텐츠 및 값, 컨텐츠 및 상속입니다. |
실패 조치 | 예 | 아니오 | 예외 | 유효성 검증 실패가 발생할 경우에 취할 조치. 유효성 검증을 컨텐츠 또는 컨텐츠 및 값으로 설정한 경우에만 이 등록 정보를 설정할 수 있습니다. 올바른 값은 사용자 추적, 로컬 오류 로그, 예외 및 예외 목록입니다. |
모든 값 제한조건 포함 | 예 | 아니오 | 선택 | 이 등록 정보는 편집할 수 없습니다. 선택될 선택란에 표시되는 디폴트 조치는 유효성 검증 내에 모든 값 제한조건이 포함되어 있는 것입니다. |
수정사항 | 예 | 아니오 | 없음 | 이 등록 정보는 편집할 수 없습니다. 최소 수정이 제공됩니다. 올바른 값은 없음 및 전체입니다. |
다음 표에는 Mapping 노드의 일반 메시지 옵션 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
구문 분석 타이밍 | 예 | 아니오 | 요청시 | 이 등록 정보는 입력 메시지를 구문 분석하는 시기를 제어합니다.
올바른 값은 요청시,
즉시 및
완료입니다. 이 등록 정보에 대한 자세한 설명은 요청시 구문 분석을 참조하십시오. |
MQRFH2 도메인에 MQRFH2C 압축 구문 분석기 사용 | 아니오 | 아니오 | False | 이 등록 정보는 MQRFH2 헤더에 MQRFH2 구문 분석기 대신 MQRFH2C 압축 구문 분석기를 사용하는지 여부를 제어합니다. |
다음 표에는 Mapping 노드의 XMLNSC 구문 분석기 옵션이 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
XMLNS 도메인에 XMLNSC 압축 구문 분석기 사용 | 예 | 지우기 | 아니오 | ![]() ![]() |
혼합 컨텐츠 보유 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 혼합 텍스트를 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 혼합 텍스트에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 혼합 텍스트가 무시되고 요소가 작성되지 않음을 의미합니다. |
주석 보유 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 주석을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 주석에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 주석이 무시되고 요소가 작성되지 않음을 의미합니다. |
처리 지시사항 보유 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 처리 지시사항을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 처리 지시사항에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 처리 지시사항이 무시되고 요소가 작성되지 않음을 의미합니다. |
다음 표에는 Mapping 노드 설명 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
간단한 설명 | 아니오 | 아니오 | 노드에 대한 간략한 설명. | |
자세한 설명 | 아니오 | 아니오 | 메시지 플로우에서 노드의 목적을 설명하는 텍스트. |