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 Future consideration
Categories Other
Created by Guest
Created on Sep 4, 2019

Functions to get internal information from within a running map

For logging/tracing purposes I'd like to be able to get actual information about the mapping/card/function/field I'm currently at.

So I can write into a logging about that particular point in the execution.

A bit like LASTERRORCODE() or GETRESOURCENAME().

I'm thinking about these :

GETMAPDIR() : the directory where the mapping currently runs

GETMAPSOURCE() : the name of the source (.mms) of the currently running mapping

GETMAPNAME() : gets the name of the mapping that's currently running.

GETCARDNAME() : the name of the outputcard that's currently being build

GETCARDNUMBER() : the number of the outputcard that's currently being build

GETFUNCMAPNAME() : the name of the functional map you're currently in

GETFIELDNAME() : the name of the field you're currently in, optionally also if it's in a typetree

                                              (like groupname::fieldname or maingroup::subgroup::fieldname)

GETCARDINDEX() : the index of the occurence the functional map is currently in

GETFIELDINDEX() : the index of the occurence a (group-)field is currently in.

What is your industry? Automotive
How will this idea be used?

I'm using a lot of standardized functions in remote maps.

If I could get this information using these functions I wouldn't have to explicitly enter and maintain them if something changes, it would always be accurate.

These remote functions write a so-called 'EventLog' if something goes wrong.

It helps me find the exact spot where the error originated (which is always somewhere in a calling map).

 

I think that others could also benefit even for debugging purposes so one doesn't have to comb to massive trace-files.

A couple of these functions writing in a log would simplify that a lot.

  • Guest
    Aug 26, 2022

    Since this was last opened we have added Variables to ITX starting with version 10.0.0.2 which can be manipulated and used on all runtimes using wither the Eclipse-based UX (Design Studio) or the Browser-based UX (Design Studio). Here is a Permalink to a short video showing how they can be used: https://community.ibm.com/community/user/supplychain/viewdocument/video-flow-variables-and-flow-var?CommunityKey=e4917433-f91d-4969-85dd-206313686d8d&tab=librarydocuments


    Additionally, for customized reporting of errors thrown by type tree the ONERROR function can be used in a Component Rule for reporting precision. For example, in one of our Compliance Checking maps we use ONERROR throughout a tree to capture error levels and reporting codes (But the error could easily specify a field name or any other text). Here is an example:


    WHEN(PRESENT($),

    ONERROR(MEMBER($,{"D","A8","EAF"}),

    "E*1*E*C*7*C"))


    Between ONERROR and Flow Variables with Flow Variable Mapping Functions you have many more tools for tracking and reporting on the inner-workings of ITX maps.


    Also - there was a mention in this AHA! regarding the trace size. If you are still using the older text trace, please check out Binary Trace which is much more compact: https://community.ibm.com/community/user/supplychain/viewdocument/easier-trace-in-itx?CommunityKey=e4917433-f91d-4969-85dd-206313686d8d&tab=librarydocuments

  • Guest
    Jan 7, 2021

    We will consider others for future releases

  • Guest
    Dec 4, 2020

    GETMAPDIR is indeed implemented as GETDIRECTORY().

    All the others are not there in any form...

  • Guest
    Sep 24, 2019

    Dev to investigate which items are currently available in v10