변수
- 변수는 데이터를 저장할 수 있는 메모리의 위치입니다. Outsystems에서 변수는 입력 매개변수, 로컬 변수 , 출력매개변수가 있습니다.
아래 사진을 보시면 BookRoom 이라는 서버액션에서 3개의 입력매개변수가 있습니다. 체크인 날짜, 체크아웃날짜, 게스트 수와 같은 여러 입력 매개변수가 있습니다.
그리고 객실번호, 객실 가격과 같은 출력매개변수도 있습니다. 또한 특정 방에 대한 정보를 보유할 지역 변수도 있습니다.
이러한 모든 변수는 BookRoom 작업 범위 내에서 상호 작용하고 동작합니다.
자세히 하나하나 살펴보겠습니다.
입력 매개변수(Input Parameter)
- 입력 매개변수를 사용하면 외부 범위에서 상위 범위로 값을 전달할 수 있습니다.
- 각 입력 매개변수에는 몇가지 속성이 있으며 이러한 속성 중 하나는 입력매개변수가 필수인지 여부를 정의합니다.(Is Mandatory 속성)
- 필수인 경우 해당 매개변수가 전달될 때 할당된 값이 존재해야 합니다.
- 실행이 상위 요소인범위를 벗어나면 모든 입력 매개변수가 삭제됩니다. 따라서 Server Action이 완료되고 실행이 외부 범위로 이동할 때마다 입력 매개변수를 더 이상사용할 수 없습니다.
출력 매개변수(Output Parameter)
- 출력 매개변수는 상위 범위 내에서 외부 범위로 값을 반환합니다.
- 출력 매개변수가 정의된 범위 내에서 값을 할당해야 합니다. 입력 매개변수와 출력 매개변수의 한 가지 큰 차이점은 출력 매개변수가 계속 외부 범위에 존재한다는 것 입니다.
지역 변수(Local Variable)
- 범위 내에서 로컬로 할당(또는 설정) 및 사용할 수 있으므로 로컬변수라고 합니다.
- 입력과 유사하게 로컬 변수는 상위 범위가 완료될 때마다 소멸됩니다.
데이터 유형(Data Type)
변수들을 살펴봤습니다.
여기서 더 중요한 측면은 Outsystems 언어가 강력한 형식이라는 것입니다. 즉, 모든 변수에는 정의된 데이터 유형이 있어야 하며 실행 중에 데이터 유형이 변경되지 않아야 합니다.
데이터 유형 자체에 대해 Otusystems는 3가지 유형을 지원합니다.
기본 유형에는 정수, 텍스트 또는 날짜가 포함됩니다.
복합 유형은 다른 데이터 유형의 구성입니다. 예를들어 엔터티 또는 구조가 있습니다.
마지막으로 Outsystems는 동일한 데이터 유형의 값 시퀀스를 나타내는 목록도 지원합니다. (Lists)
구조(Structrues)
- 구조에는 다른 복합 또는 목록 데이터 유형의 속성이 포함될 수 있습니다.
- 엔티티와 구조의 주요 차이점 하나는 구조가 메모리에 데이터를 저장하는 데 사용되며 데이터 유형의 정의라는 점입니다. 즉, 구조자체에는 값이 없지만 데이터 유형이 구조로 설정된 변수가 있을 수 있습니다. 해당 변수는 데이터를 메모리에 저장할 수 있습니다.
생성방법(Creating Structures)
- 구조를 생성하려면 데이터 탭의 구조 폴더로 이동하고 마우스 오른쪽 버튼을 클릭하여 새 구조를 추가하면 됩니다.
- 구조체 이름을 설정하는 것 외에도 공개 여부를 설정할 수 있습니다. 즉, 다른 모듈에서 사용할 수 있는지 여부를 의미합니다.
- 속성(Attribute)의 경우 속성이 하나 이상 있어야 합니다.
- 이름을 설정하고 데이터 유형을 선택합니다.
List
- 목록은 동일한 데이터 유형의 요소 모음입니다.
- 단일 목록 내에서 모든 요소는 기본 유형, 복합 유형 또는 다른 유형의 합집합일 수 있는 완전한 동일한 데이터 유형을 가집니다.
- 목록의 데이터 유형은 데이터 유형 편집기에서 정의할 수 있습니다. 그 안에 목록 요소의 데이터 유형을 정의할 수 있습니다.
'로우코드(Lowcode) > outsystems' 카테고리의 다른 글
outsystems - 조건부 경로 생성 방법 (0) | 2023.04.28 |
---|---|
outsystems - Logic 생성 및 사용방법 (0) | 2023.04.28 |
outsystems - Logic Actions (0) | 2023.04.28 |
outsystems - container Widget 사용법 (0) | 2023.04.28 |
outsystems - if위젯(If Widget)사용방법 (0) | 2023.04.28 |