Page No. 108396697
작성자 : 정해영 / 검수자 : 정해영
Launch Release No. / Latest Release No.
AUD플랫폼에서 기본 제공하는 세션 변수는 i-MATRIX, i-AUD, i-MEATA에서 Script 및 SQL 작성 시 사용 할 수 있습니다.
세션 변수는 AUD플랫폼을 실행하면 시스템이 기동 되면서 생성되는 변수로 별도 변수 등록 없이 전역에서 사용 가능 합니다.
1. 변수 목록
이름(고정) | i-AUD Server Script / Dynamic SQL 사용 서식 | SQL 사용 서식 | i-AUD JScript 사용시 | 세션 변수 값(예시) | 설명 |
IP_ADDR | session.getAttribute("IP_ADDR") <%=IP_ADDR$%> | :VS_IP_ADDR$ | Matrix.GetUserInfo().IPAddress | 192.168.xxx.xxx | 접속 아이피 |
USER_CODE | session.getAttribute("USER_CODE") <%=USER_CODE$%> | :VS_USER_CODE$ | Matrix.GetUserInfo().UserCode | matrix | 사용자 코드 |
USER_NAME | session.getAttribute("USER_NAME") <%=USER_NAME$%> | :VS_USER_NAME$ | Matrix.GetUserInfo().UserName | 매트릭스 | 사용자명 |
ORG_CODE | session.getAttribute("ORG_CODE") <%=ORG_CODE$%> | :VS_ORG_CODE$ | Matrix.GetUserInfo().DeptCode | B060000 | 사용자 부서 코드 |
ORG_NAME | session.getAttribute("ORG_NAME") <%=ORG_NAME$%> | :VS_ORG_NAME$ | - | 전사 | 사용자 부서명 |
DeptCode | session.getAttribute("DeptCode") <%=DeptCode$%> | :VS_DeptCode$ | Matrix.GetUserInfo().DeptPath | 'B060000',DEFAULT,-1 | 사용자 부서 경로 정보 |
USER_DEPT_PATH | session.getAttribute("USER_DEPT_PATH") <%=USER_DEPT_PATH$%> | :VS_USER_DEPT_PATH$ | - | |B060000|DEFAULT|-1 | 사용자 부서 경로 정보 |
USER_ROLE | session.getAttribute("USER_ROLE") <%=USER_ROLE$%> | :VS_USER_ROLE$ | Matrix.GetUserInfo().UserRole | SU;3;V0;SV;ST;M0;1; | 사용자 권한 그룹 |
LANG_CODE | session.getAttribute("LANG_CODE") <%=DeptCode$%> | :VS_LANG_CODE$ | Matrix.GetUserInfo().LangCode | ko | 다국어 언어 코드 (Admin 내 PORTAL 설정에서 선택한 다국어 코드 값) |
LANG_IDX | session.getAttribute("LANG_IDX") <%=DeptCode$%> | :VS_LANG_IDX$ | - | 1 | 다국어 언어 컬럼 인덱스 (MTX_LANG 테이블 > LANG_NAME_COLUMN 데이터의 'COMMENTS' 뒤에 붙은 숫자값) |
2. 활용 방법
2.1. i-AUD 디자이너의 JScript에서 사용 예제
JScript
/************************************** * 문서 로드 된 후 AutoRefresh 수행 전에 발생합니다. * * arguments : **************************************/ var OnDocumentLoadComplete = function(sender, args){ var SessionValues = ""; SessionValues += "IPAddress : "+Matrix.GetUserInfo().IPAddress+"\n"; //접속 아이피 SessionValues += "UserCode : "+Matrix.GetUserInfo().UserCode+"\n"; //사용자 코드 SessionValues += "UserName : "+Matrix.GetUserInfo().UserName+"\n"; //사용자명 SessionValues += "DeptCode : "+Matrix.GetUserInfo().DeptCode+"\n"; //사용자 부서 코드 SessionValues += "DeptPath : "+Matrix.GetUserInfo().DeptPath+"\n"; //사용자 부서 경로 정보 SessionValues += "UserRole : "+Matrix.GetUserInfo().UserRole+"\n"; //사용자 권한 그룹 SessionValues += "LangCode : "+Matrix.GetUserInfo().LangCode; //다국어 언어 코드 Matrix.getObject("RichTextBox").Text = SessionValues; };
2.2. i-AUD디자이너의 데이터 소스/ i-MATRIX 디자이너 및 MX-GRID의 데이터셋 관리자에서 SQL작성 예제
Dynamic SQL 활용 - SQL 분기처리
<% var req = Matrix.getRequest(); var res = Matrix.getResponse(); var session = Matrix.getSession(); var util = Matrix.getUtility(); //권한 허용 목록 Javascript 구문 var AUTH_DEPTS = ["ORG-001", "ORG_002", "ORG_003"];// 판매 단가를 볼 수 있는 부서 목록 %> SELECT SALE_DATE , CUSTOMER_NAME , PRODUCT_CODE , SALE_CNT <% if(AUTH_DEPTS.indexOf(ORG_CODE$) >= 0){ //권한이 있는 경우 %> , SALE_PRICE AS SALE_PRICE , SALE_AMT AS SALE_AMT <% }else{ //권한 없을 경우 0으로 설정 %> , 0.0 AS SALE_PRICE , 0.0 AS SALE_AMT <% } %> FROM SALES
Dynamic SQL 활용 - 변수 바인딩
<% var req = Matrix.getRequest(); /* Request */ var session = Matrix.getSession(); /* Session */ var USER_CODE = session.getAttribute("USER_CODE"); req.setParam("VS_USER_CODE", USER_CODE); %> SELECT * FROM MTX_REPORT WHERE OWNER_CODE = :VS_USER_CODE AND ORG_CODE = '<%=session.getAttribute("ORG_CODE")%>'
※ 상세 내역은 Dynamic SQL 사용 가이드를 참고 바랍니다.
파라미터 바인딩
SELECT SALE_DATE, CUSTOMER_NAME FROM SALES WHERE USER_CODE = :VS_USER_CODE$ -- 세션의 사용자 코드를 바인딩 합니다.
2.3. i-META에서 사용 예제
조건 컨트롤에 ":전역변수명$" 값으로 사용 할 수 있습니다.
참고사항
- 세션 변수는 읽기 전용으로 값을 설정해도 세션 값이 변경되지 않습니다.
- 변수명 뒤에 $ 가 있을 경우 동일한 변수명이어도 세션 변수를 가져 옵니다.