사용자정의 데이터 작업 플러그인 작성을 시작하기 전에 기존 데이터 작업 클래스 중 확장할 데이터 작업 클래스를 결정합니다. 데이터 작업이 수행하도록 할 기능과 가장 일치하는 기능을 제공할 데이터 작업 클래스를 선택합니다.
각 데이터 작업은 클래스 다이어그램에서와 같이 AbstractDataAction
클래스에서 상속합니다. 클래스 다이어그램은 두 개의 추상적 데이터 작업 클래스(AbstractDataAction
및 AbstractHTTPDataAction
)와 확장 가능한 네 개의 구체화된 데이터 작업 클래스(CanvasDataAction
, URLNavigationDataAction
, HTTPAPIDataAction
및 EventDataAction
)를 보여줍니다. 제공하는 각 데이터 작업은 해당 클래스 중 하나를 확장해야 합니다. 확장하는 클래스는 데이터 작업을 호출할 때 구현할 동작에 따라 다릅니다. 대부분의 타사 데이터 작업은 URLNavigationDataAction
, HTTPAPIDataAction
또는 EventDataAction
을 확장할 수 있습니다.
확장하는 클래스에 관계없이 데이터 작업이 호출될 때는 데이터 작업이 호출되는 소스 데이터 포인트의 전체 컨텍스트를 기술하는 메타데이터가 제공됩니다. 데이터 작업 컨텍스트을(를) 참조하십시오.
AbstractDataAction
은 모든 유형의 데이터 작업이 상속하는 추상적 기본 클래스입니다. 이 클래스는 하위 클래스가 사용할 수 있는 공통 기능 및 기본 동작을 제공합니다.
AbstractDataAction
모든 유형의 데이터 작업은 AbstractDataAction
기본 클래스의 하위 클래스입니다. 이 클래스는 모든 데이터 작업에 공통되는 핵심 기능 집합을 제공합니다. 호출될 때 여러 유형의 작업을 수행하는 복합 데이터 작업을 생성하고 있거나 구체화된 클래스가 지원하지 않는 작업을 수행해야 하는 경우가 아니라면 이 클래스를 직접 확장하지 않아야 합니다. 복합 데이터 작업을 생성해야 하는 경우 필요한 기능과 가장 근접한 기능을 제공하는 구체화된 클래스를 확장하는 것이 좋습니다.
AbstractDataAction 구문
+ AbstractDataAction(oKOModel)
+ getKOViewModel():DataActionKOModel
+ createFromJS(fDataActionConstructor, sClassName, oDataActionKOModelUS) : AbstractDataAction
+ invoke(oActionContext, oDataActionContext) + getGadgetInfos(oReport) : AbstractGadgetInfo[] + validate() : DataActionError
+ getSettings() : Object + requiresActionContextToInvoke() : Boolean + isAllowedHere() : Boolean
# createNameGadgetInfo(oReport) : AbstractGadgetInfo # createAnchorToGadgetInfo(oReport) : AbstractGadgetInfo # createPassValuesGadgetInfo(oReport) : AbstractGadgetInfo
AbstractDataAction
의 각 하위 클래스는 DataActionKOModel
의 고유 하위 클래스를 생성할 수 있습니다. DataActionKOModel
기본 클래스는 다음 속성을 제공합니다.
DataActionKOModel, ValuePassingMode
sID:String
데이터 작업 인스턴스에 제공된 고유 ID입니다.
sClass:String
이 특정 유형의 데이터 작업에 대한 클래스 이름입니다.
sName:String
데이터 작업 인스턴스에 제공된 표시 이름입니다.
sVersion
sScopeID
eValuePassingMode:ValuePassingMode
컨텍스트 값을 전달할 때 사용되는 모드입니다. 모드는 ValuePassingMode
값(ALL, ANCHOR_DATA, NONE, CUSTOM
) 중 하나일 수 있습니다.
aAnchorToColumns: ColumnKOViewModel[]
이 데이터 작업이 앵커되는 열입니다. 이 속성은 선택사항입니다. 제공하지 않을 경우 모든 열에 대해 데이터 작업을 사용할 수 있습니다.
aContextColumns : ColumnKOViewModel[]
데이터 작업이 호출될 때 데이터 작업 대상으로 전달되는 컨텍스트에 이 데이터 작업이 포함하는 열입니다. 제공하지 않을 경우 표시된 모든 열이 컨텍스트에 포함됩니다.
CanvasDataAction
은 AbstractDataAction
기본 클래스의 하위 클래스입니다. 이 구체화된 클래스를 확장하여 필요한 기능을 제공할 수 있습니다.
CanvasDataAction
CanvasDataAction
클래스를 사용하여 시각화의 데이터 포인트에서 다른 캔버스로 이동합니다. 동일한 워크북 또는 다른 프로젝트의 캔버스로 이동할 수 있습니다. 소스 시각화에 대한 모든 활성 필터가 데이터 포인트 자체의 검증 데이터 참조를 기술하는 새 필터와 함께 대상 캔버스로 전달됩니다. 데이터 작업이 다른 캔버스로 이동해야 하는 경우 이 클래스는 데이터 작업이 확장해야 하는 클래스입니다.
+ CanvasDataAction(oKOModel)
+ create(s)ID_sName) : CanvasDataAction + upgrade(oOldDataActionJS) : Object
+ invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext) + getGadgetInfos(oReport) : AbstractGadgetInfo[] + validate() : DataActionError
# createProjectGadgetInfo(oReport) : AbstractGadgetInfo # createCanvasGadgetInfo(oReport) : AbstractGadgetInfo
EventDataAction
은 AbstractDataAction
기본 클래스의 하위 클래스입니다. 이 구체화된 클래스를 확장하여 필요한 기능을 제공할 수 있습니다.
EventDataAction
EventDataAction
클래스를 사용하여 클라이언트측 이벤트를 게시할 수 있습니다. 그런 다음 해당 이벤트를 수신하고 고유 작업을 수행하는 구독자를 한 명 이상 등록할 수 있습니다. 코드의 양이 많으며 데이터 작업이 호출될 때 필요한 작업을 수행하는 코드에 데이터 작업 코드가 느슨하게 결합된 상태를 유지하여 이점을 얻을 수 있는 보다 복잡한 사용 사례에서 이 유형의 데이터 작업을 사용하십시오.
+ EventDataAction(oKOModel)
+ create(sID_sName) : EventDataAction + upgrade(oOldDataActionJS) : Object
+ invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext) + getGadgetInfos(oReport) : AbstractGadgetInfo[] + validate() : DataActionError
# createEventGadgetInfo(oReport) : AbstractGadgetInfo
AbstractHTTPDataAction
은 URLNavigationDataAction
및 HTTPAPIDataAction
하위 클래스가 공통 기능 및 기본 동작을 상속하는 추상적 기본 클래스입니다.
AbstractHTTPDataAction
AbstractHTTPDataAction
추상적 기본 클래스는 URLNavigationDataAction
및 HTTPAPIDataAction
클래스에 의해 공유됩니다. 데이터 작업이 웹 페이지를 새 브라우저 탭에서 열어야 하는 경우 URLNavigationDataAction
을 확장해야 합니다. 데이터 작업이 HTTP API를 호출해야 하는 경우 HTTPAPIDataAction
을 확장해야 합니다. 원하는 경우 AbstractHTTPDataAction
을 직접 확장하는 것이 효과적일 수도 있습니다.
+ HTTPDataAction(oKOModel)
+ validate() : DataActionError
# createURLGadgetInfo(oReport) : AbstractGadgetInfo
URLNavigationDataAction
은 하위 클래스 또는 AbstractHTTPDataAction
기본 클래스입니다.
URLNavigationDataAction
URLNavigationDataAction
클래스를 사용하여 새 브라우저 탭에서 특정 URL을 열 수 있습니다. 사용자가 데이터 작업을 호출할 때 선택하는 데이터 포인트에서 파생된 값으로 바뀌는 토큰을 사용하여 URL을 구성합니다. 데이터 포인트 값은 데이터 작업 컨텍스트의 일부로 외부 웹 페이지에 전달됩니다. 예를 들어, Customer Relations Management 애플리케이션(예: Oracle Sales Cloud)에서 고객의 웹 페이지를 여는 CustomerID
열을 사용하여 호출되는 데이터 작업을 생성합니다.
+ URLNavigationDataAction(oKOModel)
+ create(sID_sName) : URLNavigationDataAction + upgrade(oOldDataActionJS) : Object
+ invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext) + getGadgetInfos(oReport) : AbstractGadgetInfo[]
HTTPAPIDataAction
은 하위 클래스 또는 AbstractHTTPDataAction
기본 클래스입니다. 이 구체화된 클래스를 확장하여 필요한 기능을 제공할 수 있습니다.
HTTPAPIDataAction
HTTPAPIDataAction
클래스를 사용하면 비동기 XMLHTTPRequest
(XHR)를 생성하여 지정된 URL에 제출하는 방식으로 HTTP API를 호출할 수 있습니다. HTTP 응답 코드를 통해 메시지를 캔버스에 간단히 표시할 수 있습니다. 예를 들어, JSON 또는 XML 페이로드를 REST 또는 SOAP 서버로 전송하도록 요청을 사용자정의하고 사용자정의 사용자 인터페이스를 표시하도록 응답 처리기를 사용자정의할 수 있습니다.
HTTPAPIDataAction
데이터 작업이 작동하려면 안전한 도메인 목록에 액세스할 HTTP API의 URL을 추가하고 여기에 접속 액세스 권한을 부여해야 합니다. 안전한 도메인 등록을(를) 참조하십시오.
+ HTTPAPIDataAction(oKOModel)
+ create(sID_sName) : HTTPAPIDataAction + upgrade(oOldDataActionJS) : Object
+ invoke(oActionContext: ActionContext, oDataActionContext:DataActionContext) + getGadgetInfos(oReport) : AbstractGadgetInfo[]
# createHTTPMethodGadgetInfo(oReport) : AbstractGadgetInfo # createPostParamGadgetInfo(oReport) : AbstractGadgetInfo