• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Submit a Prompted Command to Batch

    August 31, 2005 Hey, Ted

    If I put a question mark before a command name in a CL program and run the program interactively, the system prompts the command, allows me to fill in the blanks, and then executes the command. Is there a way to prompt the command, then send it to batch for execution?

    –Mark

    Yes, there’s an API for this sort of thing. First, here’s the type of code you’re running interactively.

    ? SAVOBJ
    MONMSG     MSGID(CPF6801) EXEC(RETURN)
    

    The system prompts the Save Object (SAVOBJ) command. If the user presses Enter, the system runs the command. However, if the user presses F3 or F12 to cancel the prompt, the Monitor Message command takes over.

    If you want the command to run in batch, you need the QCMDCHK API. It is like the QCMDEXC API most of us are very familiar with in that it accepts the same parameters.

    Here’s an example that prompts a Save Object command and submits it to batch.

    DCL        VAR(&CMD) TYPE(*CHAR) LEN(1024)
    DCL        VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(1024)
    
    CHGVAR     VAR(&CMD) VALUE('?SAVOBJ')
    CALL       PGM(QCMDCHK) PARM(&CMD &CMDLEN)
    MONMSG     MSGID(CPF6801) EXEC(RETURN)
    
    SBMJOB     RQSDTA(&CMD)
    SNDPGMMSG  MSG('Your command was submitted to batch.') +
               MSGTYPE(*COMP)
    

    The &CMD variable is initialized to a prompted SAVOBJ command. Calling QCMDCHK causes the system to prompt the command and change the value of &CMD as modified by the user from the prompt screen.

    After QCMDCHK runs, use Submit Job (SBMJOB) to start a batch job. Notice that the command is passed through the Request Data (RQSDTA) parameter, not the Command (CMD) parameter.

    –Ted


    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags:

    Sponsored by
    Midrange Dynamics North America

    Want to deliver DevOps on IBM i?

    DevOps enables your IBM i development teams to shorten the software development lifecycle while delivering features, fixes, and frequent updates that are closely aligned with business objectives. Flexible configuration options within MDChange make it easy to adapt to new workflow strategies and policies as you adopt DevOps practices across your organization.

    Learn More.

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    DataMystic Provides iSeries Data Transformation Services Valid Tech Delivers Biometric Authentication Solution for OS/400

    Leave a Reply Cancel reply

Volume 5, Number 33 -- August 31, 2005
THIS ISSUE
SPONSORED BY:

T.L. Ashford
Advanced Systems Concepts
COMMON

Table of Contents

  • Let’s See Those Command Parameters
  • Submit a Prompted Command to Batch
  • Admin Alert: Changing Your Mind When Loading Group PTFs

Content archive

  • The Four Hundred
  • Four Hundred Stuff
  • Four Hundred Guru

Recent Posts

  • AI Is Coming for ERP. How Will IBM i Respond?
  • The Power And Storage Price Wiggling Continues – Again
  • LaserVault Adds Multi-Path Support To ViTL
  • As I See It: Spacing Out
  • IBM i PTF Guide, Volume 27, Numbers 34, 35, And 36
  • The Power11 Transistor Count Discrepancies Explained – Sort Of
  • Is Your IBM i HA/DR Actually Tested – Or Just Installed?
  • Big Blue Delivers IBM i Customer Requests In ACS Update
  • New DbToo SDK Hooks RPG And Db2 For i To External Services
  • IBM i PTF Guide, Volume 27, Number 33

Subscribe

To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

Pages

  • About Us
  • Contact
  • Contributors
  • Four Hundred Monitor
  • IBM i PTF Guide
  • Media Kit
  • Subscribe

Search

Copyright © 2025 IT Jungle