View previous topic :: View next topic |
Author |
Message |
Magesh_J Intermediate
Joined: 21 Jun 2014 Posts: 259 Topics: 54
|
Posted: Fri Jun 30, 2017 3:38 pm Post subject: COBDFSYM Issue |
|
|
Hi,
Please advise Why comp-3 is not handled ? in cobdfsym rexx program.
Code: |
select
when datatyp = 'Group' then typ = 'CH'
when datatyp = 'Grp-VarLen' then typ = 'CH'
when datatyp = 'Display' then typ = 'CH'
when datatyp = 'Disp-Num' then typ = 'ZD'
when datatyp = 'Packed-Dec' then typ = 'PD'
when datatyp = 'Binary' then typ = 'FI'
when datatyp = 'Comp-1' then typ = 'FL'
when datatyp = 'Comp-2' then typ = 'FL'
otherwise typ = 'CH'
end
|
when i run the program it is going in loop, this line is getting repeated when i add trace R in the rexx
Code: |
83 *-* do until substr(line,2,16) = ' LineID PL SL '
>>> "0"
84 *-* parse pull line
>>> ""
85 *-* end
|
Is this the right rexx routine to use for IBM ENTERPRISE COBOL FOR Z/OS 3.4.1 ?
Thanks
Magesh |
|
Back to top |
|
|
Magesh_J Intermediate
Joined: 21 Jun 2014 Posts: 259 Topics: 54
|
Posted: Fri Jun 30, 2017 4:16 pm Post subject: |
|
|
Its working, cobol compiler changing it to Packed-dec, so it is correct.
All i need to do is change the case of those words.
Thanks
Magesh |
|
Back to top |
|
|
Nic Clouston Advanced
Joined: 01 Feb 2007 Posts: 1075 Topics: 7 Location: At Home
|
Posted: Sat Jul 01, 2017 4:27 am Post subject: |
|
|
Rexx is "case-agnostic" unless you use 'strictly equal to' == _________________ Utility and Program control cards are NOT, repeat NOT, JCL. |
|
Back to top |
|
|
Magesh_J Intermediate
Joined: 21 Jun 2014 Posts: 259 Topics: 54
|
Posted: Wed Jul 05, 2017 3:27 pm Post subject: |
|
|
Nic Clouston wrote: |
Rexx is "case-agnostic" unless you use 'strictly equal to' ==
|
I didnt change any thing other than the CASE of the charactes/string.When I changed it to upper case,it worked.
Let me test more and let you know.
Thanks
Magesh |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12359 Topics: 75 Location: San Jose
|
Posted: Wed Jul 05, 2017 5:10 pm Post subject: |
|
|
Magesh_J wrote: | I didnt change any thing other than the CASE of the charactes/string.When I changed it to upper case,it worked.
Let me test more and let you know.
Thanks
Magesh |
Do you mean you changed this line
Code: |
when datatyp = 'Packed-Dec' then typ = 'PD'
|
to
Code: |
WHEN DATATYP = 'PACKED-DEC' THEN TYP = 'PD' |
and it worked??? _________________ Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
Magesh_J Intermediate
Joined: 21 Jun 2014 Posts: 259 Topics: 54
|
Posted: Wed Jul 05, 2017 6:23 pm Post subject: |
|
|
HI Kolusu,
I changed like below it worked.
Code: |
when datatyp = 'PACKED-DEC' then typ = 'PD'
|
Also I changed LINEID from LineID
Thanks
Magesh |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12359 Topics: 75 Location: San Jose
|
Posted: Wed Jul 05, 2017 7:03 pm Post subject: |
|
|
Magesh_J wrote: | HI Kolusu,
I changed like below it worked.
Code: |
when datatyp = 'PACKED-DEC' then typ = 'PD'
|
Also I changed LINEID from LineID
Thanks
Magesh |
I doubt it worked. REXX will go into an infinite loop because it cannot find the verbs.
Did you by chance edit the compiler listing(sysprint) to have upper case? Without that it is highly impossible for rexx exec to work. _________________ Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
Magesh_J Intermediate
Joined: 21 Jun 2014 Posts: 259 Topics: 54
|
Posted: Wed Jul 05, 2017 8:44 pm Post subject: |
|
|
Hi Kolusu,
I changed to upper case because compiler listing had
upper case LINEID.
May be compiler would have printed in upper case because of profile settings.
I will check and let you know.
Thanks
Magesh |
|
Back to top |
|
|
Magesh_J Intermediate
Joined: 21 Jun 2014 Posts: 259 Topics: 54
|
Posted: Thu Jul 06, 2017 10:11 am Post subject: |
|
|
I changed the profile setting "CAPS OFF"
Code: |
RES (FIXED - 80)....RECOVERY ON....NUMBER OFF............
CAPS OFF....HEX OFF....NULLS ON STD....TABS OFF..........
AUTOSAVE ON....AUTONUM ON....AUTOLIST OFF....STATS ON....
PROFILE UNLOCK....IMACRO NONE....PACK OFF....NOTE ON.....
HILITE COBOL CURSOR FIND.................................
|
Still sysprint prints in upper case only.
Code: |
COMMAND INPUT ===> SCROLL ===> CSR
LINEID PL SL ----+-*A-1-B--+----2----+----3----+----4----+----5----+----6---
|
Thanks
Magesh |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12359 Topics: 75 Location: San Jose
|
Posted: Thu Jul 06, 2017 10:52 am Post subject: |
|
|
Magesh_J,
Well you must be using something other than COBOL ( may be a CA product like datacom/MetaCOBOL) which has options to change the compiler listing to upper case)
So lets do a simple test just run this step alone.
Code: |
//STEP0100 EXEC PGM=IGYCRCTL
//SYSPRINT DD SYSOUT=*
//SYSTERM DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSLIN DD DUMMY
//SYSIN DD *
CBL MAP
IDENTIFICATION DIVISION.
PROGRAM-ID. MAIN.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A PIC X(1).
01 B PIC S9(02) COMP.
01 C COMP-2.
01 D COMP-2.
01 E PIC S9(05) COMP-3.
01 F PIC S9(04) COMP-5.
PROCEDURE DIVISION.
GOBACK.
/* |
Now look at the compiler listing and do you still see the sysprint listing in upper case? _________________ Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
Magesh_J Intermediate
Joined: 21 Jun 2014 Posts: 259 Topics: 54
|
Posted: Thu Jul 06, 2017 11:15 am Post subject: |
|
|
Hi Kolusu,
Still it is printing in Upper case. It may be because we are using outdated compiler Enterprise Cobol for ZOS 3.4.1
Code: |
COMMAND INPUT ===> SCROLL ===> CSR
LINEID PL SL ----+-*A-1-B--+----2----+----3----+----4----+----5----+----6--
0 000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. MAIN.
000003 ENVIRONMENT DIVISION.
000004 DATA DIVISION.
000005 WORKING-STORAGE SECTION.
000006 01 A PIC X(1).
000007 01 B PIC S9(02) COMP.
000008 01 C COMP-2.
000009 01 D COMP-2.
000010 01 E PIC S9(05) COMP-3.
000011 01 F PIC S9(04) COMP-5.
000012 PROCEDURE DIVISION.
000013 GOBACK.
|
Thanks
Magesh |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12359 Topics: 75 Location: San Jose
|
Posted: Thu Jul 06, 2017 11:45 am Post subject: |
|
|
Magesh_J,
It has got nothing to do with the compiler level. as all the COBOL compilers print the listing in lowercase. Looks like your shop intercepts the compiler listing and converts to upper case.
Lets try to get around it
1. Type TSO ISRDDN and press enter
2. At the command prompt type LOAD IGYCRCTL and press enter.
3. You should get a notification that it is already loaded and should give you the dataset name.
4. Copy that dataset name and exit this interface (PF3)
5. Go to 3.4 and browse the dataset from step 4
6. Copy the IGYCRCTL into your personal pds
7. In your personal pds rename the load module to MGYCRCTL
8. Now run the same job once again with PGM=MGYCRCTL and adding STEPLIB dd with of personal PDS. Let see if we can fool the system that your Exit does NOT take over the listing. _________________ Kolusu - DFSORT Development Team (IBM)
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
Magesh_J Intermediate
Joined: 21 Jun 2014 Posts: 259 Topics: 54
|
Posted: Thu Jul 06, 2017 3:06 pm Post subject: |
|
|
Hi Kolusu,
Still no joy, same results.
Code: |
LINEID PL SL ----+-*A-1-B--+----2----+----3----+----4----+----5
000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. MAIN.
000003 ENVIRONMENT DIVISION.
000004 DATA DIVISION.
000005 WORKING-STORAGE SECTION.
000006 01 A PIC X(1).
000007 01 B PIC S9(02) COMP.
000008 01 C COMP-2.
000009 01 D COMP-2.
000010 01 E PIC S9(05) COMP-3.
000011 01 F PIC S9(04) COMP-5.
000012 PROCEDURE DIVISION.
000013 GOBACK.
|
Code: |
//JOBLIB DD DSN=XXXXXXX.LOADLIB,DISP=SHR
//STEP0100 EXEC PGM=MGYCRCTL
//SYSPRINT DD SYSOUT=*
//SYSTERM DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(10,2),RLSE)
//SYSLIN DD DUMMY
//SYSIN DD *
CBL MAP
IDENTIFICATION DIVISION.
PROGRAM-ID. MAIN.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A PIC X(1).
01 B PIC S9(02) COMP.
01 B PIC S9(02) COMP.
01 C COMP-2.
01 D COMP-2.
01 E PIC S9(05) COMP-3.
01 F PIC S9(04) COMP-5.
PROCEDURE DIVISION.
GOBACK.
/*
**************************** Bottom of Data
|
thanks
Magesh |
|
Back to top |
|
|
|
|