BIRT 데이터 액세스 이벤트 핸들러

"EGL BIRT 핸들러"에서 설명된 대로 데이터 액세스 이벤트 핸들러를 사용하여 데이터 소스 또는 데이터 세트에 대한 작업을 수행할 수 있습니다. 또한 ReportContext 유형의 매개변수에 액세스한 경우 이벤트 핸들러가 호출될 때 각 보고서 매개변수에 액세스할 수 있습니다. 보고서 매개변수를 특정 고객 번호로 설정할 수 있습니다. 예를 들면 보고서로 가져갈 데이터를 가진 고객을 지정합니다.

eventType이 beforeOpen이고 myDataSource라는 데이터 소스를 업데이트하려는 이벤트 핸들러를 고려해 보십시오.
function setUser( d DataSourceInstance, c ReportContext ) 
   { eventType = beforeOpen, elementName = "myDataSource" }
   d.setExtensionProperty( "odaUser", userName );
   d.setExtensionProperty( "odaPassword", password );
end

이 예에서는 보고서 매개변수를 사용하지 않지만 이벤트 핸들러 매개변수 d(유형 DataSourceInstance)를 사용하여 사용자 ID와 비밀번호를 설정합니다. 이 사용자 ID와 비밀번호는 BIRT 보고서 엔진에서 관계형 데이터베이스에 연결하기 위해 사용됩니다. 이 예에서는 userNamepassword 변수가 글로벌 변수이고 함수 외부에서 설정되었다고 가정합니다.

또한 이전 예에는 다음 두 가지 특성이 포함되어 있습니다.
  • 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 패키지에 있습니다.