본문 바로가기
개발툴/MiPlatform

[MiPlatform] Expression Syntax에 오류가 발생하였습니다 해결

by 펜네임 2020. 6. 30.

오류 상황

테이블 3개가 있고 이름은 각각 A, B, C이다.

 

A테이블은 B테이블과 마스터-디테일 관계고 B테이블은 C테이블과 마스터-디테일 관계임.

B테이블은 행을 추가할 때 A테이블에 선택되어 있는 행의 seq를 가져와 쓰고,

C테이블은 A테이블과 B테이블에 선택되어 있는 행의 seq를 각각 가져다 쓴다.

 

B 테이블과 C테이블에는 각각 DB에 있는 해당 테이블의 모든 행이 존재함.

마스터 테이블이 행변경 될 때 필터를 사용해 디테일 테이블의 내용을 변경하는 방식.

dsCCC.Filter("AAA_SEQ="+aaaSeq+" and BBB_SEQ="+bbbSeq);

 

그런데 필터가 잘 되다가 A테이블에 행추가를 하면 C테이블에 모든 데이터가 뜨면서 오류메시지가 발생했다.

 

오류 메시지

ERP (23304): -2085604848:Expression Syntax에 오류가 발생하였습니다.Invalid Operator and:AAA_SEQ= and BBB_SEQ=

 

오류 원인 & 해결법

마이플랫폼은 js처럼 자료형이 불명확하다고 한다.

Filter 사용 시 변수를 꼭 따옴표로 감싸야 함. quote()을 사용하기도 한다.

dsCCC.Filter("AAA_SEQ='"+aaaSeq+"' and BBB_SEQ='"+bbbSeq+"'");

 

댓글