Actions: Code Reusability

Tăng khả năng tái sử dụng code (Code Reusability)
Có 3 loại Actions quan trọng:

  • Screen Actions :: chỉ có bị ràng buộc Widgets on a Screen
  • Server Actions :: có thể được gọi trong any flow
  • 06 Entity Actions :: OutSystem sẽ tự tạo ra cho mỗi Entities
    01 Entity Action :: OutSystem sẽ tự tạo ra cho mỗi Static Entities

Đặc điểm khác nhau:

  • Server Actions có thể có nhiều InputOutputLocal Variable
  • Screen Actions không có Output Parameters
  • Preparation không có Parameters hoặc Variables

Đặc điểm Server Actions:

Server Actions có thể được set như một Function

  • Giới hạn trong một Output Parameter
  • Có sẵn hoặc nói cách khác là CÓ THỂ sử dụng trong Expressions

Action Flows

  • Có duy nhất một Start Node
  • Có thể có nhiều hơn một End Node

Assign

Cho phép setting các giá trị cho variables (hoặc parameters)
Một Assign có thể setting các giá trị cho variables (hoặc parameters)

  • Values được gán từ trên xuống dưới
  • Thay đổi xảy ra ngay lập tức

If

Tạo ra một conditional branching trong Action flow

  • If condition để đánh giá tính đúng sai
  • Chỉ duy nhất một branch được execute dựa trên If condition

Switch

Tạo ra một conditional branching với nhiều branch trong Action flow
Conditions được đánh giá từ đầu đến cuối cùng
● Chỉ duy nhất first branch có giá trị True hoặc Otherwise branch được execute
Otherwise branchBẮT BUỘC

For Each

Cho phép iterating thông qua một Record List bên trong Action flow

  • (1) Cycle branch được lặp lại cho mỗi record bên trong List
  • (2) The branch phải return đến For Each để tiếp tục vòng lặp

While loops

  • Sử dụng một If để đánh giá (evaluate) một loop condition
  • The branch phải return đến If để tiếp tục vòng lặp
  • Hãy cẩn thận với infinite loops nhé!

Exception Handling

  • Một Exception bị thrown ra khi một operation fails tại runtime
  • Execution được chuyển sang cho một Exception Handler
  • Một Action có thể có nhiều Exception Handler
    Database Exceptions
    Security Exceptions
    Custom User Exceptions

Raising Exceptions

Một Exception có thể raised(chỉ định lên)
Khi một Exception được raised:

  • Execution được chuyển sang Exception Handler cụ thể
  • Execution sẽ được Exception Handler tiếp tục xử lý

Global Exception Handler

Nếu một Exception Handler doesn tồn tại trong execution hiện tại

  • Server bubbles-up sẽ kiểm tra trong contexts until và tìm ra Exception Handler phù hợp
    Module Global Exception Handler
  • Ở tại Common Flow (default)
  • Mức cao nhất có thể bubble-up
  • Nên handle all exceptions

HẾT.

@Copyright 2022 by HieuEM Github