Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Does IBM mainframe deals with Pcode and then with EXE ?

Posted on 2011-02-14
Medium Priority
Last Modified: 2012-05-11
Hi Experts

Making a Cobol/ CICS application
Does IBM mainframe deals with Pcode and then with EXE ?
If so, Is it optional to make the EXE ? (I mean: it could run pcode)

Thanks in advance
Question by:Eduardo Fuerte
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 5
LVL 57

Expert Comment

ID: 34891108
What do you mean by "pcode?"

Just like on a PC some languages must be compiled into binary executable form before they can be executed.  Other languages are interperted at execution time.

COBOL is one of multiple languages that must be compiled into binary executable prior to being run.

Does that help?

Author Comment

by:Eduardo Fuerte
ID: 34891780

If I well undesrtood Cobol (like several other languages) follow that steps:

Cobol/CICS code  =>
                      Compilation (that generates what I meant pCode)  =>
                                                                             Linkedition (that generates executable binary code)

Thath's right ?
LVL 57

Expert Comment

ID: 34891928
Well there are a few different definitions for "pCode" out there.

The output from the compile step is the executable code, which is equivalent to an ".exe" file in the Window world.

      source code --> compile program --> ".exe"

The link edit step does not create the binary code, the compile step creates the binary code.  

The linkedit step takes the binary code and creates the program module.

What programming languages are you familiar with?
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.


Author Comment

by:Eduardo Fuerte
ID: 34892303

Well I've been using Visual FoxPro / PHP/ more recently....

But your example  has made me remember  Clipper 5.2 (DOS) - do you know ?

.PRG  =>  Compiled to pCode  => Then Linkedited with Libraries => .EXE

That's right ?

LVL 57

Accepted Solution

giltjr earned 1000 total points
ID: 34892672
O.K. clipper is the closest thing:

Technically the output from the compile step is object code, I would assume that is the same thing as pCode.

The object code is the actual executable machine language for your program.

The linkage editor takes the object code from your program makes the actual load module.

The load module may include other code that your program calls or may be needed by the enviroment you are executing in.

You can think of CICS as a application server. It needs specfic things in the load module, so the linkage editor merges that information with your program.

Now, the mainframe can use other programming languages.  For example, CICS can also execute PL/I, Fortran, assembler, C/C++, Java, and a few others that I may not be aware of.

When executing Java, it does it like any other J2EE server.

Assisted Solution

by:Eduardo Fuerte
Eduardo Fuerte earned 0 total points
ID: 34895613

Your reply is very clear.
But just one last doubt: CICS itself calls a Java (or Fortran) module ?

LVL 57

Expert Comment

ID: 34903434
Thanks for the points.  Just as a F.Y.I., I read up on clipper and p-code at:


It seems that p-code is not really truly executable machine code.   From the description p-code sounds more like "compiled java" is really not comiplied code.  They both seem to be source code that is "translated" to a more compact form of code that still needs to be interperted by another program.  Compiled Java code, and from the sounds of p-code, is still machine/OS independent and can be copied to any machine any OS and still run.

True binary compiled code can only run on the machine and OS that it was compiled to run under.
The output from a Cobol compiler is machine and OS specific.

Author Comment

by:Eduardo Fuerte
ID: 34906194
Very good. This difference is remarkable.  (Cliiper and Cobol uses pseudo code with another concept than Java)
I'm planning another question in Mainframe context.

Author Closing Comment

by:Eduardo Fuerte
ID: 34936293
Please disconsider my last interaction. After a better reading it's not necessary.

I'm planning to return here to obtain another topic details.

Thank very much.
LVL 57

Expert Comment

ID: 34937151
--> But just one last doubt: CICS itself calls a Java (or Fortran) module ?

I missed this part  I'm not 100% sure what you mean, but:

CICS can execute Java or Fortran program, or a few other languages like C/C++ or PL/I.

So if you have a Fortran program, you compile it into a executable, define it as needed to CICS and CICS will be able to excute it.

If you have a Java program, you define it to CICS and CICS will execute it.  Well actually CICS will execute the JRE and the JRE executes the Java program.

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: evilrix
Looking for a way to avoid searching through large data sets for data that doesn't exist? A Bloom Filter might be what you need. This data structure is a probabilistic filter that allows you to avoid unnecessary searches when you know the data defin…
This week I attended a Startup Week Chattanooga talk on Gender Diversity in Technology. Check out what I learned.
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question