Problem on CICS - LSR pool 1 is being built dynamically



Support for CICS/ESA, CICS/TS & Transaction Gateway, CICS Configuration Manager and CICS Performance Analyzer

Problem on CICS - LSR pool 1 is being built dynamically

Postby rogerb » Sun Aug 26, 2018 5:44 am

Hello everybody.

I would like to start this topic by thanking everybody who contributed in the previous topics I created.
Now I'm coming to ask for your help with a BIG problem I have for a long long time.
When I compile a COBOL-CICS program using a JCL, after that I go to the CICS region.
In the Terminal window I see the following message:


LSR pool 1 is being built dynamically by CICS because all of the
necessary parameters have not been supplied. Either there is no
LSRPOOL definition or it is incomplete. The following are not
defined:  'CI SIZE' 'STRINGS' 'MAXKEYLENGTH'. A delay is possible.


If I execute the COBOL-CICS program in debug mode (CEDF) everything runs fine.
If I execute the COBOL-CICS program without CEDF sometimes it runs well, but most of the times the program window show the "clock image" (and I believe that such an image represents that the program is processing) and the program "freezes" there.
When the program freezes it does not respond to nothing, and even if I wait several minutes it still does not change.
For example in the pseudo-conversational program for the LEAP YEAR I created.
The program 1 receives the input and validates the input (number of the gregorian year).
If the program 1 has validated the number then passes that number to the program 2.
Then, the program 2 makes the calculation if the year is a LEAP YEAR or a COMMON YEAR.
In my tests with the CICS the program freezes after receiving the first input in program 1.
The situation happens if I insert an invalid input or a valid input.
The problem has happened in almost all the programs I executed on CICS, conversational or pseudo-conversational.
I have not tried with the program CARPRG that uses the VSAM ESDS, but I think it will have the same problem.
I have looked it in the internet and I think that LSR pool 1 is the default pool.

This is the JCL I'm using to compile the COBOL-CICS programs, I'm adding this in case it's necessary to change it.


//COBCICS JOB CLASS=A,MSGCLASS=A,NOTIFY=&SYSUID,MSGLEVEL=(1,1)          00010000
//PROCLIB JCLLIB ORDER=DFH320.CICS.SDFHPROC                             00020000
//STEP1   EXEC PROC=DFHYITVL,                                           00030000
//        INDEX='DFH320.CICS',                                          00040000
//        AD370HLQ='IGY410',                                            00050000
//        LE370HLQ='CEE',                                               00060000
//        PROGLIB='DFH320.CICS.SDFHLOAD',                               00070000
//* PROGLIB - LOCATION WHERE THE PROGRAM LOAD MODULE WILL BE STORED     00071065
//        DSCTLIB='DFH320.CICS.SDFHMAC'                                 00080000
//* DSCTLIB - SYMBOLIC MAP LIBRARY                                      00081065
//TRN.SYSIN DD DISP=SHR,DSN=SYSOPR.STUDY.TEST.COBOL(CARPRG)             00090066
//* DSN=SYSOPR.STUDY.TEST.COBOL(CUBE)                                   00091008
//LKED.SYSIN DD *                                                       00100000
           NAME CARPRG(R)                                               00110066
//*  NAME NAMEPRG(R) IS THE NAME FOR THE LINKING STEP                   00111065
/*                                                                      00120041
 



I've been preventing this situation by always executing the program in CEDF but this is not practical.
I would like to know what is the advice you can provide me.

Thank you,
Roger
rogerb
 
Posts: 64
Joined: Sat Jul 28, 2018 9:14 pm
Has thanked: 5 times
Been thanked: 0 time

Re: Problem on CICS - LSR pool 1 is being built dynamically

 

Re: Problem on CICS - LSR pool 1 is being built dynamically

Postby Robert Sample » Mon Aug 27, 2018 6:05 pm

The LSR pool message indicates that CEDA has not been used to completely define LSR pool 1 -- specific values for the three mentioned parameters have not been provided. This is informational since, as the message says, CICS will dynamically provide values for the missing parameters and complete the LSR pool definition. The values CICS uses may not be optimal for your region but they will still work.
The program 1 receives the input and validates the input (number of the gregorian year).
If the program 1 has validated the number then passes that number to the program 2.
Then, the program 2 makes the calculation if the year is a LEAP YEAR or a COMMON YEAR.
In my tests with the CICS the program freezes after receiving the first input in program 1.
The situation happens if I insert an invalid input or a valid input.
How is program 2 invoked from program 1? The options are COBOL CALL, EXEC CICS LINK, EXEC CICS XCTL and they each work differently. Program "freezing" in CICS is often caused by a loop in the code, and there are many possible reasons for a loop (such as a variable doesn't have enough digits in its PICTURE, an IF statement that will never be true -- or false, invalid logic in the code, etc). If the program executes okay in CEDF but fails when run without CEDF, I've seen this problem occur in the past when multiple map sends were executed without an intervening map receive.
Robert Sample
Global moderator
 
Posts: 3518
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 250 times

Re: Problem on CICS - LSR pool 1 is being built dynamically

Postby rogerb » Tue Aug 28, 2018 9:01 pm

Good afternoon Mr. Robert Sample.

First of all, thank you very much for your answer.
Today I tested the two programs LEAPYER and LEAPCAL in CICS.
This is a pseudo-conversational program.
First I executed in the CICS region using CEDF, I tested with 3 different years and it run well in all cases.
Then I made CESF LOGOFF to exit CICS.
After that I entered again in the CICS region and executed the same programs but without CEDF.
The program shows the first send map, requesting the gregorian year.
I write the number, for example 2000 and I press enter.
The program LEAPYER freezes immediately.
I waited 8 minutes, and when I came back, the program was still frozen.
The program was completely irresponsive, I pressed pause key and enter key and it did not answer.

This is the MAP/MAPSET I'm using, LEAPMAP.
The program LEAPYER has got the TRANSACTION LBEG (LEAPYER BEGIN).
The program LEAPCAL has got the TRANSACTION LCAL (LEAPYER CALCULATE).

This is the code of the MAP/MAPSET I'm using, LEAPMAP:


LEAPMAP DFHMSD TYPE=&SYSPARM,LANG=COBOL,TERM=3270,MODE=INOUT,          X
               TIOAPFX=YES,CTRL=FREEKB,STORAGE=AUTO,EXTATT=YES
LEAPMA  DFHMDI SIZE=(24,80),LINE=1,COLUMN=1
        DFHMDF POS=(1,1),                                              X
               ATTRB=PROT,                                             X
               INITIAL='YEAR',                                         X
               LENGTH=4
        DFHMDF POS=(2,1),                                              X
               ATTRB=PROT,                                             X
               INITIAL='MESSAGE',                                      X
               LENGTH=7
Y       DFHMDF POS=(1,11),INITIAL='    ',                              X
               LENGTH=4,ATTRB=(UNPROT,IC),HILIGHT=UNDERLINE
        DFHMDF POS=(1,18),INITIAL=' ',                                 X
               LENGTH=1,ATTRB=ASKIP
MSG     DFHMDF POS=(2,11),INITIAL='    ',                              X
               LENGTH=40,ATTRB=UNPROT,HILIGHT=UNDERLINE
        DFHMDF POS=(2,52),INITIAL=' ',                                 X
               LENGTH=1,ATTRB=ASKIP
        DFHMSD TYPE=FINAL
               END
 



Here it is the code of the Program LEAPYER:


000100 IDENTIFICATION DIVISION.                                         00010001
000200 PROGRAM-ID. LEAPYER.                                             00020099
000300 AUTHOR.                    RMQB.                                 00030002
000400* ---------------------------------------------                   00040002
000500* OBJECTIVE: INSERT THE VALUE FOR A YEAR                          00050099
000600* AND CHECK IF THAT YEAR IS A LEAP YEAR OR NOT                    00060099
000700* ---------------------------------------------                   00070002
000800 ENVIRONMENT DIVISION.                                            00080002
000900 CONFIGURATION SECTION.                                           00090002
001000 SOURCE-COMPUTER.           HERCULES.                             00100002
001100 OBJECT-COMPUTER.           HERCULES.                             00110002
001200 DATA DIVISION.                                                   00120002
001300 WORKING-STORAGE SECTION.                                         00130002
001400 01  WS-MESSAGE             PIC X(40).                            00140099
001500 01  WS-COMMAREA            PIC X(10) VALUE SPACES.               00150094
001600 01  VALIDATE.                                                    00160099
001700     05 VY                  PIC 99.                               00170099
001710     05 RESPONSE            PIC S9(8) BINARY.                     00171099
001800 01  YEAR-IN.                                                     00180099
001900     05 YIN                 PIC 9999.                             00190099
001910     05 MESSAGEI            PIC X(40).                            00191099
002000 01  YEAR-OUT.                                                    00200099
002100     05 YOUT                PIC 9999.                             00210099
002200     05 MESSAGEO            PIC X(40).                            00220043
002300 77  MSG-LENGTH             PIC S9(4) COMP.                       00230054
002400 77  Q                      PIC 9(4).                             00240099
002500 77  R4                     PIC 9999.                             00250099
002600 77  R100                   PIC 9999.                             00260099
002700 77  R400                   PIC 9999.                             00270099
002800 COPY LEAPMAP.                                                    00280099
002900 LINKAGE SECTION.                                                 00290036
003000 01  DFHCOMMAREA            PIC X(10).                            00300036
003100*COPY TRIANG. TRANS(LBEG) MAPSET(LEAPMAP) GROUP(LEAPYER)          00310099
003200 PROCEDURE DIVISION.                                              00320002
003300 010-BEGIN.                                                       00330002
003500     IF EIBCALEN = 0 THEN                                         00350056
003510       MOVE DFHCOMMAREA TO WS-COMMAREA                            00351099
003600       MOVE LOW-VALUES TO LEAPMAI                                 00360099
003700       MOVE "PLEASE INSERT VALUE FOR GREGORIAN YEAR" TO MSGO      00370099
003800       EXEC CICS                                                  00380074
003900       SEND MAP('LEAPMA') MAPSET('LEAPMAP')                       00390099
004000       ERASE                                                      00400074
004100       END-EXEC                                                   00410074
004200       MOVE 'FIRST' TO WS-COMMAREA                                00420099
004300*      EXEC CICS RETURN                                           00430099
004400*        TRANSID('LBEG')                                          00440099
004500*        COMMAREA(WS-COMMAREA)                                    00450099
004600*        LENGTH(5)                                                00460099
004700*      END-EXEC                                                   00470099
004800     END-IF.                                                      00480099
004900     IF EIBCALEN > 0 THEN                                         00490099
005000       MOVE LOW-VALUES TO LEAPMAI                                 00500099
005100       MOVE "PLEASE INSERT VALUE FOR GREGORIAN YEAR" TO MSGO      00510099
005200       EXEC CICS                                                  00520099
005300       SEND MAP('LEAPMA') MAPSET('LEAPMAP')                       00530099
005400       ERASE                                                      00540099
005500       END-EXEC                                                   00550099
005600     END-IF.                                                      00560099
007200*      EXEC CICS XCTL                                             00720099
007300*        PROGRAM('LEAPCAL')                                       00730099
007400*        COMMAREA(WS-COMMAREA)                                    00740099
007500*        LENGTH(100)                                              00750099
007600*      END-EXEC                                                   00760099
007700*    END-IF.                                                      00770099
007710*    MOVE YL TO VY.                                               00771099
007800 030-CHECKDATA.                                                   00780099
007900     EXEC CICS                                                    00790099
008000     RECEIVE MAP('LEAPMA') MAPSET('LEAPMAP')                      00800099
008020     RESP(RESPONSE)                                               00802099
008100     END-EXEC.                                                    00810099
008200     MOVE YI TO YOUT.                                             00820099
008300*    MOVE YL TO VY.                                               00830099
008302     IF RESPONSE = DFHRESP(MAPFAIL)                               00830299
008303*    IF RESPONSE NOT = DFHRESP(NORMAL)                            00830399
008304       MOVE LOW-VALUES TO LEAPMAI                                 00830499
008500       MOVE "INSERT VALUE FOR THE YEAR" TO MSGO                   00850099
008600*      MOVE WS-MESSAGE TO MSGO                                    00860099
008700*      MOVE LOW-VALUES TO YI                                      00870099
008800       EXEC CICS                                                  00880099
008900       SEND MAP('LEAPMA') MAPSET('LEAPMAP')                       00890099
009000       ERASE                                                      00900099
009100       END-EXEC                                                   00910099
009110       EXEC CICS RETURN                                           00911099
009120         TRANSID('LBEG')                                          00912099
009130         COMMAREA(WS-COMMAREA)                                    00913099
009140         LENGTH(5)                                                00914099
009150       END-EXEC                                                   00915099
009200*      GO TO 030-CHECKDATA                                        00920099
009201     ELSE                                                         00920199
009210       IF RESPONSE = DFHRESP(NORMAL)                              00921099
009420         IF YI = '0   ' OR YI = '00  ' OR YOUT = 0 OR YOUT < 1582 00942099
009430           MOVE LOW-VALUES TO MSGO                                00943099
009500           MOVE "YEAR MUST BE A NUMBER >= 1582" TO WS-MESSAGE     00950099
009600           MOVE WS-MESSAGE TO MSGO                                00960099
009700*          MOVE LOW-VALUES TO YI                                  00970099
009800           EXEC CICS                                              00980099
009900           SEND MAP('LEAPMA') MAPSET('LEAPMAP')                   00990099
010000           ERASE                                                  01000099
010100           END-EXEC                                               01010099
010110           EXEC CICS RETURN                                       01011099
010120             TRANSID('LBEG')                                      01012099
010130             COMMAREA(WS-COMMAREA)                                01013099
010140             LENGTH(5)                                            01014099
010150           END-EXEC                                               01015099
010200*          GO TO 030-CHECKDATA                                    01020099
010303         END-IF                                                   01030399
010304       END-IF                                                     01030499
010307     END-IF.                                                      01030799
010318     EXEC CICS RETURN                                             01031899
010319       TRANSID('LCAL')                                            01031999
010320       COMMAREA(WS-COMMAREA)                                      01032099
010321       LENGTH(5)                                                  01032199
010322     END-EXEC.                                                    01032299
010323*    EXEC CICS XCTL                                               01032399
010324*      PROGRAM('LEAPCAL')                                         01032499
010325*      COMMAREA(WS-COMMAREA)                                      01032599
010326*      LENGTH(100)                                                01032699
010327*    END-EXEC.                                                    01032799
010329*040-ABEND.                                                       01032999
010330*    MOVE 'ERRO' TO YI.                                           01033099
010331*    MOVE 'PROGRAM ABENDED' TO MSGO.                              01033199
010340*    EXEC CICS                                                    01034099
010350*    SEND MAP('LEAPMA') MAPSET('LEAPMAP')                         01035099
010360*    ERASE                                                        01036099
010370*    END-EXEC.                                                    01037099
010400*    DIVIDE YO BY 4 GIVING Q REMAINDER R4.                        01040099
010500*    DIVIDE YO BY 100 GIVING Q REMAINDER R100.                    01050099
010600*    DIVIDE YO BY 400 GIVING Q REMAINDER R400.                    01060099
010700*    IF R400 = 0 OR R100 NOT EQUAL 0 AND R4 = 0 THEN              01070099
010800*        MOVE "THIS YEAR IS A LEAP YEAR !" TO WS-MESSAGE          01080099
010900*    ELSE                                                         01090099
011000*        MOVE "THIS YEAR IS A COMMON YEAR !" TO WS-MESSAGE        01100099
011100*    END-IF.                                                      01110099
011200*    MOVE WS-MESSAGE TO MESSAGEO.                                 01120099
011300*    MOVE MESSAGEO TO MSGO.                                       01130099
011400*    EXEC CICS                                                    01140099
011500*    SEND MAP('LEAPYE') MAPSET('LEAPYER')                         01150099
011600*    ERASE                                                        01160099
011700*    END-EXEC.                                                    01170099
011800*    EXEC CICS                                                    01180099
011900*    RETURN                                                       01190099
012000*    END-EXEC.                                                    01200099
012100     GOBACK.                                                      01210086
 



And this is the code of the program LEAPCAL:


000100 IDENTIFICATION DIVISION.                                         00010001
000200 PROGRAM-ID. LEAPCAL.                                             00020099
000300 AUTHOR.                    RMQB.                                 00030002
000400* ---------------------------------------------                   00040002
000500* OBJECTIVE: INSERT THE VALUE FOR A YEAR                          00050099
000600* AND CHECK IF THAT YEAR IS A LEAP YEAR OR NOT                    00060099
000700* ---------------------------------------------                   00070002
000800 ENVIRONMENT DIVISION.                                            00080002
000900 CONFIGURATION SECTION.                                           00090002
001000 SOURCE-COMPUTER.           HERCULES.                             00100002
001100 OBJECT-COMPUTER.           HERCULES.                             00110002
001200 DATA DIVISION.                                                   00120002
001300 WORKING-STORAGE SECTION.                                         00130002
001310 01  WS-MESSAGE             PIC X(40).                            00131099
001320 01  WS-COMMAREA            PIC X(10) VALUE SPACES.               00132094
001330 01  VALIDATE.                                                    00133099
001340     05 VY                  PIC 99.                               00134099
001400 01  YEAR-IN.                                                     00140099
001500     05 YIN                 PIC 9999.                             00150099
001600     05 MESSAGEI            PIC X(40).                            00160099
001700 01  YEAR-OUT.                                                    00170099
001800     05 YOUT                PIC 9999.                             00180099
002100     05 MESSAGEO            PIC X(40).                            00210043
002410 77  MSG-LENGTH             PIC S9(4) COMP.                       00241054
002411 77  Q                      PIC 9(4).                             00241199
002412 77  R4                     PIC 9999.                             00241299
002413 77  R100                   PIC 9999.                             00241399
002414 77  R400                   PIC 9999.                             00241499
002420 COPY LEAPMAP.                                                    00242099
002430 LINKAGE SECTION.                                                 00243036
002440 01  DFHCOMMAREA            PIC X(10).                            00244036
002450*COPY TRIANG. TRANS(LCAL) MAPSET(LEAPMAP) GROUP(LEAPYER)          00245099
002500 PROCEDURE DIVISION.                                              00250002
002748 030-CHECKDATA.                                                   00274899
002754     EXEC CICS                                                    00275424
002760     RECEIVE MAP('LEAPMA') MAPSET('LEAPMAP')                      00276099
002770     END-EXEC.                                                    00277024
002780     MOVE YI TO YOUT.                                             00278099
002792*      EXEC CICS                                                  00279299
002793*      SEND MAP('LEAPMA') MAPSET('LEAPMAP')                       00279399
002794*      ERASE                                                      00279499
002795*      END-EXEC.                                                  00279599
003225*      MOVE S1I TO A1O.                                           00322569
003240     DIVIDE YOUT BY 4 GIVING Q REMAINDER R4.                      00324099
003250     DIVIDE YOUT BY 100 GIVING Q REMAINDER R100.                  00325099
003260     DIVIDE YOUT BY 400 GIVING Q REMAINDER R400.                  00326099
003300     IF R400 = 0                                                  00330099
003610       MOVE "THIS YEAR IS A LEAP YEAR !" TO WS-MESSAGE            00361099
003620       ELSE                                                       00362099
003621       IF R100 NOT = 0 AND R4 = 0                                 00362199
003622         MOVE "THIS YEAR IS A LEAP YEAR !" TO WS-MESSAGE          00362299
003624     ELSE                                                         00362499
003630       MOVE "THIS YEAR IS A COMMON YEAR !" TO WS-MESSAGE          00363099
003640     END-IF.                                                      00364099
003704     MOVE WS-MESSAGE TO MESSAGEO.                                 00370499
003710     MOVE MESSAGEO TO MSGO.                                       00371099
004310     EXEC CICS                                                    00431099
004320     SEND MAP('LEAPMA') MAPSET('LEAPMAP')                         00432099
004330     ERASE                                                        00433099
004340     END-EXEC.                                                    00434099
004350     EXEC CICS                                                    00435099
004360     RETURN                                                       00436099
004370     END-EXEC.                                                    00437099
004400     GOBACK.                                                      00440086
 



Thank you,

Roger
rogerb
 
Posts: 64
Joined: Sat Jul 28, 2018 9:14 pm
Has thanked: 5 times
Been thanked: 0 time

Re: Problem on CICS - LSR pool 1 is being built dynamically

Postby Robert Sample » Wed Aug 29, 2018 8:45 am

As I suspected in my earlier post, you have a RECEIVE MAP in your LEAPYER program after the SEND MAP. You then go to LEAPCAL and do a RECEIVE MAP again -- without an intervening SEND MAP. This is what caused your terminal to lock. The solution is to take the RECEIVE MAP out of LEAPYER or LEAPCAL. If you take the RECEIVE MAP out of LEAPCAL, you will need to pass the year value to it in your COMMAREA; if you take the RECEIVE MAP out of LEAPYER, you will merely need to recompile the program, newcopy it, and you should get better results.
Robert Sample
Global moderator
 
Posts: 3518
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 250 times

Re: Problem on CICS - LSR pool 1 is being built dynamically

Postby rogerb » Mon Sep 03, 2018 4:55 pm

Hello everybody.

First of all, I apologize for taking so long to answer to this e-mail, but I had some personal problems that needed to take care of.

I haven't yet tried to perform the operations you mention in the post but I will do it in the next days.

Thank you very much for your help.

I wish you a good day.

Roger
rogerb
 
Posts: 64
Joined: Sat Jul 28, 2018 9:14 pm
Has thanked: 5 times
Been thanked: 0 time

Re: Problem on CICS - LSR pool 1 is being built dynamically

Postby rogerb » Wed Sep 05, 2018 2:05 am

Good afternoon everybody.

Today I've changed the programs LEAPYER/LEAPCAL according to the advice given by Mr. Robert Sample.

Considering that I wanted the first program LEAPYER to receive the number of the year and validate it, so that only if it was a valid number could be passed to the second program, LEAPCAL, I decided to remove the RECEIVE MAP out of LEAPCAL.

In the LEAPYER program I changed the following part:


EXEC CICS RETURN    
      TRANSID('LCAL')  
      COMMAREA(YOUT)    
      LENGTH(4)        
    END-EXEC.



This is the code of the program LEAPCAL now:


000100 IDENTIFICATION DIVISION.                                         00010001
000200 PROGRAM-ID. LEAPCAL.                                             00020099
000300 AUTHOR.                    RMQB.                                 00030002
000400* ---------------------------------------------                   00040002
000500* OBJECTIVE: INSERT THE VALUE FOR A YEAR                          00050099
000600* AND CHECK IF THAT YEAR IS A LEAP YEAR OR NOT                    00060099
000700* ---------------------------------------------                   00070002
000800 ENVIRONMENT DIVISION.                                            00080002
000900 CONFIGURATION SECTION.                                           00090002
001000 SOURCE-COMPUTER.           HERCULES.                             00100002
001100 OBJECT-COMPUTER.           HERCULES.                             00110002
001200 DATA DIVISION.                                                   00120002
001300 WORKING-STORAGE SECTION.                                         00130002
001310 01  WS-MESSAGE             PIC X(40).                            00131099
001320 01  WS-COMMAREA            PIC X(10) VALUE SPACES.               00132094
001330 01  VALIDATE.                                                    00133099
001340     05 VY                  PIC 99.                               00134099
001400 01  YEAR-IN.                                                     00140099
001500     05 YIN                 PIC 9999.                             00150099
001600     05 MESSAGEI            PIC X(40).                            00160099
001700 01  YEAR-OUT.                                                    00170099
001800     05 YOUT                PIC 9999.                             00180099
002100     05 MESSAGEO            PIC X(40).                            00210043
002410 77  MSG-LENGTH             PIC S9(4) COMP.                       00241054
002411 77  Q                      PIC 9(4).                             00241199
002412 77  R4                     PIC 9999.                             00241299
002413 77  R100                   PIC 9999.                             00241399
002414 77  R400                   PIC 9999.                             00241499
002420 COPY LEAPMAP.                                                    00242099
002430 LINKAGE SECTION.                                                 00243036
002440 01  DFHCOMMAREA            PIC X(10).                            00244036
002450*COPY TRIANG. TRANS(LCAL) MAPSET(LEAPMAP) GROUP(LEAPYER)          00245099
002500 PROCEDURE DIVISION.                                              00250002
002748 030-CHECKDATA.                                                   00274899
002754*    EXEC CICS                                                    00275499
002760*    RECEIVE MAP('LEAPMA') MAPSET('LEAPMAP')                      00276099
002770*    END-EXEC.                                                    00277099
002780     MOVE DFHCOMMAREA (1:4) TO YOUT.                              00278099
002792*      EXEC CICS                                                  00279299
002793*      SEND MAP('LEAPMA') MAPSET('LEAPMAP')                       00279399
002794*      ERASE                                                      00279499
002795*      END-EXEC.                                                  00279599
003225*      MOVE S1I TO A1O.                                           00322569
003240     DIVIDE YOUT BY 4 GIVING Q REMAINDER R4.                      00324099
003250     DIVIDE YOUT BY 100 GIVING Q REMAINDER R100.                  00325099
003260     DIVIDE YOUT BY 400 GIVING Q REMAINDER R400.                  00326099
003300     IF R400 = 0                                                  00330099
003610       MOVE "THIS YEAR IS A LEAP YEAR !" TO WS-MESSAGE            00361099
003620       ELSE                                                       00362099
003621       IF R100 NOT = 0 AND R4 = 0                                 00362199
003622         MOVE "THIS YEAR IS A LEAP YEAR !" TO WS-MESSAGE          00362299
003624     ELSE                                                         00362499
003630       MOVE "THIS YEAR IS A COMMON YEAR !" TO WS-MESSAGE          00363099
003640     END-IF.                                                      00364099
003704     MOVE WS-MESSAGE TO MESSAGEO.                                 00370499
003710     MOVE MESSAGEO TO MSGO.                                       00371099
003720     MOVE YOUT TO YO.                                             00372099
004310     EXEC CICS                                                    00431099
004320     SEND MAP('LEAPMA') MAPSET('LEAPMAP')                         00432099
004330     ERASE                                                        00433099
004340     END-EXEC.                                                    00434099
004350     EXEC CICS                                                    00435099
004360     RETURN                                                       00436099
004370     END-EXEC.                                                    00437099
004400     GOBACK.                                                      00440086
 


I compiled LEAPYER/LEAPCAL with success (MAXCC = 0) in both cases.

Then, I went to the CICS region, first I executed the program in debug mode with CEDF, and I tested with 3 different years and the program run well in all cases.

After that I made CESF LOGOFF, to logoff CICS.

I entered again in the CICS region and I executed the same program(s) but without CEDF.

After I enter the first number for the year, and I press enter, the program freezes again.

So, the problem remains even after I commented out the RECEIVE MAP in LEAPCAL.

Thank you,

Roger
rogerb
 
Posts: 64
Joined: Sat Jul 28, 2018 9:14 pm
Has thanked: 5 times
Been thanked: 0 time


Return to CICS

 


  • Related topics
    Replies
    Views
    Last post