Difference between SYSIN and SYSTSIN



JES, JES2, JCL utilities, IDCAMS, Compile & Run JCLs, PROCs etc...

Difference between SYSIN and SYSTSIN

Postby nikesh_rai » Sun Sep 08, 2013 1:08 pm

Hi Guys,

What is the difference between SYSIN and SYSTSIN. I checked a post where it is described as

SYSTSIN is the standard input DD (i.e. Terminal Input) for either the TSO program (IJKEFT**) or the REXX interpreter (IRXJCL).

SYSIN is a standard input DD, usually used to supply run-time parameters to the associated program.


So, is it correct or is there anything else which is missing here... I was checking IBM manual where SYSTSIN was described as

The SYSTSIN DD statement is used to specify that the data to follow consists of executable commands and/or subcommands. For example, to indicate to the system that all data following this statement is to be used as input, until the system encounters an input delimiter, such as the characters /* or the DLM operand,


but we put commands in SYSIN as well..

Can anyone please clarify me..
Thanks
Nikesh Rai
nikesh_rai
 
Posts: 205
Joined: Tue Oct 18, 2011 1:27 am
Has thanked: 17 times
Been thanked: 0 time

Re: Difference between SYSIN and SYSTSIN

Postby steve-myers » Sun Sep 08, 2013 1:33 pm

nikesh_rai wrote:... but we put commands in SYSIN as well..

Can anyone please clarify me..
The purpose of the contents of any data set depends on the program. The IKJEFT01 program, for example is the TSO "Terminal Monitor Program." When it is run in batch, IKJEFT01 expects the data set specified by DD name SYSTSIN to contain input it understands, that is TSO commands as well as member names of Rexx execs or TSO CLISTs located in data sets specified by DD name SYSPROC or SYSEXEC.

Other programs have different requirements. Cobol compilers, for example, generally expect the data set specified by the SYSIN DD statement to contain the source of a Cobol program. Nothing else. Sort programs, on the other hand, expect the data set specified by the SYSIN DD statement to contain control instructions (often constructed as "commands" and sometimes called "commands") so it can sort data contained in other data sets. It all depends on the program. That's the best explanation I can do.
steve-myers
Global moderator
 
Posts: 2099
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 238 times

Re: Difference between SYSIN and SYSTSIN

Postby nikesh_rai » Mon Sep 09, 2013 1:17 pm

thanks Steve for clarification.. :)
Thanks
Nikesh Rai
nikesh_rai
 
Posts: 205
Joined: Tue Oct 18, 2011 1:27 am
Has thanked: 17 times
Been thanked: 0 time

Re: Difference between SYSIN and SYSTSIN

Postby BigIronGuy » Sun Aug 29, 2021 2:14 pm

Hi Steve
Could you please explain in simple terms. What I have got that SYSTIN is used for IKJEFT01 program and SYSIN for some another program. Apart from this SYSTIN can also be used with REXX interpreter but not SYSIN. Please correct me if wrong.
BigIronGuy
 
Posts: 1
Joined: Sun Aug 29, 2021 2:05 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Difference between SYSIN and SYSTSIN

Postby sergeyken » Mon Aug 30, 2021 1:23 am

BigIronGuy wrote:Hi Steve
Could you please explain in simple terms. What I have got that SYSTIN is used for IKJEFT01 program and SYSIN for some another program. Apart from this SYSTIN can also be used with REXX interpreter but not SYSIN. Please correct me if wrong.

//SYSTSIN is the standard DD name used by the program IKJEFT01 (and some others) to get its own commands from. Usually those commands make the IKJEFT01 to call other programs (aka load modules) which often are written in various languages, from Assembler to REXX. Each of those “internal” programs=load modules can use (and often does) its own one or more DD names for its own input/output operations. Many typical programs called from inside of IKJETF01 are using the DD name //SYSIN as its main input data source. This depends exclusively on: what DD name has been chosen by the program developer? Since most of program codes are copied (or stolen) by one developer from another one, so very often the same DD name is used by many different programs; especially - //SYSIN DD.
//PROGRUN EXEC PGM=IKJEFT01
//SYSEXEC  DD DSN=library of REXX/CLIST code
//SYSTSPRT DD SYSOUT=*      log of IKJEFT01
//SYSTSIN  DD *       standard input for IKJEFT01
%REXXPGM1   ,       <- call to the REXX code REXXPGM1
SPECPGM0    ,         <- call to non-REXX code SPECPGM0
//*
//SYSPRINT DD  SYSOUT=*     output for any of REXXPGM1, and/or SPECPGM0
//SPECOUT  DD  SYSOUT=*     extra output for SPECPGM0
//SYSIN    DD  *            input for either REXXPGM1, or SPECPGM0, whichever use it
11111
22222
33333
//*
//SPECIN   DD  *          special input for SPECPGM0, if it needs something extra
SPECIAL DATA1
SPECIAL DATA2
//*
Javas come and go, but JCL stays forever.
User avatar
sergeyken
 
Posts: 216
Joined: Wed Jul 24, 2019 10:12 pm
Has thanked: 5 times
Been thanked: 19 times


Return to JCL

 


  • Related topics
    Replies
    Views
    Last post