MSDN Library
콘텐츠의 테이블 축소
콘텐츠의 테이블 확장

BizTalk 서비스의 식 - 사용법 및 예

업데이트 날짜: 2015년 8월

Microsoft Azure BizTalk 서비스의 식 매핑 작업을 설명합니다.

 

매핑 작업 설명 매개 변수 출력

산술 식

입력과 상수를 사용하여 수학 식을 평가합니다. 산술 식은 다음 연산자로 구성됩니다.

  • 더하기

  • 빼기

  • 곱하기

  • 나누기

  • 모듈로

  • 절대 값

  • Maximum

  • Minimum

  • 반올림

  • 제곱근

선택적 입력 매개 변수 0~100개를 포함할 수 있습니다.

 

입력

숫자 값입니다.

산술 식

입력과 상수를 사용하여 정의되는 수학 식입니다.

note참고
식의 최대 길이는 1024자입니다.

계산 결과인 숫자 값입니다.

See 산술 식 예제: BizTalk 서비스.

논리 식

조건을 평가하고 평가의 부울 값을 출력합니다. 논리 식은 다음 연산자로 구성됩니다.

  • 관계형 연산자:

    >

    <

    >=

    <=

    ==

    !=

  • 논리 부정(!)

  • 조건부 AND(&&)

    조건부 OR(||)

선택적 입력 매개 변수 0~100개를 포함할 수 있습니다.

 

입력

숫자 값, 문자열 값 또는 부울 값일 수 있습니다.

논리 식

부울 값으로 평가되는 상수와 입력을 사용하여 정의되는 식입니다.

note참고
식의 최대 길이는 1024자입니다.

논리 식에서 True를 반환하면 True가 반환되고 그렇지 않으면 False가 반환됩니다.

See 논리 식 예제: BizTalk 서비스.

If-Then-Else 식

문을 평가하여 두 개의 가능한 출력 중 하나를 결과로 반환합니다.

선택적 입력 매개 변수 0~100개를 포함할 수 있습니다.

 

입력

숫자 값, 문자열 값 또는 부울 값일 수 있습니다.

Condition

입력과 상수를 사용하여 정의되는 식입니다.

Then 값

문이나 식이 true이면 이 값이 사용됩니다.

Else 값

문이나 식이 false이면 이 값이 사용됩니다.

note참고
식의 최대 길이는 1024자입니다.

결과는 조건식의 평가가 true인지 아니면 false인지를 기준으로 합니다.

식이 true이면 Then 값이 사용되고 false이면 Else 값이 사용됩니다.

See If-Then-Else 식 예: BizTalk 서비스.

조건부 할당

두 입력 매개 변수 중 하나의 값을 반환합니다. 첫 번째 입력 값이 True이면 두 번째 입력 값을 사용하여 출력 문서에 노드가 작성됩니다. 첫 번째 입력 값이 False이면 출력 문서에 해당 노드가 작성되지 않습니다.

정확히 두 개의 입력 매개 변수가 필요합니다.

 

Condition

부울 값이 결과로 반환되는 식입니다. 다음 중 하나일 수 있습니다.

  • 트리 노드의 링크

  • 매핑 작업의 링크

값 지정

조건이 true이면 대상 노드에 할당되는 값입니다.

note참고
이 매핑 작업은 대상 트리 노드에만 연결할 수 있습니다.

조건 값이 "true이면" 값 지정 입력 값을 사용하여 노드가 작성됩니다.

See 조건부 할당 예: BizTalk 서비스.

아래 표에는 모든 매핑 작업에서 사용할 수 있는 추가 함수가 나와 있습니다.

 

함수 설명

Exists

Exists(Source_Node_Name)

단일 입력(원본 문서의 요소 이름)이 필요합니다. 요소가 있으면 True가 반환되고 그렇지 않으면 False가 반환됩니다.

IsDate

IsDate(Input1)

문자열 형식의 단일 입력이 필요합니다. DateTime.TryParse() 메서드를 사용하여 입력을 DateTime 개체로 구문 분석합니다. 입력이 정상적으로 구문 분석되면 True가 반환되고 그렇지 않으면 False가 반환됩니다.

IsEmpty

IsEmpty(Input1)

문자열 형식의 단일 입력이 필요합니다. 문자열이 Null이거나 비어 있으면 True가 반환되고 그렇지 않으면 False가 반환됩니다. 입력이 문자열 개체가 아니면 True가 반환됩니다.

IsNil

IsNil(Source_Node_Name)

단일 인수(원본 문서의 요소 이름)가 필요합니다. 요소가 있고 xsi:nil이 True로 설정되어 있으면 True가 반환되고 그렇지 않으면 False가 반환됩니다.

IsNumber

IsNumber(Input1)

문자열 형식의 단일 입력이 필요합니다. Double.TryParse() 메서드를 사용하여 입력을 double로 구문 분석합니다. 입력이 정상적으로 구문 분석되면 True가 반환되고 그렇지 않으면 False가 반환됩니다.

note참고
천 단위 구분 기호로는 쉼표 ","가 지원되고 소수점으로는 점 "."이 지원됩니다.

Important중요
모든 매핑 작업 및 함수는 Exists 및 IsNil을 제외한 다른 매핑 작업 및 함수 내에서 사용할 수 있습니다. Exists 및 IsNil은 원본 문서의 단일 노드를 가리킵니다.

BizTalk 서비스에서는 오류 처리 방법 및 비어 있거나 null인 노드 처리 방법을 구성하는 기능을 제공합니다. 다음 매핑 작업의 오류 처리 동작을 구성할 수 있습니다.

  • 논리 식

  • 산술 식

  • If-Then-Else 식

단계:

  1. Open a BizTalk Services 프로젝트 or the BizTalk Service Artifacts project in Visual Studio.

  2. 변환(.trfm)을 두 번 클릭하여 변환 디자이너를 엽니다.

  3. 변환 도구 모음에서 설정을 클릭합니다.

오류 처리

오류 처리 탭에서 다음 매핑 작업에는 두 가지 동작 옵션이 있습니다.

  • 논리 식:

    • 맵 실패: 전체 변환을 중단합니다. 변환은 파이프라인 내에서 실행되므로 오류는 파이프라인 내에서 발생하여 메시지를 보낸 클라이언트로 다시 전송됩니다.

    • 출력 기본값 false: 매핑 작업이 실패하면 False가 출력으로 반환됩니다.

  • 산술 식:

    • 맵 실패: 전체 변환을 중단합니다. 변환은 파이프라인 내에서 실행되므로 오류는 파이프라인 내에서 발생하여 메시지를 보낸 클라이언트로 전송됩니다.

    • 출력 기본값 NaN: 매핑 작업이 실패하면 NaN(숫자가 아님)이 출력으로 반환됩니다.

    • 출력 기본값 0: 매핑 작업이 실패하면 0이 출력으로 반환됩니다.

  • If-Then-Else 식:

    • 맵 실패: 전체 변환을 중단합니다. 변환은 파이프라인 내에서 실행되므로 오류는 파이프라인 내에서 발생하여 메시지를 보낸 클라이언트로 다시 전송됩니다.

    • 출력 종류에 따라 Null/0/False 출력: 매핑 작업이 실패하면 출력 종류에 따라 Null/0/False가 출력으로 반환됩니다.

Null/빈 데이터 처리

Null/빈 데이터 처리 탭에는 세 가지 옵션이 있습니다.

  • 누적 작업에서 빈 노드 고려: 이 옵션은 기본적으로 선택되지 않습니다. 이 옵션을 선택하지 않으면 반복에 빈 노드가 포함되지 않고, 선택하면 반복에 빈 노드를 비롯한 모든 노드가 포함됩니다.

    예: 10개 <레코드> 노드가 포함된 문서가 있습니다. 이러한 <레코드> 노드 중 3개가 비어 있습니다. 반복에서 빈 노드 고려를 선택하지 않으면 매핑 작업에서 값으로 7이 반환됩니다. 반복에서 빈 노드 고려를 선택하면 매핑 작업에서 값으로 10이 반환됩니다.

  • 반복에서 빈 노드 고려: 이 옵션은 기본적으로 선택되지 않습니다. 이 옵션을 선택하지 않으면 반복에 빈 노드가 포함되지 않고, 선택하면 반복에 빈 노드를 비롯한 모든 노드가 포함됩니다.

    예: 10개 <레코드> 노드가 포함된 문서가 있습니다. 이러한 <레코드> 노드 중 3개가 비어 있습니다. 반복에서 빈 노드 고려를 선택하지 않으면 매핑 작업은 비어 있지 않은 노드에 대해 7번 반복됩니다. 그러므로 대상에서 7개 <레코드> 노드가 생성됩니다. 반복에서 빈 노드 고려를 선택하면 매핑 작업은 빈 노드를 포함한 모든 노드에 대해 10번 반복됩니다. 그러므로 대상에서 10개 <레코드> 노드가 생성됩니다.

  • 대상 노드 생성: 빈 노드를 고려하도록 구성하는 경우 출력에 빈 노드를 생성할지 여부를 선택합니다. 특히 다음에 대해 주의하세요.

    • 빈 노드를 생성하지 않음: 기본 옵션입니다.

    • 빈 노드 생성

    예: 10개 <레코드> 노드가 포함된 문서가 있습니다. 이러한 <레코드> 노드 중 3개가 비어 있습니다. 누적 작업에서 빈 노드 고려 또는 반복에서 빈 노드 고려를 선택하지 않으면 매핑 작업은 비어 있지 않은 노드에 대해 7번 반복됩니다. 그러므로 대상에서 7개 <레코드> 노드가 생성됩니다. 반복에서 빈 노드 고려를 선택하면 매핑 작업은 빈 노드를 포함한 모든 노드에 대해 10번 반복됩니다. 그러므로 대상에서 10개 <레코드> 노드가 생성됩니다.

참고 항목

기타 리소스

변환 또는 맵 만들기

표시:
© 2016 Microsoft