페이지 트리

버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

Page No. 

Showpageid


작성자 : 정해영  / 검수자 :  정해영


 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-META 조회 조건 값 서식)

i-AUD
Script
JScript 사용시세션 변수 값(예시)설명
DeptCodeVS_DeptCodeB060003,B060000,DEFAULT,-1
IP_ADDRsession.getAttribute("IP_ADDR")
<%=IP_ADDR$%>
:VS_
DeptCode$
IP_ADDR$

Matrix.GetUserInfo().

DeptPath부서Path(사용자부서 포함) USER_NAMEVS_USER_NAME이설아

IPAddress

192.168.xxx.xxx접속 아이피
USER_CODEsession.getAttribute("USER_CODE")
<%=USER_CODE$%>
:VS_USER_CODE$

Matrix.GetUserInfo().UserCode

matrix사용자 코드
USER_NAMEsession.getAttribute("USER_NAME")
<%=USER_NAME$%>
:VS_USER_NAME$

Matrix.GetUserInfo().UserName

매트릭스사용자명
USER
ORG_CODE
VS_USER
session.getAttribute("ORG_CODE")
<%=ORG_CODE$%>
salee
:VS_
USER
ORG_CODE$Matrix.GetUserInfo().
UserCode
DeptCodeB060000사용자 부서 코드
ORG_
CODEVS_ORG_CODEB060003
NAMEsession.getAttribute("ORG_NAME")
<%=ORG_NAME$%>
:VS_ORG_
CODE$
NAME$-전사사용자 부서명
DeptCodesession.getAttribute("DeptCode")
<%=DeptCode$%>
:VS_DeptCode$

Matrix.GetUserInfo().

DeptCode사용자 부서코드

DeptPath

'B060000',DEFAULT,-1사용자 부서 경로 정보
USER_
ROLE
DEPT_PATHsession.getAttribute("USER_DEPT_PATH")
<%=USER_DEPT_PATH$%>
:VS_USER_
ROLESU;SD;6;3;V0;5;SV;ST;D;M0;SX;1;
DEPT_PATH$

-

|B060000|DEFAULT|-1사용자 부서 경로 정보
USER_ROLEsession.getAttribute("USER_ROLE")
<%=USER_ROLE$%>
:VS_USER_ROLE$

Matrix.GetUserInfo().UserRole

권한그룹
SU;3;V0;SV;ST;M0;1;사용자 권한 그룹
LANG_CODE
VS_
session.getAttribute("LANG_CODE")
ko
<%=DeptCode$%>:VS_LANG_CODE$

Matrix.GetUserInfo().LangCode

언어코드
ko

다국어 언어 코드

(Admin 내 PORTAL 설정에서 선택한 다국어

코드값

코드 값)

LANG_IDX
VS_
session.getAttribute("LANG_IDX")
1
<%=DeptCode$%>:VS_LANG_IDX$
언어Idx
1다국어 언어 컬럼 인덱스
(MTX_LANG 테이블 > LANG_NAME_COLUMN 데이터의 'COMMENTS' 뒤에 붙은 숫자값)
IP_ADDRVS_IP_ADDR192.168.xxx.xxx:VS_IP_ADDR$

Matrix.GetUserInfo().IPAddress

client ipuserIDVS_userID:VS_userID$

Matrix.GetUserInfo().UserEncCode

암호화 된 사용자 코드


2. 활용 방법

2.1. i-AUD Script에서 디자이너의 JScript에서 사용 예제

코드 블럭
languagejs
firstline1
titlePostgreSQLJScript
linenumberstrue
/**************************************
 * 문서 var로드 SessionValues = "";AutoRefresh 수행 전에 발생합니다.
 SessionValues* +=* "DeptPath : "+Matrix.GetUserInfo().DeptPath+"\narguments :  
**************************************/
 var OnDocumentLoadComplete  = function(sender, args){
    var SessionValues = "";
    SessionValues += "DeptCodeIPAddress : "+Matrix.GetUserInfo().DeptCodeIPAddress+"\n"; 	//접속 아이피
    SessionValues += "UserNameUserCode : "+Matrix.GetUserInfo().UserNameUserCode+"\n"; 	//사용자 코드
    SessionValues += "UserCodeUserName : "+Matrix.GetUserInfo().UserCodeUserName+"\n"; 	//사용자명
    SessionValues += "DeptCode : "+Matrix.GetUserInfo().DeptCode+"\n"; 	//사용자 부서 코드
    SessionValues += "UserRoleDeptPath : "+Matrix.GetUserInfo().UserRoleDeptPath+"\n"; 	//사용자 부서 경로 정보
    SessionValues += "LangCodeUserRole : "+Matrix.GetUserInfo().LangCodeUserRole+"\n"; 	//사용자 권한 그룹
    SessionValues += "IPAddressLangCode : "+Matrix.GetUserInfo().IPAddressLangCode;		//다국어 언어 코드

    Matrix.getObject("RichTextBox").Text = SessionValues;
 };

2.2. i-AUD DatasetAUD디자이너의 데이터 소스/ i-MATRIX Dataset 관리자 SQL에서 사용 예제

SQL문에서 에서 ":전역변수명$"  형식으로 사용하면 세션 변수의 값을 가져 올 수 있습니다.

디자이너 및 MX-GRID의 데이터셋 관리자에서 SQL작성 예제 

코드 블럭
language

sql

js

firstline1

title

PostgreSQL

Dynamic SQL 활용 - SQL 분기처리
linenumberstrue

select

<%
var 

'VS_DeptCode' as "SESSION_NAME" ,(select case when (count(T1.col))=4 then 'B060004,B060000,DEFAULT,-1' end as col from (select 'B060004' as col union all select 'B060000' as col union all select 'DEFAULT' as col union all select '-1' as col ) T1 where T1.col in (:VS_DeptCode$)) as "SESSION_VALUE" union all select 'VS_USER_NAME' as "SESSION_NAME",:VS_USER_NAME$ as "SESSION_VALUE" union all select 'VS_USER_CODE' as "SESSION_NAME",:VS_USER_CODE$ as "SESSION_VALUE" union all select 'VS_ORG_CODE' as "SESSION_NAME" ,:VS_ORG_CODE$ as "SESSION_VALUE" union all select 'VS_USER_ROLE' as "SESSION_NAME" ,:VS_USER_ROLE$ as "SESSION_VALUE" union all select 'VS_LANG_CODE' as "SESSION_NAME" ,:VS_LANG_CODE$ as "SESSION_VALUE" union all select 'VS_LANG_IDX' as "SESSION_NAME",:VS_LANG_IDX$ as "SESSION_VALUE" union all select 'VS_IP_ADDR' as "SESSION_NAME",:VS_IP_ADDR$ as "SESSION_VALUE"

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


코드 블럭
languagejs
titleDynamic SQL 활용 - 변수 바인딩
linenumberstrue
<%
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 사용 가이드를 참고 바랍니다.


코드 블럭
languagesql
firstline1
title파라미터 바인딩
linenumberstrue
SELECT SALE_DATE,
       CUSTOMER_NAME
FROM SALES
WHERE USER_CODE = :VS_USER_CODE$ -- 세션의 사용자 코드를 바인딩 합니다.



2.3.  i-META에서 사용 예제

조건 컨트롤에 ":전역변수명$" 값으로 사용 할 수 있습니다.


참고사항
title참고사항
  • 세션 변수는 읽기 전용으로 값을 설정해도 세션 값이 변경되지 않습니다.
  • 변수명 뒤에 $ 가 있을 경우 동일한 변수명이어도 세션 변수를 가져 옵니다.


페이지 속성
hiddentrue


관련 이슈