BIRT 데이터 액세스 이벤트 핸들러
"EGL BIRT 핸들러"에서 설명된 대로 데이터 액세스 이벤트 핸들러를 사용하여 데이터 소스 또는 데이터 세트에 대한 작업을 수행할 수 있습니다. 또한 ReportContext 유형의 매개변수에 액세스한 경우 이벤트 핸들러가 호출될 때 각 보고서 매개변수에 액세스할 수 있습니다. 보고서 매개변수를 특정 고객 번호로 설정할 수 있습니다. 예를 들면 보고서로 가져갈 데이터를 가진 고객을 지정합니다.
function setUser( d DataSourceInstance, c ReportContext )
{ eventType = beforeOpen, elementName = "myDataSource" }
d.setExtensionProperty( "odaUser", userName );
d.setExtensionProperty( "odaPassword", password );
end
이 예에서는 보고서 매개변수를 사용하지 않지만 이벤트 핸들러 매개변수 d(유형 DataSourceInstance)를 사용하여 사용자 ID와 비밀번호를 설정합니다. 이 사용자 ID와 비밀번호는 BIRT 보고서 엔진에서 관계형 데이터베이스에 연결하기 위해 사용됩니다. 이 예에서는 userName과 password 변수가 글로벌 변수이고 함수 외부에서 설정되었다고 가정합니다.
- eventType(모든 BIRT 이벤트 핸들러에서 사용됨)
- elementName(대부분의 데이터 액세스 이벤트 핸들러에서 사용됨). elementName 특성의 값은 보고서 디자인 파일에 지정된 이름과 일치해야 하며, 이 이름은 이벤트 핸들러의 용도에 따라 데이터 소스 또는 데이터 세트를 참조합니다.
데이터 액세스 이벤트 핸들러에서 각 매개변수는 Java™ 인터페이스를 표시하는 EGL 외부 유형을 기반으로 합니다. 다음 표는 관련된 Java 인터페이스의 완전한 이름과 함께 각 데이터 액세스 매개변수의 유형과 용도를 설명합니다.
| 매개변수 유형 | 용도 | Java 인터페이스 |
|---|---|---|
| DataSetInstance | 데이터 세트의 전체 세부사항에 액세스합니다. | IDataSetInstance |
| DataSetRow | 데이터 세트의 열 특정 세부사항에 액세스합니다. | IDataSetRow |
| DataSourceInstance | 데이터 소스의 세부사항에 액세스합니다. | IDataSourceInstance |
| ReportContext | 보고서 매개변수 값을 가져오거나 설정합니다. | IReportContext |
| UpdatableDatasetRow | 보고서에 데이터 행을 제공합니다. | IUpdatableDatasetRow |
Java 특정 세부사항을 알 필요가 없을 수도 있지만 각 인터페이스를 설명하는 Javadoc이 BIRT 보고서 스크립팅 API 참조서에 있으며, 이 참조서는 BIRT 프로그래머 참조서 > 참조서 > API 참조서 > BIRT 보고서 스크립팅 API 참조서에 있는 제품 도움말 시스템에 있습니다. Java 인터페이스 IDataSourceInstance와 IDataSetInstance는 org.eclipse.birt.report.engine.api.script.instance에 있습니다. 반면에 DataSetRow, UpdatableDatasetRow 및 ReportContext는 org.eclipse.birt.report.engine.api.script 패키지에 있습니다.