191 lines
7.3 KiB
Plaintext
191 lines
7.3 KiB
Plaintext
Title: CreditMemoLambda - Post Method
|
|
Metadata:
|
|
• module: CreditMemos
|
|
• component: CreditMemoLambda
|
|
• type: component
|
|
• domain: Accounts Receivable
|
|
• system: Oracle AR
|
|
Content:
|
|
Purpose: Posts a credit memo to Oracle AR system.
|
|
Processing Logic:
|
|
• Accepts CreditMemo model from Common namespace
|
|
• Delegates to ICreditMemoOicIntegration.PostCreditMemoAsync
|
|
• Returns posted CreditMemo with Oracle-assigned values
|
|
• Lambda configuration: 256MB memory, 30s timeout
|
|
• Resource name: "CreditMemoPost"
|
|
Example Questions:
|
|
• How do I create a credit memo in Oracle?
|
|
• What Lambda method posts credit memos?
|
|
• What is the return value when posting a credit memo?
|
|
---
|
|
Title: CreditMemoLambda - Get Method
|
|
Metadata:
|
|
• module: CreditMemos
|
|
• component: CreditMemoLambda
|
|
• type: component
|
|
• domain: Accounts Receivable
|
|
• system: Oracle AR
|
|
Content:
|
|
Purpose: Retrieves credit memos from Oracle AR based on search criteria.
|
|
Processing Logic:
|
|
• Accepts GetCreditMemosDto with search parameters
|
|
• Delegates to ICreditMemoOicIntegration.GetCreditMemoAsync
|
|
• Returns IEnumerable<CreditMemo>
|
|
• Lambda configuration: 256MB memory, 30s timeout
|
|
Example Questions:
|
|
• How do I retrieve credit memos by customer account number?
|
|
• What Lambda method gets credit memos from Oracle?
|
|
• What search criteria can I use to find credit memos?
|
|
---
|
|
Title: CreditMemoLambda - SelectMostRecentValidCreditMemo Method
|
|
Metadata:
|
|
• module: CreditMemos
|
|
• component: CreditMemoLambda
|
|
• type: component
|
|
• domain: Accounts Receivable
|
|
• system: Oracle AR
|
|
Content:
|
|
Purpose: Filters and selects the most recent valid cancellation credit memo from a list.
|
|
Processing Logic:
|
|
• Accepts List<CreditMemo>
|
|
• Filters by AllowedTypes: "HFA CM Cancel Int" or "HFA CM Cancel Ext" (case-insensitive)
|
|
• Orders by TransactionDate descending
|
|
• Returns first match or null if none found
|
|
• Lambda configuration: 256MB memory, 30s timeout
|
|
Example Questions:
|
|
• How do I find the most recent cancellation credit memo?
|
|
• What credit memo types are valid for selection?
|
|
• How does the system filter credit memos by transaction type?
|
|
---
|
|
Title: Credit Memo - Valid Cancellation Type Rule
|
|
Metadata:
|
|
• module: CreditMemos
|
|
• component: CreditMemoLambda
|
|
• type: rule
|
|
• domain: Accounts Receivable
|
|
• system: Oracle AR
|
|
Content:
|
|
Purpose: Defines allowed transaction types for cancellation credit memo selection.
|
|
Processing Logic:
|
|
• AllowedTypes HashSet contains: "HFA CM Cancel Int", "HFA CM Cancel Ext"
|
|
• Case-insensitive comparison via StringComparer.OrdinalIgnoreCase
|
|
• Used by SelectMostRecentValidCreditMemo to filter valid credit memos
|
|
Key Rules:
|
|
• Only internal and external cancellation credit memos are valid
|
|
• Case-insensitive matching
|
|
Example Questions:
|
|
• What transaction types are valid for cancellation credit memos?
|
|
• How are credit memo types validated for selection?
|
|
• Is credit memo type matching case-sensitive?
|
|
---
|
|
Title: GetCreditMemosDto
|
|
Metadata:
|
|
• module: CreditMemos
|
|
• component: GetCreditMemosDto
|
|
• type: concept
|
|
• domain: Accounts Receivable
|
|
• system: Oracle AR
|
|
Content:
|
|
Purpose: Query parameters DTO for retrieving credit memos from Oracle.
|
|
Processing Logic:
|
|
• CustomerAccountNumber: filters by customer account
|
|
• CreditMemoId: filters by unique transaction identifier
|
|
• PurchaseOrderNumber: optional secondary filter used with CustomerAccountNumber
|
|
• At least one identifier required (CustomerAccountNumber or CreditMemoId)
|
|
Example Questions:
|
|
• What parameters can I use to search for credit memos?
|
|
• How do I query credit memos by purchase order number?
|
|
• What is the structure of the credit memo query DTO?
|
|
---
|
|
Title: CreditMemoOicIntegration - GET Method
|
|
Metadata:
|
|
• module: CreditMemos
|
|
• component: CreditMemoOicIntegration
|
|
• type: component
|
|
• domain: Accounts Receivable
|
|
• system: Oracle OIC
|
|
Content:
|
|
Purpose: Retrieves credit memos from Oracle Integration Cloud with conditional query logic.
|
|
Processing Logic:
|
|
• Endpoint: "/ic/api/integration/v1/flows/rest/CHI_CREDITMEMO_API/1.0/CreditMemo"
|
|
• If CustomerAccountNumber provided: appends CustomerAccountNumber query param, optionally appends PurchaseOrderNumber
|
|
• Else if CreditMemoId provided: appends as "TransactionId" query param
|
|
• Else throws ArgumentException "An Identifier is Required to GET Credit Memo"
|
|
• Parses JSON response, extracts "ARCreditMemos" array
|
|
• Returns List<CreditMemo> or empty list if null
|
|
Example Questions:
|
|
• What Oracle OIC endpoint retrieves credit memos?
|
|
• How does the API validate credit memo search criteria?
|
|
• What JSON property contains the credit memo array in responses?
|
|
---
|
|
Title: CreditMemoOicIntegration - POST Method
|
|
Metadata:
|
|
• module: CreditMemos
|
|
• component: CreditMemoOicIntegration
|
|
• type: component
|
|
• domain: Accounts Receivable
|
|
• system: Oracle OIC
|
|
Content:
|
|
Purpose: Posts credit memo to Oracle Integration Cloud.
|
|
Processing Logic:
|
|
• Endpoint: "/ic/api/integration/v1/flows/rest/CHI_CREDITMEMO_API/1.0/CreditMemo"
|
|
• Serializes CreditMemo to JSON using Newtonsoft.Json
|
|
• Sets Content-Type header to "application/json"
|
|
• Posts via Flurl PostStringAsync
|
|
• Deserializes response to CreditMemo
|
|
• Returns created credit memo with Oracle-assigned values
|
|
Example Questions:
|
|
• What Oracle OIC endpoint is used for posting credit memos?
|
|
• How are credit memos serialized for Oracle integration?
|
|
• What is the return value from the Oracle credit memo API?
|
|
---
|
|
Title: Credit Memo Query - Conditional Parameter Logic
|
|
Metadata:
|
|
• module: CreditMemos
|
|
• component: CreditMemoOicIntegration
|
|
• type: workflow
|
|
• domain: Accounts Receivable
|
|
• system: Oracle OIC
|
|
Content:
|
|
Purpose: Implements conditional query parameter logic for credit memo retrieval.
|
|
Processing Logic:
|
|
1. Check if CustomerAccountNumber is provided (not null/empty)
|
|
• If yes: append CustomerAccountNumber query param
|
|
• Check if PurchaseOrderNumber is provided
|
|
• If yes: append PurchaseOrderNumber query param
|
|
2. Else check if CreditMemoId is provided (not null/empty)
|
|
• If yes: append as "TransactionId" query param
|
|
3. Else throw ArgumentException
|
|
Key Rules:
|
|
• CustomerAccountNumber is primary search method
|
|
• PurchaseOrderNumber only valid with CustomerAccountNumber
|
|
• CreditMemoId maps to "TransactionId" query parameter
|
|
• At least one identifier required
|
|
Example Questions:
|
|
• How does the credit memo API determine which query parameters to use?
|
|
• Can I search credit memos by purchase order alone?
|
|
• What happens if no search criteria are provided?
|
|
---
|
|
Title: Credit Memo Selection - Most Recent by Transaction Date
|
|
Metadata:
|
|
• module: CreditMemos
|
|
• component: CreditMemoLambda
|
|
• type: workflow
|
|
• domain: Accounts Receivable
|
|
• system: Oracle AR
|
|
Content:
|
|
Purpose: Selects most recent valid cancellation credit memo from a collection.
|
|
Processing Logic:
|
|
1. Validate input list not null or empty (return null if invalid)
|
|
2. Filter credit memos where TransactionType matches AllowedTypes ("HFA CM Cancel Int" or "HFA CM Cancel Ext")
|
|
3. Order filtered results by TransactionDate descending
|
|
4. Return FirstOrDefault (most recent or null)
|
|
Key Rules:
|
|
• TransactionDate is sorting key
|
|
• Only cancellation types considered
|
|
• Returns null if no valid credit memos found
|
|
Example Questions:
|
|
• How does the system determine the most recent credit memo?
|
|
• What sorting is applied to credit memo selection?
|
|
• What happens when no valid credit memos exist?
|