Search code examples
ibm-midrange

iSeries / IBM i Command (CMDSRC) with Pre-Populated Elements


So, I've looking to build an iSeries / IBMi command, which has the option of additional codes (these are essentially transaction codes), it should allow you to specify...but I'd like to default the first 3 out of a maximum of 10.

My source

             PARM       KWD(FROMDATE) TYPE(*CHAR) LEN(10) +          
                          PROMPT('From YYYY-MM-DD')                  
             PARM       KWD(TODATE) TYPE(*CHAR) LEN(10) PROMPT('To + 
                          YYYY-MM-DD')                               
             PARM       KWD(TXN) TYPE(*CHAR) LEN(1) RSTD(*YES) +     
                          DFT(Y) VALUES(Y N) PROMPT('Specify TXN +   
                          Codes Y or N')                             
             PARM       KWD(TXNLIST) TYPE(L2) PMTCTL(CHOOSETXN) +    
                          PROMPT('TXN Code List')                    
                                                                     
 L2:         ELEM       TYPE(*CHAR) LEN(5) MIN(0) MAX(10)            
                                                                     
                                                                     
 CHOOSETXN:  PMTCTL     CTL(TXN) COND((*EQ Y))                       

shows the command,

                                                                       
Type choices, press Enter.                                             
                                                                       
From YYYY-MM-DD  . . . . . . . .   __________    Character value       
To YYYY-MM-DD  . . . . . . . . .   __________    Character value       
Specify TXN Codes Y or N . . . .   Y             Y, N                  
TXN Code List:                                                         
                                   _____         Character value       
               + for more values   _____                               ```
                                                                       
                                                                       

but I'd like the TXN Code List to be pre-populated??

E.g. pre-populate first three with "AA123", "BB124" & "ZZ999"

Solution

  • OK...so it looks like a SUBTREE will suffice...

                 CMD        PROMPT('GENERATE TXNS')                          
                 PARM       KWD(FROMDATE) TYPE(*CHAR) LEN(10) +              
                              PROMPT('FROM YYYY-MM-DD')                      
                 PARM       KWD(TODATE) TYPE(*CHAR) LEN(10) +                
                              PROMPT('TO YYYY-MM-DD')                        
                 PARM       KWD(SUBTREE) TYPE(*CHAR) LEN(1) RSTD(*YES) +     
                              DFT(Y) VALUES(Y N) PROMPT('SPECIFY')           
                 PARM       KWD(TXNLIST) TYPE(TXNVALS) +                     
                              PMTCTL(SUBTREEY) PROMPT('TXN CODES')           
                                                                             
     TXNVALS:    ELEM       TYPE(*CHAR) LEN(5) DFT(AA123)                    
                 ELEM       TYPE(*CHAR) LEN(5) DFT(BB124)                    
                 ELEM       TYPE(*CHAR) LEN(5) DFT(ZZ999)                    
                 ELEM       TYPE(*CHAR) LEN(5) DFT('')                       
                 ELEM       TYPE(*CHAR) LEN(5) DFT('')                       
                 ELEM       TYPE(*CHAR) LEN(5) DFT('')                       
                 ELEM       TYPE(*CHAR) LEN(5) DFT('')                       
                 ELEM       TYPE(*CHAR) LEN(5) DFT('')                       
                 ELEM       TYPE(*CHAR) LEN(5) DFT('')                       
                 ELEM       TYPE(*CHAR) LEN(5) DFT('')
     SUBTREEY:   PMTCTL     CTL(SUBTREE) COND((*EQ Y))
    

    Which looks like this...although I still need to test the CL parameters...

                                GENERATE TXNS (TESTCMD)         
                                                                
    Type choices, press Enter.                                  
                                                                
    FROM YYYY-MM-DD  . . . . . . . . FROMDATE                   
    TO YYYY-MM-DD  . . . . . . . . . TODATE                     
    SPECIFY  . . . . . . . . . . . . SUBTREE        Y           
    TXN CODES:                       TXNLIST                    
                                                    AA123       
                                                    BB124       
                                                    ZZ999       
                                                    _____       
                                                    _____       
                                                    _____       
                                                    _____       
                                                    _____       
                                                    _____       
                                                    _____