9.Nexacro 어플리케이션에서 X-UP 모델 사용하기

Edit

이 장에서는 SAP RFC Invoke를 이용한 모델 개발하기절에서 만든 모델을 사용하여 Nexacro 어플리케이션을 개발하는 방법에 대해 설명합니다. Nexacro 어플리케이션은 Nexacro Studio 툴을 이용하여 개발합니다.

이번 장은 사용자가 Nexacro 및 Nexacro Studio에 익숙하다는 전제 하에 작성 되었습니다. 따라서, 기본적인 Nexacro 어플리케이션 개발 단계에 대한 상세정보는 설명하지 않습니다.

이 장에서 설명하는 Nexacro Studio를 이용한 X-UP 모델을 사용한 어플리케이션 개발단계는 다음과 같습니다.

9.1TypeDefinition-Service 등록하기

  1. 아래와 같이 TypeDefinition에서 Service를 추가합니다.

Field Name

Field Value

Prefix

XUP_SERVER

모델 호출 스크립트 코드에서 사용되는 Prefix를 입력합니다.

Type

bs

X-UP 모델을 호출하기 위해서는 반드시 bs 타입을 선택해야 합니다.

URL

http://localhost:8080/xup/

X-UP 서버 URL을 입력합니다.

ServiceList

ServiceInfoServiceServlet.do?service=serviceInfo&target=modelList

서비스 리스트 호출 url을 입력합니다.

DatasetLayout

ServiceInfoServiceServlet.do?service=serviceInfo&target=modelLayout

입출력 정보를 획득하기 위한 url을 입력합니다.

9.2모델 리스트와 인터페이스 가져오기

  1. Project Explorer에서 해당 Service를 Refresh하여 X-UP 서버의 모델 리스트를 가져옵니다.

가져온 모델 리스트는 도메인별 모델로 표시됩니다.

도메인이란 모델을 구분하기 위한 네임스페이스로 X-UP Builder의 프로젝트 이름으로 설정됩니다. 즉, X-UP 프로젝트 하나가 모델 도메인 하나에 해당됩니다.

  1. 모델 리스트에서 'INVOKE_SAP_RFC' 모델을 Refresh하여 인터페이스 정보(입출력 정보)를 가져옵니다.

9.3모델 호출 스크립트 작성하기

  1. Project Explorer의 모델의 인터페이스 정보에서 입출력 데이터셋을 Invisible Objects 에디터로 드래그 앤 드롭 합니다.

  1. Script 에디터에서 아래와 같이 모델 호출 코드를 작성합니다.

this.btnSearch_onclick = function(obj:Button,  e:nexacro.ClickEventInfo)
{
    
    var svcparam     = "domain="     + "NexawebInc"           // Domain name
                    + "&model="     + "INVOKE_SAP_RFC"      // Model name
                    + "&format="     + "xml"
                    + "&version="     + "nexacro";

    var svcUrl = "XUP_SERVER::FrontControllerServlet.do" +
                            "?service=xupservice&" + svcparam;
    
    // Model Input parameters
    var strInDatasets = "";
    var strOutDatasets = "FLIGHT_LIST1=FLIGHT_LIST1";
    var strArgument = "";
    
    this.transaction("searchFlightList", svcUrl, strInDatasets, strOutDatasets
                                        , strArgument, "fn_Transaction_Callback");
    
}

this.fn_Transaction_Callback = function(strSvcID, nErrorCode, strErrorMag)
{
    if(nErrorCode < 0) {
        this.alert(strErrorMag);
        return;
    }
    
    if(strSvcID == "searchFlightList") {
        trace(this.FLIGHT_LIST1.saveXML());
    } 

}

Nexacro에서 X-UP 모델을 호출하기 위한 정보는 아래와 같습니다.


서비스 URL:

http://[host]:[port]/xup/FrontControllerServlet.do?service=xupservice&domain=[도메인이름]

&model=[모델이름]&format=xml&version=nexacro

입력 파라메터 : 각 모델에서 요구하는 입력 파라메터를 GET 또는 POST방식으로 전달

  1. Quick View를 실행하여 결과를 확인합니다.