Regarding SPILL area:
These compilers first generate kind of intermediate code for an abstract
target machine, which has an unbounded number of registers. Most
optimizations are done on the code of that abstract machine. These parts
of the compiler are portable across all supported platforms.
There must be a programm available somewhere for free,
that reads a file description (sequence of fields) and
transfers all binary and decimal fields to char fields of
suitable length, and it also does EBCDIC / ASCII conversion.
And: the other direction, too.
I had it some years ago, but
At our shop, C programming is done on z/OS since 1992,
this is insurance math. The goal is to have the same source code
on all platforms (WIN, OS/2, Unixes, z/OS), and for us this works
perfectly.
Until recently, we did no significant work on USS, but since 2 or 3 years
USS is more and more
In southern Germany too: three quarters [of] eight = 7.45
(in German: dreiviertel acht). Even people from northern Germany
have problems with that, but to me it sounds quite logically,
because I grew up with it.
Regards
Bernd
Am Dienstag, 20. Februar 2007 14:25 schrieben Sie:
Not R.S. but
Hello IBMMAIN List,
we faced a strange problem with a system code S106,
as response to a LOAD macro call.
Although the LOAD was not successful (I/O error on the PDS),
the LOAD in error added an entry into the CDE with the
requested module's name, and an entry point address X'8000'.
This
Thank you for your responses.
First, this is kind of one in ten years problem, because
there should never be an I/O error on the load library PDS.
The new module was copied to the production loadlib by means
of our regular CCM system; this seemed to work, but the module
was not usable (S106).
We didn't do anything on this so far, because the fix is easy to do
(test for X'8000') and this is at one central place in our dialog
system; all module calls are processed by this control module which
contains the CDE processing and the LOAD, if necessary (we call it a
interface module).
This was exactly my first thought, too, and this is why I opened
this thread.
Kind regards
Bernd
Am Donnerstag, 26. Juni 2008 19:37 schrieben Sie:
unsnip-
If you fix the problem (S106 Abend) that led to the bogus CDE, you don't
risk
We can in fact reproduce it by copying the load module in error
to the PDS library; when LOAD for this module is issued, this produces
the I/O error.
Am Freitag, 27. Juni 2008 21:48 schrieben Sie:
A PMR sounds appropriate to me. Too bad you won't be able to
reproduce it. :-(
A variable which is listed in the storage offset listing as 0(r13)
actually never is held in storage, but it resides in a register all the time.
0(r13) simply means that no storage is allocated for this variable (this
is not very nice, I asked the compiler people several times to fix this.
Some
BTW:
ad
if you are in Europe and you want me to hold a class on such
things in German or English, please contact me offline.
/ad
Kind regards
Bernd
Am Donnerstag, 9. Oktober 2008 09:47 schrieb Bernd Oppolzer:
A variable which is listed in the storage offset listing as 0(r13)
actually
No, not far left. Ecologist, only slightly left. Some of the ideas of the
German Ecologists (Green Party) are very conservative.
Sorry for that OT post, but it needed to be corrected, in my opinion. If you
want to talk with me about that or similar subjects, please do it offline.
Kind
You don't need the prelinker, if you don't use options RENT or DLL or LONGNAME
and if you can accept that your external names be truncated to 8 chars, all
upper case. If you have collisions with duplicate external names which start
with the same 8 chars, you can use #pragma map to rename these
Does this pragma imply that parameters are passed by reference? I hope so.
Because, if not, the last by value parm will get the first bit set, which
changes its value.
Kind regards
Bernd
Am Mittwoch, 8. Juni 2005 17:17 schrieben Sie:
Never mind. #pragma linkage (func,OS) DOES indeed
I once repaired a PDS with a damaged directory.
I opened it (with an ASSEMBLER program) as a normal sequential file
and wrote every line to another PDS with member namens like M001,
M002, and so on. On every end-of-file condition, I stopped the current
member in the target PDS and
Im my opinion, there is one true fact about mainframe stability and decimal
arithmetic.
I'm not talking about hardware and so on, maybe the MFs are more stable
than the other platforms.
But software: the use of packed decimal arithmetic leads to more stable
software, because not every bit
I'd like to express another opinion.
I find these posts interesting and full of knowledge.
It has to do with history, and where our business comes from.
I like it.
Sorry about that
Bernd
Am Donnerstag, 7. September 2006 22:47 schrieben Sie:
Just curious if these posts are automated.
2006 22:02:52 -0700, in bit.listserv.ibm-main you wrote:
In [EMAIL PROTECTED], on 09/08/2006
at 06:11 PM, Bernd Oppolzer [EMAIL PROTECTED] said:
BTW, on older machines (not IBM) there were concepts like storage
tags, which allowed to detect the use of uninitialized variables
even
The Telefunken machines I mentioned in the other post also were designed with
ALGOL in mind. Someone once called the TR4 a hardware representation of ALGOL.
I wouldn't go this far, but indeed there are lots of machine instructions
inspired by ALGOL logic (and ALGOL compiler's needs).
I have a
I'm not sure, but I believe:
if you have no ENTRY control statement but you have an ALIAS control
statement, and there is a ENTRY or CSECT in the object module with the same
name, the ALIAS will get this entry. And so the entry of the ALIAS may be
different from the entry of the module you
The RENT attribute is not ignored for unauthorized programs. The program is
still treated as reentrant (no new LOAD; no wait for completion of other
processes), only the write protection is not set.
Now consider the following:
We have modules that try to improve performance by doing complex
---
--
*--*
!Bernd Oppolzer!
!Bärenhofstr. 23 !
!70771 Leinfelden-Echterdingen !
!Tel. 0711-2209122 (Büro) !
!Tel. 0711-7949590 (privat
Hello list,
I hit the wrong field in the address book.
Sorry, kins regards
Bernd
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search
fd_set is not ANSI C, AFAIK, maybe TCP/IP?
I guess, you have to specify either a special compiler option, which tells the
compiler to include all POSIX things, or so.
I'm almost sure that the fd_set definition in sys/types is included in some
#ifdef preprocessor statement, which excludes it
We do all our insurance math with C programs, and we have very good
performance in general, but:
we don't use the decimal extension; all our numbers are ints (long or short)
and double (floating point). The results are converted to decimal, when we
pass them to the surrounding insurance
I have written a fast XML (SAX) parser in C, which runs on z/OS, callable from
C, PL/1 or other languages. But I probably will not be able to sell it to you,
because the development was paid by a customer of mine. But if you really
want, I can ask them.
You can use the toolkit or get another
I would put a X'0c' behind the data, and then access the whole thing
as a decimal packed value with one digit after the decimal point (the zero).
I didn't work with COBOL for 10 years or so, but I guess, the
definitions will be something like
01 decval pic 'v9' usage comp-3.
01 charval
That's why you usually omit R15 from the registers that are to be reloaded.
There are two solutions (at least) to this problem:
split the LM into a load for R14 and a LM which starts at R0 and 20(r13),
leaving R15 untouched, so you can put the return code into R15 before
the reload,
or: modify
I had the same problem some time ago with C/370, when DECIMAL was not
supported or was not an option for the installation. So I have some
routines to handle packed decimal in C.
I would suggest that you call a JNI (native) routine, written in C or
another compiler language to handle decimal
In my opinion, you can always compute the value R13 + 4K, put it
into another register and do a USING on this. I recall that I've done this
when I wrote CICS ASSEMBLER programs some ten years ago. The parameter
restrictions of macro DFHEIENT don't matter (much).
Kind regards
Bernd
Am
Maybe it would be a good idea to ask this question on the PL1 list
([EMAIL PROTECTED])
The PL/1 internals are documented, AFAIK, in the LE books, because
EP PL/1 uses the LE runtime. The CEE procedure names also refer to LE.
Kind regards
Bernd
Am Samstag, 19. August 2006 19:32 schrieben
There is one at the IBM museum in Sindelfingen/Germany (near Boeblingen),
and as far as I remember, it has only one arm.
Kind regards
Bernd
Am Sonntag, 9. Dezember 2007 18:14 schrieben Sie:
Superficially, but if you look closely you'll see that while the 2302 has
the comb of R/W arms
I would suggest to avoid the MVS specific open mode strings
(that is, recfm, lrecl and so on) as often as possible, because,
if you use the simple w and r strings, the program will
probably run on every platform, which is not so in the other case.
My experience is that you don't need those MVS
I don't know what xsdosrg is, but there are such a lot of variants of schema
syntax possibilities that I always find it a good idea to check XSD schemas
with XSD validators which are available across the web for free.
I have written such a program by myself, generating from the XSD
another
The xsd:element in line 8 is an empty tag, so the xsd:element in line 14
is wrong.
This is why the error occurs. The xsd:element in line 8 should not be an
empty tag.
Regards, Bernd
Steve Comstock schrieb:
Solved the first problem. Too embarassing to admit.
Anyway, still not there. Now we
I'm very interested to see how this discussion will proceed.
Maybe someone of IBM wants to participate.
By similar issues we ended up with the following solution:
we wrote an LE exit, which we tried to activate in all environments,
that is, batch, TSO and IMS, in our case. Programming languages
fopen (testlib, r) -- looks for file userid.testlib - TSO logic
fopen (\'testlib\', r) -- looks for file testlib - MVS dataset
fopen (dd:testlib, r) -- looks for dd-name
there are additional filename conventions for HFS files
This is how C (or LE) runtime works.
kind regards
Bernd
Michael
Hello Frank,
maybe this is all correct, but I'd like to throw your
attention to one very important fact:
the different DSNHLIs are not at all the same. So if you
want to build - as we did at our site - a kind of general
interface, which works in all environments, you have to
rename all the
Dear listers,
at my customer's site there are some user-written MVS subsystems,
written in the 80s and 90s. They seem to be very important and are
in production use every day. Now I was asked to take responsibility
for them, because the guy who wrote them will be retired soon.
I started
Thank you all for your contributions.
First, this was posted on IBM-MAIN erroneously. It was only meant to
appear on the ASSEMBLER List. But thank you for your feedback anyway,
it was of great help.
Second, the subsystems do some significant work, for example, fast
communication
between IMS
I would like to second that.
With some of the new MS compilers, you have to define a symbol
_CRT_SECURE_NO_DEPRECATE; if not, you get warning messages
on every call of strcpy, sprintf and so on.
While I agree that the NULL terminated strings and the C string library
are a bad idea from the
IMHO, if thinking about development on workstations, you should first
split your application in two pieces:
one piece (batch driver), which does the reading and writing of the 4GB+
datasets,
and presents the data on a record base to the
second piece, which does all the calculations and
If it helps:
you can open a PDS or PDSE without a member name using fopen ()
in binary mode and read the directory. After having read the member names,
you can fopen the individual members, if you want.
Kind regards
Bernd
David Stephens schrieb:
There's no doubt that z/OS specific functions
The german mainframe Telefunken TR 440 had a command language in 1970
already,
which was the same for batch and dialog. No need to learn different
languages like
JCL and TSO command languages, and you could do all the things you can
do with
the JCL of today, even more (define your own
This is true. 30 million cards have the chip with the logic error on it.
It seems as if the BCD representation of the year 2010 is unterstood
by the card logic as 2016, and so the card is treated as not valid any
more,
but this is only a wild guess.
The repair steps discussed are the
as 2016?
Thanks!
Don
On Fri, Jan 8, 2010 at 5:00 AM, Bernd Oppolzer
bernd.oppol...@t-online.dewrote:
This is true. 30 million cards have the chip with the logic error on it.
It seems as if the BCD representation of the year 2010 is unterstood
by the card logic as 2016, and so the card
IMHO, this sounds far too optimistic. First, not all machines and POS
terminals have been
reconfigured, only most of. And this can be done, AFAIK, only inside
Germany, but
due to legal issues, not in other european countries, and german people,
passing their
holidays there at the moment (skiing
the work around is: don't use the chip - use the magnetic stripe instead !
John P. Baker schrieb:
Gil,
Personally, I think that any work around is absurd.
Somebody really screwed up, and a lot of people are being inconvenienced.
What I am afraid of is exactly the kind of scenario you
My guess at the moment, too, is, that the ATM tells the chip on the card
the current
date in BCD, and the card interprets it as 2016 and returns an error
code expired
to the ATM.
But recent news sound as if the truth is more complicated. The
communication between
the EMV chip and the ATM
Cool. Interesting, that I did not find this obvious work-around by myself.
Maybe my brain refuses to take such ways of correcting one error by
inserting another into account.
Happy new year 200A to you all :-)
Robert A. Rosenberg schrieb:
At 23:34 +0100 on 01/08/2010, Bernd Oppolzer wrote
it would be better to ask at DB2-L,
but the answer is something like
SELECT ...
FROM CUSTOMER_ORDER
WHERE TS_COLUMN = CURRENT TIMESTAMP - 2 YEARS;
Specify the columns you want in the result in the select list (replacing
the three dots),
the correct table name and qualifier after FROM
and the
No. Most compiled languages, including PL/1, don't do forward chaining.
We did it by ourselves for years to make the SYSUDUMPs more readable.
But in the end we gave up and wrote our own dump routine which follows the
back chain starting from reg 13. In the LE manuals it is explicitly
stated
A similar topic:
entry points in SYSUDUMPs Save Area Trace can have a message attached,
containing, for example, function names, compile dates etc.,
if the machine codes at the entry are coded in the right way.
That is, Branch, one byte length field, the message.
Our home grown start macro
We did this, too, in our site-specific standard start-and-end-macro.
So odd addresses in the RET field in the save areas show that the active
save area is above this position (in forward direction). But this is
kind of
redundant, if you have reg 13. But sometimes, when debugging, you are
happy
If a subtask issues a LOAD macro for the same module that has already
been loaded by the mother task (RENT, REUS), will there be an entry
in the subtasks LLE list for this module or not? I'm kind of sure that the
module will be reused, but I'm not sure about the entry in the LLE list.
Can someone
Dear Colleagues,
I have the following problem:
a piece of software that I'm not allowed to change due to legal reasons
walks through the LLE list to look for a specific module. And it does this
very often. I cannot change this behaviour. This consumes 5 percent of CPU
of some of our production
Thanks for the comments so far.
1. yes, the loop is looking for the same module every time.
2. yes, it is called VERY often. And yes, there are many modules in the
LLE list (hundreds to thousands; this is a production IMS region with
virtually all the modules we have).
3. the loop is very
Hello all,
I have two machines with OS/2 V 3 still running, and it is not called WARP,
but there was a version V3 already called WARP, too, AFAIK. (The machines
are from 1997 and 1999, by the way, and they still have the original IBM
SCSI
drives, no problems so far).
The blue screen is not
The problem is, IMHO, that the file is stored on Windows
with LF delimiters. This is probably not due to a previous FTP transfer
from Unix to Windows, but some other way. The file exists and cannot be
changed.
Now the question is, how to transfer it to z/OS?
I don't believe that the Windows FTP
sorry all,
should have read all the other posts.
if FTPing such a file with LF using text transfer,
the 0x0a will probably not trigger a new line on the z/OS
dataset, correct?
so the single 0x0a does not mean new line to the windows FTP client,
and several lines of windows are combined into
Hello all,
sorry for asking this question on IBM-Main, but the C370 list is so silent
that I doubt that anyone is actually listening.
We observed a sort of problem today which showed up as a 0C4 abend
due to a not proper initialized pointer component of a C structure.
Further examination
the rest of the structure to zero. But such a
instruction is not generated by the compiler.
???
Kind regards
Bernd
Bernd Oppolzer schrieb:
Hello all,
sorry for asking this question on IBM-Main, but the C370 list is so
silent
that I doubt that anyone is actually listening.
We observed a sort
at 296(r13)):
STr6,a5:d296:l4(,r13,296)
MVI a5:d300:l1(r13,300),0
Kind regards
Bernd
Bernd Oppolzer schrieb:
To make it clear:
see above
The ST operations initialize the first components of the structures,
which are fullwords. This is what should be done, according to
the IBM C
of these 2000 C
programs :-)
(and many of these have gone through other hands through the past 15
years).
Kind regards
Bernd
McKown, John schrieb:
-Original Message-
From: IBM Mainframe Discussion List
[mailto:ibm-m...@bama.ua.edu] On Behalf Of Bernd Oppolzer
Sent: Tuesday, May 18
Yes, with respect to the IBM description, it works correct.
But the IBM description is wrong with respect to the ANSI C definition.
I also checked the language references of some other compilers,
that is, SGI or Microsoft. In all other cases, the remaining structure
components
are initialized
.
Bernd Oppolzer wrote:
Sorry for the missing line feeds.
C statement:
*scp1215ein in1215 = { 0 };
Pseudo ASSEMBLER (structure starts at 272(r13)):
STr6,a5:d272:l4(,r13,272)
MVI a5:d276:l1(r13,276),0
C statement:
*scp1215aus
Hello David,
which version of the compiler did generate the MVC instructions?
was this with or without the INITAUTO option?
We use the z/OS v1.6 version, and this version only generates the MVI,
not the MVCs.
We will not use INITAUTO due to serious performance degradation.
At the moment,
Hello David and all others,
I have to apologize.
The MVC instructions which initialize the rest of the structure come
very late,
some 40 instructions later, after the function prologue, so I didn't
realize them.
But in fact, you are right, David, they are there, and the structure is
Hello Dave,
thank you for your answers.
Yes, the reason for my confusion was twofold:
first, the documentation of IBM, which states that the remaining components
of partially initialized automatic structures are not initialized, which
is not
conforming to the ANSI standard and is not what
I recently heard a rumour at our site about IBM not recommending
the use of java with DB2 on the mainframe due to problems with
open DB2 cursors across java subprograms. It was reported to be a problem
of the IBM mainframe java implementation, and IBM seems to be working on
it.
I don't quite
john gilmore schrieb:
declare (pi value(3.14159_26535_89793_23846),
sqrt_pi value(sqrt(pi)) binary float(52) ;
What I find most interesting in this example:
will the sqrt(pi) function call be evaluated at compile time?
I hope so.
What I expect from an optimizing compiler, is, at
with the tapes,
and IBM and Telefunken employees brought and fetched the tapes from the
train stations.
This was done several times during the bootstrapping process.
Old stories ...
Kind regards
Bernd
David Crayford schrieb:
Bernd Oppolzer wrote:
john gilmore schrieb:
declare (pi value
Hello IBM-Main,
can I split a PARM on the EXEC statement, which is too long,
in two parts (on two lines), without having a comma inserted?
Thanks, regards
Bernd
--
For IBM-MAIN subscribe / signoff / archive access
Thanks! worked!
Kind regards
Bernd
Steve Comstock schrieb:
Bernd Oppolzer wrote:
Hello IBM-Main,
can I split a PARM on the EXEC statement, which is too long,
in two parts (on two lines), without having a comma inserted?
Thanks, regards
Bernd
Yes. For example:
//STEPPER EXEC PGM
Hello all,
I need to compile a ANSI C program on the mainframe,
which does calls to the OPENSSL library. The OPENSSL library
is located in the z/OS Unix filesystem, and the header files for the
compile, too.
I've not much experience with z/OS Unix. Our compile jobs deal with
classical MVS
Is it possible to link code directly from z/OS Unix
archive files?
I tried it this way:
//LKED EXEC PROC=WCIEWL,
// AMODE=31,RMODE=ANY,REUS=RENT,
// SYSLMOD='ADPSAE.LEHR.GRP20.LOAD',
// SYSOUT=A,
// SYSLIN='TEMPDSN'
//SYSINDD *
INCLUDE
Thank you very much, it worked!
Now the remaining problem is: I had to compile my module
with XPLINK and LONGNAME, and I had to link it to a PDSE,
because without XPLINK, the references to the functions in
the library don't get resolved; same is true, if I don't use
LONGNAME, and LONGNAME needs
--- cross posted to the PL/1 mailing list ---
Thank you for your answer. I will take a look at the 3.9 documentation.
We are using 3.6 and 3.7, planning to migrate to 3.9 this year.
I've read the LE programming guide of z/OS 1.10, and from there I took
the information that COBOL and PL/1 are
big grin :-)
I do: download files to Win or OS/2 using FTP oder RECEIVE,
then KEDIT the file (big applause to Mansfield Group)
then insert a special char at the split points, e.g. %
then
set hex on
change /%/x'0d0a'/* *
then save the file and reopen (or upload to z/OS).
Same technique for
To solve the problem finally, you will have some DB2 expert to
examine the SQLs that the remote users are sending. Because
very often the people outside send the SQL through end user tools,
they are not well trained and could do much better. This will cost some
money at the start, but in the long
Hello,
we (suddenly) feel the need to give our large insurance math package,
which is written in C, to a fellow company, so that they can use it, too.
The problem is: the math package needs to do fopen to get access to
some large (kind of) database files, where it gets its calculation base
Hello,
we have the following problem:
we recently got the responsibility for the site-specific MQS exits.
These MQS exits
are written using SPC (System Programming C). This is recommended by MQS,
or maybe it is a restriction of the MQS environment.
We link the exit with the SCEESPC lib and
that you are using EDCXSTRL and not EDCXSTRT?
On 2/06/2011 3:22 PM, Bernd Oppolzer wrote:
Hello,
we have the following problem:
we recently got the responsibility for the site-specific MQS exits.
These MQS exits
are written using SPC (System Programming C). This is recommended by MQS
04.06.2011 03:40, schrieb David Crayford:
On 3/06/2011 9:20 PM, Bernd Oppolzer wrote:
Hello David,
yes, we are using EDCXSTRL. But anyway:
iconv is part of the RTL runtime package, this is a large module
called CEESG003. Part of this module is the RTL malloc routine, too.
The references between
yes, I guess, I have to do something like that;
don't use iconv() any more and do the conversion some other way.
We have also sourcecode examples of some other exits available,
where code conversions are done by using inline tables; maybe
we can copy some code from there.
Thank you, kind regards
Dear colleagues,
I have to call the openssl package on z/OS to do some encryption work.
Now I built a C main function to call a routine which did run successfully
at another site. Because the openssl library uses XPLINK linkage, we
decided to do so, too. But when I first call a function from the
no information about the compile options used to build
the openssl package.
When I changed my main function to RENT, everything ran fine.
Kind regards
Bernd
Am 29.06.2011 15:11, schrieb Bernd Oppolzer:
Dear colleagues,
I have to call the openssl package on z/OS to do some encryption work.
Now I built
I'm still fighting with the OPENSSL package. It works for me,
if I'm calling it from my C main program, but it would be nicer, if
I could call the functions from PL/1. But I have only a XPLINK version
of the OPENSSL libraries which someone else built for me, and no
sources available.
So I first
Thank you very much, this was really helpful !
With XPLINK(ON) specified as a LE runtime parameter it worked.
Kind regards
Bernd
Am 30.06.2011 19:33, schrieb Denis Gäbler:
The caller PL/I does not neccessarily have to be an XPLINK program, but you
will require an LE enclave with
Hello all,
following this discussion yesterday, I tried to play a little bit with
Hercules for the first time.
I followed one of the links below and succeeded so far with installing
Hercules and a
VM/370 R6 installation which does IPL, and I have some X3270 sessions to
connect to VM.
I did
I would like to thank you all. I fixed the problem with the PL/1-F
compiler on VM/370 R6
on Hercules, it works now. Also the Stanford Pascal Compiler, which
generates PCODE370
as intermediate code, then 370 code. And ASSEMBLER and FORTRAN, of course.
There are some other languages, which I have
When calling C routines from other languages like COBOL or PL/1 (or
FORTRAN),
you have to take into account that in C the parameters are passed by
value, whereas
the other languages pass them by reference, that is, addresses of the
variables.
The solution is simple: to construct your C
Cool, the newer versions of PL/1 support this, too,
when using the BYVALUE keyword on the ENTRY declarations:
DCL CFUNC ENTRY
(BIN FIXED (31) BYVALUE,
BIN FLOAT (53) BYVALUE,
POINTER BYVALUE)
RETURNS (BIN FIXED(31));
and then:
DCL X BIN FIXED (31);
DCL Y BIN FLOAT (53);
DCL P POINTER INIT
I never knew how to call this sign correctly:
in Germany, it's simply called: und (that's: and)
or Kaufmanns und, that is, merchant's and.
Almost nobody here knows what an ampersand is.
But some day one of my co-workers called it Brezel -
you know, what a brezel is? Look here:
Same in Germany, all are called Klammer,
() - Klammer (runde Klammer only, if they need to be distinguished from
the others)
[] - eckige Klammer (square)
{} - geschweifte Klammer (curly)
- spitze Klammer
The word parenthese is seldom used.
Regards
Bernd
Am 22.11.2011 09:26, schrieb
For our system, we have the need to create UUIDs, which contain in the
right part a twelve
byte hex number which identifies the machine uniquely world-wide (at
least, that's the idea).
The left part is a (kind of) inverted timestamp.
We do this using some information from CSRSI and the LPAR
Normally, there is no problem in running even very old C modules on
newer versions of the OS. We did this for years.
Another thing is, if you have changes in MQ, for example - that is, if you
try to run your C programs on a new release of MQ - that may or may not
work.
In this case, we
We are a big insurance company in Germany, and we do PL/1 until today.
We also do ASM and C, but no COBOL - never.
I heard some years ago that only about 5 % of the mainframe programs are
PL/1,
compared to 80 % COBOL. Don't know, if the numbers are correct. Most PL/1
users are in southern
Sorry, I forgot: many PL/1 users in Switzerland, too.
Kind regards
Bernd
Am 18.01.2012 00:53, schrieb Bernd Oppolzer:
We are a big insurance company in Germany, and we do PL/1 until today.
We also do ASM and C, but no COBOL - never.
I heard some years ago that only about 5
We replaced the DSNHLI entries provided by IBM by a homegrown CSECT
(with ALIAS DSNHLI) which does the following:
- check if connection is already established by examining a statically
stored address
(which was initialized to zero)
- if not zero, this is the address of the IBM interface, call
1 - 100 of 135 matches
Mail list logo