DESC

내가 보려고 쓰는 블로그

«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Today
-
Yesterday
-
Total
-
  • [IBM] ESQL(Extended Structured Query Language) 개요
    ETC. 2020. 5. 21. 14:18
    반응형

    ESQL(Extended Structured Query Language)은 메시지 플로우 내에서 데이터를 정의하고 조작하기 위해 IBM® Integration Bus에서 정의한 프로그래밍 언어다.

    IIB (IBM Integration Bus) 의 메시지 플로우 내에 노드를 사용자 정의하기 위해 작성하는 ESQL 코드는 ESQL 파일에서 정의되고, 일반적으로 <message_flow_name>.esql으로 지명되며, 통합 프로젝트과 연관된다. 다음과 같은 내장 노드에서 ESQL을 사용할 수 있다.

     

    1. 데이터 유형
      ESQL은 다음의 6개의 데이터 유형을 지원한다.
      1. Boolean
      2. Datetime
      3. 숫자
      4. 참조
      5. 문자열
    2. 변수
      DECLARE 라는 키워드를 사용하여 변수를 정의한다.
      ex ) DECLARE 변수명 데이터유형 ;
      DECLARE fileName CHAR; -- 문자열.
      DECLARE docFile BOOLEAN TRUE; -- BOOLEAN. 기본 값 TRUE 로 지정
      DECLARE fileSize INTEGER 1208; -- 숫자형. 인코딩 형식을 1208(UTF-8)로 지정. 949=한국어(EUC-KR)
      DECLARE filePath REFERENCE to ServerPath; -- 참조를 이용하여 변수 선언
      


      값을 지정할때는 SET 키워드를 사용한다.

      SET docFile = TRUE;
      
      -- 현재시간을 지정한 포맷의 문자열로 반환
      SET uploadedTime = CAST(CURRENT_TIMESTAMP AS CHARACTER FORMAT 'yyyyMMddHHmmssSSS'); 

       

    3.  필드 참조
      메시지 트리 또는 데이터베이스 테이블 내에 특정 필드(구조가 될 수 있음)를 식별하는 연속된 점 분리 값.
      메시지 본문 요소의 루트인 InputRoot(즉, Compute 노드에 대한 입력 메시지의 루트)로 부터 트리구조로 이루어진 노드들을 탐색할 수도 있고 특정 노드를 기준으로 . 을 이용하여 참조한다.
      InputRoot.XMLNS.Data.Invoice
      InputRoot.XMLNS."Customer Data".Invoice


      따옴표가 있는 필드를 참조해야 하는 경우에는 참조 주위에서 두 쌍의 따옴표를 사용

      Body.Message."""hello"""


      중괄호( { ... } )를 사용하는 대체 구문을 사용하여 프로그램이 작성될 때 알려져 있지 않은 필드 이름을 사용할 수 있다. 이 구문을 사용하면 문자 유형의 널이 아닌 값을 리턴하는 모든 표현식을 사용 가능.

      InputRoot.XMLNS."Customer Data".{'Customer-' ||
      	CurrentCustomer}.Invoice


      경로 요소에 별표(*) 와일드카드 문자를 사용하면 모든 이름을 대응

      InputRoot.XMLNS.*.Invoice.Value

     

    참조 ) IBM® IBM Knowledge Center

    https://www.ibm.com/support/knowledgecenter/ko/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ak04861_.htm

     

    IBM Knowledge Center

    Please note that DISQUS operates this forum. When you sign in to comment, IBM will provide your email, first name and last name to DISQUS. That information, along with your comments, will be governed by DISQUS’ privacy policy. By commenting, you are acce

    www.ibm.com

     

    반응형

    'ETC.' 카테고리의 다른 글

    유니코드 Encoding/Decoding  (0) 2020.05.27
    [IBM] 새 Compute Node 작성하기 by ESQL  (0) 2020.05.22
    [IBM] IBM Integration Bus 개요  (0) 2020.05.21
    리눅스 grep 명령어  (0) 2020.05.12

    댓글

Customed By Hailey Gong.