Loading
Salesforce now sends email only from verified domains. Read More
Industries Order Management
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Order Management Design and Implementation Best Practices

          Order Management Design and Implementation Best Practices

          When designing your Industries Order Management setup, or when troubleshooting a mature setup, consider the practices suggested on this page. These practices aren't strictly required, but are generally good ideas. If you already have a mature design that's working well, then you might not need these tips.

          Important Note on Custom Code Security

          Industries Order Management Plus empowers customers and professional services teams to enhance platform capabilities through custom code development, including integration adapters, auto tasks, and other extensions. As a customer or as a member of your designated development team, you own the custom code repository and are responsible for developing and deploying this code into your Industries Order Management Plus environment.

          While the platform offers robust built-in security features for data protection, communication, and access control, the security of the custom code you develop and deploy is your direct responsibility.

          To ensure the security and integrity of your Industries Order Management Plus environment and the data it processes, implement secure coding practices and conduct thorough security testing on the entire custom code before deployment.

          Key Customer Responsibilities for Custom Code Security:

          1. Secure Code Development: Adhere to secure coding guidelines and best practices throughout the development lifecycle.

          2. Security Vulnerability Scanning: Implement processes and tools to scan your custom code for known security vulnerabilities.

          3. Vulnerability Resolution: Promptly address and mitigate any security weaknesses or vulnerabilities identified in your custom code.

          4. Comprehensive Testing: Perform thorough functional and security testing to ensure that custom code doesn’t introduce risks or compromise data security or system stability.

          5. Secure Deployment: Follow secure deployment procedures when you introduce custom code into development, testing, and production environments.

          Insecure custom code can expose your data, disrupt operations, or create vulnerabilities that could be exploited. By taking full responsibility for the security of your custom code, including vulnerability scanning and resolution before deployment, you significantly enhance the overall security of your Industries Order Management Plus solution.

          Additionally, you’re responsible for maintaining the security of your Salesforce and fulfillment system credentials, controlling your PII encryption keys, and managing the environment configurations and secrets related to your custom deployments. Make sure your custom code is free from vulnerabilities.

          Custom Code and Implementation

          • Don't modify the following fields on OM records from Custom code, Integration procedures, DataRaptors, and so on:

            • Action__c/SubAction__c/SupplementalAction__c field values on OrderItem records

            • Status__c/OrderStatus__c/FulfilmentStatus__c fields on Order/OrderItem/FulfilmentRequestLine__c records

            • State__c field on OrchestrationItem__c/OrchestrationPlan__c records

          • If you get an Apex Heap Size exception during decomposition, try the following things:

            • Check the Application Constraints page to understand the limits: Application Constraints.

            • If there are a lot of attributes on Product/OrderItem/FulfilmentRequestLine/Asset/InventoryItem, consider reducing the number. Also consider using the V2 attribute model.

            • Prefer String Attribute Type over Picklist Attribute type on Technical Products.

          • If you get an Apex Time Limit exception during orchestration, try the following things:

            • Check the Application Constraints page to understand the limits: Application Constraints.

            • Make sure that Apex Debug Logging is disabled.

            • Make sure that the Custom Setting LoggingEnabled is not set to True.

          Decomposition Design

          • If a technical product definition has the scope of Account, then any of its children must also have the scope of Account.

          Orchestration Plan Design

          • Limit orchestration items to 16 per swimlane. A max trigger depth exceeded exception is sometimes triggered If all the orchestration items get skipped or completed (for example, milestones) as part of a single transaction.

          • Aim for a converging plan design:

            • Avoid having multiple parallel orchestration items at the end of a plan. Instead, design a plan such that only one orchestration item (like an Auto Task) is a single item at the end of orchestration plan.

          • Reduce parallelism of orchestration items doing similar DMLs.

            • When multiple orchestration items run in parallel with similar DMLs (such as updating an order or order Item), Order Management locks the same parent records, which results in row lock timeout exceptions.

            • If an orchestration plan has multiple parallel swim lanes each associated with an order item, consider splitting the order Items over multiple orders.

            • If you can't avoid parallelism, try to execute orchestration items one at a time by serializing the plan. Either create dependencies between items to execute them serially, or introduce an Auto Task to schedule orchestration items so that they don't overlap.

            • If an order with multiple swim lanes throws an exception for Fulfillment Request(FR), Fulfillment Request Line(FRL), or Order Line Items(OLI) activations, run a batch job to identify and select all items with the State Update Failed exception that can be retried and directly set to completed.

          Processing Time

          The amount of time that OM takes to process fulfillment depends on many factors, including those listed here.

          Order Submission

          • Order Decomposition

            • Order Type, such as Supplemental, Change, or New

            • Number of commercial or technical products

            • Scope of Products

            • Product hierarchy

            • Number of Decomposition relationships, mapping rules, conditions

            • Attributes per product

          • Orchestration Plan Composition

            • Order Type, such as Supplemental, Change, or New

            • Number of Orchestration plan definitions or scenarios associated with products in the order

            • Number of Amend or Rollback plan definitions for supplemental orders

            • Number of orchestration item definitions in a plan definition

            • Scope of orchestration items

            • Orchestration item dependencies

          • Order Fulfillment

            • Orchestration item conditions

            • Number of orchestration items running at the same time

            • Number of dependent orchestration items

            • Custom code in callouts and auto tasks

           
          Loading
          Salesforce Help | Article