u/Browser-ice

Is r/mainframe still a good place to ask question about assembler coding?

Is this r/mainframe my best choice to ask questions about coding/compiling/using assembler codes?

I used to love assembler but that was over 20 years ago. I am thinking about maybe getting back to it.

reddit.com
u/Browser-ice — 14 days ago

Is r/mainframe still a good place to ask question about custom ISPF panels?

Hi, is this r/mainframe the best choice to ask questions about creating custom ISPF panels?

I want to build REXX tools for our department and centralize their usage through custom made ISPF panels that I will create. Its been a very long time last time I did any.

reddit.com
u/Browser-ice — 14 days ago

REXX with ISPF command not executing but ending with a CCODE=0000?

I m trying a different approach for trying to simulate an ISPF 3.4 but in REXX. However, I am hitting a wall where when I run the code via JCL, the job ends with a CCODE=0000 but none of my "SAY" command show any output.

It is as if my code is simply not executed at all. I cannot find what is wrong. I even have a SAY at the top and its not executing.

JCL job to submit the REXX code:

//REXXJOB  JOB (0000,0000,M131),'RENAME ',MSGCLASS=Q, 
//         NOTIFY=&SYSUID,CLASS=1,LINES=5000          
//*                                                   
//*  SIMPLE JCL TO EXECUTE A REX SOURCE CODE          
//*                                                   
//STEP1    EXEC PGM=IKJEFT01                          
//SYSEXEC  DD  DSN=AAZZZZZ.BAXXXXX.REXX,DISP=SHR      
//SYSTSPRT DD  SYSOUT=*                               
//SYSPRINT DD  SYSOUT=*                               
//SYSTSIN  DD  DUMMY                                  
  ISPSTART CMD(LISTCSI)                               
/*   

REXX code

/* REXX */                                                      
RC=SYSCALLS('ON')                                               
                                                                
SAY "START OF THE REXX CODE..."                                 
                                                                
"SUBCOM ISPEXEC"     /* CHECK IF ISPEXEC ENVIRONMENT EXISTS */  
                                                                
SAY "EXECUTION DONE OF THE SUBCOM COMMAND"                      
                                                                
IF RC != 0 THEN DO                                              
  SAY "ERROR: THIS SCRIPT MUST BE RUN UNDER ISPF."              
  EXIT 12                                                       
END                                                             
                                                                
SAY "EXECUTION DONE OF THE SUBCOM COMMAND RESULT STATUS"        
                                                                
/* INITIALIZE THE LIST */                                       
ADDRESS ISPEXEC "LMDINIT LISTID(LISTEID) LEVEL('**.BAXXXXX.**')" 
                                              
SAY "RETURN CODE OF LMDINIT = " RC            
                                              
IF RC = 0 THEN DO                             
                                              
  SAY "LISTID HANDLE IS: " LISTEID            
                                              
  /* LOOP THROUGH THE LIST */                 
  DO FOREVER                                  
    ADDRESS ISPEXEC "LMDLIST LISTID(LISTEID)",
         "OPTION(LIST) DATASET(DSNM)"         
                                              
    IF RC \= 0 THEN LEAVE                     
    SAY "FOUND DATA SET:" DSNM                
  END                                         
                                              
  /* FREE THE LIST ID */                      
  ADDRESS ISPEXEC "LMDFREE LISTID(LISTEID)"   
END 

Output of the SYSTSPRT DDNAME :

SDSF OUTPUT DISPLAY REXXJOB  JOB03381  DSID   102 LINE 0       COLUMNS 0
 COMMAND INPUT ===>                                            SCROLL ===
********************************* TOP OF DATA ***************************
ACF0C038 ACF2 LOGONID ATTRIBUTES HAVE REPLACED DEFAULT USER ATTRIBUTES   
READY                                                                    
END                                                                      
******************************** BOTTOM OF DATA *************************
reddit.com
u/Browser-ice — 15 days ago

Tutorial or site where there are examples of REXX TSO commands?

Hi, I am learning REXX and I know we can do TSO commands. But I do not know all the TSO commands we can do in REXX and what is their syntax.

So is there a tutorial or a site where they list all possible TSO commands we can do in REXX and indicate their syntax or at least give examples?

Thank you.

reddit.com
u/Browser-ice — 1 month ago

Proper way to pass on variable content to REXX commands?

Hi, I am not sure about this. I did a bit of search but I sometimes fine different informations.

Lets say I have : Var_Name = "some text"

In a REXX command , is the content of that variable passed on with "Var_Name", '"Var_Name"' or some other way?

How is it if it is in a TSO command and a non-TSO command?

reddit.com
u/Browser-ice — 1 month ago

TSO commands not working in REXX

Hi, I started playing around with REXX code on the mainframe.

I am doing a few TSO commands in it but I keep getting a record code of -3 even if I used ADDRESS TSO as the first command of this REXX. Can someone tell me what am I doing wrong?

I thought at first it might have been caused by the content of the variable that have not been processed by the TSO commands. But then for one command, I put the actual text that is supposed to be passed on by the variable and that TSO command still fails.

Command ===>       
****** ************
000100 /* REXX */  
000200 ADDRESS TSO 
000300             
000400 /* DEFINE DA ...
...

Output of REXX where errors are indicated:

 10 *-* "ALLOC FI(SYSPRINT) DA('"OUTDSN"') NEW SPACE(5,5) TRACKS",    
       +++ RC(-3) +++                                                    
CATALOG TO CHECK =  SYS1.UCAT.SYSTEM                                     
    25 *-*  ADDRESS TSO "LISTCAT CATALOG(SYS1.UCAT.SYSTEM) ALL"          
       +++ RC(-3) +++                                                    
LISTCAT RETURN CODE =  -3                                                
    30 *-*  ADDRESS TSO "EXECIO * DISKR SYSPRINT (STEM INPUTLINES. FINIS"
       +++ RC(-3) +++                                                    
LINES READ =  INPUTLINES.O                                               
    35 +++   DO J = 1 TO INPUTLINES.0                                    
IRX0041I Error running LISTCSI, line 35: Bad arithmetic conversion       
******************************** BOTTOM OF DATA *************************
reddit.com
u/Browser-ice — 1 month ago

How much training per week required for a newbie IMS employee?

Hi, I got hired on September 2025 as an IMS System Programmer Junior position. I have been around mainframes for over 20 years through different positions.

According to you guys, how many hours of training is required per week for someone who is starting this position that knows a lot about mainframes but not from a technical nor command point of view?

I figure it should be something like at least 10 hours per week.

But in reality, I have been having less than 1 hour per week now. The majority of my time has been with following online courses since my hired day until about 2 weeks ago when I completed 98% of them.

Its been 10 months now. Looking at my situation I believe I need more training hours. I do not know what is the workload of the guy who is training me. I do not know on what is working when he is not with me. I know amongst things, he is working on doing IMS maintenance in preparation for an IMS upgrade around Fall or Winter. The account I am in, there are 2 other guys, including the one training me. The other guy has 5 years of experience in this. My trainer is around 72 years old and still working.

I cannot say he is a good teacher. He did not volunteered to do it but he is the one in the account who has the most experience. He assumes a lot things. Like telling me to do something but assuming I know other things to help me go there and do it. I told him 2-3 times that he does this. Also, when I ask 3-10 questions in an email, he usually replies back but answers only to one question and often it shows he did not fully read my question because his answer is sometimes a bit away from what I actually asked.

I once said something to my manager last month. I said I would wait a bit to see if it changes. But I think I am going to chat with him once he is back from vacation (next month).

It the mean time, if I ask too many questions in a short period of time, I get the feeling my trainer gets irritated because it shows a bit in his replies.

I realized this week that I haven't even been shown how to enter IMS and do commands. I have mainly touched IMS jobs through SDSF and doing SMP/E + PTF implementations.

reddit.com
u/Browser-ice — 1 month ago

Using JCL variables in SMP/E commands: substitution not happening

Hi, I created a JCL with a few steps that are each doing different SMP/E list commands. I am using JCL variables (SET variable = value) to make it easier when using different zones or CSI files.

The variable substitution is working on the JCL steps (DSN for CSI file) but its not happening at all in the imbedded SMP/E commands.

Any ideas?

// SET MYCSI=IMS.ABC.DEF.CSI
// SET MYGZONE=GLOBAL
// SET MYTZONE=TTTTTT
// SET MYDZONE=DDDDDD
//* =======================================
//* ATTEMPT TO RUN AN SMP/E TO EXECUTE LIST
//* TO A GLOBAL ZONE
//* =======================================
//*
//LISTALLZ EXEC PGM=GIMSMP
//SMPCSI DD DISP=SHR,DSN=&MYCSI
//SMPLOG DD SYSOUT=*
//SMPCNTL DD *
SET BDY(&MYGZONE).
LIST ALLZONES.
/*
reddit.com
u/Browser-ice — 3 months ago

How can I do an SMP/E JCL maintenance inquiry if I only know the product name?

Last week at work, I was introduced on how the IMS guys here inquiry about any possible existing maintenance (PTF, APAR, ...) for installed software. I have no documentation. I searched the internet for references and found some.

What the guys are doing is not what I would have imagined. They do a Receive JCL toward IBM using a PTF id, zone ID and/or FMID they already know is needed for a specific product name. They had inquiry IBM's site to find that out. And they browsed some CSI file to find out the rest of the info.

However, I want to know how to do an SMP/E JCL inquiry about any possible maintenance if the only thing you know is the product name.

There are no single CSI file. There are tons of CSI files arranged per products. So unless you know which CSI file is used for any maintenance of any specific product name, you are screwed. That is why I thought of inquiring only with the product name but I cannot find the proper information/documentation on how to do this.

The only JCL I have is the one the guys were using and is set up to do a Receive, using a specific CSI library and instream data to have IBM sending us the package.

What they are doing is similar to do reverse engineering but I want to do it the proper way: tell me if there any kind of maintenance to do on any specific product and then from there, I can start <guessing> which CSI library is related to THEN do a Receive.

P.S.: I once tried to manually consult some of their Web tools like the maintenance matrix on IBM site but winded up on an out of date matrix for one software, Also their PTF finder using product name was not even recognizing the product names I was giving it.

reddit.com
u/Browser-ice — 3 months ago