Skip to main content

Calling IDAEFT01 from Cobol

  • July 13, 2012
  • 6 replies
  • 0 views

Dominique Sacre
Forum|alt.badge.img+2

Hi to all,

Has anyone ever tried to call IDAEFT01 (MF alias for IKJEFT01) from a Cobol?

I was trying to make a simple test as, call Cobol from JCL with params to invoke REXX through IDAEFT01:

Server configuration:

ALIAS-> IKJEFT01 to IKJEFT (cobol module home made).

'LIBRAR.REXX(TEST)' catalogued

 

JCL step:

//TESTIKJ EXEC PGM=IKJEFT01,
//         PARM=''                                                     
//SYSPRINT DD SYSOUT=C                                                         
//SYSOUT   DD SYSOUT=C                                                         
//SYSTSPRT DD SYSOUT=C                                                         
//SYSPROC  DD DSN=LIBRAR.REXX,
//         DISP=SHR                                                            
//SYSTSIN  DD *
%TEST
/*
//

LIBRAR.REXX(TEST) member:

/* REXX  */                                                                    
trace "0"
say 'hello i'm test rexx'
ADDRESS TSO
"ALLOC FI(IN) DSN("IKJEFT.TEST") NEW SPACE(90,90) RECFM(FB) BLKSIZE(90)"

 

 

Cobol IKJEFT (compiled with charset(ascii)):

       identification division.
       program-id. IKJEFT.

       environment division.
       configuration section.

       data division.
       working-storage section.        
        01 PARM2.
           03 PARM2-LENGTH         PIC 9(4) COMP.
           03 PARM2-ARGS           PIC X(100).          
       linkage section.
        01 PARM.
           03 PARM-LENGTH         PIC 9(4) COMP.
           03 PARM-ARGS           PIC X(100).

       procedure division using PARM.
          
           DISPLAY "[IKJEFT][START]".
           DISPLAY "[IKJEFT][ARGS]-" PARM-ARGS.
           MOVE PARM-LENGTH TO PARM2-LENGTH.
           MOVE PARM-ARGS TO PARM2-ARGS.
           DISPLAY "[IKJEFT][CALL]--call to IDAEFT01".
           CALL 'IDAEFT01' USING PARM2.
           DISPLAY "[IKJEFT][END]".
           STOP RUN.

 

The fact is that IDAEFT01 runs and receive the right parameters, but it doesn't execute the rexx test.

Anybody knows what is missing??

 

Thank you in advance.


#EnterpriseDeveloper

6 replies

  • July 13, 2012

Hi to all,

Has anyone ever tried to call IDAEFT01 (MF alias for IKJEFT01) from a Cobol?

I was trying to make a simple test as, call Cobol from JCL with params to invoke REXX through IDAEFT01:

Server configuration:

ALIAS-> IKJEFT01 to IKJEFT (cobol module home made).

'LIBRAR.REXX(TEST)' catalogued

 

JCL step:

//TESTIKJ EXEC PGM=IKJEFT01,
//         PARM=''                                                     
//SYSPRINT DD SYSOUT=C                                                         
//SYSOUT   DD SYSOUT=C                                                         
//SYSTSPRT DD SYSOUT=C                                                         
//SYSPROC  DD DSN=LIBRAR.REXX,
//         DISP=SHR                                                            
//SYSTSIN  DD *
%TEST
/*
//

LIBRAR.REXX(TEST) member:

/* REXX  */                                                                    
trace "0"
say 'hello i'm test rexx'
ADDRESS TSO
"ALLOC FI(IN) DSN("IKJEFT.TEST") NEW SPACE(90,90) RECFM(FB) BLKSIZE(90)"

 

 

Cobol IKJEFT (compiled with charset(ascii)):

       identification division.
       program-id. IKJEFT.

       environment division.
       configuration section.

       data division.
       working-storage section.        
        01 PARM2.
           03 PARM2-LENGTH         PIC 9(4) COMP.
           03 PARM2-ARGS           PIC X(100).          
       linkage section.
        01 PARM.
           03 PARM-LENGTH         PIC 9(4) COMP.
           03 PARM-ARGS           PIC X(100).

       procedure division using PARM.
          
           DISPLAY "[IKJEFT][START]".
           DISPLAY "[IKJEFT][ARGS]-" PARM-ARGS.
           MOVE PARM-LENGTH TO PARM2-LENGTH.
           MOVE PARM-ARGS TO PARM2-ARGS.
           DISPLAY "[IKJEFT][CALL]--call to IDAEFT01".
           CALL 'IDAEFT01' USING PARM2.
           DISPLAY "[IKJEFT][END]".
           STOP RUN.

 

The fact is that IDAEFT01 runs and receive the right parameters, but it doesn't execute the rexx test.

Anybody knows what is missing??

 

Thank you in advance.


#EnterpriseDeveloper

Hi Carlos,

Does it run without the ALIAS setting like this:

//TESTIKJ EXEC PGM=IKJEFT01,PARM=''"

//SYSPRINT DD SYSOUT=C

//SYSOUT   DD SYSOUT=C

//SYSTSPRT DD SYSOUT=C

//SYSPROC  DD DSN=LIBRAR.REXX,

//         DISP=SHR

//SYSTSIN  DD *

%TEST

/*

//

Can you share what products you are using ?

Thanks
Frits


Dominique Sacre
Forum|alt.badge.img+2

Hi to all,

Has anyone ever tried to call IDAEFT01 (MF alias for IKJEFT01) from a Cobol?

I was trying to make a simple test as, call Cobol from JCL with params to invoke REXX through IDAEFT01:

Server configuration:

ALIAS-> IKJEFT01 to IKJEFT (cobol module home made).

'LIBRAR.REXX(TEST)' catalogued

 

JCL step:

//TESTIKJ EXEC PGM=IKJEFT01,
//         PARM=''                                                     
//SYSPRINT DD SYSOUT=C                                                         
//SYSOUT   DD SYSOUT=C                                                         
//SYSTSPRT DD SYSOUT=C                                                         
//SYSPROC  DD DSN=LIBRAR.REXX,
//         DISP=SHR                                                            
//SYSTSIN  DD *
%TEST
/*
//

LIBRAR.REXX(TEST) member:

/* REXX  */                                                                    
trace "0"
say 'hello i'm test rexx'
ADDRESS TSO
"ALLOC FI(IN) DSN("IKJEFT.TEST") NEW SPACE(90,90) RECFM(FB) BLKSIZE(90)"

 

 

Cobol IKJEFT (compiled with charset(ascii)):

       identification division.
       program-id. IKJEFT.

       environment division.
       configuration section.

       data division.
       working-storage section.        
        01 PARM2.
           03 PARM2-LENGTH         PIC 9(4) COMP.
           03 PARM2-ARGS           PIC X(100).          
       linkage section.
        01 PARM.
           03 PARM-LENGTH         PIC 9(4) COMP.
           03 PARM-ARGS           PIC X(100).

       procedure division using PARM.
          
           DISPLAY "[IKJEFT][START]".
           DISPLAY "[IKJEFT][ARGS]-" PARM-ARGS.
           MOVE PARM-LENGTH TO PARM2-LENGTH.
           MOVE PARM-ARGS TO PARM2-ARGS.
           DISPLAY "[IKJEFT][CALL]--call to IDAEFT01".
           CALL 'IDAEFT01' USING PARM2.
           DISPLAY "[IKJEFT][END]".
           STOP RUN.

 

The fact is that IDAEFT01 runs and receive the right parameters, but it doesn't execute the rexx test.

Anybody knows what is missing??

 

Thank you in advance.


#EnterpriseDeveloper

Hi Frits,

thank you for your early response,

The product is MF Enterprise Studio 6 SP2 WP1.

I've tried whitout alias:

//TESTIKJ EXEC PGM=IKJEFT,PARM=''" ...

but i've got the same result, IDAEFT01 is called but it doesn't execute the rexx:

The output is (SYSPRINT):

Micro Focus ESMVS/TSO Version 6.2.100. Copyright (C) 1997-2011 Micro Focus (IP) Limited. All rights reserved.                        

  %TEST

(here should place the rexx output, but it doesn't execute)

Cheers.


Dominique Sacre
Forum|alt.badge.img+2

Hi to all,

Has anyone ever tried to call IDAEFT01 (MF alias for IKJEFT01) from a Cobol?

I was trying to make a simple test as, call Cobol from JCL with params to invoke REXX through IDAEFT01:

Server configuration:

ALIAS-> IKJEFT01 to IKJEFT (cobol module home made).

'LIBRAR.REXX(TEST)' catalogued

 

JCL step:

//TESTIKJ EXEC PGM=IKJEFT01,
//         PARM=''                                                     
//SYSPRINT DD SYSOUT=C                                                         
//SYSOUT   DD SYSOUT=C                                                         
//SYSTSPRT DD SYSOUT=C                                                         
//SYSPROC  DD DSN=LIBRAR.REXX,
//         DISP=SHR                                                            
//SYSTSIN  DD *
%TEST
/*
//

LIBRAR.REXX(TEST) member:

/* REXX  */                                                                    
trace "0"
say 'hello i'm test rexx'
ADDRESS TSO
"ALLOC FI(IN) DSN("IKJEFT.TEST") NEW SPACE(90,90) RECFM(FB) BLKSIZE(90)"

 

 

Cobol IKJEFT (compiled with charset(ascii)):

       identification division.
       program-id. IKJEFT.

       environment division.
       configuration section.

       data division.
       working-storage section.        
        01 PARM2.
           03 PARM2-LENGTH         PIC 9(4) COMP.
           03 PARM2-ARGS           PIC X(100).          
       linkage section.
        01 PARM.
           03 PARM-LENGTH         PIC 9(4) COMP.
           03 PARM-ARGS           PIC X(100).

       procedure division using PARM.
          
           DISPLAY "[IKJEFT][START]".
           DISPLAY "[IKJEFT][ARGS]-" PARM-ARGS.
           MOVE PARM-LENGTH TO PARM2-LENGTH.
           MOVE PARM-ARGS TO PARM2-ARGS.
           DISPLAY "[IKJEFT][CALL]--call to IDAEFT01".
           CALL 'IDAEFT01' USING PARM2.
           DISPLAY "[IKJEFT][END]".
           STOP RUN.

 

The fact is that IDAEFT01 runs and receive the right parameters, but it doesn't execute the rexx test.

Anybody knows what is missing??

 

Thank you in advance.


#EnterpriseDeveloper

Hi Frits,

thank you for your early response,

The product is MF Enterprise Studio 6 SP2 WP1.

I've tried whitout alias:

//TESTIKJ EXEC PGM=IKJEFT,PARM=''" ...

but i've got the same result, IDAEFT01 is called but it doesn't execute the rexx:

The output is (SYSPRINT):

Micro Focus ESMVS/TSO Version 6.2.100. Copyright (C) 1997-2011 Micro Focus (IP) Limited. All rights reserved.                        

  %TEST

(here should place the rexx output, but it doesn't execute)

Cheers.


  • July 17, 2012

Hi to all,

Has anyone ever tried to call IDAEFT01 (MF alias for IKJEFT01) from a Cobol?

I was trying to make a simple test as, call Cobol from JCL with params to invoke REXX through IDAEFT01:

Server configuration:

ALIAS-> IKJEFT01 to IKJEFT (cobol module home made).

'LIBRAR.REXX(TEST)' catalogued

 

JCL step:

//TESTIKJ EXEC PGM=IKJEFT01,
//         PARM=''                                                     
//SYSPRINT DD SYSOUT=C                                                         
//SYSOUT   DD SYSOUT=C                                                         
//SYSTSPRT DD SYSOUT=C                                                         
//SYSPROC  DD DSN=LIBRAR.REXX,
//         DISP=SHR                                                            
//SYSTSIN  DD *
%TEST
/*
//

LIBRAR.REXX(TEST) member:

/* REXX  */                                                                    
trace "0"
say 'hello i'm test rexx'
ADDRESS TSO
"ALLOC FI(IN) DSN("IKJEFT.TEST") NEW SPACE(90,90) RECFM(FB) BLKSIZE(90)"

 

 

Cobol IKJEFT (compiled with charset(ascii)):

       identification division.
       program-id. IKJEFT.

       environment division.
       configuration section.

       data division.
       working-storage section.        
        01 PARM2.
           03 PARM2-LENGTH         PIC 9(4) COMP.
           03 PARM2-ARGS           PIC X(100).          
       linkage section.
        01 PARM.
           03 PARM-LENGTH         PIC 9(4) COMP.
           03 PARM-ARGS           PIC X(100).

       procedure division using PARM.
          
           DISPLAY "[IKJEFT][START]".
           DISPLAY "[IKJEFT][ARGS]-" PARM-ARGS.
           MOVE PARM-LENGTH TO PARM2-LENGTH.
           MOVE PARM-ARGS TO PARM2-ARGS.
           DISPLAY "[IKJEFT][CALL]--call to IDAEFT01".
           CALL 'IDAEFT01' USING PARM2.
           DISPLAY "[IKJEFT][END]".
           STOP RUN.

 

The fact is that IDAEFT01 runs and receive the right parameters, but it doesn't execute the rexx test.

Anybody knows what is missing??

 

Thank you in advance.


#EnterpriseDeveloper

Hi Carlos,

The Alias is used to determine if the subsystem is TSO.

So you will have to restore the original for

ALIAS-> IKJEFT01 to IKJEFT (cobol module home made).

If the subsystem is not determined, the output of the REXX / CLIST will go to the JBOLOG.

Groeten,

Frits


Dominique Sacre
Forum|alt.badge.img+2

Hi to all,

Has anyone ever tried to call IDAEFT01 (MF alias for IKJEFT01) from a Cobol?

I was trying to make a simple test as, call Cobol from JCL with params to invoke REXX through IDAEFT01:

Server configuration:

ALIAS-> IKJEFT01 to IKJEFT (cobol module home made).

'LIBRAR.REXX(TEST)' catalogued

 

JCL step:

//TESTIKJ EXEC PGM=IKJEFT01,
//         PARM=''                                                     
//SYSPRINT DD SYSOUT=C                                                         
//SYSOUT   DD SYSOUT=C                                                         
//SYSTSPRT DD SYSOUT=C                                                         
//SYSPROC  DD DSN=LIBRAR.REXX,
//         DISP=SHR                                                            
//SYSTSIN  DD *
%TEST
/*
//

LIBRAR.REXX(TEST) member:

/* REXX  */                                                                    
trace "0"
say 'hello i'm test rexx'
ADDRESS TSO
"ALLOC FI(IN) DSN("IKJEFT.TEST") NEW SPACE(90,90) RECFM(FB) BLKSIZE(90)"

 

 

Cobol IKJEFT (compiled with charset(ascii)):

       identification division.
       program-id. IKJEFT.

       environment division.
       configuration section.

       data division.
       working-storage section.        
        01 PARM2.
           03 PARM2-LENGTH         PIC 9(4) COMP.
           03 PARM2-ARGS           PIC X(100).          
       linkage section.
        01 PARM.
           03 PARM-LENGTH         PIC 9(4) COMP.
           03 PARM-ARGS           PIC X(100).

       procedure division using PARM.
          
           DISPLAY "[IKJEFT][START]".
           DISPLAY "[IKJEFT][ARGS]-" PARM-ARGS.
           MOVE PARM-LENGTH TO PARM2-LENGTH.
           MOVE PARM-ARGS TO PARM2-ARGS.
           DISPLAY "[IKJEFT][CALL]--call to IDAEFT01".
           CALL 'IDAEFT01' USING PARM2.
           DISPLAY "[IKJEFT][END]".
           STOP RUN.

 

The fact is that IDAEFT01 runs and receive the right parameters, but it doesn't execute the rexx test.

Anybody knows what is missing??

 

Thank you in advance.


#EnterpriseDeveloper

Hi Frits,

Thank you for you response,

it doesn't seem  a problem of output log, because also in the rexx source, there is a creation of a file "IKJEFT.TEST" and after the execution the dataset does not appear in the catalog.

Kind regards,

Carlos.


Dominique Sacre
Forum|alt.badge.img+2

Hi to all,

Has anyone ever tried to call IDAEFT01 (MF alias for IKJEFT01) from a Cobol?

I was trying to make a simple test as, call Cobol from JCL with params to invoke REXX through IDAEFT01:

Server configuration:

ALIAS-> IKJEFT01 to IKJEFT (cobol module home made).

'LIBRAR.REXX(TEST)' catalogued

 

JCL step:

//TESTIKJ EXEC PGM=IKJEFT01,
//         PARM=''                                                     
//SYSPRINT DD SYSOUT=C                                                         
//SYSOUT   DD SYSOUT=C                                                         
//SYSTSPRT DD SYSOUT=C                                                         
//SYSPROC  DD DSN=LIBRAR.REXX,
//         DISP=SHR                                                            
//SYSTSIN  DD *
%TEST
/*
//

LIBRAR.REXX(TEST) member:

/* REXX  */                                                                    
trace "0"
say 'hello i'm test rexx'
ADDRESS TSO
"ALLOC FI(IN) DSN("IKJEFT.TEST") NEW SPACE(90,90) RECFM(FB) BLKSIZE(90)"

 

 

Cobol IKJEFT (compiled with charset(ascii)):

       identification division.
       program-id. IKJEFT.

       environment division.
       configuration section.

       data division.
       working-storage section.        
        01 PARM2.
           03 PARM2-LENGTH         PIC 9(4) COMP.
           03 PARM2-ARGS           PIC X(100).          
       linkage section.
        01 PARM.
           03 PARM-LENGTH         PIC 9(4) COMP.
           03 PARM-ARGS           PIC X(100).

       procedure division using PARM.
          
           DISPLAY "[IKJEFT][START]".
           DISPLAY "[IKJEFT][ARGS]-" PARM-ARGS.
           MOVE PARM-LENGTH TO PARM2-LENGTH.
           MOVE PARM-ARGS TO PARM2-ARGS.
           DISPLAY "[IKJEFT][CALL]--call to IDAEFT01".
           CALL 'IDAEFT01' USING PARM2.
           DISPLAY "[IKJEFT][END]".
           STOP RUN.

 

The fact is that IDAEFT01 runs and receive the right parameters, but it doesn't execute the rexx test.

Anybody knows what is missing??

 

Thank you in advance.


#EnterpriseDeveloper

Hi Frits,

Thank you for you response,

it doesn't seem  a problem of output log, because also in the rexx source, there is a creation of a file "IKJEFT.TEST" and after the execution the dataset does not appear in the catalog.

Kind regards,

Carlos.