Xybion LIMS 시스템에서는 사용자가 로그인하고 최종 메인화면에 진입하기까지 여러 단계의 구성 흐름과 조건 분기 로직이 존재합니다. 이 포스팅에서는 시스템 초기화 옵션 설정부터 역할 기반 화면 분기까지의 전체 프로세스를 정리합니다.1. StartUpFunction – 시스템 시작 화면 설정시스템이 실행되면 Common Database에 설정된 StartUpFunction 옵션을 기반으로 초기 화면이 로드됩니다.
StartUpFunction = 2,Login
Function 2: 로그인 화면
Login: 실제 로그인 화면명(XML 기반) (유의: 로그인 화면명이 바뀌었을 경우 웹서버 재시작 필요)
2. 로그인 후 → Select Database 단계 (자동 동작)로그인 성공 후에는 시스템이 자동으로 Group Database 선택 화면(SelectDatabase) 을 띄웁니다.이 단계는 별도의 설정 없이 시스템 기본 동작입니다.3. AfterSelectDBFunction – DB 선택 이후 실행할 FunctionGroup Database의 MatIntroStartUp 섹션에는 AfterSelectDBFunction 옵션이 설정됩니다.
AfterSelectDBFunction = 5,WP_Check
Function 5: Web Portal 체크용 화면 (WP_Check)
WP_Check: 사용자의 Web Portal 사용 여부를 판단하고 분기 처리를 담당하는 스크린입니다.
4. WP_Check 스크린 – Web Portal 사용 여부에 따른 분기WP_Check 화면은 User Table의 UserNum5 필드를 기준으로 Web Portal 사용 여부를 판단합니다.
UserNum5 > 0 → Web Portal 사용자 (사용자 화면에서 Web Portal 체크)
→ 다음 화면으로 AfterWebPortalCheck 옵션에서 지정된 스크린으로 이동
UserNum5 = 0 → 일반 사용자
→ WP_Main 화면으로 이동분기 로직은 버튼이나 계산식으로 구현됩니다
IF([!UserNum5]>0, OpenScreen(AfterWebPortalCheck값), OpenScreen("WP_Main"))
WP_Check Screen
5. AfterWebPortalCheck – 역할별 화면 라우팅용 스크린 지정Group Database의 MatIntroStartUp 섹션에서,
AfterWebPortalCheck = NC_CheckRole
지정된 NC_CheckRole 스크린 내부에서 사용자 Role을 판별하고, 해당 Role에 맞는 최종 메인화면으로 이동합니다.
예: LabAnalyst → LabDashboard, QA → QADashboard 등
NC_CheckRole
해당 스크린의 내부 로직은 다음과 같은 조건문 형태로 구현됩니다:
If Role = "Analyst" Then OpenScreen "LabDashboard" ElseIf Role = "QA" Then OpenScreen "QADashboard" Else OpenScreen "GenericHome" End If
전체 구성 흐름 요약
StartUpFunction = 2,xLogin ↓ Login 완료 ↓ SelectDatabase (자동) ↓ AfterSelectDBFunction = 5,WP_Check ↓ (UserNum5 > 0?) → YES → AfterWebPortalCheck → NC_CheckRole → Role별 화면 → NO → WP_Main
마무리이와 같은 구성 방식은 유연한 Role 기반 포털 구조를 실현할 수 있으며, 다양한 사용자 환경에 맞춰 동적인 초기화면 제공이 가능합니다.시스템 구성자 입장에서는 AfterSelectDBFunction, WP_Check, AfterWebPortalCheck, NC_CheckRole의 구성 역할을 명확히 이해하고 설계하는 것이 핵심입니다.

