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 Input và Output và Local 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 branch là BẮ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