메타 태그에서 임베디드 필드 표현식에 대한 작업

표현식 태그 자체에서 현재 및 이전 필드 값 태그를 임베드할 수 있습니다. 필드 값에 작은따옴표 또는 큰따옴표가 포함되지 않도록 하십시오. 필드 값에 홀수 숫자의 작은 또는 큰 따옴표가 포함된 경우, 값은 표현식 오류를 일으킬 수 있고 EmailPlusTemplate 템플리트가 올바르게 유효성 검증되지 않습니다. 이는 EmailPlus 패키지에서 알려진 제한사항입니다.

EmailPlus 함수를 사용하여 필드 값을 유효성 검증하는 것이 더 바람직합니다. 필드 값을 비교할 경우 quotemeta() Perl 함수로 모든 영숫자 문자를 이스케이프하여 해당 표현식이 올바르게 평가되도록 하십시오. 예를 들어, 필드 값에 작은 또는 큰따옴표 표시가 없는 경우 다음 표현식이 올바르게 평가됩니다.

#@expression::if (#?Description?# ne #%Description%#) { “Description field has changed\n”.#%Description%#; }@#
그러나 필드 값에 작은 또는 큰따옴표 표시가 있는지 확실하지 않은 경우, 다음 표현식 예제를 사용하는 것이 좋습니다.
#@expression::if (quotemeta(Gfv(“Description”)) ne quotemeta(Gfov(“Description”))) { “Description field has changed\n”.Gfov(“Description”); }@#

다른 예제로써, 결함 레코드에서 제출 날짜를 표시하지만 기본 날짜 형식을 사용하지 않는다고 가정합니다. 그 대신 다른 형식으로 날짜를 표시하려고 합니다. 다음은 메타 태그를 사용하는 단순한 예제 표현식입니다.

#@expression::use Date::Format;use Date::Parse; ctime( str2time( #?SubmitDate?# ));@#

이는 다음 예제로 확장됩니다. 이는 유효한 구문 표현식이며 날짜 오브젝트를 리턴합니다.

#@expression::use Date::Format;use Date::Parse; ctime( str2time( “2010-07-12 10:45:18” ));@#

표현식을 평가할 때 출력 메시지로 대체되는 다음 정보를 리턴합니다.

Mon Jul 12 10:45:18 2010

다음 표에서는 메타 태그 내에서 이전 또는 현재 필드 값이 확장될 때 리턴되는 데이터 유형의 종류를 나열합니다

표 1. 메타 태그로 리턴되는 EmailPlus 데이터 유형
필드 유형 리턴된 표현식
INT 정수, 예: 54
DATE_TIME "YYYY-MM-DD hh:mm:ss”형식의 24시간 날짜 문자열, 예: 2012-10-20 15:23:04
SHORT_STRING, MULTILINE_STRING, ID, STATE, RECORDTYPE, DBID, REFERENCE 및 지정되지 않은 기타 유형 큰따옴표로 묶인 단일 값, 예: "some text". 원래 필드 값에 임베드된 큰따옴표 표시 안의 문자열은 올바르게 처리되어 구문적으로 올바른 문자열 값을 생성합니다.
REFERENCE_LIST 큰따옴표 표시 안의 인용된 값 배열에 대한 참조, 예: ["value 1", "value 2" ]

피드백