Skip to Main Content
IBM Sterling


This portal is to open public enhancement requests for IBM Sterling products and services. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Submitted
Categories Workflows
Created by Guest
Created on May 10, 2024

The Partner Community Manager CM_CoreProcess has hard coded typing maps which limits our ability to extend functionality of the framework


The latest version of PCM comes with the typing map list in CM_CoreProcess hard coded. This means adding, removing and updating the typing list requires modification of a built in process. Not only will this BP be overwritten in future losing all changes but it also means any changes would require a full regression test of all data flows as CM_CoreProcess is central to all PCM processing.

This should be a data driven value where it can be pulled from a location outside of the code itself. A property file holding the typing list seems like an easy solution to this.

CM_CoreProcess Original
========================================
<operation name="GetTypingMaps">
    <participant name="TypingService"/>
    <output message="TypingServiceTypeInputMessage">
        <assign to="required_parmlist">SENDERID RECEIVERID DOCTRANS</assign>
        <assign to="typing_maplist">CM_Typing_EDI CM_Typing_EDIFACT CM_NoRoutingFound</assign>
        <assign to="validate_input_against_dtd">NO</assign>
        <assign to="PrimaryDocument" from="/ProcessData/PrimaryDocument/@SCIObjectID"/>
        <assign to="." from="*"/>
    </output>
    <input message="inmsg">
        <assign to="." from="*"/>
    </input>
</operation>

CM_CoreProcess Updates
========================================
<operation name="GetTypingMaps">
    <participant name="TypingService"/>
    <output message="TypingServiceTypeInputMessage">
        <assign to="required_parmlist">SENDERID RECEIVERID DOCTRANS</assign>
        <assign to="typing_maplist" from="sci-get-property('pcm_custom_props','TYPINGMAPLIST')"/>
        <assign to="validate_input_against_dtd">NO</assign>
        <assign to="PrimaryDocument" from="/ProcessData/PrimaryDocument/@SCIObjectID"/>
        <assign to="." from="*"/>
    </output>
    <input message="inmsg">
        <assign to="." from="*"/>
    </input>
</operation>

Create or setup in B2B Customization UI 
pcm_custom_props.properties
========================================
## Space seperated of list of typing maps that PCM will use
TYPINGMAPLIST=CM_Typing_EDI CM_Typing_EDIFACT CM_NoRoutingFound


Include a cache refresh BP to refresh the values on demand
=================================================================
<process name="ECG_CACHE_REFRESH">
    <sequence name="Cache Refresh">
        <operation name="Refresh pcm_custom_props">
            <participant name="CacheRefreshService"/>
            <output message="Xout">
                <assign to="cache_type" from="'properties'"/>
                <assign to="cache_name" from="'pcm_custom_props'"/>
            </output>
            <input message="Xin"/>
        </operation>
    </sequence>
</process>