1. I am trying to pass value of an variable, from panel to rexx program, the main issue is the leading and trailing spaces are removed, we are getting only the data item,
ex: 33 . (exclude . )
in this sinario we need to get length of that field as 6(2 for leading and 2 for trailing spaces) but i am getting only 2 bytes as length, can any one can help in this
Basically they are either decimalised abend codes or
indicate a problem with the environment.
On the command line in the editor, just use the name of the
macro and list the paramters behind it. E.g. if you have a
macro called FINDALL and it expects 3 parameters you would
specify in the commandline: FINDIT parm1 parm2 parm3
When you code the MACRO the first line should be like:
Address ISREDIT "MACRO (parm1 , parm2, parm3)".
Since you are working with REXX you could have used:
Address ISREDIT "MACRO ( parm )"
You then parse the parm like this:
Parse (UPPER) Arg parm parm1 parm2 parm3
REXX doesn't have support to DB2. But still you can access
it thru some TSO CPs. One of the commercial CP is
REXXTOOLS/MVS. If your shop has that s/w installed you
could able to access DB2.
5. I want to code a REXX Program in order to load many tables in a database simultaneously in a batch fashion. Currently batch codes ar available in which only one job is submitted at a time and this loads only one table. My requirement is that many tables should be loaded at a time when one Job is submitted and can this be done using REXX Tool?
Not exactly sure what you are asking.
Can a REXX exec submit multiple jobs via the internal
Can you update multiple tables in a RDBMS? Yes, however
referential integrity could be compromised and RDBMS
overhead could be a serious issue.
Let's assume that you have that you are seeking to load DB
tables from a 100K+ 1NF file which has some 6257 bytes per
recode You would use REXX (CMSPIPES) to split the file while
keeping a common key. You would split this 1nf record in 3nf
tables. You would need to know the data and some aspects on
how it will be used --- Remember Data Privacy is important too.
6. Suppose If there are a set of statements and each has a word "value" in it, If I want to display all these statements so that the word "value" is aligned, then how do
I code this in REXX.
e.g - The value of X is Y.
Wot is its value?
Do u know its value?
I want to know its value?
"ALLOC DD(INP1) DA('input-dataset') SHR REUS"
"EXECIO * DISKR INP1 (STEM IN1. FINIS"
MAX_OFFSET = 0
INP_OFFSET = 0
DO I = 1 TO IN1.0
PARSE UPPER VAR IN1.I INP
INP_OFFSET = POS("VALUE",INP)
IF INP_OFFSET > MAX_OFFSET THEN
MAX_OFFSET = INP_OFFSET
DO I = 1 TO IN1.0
PARSE UPPER VAR IN1.I INP
Z = POS("VALUE",INP)
SAY LEFT(SUBSTR(IN1.I,1,(Z - 1)),(MAX_OFFSET - 1))||,
7. How to code rexx in jcl to read in a lpar
cpu usage file and select 1. date, time 2. some system names 3. cpu usage for each system. The input file has hourly reporting. The output file (CSV)is for excel use. Run in batch mode. Output in FB?
to get the system time and date , u can use following code
time = time()
date = date()
You must turn on ISPEXEC Address.
Address ISPEXEC "EDIT dataset(xx) macro(mmm)"
If you know the ddnames of the files being used, then you
can get the infor via the LISTDSI function.
rc = LISTDSI( ddname "FILE")
If the rc = 0 then the dsname is in de variable SYSDSNAME.
If you do not know the ddnames of the files allocated to
your program, you can get the information via TSO with:
Address TSO "LISTA" or Address TSO "LISTA STATUS"
Set up OUTTRAP first so you can capture the output and via
REXX scroll through it.
The difference between LISTA and LISTA STATUS is that LISTA
will only give the datasetnames of all allocated datasets.
LISTA STATUS will give you the ddname followed by all
datasets that are allocated to the ddname for all the
Make sure the Exec starts with the /* REXX */ comment.
TSO EXEC 'hlq.your.dsn(member)' runs Rexx in exactly the
same way as it would a CLIST.
TSO EX yourlib(member) E uses a suffix of EXEC and the TSO
profile prefix to form a full DSN
The SYSEXEC concatenation can be used to run execs using
TSO execname. The SYSPROC concatenation will do just as
well, but is really intended for CLISTS.
TSO %execname parameter_string allows you to pass a
parameter string to the exec, note that this string is only
a single argument, not multiple arguments as can be used
when calling from within an exec. The '%' instructs TSO to
not use loadlib concatenations when constructing the search
For running Rexx in batch:
Create a batch environment for the Exec to run in with
PGM=IRXJCL, PGM=IKJEFT01 or PGM=IKJEFT1B
IRXJCL is a straight batch environment
IKJEFT01 and IKJEFT1B are the TSO in batch programs.
Put the Rexx exec libraries in the SYSEXEC DD
Call your exec via the PARM='yourprog' or as input in the