Skip to Main Content
IBM Z Software


This portal is to open public enhancement requests against IBM Z Software products. 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
Created by Guest
Created on Nov 15, 2023

PL/I MACRO support for IBM Z Open Editor

Please consider PL/I MACRO support for IBM Z Open Editor. We are considering modernizing our development environment for PL/I programs. We are particularly interested in VSCode, which is lightweight and used by many developers, and would like to use it in our development. However, our PL/I programs use MACRO, which imposes restrictions such as disabling the syntax checking function provided by VSCode. Since most PL/I users in Japan use MACRO, we believe that an enhancement for PL/I MACRO will help you to attract a wider range of users. Thanks in advance.

Idea priority High
  • Admin
    Shabbir Moledina
    Reply
    |
    Nov 18, 2024

    We are adding support for PL/I macros incrementally. The first step is to avoid seeing syntax errors, which we are achieving with our new PL/I preprocessor support added with v4.5.0: https://ibm.github.io/zopeneditor-about/Docs/advanced_preprocessor.html. This will allow developers to run the compiler remotely for expanding the macros and see the results in Z Open Editor. We will be publishing a blog for how to do that shortly. Full editing support for code completion and preprocessor-free editing will be a future enhancement.

  • Guest
    Reply
    |
    Sep 17, 2024

    Example of code causing issues in the IDE:

     %SETMSG: PROCEDURE(PMR_MES_ID,PMR_MES_TX) STATEMENT;                   
    /*********************************************************************/
    /* The SETMSG macro is used to generate a fully qualified message in */
    /* the job standard output.                                          */
    /*********************************************************************/
                                                                           
      DCL    PMR_MES_ID           CHAR NOSCAN;                             
      DCL    PMR_MES_TX           CHAR NOSCAN;                             
      DCL    WRK_ORI_CD           CHAR NOSCAN;                             
                                                                           
      IF FWK_FRAMEWORK_PROGRAM = 'N'                                       
      THEN DO;                                                             
        WRK_ORI_CD = "'A'";                                                
      END;                                                                 
      ELSE DO;                                                             
        WRK_ORI_CD = "'F'";                                                
      END;                                                                 
                                                                           
      ANS("DO;") SKIP;                                                     
      ANS("IF FWK_MESSAGE(PACKAGENAME(),PROCEDURENAME(),SOURCELINE()," !!  
          WRK_ORI_CD !! "," !! PMR_MES_ID !! "," !! PMR_MES_TX !! ")")     
            SKIP;                                                          
      IF TRIM(SYSTEM) = 'CICS'                                             
      THEN DO;                                                             
        ANS("THEN DO;") SKIP;                                              
        ANS("  EXEC CICS ABEND ABCODE('$MSG');") SKIP;                     
        ANS("END;") SKIP;                                                  
      END;                                                                 
      ELSE DO;                                                             
        ANS("THEN SIGNAL ERROR;") SKIP;                                    
      END;                                                                 
      ANS("END;") SKIP;                                                    
                                                                           
    %END SETMSG;                                                           
                                                                           
    %ACTIVATE SETMSG SCAN;                                                 
    
    ...
    SETMSG('E001','Error calling XYZ');
    ...

     

    SETMSG above is obviously not a valid PL/1 statement, so it is not recognized by the ide parser.

    But SETMSG being defined as a macro procedure, and being active, replacement will occur during macro preprocessing and valid PL/1 code will be generated instead.

     

    SETMSG should thus be accepted and ignored by the parser.

     

     

  • Guest
    Reply
    |
    Jan 9, 2024
    Thank you for taking the time to suggest an Idea to our product. Many of our product enhancements result from feedback from our customers, so your input is always very important to us. Your request is currently in line with our product strategy and we added it as a candidate for future releases of the product. Thank you for your suggestion and continued support.
    1 reply