Skip to Main Content
IBM Power Ideas Portal


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).


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 Not under consideration
Workspace IBM i
Categories Db2 for i
Created by Guest
Created on Aug 10, 2022

Add a parameter to RUNSQLSTM to Delete its work files once it completes

When running RUNSQLSTM to create SQL GLOBAL Variables or Global Temporary Tables or anything, it creates a couple of source files in QTEMP. One is named QSQLSRC, one is often named QSQLT000 or simlar.

I would like a parameter on RUNSQLSTM named CLEAR or similar that will delete those temp files once the RUNSQLSTM command completes it tasks.

RUNSQLSTM SRCFILE(BOB/QSQLSRC) SRCMBR(MYFUNCS) CLEAR(*ALL)

The CLEAR parameter would have 4 options:

*NO - No temporary source file are deleted. This is the default.

*YES - Deletes temporary source files from QTEMP after RUNSQLSTM comples its tasks.

*BEFORE - Deletes the temp source files before running RUNSQLSTM.

*ALL - Deletes the QSQLSRC and QSQLT0000 in QTEMP before running RUNSQLSTM and again after running RUNSQLSTM.


The problem this solves is jobs using QTEMP on their library list and running other SQL interfaces that also use QSQLSRC in production. Unless those files are explicitly qualified to the production library, the jobs fail if RUNSQLSTM was used since QSQLSRC now exists in QTEMP, on the library list before the production library name. So it gets used instead of what was expected.


By taking this approach the code that depends on those temp files continues to work as expected, and so does production code that isn't expecting those files to suddenly appear in QTEMP.


Idea priority Medium
  • Guest
    Reply
    |
    Sep 12, 2022
    IBM does not intend to provide a solution to this Idea at this time, so it is being closed.

    While we understand the frustration this can cause, the database team has a long list of higher priority requirements. This request is not likely to be implemented anytime soon.

    We document that these files get created whenever you create a function, procedure, or global variable.
    https://www.ibm.com/docs/en/i/7.5?topic=reference-sql-procedural-language-sql-pl

    We recommend adding a delete of the QTEMP file to the end of your RUNSQLSTM script if you need to ensure they are not picked up accidentally.

    Db2 for i development team
    IBM Power Systems Development