This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. 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).
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:
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 an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
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.
Testing now indicates that it WORKS correctly, but the description in the ILE RPG Reference is still inaccurate. The *PGMBDY target is not the "most recent procedure in the call stack in the same executable", it is the "first procedure in the call stack in the same executable." "First" is more clear and more in line with the description in the QMHSNDPM API documentation.
What happened? I don't know. I swear I was coding something that was not working like QMHSNDPM and I fought with it all morning until I had to open the manuals and check. I cannot locate that code now. Honestly, it was acting EXACTLY like the RPG Reference describes it -- which is wrong. No matter how deep into a service program I was, it always sent the message to the immediate caller of the proc with the SND-MSG in it. It drove me nuts because I had assumed you would code the compiler to emplace a call to QMHSNDPM, but it acted differently.
The SND-MSG operation code is implemented by generating a call to the QMHSNDPM API. In our testing, SND-MSG with %TARGET(*PGMBDY:stack_offset) behaves the same as coding a call to QMHSNDPM with '*PGMBDY' and the same stack_offset.
Please clarify
- whether you are requesting a correction for the documentation of the SND-MSG operation code
or
- whether you have found a scenario where SND-MSG behaves differently from a call to QMHSNDPM with the *PGMBDY and the same stack offset.
If you have found a scenario with different behaviour, please also contact your service representative to open a Case, so IBM can request the code to reproduce the scenario, and investigate the problem.
-IBM Power Systems Development