[ eGov 환경설정 ]

0. 정의

    - eGov4.0 환경에 nexaN용 uiadapter 설치하기

 

1. nexacroN 관련 환경설정

    1. uiadapterN 환경설정

         . https://www.playnexacro.com/#show:learn:4732

     2. NexacroException 사용하기

         . https://www.playnexacro.com/#show:learn:4787

     3. Excel (xeni) 환경설정

         . https://www.playnexacro.com/#show:learn:4732 , https://www.playnexacro.com/#show:learn:4810

     4. File upload/download 환경설정

         . https://www.playnexacro.com/#show:learn:4868

 

2. Controller 관련 환경 설정

     1. 정의 : Controller.java 파일에 [@RequestMapping(value = "/selectSampleList.do")] 이 문장을 was가 start할때 scan해서 Container에 적제하도록 하는 설정

         - 설정하지 않으면 발생하는 오류1 : org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sampleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sampleService' available

 

         - 발생시점1 : tomcat start시.

         - 설정하지 않으면 발생하는 오류2 : WARN [org.springframework.web.servlet.PageNotFound] No mapping for GET /selectSampleList.do

         - 발생시점2 : 화면단에서 request 요청할 때

         - 설정파일 : context-common.xml

         - 설정내용 :

             

 

3. Query 관련 환경 설정

     1. 정의 : Query Mapper파일(xml) 경로 및 Mapper Class scan을 위한 패키지 경로 지정

         - 설정하지 않으면 발생 오류 : org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sampleService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sampleMapper' available

         - 발생시점 : tomcat start시

         - 설정파일 : context-mapper.xml

         - 설정내용 :

 

 

4. transaction commit/rollback 관련 환경 설정

     1. 정의 : Dataset Rollback관련 정보 수정

         - 설정하지 않으면 발생 오류 : 

         - 발생시점 : 

         - 설정파일 : context-transaction.xml

         - 설정내용 :

 

 

'Nexacro-Framework > eGov & nexa' 카테고리의 다른 글

3. eGov + nexa 연동  (0) 2022.07.02
3. eGov4.0 + uiadapterN  (0) 2022.07.01
2. uiadapter  (0) 2022.07.01
1. eGov4.0.0 설치 및 샘플 프로젝트 만들기  (0) 2022.07.01
Posted by 농부지기
,

[ eGov + nexa 연동 ]

 

1. eGov4.0.0 version을 사용했을 경우

    - (eGov3.10.0 , eGov3.8.0) 버전과 (egOV4.0.0)버전 간에 기본 구성은 거의 동일

    - 달라진점 : 일부 package명이 변경 됨

                         eGov3.10.0 : import egovframework.rte.psl.dataaccess.mapper.Mapper;

                         eGov4.0.0   : import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

 

2. nexa Transaction 호출

    - url : https://www.playnexacro.com/#show:learn:4740  (eGov3.10.0)

             https://www.playnexacro.com/#show:learn:1420  (eGov3.8.0)

 

3. NexacroException 사용하기

    - url : https://www.playnexacro.com/#show:learn:4787   (eGov3.10.0)

             https://www.playnexacro.com/#show:learn:1465   (eGov3.8.0)

 

4. Excel Export, Import 사용하기

    - url : https://www.playnexacro.com/#show:learn:4810   (eGov3.10.0)

              https://www.playnexacro.com/#show:learn:1491   (eGov3.8.0)

 

5. File Upload, Download 사용하기

    - url : https://www.playnexacro.com/#show:learn:4868    (eGov3.10.0)

              https://www.playnexacro.com/#show:learn:1530    (eGov3.8.0)

 

 

 

 

'Nexacro-Framework > eGov & nexa' 카테고리의 다른 글

10. eGov4.0.0 환경설정  (0) 2022.07.02
3. eGov4.0 + uiadapterN  (0) 2022.07.01
2. uiadapter  (0) 2022.07.01
1. eGov4.0.0 설치 및 샘플 프로젝트 만들기  (0) 2022.07.01
Posted by 농부지기
,

[ eGov4.0 + uiadapterN ]

 

0. 정의

    - eGov4.0에 nexaN 용 uiadapter driver(jar) 설치

 

1. eGov4.0에 uiadaptorN  환경설정하기 - 참조 URL

   : 아래 playnexa 를 기반으로 작성 (거의 유사함 ^^)

   - url : https://www.playnexacro.com/#show:learn:4732

   - uiadpater란 : https://www.playnexacro.com/#show:learn:1385

 

2. eGov4.0 프로젝트 생성

    - eGovFrame Web Project 로 프로젝트 생성

    - 프로젝트명 : nexaN

    - [v] Generate Example 체크

 

3. eGov4.0 - Example 실행하기

    - Tomcat 9.0.45

    - java : jdk-16.0.1

      (참고, tomcat 10.0 + jdk-16.0.1 는 오류 발생)

    - db : hsql

    - mybatis

    - tomcat start

    - url : http://localhost:8080  으로 Sample 실행

 

4. uiadapterN 을 사용을 위한 환경설정 파일 

 파일명  설명
 pom.xml  uiadapter 관련 Maven Dependency 설정
 dispatcher-servlet.xml  uiadapter 데이터 변환처리 관련셋팅
 context-nexacro.xml  Mybatis Map 사용시 DB 별 컬럼 생성을 위한 셋팅
 sql-mapper-config.xml  Mybatis 기능 interceptor plugin 셋팅

 

5. uiadapterN 환경설정

    1. java 예제 샘플 패키지 제거

    2. ibatis관련 파일 제거 (mybatis를 사용하기 위해서임)

 

6. context-aspect.xml 파일 설정내용 지우기

7. context-mapper.xml 

     - Mybatis관련 쿼리 xml 경로에 파일들이 아직 없기 때문에 주석처리

9. sql-mapper-config.xml

    - 기존 샘플정보는 삭제.

10. nexaN용 maven 정보

     - 참조 URL : . http://support.tobesoft.co.kr/Support/?menu=QnA_View&postid=517154

     - nexaN용 pom.xml 내용

       : 아래처럼 maven설정했을 경우 nexaN용 uiadapter가 정상적으로 작동되지 않는다.

       : 그래서, maven설정으로 하지말고 jar를 직접 down받은 후 /WEB-INF/lib 밑으로 붙여넣어서 사용해야 된다.

        . 아래 maven 설정하면 오류발생

     - 그래서, maven설정으로 하지말고 jar를 직접 down받은 후 /WEB-INF/lib 밑으로 붙여넣어서 사용해야 된다.

       nexaN용 jar down url : http://support.tobesoft.co.kr/Support/?menu=QnA_View&postid=510459">http://support.tobesoft.co.kr/Support/?menu=QnA_View&postid=510459

 

11. dispatcher-servlet.xml 

      - 파일위치 : /WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml

      - 변경사유 : uiadapter데이터 변환 처리관련 설정

                          uiadapter 모듈의 bean으로 등록하여 사용하기 위한 설정

      - 설정내용

         

 

12. Mybatis의 Map사용시 DB컬럼생성을 위한 Dtabase타입셋팅

    - Database 타입에 맞는 Mybatis Map 의 컬럼생성을 위해 context-nexacro.xml 파일을 생성 후 내용을 작성

    - 현재 전자정부표준프레임워크 샘플예제의 Database 는 hsqldb를 사용하기 때문에 Database 형식을 hsql 로 셋팅

    - 파일경로 : /resources/egovframework/spring/context-nexacro.xml    

    - 설정내용

       

 

 

 

 

13. Mybatis 의 Map 사용시 interceptor plugin 셋팅

     - Mybatis 의 Map 사용시 기본적으로 데이터 조회 후 결과가 없을시 컬럼을 생성하지 않는다.

     - 하지만 Mybatis 의 기능인 interceptor plugin 을 셋팅하면 쿼리 resultType 이 resultMap 일 경우 조회 결과가 없어도 해당 컬럼을 생성한다.

     - 그리하여 Mybatis 설정파일인 sql-mapper-config.xml 파일에 interceptor plugin 내용을 추가합니다

     - 파일경로 : /resources/egovframework/sqlmap/example/sql-mapper-config.xml

     - 파일내용

       

 

99. 오류목록 및 해결방법

1. 오류내용

     오류1:org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.context.support.XmlWebApplicationContext]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/core/metrics/ApplicationStartup
     오류2:java.lang.NoClassDefFoundError: org/springframework/core/NativeDetector

     해결방법1 : pom.xml 에 추가

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-core</artifactId>
  <version>5.3.8</version>
</dependency>

       해결방법2 : http://support.tobesoft.co.kr/Support/?menu=QnA_View&postid=510459
                          위 url에서 jar를 down받은후 /WEB-INF/lib 밑으로 붙여 넣는다.

                          (nexa pom 설정이 정상적이지 않아서 필요한 jar들이 download되지 않아서 발생)
2. 오류내용
     java.lang.NoSuchMethodError: 'org.springframework.core.metrics.ApplicationStartup org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getApplicationStartup()'
    해결방법 : pom.xml 에 아래내용추가
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>5.3.8</version>
</dependency>  
       해결방법2 : http://support.tobesoft.co.kr/Support/?menu=QnA_View&postid=510459
                          위 url에서 jar를 down받은후 /WEB-INF/lib 밑으로 붙여 넣는다.
                          (nexa pom 설정이 정상적이지 않아서 필요한 jar들이 download되지 않아서 발생)

 

3. 오류내용

       오류1: 

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'nexacroFileView': Unsatisfied dependency expressed through field 'useRequestCharset'; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'EtcProperty' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext' - maybe not public or not valid?

       오류2: 
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'nexacroView': Unsatisfied dependency expressed through field 'useRequestCharset'; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'EtcProperty' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext' - maybe not public or not valid?
       해결방법1 : 모름

       해결방법2 : http://support.tobesoft.co.kr/Support/?menu=QnA_View&postid=510459">http://support.tobesoft.co.kr/Support/?menu=QnA_View&postid=510459
                          위 url에서 jar를 down받은후 /WEB-INF/lib 밑으로 붙여 넣는다.
                          (nexa pom 설정이 정상적이지 않아서 필요한 jar들이 download되지 않아서 발생)

                      

4. 오류내용

       오류: aused by: java.lang.NoClassDefFoundError: org/springframework/web/context/request/async/CallableProcessingInterceptor

       해결방법 : tomcat 삭제 후 다시 추가

'Nexacro-Framework > eGov & nexa' 카테고리의 다른 글

10. eGov4.0.0 환경설정  (0) 2022.07.02
3. eGov + nexa 연동  (0) 2022.07.02
2. uiadapter  (0) 2022.07.01
1. eGov4.0.0 설치 및 샘플 프로젝트 만들기  (0) 2022.07.01
Posted by 농부지기
,

[ uiadapter ]

 

1. uiadapter 란

    - url : https://www.playnexacro.com/#show:learn:1385

    

2. uiadapter 관련 문서

스프링프레임워크기반-nexacroplatform14(uiadapter14)-개발자가이드.pdf
1.03MB
스프링프레임워크기반-nexacroplatform14(uiadapter14)-초보자를_위한_자습서.pdf
1.26MB

 

 

 

 

'Nexacro-Framework > eGov & nexa' 카테고리의 다른 글

10. eGov4.0.0 환경설정  (0) 2022.07.02
3. eGov + nexa 연동  (0) 2022.07.02
3. eGov4.0 + uiadapterN  (0) 2022.07.01
1. eGov4.0.0 설치 및 샘플 프로젝트 만들기  (0) 2022.07.01
Posted by 농부지기
,

* eGov4.0.0 설치 및 샘플 프로젝트 만들기 *

1. url

     - https://www.egovframe.go.kr/

     - 다운로드 > 개발환경 > (4.x 다운로드) > eGovFrameDev-4.0.0-Win-64bit.exe

 

2. 설치 위치

     - D:\eGov\

 

3. eclipse.ini 환경설정

    -vm
    C:\Java\jdk-16.0.1\bin\javaw.exe

    ...

    -Xms2048m
    -Xmx2048m

 

6. maven 설정

    - setting.xml 파일 생성

    - 샘플용 setting.xml 파일 받기 

    - url : https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev4.0:gettingstarted)

    - 파일위치 : D:\eGov\maven\

    - setting.xml 파일 내부 변경

       <localRepository>D:\eGov\maven\repository</localRepository>

 

4. Tomcat 

    - C:\tomcat\apache-tomcat-9.0.45

       ( jdk-16.1.0, tomcat   9 : 정상 )

       ( jdk-16.1.0, tomcat 10 : 오류 )

 

    - Tomcat double click > Modules tab > [Edit]버튼 > 팝업 > Path [ / ] 로 변경 후 저장

 

5. 프로젝트 생성

    - eGovFrame Web Project

    - [v] Generate Example

    - Project > Maven -> Update Project

 

7. tomcat start - 오류 발생하면

    - 주로 maven용 jar파일들이 정상적으로 download가 안되는 경우

       . 해결방법 : (8. eGov 기본 maven repository 다운로드) 아래 내용 참조

    - tomcat start시 오류가 발생하면 주로 아래 4개 파일이 정상적으로 download안되는 경우에 발생

       아래 jar파일 4개를 maven repository에서  /WEB-INF/lib 밑으로  붙여 넣는다.

      . jstl-1.2.jar

      . org.egovframe.rte.ptl.mvc-4.0.0.jar

      . spring-modules-validation-0.9.jar

      . spring-webmvc-5.3.6.jar
    - project > Properties > Java Build Path > [Libraries] > [Add Library] > Web App Libraries 추가

 

8. eGov 기본 maven repository 다운로드

    - 만약, maven에서 jar를 down받지 못하면 아래 url를 통해서 eGov용 jar를 받을 수 있음

    - url : https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev4.0:gettingstarted

    - 해당 페이지에서 문자열 검색 : repository 4.0

    - D:\eGov\maven\  밑으로 붙여 넣는다.      기존 repository는 backup을 한 후 압축파일을 해제 한다.

 

9. 프로젝트 실행

 

 

99. 오류 목록 및 해결방법

1. 해결방법 : ?

     오류내용 : 

    Cannot invoke "org.apache.maven.index.context.IndexingContext.purge()" because "context" is null

 

2. 사유 : 컴파일에 사용된 Servlet API 버전과 배포 시에 사용된 tomcat의 Servlet API 버전이 차이때문에 발생.
    해결방법 : tomcat 버전에 맞는 Servlet API 버전을 프로젝트 상에서 지정하시면 됨
                       Servlet API버전에 맞는 tomcat 버전을 설치

                       (jdk-16.1.0, tomcat 10 : 오류)

                       (jdk-16.1.0, tomcat   9 : 정상)

    오류내용 : 
java.lang.ClassCastException: class org.egovframe.rte.ptl.mvc.filter.HTMLTagFilter cannot be cast to class jakarta.servlet.Filter (org.egovframe.rte.ptl.mvc.filter.HTMLTagFilter is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @ebaa6cb; jakarta.servlet.Filter is in unnamed module of loader java.net.URLClassLoader @3d494fbf)

 

사유 : 컴파일에 사용된 Servlet API 버전과 배포 시에 사용된 tomcat의 Servlet API 버전이 차이때문에 발생.
해결방법 : tomcat 버전에 맞는 Servlet API 버전을 프로젝트 상에서 지정하시면 됨
       Servlet API버전에 맞는 tomcat 버전을 설치

 

3. 해결방법 : jstl-1.2.jar(maven에 존재)를 /web-inf/lib 밑으로 붙여 넣는다.
    오류내용 : org.apache.jasper.JasperException: 절대 URI인 [http://java.sun.com/jsp/jstl/core]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다.

4. 해결방법 : spring-webmvc-5.3.6.jar(maven에 존재)를 /web-inf/lib 밑으로 붙여 넣는다.
    오류내용1 : org.apache.jasper.JasperException: 절대 URI인 [http://www.springframework.org/tags]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다.

   오류내용2: org.apache.jasper.JasperException: 절대 URI인 [http://www.springframework.org/tags/form]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다..

5. 해결방법 : org.egovframe.rte.ptl.mvc-4.0.0.jar(maven에 존재)를 /web-inf/lib 밑으로 붙여 넣는다.
    오류내용 : org.apache.jasper.JasperException: 절대 URI인 [http://egovframework.gov/ctl/ui]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다.

 

6. 해결방법 : spring-modules-validation-0.9.jar(maven에 존재)를 /web-inf/lib 밑으로 붙여 넣는다.

    오류내용 : org.apache.jasper.JasperException: 절대 URI인 [http://www.springmodules.org/tags/commons-validator]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다.

 

.

'Nexacro-Framework > eGov & nexa' 카테고리의 다른 글

10. eGov4.0.0 환경설정  (0) 2022.07.02
3. eGov + nexa 연동  (0) 2022.07.02
3. eGov4.0 + uiadapterN  (0) 2022.07.01
2. uiadapter  (0) 2022.07.01
Posted by 농부지기
,

Nexacro.웹-브라우저 띄우기

 

1. 정의

   - nexacro에서 웹 브라우저 띄우기

 

2. 설명

   - nexacro에서는 exe프로그램을 실행할 수 없다.

   - nexacro에서는 explorer만 띄워진다. chrome brower를 실행할 수 없다.

   - system.execBrower() : nexacro 함수이다.

     이 함수는 window api 함수중에 브라우저를 띄우는 함수를 수행시켜 준다.

     그래서, 항상 exploer만 띄워 진다.

   - chrome에서 window.open()을 하면 chrome 팝업창이 뜨고,

     explorer에서 window.open()을 하면 explorer 팝업창이 뜬다.

 

3. nexacro source

    var serverUrl = this.gfn_getServerUrl(); //  http://localhost:8080/
    if (nexacro._Browser == "Runtime")
        system.execBrowser(serverUrl + "cs/sv/survey/survey.fnc?empNo=1&empNm=김길동";

     else

        window.open(serverUrl + "cs/sv/survey/survey.fnc?empNo=1&empNm=김길동", 'popEmp', 'width=1000,

           height=900, menubar=no, status=no, toolbar=no');

 

Posted by 농부지기
,

[ Nexacro-FrameWork1. step9. 주요 소스]

 

 

1. FarmerMDIFrame.xadl 소스 

   

 

2. globalvars.xml

    

 

3. loginFrame.xfdl

   

 

4. leftMenuFrame.xfdl 소스

  

 

5. tabFrame.xfdl

   

 

6. topFrame.xfdl

   

 

7. workMain.xfdl

   
Posted by 농부지기
,

 

 

[ Nexacro-FrameWork1. step5.업무중 Frame hidden처리 ]

 

1. 정의
   . 업무도중 업무화면을 최대한 크게 보기 위해서 top frame, bottom Frame등을
     hidden처리 하고 싶은 경우가 존재 한다.

2. 개발방법
   . topFrame, bottomFrame hidden 처리
   . topFrame만 개발하고, bottomFrame은 과제

3. ADL applicaiton  script 수정
   1. application 변수 추가
this.av_topFrame;
  
   2. this.application_onloadingglobalvariables 에 한줄 추가
this.av_topFrame    = this.av_mainFrame.vStartFrameSet.vMainFrameSet.topFrame;


4. topFrame.xfdl 수정
   1. 버튼 하나 추가, Event하나 추가
      . id    : btn_control
      . Event : fn_control
      . Text  : 숨기기
      . position : 맨 오른쪽 하단
     
   2. script

this.fn_control = function(obj:Button,  e:nexacro.ClickEventInfo)
{
 var sText = this.btn_control.text;
 
 if (sText == "숨기기"){
  //(topFrame, 업무FrameSet, bottomFrame)
  //topFrame(11)을 한 이유는 '보여주기'버튼이 보이도록 하기 위함.
  //현재 개발은 일반button이지만 실 프로젝트에서는 'image'를 이용해서  숨기기/보여주기를 해야 됨
  application.av_allFrame.set_separatesize("11,*,50");
  this.btn_control.set_top(0);
  this.btn_control.set_text("보여주기");
 }else{
  application.av_allFrame.set_separatesize("50,*,50");
  this.btn_control.set_top(28);
  this.btn_control.set_text("숨기기");
 }
}

 

Posted by 농부지기
,

 

[ Nexacro-FrameWork1. step4.Frame에서 업무화면 함수호출 ]

 

1. 정의
   1. frame단에서 업무화면의 함수를 호출 하는 경우가 존재 한다.
      좋은 예로,  tabpage에서 [x]를 눌러 화면을 닫을 수 있는데
      만약, 화면에서 변경된 자료가 존재 할 경우는 닫지 않는 경우가 발생한다.
      이때 tabpage를 먼저 delete하고 화면을 받으려 하다고  자료 변경건으로
      화면을 닫지 못할 경우에 tabpage는 삭제 되고, 화면이 닫혀진 문제가 발생한다.
     
   2. 이런경우 개발방법은 화면에 존재하는 함수를 호출하여 화면을 닫을 수 있는지 검사하고
      닫을 수 있는 경우에만 tabpage도 삭제 한다.
     
2. tab.xfdl
   1. 업무화면.함수 호출
   2. button 1개, Event 1개 생성
      . id    : btn_fnCall
      . Event : btn_fnCall_onclick1
   3. btn_fnCall_onclick1 script
this.btn_fnCall_onclick1 = function(obj:Button,  e:nexacro.ClickEventInfo)
{
 application.afn_callFormFunction("fn_setOutEditBox", "top에서 호출");
}

3. ADL application script
   1. function 1개 생성
   2. script
this.afn_callFormFunction = function(sFuncNm, sArg){
 this.av_mdiFrameSet[application.gv_activeMenuId].form.fn_callFormFunction(sFuncNm, sArg);
}

4. workMain.xfdl 화면
   1. function 1개 생성
   2. 화면 호출함수가
   2. script
//application(frame)에서 업무화면의 함수를 호출하고 싶을 경우에 사용되는 function
this.fn_callFormFunction = function(sFuncNm, sArg){
 return eval("this.div_work." + sFuncNm).call(this.div_work, sArg);
}

5. commonCode.xfdl 화면
   1. edit box 1개, function 1개 추가
   2. Edit box
      . id : edt_out
      Funciton : fn_setOutEditBox()
   3. script
this.fn_setOutEditBox = function(args){
 this.edt_out.set_value(args);
 return true;
}

 

Posted by 농부지기
,

[ Nexacro-FrameWork1. step3.메뉴와 업무화면간 parameter 연동 ]

 

 

1. tabFrame.xfdl 화면
   1. 정의 : 화면을 open시 gds_menu.param 컬럼에 존재 하는 값을 업무화면에서 받아 사용하기
   2. 기존 fn_menuOpen() 함수 변경 (이미 존재)
      . 추가 script
        newChild.biz_param    = sParam;
      . 추가 위치
        newChild.biz_menuId   = sMenuId; -> script의 다음줄
2. workMain.xfdl 화면
   1. 기존 fn_onload()함수 변경 (이미 존재)
      . 추가 script
        this.fv_param  = this.getOwnerFrame().biz_param;
      . 추가 위치
        this.fv_menuId = this.getOwnerFrame().biz_menuId; -> script의 다음줄
   2. 2개 함수 생성
      . fn_getParam()  : 업무화면에서 호출되어 param 값을 넘겨줄 function
      . fn_getMenuId() : 업무화면에서 호출되어 menuId값을 넘겨줄 function
   3. script
  
//업무화면에서 parameter값을 얻고 싶을 경우 호출되는 function
this.fn_getParam = function(){
 return this.fv_param;
}
//업무화면에서 menuid를 얻고 싶을 경우 호출되는 function
this.fn_getMenuId = function(){
 return this.fv_menuId;
}

3. commonCode.xfdl 화면
   1. 정의 : 업무화면에서 menu에서 넘겨준 param값을 확인하기
   2. Event 1개 생성
      . fn_onload
   3. script

this.fn_onload = function(obj:Form, e:nexacro.LoadEventInfo)
{
 trace(this.parent.fn_getParam());
}

Posted by 농부지기
,