The MSPro Boomi Collection
About
Good Practices & Patterns
Good Practices & Patterns
  • Markus' Boomi Integration
  • Implementation Patterns
    • The Cache Challenge
      • The Get-Or-Create Use-Case
      • PropCache Scripts
    • State Management
      • Example Scenario
      • State-Management in general
      • State-Management Functionality
      • Technical Solutions
        • Boomi File-System Implementation
          • saveState
          • readState & fetchStates
    • Exception Handling
      • Exception vs Error
      • Basic Rules
        • Aggregating Exceptions
      • Exception Handling Pattern
        • User-Defined Exception Messages
        • Catch Exceptions
      • The pattern in practice
        • API Error Handling
          • Single Record Strategy
            • Single Record RES
          • Many Records Strategy (Array)
            • Many Records RES
        • Pre-Condition Check
    • SQL Patterns
      • Script Header
      • General Rules
        • Check using RowCount
        • Check if record exists
        • Pagination and Sorting
        • Parameter - Best Practices
        • Use JSON as a complex parameter
    • Process Patterns
      • Process Route Implementation Pattern
      • Sub-Process or Process Route
    • DateTime
      • The Boomi datetime dilemma
      • Database and Flow
      • Groovy
      • Data Hub
      • Get Current Date
    • Groovy Script Patterns
      • Dynamic Document Properties
      • Dynamic Process Properties
      • Documents
    • Array Elements to Documents
  • MSPro Services
    • Intermediate Storage
      • Example Processes
        • Docs 01 - Update and Create
          • sub.SampleData.Invoice
        • 02 - Upsert and Get
    • Render Templates
  • Tips
Powered by GitBook
On this page
  1. Implementation Patterns
  2. State Management

Example Scenario

Last updated 6 months ago

A customer sends a CSV file containing n quotes from which an sales-order is to be generated. After each individual quote (each line/record in the CSV file) has been (technically) checked for completeness, the quote is marked as IMPORTED. The customer receives a RequestId for each imported quote which can be used for further reference.

IMPORTED quotes are then reviewed by a user, who approves or rejects the request: APPROVED | REJECTED (with reason). (Note: Some user-interface is of course required to let a user process the quotes, but this is not subject of State Management.)

APPROVED quotes will be automatically processed every hour and a new sales-order ist created in the target system. This may lead to other problems, so that the status can be: OK | FAILED (with reason).

The customer who sent the CSV has access to an API where he can query each request's state at any time.

State-Management in general