페이지 트리
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 6 다음 »


page no.  97634161

Start Release No : 7.0.500.20241017-11 / Update Release No : 

작성자 : 김예슬  / 검수자 : 


  1. 기능 설명
    1. 콤마(,)가 포함된 값의 문제점
      i-AUD7 에서는 콤마(,) 를 값의 구분자로 사용하고 있습니다. 
      따라서 값에 'A,B,C' 처럼 콤마(,)가 포함되어 있는 경우, 이를 세 개의 값(A, B, C) 으로 인식할 수 있습니다.
      이를 방지하기 위해 콤마(,)를 값으로 인식하도록 하는 별도의 처리가 필요합니다.

    2. 콤마(,)가 포함된 값을 처리하는 방법

      콤마(,)가 포함된 값을 하나의 값으로 인식시키기 위해서는 콤마(,) 앞에 \\ (역슬래시)를 추가하여 해당 콤마(,)가 값에 포함되어 있음을 알려줄 수 있습니다.

      예를 들어, 값 'A,B,C' 를 하나의 값으로 전달하려면 다음과 같이 콤마(,) 앞에 \\를 붙여야 합니다.

      예시:

      • 잘못된 값 전달: A,B,C
      • 올바른 값 전달: A\\,B\\,C

      이렇게 작성하면 A\\,B\\,C는 콤마(,)가 포함된 하나의 값으로 처리됩니다.

  2.  파라미터 처리 방법
    1. 변수를 파라미터로 사용하는 경우
      GlobalParam, Variable, TextBox 처럼 사용자가 값을 정의하여 사용할 수 있는 파라미터의 경우 콤마(,) 앞에 역슬래시(\\)를 추가해야 합니다.

      예제 코드
      var value = 'A,B,C' // 콤마(,)가 포함된 값
      var resultValue = value.split(',').join('\\,'); // 콤마(,) escape 처리한 값 ( A\\,B\\,C )
      
      
      // GlobalParam
      Matrix.AddGlobalParams('VS_EX_GLOBALPARAM', resultValue, 1 /* string */);	
      
      // Variable
      Matrix.SetVariable('VS_EX_VARIABLE', resultValue);
      
      // TextBox 를 파라미터로 사용하는 경우
      Matrix.getObject('VS_TextBox').Text = resultValue;
    2. ComboBox, MultiComboBox, PickList 를 파라미터로 사용하는 경우 (별도의 처리가 필요하지 않습니다)

      각 컨트롤에서 값 목록에서 'A,B,C'라는 값을 선택했을 때 파라미터로 전달되는 방식은 다음과 같습니다.

      생성된 쿼리
      SELECT T1.CODE
      FROM (SELECT 'A,B,C' AS CODE
      UNION ALL
      SELECT 'A' AS CODE
      UNION ALL
      SELECT 'B' AS CODE
      UNION ALL
      SELECT 'B,B,B' AS CODE) T1
      WHERE T1.CODE IN ('A,B,C','A','B,B,B')	-- 변수가 올바르게 바인딩 되어 있음을 확인

      ※ 사용자 스크립트에서 값을 가져오는 동작은 기존과 동일하게 수행되며, 콤마(,) 처리로 인한 별도의 조치가 필요하지 않습니다.

주의 사항

  • 콤마(,)가 포함된 값을 반드시 하나의 값으로 전달해야 하는 경우 모든 콤마(,) 앞에 \\ (역슬래시)를 추가하여야 합니다.
  • AUD 라이브러리와 서버 모두 패치가 필요합니다.
  • 변경 사항

    변경 전변경 후릴리즈 번호
    값에 콤마(,)가 포함된 경우, 이를 여러 개의 값으로 인식하여 쿼리의 파라미터가 잘못 전달되는 문제가 발생합니다.값에 콤마(,)가 포함된 경우, 콤마(,) 앞에 역슬래시(\)를 추가하여 콤마(,) 자체가 값의 일부임을 명시합니다.
  • 콤마가 포함된 값을 반드시 하나의 값으로 전달해야 하는 경우 모든 콤마 앞에 \\ (역슬래시)를 추가하여야 합니다.
  • 레이블 없음