확장할 최상의 데이터 작업 클래스 선택

사용자정의 데이터 작업 플러그인 작성을 시작하기 전에 기존 데이터 작업 클래스 중 확장할 데이터 작업 클래스를 결정합니다. 데이터 작업이 수행하도록 할 기능과 가장 일치하는 기능을 제공할 데이터 작업 클래스를 선택합니다.

각 데이터 작업은 클래스 다이어그램에서와 같이 AbstractDataAction 클래스에서 상속합니다. 클래스 다이어그램은 두 개의 추상적 데이터 작업 클래스(AbstractDataActionAbstractHTTPDataAction)와 확장 가능한 네 개의 구체화된 데이터 작업 클래스(CanvasDataAction, URLNavigationDataAction, HTTPAPIDataActionEventDataAction)를 보여줍니다. 제공하는 각 데이터 작업은 해당 클래스 중 하나를 확장해야 합니다. 확장하는 클래스는 데이터 작업을 호출할 때 구현할 동작에 따라 다릅니다. 대부분의 타사 데이터 작업은 URLNavigationDataAction, HTTPAPIDataAction 또는 EventDataAction을 확장할 수 있습니다.

확장하는 클래스에 관계없이 데이터 작업이 호출될 때는 데이터 작업이 호출되는 소스 데이터 포인트의 전체 컨텍스트를 기술하는 메타데이터가 제공됩니다. 데이터 작업 컨텍스트을(를) 참조하십시오.

AbstractDataAction 클래스

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

DataActionKOModel 클래스

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 클래스

CanvasDataActionAbstractDataAction 기본 클래스의 하위 클래스입니다. 이 구체화된 클래스를 확장하여 필요한 기능을 제공할 수 있습니다.

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 클래스

EventDataActionAbstractDataAction 기본 클래스의 하위 클래스입니다. 이 구체화된 클래스를 확장하여 필요한 기능을 제공할 수 있습니다.

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 클래스

AbstractHTTPDataActionURLNavigationDataActionHTTPAPIDataAction 하위 클래스가 공통 기능 및 기본 동작을 상속하는 추상적 기본 클래스입니다.

AbstractHTTPDataAction

AbstractHTTPDataAction 추상적 기본 클래스는 URLNavigationDataActionHTTPAPIDataAction 클래스에 의해 공유됩니다. 데이터 작업이 웹 페이지를 새 브라우저 탭에서 열어야 하는 경우 URLNavigationDataAction을 확장해야 합니다. 데이터 작업이 HTTP API를 호출해야 하는 경우 HTTPAPIDataAction을 확장해야 합니다. 원하는 경우 AbstractHTTPDataAction을 직접 확장하는 것이 효과적일 수도 있습니다.

+ HTTPDataAction(oKOModel)
+ validate() : DataActionError
# createURLGadgetInfo(oReport) : AbstractGadgetInfo

URLNavigationDataAction 클래스

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 클래스

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