IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Need Help in understanding what is the language of this code


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
mainakdalal

New User


Joined: 05 Sep 2005
Posts: 6
Location: kolkata

PostPosted: Mon Oct 03, 2016 8:03 pm
Reply with quote

Hello all, In our site, we came across few batch codes, that are actually tables starting with <XXX>TBBLD and ending with <XXX>TBEND. A sample code is given below.
Code:

NELTBBLD MODELE022
NELFORMT 'X(06)' 
NELVALUE 'SP    '
NELVALUE 'DIR   '
NELVALUE 'FD    '
NELVALUE 'DSC   '
NELVALUE 'LIB   '
NELVALUE '      '
NELTBEND
       


This code is being called from another COBOL code using a COBOL copybook layout. I looked at the load for the table module and from the signature, I see the number 569623400, which corresponds to High level assembler.
However, I have never seen any assembler table like this. Without a DS or DC opcode, how variable can be defined in a Assembler? and the same can be called using a cobol copybook?

We have also found some code, which looks like some online screen description with validation checks added. But not sure of the language used for writing them. They neither look like IMS MFS, nor like CICS, nor like ISPF panel coding. These are not called from any other module / screen COBOL code either. Can anyone tell me what is the language used here?

Code:

NL NYN L 02 00 *** E 'SAMPLE OPTION  NUMBER (01=BASIC, 02-99=ADVANCED)'
NAME 'SMP-OPT-NUM'                                                     
RANGE 01,99                                                           
NL AXN L 03 00 *** I '530' *                                           
NAME 'FIELD-530'                                                       
SL NNN L 01 00 *** E 'FLD/AGE CALC RULE (1=NEAREST, 2=LAST)'           
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Mon Oct 03, 2016 8:07 pm
Reply with quote

Quote:
This code is being called from another COBOL code using a COBOL copybook layout.


define in a proper way the meaning of the above sentence!
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3048
Location: NYC,USA

PostPosted: Mon Oct 03, 2016 8:22 pm
Reply with quote

They could be Macros- like, Delta Cobol. How about showing us the compile listing?
Back to top
View user's profile Send private message
mainakdalal

New User


Joined: 05 Sep 2005
Posts: 6
Location: kolkata

PostPosted: Mon Oct 03, 2016 8:53 pm
Reply with quote

Hi Enrico,

What I meant is that the Table is coded as a Batch Module. The same is called by another Cobol code using a copybook that reads each of the value defined in the table using occurrence. It is as if reading normal cobol tables (with picture claue and Value Literal) into a copybook. I am really not sure how this is working.

Also... the 2nd screenshot (seems like a online code) is totally confusing.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Mon Oct 03, 2016 9:37 pm
Reply with quote

what have Your colleagues/support people to say about it ?
Back to top
View user's profile Send private message
mainakdalal

New User


Joined: 05 Sep 2005
Posts: 6
Location: kolkata

PostPosted: Mon Oct 03, 2016 10:09 pm
Reply with quote

they say that the table is Assembler. But I do not agree :-(
Also... no one is sure on the 2nd screenshot.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Mon Oct 03, 2016 11:49 pm
Reply with quote

The table may be using Assembler macros, but it certainly is not Assembler code. And the second screen shot appears to be some sort of high-level variable definition with length, initial value, error message, and range of permitted values (among other things).

Unless you find some documentation (on the system or hardcopy or intranet), it is unlikely that you will ever figure them out. Do you have the job to assemble / compile these code pieces? If not, you need to search to see if they can be found on your system. Without this JCL, you'll need to plan on replicating the functionality (whatever it is) without knowing he details -- which could be a very difficult task.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Tue Oct 04, 2016 2:13 am
Reply with quote

They both look like some sort of "dictionary" definition. The first is the description of a field, the second a different type of description of several fields.

Perhaps a number instances of the first type would describe a file, and perhaps the second is a screen (or report, or an output file).

It looks to be "home grown" and it looks to have been around for a while (limit of eight characters to "keywords" is archaic).

Wild guesses, though.
Back to top
View user's profile Send private message
Kerry Ropar

New User


Joined: 14 Sep 2016
Posts: 25
Location: Australia

PostPosted: Tue Oct 04, 2016 4:37 am
Reply with quote

mainakdalal, are you using Ricoh Mainframe Printer at your shop?
Back to top
View user's profile Send private message
mainakdalal

New User


Joined: 05 Sep 2005
Posts: 6
Location: kolkata

PostPosted: Tue Oct 04, 2016 5:49 pm
Reply with quote

Hi All,

I was able to figure it out. The table is actually made up of Assembler macros. They were not in the standard maclib but in a different PDS. When I expanded the macros used as keyword in the table, I found that the code is actually loading the table in a register, which points to the address of register 1 for linkage to calling module. This is how the table values are passed to called COBOL code.

On the other piece of code, which seems like a screen layout, is actually working as a card input to some code. unfortunately we do not have the driver source code, but only the load to it :-(

Thanks for all your help in pointing me towards a solution.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts run rexx code with jcl CLIST & REXX 15
No new posts Compile rexx code with jcl CLIST & REXX 6
No new posts REXX code to expand copybook in a cob... CLIST & REXX 2
No new posts VSAM return code 23 - for a Random read COBOL Programming 4
No new posts Monitoring production job progress. N... JCL & VSAM 4
Search our Forums:

Back to Top