REXX is not required. Look into IKJEFTSR, the TSO Service Routine. With IKJEFTSR you can issue any command you could issue while sitting at your TSO terminal (including invoking REXX, CLIST, or a program).
Frank Clarke
Tampa Area REXX Programmers' Alliance
REXX Language Assn Listmaster
THANKS FOR YOUR AID. I HAVE PROVEN THIS And IT GIVES BACK An ERROR To ME FROM A COBOL THAT CALLTo A COMMANDO TSO IN BATCH. THE MESSAGE THAT IT GIVES ME IS CODIGO 24 IN DECIMAL. THIS ERROR SAYS TO ME:
24
IKJEFTSR was invoked from a non-TSO/E environment. This service can only be used in a foreground or background TSO/E environment.
* DEFINE OUTPUT RECORD FORM
01 OUT-RECORD.
02 CONTROL-CHAR PICTURE X VALUE SPACE.
02 COMMENT PICTURE X(25).
02 OUT-VALUE PICTURE +++++++++9.
02 FILLER PICTURE X(111) VALUE SPACES.
* DEFINE COMMENT VALUES FOR OUTPUT RECORD FORM
01 RETURN-COMMENT PICTURE X(25) VALUE 'FUNCTION RETURN CODE IS '.
01 REASON-COMMENT PICTURE X(25) VALUE ' TSF REASON CODE IS '.
01 ABEND-COMMENT PICTURE X(25) VALUE 'FUNCTION ABEND CODE IS '.
* DEFINE FLAGS TO BE FULL WORDS WITH APPROPRIATE BITS ON
01 FLAG1-ON PICTURE S9(9) VALUE +16777216 COMP.
01 FLAG2-ON PICTURE S9(9) VALUE +65536 COMP.
01 FLAG3-ON PICTURE S9(9) VALUE +256 COMP.
01 FLAG4-ON PICTURE S9(9) VALUE +2 COMP.
01 FLAG1-OFF PICTURE S9(9) VALUE +0 COMP.
01 FLAG2-OFF PICTURE S9(9) VALUE +0 COMP.
01 FLAG3-OFF PICTURE S9(9) VALUE +0 COMP.
01 FLAG4-OFF PICTURE S9(9) VALUE +1 COMP.
* DEFINE STORAGE FOR PARMS
* PARM1 IS DECIMAL VALUE OF FLAGS
* PARM2 IS COMMAND TEXT
* PARM3 IS COMMAND LENGTH (SET TO 80)
* PARM4 IS FUNCTION RETURN CODE VALUE FROM TSOLNK
* PARM5 IS TSF REASON CODE VALUE FOR ABEND FROM TSOLNK
* PARM6 IS FUNCTION ABEND CODE VALUE FROM TSOLNK
01 PARM1 PICTURE S9(9) COMP.
01 PARM2 PICTURE X(80).
01 PARM3 PICTURE S9(9) VALUE +80 COMP.
01 PARM4 PICTURE S9(9) VALUE +0 COMP.
01 PARM5 PICTURE S9(9) VALUE +0 COMP.
01 PARM6 PICTURE S9(9) VALUE +0 COMP.
PROCEDURE DIVISION.
* MOVE DESIRED COMMAND TO PARM2
READY-COMMAND.
MOVE SPACES TO PARM2.
MOVE 'LISTBC' TO PARM2.
* SET FLAGS BY ADDING APPROPRIATELY VALUED FLAG VARIABLES
READY-FLAGS.
MOVE 0 TO PARM1.
* RESERVED FLAG
ADD FLAG1-OFF TO PARM1.
* RESERVED FLAG
ADD FLAG2-OFF TO PARM1.
* FLAG3-ON TO REQUEST ABEND WITH DUMP
ADD FLAG3-ON TO PARM1.
* FLAG4-OFF TO REQUEST A TSO/E COMMAND (NOT A PROGRAM) BE INVOKED
ADD FLAG4-OFF TO PARM1.
* CALL TSOLNK
CALL-TSOLNK.
CALL 'TSOLNK' USING PARM1 PARM2 PARM3 PARM4 PARM5 PARM6.
* PRINT RESULTS
PRINT-COMMENTS.
OPEN OUTPUT TRMPRT.
* PRINT THE FUNCTION RETURN CODE
MOVE RETURN-COMMENT TO COMMENT.
MOVE PARM4 TO OUT-VALUE.
WRITE OUTREC FROM OUT-RECORD.
* PRINT THE TSF REASON CODE
MOVE REASON-COMMENT TO COMMENT.
MOVE PARM5 TO OUT-VALUE.
WRITE OUTREC FROM OUT-RECORD.
* PRINT THE FUNCTION ABEND CODE
MOVE ABEND-COMMENT TO COMMENT.
MOVE PARM6 TO OUT-VALUE.
WRITE OUTREC FROM OUT-RECORD.
CLOSE TRMPRT.
STOP RUN.
You never, ever, ever do real I/O operations from CICS. The SVC call stops the CICS maintask and effectively disables CICS for all the other users for the duration of the I/O call.
Can you explain more clearly what you need to do (not how you think you should do it), and perhaps we can come up with a better solution.
thanks for your interest. and sorry by my english . I need to mount an application from java to traves of cics to make the maintains of users in racf. I will develop the services in cics and the purpose is to be able to happen you order to mvs to update racf.
java-ctg-cics-rexx
to being possible without executing none process batch or
jaba-ctg-cics-mq-rexx
somebody has proven the interface rexx/cics?
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.