Mainframe Languages

356

Solutions

429

Contributors

There are many computer languages, and they have been evolving from machine language into a more natural way of writing. Languages are generally classified into machine language (direct machine code); assembly (using mnemonics to present the instructions to be translated later into machine language by an assembly program); procedural languages, also known as high-level languages (HLL) (Pascal, FORTRAN, Algol, JCL, COBOL, REXX, PL/I, Basic, and C are common), along with several other types. Mainframe programming is largely done in the procedural languages.

Share tech news, updates, or what's on your mind.

Sign up to Post

I have a simple DFSORT issue.
I give input data in sysin (obviously it is of character type)
//SORTIN   DD *          
2350                     
2199                     
450                      
360                      
295                      
2200                     
1925                     
1899                     
9900                     
3195                     
2600                     
/*      

Open in new window

my sort card is:
//SYSIN    DD *                
  SORT FIELDS=(1,4,BI,A)       
/* 

Open in new window

I am getting the same result even if i use the sort card as SORT FIELDS=(1,4,CH,A)    
The output i am getting is:
1899 
1925 
2199 
2200 
2350 
2600 
295  
3195 
360  
450  
9900 

Open in new window

                           
Any idea how to correct this..?
0
Hi Experts

Since our last interaction I've got access to a CICS printed material - describing the mainly commands and maps concepts, now it's much more clear the overall understanding.

But something remains obscure for me is: How a 3270 terminal calls the Cobol application (that has the menu - a CICS map) to start the process ?

Is it like a DOS program ?  the user types de name of the system ?  (eg. ACCOUNTS.EXE - sorry if it's a very dummy question...)

Every terminal in fact only receive via SNA what is hapenning at mainframe and interact by filling a map, ok ?

Every terminal must have TSO as IBM interface or only the developers ?  if not the common users access is by what device ?

Is it possible to use more than one "system" concurrently at the same 3270 terminal or emulator ?
(say ACCOUNTS.EXE and PAYROLL.EXE ?)

Thanks in advance
0
Hi Experts

I've  obtained acess to run

Mainframe Express 2.5

Could you please tell me how good it ressembles a real world mainframe interface/ environment ?
(using CICS / DB2  and JCL/ VSAM)

How it's valid as a didactical tool ?

If possible could you give me some clues on better using it ?

Thanks in advance !




0
//IFCKDP  IF (IMB0540.RC EQ 0) THEN                                 
//IMB0588  EXEC PGM=IMB0588                                         
//******************************************                        
//*  THIS WILL COMPARE CURRENT "ENCRIPTED" NDM FILE WITH PREVIOUS.  
//*  IF DUPLICATE, RC=99, STOP PROCESSING                           
//IMB0588A DD DSN=&HLVL4..NONX.IMB540ND.IMB54005(&GEN01),DISP=SHR   
//IMB0588B DD DSN=&HLVL4..NONX.IMB540ND.IMB54005(&GEN02),DISP=SHR   
//SYSOUT   DD SYSOUT=*                                              
//ENDCKDP ENDIF                                                     
//*                                                                 

Open in new window


Whenever i try to restart this step using 'procstepname.stepname' method, it doesn't seem to be working.  Probably because of the if condition check or the condition check itself.

I would love to hear from the mainframe experts here, how can i restart a proc step which is having condition check or that falls through 'IF'
0
Hi Experts !

Could you please resume how CICS deals with data persisntence in VSAM or DB2 ?

I'd like only an overview (it doesn't need to be extensive)

(I'm planning to connect this question with the previous - that I'm stiil studying)

Thanks in advance !
0
Hi Experts

I confess I'm a little intimidated seeing a mainframe interface (the black screens).

What is the name of IBM's  mainframe interface ?

Could you please give me an usual path for edit a set of COBOL programs / compile them/  linkedit then with CICS libraries/ DB2 libraries and then run it ( I'm not wanting an extensive reply - just an outline)

(If you could put it using a Clipper metaphor it could be fine)

Thanks in advance !
 (Sorry if I'm abusing...)
0
Hi Experts !

Could you please resume how CICS deals with online user requests ?
I'd like only an overview (it doesn't need to be extensive)

Thanks in advance
0
In consideration of a Multi-Level Table when using Enterprise COBOL what is know to me the largest level of a multi dimension tabel you could possibly have
0
In a JCL sort step i need to
1) format a file (for replacing spaces with zeros)
2) Remove the duplicates of it
Is it possible to execute both the above process in a single sort card.
0
Hello,
I am using mainframe SAS and I would like   understand the following INPUT statement especially the fields in paranthesis.

 INPUT @39   (INT_CALC_TYPE1-INT_CALC_TYPE8)    ($ 3.  +169)      
       @42   (INT_CALC_CODE1-INT_CALC_CODE8)    ($ 2.  +170)      
       @57   (CURRENTRATE1-CURRENTRATE8)        (PD5.6 +167)      
       @105  (INT_PAID_ITD1-INT_PAID_ITD8)      (PD6.2 +166)      
       @111  (INT_ACCRUED_MTD1-INT_ACCRUED_MTD8)(PD8.6 +164)      
       @119  (INT_ACCRUED_YTD1-INT_ACCRUED_YTD8)(PD8.6 +164)      
       @127  (INT_ACCRUED_ITD1-INT_ACCRUED_ITD8)(PD8.6 +164)      
       @135  (ORIG_ACCR_TERM1-ORIG_ACCR_TERM8)  (PD2.  +170)      
       @137  (RMNG_ACCR_TERM1-RMNG_ACCR_TERM8)  (PD2.  +170)      
       @139  (ACCRUALSTRTDTE1-ACCRUALSTRTDTE8)  (PD4.  +168)      
       @143  (ACCRUALLASTDTE1-ACCRUALLASTDTE8)  (PD4.  +168)      
       @57    CURRENTRATE    PD5.6                                
       @105   INT_PAID_ITD   PD6.2                                
       @111   INT_ACCRUED_MTD PD8.6                              
       @119   INT_ACCRUED_YTD PD8.6                              

Take for example: I see the statements:
 @57   (CURRENTRATE1-CURRENTRATE8)        (PD5.6 +167)
and
@57    CURRENTRATE    PD5.6        

What does this mean?  When I output this to a permanent dataset using PUT statement, how should I handle these?

Thanks
0
In SQL, What kind of error causes this:

 CREATE TABLESPACE TUSA0428 IN ACCOUNTS                                        
   USING STOGROUP ACCTDISK PRIQTY 20 SECQTY 20 ERASE NO                        
   LOCKSIZE PAGE LOCKMAX SYSTEM                                                
   BUFFERPOOL BP0 CLOSE NO COMPRESS YES;                                      
SQLERROR ON   CREATE    COMMAND, EXECUTE   FUNCTION                            
 RESULT OF SQL STATEMENT:                                                      
 DSNT408I SQLCODE = -601, ERROR:  THE NAME (VERSION OR VOLUME SERIAL NUMBER) OF
          RENAME STATEMENT IS IDENTICAL TO THE EXISTING NAME (VERSION OR VOLUME
          THE OBJECT TYPE TABLESPACE                                          
0
I'm using DFSORT.

In this snippit, I'm looking at the include statement. Can you give some explanation on it?
SORT FIELDS=(53,5,CH,A)(50,2,CH,A)                                               
  OUTFIL FNAMES=USA,                                                    
   TRAILER1=(/,20:'USA Areas 2009 Quarterly Budget Balance',/,          
   /,20:'Total Number of Areas:    ',8930,/,                            
   /,10:'Quarter 1',30:'Quarter 2',50:'Quarter 3',70:'Quarter 4',       
   /,1:TOT=(53,5,PD,M12),TOT=(58,5,PD,M12),                             
       TOT=(63,5,PD,M12),TOT=(68,5,PD,M12),/,                           
   /,10:'Minimum',30:'Minimum',50:'Minimum',70:'Minimum',               
   /,9:MIN=(53,5,PD,M12),29:MIN=(58,5,PD,M12),                          
    49:MIN=(63,5,PD,M12),69:MIN=(68,5,PD,M12),/,                        
   /,10:'Maximum',30:'Maximum',50:'Maximum',70:'Maximum',               
   /,9:MAX=(53,5,PD,M12),29:MAX=(58,5,PD,M12),                          
    49:MAX=(63,5,PD,M12),69:MAX=(68,5,PD,M12),/,                        
   /,10:'Average',30:'Average',50:'Average',70:'Average',               
   /,9:AVG=(53,5,PD,M12),29:AVG=(58,5,PD,M12),                          
    49:AVG=(63,5,PD,M12),69:AVG=(68,5,PD,M12),/)                        
  OUTFIL FNAMES=VI1,                                                    
   INCLUDE COND=(50,2,CH,EQ,C'AK',AND,53,1,CH,EQ,C'2'),                     
   TRAILER1=(/,20:'Virgina Cities 

Open in new window

0
In

 rec = row.i                                              
 ij = 19                                                  
 j = 30                                                    
 DO FOREVER                                                
  IF  substr(rec,ij,1) = '0' THEN                          
   ij = ij + 1                                            
  ELSE LEAVE                                              
 END                                                      
                                                           
 DO FOREVER                                                
  IF substr(rec,j,1) = '0' THEN                            
   j = j + 1                                              
  ELSE LEAVE                                              
 END                                                      
                                                           
endi = 0                                                  
endj = 0                                                  
endi = endi + ij                                          
endj = endj + j                                            
                                                           
DO FOREVER                                                
 IF substr(rec,endi,1) = ' ' THEN                          
 LEAVE                                                    
 ELSE endi = endi + 1                                      
END                           …
0
i = 19                      
j = 30                      
DO FOREVER                  
 IF  substr(rec,i,1) = 0 THEN
  i = i + 1                  
 ELSE LEAVE                  
END                          

I'm programming in REXX, and if I use this block of code, I'm getting an abend error. What's probably going on?
0
Is it possible to view .pdf files in a Unix system? The PDFs files are created with COBOL and an enscript script.

For example, here's a COBOL program that creates a PDF for a payroll program.
229  1499ca 01  wk-copy-cmd.
   230             03  filler                 pic x(18) value
   231                                      "cp ../data/extr10.".
   232             03  copy-ws                pic x(8).
   233             03  filler                 pic x value space.
   234             03  copy-file-name         pic x(22) value
   235                                       "../data/check_register".
   236             03  copy-co                pic xx.
   237             03  filler                 pic x value "_".
   238             03  copy-yyyy.
   239                 05  copy-era           pic 99.
   240                 05  copy-yy            pic 99.
   241             03  filler                 pic x value "_".
   242             03  copy-mm                pic 99.
   243             03  filler                 pic x value "_".
   244             03  copy-dd                pic 99.
   245             03  filler                 pic x(4) value ".txt".
   246  1499ca 01  wk-enscript-cmd.
   247        *    03  filler                 pic x(31) value
   248        *                              "enscript -r -B -fCourier9.5 -p ".
   249             03  filler                 pic x(28) value
   250                                       "enscript -B

Open in new window

0
How do I tokenize strings in the REXX programming language?
0
I got these errors:
                                                                               
     15  IGYGR0098-S   A "RELATIVE KEY" clause was missing or invalid in the "SELECT" entry for file "AREA-REC".  The file definition was discarded.                                                                  
                                                                               
     18  IGYGR1174-S   "RFILE-RELATIVE-KEY" was not defined as a data-name.  "RFILE-RELATIVE-KEY" was discarded.
                                                                               
     19  IGYGR1174-S   "FSTAT-CODE" was not defined as a data-name.  "FSTAT-CODE was discarded.
                                                                               
     19  IGYGR1174-S   "VSAM-CODE" was not defined as a data-name.  "VSAM-CODE" was discarded.
                                                                               
     24  IGYGR1216-I   A "RECORDING MODE" of "F" was assumed for file "PRINT-LINE".
                                                                               
     70  IGYPS2052-S   An error was found in the definition of file "AREA-REC".  This input/output statement was discarded.
                                                                               
                       Same message on line:    102                            
                                                                               
     82…
0
Note: I'm a taking a class.

In this code, there seems to be an issue with the following segment of code. Can you tell me what is going on?

*                                        
 FILE-CONTROL.                          
     SELECT PRINT-LINE ASSIGN TO PRTLINE.
*-------------                      
 DATA DIVISION.                    
*-------------                      
 FILE SECTION.                      
 FD  PRINT-LINE                    
     LABEL RECORDS ARE OMITTED      
     RECORD CONTAINS 121 CHARACTERS.
 01  PRINT-REC          PIC X(121).
*                                  

T011.txt
I011.txt
t11job1.txt
CBL2011.txt
0
Note: I'm taking a class.

* Sum the row of Q1, Q2, Q3 and Q4 for      *
* Alaska city of Anchorage only.                   *
*    This will be a single number                  *

How do I accomplish this in SQL and why is this so?
usa.txt
T016.txt
T014.txt
I014.txt
0
I'm trying to debug this code, but I'm having trouble understanding what I need to do. I want to have the code read a vsam rrds dataset (ibm0428.usa) It needs to be compatible with the JCL.
t11job1.txt
CBL2011.txt
0
How do you sum multiple rows in sql?
0
I'm trying to understand how to deal with this portion of the sql code. How do I call up that part of the table and why is that?

--*******************************************************
--*  List Area, State, Q1, Q2, Q3 and Q4 for            *
--*  Alaska city of Anchorage only.                     *
--*******************************************************

T016.txt
T014.txt
I014.txt
usa.txt
0
Note: I'm taking a class.

How would I use the following information to enable my COBOL program to read a RRDS data set? (Do I need something else?)
VSAM.PNG
CBL2008.txt
T011.txt
I011.txt
0
Note: I'm taking a class.

What are your hints as to how I can get the values for the amounts of data displayed?
T21JOB1

//T21JOB1      JOB  1,NOTIFY=&SYSUID                   
//**************************************************   
//* JCL TO COMPILE REXX  SOURCE CODE AND LINK MODULE   
//**************************************************   
//PROCLIB      JCLLIB ORDER=ZOS.PUBLIC.JCL             
//S1           EXEC REXXCL                             
//REXX.SYSIN   DD   DSN=&SYSUID..SOURCE(NETIO),DISP=SHR
//LKED.SYSLMOD DD   DSN=&SYSUID..LOAD(NETIO),DISP=SHR  


T21JOB2

//T21JOB2  JOB 1,NOTIFY=&SYSUID                                         
//**************************************                                
//STEP1    EXEC PGM=IKJEFT01                                            
//SYSTSPRT DD DSN=&&NETBYTE1,DISP=(,PASS),                              
//            SPACE=(CYL,(1,1)),UNIT=SYSDA,                             
//            DCB=(LRECL=80,RECFM=FB)                                   
//SYSTSIN  DD DSN=&SYSUID..PART3.DATA(NETBYTE),DISP=SHR                 
//**************************************                                
//STEP2    EXEC PGM=WAITABIT,PARM='15'                                  
//**************************************                                
//STEP3    EXEC PGM=IKJEFT01                                            
//SYSTSPRT DD DSN=&&NETBYTE2,DISP=(,PASS),                              
//       

Open in new window

0
In COBOL, what does PIC Z,ZZZ,ZZZ,ZZ9+ mean?
0

Mainframe Languages

356

Solutions

429

Contributors

There are many computer languages, and they have been evolving from machine language into a more natural way of writing. Languages are generally classified into machine language (direct machine code); assembly (using mnemonics to present the instructions to be translated later into machine language by an assembly program); procedural languages, also known as high-level languages (HLL) (Pascal, FORTRAN, Algol, JCL, COBOL, REXX, PL/I, Basic, and C are common), along with several other types. Mainframe programming is largely done in the procedural languages.

Top Experts In
Mainframe Languages
<
Monthly
>

No Top Experts for this time period. Answer questions to earn the title!