Ask a question

If you have a question you would like to ask us then this is the place. Simply add a comment to the page at the bottom and we will get back to you in due course. More interesting questions and answers may also make the front page of the blog.

Please note, that although we welcome your questions, this is not another support channel and we reserve the right to not answer your question and/or point you back at the IBM support team.

  1. Keith
    April 23, 2008 at 8:29 pm

    We have become a heavy WebSphere Java shop. To support the Application deploys in WebSphere 5 I have written some CICS Web apps that build WSadmin batch JACL scripts and submits them. Responses are sent back to the requester via email. This works but I wish it could be more interactive. Is there any other way to run Wsadmin from CICS and get back the results? I did see one other site that uses Interactive Rexx to accomplish this.

  2. Keith
    April 23, 2008 at 8:35 pm

    Hi,
    I have a CICS Web app that queries MQ queue names for current depth. We have 6 MQ subsystems. Any plans to let CICS connect to more than 1 subsystem at a time. This could apply to DB2 and IMS also. WebSphere lets you do it with connection factories.
    Thanks.

  3. johntilling
    April 23, 2008 at 11:45 pm

    We have no plans at present for CICS to connect to more than one MQ, IMS or DB2 at a time. With DB2 data sharing for example, one susbsystem should be able to see all the data. If CICS were to connect to say more than one DB2 at a time, how do we know which DB2 to send it to ? Unless thats going to be in the application, in which case you have just made a loosely coupled programming model very much more tighltly coupled.

  4. Andrew
    May 3, 2008 at 7:58 pm

    Hello, I have tried googling, but I am not having much luck. We have started to develop Java programs on the mainframe in our shop. Typing java code in ISPF , compiling, new copying is no fun 😦 I don’t know if the management has thoughts about the costs of RDz for the whole shop. So as a third option I’m messing with Eclipse. But the problem is I can’t type any DB2 or CICS related java commands in Eclipse because it doesn’t have any connectivity to the mainframe and eclipse throws a fit and I can’t execute anything.
    Do you know of plugins or any other way, where I can connect Eclipse on my desktop to the mainframe so I can work with host DB2 and CICS please? Thank you.
    Andrew

  5. Chris Hodgins
    May 6, 2008 at 8:04 pm

    Hi Andrew,

    Assuming you are using JCICS, you could try starting a new Eclipse project, copying the CICS Java jar files onto your desktop and adding them to your classpath. That should let Eclipse detect the libraries and you might even be able to compile locally.

    FTP is probably the simplest route to transferring code back to the mainframe and I think there is support in eclipse for doing to the transfer. If you are using Java DB2 libraries then this should probably work for that as well.

    Let us know if you are still having problems.

    Thanks
    Chris

  6. Bobby Jordan
    May 9, 2008 at 1:33 pm

    This may not be the proper place to ask this questions, but
    I am trying to find out when CICS TS 3.2 education will become available.
    I am especially interested in CICS internals, migration, and performance.
    If this is not the proper place, then maybe you could direct me to another location.
    Thanks

  7. Grant
    May 13, 2008 at 7:07 am

    Hi Bobby.

    The IBM CICS classes can be seen here. Circle also have some classes, see here.

    If you can’t see what you want, have a word with your account team, depending on what you are after, they may be able to sort something out with the services teams.

    Cheers … Grant.

  8. Phyllis Donofrio
    May 16, 2008 at 10:56 pm

    Hello Folks!
    I have a SOAP application that comes into a TOR and ‘converts’ the XML to an appropriate CICS task and then CPSM gets invoked to route the DPL request to whatever AOR it chooses. When the DPL is routed, the AOR logs a:
    DFHSN1604 05/16/2008 15:20:44 CRT2A5 Attach header signon at terminal <ALE by user WZ7J has failed. SAF codes are (X’00000008′,X’00000000′). ESM codes are (X’0000001C’,X’00000000′).
    Indicating the userid is suspended/revoked (the app doesn’t check in the TOR) since the CONN contains ATTACHSEC=IDENTIFY.
    The request is returned to the TOR, where CPSM happily routes to the next AOR, which, as you can imagine, is continued in what we now call ‘connection walking’ until it returns and tries to execute in the TOR.
    The developer wants CPSM to try this ‘N’ times and then return a SOAP FAULT to the application, can CPSM do this? I don’t think so but you guys are the experts….
    Thanks, Phyllis

  9. Grant
    May 17, 2008 at 9:03 am

    Hi Phyllis, Sorry no, not with a handy option. However, you might be able to do something with an EYU9WRAM program.

    EYU9WRAM is a user replaceable program that can be used to customize CICSPlex SM routing. However the problem will be, that the EYU9WRAM will probably give you a route selection error code that might be a bit vague, e.g. you won’t know that the route selection error has occurred because the user is revoked. (CICS doesn’t supply that information through the dynamic routing interface, so CICSPlex SM doesn’t know). However you might be able to do something, It depends on how precise you want to be..

    There are sample EYU9WRAM routines in all languages that perform the same actions as the un-customized routing in CICSPlex SM, e.g. EYUAWRAM in SEYUSAMP, EYULWRAM in SEYUCOB etc.

    Note that there is an overhead in using an EYU9WRAM routine (compared with not using one). CICSPlex SM detects if the EYU9WRAM is the one shipped in SEYULOAD, and if so, does not invoke it and performs the processing inline (this saves overhead of invoking an un-customized URM). So if you do compile up one of the samples and end up NOT changing it, make sure you delete it out of your load library, so that the SEYULOAD one causes the CICSPlex SM optimization to take place.

    Cheers … Grant.

  10. James O'Grady
    May 19, 2008 at 2:43 pm

    Hi Keith,

    in response to your question of 23rd April about WAS and batch admin scripts, I’m currently working on a Jyhton script that listens on a port and then does Application Updates. My hope is that this will then send a response straight back to CICS over the same socket, but as I only started writing it this morning and did my first ever WAS course last week, I haven’t got that far yet. It now listens on a port forever, and if a certain URL comes it it refreshes my entire application, which is a start. If I can get it working I hope to let you know more…

    James

  11. Phyllis Donofrio
    May 19, 2008 at 9:15 pm

    Grant, thank you very much for the info, so we probably won’t go the CPSM route. I found this description in PK35565:
    ‘ When a webservice request arrives at the TOR, it runs under a
    common transaction with little RACF protection using the CICS
    default userid. A terminal handler in the Pipeline extracts the
    userid from the Soap header and replaces the userid and tranid
    within containers DFHWS-USERID and DFHWS-TRANID.’
    If the webservice request comes in and the terminal handler in the Pipeline gets the userid from the Soap header, what if there isn’t a userid in the header – or a userid that has been suspended or revoked? What do other customers do in the TOR to insure there is a legitimate RACF userid for security?
    Thanks, Phyllis

  12. James O'Grady
    May 21, 2008 at 2:39 pm

    Hi Phyllis,

    the pipeline definition can contain a element, which in turn can contain an element. Authenticate has a couple of attributes, mode and trust, which together can be used to determine what security is required by the pipeline. For example, trust=none and mode=basic means that, for a provider pipeline, there must be a valid username and password in the SOAP Headers. If there isn’t, or the password is wrong, then the request is reject before it gets to the terminal handler. There are a number of options for what you can and can’t have as valid security in the message.

    Hope OK,

    James

  13. James O'Grady
    May 21, 2008 at 2:50 pm

    Hi Phyliis,

    the XML tag names have been chopped out of my comment, so it looks like I’m being vague. The missing element names are dfhwsse_configuration, which can contain authenticate.

    Sorry about that.

    James

  14. James O'Grady
    May 21, 2008 at 2:51 pm

    Authentication (embarrassed look)

  15. Phyllis Donofrio
    May 21, 2008 at 3:39 pm

    James, thanks so much, we’ll definitely check this out to see if it will work.
    I appreciate your input.
    Phyllis

  16. colin turner
    May 22, 2008 at 10:21 am

    I am running DFHWS2LS to generate a wsbind file but get the message
    JVMST109: Insufficient space in Javaheap to satisfy allocation request.
    How do I increase the Java heap size when running DFHWS2LS.

    java version “1.4.2”
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
    Classic VM (build 1.4.2, J2RE 1.4.2 IBM z/OS Persistent Reusable VM build cm142i running on zOS 1.4 with CICS 3.1

  17. Grant
    May 22, 2008 at 1:09 pm

    Hi Colin, take a look here.

    Cheers … Grant.

  18. Doron Geva
    May 25, 2008 at 9:44 pm

    Hi,
    We have a problem when adding 2nd TOR using the same AORs as the 1st TOR.
    The problem is as the following:
    Transaction “A” starts on TOR routed to AOR1. Transaction “A” issues EXEC CICS STRART TRANID(B) which is defined at AOR2. This is working fine, TRANID(B) is routed to TOR1 and from TOR1 to AOR2.

    Now we added TOR2 which is clone of TOR1. Since we do not know from which TOR TRANID(A) will arrive we TRANID(B) has been defined dynamic routing on AOR1.

    It does work and we get message DFHCR4310 on the AOR1/2.

    We consider using EXEC CICS RETURN IMMIDAITE, but this can be done only from the main’s transaction program. In this situation the program that issues the EXEC CICS RETURN is at much lower level. Correcting it will requires changes in tens (10s) of programs.

    Any suggestion?
    Is there any CICS global exit that can be used?

    Thanks
    Doron Geva

  19. Grant
    May 26, 2008 at 8:07 am

    Hi Doron,

    What is your dynamic routing program doing?

    I don’t think I would try to use dynamic routing for this problem.

    If TRANID(B) must always run in AOR2, then I think I would put a connection between AOR1/2 so that the start request was shipped across the AORs. You would also need to set up the CICS ‘terminal not known’ global user exits (XALTENF and XICETENF exits) so that you can tell CICS which TOR the terminal belongs to.

    Cheers… Grant

  20. Tony
    June 6, 2008 at 3:53 pm

    Hi,

    We are running JCICS transaction in TS 2.3 right now. Currently, our CICS system administrator setup our CICS to only run 5 concurrent JCICS transactions at a time. He said this is due to the memory limitation in a single CICS. I am wondering, is it possible to setup CICS to running more concurrent JCICS transaction at a time? If yes, can you please point me to some documentations? Also, will TS 3.2 allow more concurrent transactions? Thanks.

  21. James O'Grady
    June 10, 2008 at 3:03 pm

    Hi Tony,

    that sounds like the MAXJVMTCBS system parameter, which as a default limits the number of concurrent Java tasks in CICS to 5. Acutally, it limits the maximum number of TCBs you can have for Java to 5, and you need one TCB (Task Control Block) per Java Virtual Machine, and one Java Virtual Machine per concurrent Java using task.

    This number can be increased, but your CICS system administrator is right to be cautious with regard to memory. You could increase this number all the way up to 999, but then you’d definitely have memory problems!

    Check out “Managing your JVM Pool for Performance” in the CICS 2.3 InfoCenter for guidance on how many JVMs you’ll need and can support!

    Hope this is some help,

    James

  22. Wayne Myers
    June 10, 2008 at 5:16 pm

    Hi,

    I’m looking for a 5 minute CICS Introductory video to open up an in-house CICS to company employee discussion group we are hosting. It should be vary high-level such as what CICS is and who uses it.

    Would anyone know where one is that can be shared?

    Thanks,
    Wyne

  23. Chris Hodgins
    June 11, 2008 at 2:09 pm

    Hi Wayne,

    There is the CICS TS 3.2 launch video available here:
    http://www-306.ibm.com/software/info/television/index.jsp?lang=en_us&cat=cics&media=ALL&item=xml/K852765B88051L84.xml

    Thanks
    Chris

  24. Yogesh Parchure
    June 11, 2008 at 11:49 pm

    Hi Guys,

    This is a thread safe question. Can you tell me why the INQUIRE PROGRAM is not threadsafe in TS 3.2? The INQUIRE EXITPROGRAM is threadsafe in TS 3.2.

    Regards,
    Yogesh Parchure

  25. Yuval Katz
    June 12, 2008 at 12:52 pm

    Hi ,
    We have about 20 CICS regions in our production system. About 5 CICS are managed as PLEX environment.
    Lately we suffer about once a day several miutes of poor response times for transactions ONLY in the PLEX managed CICS regions.
    The situation is lasting for several minutes and than ends with no intervention at all.
    At time of problem we see in TMON that transactions spends a lot of time in transition between AOR’s and FOR and vice versa .
    What can cause such a delay ? maybe VTAM ? maybe Connections/Sessions are not defined properly ?

    Any help is appreciated …
    Yuval

  26. Grant
    June 13, 2008 at 7:11 am

    Hi Yogesh,

    INQUIRE PROGRAM and INQUIRE EXITPROGRAM internally are very different. When the CICS (RMI) Resource Manager Interface was made threadsafe for DB2, INQUIRE EXITPROGRAM received the necessary changes to allow it to be threadsafe.

    If you require INQUIRE PROGRAM to be threadsafe, please talk to your IBM account team about submitting a requirement – Requirements raised by the formal route carry more weight than us raising the requirement internally.

    Cheers … Grant.

  27. Grant
    June 13, 2008 at 7:35 am

    Hi Yuval,

    What do you mean a ‘PLEX environment’? Do you mean a CICSplex ? Is it being managed by CICSPlex SM? Are you using Dynamic Routing?

    You need to look at the suspend resource types and names to try and figure out what is going on. e.g. if there are not enough sessions, you will get a resource type of ALLOCATE with the resource name being the SYSID, If the bottleneck is ending up being on the FOR, you might have things like file control string waits or VSAM exclusive control waits.

    I haven’t seen/used TMON for a long time, but if it (or you have other tools like CICS PA) can deal with multiple systems and generate wait/delay reports that may be easier to see what is going on, rather then the few minutes you have of slow responses and looking online at a moving target.

    Cheers .. Grant.

  28. Andrew
    June 22, 2008 at 6:20 pm

    Hello, We are employing CICS web services and we have a WSDL file from a service provider. This file has complex datatypes defined, but the WSDL file does not define lengths for each of the variables involved. So when we run this WSDL file through DFHWS2LS, CICS goes on a blast declaring Channels and containers. Other than asking the service provider to declare lengths, Is there something we can do to tell CICS to avoid declaring (that many) channels and containers? Thank you.

  29. James O'Grady
    June 24, 2008 at 12:03 pm

    Hi Andrew,

    the key parameter to consider here is MAPPING-LEVEL. Depending on which one you choose, the Web Services Assistant will attempt to give you a better mapping of the WSDL to a language structure. MAPPING-LEVEL of 1.0 will probably give you the least complex language structure, but not necessarily the best match as to what could conceivably be sent or received from the other end. Check out “Mapping levels for the CICS Web services assistant” in the InfoCentre for your version of CICS to see what’s supported. Alternatively, as you suggested, get the service provider to declare lengths so CICS has more to work with!

    Hope OK,

    James

  30. Phyllis Donofrio
    June 24, 2008 at 3:52 pm

    Hello Hursley Folks,
    I have a question concerning CICS Web Services traffic and the IP DELAYACKS parameter. We are currently using the default (YES) and are trying to determine if we can expect any performance improvement by using NO. We found one FLASH item that documents one customer’s experience with this change and improvements that they detected. That’s about the only item I can find from any source that indicates we should consider the change. We experience high Web traffic volume so want to make sure there may not be any ‘downside’ to this option. I know the answer to that question would probably be ‘it depends’ but wonder if you know of any reasons to NOT use NODELAYACKS.
    Thanks and Cheers, Phyllis

  31. Grant
    June 25, 2008 at 1:00 pm

    Hi Phyllis,

    Is this the item you were referring to? I had a word with one of the performance guys here, and in his testing when he looked at this (with his workload), he found NODELAYACKS made no difference. He did give the typical performance answer …. ‘your results may vary’. Now I know this doesn’t answer your question, but I thought I’d pass it on anyway.

    Cheers … Grant.

  32. Phyllis Donofrio
    June 25, 2008 at 3:39 pm

    Yes, that’s the item. Thanks for the response, I know our results may vary, but it’s good to know that the performance folks had no difference in their results. I appreciate the feedback.
    Phyllis

  33. Diane Goodwin
    July 7, 2008 at 3:57 pm

    Can you explain what functions and features of CICS TRANSACTION SERVER 3.2 for z/OS can exploit the new ZIIP and ZAAP engines?

  34. Grant
    July 7, 2008 at 6:03 pm

    Hi Diane,

    If you mean CICS directly, the answer is none. However CICS may invoke other z/OS functions, which may in-turn exploit zAAPs or a zIIPs. e.g. Java work run under CICS may be dispatched on a zAAP.

    Cheers … Grant.

  35. Robin
    July 8, 2008 at 3:53 pm

    We have a J2EE application on JBOSS server. Some of the modules are on CICS (Mainframes) like our database. We are using CTG to communicate between the J2EE and CICS. We are facing a problem. After few days the performance of CTG degrades. IT takes a lot of time in getting the data back from mainframes. We recycle the CTG and performance improves. But this problem comes again after 2 months. What can be the possible Cause. Also we want to improve its performance in general.

  36. Robin
    July 8, 2008 at 3:58 pm

    To add to it,, it will be helpful if you can refer me to any of documentation to monitor the performance of CTG and how to improve it..

  37. Rex
    July 9, 2008 at 7:20 pm

    I posted this quuestion on a CICS list. I got a couple of good responses, but I was wondering since you guys are the in thick of it, What your opinions would be? Thank you for your time in advance.
    ———
    Hello, we are starting to develop Java programs on the mainframe. I have heard people say that Java is memory intensive on the mainframe, Java is slow on the mainframe and Java shouldn’t be allowed to run on CICS using JCICS.

    All this information seems to be from hearsay and not from people who have actually developed Java on the mainframe and seen it live there.

    I would like to hear from people who have first hand experience with Java on the mainframe(if you could please, I would appreciate it).
    1) Java’s performance on the mainframe
    2) Why Java shouldn’t run on CICS?

  38. Grant
    July 10, 2008 at 6:52 am

    Hi Robin,

    It is probably best for you to raise a PMR with IBM to get to the bottom of your CTG performance issue. As for monitoring, if you’re using CTG on z/OS you could check out Exploring Systems Monitoring for CICS Transaction Gateway V7.1 for z/OS

    Cheers … Grant,

  39. Aravind
    July 17, 2008 at 8:55 pm

    Working on a new project where i need to display all items having negative amounts on my CICS screen.

    Now problem is, there are more than 1 million items on the database, some having negative amounts. Facing timeout issues.

    How do i overcome this.

  40. Grant
    July 18, 2008 at 12:57 pm

    Hi Rex,

    Remember that these are personal views and not those of IBM (like everything on this Blog)… From one of the performance guys here:

    A direct comparison between an application written in (say) COBOL and one written in Java is very difficult to do.
    It would be hard to guarantee the quality of code in each case, it is possible that a well written JAVA program could out perform a poorly written COBOL program and vice versa.

    The application profile or industry type that was used as model could favour one or the other and whatever the outcome, the results would only be true for that specific workload and no other.

    We know there is an additional layer that the JAVA code in CICS has to go through to get to the CICS API and although this is relatively small this additional cost is proportional to the amount of pure business logic. IE. programs with higher numbers of pure business logic code will be less affected in CICS.

    The same is true for Java initialisation and termination, this is more expensive than COBOL but as the size of the program increases, this overhead diminishes in significance.

    Java and COBOL performance should not be compared on run time performance alone, the balance must made with the development and maintenance costs incorporated and the availability of skills.
    However saying all that, there have been major improvements in CICS/JAVA performance over the past CICS releases and we have many customers who use it and are quite happy with level of performance.

    If you want reference accounts from IBM for CICS users that are using Java, have a word with your account team, they should be able to check (or get in contact with Hursley) to see if there is anyone suitable.

    Cheers … Grant.

  41. Grant
    July 18, 2008 at 1:00 pm

    Hi Aravind,

    This is all going to be dependant on the application, and the languages & products you are using. You’ll need to have a word with the developers of the application, or if that is you, then you’ll need to provide some more in depth details of the environment / problem

    Cheers … Grant.

  42. Oliver Walker
    July 22, 2008 at 3:34 pm

    We are upgrading to TS3.1 and are very interested in the Web Services support feature. We currently support our web sites with COMMAREA-driven COBOL applications initiated by messaging across a proprietary middleware layer incorporating MQSeries. Current thinking is that we want to expose these applications as web services via the Web services assistant with HTTP transport and with a single SOAP message handler, so we’re looking at a fairly simple, mainstream design. My question is: what is actually happening within TS while it is receiving the message, mapping it to the COMMAREA, and linking to our module and then while it is returning the response back to the requestor? I understand that each request will result in a single TS task, but I’m trying to get a feeling for the performance ramifications, particularly in terms of whether there is JAVA code doing this and whether a JVM instance would be required for each message?

    • Rich Santilli
      August 28, 2009 at 5:19 pm

      Oliver,

      We are currently looking at using CICS Web Services to replace some of our current MQ calls. I was wondering how successful you’ve been? Are there any pitfalls or gotcha’s that you’ve run into?

      • Oliver Walker
        August 28, 2009 at 5:40 pm

        Basically, we set things up just as decribed in the book. We set up one service provider pipeline using the included SOAP1.1 pipeline config. I was trying to “ping” the service from a web browser but that won’t work. There’s a software product called Eclipse, for which there’s a post here somewhere, that will allow you to quickly test your web services without having to do any development at the distributed level. We don’t actually do any MQ calls, our middleware is doing them for us. I have deployed webservices for each of our supported processes so we can parallel test using our current middleware vs. web services. It works fine, but don’t forget the part about the z/OS unicode translation services.

  43. Grant
    July 22, 2008 at 5:21 pm

    Hi Oliver,

    No Java is used to process a Web Service request unless you have requested validation, see here for details.

    If you are or are planning on using Web Services Security on CICS TS 3.1 there are overheads due to CICS calling some C++ functions. In CICS TS 3.2, some of these calls are optimised, so some of the C++ calls can be avoided.

    Cheers … Grant.

  44. Ellis McCarthy
    July 24, 2008 at 8:03 pm

    Is it in the plans to allow a CICS region to connect to a queue sharing group member. I have a region that is not using CICSPlex SM and depends on ARM with alternate host. Manual intervention is needed to adjust the queue manager name in the CICS region. Using alternate JCL is does not solve the problem because we have more than one LPAR that we can use as an alternate host and we don’t know which one will be used.

  45. James O'Grady
    July 25, 2008 at 11:27 am

    Hi Ellis,

    a solution to the multiple QueueManagers/multiple LPARs problem could be to code the INITPARM with the QueueManager configuration into a PDS member for each combination … e.g.
    SITPARM(IPO1)
    INITPARM=QM=QM01

    SITPARM(IPO2)
    INITPARM=QM=QM02

    You could then add something like

    //SYSIN DD DISP=SHR,DSN=SITPARM(&SYSNAME.)

    to the CICS region JCL. The System Symbol SYSNAME would cause IPO1 member to be used if you start on IPO1, or IPO2 to be used if you start on IPO2.

    This would only work if the CICS region is a started task, as all except 1 System Symbols are only accessible from a started task.

    Cheers,

    James

  46. Ellis McCarthy
    July 25, 2008 at 5:37 pm

    Thank You! Right now our regions are submitted by TWS, not started task. I went down this road and discovered the started task requirement. We are exploring the started task option, but it will take awhile to work out the scheduling issues. Stay tuned. Thanks again.

  47. Grant
    July 25, 2008 at 7:17 pm

    Hi Ellis,

    It’s not pretty, but for batch jobs, I have used (and have seen quite a few other customers use) fairly simple REXX execs to build the overrides, e.g. a step in front of the CICS step that runs a REXX EXEC that builds a temporary dataset containing the LPAR specific overrides. This temporary dataset is then used on the end of the SYSIN for the CICS step.

    Cheers … Grant.

  48. Rob
    July 31, 2008 at 2:51 pm

    we are struggling with how best to exposed our CICS/TS z/OS application through web services. we have implemented some services using the WSA. this was nice because it eliminated the need for using an XML parser directly.

    however it looks like (to take advantage of SOAP headers such as WS-Security) we will need a handler that does XML parsing. am i correct about this?

    are we better off using the z/os XML system services (newest release of COBOL or assembler) verses the built in COBOL parser (actual version of compiler we have installed). Or??

    it appears that the z/os parser is more of a DOM type processor (verses SAX) even though the COBOL interface is event driven. i guess my concern was calling a parser that parses the entire doc when i just want specific items – especially when the interface will (in it’s turn) also parse the doc to extract the data to pass on to the application.

    any thoughts?

  49. Don Yah
    August 1, 2008 at 8:39 am

    Hi,

    We are in the porcess of changing our CICS application to be able to run in a Parallel Sysplex environment but we do not have the budget to set up the environment for testing.

    What we are trying to test was to execute our application on the CICSPLEX environmnet within one singgle Z/OS image. If it work in the CICSPLEX then it should be working on the Paralle Sysplex environment.

    What do we need in order to do that? CF? VSAM/RLS (we are using VSAM file for the data)? Does it require CF in order to prvided record level locking?

    Btw, we are the IBM M/F software developer and selling our application to the bank.
    Thanks

  50. James O'Grady
    August 1, 2008 at 9:40 am

    Hi Rob,

    if you want to use WS-Security in CICS, then CICS provides a WS-Security handler that parses and checks incoming messages without having to write your own. This is built into CICS TS 3.2, and provided by PTF with CICS TS 3.1.

    This is configured in the <dfhwsse_configuration> element inside the <wsse_handler> elememt in the pipeline config file.

    Of course, you can still write your own if you need to!

    regards,

    James

  51. Anji Stephens
    August 1, 2008 at 11:21 am

    Hi,
    I can’t find the information I am looking for regarding the shared classcache. For example, how can I see what is loaded into the shared classcache? Is there any way of dumping it? Our production regions are using 200M of the classcache, but have nothing on the application shared class path, so why is so much classcache being used? Is this the amount of storage you would expect to be used for the system related classes?
    Also, we can increase the size of the classcache via CEMT, but why not via the CPSM WUI? (we are using CTS 3.1).

    Thanks and regards,
    Anji

  52. Grant
    August 1, 2008 at 11:39 am

    Hi Don,

    Well it all depends on how far you want to take things and what your definition of a CICSplex is.

    At it’s simplist you might have a routing region receiving work, e.g. a ‘TOR’ or perhaps a listener region, and then you use dynamic / distributed routing to invoke the programs is target regions (AORs). For this you can start small, e.g. a TOR and multiple cloned AORs.

    The next stage to look at might be what to do with resources in the AORs, so for examples, for TSQs using shared TS Servers, or RLS. However if you don’t have a Coupling Facility, you could get some way to having replicating an environment by having a ‘resource owning region’ that handled your files and TSQs etc. e.g. the AORs would function ship requests to the ROR for resources that needed to be shared between the AORs.

    When resource permit, you could then migrate the ROR to other technologies like RLS, shared TS server etc when a CF is available.

    Cheers … Grant.

  53. Grant
    August 1, 2008 at 12:17 pm

    Hi Anji,

    The IBM Supplied WUI views for the START/RELOAD actions on the CLCACHE object need to be updated. Please raise this with the support center if you would like a fix on 3.1 (It is already fixed on 3.2).

    I’ll see what I can find out on the other part of your question, but don’t forget to check the TM classpath as well

    Cheers … Grant.

  54. Anji Stephens
    August 1, 2008 at 12:58 pm

    Hi Grant,
    Thanks for that. I’ve checked the TM classpath and all it has is the following:

    TMPREFIX=/usr/lpp/db2/jcc/classes/db2jcc.jar:\
    /usr/lpp/db2/jcc/classes/db2jcc_license_cisuz.jar

    Regards,
    Anji

  55. Grant
    August 1, 2008 at 1:58 pm

    Hi Anji,

    Are you at least SR9 on your Java? There were some issues with older releases and JIT causing fragmentation.

    The layout / contents of the classcache are not externalised, so you would have to work with the support center for them to help identify the contents (sorry not to have a better answer for you).

    Cheers … Grant.

  56. Anji Stephens
    August 4, 2008 at 11:51 am

    Hi Grant,
    Our development systems are at SR10, and we don’t see such a great usage of the classcache. Our production systems are on SR8. These are due to be upgraded over the next few weeks, so we’ll be able to see if with SR10 the usage reduces.

    Thanks and regards,

    Anji

  57. Phyllis Donofrio
    August 5, 2008 at 9:29 pm

    Hello folks,
    I’m trying to find information about the Batch Interface to CPSM. I know you can run jobs to ‘dump’ resources so they are more easily transported to other environments (test to prod) but I’d like to create a process that allows files to be opened/closed in a repeatable way. I looked in several CPSM manuals but can’t find what I’m looking for. I can use the WUI to select the files, then execute the operation on the files but was hoping I could construct something that could be submitted, therefore opening less chance of errors.
    Thanks for any information, or point me to the manual I could reference.
    Phyllis

  58. Grant
    August 5, 2008 at 10:30 pm

    Hi Phyllis,

    Use the CICSPlex SM API -or were you thinking more of a general utility?

    IBM doesn’t supply a general utility as part of CICS TS, but the CICSPlex SM API is easy. You can run it from batch, TSO or NetView (as well as CICS) in REXX (not CICS), COBOL, ASSEMBLER, PLI or C, I’ve actually been planning a few blog entries on a ‘CICSPlex SM API primer’, but we have some completely un-technical issues to sort out re posting code on the blog.

    Using the CICSPlex SM API is more like using DB2/SQL, rather than traditional EXEC CICS commands (well I think so), But once you get into it, the EXEC CPSM API can be very powerful.

    In a nutshell, you use EXEC CPSM CONNECT, to connect to a CMAS / Context, then an EXEC CPSM PERFORM OBJECT, passing a filter expression e.g. NAME=FILEA*. and an action such as CLOSE. and then EXEC CPSM DISCONNECT. Though there are other commands/facilities you could use.

    Look at EYU#API1 for a REXX example of obtaining records, or there are some older examples that you can look at in the CS13 SupportPac. Note that the VERSION on the EXEC CPSM CONNECT for the CS13 examples should be updated, and possibly a few other minor tweaks here and there, but they should be able to get you going.

    Any questions, just ask!

    Cheers … Grant.

  59. Phyllis Donofrio
    August 6, 2008 at 3:00 pm

    Grant,
    Thanks a bunch. I found your suggested example in SEYUSAMP and will give it a go.
    Phyllis

  60. Ellis
    August 12, 2008 at 5:34 pm

    I have an application designing a batch interface solution using EXCI. I am no comfortable with the solution because of the performance and rate of transactions they are proposing, (they want to use a priority of zero), and with our current security settings. As the systems programmer, should this be a concern for me or do I just have to bite the bullet and dig into making it work at all cost?

  61. Grant
    August 12, 2008 at 10:25 pm

    Hi Ellis,

    It depends on the design of the application and what options are being used.

    EXCI can certainly perform very well, and CICS Security controls allow you to cover EXCI work.

    However, you know your systems and what it can handle, where bottlenecks may occur etc and the issues you raise are reasonable concerns that need to be addressed for any application. So my first reaction would be to try to encourage the applications team to do the right thing and to come up with a robust / secure / scalable solution, otherwise it will certainly come back to bite you later on.

    Sorry if this is rather vague, but we need more specific info as to what is going on to be more precise. e.g. why do they want to use a zero priority, are these one shot DPL requests, are the batch jobs running under appropriate userids already, what is the backend program doing… etc

    Cheers… Grant.

  62. Ellis
    August 14, 2008 at 7:22 pm

    Thank you Grant this is enogh for me to go on.

  63. Kayhan Tanrıverir
    August 19, 2008 at 3:25 pm

    Hi

    How can achieve Dynamic routing between two systems. Systems are SYS1 and SYS2. Suppose I started a transaction in TOR from the SYS1 and I closed the AORs in the SYS1. I expect that transaction will run in AOR of the SYS2. But I could’t enable this. There are connections between the SYS1 and SYS2. And TORs between systems.

    Regards

  64. Grant
    August 19, 2008 at 8:54 pm

    Hi Kayhan,

    If you are trying to do ‘normal’ terminal based transaction routing, your transaction in the routing region (TOR) needs to be defined with DYNAMIC(YES). Once this is done, the dynamic routing program will be invoked when the transaction is run.

    It is then up to your dynamic routing program to determine where to send the work. If your dynamic routing program selects SYS1 when the link is down, then the dynamic routing program will be re-invoked with a route error, so your dynamic routing program can try a different AOR.

    Of course if you use CICSPlex SM, the hard work of writing a dynamic routing program is done for you.

    Cheers … Grant.

  65. Kayhan Tanrıverir
    August 20, 2008 at 8:20 am

    Thanks Grant

    We use CICSPLEX SM and the TRANSACTION is defined as DYNAMIC (YES). There is no problem when I started the transaction from TOR of SYS1, it is routing to AOR of SYS1 and also when I started the transaction from TOR of SYS2 it is routing to AOR of SYS2. The transaction is running smoothly in the individual systems SYS1 and SYS2 but when I try to it in the cross systems it fails. I exercised this as follows:

    * I stopped the AORs in the SYS1.
    * The AORs and TOR of SYS2 are alive.
    * I started the transaction from TOR of SYS1, I received the error message :

    DFHAC2016 08/20/2008 10:00:59 CICST1T1 Transaction NAT3 cannot run because program ÖÖÖÖÖÖÖÖ is not available.

    in my opinion the transaction must be run in the AOR of the SYS2 because AORs of SYS1 are absent.

    * TARGET specified as AOR in the WLMSPEC.
    * The workload status of GRPAOR is active
    * The Transaction status is enabled in TRANGROUP
    * There is a link between TOR and AOR
    * DTRTRAN=CTRX in TOR SIT
    * The following messages are received from EYULOG:
    There is a EYUWM0420I Routing region (TOR) has been joined to Workload,
    There is a EYUWM0424I Target region (AOR) has been activated for Workload,
    There is a EYUWM0400I Workload Specification has been successfully installed for context initiated by CMAS.

    Best Regards.

  66. Grant
    August 20, 2008 at 11:49 am

    Hi Kayhan,

    So on SYS1 you have a TOR, that has links to the AORs on SYS1 and SYS2. Likewise on SYS2, you have a TOR that has links to the AORs on SYS1 and SYS2?
    You have a WLMSPEC, that specifies a target scope of a cics group name that includes the AORs on both SYS1 and SYS2? only?
    The CMAS on SYS1 has a CMAS to CMAS link to the CMAS on SYS2. All TORs and AORs are in the same CICSplex and there is only one workload?
    I am also assuming you are not using any affinities, and that you have no WLMDEFs.

    If you are getting the DFHAC2016 message in the TOR, then that generally occurs for two reasons. First, CICSPlex SM cannot make a decision, so does not try to override he defaults supplied to it from CICS, or if the TOR is in the target scope, it has decided it is the best place to send the work (e.g. make sure the TOR isn’t in the target scope).

    Cheers … Grant.

  67. Kayhan Tanrıverir
    August 20, 2008 at 1:34 pm

    Hi Grant

    Thank you very much for your interest, I have to say that we have the WLMDEF in WUI for two systems SYS1 and SYS2. I think I have to look over these definitions again. May be the WLMDEF is incomplete of SYS2.

    Regards

    Kayhan

  68. Kayhan Tanrıverir
    August 25, 2008 at 8:37 am

    Hi Grant

    I looked over the definitions of WLMDEF, it is correct. What else can I check?

    Regards

  69. Kayhan Tanrıverir
    August 25, 2008 at 10:07 am

    Hi Grant

    The Transaction run successfully on remote system’s AOR when the transaction defined as DYnamic:No, REMOTESystem:T2T1 (TOR of remote system ) and DTRTRAN=NO. But When the transaction defined as DYnamic:YES and DTRTRAN=NO. The transaction did not run on remote system.

    Best Regards.

    Kayhan Tanrıverir

  70. Grant
    August 26, 2008 at 8:03 pm

    Hi Kayhan,

    You said above when you tested it statically: ‘REMOTESystem:T2T1 (TOR of remote system ) Is this really the TOR, or one of the AORs on the other LPAR. The TORs need MRO/ISC connections to all of the AORs on both LPARs.

    Cheers .. Grant.

  71. Kayhan Tanrıverir
    August 27, 2008 at 8:00 am

    Hi grant,

    Yes, T2T1 is the TOR and the connection type is MRO to all of the AORs on both LPARs.

    Best Regards.
    Kayhan Tanriverir

  72. Grant
    August 27, 2008 at 3:03 pm

    Hi Kayhan,

    Sorry I am a bit confused, for the static test, you routed from the TOR on one LPAR to the TOR on another LPAR. Shouldn’t the static test have been from the TOR on one LPAR to the AORs on the other LPAR?

    Cheers … Grant.

  73. Kayhan Tanrıverir
    August 27, 2008 at 3:50 pm

    Hi Grant,

    Thank you very much your interest.
    For Static Routing:
    We defined the transaction in TOR (CICST1T1) as DYnamic:No, REMOTESystem:T2T1 and DTRTRAN=No. When we started the transaction from CICST1T1, It run successfully on CICST2A1. But When the transaction is defined in TOR as DYnamic:YES and DTRTRAN=No, Transaction run in local (CICST1T1) not remote system.

    Best Regards

    Best Regards

  74. Kayhan Tanrıverir
    August 27, 2008 at 4:09 pm

    Hi Grant,

    I investigated over again that the link is not MRO between CMASs of the two systems. It is LU 6.2 And I found that there is a VTAM error DFHZC2405E. in CPSM log of SYSTEM 2.

    Thanks again.

    Best Regards.

    Kayhan Tanrıverir

  75. Rick Stetser
    August 27, 2008 at 4:41 pm

    Do I need to apply any maintenance to my CICS TS V2.3 software to run it on z/OS 1.9?

    Is there a way to look detemine this short of asking everyone under the sun? If so, what would be the specific steps I could use?

    Thanks,
    Rick

  76. Grant
    August 27, 2008 at 5:52 pm

    Hi Rick,

    After checking, Installation guides / program directories, I’d then check the ‘Cross Product Dependencies’ sections of the PSP buckets for CICS and z/OS.

    BTW, in the future with SMP/E 3.5 Fix Category HOLDDATA should make some of this easier (once all products are participating), see here for details.

    Saying that, last time I checked (though this could have changed), there wasn’t anything for CICS TS 2.3 on z/OS 1.9.

    Cheers … Grant.

  77. Van Penton
    September 3, 2008 at 5:01 pm

    We are currently running CICS TS 3.1 on a z/OS 1.8 operating system. We are evaluating migrating to CICS TS 3.2. As part of the research for the migration, I have read the “CICS TS Version 3 Migration Planning” handout from the San Jose Share session S1044 presented by Steve Zemblowski. On page 13, under “Software Prerequisites”, CICS Universal Clients V5.1 or later is listed. We are currently running CICS Universal Client V3.0.3. My question is : Is this a recommendation or an absolute must upgrade situation? That is, will CICS Universal Client V3.0.3 fail when used with CICS TS 3.2?

    Thanks for your help.

    Van

  78. Grant
    September 3, 2008 at 7:09 pm

    Hi Van,

    Because CICS Universal Client 3.0 has been out of support (I believe) since early 2001, it isn’t something that is likely to have been formally tested with CICS TS 3.2.

    Also the pre-reqs typically get cleaned up every so often to remove long out of support products. I’ll have a chat with the CTG folks and get back to you.

    Cheers … Grant.

  79. Richard
    September 4, 2008 at 10:31 am

    Hi Van,

    The answer is ‘it might, but it hasn’t been tested and is not supported’. Off the top of my head I can’t think of anything that we have changed that would cause it to break, but it would be very much a case of trying it and seeing what happened.

    Cheers,
    Richard
    CICS TG L3

  80. Van Penton
    September 4, 2008 at 2:35 pm

    Thanks Grant and Richard.

    That is what I suspected, but I just wanted to be sure that there was not a known change to CICS TS 3.2 that would definitely prevent CICS Universal Client V3.0.3 from working.

    Our application developers and users of the application that utilizes CICS Universal Client have been made aware that this version of the product has been out of support for many years now, but they still insist upon using it. They have pondered a conversion to CICS Web Services, but so far it is still in the talking stages. For now, I will tell them the same thing that I have told them during prior CICS conversions which is the same thing that Richard states above, we’ll just have to try this unsupported version of the CICS Universal Client software and see if it works with the new version of CICS.

    Thanks again for your help.

    Van

  81. Ellis
    September 5, 2008 at 5:45 pm

    We are getting the following message trying to bring up CICS regions:
    DFHSI1572 XXXXXXXX Unable to OPEN VTAM ACB – RC=00000008, ACB Code=14.
    We have many regions running on an LPAR. I was told that since CICS does an open ACB with PERSIST=YES (to make VTAM persistence available to the region), we’ve exceeded the number of persistent applications that can be ran on an LPAR. We are not using VTAM persistence, our PSDINT=0 across the board. Is there a way can force CICS to open VTAM with PERSIST=NO, or can the number of persistent applications be altered; or do we have to move to another LPAR? The regions running are. at releases CICS TS 2.3, 3.1 & 3.2.

    • James O'Grady
      October 22, 2009 at 9:34 am

      With CICS TS 4.1, CICS can now open VTAM without persistence. PSTYPE=NOPS I think will do what is required.

  82. Grant
    September 5, 2008 at 10:37 pm

    Hi Ellis,

    Sorry, CICS will always open the VTAM ACB with PERSIST=YES and there are currently no SIT options etc to allow you to change this.

    It might be easier said than done, but try and check to ensure that your IEASYSxx MAXCAD value is not over allocated.

    This is one of the reasons that I see a lot more CICS running VTAM=NO (whether this is feasible or not depends on the application – e.g. MRO or TCP/IP is used to get work into these systems). Also as you say another option is to move the CICS to another LPAR.

    Cheers … Grant.

  83. Ellis
    September 6, 2008 at 6:39 pm

    I wil check into the MAXCAD. I do have an option of moving to another LAPR but it may cause a little pain for a short period of time. Thank you very much for your answer!

  84. Crescencio Ferreira
    September 16, 2008 at 11:48 am

    Hi,

    How does IBM provides today (with CICS TS 3) a way to develop CICS applications directly with a Web browser? Do I need to use Web services? Is it safe?

  85. James O'Grady
    September 17, 2008 at 11:49 am

    Hi Cresencio!

    CICS provides an extensive API for handling requests from Web browsers and constructing an HTTP response. This API has been available since CICS TS 1.3.

    The API includes CICS commands to parse HTML forms data (WEB READ FORMFIELD), HTTP Headers (WEB READ HTTPHEADER), and to find out the HTTP Method, Path, Query String et cetera (WEB EXTRACT).

    There is also an API to construct responses from document templates, the DOCUMENT API. This can be used to construct HTML pages which are built from static data (headings) and dynamic data (the contents of a database).

    You don’t need to use Web Services; Web Services are more of a program to program way of communicating, whereas with a browser the program is talking to a real person.

    Hope OK,

    James

  86. October 1, 2008 at 11:31 pm

    I’m trying to understand the wsbind file that’s generated from a DFHLS2WS or
    DFHWS2LS process.
    I see a character string when browsing a bind file…DFHICM
    I’m trying to find out what exactly is DFHICM .. I couldn’t find any reference to it
    in any of the CICS libraries.
    Does anyone have some doc on DFHICM ???

    Thanks

    Guy Rich

  87. Grant
    October 3, 2008 at 1:03 pm

    Hi Guy,

    Try looking at section ‘PIDCC Pipeline Manager Control Blocks’ In the CICS Supplementary Data Areas. Look at Table 21.

    Cheers … Grant.

  88. October 8, 2008 at 2:33 am

    Hello Grant Thanks very much, I clicked on the link in your response ..but no joy

    Do you happen to have a document number for CICS Supplementary Data Areas?
    Does it start with an LY by any chance ?

    Thanks again

    Guy

  89. Grant
    October 9, 2008 at 4:55 am

    Hi Guy,

    Sorry about that (I’ll try and find out what happened to the link).

    Try this one: here. Table 415 this time.

    For 3.2 the CICS Supplementary Data Areas is no longer an LY manual (IBM seems to be getting rid of licensed books) – The manual number is: GC34-6864-00.

    Cheers … Grant.

  90. Ellis
    October 30, 2008 at 8:07 am

    I have some new DPL traffic coming from CTG(AIX) to a new TOR region. Why would I see almost twice as many CIEP transactions as CPMI? Any ideas?

  91. Grant
    November 5, 2008 at 2:55 pm

    Hi Ellis,

    No this seems strange, you probably need to take a look at a trace to see what those CIEPs are doing.

    Cheers … Grant.

  92. Patrik Dries
    November 6, 2008 at 11:36 am

    I’ve installed the new CICS explorer. When i start it i always get the following error message: CNX0201I No context and no data is displayed. Although we have specified the WUI server initialization parameters DEFAULTCMASCTXT and DEFAULTCONTEXT as mentioned in the readme.txt file that is supplied with the installation files. Has somebody encountered the same problem yet ?

  93. Grant
    November 7, 2008 at 7:24 am

    Hi Patrik,

    As it looks like you are tackling this over on the developerWorks CICS Explorer forum I won’t try to circumvent the team over there.

    Cheers… Grant.

  94. David Rothwell
    November 19, 2008 at 7:23 pm

    I’ve been tracking a number of storage violations and using Fault Analyzer to look at the svcdumps to figure out what’s wrong. Fault Analyzer somehow “knows” who’s at fault. Some applications have been fixed because of the tracking I’ve done, but there are about 6 transactions remaining which fail periodically and a fix does not seem imminent. Is there any exit or tool I could use to tell me which tranid appears to be responsible for a storage violation? I’d like to try and automate something so that I only get an alert when a new storage violation occurs. Any ideas ?

  95. Grant
    December 1, 2008 at 12:22 pm

    Hi David,

    Well if you are asking for some logic to run when a storage violation is detected, that creates some sort of ‘signature’ that can identify the violation, and then let you define storage violations of known ‘signatures’ that you want to ignore for now (because you are waiting for the Applications team to sort out these ‘known problems’), then this could be tricky, unless you wanted to do something basic like storage violations detected running under transaction x, program Y etc.

    Trying to do the analysis reliably (without stopping all other subtasks) could be interesting – Fault Analyzer has a snapshot, then you would need to be able to access/ stash all the info for this ‘storage violation “DAE”‘.

    So no, sorry, I don’t have any great ideas (well not ones that are a lot of work)..

    Cheers … Grant.

  96. engin babayigit
    December 23, 2008 at 4:28 pm

    hi,
    we need a CICS Message in CICS Log, which contains the transaction id and the program name , when a transaction abends. We want to monitor our applications and we would like to know, if an transaction abend occurs , in which transaction and in which programm the application abended.

    Can someone tell me, if this is possible in CICS Version 3.2

    • Grant
      December 29, 2008 at 1:53 pm

      Hi Engin,

      There are lots of ways to do this, a few that spring to mind:

      You will normally get a DFHACxxxx message (e.g. DFHAC2236 or similar) when a transaction abends, this is written to CSMT, which you could trap and process this message via an intrapartition TD queue.

      Another alternative is to use the DFHPEP user replaceable program, and you can issue your own message, or log the error some other way.

      If you are a CICSPlex SM user, the System Availablity Manager (SAM) component can issues messages, SNA generic Alerts that you can use to trigger automation on an abend.

      Cheers … Grant.

  97. Patrik Dries
    January 12, 2009 at 8:29 am

    Hi,

    We have a cicsplex with MAS and CMAS regions that reside on lpars belonging to the same sysplex. Now we want to add a MAS to this cicsplex that resides on an lpar belonging to another sysplex. We are running CICS TS 3.2 and CPSM320. Apparently “remote mas” is no longer supported. So we created a new CMAS on and tried to establisch a link between the new CMAS and the existing CMASes, without result.
    Can anyone tell us whay we have to do to link to CMASes that reside on different sysplexes (link protocol ???, …)

  98. Grant
    January 13, 2009 at 9:05 am

    Hi Patrik,

    We’ll need a little more information than ‘without result’… What happened when you started the new CMAS / other MAS?

    You would have needed to define LU62 CMAS to CMAS links between the CMAS on the existing sysplex and the new one. Then you would have had to assign the new CMAS to the CICSplex that you want it to be involved in managing. Next you would have to create a CICS system definition for the MAS on the other sysplex that is to be part of the CICSplex.

    Cheers ,,, Grant

  99. Oliver Walker
    January 29, 2009 at 1:56 pm

    We are running z/OS 1.7 w/TS 3.1 and are trying to expose an existing app as a web service. We have installed PIPELINE (basicsoap11provider) and TCPIPSERVICE resources and I used DFHLS2WS to generate a WSBIND and WSDL, which were installed using a PIPELINE SCAN. All resources are showing enabled. We have Unicode Translation Services enabled and have installed conversions for 037 to 1208 and back. I am trying to “ping” the service by putting the IP, port, and URIMAP path into a browser. What I get back is a simple XML document with a soap fault of internal server error. The target TS region has thrown a sysout message of DFHPI0401 – client code page is invalid. I was expecting an error back, but I do not think that we should be getting this message. I tried enabling full validation on the but this seemed to have no effect. I guess I’m wondering whether this message seem to indicate a problem with our config or is it due to my “ping” attempt and would not occur with a properly formatted SOAP request? Is there any additional software or component that we should be using for this but aren’t? Does it sound like we’ve missed anything in our setup?

  100. Grant
    January 29, 2009 at 3:20 pm

    Hi Oliver,

    The ‘DFHPI0401’ message should probably include in its ‘User Response’, something along the lines of, ‘You will get this if you point a Web Browser at a CICS Web Services URL’ 😉 So yes, you need to use something that will send a soap request to try your ‘ping’.

    Cheers .. Grant.

  101. Oliver Walker
    January 29, 2009 at 3:40 pm

    Hi, Grant –
    Thanks a bunch – I was hoping to find an easy way to verify the mainframe part of web services was working without dragging a web developer into the fray. No such luck! Thanks again!
    Oliver

  102. Guy
    February 16, 2009 at 11:34 pm

    How exactly does the bind file work?
    I’ve generated a COBOL data structure from a wsdl that
    was sent to us from a vendor. (We have a CICS region
    defined as a Service Requester, and the vender is acting as the Service Provider)
    The generated names are a tad bit clumsy, AND the
    vendor is unwilling to rename the fields to something
    more convienent. If I shorten the field names and
    used our COBOL field naming schema, will this cause
    problems?

  103. Aercio Guimaraes
    February 18, 2009 at 3:59 pm

    How do I use a complex relational expression at CPSM WUI (something like “TRAN ABCD AND TRAN KLMN”) ?

    • Grant
      February 18, 2009 at 8:23 pm

      Hi Aercio,

      Sorry, using the WUI you can’t. Each attribute filter on a view can only be used once and the different attributes are always ANDed together.

      If you want a ‘complex relational expression’, you could use the CPSM API from REXX or a compiled program.

      Cheers… Grant.

  104. JAJ
    March 9, 2009 at 4:12 pm

    Hi,
    Is there a way to pick up the abend code of a CICS program without HANDLE ABEND?

    My obejective is to track the frequency of different types of abends in the system. However it is not practical to change all programs to HANDLE ABEND.

    What I really want is a location from where I can access the abend code for the last abend.

    I am not very experienced with CICS, hope my question is understood.

    • Grant
      March 12, 2009 at 11:31 pm

      Hi Jaj,

      Depending on what type of error you want to catch and what information you need, you could try looking at a DFHPEP user replaceable module, or perhaps an XMEOUT exit that does some processing based on the abend / dump messages…

      Cheers … Grant

      • alex katz
        August 6, 2009 at 6:23 pm

        We are working on reducing of the MIPS utilization.
        Decided to turn off CBLPSHPOP and got MIPS
        encrease.
        We run set with the same requests 2 times,
        with CBLPSHPOP ON and OFF.
        No ather changes to the programs or the
        CICS region.
        Any comments?

  105. Ellis
    March 9, 2009 at 10:58 pm

    I am considering the difference in executing a linked COBOL program locally vs. MRO XM or XCF. Can you please give some insight to the difference in the CPU cost of each. We are running multiple regions on multiple LPARs in a Sysplex.

    • Grant
      March 16, 2009 at 2:01 pm

      Hi Ellis,

      It is tricky to answer. For example, the ‘setup’ calls for the first request e.g. allocating the session, starting the mirror etc, can be offset if you make multiple calls. And it depends on what security options you have and how much data etc you are sending etc.

      Realistically, I think it is something that you will have to measure for your environment/application to get something meaningful.

      Cheers … Grant.

  106. Guy
    March 18, 2009 at 3:33 pm

    Hello, I’m interested in “tools” that can generate a
    wdsl document that can be easily processed by DFHWS2LS
    I recently had a situation with a vendor who gave us a
    rather complicated wsdl (it’s really designed to work
    with a web browser). The DFHWS2LS would “gen” these
    rather complicated COBOL data structures with levels
    nested ad-nausuem (e.g. 05 down to 60)
    I’d like to know if anyone at Hursley can recommend
    a wsdl/xm editor that would allow very specific input.
    such as: field names and lengths, The “tool” the vendor is using doesn’t allow for that sort of input.
    What they use allows one to take a web-page layout
    and the “tool” will generate the wsdl.
    To sum it up I’m looking for a wsdl/xml generator or editor that I feed a set of fields along with
    sub-parms such as type, (string | integer | boolean);
    length, and field-name.
    I hope to hear from you soon.
    Thanks much

    Guy Rich
    Southwest Gas

  107. Guy
    March 20, 2009 at 2:58 pm

    Hello Chris, thanks very much for the reference.
    I’ll look into it.

  108. Van Penton
    March 25, 2009 at 7:44 pm

    Our shop is running CICS T/S 3.2 and DB2 V9 in a z/OS 1.8 operating system.

    We have been requested to investigate setting up an inter-realm trust between our Microsoft Active Directory environment and a Kerberos service running on z/OS that is RACF aware and exploitive. There is documentation on how this trust would function in a DB2 and DB2 Connect environment. However, we cannot find similar documentation for the CICS environment. Our objective in the CICS environment is to send the Kerberos ticket from a Microsoft .Net user interface to a CICS Web Service provider program and have it associated with the RACF information for the user so it can be used in our target CICS program. I have found in various documents information about using the WS-Security and WS-Trust framework to handle a Kerberos ticket sent in the Soap message header to a CICS Web Service. Further, I see that the use of a Security Token Service like the Tivoli Federated Identity Manager product can be used to either validate the Kerberos token or replace it with the appropriate RACF user information. Is this the only option for utilizing a Kerberos ticket in CICS? We would rather utilize the same inter-realm trust set-up that DB2 and DB2 Connect are attempting to utilize. Can this be done?

    Thanks for your help.

    Van

  109. Grant
    March 27, 2009 at 7:09 pm

    Hi Van,

    CICS can’t use the Kerberos ticket directly, as you’ve noted, everything has eventually come down to a RACF (or other ESM) based userid for CICS/RACF security.

    You can write a custom message handler and do your own processing on the Kerberos ticket (without using WS-Security or TFIM), but you will still eventually have to get down to a userid and set DFHWS-USERID, see here.

    Cheers … Grant.

  110. Van Penton
    March 30, 2009 at 6:24 pm

    We found this forward looking statement concerning z/OS V1R11 (date of availability unknown).

    z/OS Identity propagation will be designed to provide a way for z/OS transactional subsystems
    to associate users’ distributed identities with RACF user IDs under z/OS security (RACF)
    control while maintaining the users’ original identity information for audit purposes. This will
    be intended to improve cross-platform interoperability and provide value for both host centric
    and heterogeneous application environments. CICS Transaction Server for z/OS is planned to
    be the first exploiter of this new function. For more information, see Software Announcement
    209-035, dated February 24, 2009

    Is this true about CICS exploitation of z/OS Identity Propagation? If so, is there an approximate time that this support from z/OS and CICS will be available?

    Thanks for your help.

    Van

    • Grant
      March 30, 2009 at 8:01 pm

      Hi Van,

      From the CICS TS V4R1 preview announcement:

      CICS TS V4.1 will be able to use the z/OS Identify Propagation capabilities that allow distributed end-user identities to be associated with z/OS user IDs, enabling CICS applications to participate in end-to-end security solutions and support accountability auditing. For more information, refer to Software Announcement 209-029, dated February 24, 2009.

      The preview announcement does not indicate the timeframe of the ‘IDProp’ function. Sorry not to be any help, but until it is formally announced, we can’t go into details.

      Cheers… Grant.

  111. Suman
    May 22, 2009 at 2:34 am

    Inter language calls under CICS 3.2 JVM:
    ——————————————–
    Under CICS 3.2 Continuous JVM operational mode, if i want to call C++ programs from Java program, what is the best option?
    Is it JNI? Any reason?
    or JCICS APIs? Any reason?
    Any other alternative?

    Thanks,
    ——–
    Suman

  112. Ellis
    June 22, 2009 at 9:33 pm

    A Strobe was run on one of our TOR regions. This region only has DPL request coming from CTG over ECI on AIX. The only program running is a user written DPL program. We see that over 71% of the CPU is used by a USS program BPXINLPA. I cannot find any doc on what this program is doing or why. I know that TCP comes through USS, is this where BPXINLPA is used?

    • Grant
      June 25, 2009 at 5:06 pm

      Hi Ellis,

      Yes, BPXINLPA is an OMVS routine that is used by TCP/IP – CICS doesn’t use it directly. On one of out problem databases, it mentions that to make sure you don’t have SYSOMVS COMP CT tracing on, as BPXINLPA is a user of this…

      Cheers .. Grant.

  113. Cameron
    July 7, 2009 at 10:49 pm

    I am working to expose some commarea CICS applications to other Clients.
    I have done wokr with both sockets (EZACIC02) and with EXCI.
    My understanding is that EXCI connections must be between regions in the ssame sysplex.
    However, the socket connections can be from anywhere to anywhere.
    Could you conferm this for me? Or refer me to some documentation somewhere that I might read?

    Thanks in advance for any information,

  114. Grant
    July 8, 2009 at 9:26 am

    Hi Cameron,

    EXCI uses MRO/XCF, so yes that is bounded by the sysplex.

    Using the Communications Server CICS Sockets interface (part of Comms Server not CICS), that is TCP/IP based, so that is based on the reaches of your IP network.

    Another option might be looking at using ECI and CICS Transaction Gateway, depending on your requirements.

    Cheers .. Grant.

  115. Roger
    July 13, 2009 at 12:20 pm

    Hi,

    I am investigating the reduction of TCB switching in a heavily used piece of code in our application. I have noticed that when the task is running under the L8 TCB that it is switching back to the QR TCB when an implicit FUNCTION(FREEMAIN) STORAGE_CLASS(SHARED_CICS) is issued in response to a RECEIVE-TC (this runs under the L8 TCB). I was under the impression that the freemain was threadsafe or is this only for explicit freemains? The application program is defined as threadsafe.

    Thank you in advance for any feedback.

  116. Grant
    July 14, 2009 at 5:56 pm

    Hi Roger,

    EXEC CICS RECEIVE is not a threadsafe command. DFHEIP knows this, so issues the switch to QR. You didn’t say you were issuing a RECEIVE, but you implied it by mentioning a RECEIVE-TC.

    EXEC CICS FREEMAIN is threadsafe. But I suspect the FREEMAIN you are seeing is from a TIOA being freed out of DFHETC (which will be a call to SM domain rather than via DFHEIP), and you got to DFHETC via DFHEIP, which would have issued the switch to QR.

    For a list of threadsafe commands look here (I’ve used a 3.2 link.

    Cheers … Grant.

  117. sarav
    July 17, 2009 at 4:02 pm

    Hello

    CICS current version is 1.3 and planning for TS3.1 migration.The old compiler modules such as OS/VS COBOL modules need to be identified and recompiled before 3.1 migration.What are the possible ways of identifying the old compiler modules and how soon it can be completed?

    Thanks

  118. Grant
    July 21, 2009 at 9:12 pm

    Hi Sarav,

    I’d start out by using the CH1A SupportPac.

    If you have Debug tool, it also provides similar capabilities.

    Cheers… Grant.

  119. Moira
    August 12, 2009 at 2:42 pm

    I am in small shop running CICS TS 3.1 and no Sysplex and no CICSPlex, but many CICS regions. I’d like to try CICS Explorer. What is the minimum I need do in terms of CICS configuration to get it to work, and where is this documented?

    Thanks,

    • Grant
      August 12, 2009 at 5:22 pm

      Hi Moira,

      With CICS TS Version 3, you will need CICSPlex SM – (which does not need a Sysplex) for the Systems Management functions. But remember that it is ‘read only’ when used with this release of CICS.

      You can also get functionality with CICS Explorer if you have one of the CICS tools, for example CM, IA or PA.

      To get up and running with CICSPlex SM, you need a CMAS on each MVS image (a CAS is needed for some initial setup on 3.1) and a WUI server on at least one …

      Watch this space (or rather this blog) because one of my colleagues is working on a post (or two?) about setting up CICSPlex SM, but for now in the information center try starting here.

      Once the infrastructure (CMASes etc) is in place, you need to define a CICSplex, and define a definition for each CICS region. Each CICS region then needs a STEPLIB and DFHRPL dataset change, some definitions, a TDQ setting and a SIT change to connect to CICSPlex SM.

      Cheers … Grant.

  120. Grant
    August 12, 2009 at 5:27 pm

    Hi Alex,

    With your comment up there ^^ – can’t seem to reply to it directly:

    We are working on reducing of the MIPS utilization.
    Decided to turn off CBLPSHPOP and got MIPS
    encrease.
    We run set with the same requests 2 times,
    with CBLPSHPOP ON and OFF.
    No ather changes to the programs or the
    CICS region.
    Any comments?

    Well it’s tricky to say really, How many calls are you doing? What sort of increase did you see. Have you looked at some traces (trace would have to be on in both cases) to see if you can account for differences.. but that is where I would start.

    Cheers … Grant.

  121. Rich Santilli
    August 28, 2009 at 5:21 pm

    We are in the process of upgrading to CICS TS 3.1. We are very interested in exposing Web Services to CICS. The majority of our distributed applications need to access information on the mainframe. They currently use MQ and WMQI as the transport to the Mainframe. I was wondering if there is anyone converting to Web Services for CICS and removing the MQ Calls?

    • Rich Santilli
      August 28, 2009 at 5:31 pm

      We are upgrading to CICS TS 3.2 not 3.1. Sorry.

  122. Bert Kaneko
    September 2, 2009 at 10:59 am

    Hello!
    we are running CICS 3.2 with over 150 systems in 15 lpars z/os 1.10.
    We are heavily using SOAP and XML and that works like a charm.
    Though I got a most likely stupid and basic question with a problem that I can not solve.
    It is to use CWS as a Server with Static HTML on USS files. I have no problems with programs, nor doc-templates, but certainly with USS files.
    I can not get my CICS to respond with a static HTML residing on USS, most likely cause I am not sure of what format it should have, ASCII or EBCDIC, and the URIMAP codepage settings.
    Could someone put me out of misery and explain the subject for me, or even a Hello world type of sample would help.
    Thanks in advance

    • Grant
      September 2, 2009 at 1:20 pm

      Hi Bert,

      In the URIMAP, make sure HOSTCODEPAGE is set to the codepage of the data of the file on USS, e.g. 037 or 1047 for EBCDIC, and the URIMAP CHARACTERSET should be set to the IANA name that you want the data converted to, e.g. iso-8859-1.

      Cheers .. Grant.

  123. lew G
    September 9, 2009 at 4:21 pm

    I have coded the sample EXIT program to suppress messages to the CICS job log.
    In my testing I coded the program to suppress any DFHZCxxxx message. I hope to use this in Production to elimnate all “EZY1325I” messages we get.

    I enable the program “CECI ENA PROG(DFH$SXP1) EXIT(XMEOUT) START

    My DFHZCxxxx messages are still being written to the CICS log. Why?

    Is there something else I need to do?

    Thanks
    Lew G

    • Grant
      September 9, 2009 at 6:21 pm

      Hi Lew,

      To can’t use an XMEOUT exit to suppress EZY1325I messages as Communications Server IP CICS Sockets does not use CICS message domain to write messages – as it’s part of Comms Server. Instead you need to use an XTDOUT exit instead. See here for info.

      For your XMEOUT exit, if the ENABLE worked O.K., that should be about it, check the logic in your DFH£SXP1 routine, if you look at a CICS trace, you should see the calls to the XMEOUT exit, and the RC that the exit is passing back (UERCBYP) in the trace.

      Cheers … Grant.

      • Venu
        January 19, 2016 at 1:22 am

        Hi

        How can I get ip address from the message in the CICS log

        EZY1325I 01/18/16 18:56:24 START SUCCESSFUL TRANID= yyyy PARTNER INET ADDR=XXXX.XXX.XXX.XXX PORT= zzzzz

        Thanks
        VEnu

  124. Rey
    September 29, 2009 at 8:39 pm

    ON a previous msg, Ellis (Jun 22) ask about SYSOMVS Trace and was told to make sure you don’t have SYSOMVS COMP CT TRACING ON as it seems to have an impact on CICS resource consumption. I checked our environment and we have “SYSOMVS MIN 0128K”. We wanted to remove this trace, but were told that it can not be done. That the trace is automatically started when OMVS address space is started. Do you know what the overhead is on this for CICS? and can we turn it off after the fact?

    • Grant
      October 5, 2009 at 7:03 am

      Hi Rey,

      The suggestion to Ellis, was just that, a suggestion. I have no idea whether SYSOMVS tracing was the cause the problem in that post. The default SYSOMVS CT tracing is what you are describing, (see CTIBPX00 in parmlib). Last time I looked, you can change this.

      My suggestion to Ellis was really if someone had set on additional SYSOMVS trace options, e.g. ALL and forgotten to turn it off.

      Sorry, I don’t have any figures re the costs of SYSOMVS tracing, I’d suggest that you run some tests on a sandbox system….

      Cheers … Grant.

  125. Mi
    October 2, 2009 at 6:16 pm

    Has anyone used CICS 3270 Bridge to front-end a CA-GEN 3270 data stream application?

  126. Siva Kumar
    October 16, 2009 at 7:08 pm

    Hi,

    I have been breaking my head for the last 2 weeks to find the way how to convert a CICS application with MAPS into a web service. Could you please tell me how to do it. I have been seeing a lot of ways how to do it. But i am confused as which method best suits this type of application.
    FYI, the CICS application has 25 transactions(25 COBOL-CICS programs), 25 maps(one for each program) and 8 DB2 tables.

    Kindly help me out..
    Thanks in advance..

    • Grant
      October 20, 2009 at 11:58 am

      Hi Siva,

      As you say, lots of things you could do, I would probably look to splitting the business logic from the presentation logic, so for example break the screen handling / BMS parts out and using them to generate a channel/container that links to your business logic – which is now ripe for being exposed as a Webservice.

      There are plenty of other ways though, such as the LINK3270 bridge or Service Flow.. Take a look at Architecting Access to CICS within an SOA for some ideas.

      Cheers … Grant.

  127. Siva Kumar
    October 21, 2009 at 11:42 am

    Thanks a lot Grant..

    I will have a further study and get back to you on any doubts.

  128. Siva Kumar
    November 6, 2009 at 4:43 am

    Hi Grant,
    I chose to create a Web service using Web Service Assistant. How can i test if my Web Service has been properly deployed or not..

    I have created all the Web resources using Web Services Assistant. Should I make any modifications to the URIMAP and Webservice that were created automatically while installing the Pipeline. If so, kindly help me.

    Also to test the web service from a browser, What all needs to be done. Any materials for reference?

    Thanks in advance.

    • Grant
      November 6, 2009 at 9:42 pm

      Hi Shiva,

      You can’t normally use a browser to test, see here for an example of how to test.

      Cheers… Grant.

      • Siva Kumar
        November 16, 2009 at 5:01 pm

        Hey Grant,

        Thanks for the link man.. This method seems to be easy.. Will get back to you after testing man.

  129. Ellis
    November 12, 2009 at 6:14 pm

    In the IAExplorer (2.2) query screen, I seem to have lost most of the supplied sample query folders, DB2, IMS, & MQ. I see the actual folders in the windows explorer folder where they were downloaded with the product. But while I’m in IAExploer query tab, only the CICS sample query folder appears. Can you tell me how to get the other sample folders back in the IAExplorer query tab?

    Also it takes a real long time and lots of storage (60k)to open, is there anything i can do to improve the start up time? I have 2M of ram onmy machine.

    • Grant
      November 19, 2009 at 11:35 am

      Hi Ellis,

      Hmm, not really sure what is going on, I guess I would try to copy any queries I built out of my workplace, then delete the workplace. When you start the client again, it should rebuild the sample queries, then copy your own queries back in.

      If you don’t want to try that, or it doesn’t work, I’d suggest getting in touch with the support center so that they can try and figure out what is going on / look at doc etc.

      Re the startup time, how long is a long time? Is there much else running on the machine?

      Cheers … Grant.

  130. Ellis
    November 20, 2009 at 7:32 pm

    Thanks. I deleted the whole product from my machine and reloaded it. The supplied sample queries came back.

    It takes about 15 to 20 minutes to aquire the nearly 60K of storage it needs to open. I can see it in the task manager. And thats when theres litlle to nothing in the system. Running about 5% CPU. I can open a ticket on it. Thank you.

    • Grant
      November 21, 2009 at 9:22 am

      Hi Ellis,

      You might want to take a look at using the CICS Explorer plugin for IA on IA 2.2 rather than the standalone IA 2.2 client. APAR PK89809 describes the details. Note however the RECOMMENDATION section of the APAR before going down this route…

      Cheers … Grant.

  131. Andy
    December 1, 2009 at 9:03 am

    Hi
    I have just finished developing our first application under CICS (3.2, z/OS 1.10) and am about to plug in our first web service, a requester call to an LDAP security application. I have a few questions regarding the web service, some basic!
    I have processed the WSDL and have generated the COBOL copy books. As well as the data structure, the copybook contains containers, one for each item in the structure. What are the containers for?
    There are 2 sample pipeline configuration files provided, basic and WSAT. What’s the difference?
    The security application requires a SOAP header containing a fixed userid and password (the userid represents my web application and controls what type of information it can retrieve). I see that I can get CICS to generate the header by adding a wsse_handler to the pipeline definition, but can I add the fixed userid there too or would I have to do it through a header processing program?
    Many thanks, Andy

    • Dan
      December 11, 2009 at 7:49 am

      Hi Andy,

      If you are creating a CICS Web service requester and are starting from WSDL, then in your CICS program at runtime, you will be issuing an EXEC CICS INVOKE WEBSERVICE command to call the LDAP security application. The way you pass data to and from the INVOKE WEBSERVICE call is via a channel with some containers in it. The generated copybooks describe the layout of the data to be passed to and from the INVOKE WEBSERVICE call. The data probably needs to be in multiple containers on the channel.

      The difference between the sample pipeline configs, is that the WSAT one is for using a standard called WS-Atomic Transactions, which provide the ability to use a distributed (global) unit of work on your Web service call. Generally this is done to enable resource updates in CICS and resource updates in the Web service provider to be made in the same UOW.

      The SOAP header will depend. Is the header you need one that is described in the WS-Security standard? If so, then the wsse_handler may be able to help, otherwise if its a custom header you would need to write your own program to add it.

      Good luck, Dan

      • Andy
        January 25, 2010 at 8:19 pm

        Hi Dan
        Thanks for the info. I got it figured out with reference to some Red Books; I also found an example of a program that added a SOAP header. It’s taken a while getting through bureaucracy to get things like firewall rules amended, but I’m nearly there.
        Just one more question, does CICS add the XML header ? I ran an aux trace but while the PI record showed the entire SOAP message, including my inserted header and body, the XML header was not shown.
        Thanks, Andy

  132. Guy
    December 8, 2009 at 10:12 pm

    We have a traditional 3270/COBOL based CICS application system, that unfortunately has the BMS SENDs & RECVs embedded in the business logic.

    We have to web-enable this system (the alternative of using
    a Oracle customized package is cost prohibitive)
    Re-Architecting the system is also cost prohibitive.

    Is it possible to regen all the BMS maps in this application, having them also generate a corresponing HTML template; (via DFHMAPT)
    then have that template modified as needed and incorporated into a java based Client application; thereby web-enbaling the application?

    Thanks very much, hope to hear from you soon.

    • Grant
      December 15, 2009 at 8:17 am

      Hi Guy,

      You could also consider using a product like Rational HATS which allows you to web enable a 3270 application without changing it.

      You can run CICS BMS applications via a web browser – and using the HTML templates /DFHWBTTA. I would suggest giving it a try on a simple BMS transaction so that you can see what it is like and have a play, to see if it will meet your needs.

      Cheers … Grant.

  133. Guy
    December 10, 2009 at 8:26 pm

    Need some clarification on DFHWBLT. Exactly how does
    DFHWBLT communicate with the application pgm?

    What is meant by the phrase “…The user?s transaction
    executes in a 3270 bridge environment…” ??

    Also in the internet guide (SC34-6831-01) pg 191
    gives a reference for more information on the 3270 Bridge
    in the CICS External Intefaces Guide. (SC34-6830-02)

    Reading about the 3270 Bridge in that manual it speaks
    about Client apps that use either ECI or EXCI. These interfaces imply
    the use of another product such as the CICS Transaction Gateway.

    This I find a bit confusing as it’s my understanding that one could use the DFHWBLT Brdige exit without using a product such as CICS Transaction Gateway.
    What is DFHWBLT’s relationship to DFHL3270 ??

    Additional info:
    1) We don’t have any “router regions”
    2) We have “stand alone” CICS regions.
    3) The 3270/COBOL CICS application we want to web-enable, will have have
    a Link on the end-user’s workstation
    that will point to a URL that “connects” the user to the appropiate CICS
    Region.

    Please forgive me for being so “long-winded”

    Thanks

    Guy Rich
    Southwest Gas Corp.
    702-364-3057

    • Grant
      December 15, 2009 at 8:27 am

      Hi Guy,

      The 3270 Bridge is a way that a non-terminal based transaction can invoke transactions that normally need a 3270. The work could come via the Web, MQSeries, CICS TG etc.

      If you are just using the CICS Web support to run 3270 based work via DFHWBTTA, then you don’t need to worry about DFHWBLT, it is an IBM supplied Bridge ‘exit’ program that is invoked by DFHWBTTA that uses 3270 Bridge services to run your BMS application.

      So as my previous post, set up some templates, a URIMAP and give it a go….

      Cheers … Grant.

      • Guy
        December 19, 2009 at 1:46 pm

        Hi Grant, thanks for your reply.
        However, I still want to know exactly how
        DFHWBLT communicates with an application program that’s NOT “web-aware”, indeed it’s still using it’s BMS SEND & RECV commands. If I re-assemble the mapset for the given program using DFMMAPT,
        does DFHWBLT use the html template to
        copy data from the program’s SEND & RECV
        areas, to the actual html ?
        Forgive me, but I don’t like phrases such as “..don’t worry about it..”
        Sounds too much like ex VP Dick Cheney’s
        remark “…just trust me..”
        Is this the same exit program that was used in the now “un documented” START BREXIT function ?
        Hope to hear from you soon and have a
        Happy Xmas & New Year

        Thanks
        Guy

      • Grant
        December 19, 2009 at 8:12 pm

        Hi Guy,

        As I said, DFHWBLT is a bridge exit. It uses the same interfaces that are available to any bridge exit as well as some of its own application logic/services which are in other DFHWB routines. Yes, routines called out of DFHWBLT process the templates you supply for the maps that the application invokes.

        I’m not sure what you mean about the START BREXIT being undocumented, I can see it here. Is there something specific that you know has been removed? If you let me know what it is/was I can try to find out why.

  134. December 16, 2009 at 3:19 am

    Dears,

    I have a conversational mode program as below,

    VIEW CMNTS1.BASE0.YTK.ONL(YTSOZ280) – 02.01 CHARS ‘CICS SEND’ found
    Command ===> Scroll ===> CSR
    002238 *
    002239 EXEC CICS SEND MAP(‘MDC08M’)
    002240 MAPSET(‘YTSM281’)
    002241 FROM(MDC08MO)
    002242 ERASE
    002243 END-EXEC.
    002244
    002245 EXEC CICS
    002246 IGNORE CONDITION MAPFAIL
    002247 END-EXEC.
    002248
    002249 EXEC CICS RECEIVE MAP (‘MDC08M’)
    002250 MAPSET(‘YTSM281’)
    002251 INTO (MDC08MO)
    002252 END-EXEC.
    002253 IF EIBAID = DFHENTER
    002254 CONTINUE

    Program will run and stop at line 2248.I want to know how CICS knows this program now is waiting terminal and need user type ‘enter’?Only ‘receive’ command need to wait terminal or other commands also?

    • Grant
      December 16, 2009 at 6:03 am

      Hi Michael,

      CICS monitors the state of the terminal device – e.g. it is (generally) either in send state or receive state. A RECEIVE may or may not cause a terminal control wait for input – it depends on whether there is data available or not. See here for an explanation.

      If the aim is really to get rid of idle users, it may be better to use a psuedo-conversational style of programming and use the CICS user timeout facilities, I mentioned below.

      Cheers… Grant.

  135. December 16, 2009 at 3:24 am

    another question:

    If i set RTIMOUT parameter as 10 minutes,system will abend the transaction with ‘AZCT’.So in my program I need handle this abend.How can I get this ‘AZCT’ in program and make the user logoff this cics region like cesf does?

    • Grant
      December 16, 2009 at 6:04 am

      Hi Michael,

      You can use an EXEC CICS HANDLE ABEND to get control after an abend.
      To signoff CICS you can issue an EXEC CICS SIGNOFF command, or to disconnect the terminal you can issue EXEC CICS ISSUE DISCONNECT.

      CICS can automatically timeout signed on users when they are idle – though not for conversational tasks – look at the TIMEOUT option on the CICS RACF segment and the GNTRAN SIT option and the SIGNOFF attribute on the TYPETERM.

      Cheers… Grant

  136. Guy
    December 21, 2009 at 5:51 pm

    Hi Grant … thanks for your reply …
    I’ve copied the following excerpt hopefully this will explain what I meant by un-documented.

    Chapter 2. Introduction to the 3270 bridge (PG 17 External Interfaces Guide SC34-6830-02)

    The 3270 bridge provides an interface so that you can run 3270-based CICS
    transactions without a 3270 terminal. The 3270 terminal and end-user are replaced
    by an application program, known as the client application. Commands for the
    3270 terminal in the CICS 3270 user transaction are intercepted by CICS and
    replaced by a messaging mechanism that provides a bridge between the client
    application and the CICS user transaction.

    CICS provides two types of 3270 bridge mechanism:

    The Link3270 mechanism
    This mechanism is introduced in CICS Transaction Server for z/OS, Version 2
    Release 2 and provides a simplified interface using LINK, ECI or EXCI. All
    messages have a fixed format and you are not required to provide any
    user-written supporting programs. This mechanism supports CICSPlex® SM
    load balancing; bridge facilities are shared between CICS regions on the
    CICSplex

    The START BREXIT mechanism
    This 3270 bridge mechanism requires a bridge monitor transaction to initiate
    the bridge environment by issuing a START BREXIT command, which specifies
    the target user transaction and also the name of a user-written bridge exit. The
    bridge exit is called to intercept 3270 requests and pass them in the form of
    messages to the client application. You can write your own bridge exit and also
    define your own message formats. Bridge exits are provided to support client
    applications using Temporary Storage, the Web and WebSphere MQ as
    transport mechanisms for requests, using sample message formats. This
    mechanism is single region only: bridge facilities are local to the region.

    The START BREXIT mechanism was introduced in earlier releases of CICS . It is
    still supported, and the sample bridge exits are still provided, but you are
    recommended to use the simpler Link3270 mechanism, and migrate to it where
    possible. The START BREXIT is not documented in this release of CICS . If you
    need to use it, or modify existing implementations, you should refer to the CICS
    Transaction Server for OS/390, Version 1 Release 3 External Interfaces Guide,
    which can be found in the CICS Transaction Server for OS/390, Version 1 Release
    3 library at:
    http://www-4.ibm.com/software/ts/cics/library/books/os390/

    Here’s what I’ve setup thus far
    This is an example of several transaction resource definitions:
    ALTER TRANS(ET01) GROUP(Q2OLT) DESCRIPTION(CR555768)
    BREXIT(DFHWBLT)

    On the PROFILE Resource Definition:
    ALTER PROFILE(XXXXOL00) GROUP(Q2OLT) DESCRIPTION(CR555768)
    FACILITYLIKE(BFVT)

    The Bridge Facility Virtual Terminal Resource Definition:
    TERMINAL(BFVT) GROUP(BFVIRTRM)
    DESCRIPTION(BRIDGE FACILITY VIRTUAL TERMINAL TEMPLATE)
    AUTINSTMODEL(NO) AUTINSTNAME()
    TERMINAL-IDENTIFIERS
    TYPETERM(LU2) NETNAME(BFVT) CONSNAME()
    REMOTESYSTEM() REMOTENAME() REMOTESYSNET()
    MODENAME()

    This particular application has a mapset (1 map per set) assigned to each transaction/program combination.
    So if I’m understanding this correctly, I’m defining DFHWBLT as the “Bridge Exit” program on each transaction in our application system.
    I’ve re-assembled all of the maps using DFHMAPT.

    I’ve also coded a URIMAP Resource definition:
    DEFINE URIMAP(Q2UMOLTE) GROUP(Q2WEBSVC) DESCRIPTION(CR555768)
    STATUS(ENABLED) SCHEME(HTTP) USAGE(SERVER)
    HOST(tecjes2.lvc.swgas.com) TCPIPSERVICE(HTTPQUA2)
    PATH(cics/cwba/dfhwbtta/TESN)
    PROGRAM(DFHWBTTA)

    I’ve done this using the block diagram on page 190 of the CICS TS 3.2 Internet Guide (SC34-6831-01)

    Am I on the “right track”???

    Thanks
    Guy

    • Grant
      December 21, 2009 at 8:47 pm

      Hi Guy,

      I think you are making it too complicated. Here is what I would do to get started:

      -Do not change your application definitions – leave transaction / profile definitions as they normally are for running on a real 3270. Don’t define any virtual terminals.
      -Generate the templates for the MAPs and store into the CICS DFHHTML dataset. You could use doctemplates later, but to get going and keep it simple, I’d start with DFHHTML so no RDO defs needed for templates
      – Define a TCPIPSERVICE in your CICS using analyzer of DFHWBADX)
      – in a web browser use http://hostname:port/cics/cwba/dfhwbtta/ET01 (assuming ET01 is the name of the transaction that sends the maps you built the templates for ….)

      Once you have this working (which is about as basic as it gets), then you can look at modifying templates / using URIMAPs etc ….

      Cheers … Grant

  137. Charles
    December 24, 2009 at 8:21 am

    Hi,
    I am an application programmer and I’m pretty much new to the system side.Current scenario , we have two system residing the same CICS Region. And there is a requirement to configure them to CICSPlex in seperate CICS Regions.How do I do that?If using DPL Calls, then how do we configure it?

    • Grant
      January 12, 2010 at 8:01 pm

      Hi Charles,

      What is the reason for the split? Availability, Increased capacity etc. What (if any) is the relationship between the different applications. How is the work invoked on these CICS. Depending on the answers to these questions (and probably a lot more) would help you decide the best way forward.

      Cheers… Grant

  138. Andy
    January 25, 2010 at 8:48 pm

    Hi
    I’ve been having a play with running a CICS application through a browser as mentioned in chapter 15 of the CICS Internet Guide (CICS Web support and 3270 display applications). I am using a url like host/cics/cwba/dfhwbtta/tran.
    When an application is invoked through a 3270 screen, it uses the signon program specified by the GMTRAN SIT option. Question is, how do I get the signon program to kick in when applications are invoked through the web interface? To make it a bit more interesting we have existing CWI applications that use CWBA that we don’t want to be affected.
    Thanks

  139. Guy Rich
    February 8, 2010 at 5:43 pm

    I’d like to know if CICS Web Services are fully active at
    System Initialzation (3rd phase) and at Shutdown.

    We have a situation with an external server that manages
    telnet sessions with CICS. What we found is when CICS
    comes down outside of the Linux server’s availability
    “window”, their system continually tries to connect to CICS.
    This results in a flood of error messages in both TCP/IP and VTAM,
    resulting in an extreme slowdown in z/OS.

    So I was thinking about a PLT Init and a PLT Down routine
    that would send their server a notification, so they can quiesce their
    server.

    • Grant
      February 20, 2010 at 9:33 pm

      Hi Guy,

      During startup PLT, I’d avoid it as it would probably come under the umbrella of the ‘no ISC/intercomunications’ warning in the customisation guide. Though if you did a START from the PLTPI (without the attach option) the transaction won’t start until CICS startup completed.

      For shutdown, requests will probably stop first due to the transactions attaches failing due to XLT or transaction definitions, so your server will probably stop managing to send requests as soon as that happens (e.g. chance of a timing window).

      During PLTSD phase 1 you should be able to send a request to the server to say the CICS is closed for business, however you will still need to deal with immediate / abnormal shutdowns of the CICS where your PLT routine may not run.

      Perhaps it may be better to automate the notifications to the server outside of CICS with an automation product, triggered from CICS startup/shutdown messages?

      Cheers … Grant.

      • Guy Rich
        February 22, 2010 at 5:47 pm

        Hello Grant …thanks very much for the suggestions. We’re using Tivoli/Netview to initiate other jobs;
        so this may be a good candidate.

        Thanks Again

        Guy

  140. Martijn Buijnink
    April 17, 2010 at 11:24 am

    I have a question about a time-field in a CICS trace entry: the interval since the last trace entry. For example:
    00144 QR RM FA02 RMUC EXIT CREATE_UOW/OK RET-9C2433A0 14:59:53.2928509389 00.0000003437 =000158=
    00144 QR PI 0B00 PIXM ENTRY INIT_XM_CLIENT RET-9C2433E2 14:59:53.2958748142 00.0030238752 =000159=
    My question is: what happened in CICS or what was CICS busy with during the time in the second trace entry (00.0030238752)?

    Another example, i have 4 trace entries, the first one is the entry point of the GETMAIN, the fourth entry is the exit point:
    00144 QR SM 0301 SMGF ENTRY GETMAIN GET_LENGTH(FA0) SUSPEND(YES) REMARK(EI_TRACE) STORAGE_CLASS(USER)
    RET-8008F06C 14:59:53.2928209702 00.0000006562 =000133=
    00144 QR SM 1201 SMPQ ENTRY ALLOCATE_PAGEPOOL_STORAGE SUBPOOL_TOKEN(1C6E60D4) GET_LENGTH(FB0) SUSPEND(YES)
    RET-9C22DC68 14:59:53.2928215327 00.0000005625 =000134=
    00144 QR SM 1202 SMPQ EXIT ALLOCATE_PAGEPOOL_STORAGE/OK ALLOCATED_LENGTH(10000) ADDRESS(1F320000) EXTENT_TOKEN(1C5BC038)
    RESUME_SYSTEM_TASK(NO) RET-9C22DC68 14:59:53.2928219077 00.0000003750 =000135=
    00144 QR SM 0302 SMGF EXIT GETMAIN/OK ADDRESS(1F320008) RET-8008F06C 14:59:53.2928229077 00.0000010000 =000136=

    My question is: how can you calculate the time CICS spent on the GETMAIN from these trace entries?

    Thanks in advance!
    Martijn

    • Grant
      April 21, 2010 at 7:21 am

      Hi Martijn,

      For the first question, from the CICS trace alone you have pasted above, you can’t tell what CICS was doing. You would have to look at additional tracing (if you have some off) or other diagnostic info to see what was going on – it depends on what you are trying to understand and what you are running.

      For the second question, the time between the SMGF ENTRY/EXIT GETMAIN looks like it was 00.0000019735 (subtract the timestamp on the =000136= entry from the one on =000133=).

      Cheers… Grant.

  141. Dave
    April 20, 2010 at 4:17 pm

    We have CICS TS 4.1 installed and I am working with DFHSC2LS to produce COBOL interfaces for existing Web Services. I continue to get errors when trying to use these as many of the schema’s have recursive definitions (DFHPI9024E). I have tried using the XSD:any to overcome without any success. In searching the web, I did find a reference to IBM possibly fixing this (SSCICS09008), but nothing else is mentioned. Can you please tell me this is being actively worked, and if there is a potential release for this fix?

    • Grant
      April 21, 2010 at 7:12 am

      Hi Dave,

      SSCICS09008 is a Share requirement. Sorry but we are not allowed to comment on when or/if requirements or new functions will be implemented.

      I would suggest working with the IBM support center, and if the problem you are running into is a limitation / ‘feature’ of the design of the current utility, then the support center should be able to add you to the requirement/raise a new one.

      Cheers … Grant.

  142. Martijn Buijnink
    April 22, 2010 at 11:02 am

    I have a question about a restriction in CICS-COBOL programming that is mentioned in the CICS Application Guide:

    Statements that produce variable-length areas, such as OCCURS DEPENDING ON, should be used with caution within the WORKING-STORAGE SECTION.

    Why is that?

    • Grant
      April 30, 2010 at 9:30 pm

      Hi Martijn,

      I think it is a warning about creating variably located data items.

      The working storage will be allocated for the maximum size of the occurs depending on X to Y TIMES clause. If you have data items after this occurs depending on item at the same level, then they may be relocated… which means you could overwrite these items when the number of Occurs depending on item changes.

      So like the book says, you can use them, just be careful and perhaps look at the compiler listing and check the data division map.

      Cheers… Grant.

  143. nataliek05
    April 28, 2010 at 8:04 pm

    Hello!

    I am putting together an additional feature for the IBM Systems Magazine e-newsletter, which will be titled “Community Corner.” In it, I’d like to include links for mainframe-specific blogs that may be of interest to our readership. I wanted to run the idea of featuring themasterterminal posts in this section on occasion.

    Please let me know as soon as possible if you’re interested in this opportunity! If you could reply to nboike at msptechmedia dot com, that would be great. This is my personal blog account.

    Thanks!

    • Grant
      April 30, 2010 at 9:32 pm

      Hi Natalie,

      Don’t think it will be a problem (thank you for considering us for inclusion), let us check and Chris or I will email you shortly.

      Cheers… Grant.

  144. Mark S.
    May 25, 2010 at 2:58 pm

    I am using web-service assistant DFHLS2WS to create a WSDL from a Cobol copybook. Is there a way to get the resulting elelment in XML to be nillible=”true”? I input the following Cobol syntax for a field:

    09 icazXclmXhandlingXind PIC X(1).
    09 attr-nil-icazXclmXhand-value PIC X DISPLAY.

    But it still came out as nillable=”false” in the resulting XML.

    Thanks for your help.

  145. Gia Dirks
    May 28, 2010 at 3:53 pm

    We have a java program(Websphere version 5.1) using EP request to the CICS Transaction Gateway (version 6.1) and we get a 61444, which just says – “The CICS Gateway for Java has closed.” Any ideas? Is it a programming error or is it a parameter on the CTG? Any help would be appreciated.

  146. ROBERT DAHLIA
    June 1, 2010 at 7:01 pm

    WHAT IS THE GENERAL RULE OF THUMB WHEN CLASSIFYING CICSPLEX Trans in WLM? WHAT IS THE GENERAL RULE OF THUMB FOR CICSPLEX WLM REPONSE TIME GOALS? GOALS FOR A BANKING/FINANCIAL COMPANY. NO SLA’S TO GUIDE ME AND THESE ARE LONG RUNNING TRANS IN THE CICSPLEX REGIONS AS OBSERVED VIA TMON/CICS.

  147. Gia Dirks
    June 1, 2010 at 7:02 pm

    Talked to CTG support – The application was closing the gateway. So they will implement code changes following the CTG version 6.1 programming guide.

    Also, we were receiving message CCL6651E. This message was not in the version 6.1 message guide. We need to use the .rar file for our version of Websphere. Which can be obtained from IBM. It is called CC03.

  148. Tommy Franklin
    June 9, 2010 at 3:16 pm

    I’m a COBOL/CICS developer. I’m very new to using sockets; as well as everyone else in my shop. I have a very random issue coming up with a socket interface that I’m not sure what to do to be able to fix the issue. I have a .net vb program that starts a CICS transaction on mainframe and opens socket. Then the .net program reads a text file and passes each line of the file through the socket. Occasionally when the CICS transaction receives the text file line it has additional spaces at the beginning of the line. These spaces do not exist in the text file. Also I can resend this text file and these spaces do not exist the second time around. I don’t know if I should be looking at the .net program or the CICS transaction. Also in the transaction I use a receive instead of a read; does this matter? It was suggested to me that the .net program could be sending the lines faster than the transaction could be receiving them. This confused me because i would have thought that the listener would buffer the lines not yet received. Any advice I can get about where I should focus my attention or what could account for this happening so random would be appreciated.

  149. June 9, 2010 at 3:44 pm

    Hi Tommy …
    Question: When you say the .net VB pgm “starts” a CICS transaction and opens a
    socket …. Do you really mean the CICS Transaction initiates a CICS program that
    that opens a socket ???
    Another question …what version of CICS are you using ? (e.g. TS 3.1 or TS 3.2
    or TS 4.1 )

    Have you ever heard of CICS Webservices ??

    Guy

  150. Tommy Franklin
    June 9, 2010 at 3:53 pm

    Yes, CICS transaction initiates program that opens socket. We are using version TS 3.2. I have heard of CICS webservices. But we don’t currently use all of the features of webservices. Our primary purpose for CICS is user interface with bms maps. We just started taking advantage of the Socket interfaces.

  151. June 9, 2010 at 4:14 pm

    Well IF you’re really doing TCP Socket programming …I feel you’re doing it the
    “hard” way …
    CICS does support socket programming, however they suggest that one should ONLY use it in a case where none of the CICS Webservices or Internet Services will solve
    the problem.
    You mentioned that you’re interfacing CICS BMS with the internet(i.e. the.net VB
    pgm issues a “request” that triggers a CICS Transaction)

    So I’m assumming your CICS Systems Programmer has defined a Path which links the
    .net pgm to a CICS region.
    I would suggest you ask your CICS SysProg about using the DFHMAPT procedure.
    passing your existing BMS maps thru this will generate an html document that your
    .net pgm can interface with…
    The extra spaces you’re “seeing” first time around may be the extra space that BMS
    generates to accomadate a 3270 Datastream (which BMS was originally designed to do)
    By re-genning your BMS maps thru DFHMAPT, BMS will give an html doc that
    is an hmtl rendition of a the 3270 screen that the BMS map normally works with.
    It looks very hokey …but it works, What we have done in our shop is to modify
    the BMS generated html docs and by adding cascading style sheets and other html
    features, it looks just like any other webpage our users work with…

  152. Tommy Franklin
    June 9, 2010 at 4:17 pm

    Thank you for your comments.

  153. Andy
    June 14, 2010 at 11:21 am

    At long last I finally got my intranet web site going on CICS (TS 3.2). In a post implementation review I got a slap on the wrist for not using a ‘modern’ web server, i.e. Apache but I got round that one by explaining the internal politics involved and what would have resulted had I not gone down the road I had. However, those present kept banging on about how ‘modern’ web servers are built to withstand various form of web vulnerability such as SQL injection, cross site scripting, etc, etc, implying that ‘old’ CICS doesn’t. Are there any papers in the public domain that demonstrate that CICS is a duly certified secure web server (preferably to a higher level than Apache!) and that it does withstand such threats?

  154. June 14, 2010 at 2:41 pm

    Well CICS supports SSL in all it’s variations. If your shop is using RACF Security
    Server, you’ll find it’s a very robust package.
    I would suggest you go online to IBM’s website and do a search.
    z/OS’s USS (Unix System Services) while very very similar to other unix variants.
    Has some unique features that make it less vunerable. The primary one being
    That under z/OS one can have multiple “address spaces” that are protected from
    encrouchment. z/OS, CICS, RACF, and IBM’s TCP/IP are much more stable, than any
    mid-range or x86 system. This is again because of the concept of multuple address
    spaces (MVS); which can ONLY be achieved on a mid-range system by using VMWare,
    which is another layer of complexity and expense.

  155. Steve
    June 23, 2010 at 6:38 pm

    We are exposing an app as a CICS web service and are testing responses. We used DFHWS2LS to generate copybooks based on our wsdl (and imported xsds). They are lengthy with numerous containers within containers etc. We are running into an issue where the wsbind that was generated contains data structures that were not added to the generated copybooks. Any clues as to why the job would put a definition in the wsbind and not in the copybook. Everytime we try to utilize the higher level structure we get an INPUT_ARRAY_TOO_LARGE error. There is a “veh4” structure in the wsbind that doesn’t appear in the copybook anywhere.

    Is there any way to better determine how/why elements are in the wsbind or some way to determine why it would make up this element? How can we sync these files up?

  156. June 23, 2010 at 6:47 pm

    Hi Steve … I also ran into this “issue” last year..
    A query to IBM ServiceLink didn’t help much …essentialiy IBM say that it isn’t a problem …it’s a “feature” …
    We got around it by simplifying our wsdl document structure.
    If at all possible use character strings of fixed length.

  157. Steve
    June 23, 2010 at 7:06 pm

    Thanks, we’ve simplified it extensively, and have a good grasp on using the various containers. The issues is that there is a field defined in the wsbind that doesn’t appear in the copybook. Because it isn’t in the copybook, we can’t populate it. Is there some way to determine why this appears in the wsbind? There isn’t any real way to edit that file directly, so we can’t just remove it. Without knowing why it is appearing, we can’t fix the wsdl/xsds. Are there any good ways of seeing the contents of the wsbind and determining their origins?

  158. June 23, 2010 at 7:20 pm

    Hmmm well the Bind file is the “Rosetta Stone” that enables CICS web services to
    convert xml data structures into the corresponding Language Structure e.g. COBOL.

    I would look at the log produced when you run the DFHWS2LS procedure
    If you’ve run DFHWS2LS several time before, I suggest going into the USS sub-directory structure and deleting the old log (DFHWS2LS and DFHLS2WS both append
    to their respective logs), You can use the ISPF/OMVS edit feature to view the Bind file, However I would recommend NOT modifying it.
    The log does list every action that occurs while it’s building the copybook and
    the bindfile.
    I also suggest opening a PMR with IBM via the ServiceLink Electronic Response.
    You can send IBM the log.

  159. Steve
    June 24, 2010 at 12:13 pm

    Have you run into any issues with “unbounded” maxoccurs in mapping from an xsd to a copybook? My theory is that DFHWS2LS is getting thrown off by these and created an extra structure for them in the wsbind, but not in the copybook.

  160. June 24, 2010 at 2:03 pm

    Unbounded maxoccurs … sounds like that may translate into a
    COBOL OCCURS DEPENDING ON. No I’ve never experienced such an issue. It sounds
    like a really good question to ask of IBM ServiceLink. Do you have access to
    IBM’s ServiceLink Feature ??
    Also please read CICS TS 3.2 Web Services Guide (SC34-6838-01) There’s a sections
    that goes into a fair amount of detail maxoccurs and how DFHWS2LS handles such
    data structures. You can download the PDF version from IBM’s website.

  161. Steve
    June 24, 2010 at 7:09 pm

    I’m working on access to ServiceLink, thanks.

    Do you know if every data structure in your wsbind syncs to a corresponding data structure in your copybook? We are getting a
    DFHPI1008 06/24/2010 14:36:44 CICSNCVU 00958 SOAP message generation failed because of incorrect input (INPUT_ARRAY_TOO_LARGE business10).

    but, there is no business10 in our copybook to fill. The same error came up for a veh4 as well. It seems that whatever utility is building the multiple data structures (and appending a counter to the end) in the copybook and wsbind is getting ahead of itself and creating one extra, which causes this cicsfault.

  162. June 24, 2010 at 8:01 pm

    May I suggest you look very very closely at the log generated by the DFHWS2LS
    procedure. Again the log has a LOT of detail on the fields being built into the
    bind file, and the resulting COBOL copybook.

    Another approach is to construct a test COBOL copybook structure that reflects
    what you want the DFHWS2LS procedure to build. Then use the test COBOL data layout
    as input to DFHLS2WS (i.e. Language Structure to WSDL). Once that is done, then
    compare the resulting wsdl and bind files generated to the wsdl and bind file
    generated from the DFHWS2LS and note the differences.

    Unbounded maxoccurs DO NOT work well with COBOL; DFHWS2LS trys to “compensate”
    by defining really huge containers, that cause COBOL compiler failures.
    It’s really better to delineate wsdl structures, i.e. make them fixed length.

    Also you don’t need IBM ServiceLink to download the CICS TS 3.2 Web Services Guide.
    It’s a “freebee”.

  163. Steve
    July 14, 2010 at 1:25 pm

    We are working to implement SSL with our CICS web service. We have had difficulty getting the service to work and I’m seeking some advice concerning the URLS for the CICSSOAPBinding and web service port parts of the WSDL. Should they both be https? We received errors when we ran with both https, but it worked when we removed the “s” from the CICSSOAPBinding URL. Is the service still encrypted at this point? Any ideas on the implications of removing the “s” here. The following are the relevant pieces of the wsdl…

    Web Service for data from DMV – CjleadsWebService.wsdl Copyright 2010 NCDOT. All rights reserved. Version: 1.0 2010-05-13

  164. Steve
    July 14, 2010 at 1:27 pm

    The wsdl was not posted, not sure why. Here are the pieces of the wsdl again…

    Web Service for data from DMV – CjleadsWebService.wsdl Copyright 2010 NCDOT. All rights reserved. Version: 1.0 2010-05-13

  165. Steve
    July 14, 2010 at 1:30 pm

    One more time, with parts of the tags removed, maybe it will post this time…
    wsdl:binding name=”CICSSOAPBinding” type=”tns:CjleadsWebSrvcPortType”
    soap:binding style=”document” transport=”http://schemas.xmlsoap.org/soap/http”
    wsdl:operation name=”getDmvData”
    soap:operation soapAction=”https://someaddress:9999/CjleadsWebService” style=”document”
    wsdl:input name=”getDmvDataReq”
    soap:body parts=”CjleadsWebSrvcReqMsgPart” use=”literal”
    wsdl:input
    wsdl:output name=”getDmvDataRes”
    soap:body parts=”CjleadsWebSrvcResMsgPart” use=”literal”
    wsdl:output
    wsdl:operation
    wsdl:binding

    wsdl:service name=”CjleadsWebService”
    wsdl:documentation Web Service for data from DMV – CjleadsWebService.wsdl Copyright 2010 NCDOT. All rights reserved. Version: 1.0 2010-05-13
    wsdl:documentation
    wsdl:port name=”CjleadsWebSrvcPort” binding=”tns:CICSSOAPBinding”
    soap:address location=”https://someaddress:9999/CjleadsWebService”
    wsdl:port
    wsdl:service

  166. Michael
    August 6, 2010 at 3:10 pm

    We are starting to create and use CICS Web Services in our TS 3.2 environment and were wondering how to get CICS to return the WSDL files from a URL. We appended ?wdsl to the service request but just got an ‘XML Parsing Error: no element found’. Is there some additional setup that we need to do?
    Thanks!

    • Grant
      August 9, 2010 at 5:53 am

      Hi Michael,

      There is no extra setup to do for this, as CICS does not support the request you are making. If you want the WSDL, you need to get it another way.

      Cheers… Grant,

    • Andy
      August 9, 2010 at 7:59 am

      Michael
      You could set up a URIMAP so that say, cics/wsdl/WEBSERVICETHING.WSDL, returns the wsdl from USS. It was good enough for my collegues maintaining an IIS system.
      Andy

      • Michael
        August 9, 2010 at 1:06 pm

        Thanks! That was just what I was looking for.

  167. Guy
    September 10, 2010 at 3:59 pm

    Hello Grant I have a question… we are web-enabling some so-called “legacy”
    CICS/COBOL applications … we’re using the older BREXIT feature to process
    data sent from a web-page that was generated from the corresponding BMS map.
    Now these applcations still use security logic based on the termID (an atavism
    from the days of real 3270 “dumb” terminals)
    The CICS generated termID of say..}AAB doesn’t fit into the terminal security logic.

    I got the big-brained idea of writing an exit program to exploit the XFAINTU exit-point.

    However it’s not working as I thought it would….

    I’d like to know why changing the BRFAC name (i.e. the }xxx termID generated by
    CICS) via the XFAINTU exit doesn’t work.

    e.g. The exit parm list passed to XFAINTU has an address pointer UEPFANAM
    which conatins the address of the Facility Name.
    On an Installation Request the exit program does the following:

    L R7,UEPFANAM
    MVC 0(4,R7),4(R8) R8 has the address of a table of 4 byte termIDs that
    *** conform to our standards e.g. V000 thru V3FF
    Therefore the Facility Name of say: }AAB SHOULD be replaced with V236.

    However when a logon to one of our “web-enabled” applications is done
    the termid which is displayed on the wbe-page that was generated from the
    BMS map STILL shows a value of }AAB instead of V236.

    Upon signing off which drives the “Tidy Up” logic in XFAINTU …
    The logic searches thru our termID table looking for the V236 entry in order to flag it as available for use again..
    What happens is that the value pointed to by UEPFANAM is STILL }AAB ..which
    of course is NOT in our table, and the exit issues an XPI exception trace entry
    and returns.

    What am I “missing” here…

    Thanks

    Guy

  168. Diane O'Mara
    September 29, 2010 at 6:33 pm

    Could you explain what this code is doing? After this logic, it is sending a map. The applicable working storage values are included below.

    IF WS-CICS-RELEASE GREATER THAN ‘0212’
    SET ADDRESS OF DFHTIOA TO KMXXXPC-PTR
    COMPUTE WS-TIOA-LENGTH EQUAL TIOATDL + 4
    EXEC CICS GETMAIN SET (WS-TIOA-BASE)
    INITIMG (WS-INIT-LV)
    LENGTH (LENGTH OF KMXXXPC-MAP)
    END-EXEC
    SET ADDRESS OF KMXXXPC-MAP TO WS-TIOA-PTR
    MOVE DFHTIOA(9:WS-TIOA-LENGTH) TO
    KMXXXPC-MAP(1:WS-TIOA-LENGTH)
    COMPUTE WS-TIOA-BASE EQUAL WS-TIOA-BASE – 8
    MOVE WS-TIOA-BASE TO KMXXXPC-BASE
    END-IF.
    SET ADDRESS OF KMXXXPC-MAP TO KMXXXPC-PTR.
    MOVE KMXXXPC-BASE TO TWA-MAPBASE.
    GO TO 2100-GOOD-INPUT-MAP.

    From working storage.
    01 KMXXXPC-PTR USAGE IS POINTER.
    01 KMXXXPC-BASE REDEFINES KMXXXPC-PTR PIC S9(8) COM

    01 KMMSGPC-MAP-PTR USAGE IS POINTER.
    01 KMMSGPC-MAP-BASE REDEFINES KMMSGPC-MAP-PTR

    PIC S9(8) COM
    01 WS-TIOA-PTR USAGE IS POINTER.
    01 WS-TIOA-BASE REDEFINES WS-TIOA-PTR PIC S9(8) COM

    COPY DFHTIOA.
    ****************************************************
    *
    * @BANNER_START 02
    * Licensed Materials – Property of IBM
    *
    * “Restricted Materials of IBM”
    *
    * 5655-M15 DFHTIOA
    *
    * (C) Copyright IBM Corp. 1988
    *
    * CICS
    * (Element of CICS Transaction Server
    * for z/OS, Version 3 Release 2)
    * @BANNER_END
    *
    * STATUS = 2.1.0
    * CHANGE ACTIVITY :
    *
    * $SEG(DFHTIOA),COMP(BTAM),PROD(CICS ):
    *
    * PN= REASON REL YYMMDD HDXXIII : REMARKS
    * $L0= Base 210 88 HDAFDRB : Base
    *
    *********************************************************
    *
    *
    01 DFHTIOA SYNCHRONIZED.
    02 FILLER.
    03 FILLER PICTURE XXXX.
    03 TIOASCA PICTURE XXXX.
    03 TIOATDL PICTURE S9(4) USAGE IS COMPUTATIONAL.
    03 TIOAWCI PICTURE S9(4) USAGE IS COMPUTATIONAL.
    03 FILLER REDEFINES TIOAWCI.

    04 TIOALAC PICTURE S9(4) USAGE IS COMPUTATIONAL.
    03 FILLER REDEFINES TIOAWCI.

    04 TIOACLCR PICTURE 9(4) USAGE IS COMPUTATIONAL.

  169. Guy Rich
    March 10, 2011 at 2:56 pm

    Hello, trying to get some clarification.
    I have an x86 server environment using Microsoft’s Host Integration Server.(HIS)
    We have to connect to a CICS TS 4.1 system via APPC/LU6.2.
    I would like to use a Java based application to issue the APPC verbs in Mapped_Conversation mode.
    Which version of CICS (i.e. TXSeries or Gateway) supports Java AND APPC ?
    Also, If I was to use say CICS TXSeries, would I still need the HIS ?
    Would I’d be able to fully define a set of Independent LU6.2 “teminals”
    via product such as CICS TXSeries ?

    Thanks and Best Regards

    Guy

    • Phil Wakelin
      March 11, 2011 at 8:02 am

      Guy, Is the Java application running on CICS or on the x86 environment?

      Assuming its on CICS then all in supported versions of CICS TS for z/OS support APPC and Java, and there is support for APPC mapped conversations in the JCICS API
      If you use TXSeries or the CTG on the x86 m/c you would probably not need to use APPC connections as you could use a TCP/IP based connection to connect to CICS
      Note TXSeries and CTG also both support LU6.2 connections to CICS, however, they require a SNA server to do so (such as IBM Communications Server or MS SNA Server)
      Lastly its worth pointing out CTG v8 now provides support for .NET clients and can be used in a .NET environment to link directly to CICS applications

      Let me know if you have any further questinos

      Regards, Phil

  170. Guy Rich
    March 11, 2011 at 11:00 am

    Hi Phil thanks fo your response.
    Our customer requirement is we MUST use their APPC/LU62 interface, it’s their standard for allowing “foreign” entities access to their CICS application systems. They are running CICS TS 4.1 and I pointed out how we could use XML etc etc ..they just smiled and said no.

    The HIS server actually manages the connection on the x86 end.

    The client java application will be sending data requests to the CICS TS 4.1 system. (and the CICS TS application will send back responses via APPC/LU62)

    So I’m trying to decide if we use CTX or CTG on the x86, which one would be best for our circumstance. I’ve heard and read about both, but I’ve never used either.
    Would the CTX or CTG appear to CICS TS as just another CICS system ?
    Can I define LU62 connections & sessions in CTX and/or CTG ? (If so then do I need HIS?) Would the use of either require any changes in CICS TS in terms of resource
    defiitions and/or PTFs ???(I hope not)

    Hope to hear from you soon
    Best Regards

    Guy

    • Phil Wakelin
      March 21, 2011 at 12:19 pm

      Guy

      If you need to connect a client application to CICS via APPC then CICS will need an APPC connection/session definition pair for the partner LU that the client application will be using.

      If the mandate for connecting to CICS is to just use LU6.2 connections then you could use CTG or TXSeries or any other client runtime, as both CTG and TXSeries support LU6.2 connections to CICS. However, if you also must use the APPC programming interface in CICS (i.e CPIC or DTP) then you can’t use CTG as CTG only offers the ECI model for linking to CICS programs.

      As for the use of HIS, yes you will need a SNA Server product on Windows to provide the LU6.2 connectivity and MS SNA Server and IBM Comms Server can be used by CTG see
      http://www-01.ibm.com/support/docview.wss?uid=swg21239203
      However TXSeries only list IBM Comms Server as as supported SNA server see
      http://www-01.ibm.com/software/htp/cics/txseries/requirements.html

      Regards
      Phil

  171. David Perkins
    March 18, 2011 at 3:33 am

    Hi,
    It there any chance of getting the VERBX DFHPD660, say, changed so that it loads above the 31-bit line? There are Binder options, that need a PDSE, that can use RMODE(SPLIT), HOBSET that would allow you to keep the existing structure…but would give instant storage relief. If a few ISPF screens are open while in IPCS, then the verb exit program sometines fails to load.

    • Grant
      April 6, 2011 at 12:24 pm

      Hi David,

      I have raised FITS requirement MR0406112644 for this.

      Cheers .. Grant.

  172. Joe Kendrick
    March 28, 2011 at 10:08 pm

    Am exploring using RDz for a small number of developers. I see several versions including a ‘Related Extension’ Developer for System z Unit Test.. Then there are Product Editions .. Developer for System z with EGL… developer for System z with java .. Developer for zEnterprise …
    The marketing for the product seems stuck between a rock and a hard place in the USA between Passport area and Mainframe account. I don’t feel that the System Z account is taken into account by the Passport marketing. Anyone have suggestions?

  173. Patrik Dries
    April 13, 2011 at 8:37 am

    Hi,

    i have created a CICS web service (CICS = provider), from a cobol copybook describing the commarea of an existing CICS program. I made all the necessary CICS resource definitions to make the web service available for external usage. When i test it with the eclipse web service explorer everything works OK. I ve given the generated WSDL file to one of our .NET developers who needs to write the client application. We don’t succeed in calling the CICS web service from the .NET client. Can somebody help us or give us an example of how we can make this work ?

    • Michael
      April 13, 2011 at 2:32 pm

      Patrick,
      If you are able to connect to the new web service from eclipse, it sounds like you have made all the right CICS definitions to call the service. If you generated the WSDL using the Web Service Assistant JCL, you will want to look at the very bottom of the WSDL where it defines the service. Depending on the URI parameter you used, you could end up with a very generic endpoint. You may need to change the endpoint manually or dynamically set it when calling the service from .NET.

      • Patrik Dries
        April 13, 2011 at 2:43 pm

        Michael,

        the problem seems not to be the setup of the web service in CICS or the url, but the way how to invoke the web service from .NET. We are looking for a code example or the procedure to call the web service from .NET. The guy who’s writing the client code as no clue how to do this.

  174. Michael
    April 13, 2011 at 2:48 pm

    That’s kind of what I thought you might be asking. You would be better off on a .NET forum than a CICS forum since the code would be applicable to calling any service and not specific to CICS.

  175. Patrick
    April 19, 2011 at 1:38 pm

    I have installed Debug Tool plugin in CICS Explorer and wants to deploys the access to Debug Tool but how to suppress the access at the other functions of CICS Explorer to these same users. I want they only use Debug Tool in CICS Explorer

  176. Patrik Dries
    May 9, 2011 at 1:11 pm

    We need to develop an outbound web service in CICS. The web service provider is an external governement department. We may not directly address the server that hosts the web service provider. We must pass the outgoing request via a proxy server. We must also use the https protocol.
    I read that the EXEC CICS INVOKE SERVICE drives the XWBOPEN user exit to direct the connection through a proxy server.
    Can somebody tell me what i’ve to do to make this work ?

  177. Guy Rich
    May 31, 2011 at 4:24 pm

    I have a “curiosity” question… Can anyone possibly “envision” a scenario in which it would be beneficial for a CICS Region to have it’s own IP address? (via an OSA and using VIPA) … NOT that I’ve seen every CICS environment, but in my 25 years of CICS systems programming I’ve yet to see an environment where CICS regions are defined to TCP/IP with their own IP address. Port number yes, but an
    IP address … it’s another maintenance issue.
    Any thoughts, comments and/or suggestions would be most appreciated.

    Best Regards

    Guy Rich

    • Andy
      June 1, 2011 at 6:11 am

      We have such a scenario! Until now we have been using self signed SSL certificates and we have been able to tell the devleopment teams ‘at the other end’ to ignore the ‘self signed’ certificate error. We have just implemented a web service that is invoked by a third party application who can’t, or won’t, ignore certificate errors, so we use a certificate authenticated by a CA. My sysprog tells me that we cannot have two certificates for the same ‘server’ in the (ACF2) keyring so we have set up another IP address using a VIPA for the autheticated certificate. The next step is to move off of the self signed certificates.
      Andy

  178. Guy Rich
    June 1, 2011 at 3:01 pm

    Thanks for your comments Andy … Our situation is this:
    we have CICS regions with web services application running in them.
    The other stipulation is that these web services are ONLY accessed via port 80 or
    port 443. So in order for a client-request to reach the correct CICS region.
    each region is assigned it’s own VIPA. Then bound to either port 80 or 443 as required by the client app. This is different from the practice of assigning a
    port address to each CICS region, and only using the IP address of the LPAR the region is running in.

  179. Yiquan Wang
    August 2, 2011 at 2:44 pm

    We have a routing problem in Internet Banking application. Please advise if this is a CPSM setup issue or it is how CPSM works.

    Description of Problem

    In the TOR, when the program issues the EXEC CICS START TRANSID(‘WB10’) TERM(‘:001’) FROM(dataarea) command, WB10 runs in the TOR instead of the AOR.

    In CPSM, we have defined a Workload Spec for the 4 TOR where the default target scope is any of the AORs.

    Observations

    1. When we issue the same command without the TERMID option, WB10 is routed to the AOR

    2. When we log in to the TOR and type WB10, the transaction is routed to the AOR.

    3. The result is the same when we specify WB10 as ROUTABLE in the rdo.

    From above observations, we believe CPSM routing is working. However, it is not working when we specify a TERMID option. Please advise why this is so.

    I would like to mention that TERMID ‘:001’ is a sequential terminal, not a VTAM terminal. In each TOR, there are 200 sequential terminals, from :001 to :0200. In the AOR, we also define the corresponding remote sequential terminals.

    To rule out that this is not due to sequential terminals, we did a test in the TOR where the terminals are VTAM terminals. We have the same observations in the TOR. When we issue a START TRANSID() with TERMID option, the transaction is started in the TOR and not routed to the AOR.

  180. brigitte pruett
    August 24, 2011 at 6:19 pm

    we have around 30 stand alone CICS regions, we are not a sysplex shop. I would like to download the cics explorer and use it if possible. Even though we are not sysplex, can I still successfully use the Cics explorer. If so where can I find information on how to set up explorer in our environment so it can be used.

  181. brigitte pruett
    August 24, 2011 at 6:45 pm

    we have around 30 stand alone CICS regions, we are not a sysplex shop. I would like to download the cics explorer and use it if possible. Even though we are not sysplex, can I still successfully use the Cics explorer. If so where can I find information on how to set up explorer in our environment so it can be used.

  182. brigitte pruett
    August 24, 2011 at 7:32 pm

    can cics explorer be used with stand-alone cics regions, not in a cicsplex environment and are there directions on how to install explorer in this stand-alone cics environment

  183. MadisonYE
    September 5, 2011 at 4:13 am

    I’ve just found this site http://www.theas400.com, could I just copy the technical
    articles from the web site or do I need some kind of permission?. I am doing a school project.

    Madison

  184. PT
    September 13, 2011 at 11:35 am

    I am trying to connect the CICS explorer 1.1.0.0 to a standalone CICS 4.1 region.I am getting the following error in the CICS logs:

    DFHWB0114…CWXN A non-HTTP request has been received by an HTTP service. The request has been rejected.

    And in the explorer I am getting :

    CNX0106E Connect failed with error ‘CMAS, NOTAVAILABLE, CPSMAPI’

    I am wondering why is it checking on CPSM as I am trying to connect to a standalone cics region.

    FYI–SYSIN OVERRIDE SEC=NO
    DFH$WUTC===AUTENTICATION=NO

    Any pointers will be of great help

    Any specfic PTF’s required for CICS 4.1 region ?

    Thanks
    PT

  185. Chris Hodgins
    September 13, 2011 at 11:53 am

    Hi PT, it sounds like you are missing some datasets from your STEPLIB and DFHRPL concatenations. Can you confirm you have added the following libraries please?

    Add the hlq.CPSM.SEYUAUTH library to the STEPLIB concatenation, where hlq is your high-level qualifier; for example CICSTS41.

    Add the hlq.CPSM.SEYULOAD library to the DFHRPL concatenation, where hlq is your high-level qualifier; for example CICSTS41.

    • PT
      September 13, 2011 at 12:05 pm

      Hi Chris,

      I have added them although not right at the beginning of the DD statements.Hope that is not a problem.

      I have installed DFH$WUTC and DFH$WUUR(this is poniting to correct DFH$WUTC) as I see the port being opened “DFH$WUTC has been opened on port 61490 at IP address ANY’

      I do not see any SMSS active in the CICS region.That is if I check the JESMSGLG,I am not seeing something like this:

      EYUX0001I applid SMSS initialization program starting
      – EYUXL0003I applid CPSM Version 410 SMSS startup in progress
      – EYUXL0022I applid SMSS Phase I initialization complete
      – EYUXL0007I applid SMSS Phase II initialization complete
      – EYUNL0099I applid SMSS SMSS LRT initialization complete

      Is this expected in CICS 4.1 ?

      Thanks
      PT

      • Chris Hodgins
        September 19, 2011 at 3:46 pm

        Hi PT, there is a very similar (if not the same question) posted on the IBM-MAIN mailing list. If you are not the same poster I would go and check it out as there are a few more pointers to what might be wrong.

        HTH
        Chris

  186. September 19, 2011 at 12:15 am

    Hey very cool web site!! Guy .. Excellent .. Amazing .. I will bookmark your site and take the feeds additionally?I’m glad to search out a lot of helpful information right here in the put up, we’d like develop more strategies in this regard, thank you for sharing. . . . . .

  187. Norma
    September 22, 2011 at 12:55 pm

    Hi Chris, We have a very simple CICS environment consisting solely of stand alone CICS regions (13 test regions on a test lpar and 10 production regions on a production lpar). So we don’t have a big issue with managing the environment. We have monitoring software for performance and trouble shooting as well. Our application development for CICS is somewhat stagnant. I believe this is partly due to the fact that the folks currently making decisions about development are unaware of what is available on z and worse yet, in some cases, opposed to anything that runs on z. We have some GUI front ends that connect to CICS via WMQ (WEBSPHERE MQSeries) as well as the WMB (WEBSPHERE Message Broker). I am planning to upgrade to upgrade from CICS 3.2 to CICS 4.2. I would like to see us exploit CICS Web Services and CICS Event Processing and plan to put the pieces in place to do this. There are some that see the power in z so I have hope that I can sell this. I’m guessing there are requirements out there that could be satisfied natively within CICS but because people don’t know how, we are not doing it. I’m hoping to find some good training and in the meantime I am just reading manuals and presentations I find on the web. I am confused as to whether it really buys me anything to use the CICS Explorer and CPSM. Do I need CPSM for web services or Event Processing? Do I need the CICS Explorer to implement web services or Event Processing? I don’t want to introduce unnecessary overhead and complexity into our simple and very stable environment. Of course if it is necessary or it does make sense then I’m good with that. I’m just not quite clear. Your insight would be very much appreciated! Thank you, Norma

    • Kathryn Briscoe
      November 29, 2011 at 8:19 pm

      Hi Norma, you do need CICS Explorer if you want to do event processing. The CICS Explorer has an event binding editor in it that allows you to create the event bindings and capture specifications. You can then use the CICS Explorer to deploy that to CICS in a bundle. Then it’s up to you if you want to use CICS Explorer to install the BUNDLE resource (just switch perspective and connect to your CICS region) or use the traditional CEDA interface. If you want more information or would like to see some demos, there is some published education on it here: http://publib.boulder.ibm.com/infocenter/ieduasst/stgv1r0/topic/com.ibm.iea.cicsts/cicsts/4.1z/events.html?dmuid=20090827104706793986

      HTH,
      Kathryn

  188. Guy Rich
    September 22, 2011 at 3:47 pm

    Hi Norma … no you don’t need CICS Explorer to implement web servics.

    If you’re interested in CICS web services please read the following:
    Implementing CICS Web Services an IBM Redbook SG24-7206-02
    The CICS Web Services Guide SC34-6838-03
    and The CICS Internet Guide SC34-6831-03

    I hope that helps

    Guy

  189. Patrik Dries
    September 27, 2011 at 9:34 am

    Hi,

    we have a site running CSP version 2.3 under CICS TS 2.3. We will now have to upgrade their CICS release to version CICS TS 4.2.
    Will the existing CSP applications continue to run after migration to CICS TS 4.2 ?

  190. Mario
    September 29, 2011 at 11:23 pm

    Hi

    I have a question regarding the usage of CICS Web Services to handle a file transfer(avg filesize would be 2 – 3 mb). I have a series of questions – we currently use MQ to drop the file on(line by line) – an existing app gets all records off MQ and goes on its merry way to process(i.e. update DB2, kick off other transactions). We want to eliminate MQ and use a webservice that will accept the file using Channels and Containers. A C# app will call the CICS Webservice.

    Question 1 : Can I have varying length records in my array container and can i define it as 1 to X(X will be passed by the Client in his call to the CICS COBOL Webservice)
    Question 2 – How will performance be impacted? Will it be slower/faster/or the same as using MQ)

  191. Guy Rich
    September 30, 2011 at 1:27 pm

    Hi Mario, the answer to your first question is yes; that’s the real advantage of channels, a channel can have “containers” of varying lengths. and the only limit on the size is the memory resources allocated to the region. So you can transfer an entire 3 Mb file.

    As to your second question, how will performance be impacted …well
    that’s a bit nebulous, Performance of what?
    The overall system? The CICS region?, The network? …all of the above?
    Here are some caveats with regard to large data structures.
    TCP/IP, If this application system is a “critical” system, then I would
    suggest talking with your network people about using a larger MTU
    (i.e. Message Tranmission Unit) The default MTU for ethernet is usually
    1500 bytes. You may want to make it about 90% of it’s respective container length. Alos the other factor is the GETMAINS for storage that have to be done. The larger the request the longer it takes the system to honor the request. Things you have also consider are: Transaction/task volume, Resource Recovery etc. I suggest you review the performance of the current system that uses MQ, as a guideline.

  192. Mario
    October 1, 2011 at 1:20 pm

    Thank You, Guy,

    I will be asking more questions as we move along further along in the process. We are leaing towards going with single string parameters using channels and containers instead of passing an entire file to the CICS Web Service. This would mimic our current MQ Process. Traffic/Volume would be 3 – 5 million messages consumed by the CICS Web Service Provider(Invoked by a C# Service Requestor) and 25 million messages consumed by a C# Web Service Provider(Invoked from a Cobol CICS Web Service Requestor). 80% of these messages will be less than 1000 bytes in length. In terms of CICS Comtmands how is the CICS Web Service Provider accessed? Is it a START or a LINK? Are these options that the System Programmer sets up?

    Have a great weekend.

    Mario

  193. October 31, 2011 at 6:25 pm

    Hello,

    I am a system programmer looking for the best design for the applications using CICSPLEX.
    We’re having 1 cmas with 1 TOR, 4 AORs, 1 FOR . All the AORs connect directly to our DB2. We have our business application where all the data will be loaded by batch or online to the db2 with cics or without cics. The AORs now have transaction (A) run at startup to read the data in the DB2 and process it and depend on the nature of the data .. trans (A) will start trans(B,C,D,E and F). Trans B,C,D,E,F will start themselves using interval control after 5 minutes if there is no more data to be processed. The problem that I see now is with the EXEC CICS START TRANS the transaction stay in the same AORs that the original transation run, therefore we can’t exploit cicsplex routing either in queue mode or in goal mode. Data still processed in all 4 AORs but cicsplex feature not ultilized.

    If I manually start trans(A) in the TOR, then the first trans(B,C,D,E,and F) will be in a random AOR, then stay in that AOR. We like for trans (B,C,D,E, and F) to be distributed in AORs that are available.

    If I modify the test program and do a start trans(B,C,D,E, and F) with a sysid of the TOR then cicsplex will work fine but that will requires chaning the existing application and I don’t know if route trans from AOR back to the TOR to be routed back to AOR is a good idea?

    We also thinking of instead of do a START TRANS may be write to a remote TDQ in the TOR but we don’t know how to make it work yet and don’t know if is a good idea?

    We also tried to MRO all the AORs together and run the stress test and it looks like to me trans will run at the AOR1 until max task and leave all the rest of the AOR unused, after that it start going to AOR2 and then go insane, sysview abended s0c4 and the WUI can’t not let me see the screen.. I eventually have to bring down all the AORs to clear them up.

    Sorry for the long question… Any idea will be much appreciated.

  194. GILBERTO RODRIGUEZ
    November 9, 2011 at 11:18 pm

    hello.

    excellent site.

    Probably been asked before. I recently came upon a COBOL CICS program that dynamically calls another CICS program, then upon return fron the CALL xxxx does a CANCEL xxxx cobol instriuction, presumably to get the called program in its initial state when called again.. Sounds illogicall to me. I thought that using the COBOL CANCEL verb was not recomended in CICS as results may be unpredictable..any comments/reference docs I can read?

    thanks
    gilberto rodriguez
    san juan, puerto rico

    the sysadmin formerly known as Z/OS systems programmer

  195. gokul
    November 16, 2011 at 10:46 am

    Hello,

    We are using CICS5.0 for connecting from J2EE to MainFrame server.Through the Terminal we are establishing the connetion and after the transaction we are closing the connection.

    But here Connection Pooling is missing!!!To create the ConnectionFactory i can see few classses in CICS5.0.EPIConnectionFactory,EPIManagedConnectionFactory.I have gone through the documentation about this classes.But am not able to find any
    examples for this and by using ConnectionFactory how can i get the Terminal??

  196. November 16, 2011 at 1:59 pm

    Gokul

    Presuming you are using the cicsepi.rar from CICS Transaction Gateway (CTG) V5. If you want to use connection pooling in a JCA managed environment you only need to define a connection factory and use this within your application For details of how to write an JCA EPI application refer to redbook http://www.redbooks.ibm.com/cgi-bin/searchsite.cgi?query=sg246401, ch8, which also provides a set of examples

    Phil

  197. jack hammer
    December 6, 2011 at 2:47 pm

    Is it OK to have the SEYUCOB library in my compile jcl even if I’m not running CICSplex SM? Just wondering if I need to maintain two sets of libraries.

  198. Kevin Mitts
    December 9, 2011 at 9:42 pm

    We have auto-install terminals that specify a TCTUA length. We were unable to test during DR because those terminals have no TCTUA length. How can I determine what TYPETERM an auto-install terminal is using?

  199. December 16, 2011 at 1:24 am

    Me parece bien lo publicado aqui

  200. December 16, 2011 at 4:46 am

    Me parece bien lo escrito aqui

  201. December 16, 2011 at 4:53 am

    Me parece bien lo mencionado aqui

  202. January 16, 2012 at 1:47 am

    Your application accreditation or perhaps the certified acquiring practitioner was first founded that year the early nineties. These days it really is experiencing massive requirements from the that sector.procurement

  203. Will
    February 3, 2012 at 2:45 am

    I have a simple question. Do you (or IBM) offer all the of the CICS and CICS related manuals in a torrent so I don’t have to hunt and peck each individual one? 🙂

  204. Guy Rich
  205. Nidhi Jain
    February 8, 2012 at 12:29 am

    Hi, can someone please suggest if there is any tool/mechanism present that can tell how many CICS regions are available within test environment when several regions are present?

  206. Roger Lin
    April 11, 2012 at 12:38 pm

    We properly specified the correct TIMEZONE value in CPSM data repository file initialization.
    However in CPSM history view, it always showed GMT time for the completed task stop time instead of local time. Why? Is it any way to chang that?

  207. Sasivarnan
    April 23, 2012 at 11:36 am

    Hi, Please help me.. I have a scenario where i need to call java service from CICS. I am not sure how the interaction or code will be done.. Kindly advice me..

  208. roger lin
    April 24, 2012 at 11:31 am

    Hi, Thank you for your reply. I believe CICS Transaction Server program ID is 5655M1500

  209. Larry Frank
    April 25, 2012 at 6:30 pm

    Greetings. We’re a long-time CICS shop running 3.2 with CPSM. For some time now, we’ve been thinking about migrating our CSD to the CPSM Repository. I’ve done some preliminary testing using the supplied utilities DFHCSDUP and EYU9XDBC.

    I took two test groups from the CSD and went through the processes to get them added to the Repository. Now when I use the WUI to look at the information, all I see is the Resource Group Definition but there are no entries in it. I’ve been reading everything I can to see if I can figure what happened but so far, my efforts are futile.

    However…my reading caused me to read something about CICS Explorer (which we aren’t using yet either), that says it can see CSD information. Now with the announcement of V5 Beta, I’m wondering what other changes/enhancements may render the move from the CSD moot.

    I’d like to hear some opinions before we continue down this road.

  210. Guy Rich
    May 22, 2012 at 2:46 pm

    Hello Hursley … Guy Rich here.
    I have a project coming up the involves the web-enablement of a traditional 3270 based CICS
    application.
    The management has decided on using WebSphere MQ to send client requests from a
    .net/windows environment (also running MQ)
    My task is to make use of the WebSphereMQ – CICS 3270 Bridge Facility.
    I’ve defined two channels (send/recv) and a number of queues. However I’m more that a little
    “fuzzy” on exactly how do the MQ messages get routed to CICS, I’ve read about the CKTI
    transaction, it starts DFHMQTSK, However How do I get my application program to read
    the passed messages from the queue?
    Hope to hear from you soon
    Best Regards

    Guy

  211. Guy Rich
    June 27, 2012 at 3:43 am

    Hello all.
    I have a question, in using the MQCIH header when sending messages from a

    non z/OS web based client to a CICS application system via 3270 Bridge,
    Will the client be required to prefix each data field sent with a BRMQ/ADSL

    header? Before sending the message to CICS?

    Best Regards

    Guy

  212. Dan
    August 17, 2012 at 3:18 pm

    Hi All,

    I have been going through the CICSPlex API and have a very basic question.
    It looks like you have to hard-code the CICSPlex name in the CONNECT.
    Is there any programmatic facility to get the name of the CICSPlex that the CICS region is a part of?

  213. Patrik
    March 17, 2014 at 3:56 pm

    Hello all,

    we are developping a new web service in CICS and DFHWS2LS is not able to interprete the wsdl due to mixed binding style types (rpc and document). Now we are investigating how to call the web service using EXEC CICS LINK DFHPIRT …
    Has someone a program example that shows how to use DFHPIRT and that might help us to sove this problem ?

  214. Jim Smith
    September 12, 2018 at 10:41 pm

    Hello,
    What does this command do:

    EXEC CICS RECEIVE
    SET (ADDRESS OF DFHCOMMAREA)
    LENGTH (W-ITXN-LENGTH)
    RESP (W-RESPONSE-CD)
    END-EXEC.

  1. No trackbacks yet.

Leave a reply to Mario Cancel reply