🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: bit.listserv.tsorexx
11 messages
11 total messages Started by Steve Thompson Tue, 29 Jan 2013 18:38
Copy of Source from HFS to MVS
#300
Author: Steve Thompson
Date: Tue, 29 Jan 2013 18:38
36 lines
2122 bytes
[Xposted to TSO-REXX & MVS-OE]

I have been attempting to copy a source file from hfs to an MVS PDS.

ocopy completes giving an error message about a record being longer than
the lrecl.

Ok, I understand this. But, ocopy was also to do ASCII to EBCDIC (1047)
translation (C++ source).

What I get is total gibberish that looks just like what is shown by the
browser under ISPF shell.

Here is the REXX statement:

"OCOPY INDD(SYSUT1) OUTDD(SYSUT2) TEXT TO1047 PATHOPTS(USE) CONVERT(YES)"

Here is the ALLOC info:

ALLOC ....  PATHOPTS(ORDONLY) FILEDATA(TEXT)

The file in question shows to be a "plain" file, not an archive.

So, anyone have an idea what I could be running into? Or, a better way to
do this?

Understand, this is a tool EXEC that is obtaining various source files for
compile purposes, so it picks up various sources and puts them into the
corresponding PDSes.

Regards,
Steve Thompson

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
Re: Copy of Source from HFS to MVS
#301
Author: Steve Comstock
Date: Tue, 29 Jan 2013 19:09
61 lines
2781 bytes
On 1/29/2013 11:12 AM, Steve Thompson wrote:
> [Xposted to TSO-REXX & MVS-OE]
>
> I have been attempting to copy a source file from hfs to an MVS PDS.
>
> ocopy completes giving an error message about a record being longer than
> the lrecl.
>
> Ok, I understand this. But, ocopy was also to do ASCII to EBCDIC (1047)
> translation (C++ source).
>
> What I get is total gibberish that looks just like what is shown by the
> browser under ISPF shell.
>
> Here is the REXX statement:
>
> "OCOPY INDD(SYSUT1) OUTDD(SYSUT2) TEXT TO1047 PATHOPTS(USE) CONVERT(YES)"


Just a hunch: try specifying CONVERT as: CONVERT((BPXFX311))

>
> Here is the ALLOC info:
>
> ALLOC ....  PATHOPTS(ORDONLY) FILEDATA(TEXT)
>
> The file in question shows to be a "plain" file, not an archive.
>
> So, anyone have an idea what I could be running into? Or, a better way to
> do this?
>
> Understand, this is a tool EXEC that is obtaining various source files for
> compile purposes, so it picks up various sources and puts them into the
> corresponding PDSes.
>
> Regards,
> Steve Thompson
>



--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-355-2752
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
   + Training your people is an excellent investment

* Try our tool for calculating your Return On Investment
     for training dollars at
   http://www.trainersfriend.com/ROI/roi.html

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
Re: Copy of Source from HFS to MVS
#302
Author: Steve Comstock
Date: Tue, 29 Jan 2013 20:09
73 lines
3366 bytes
On 1/29/2013 12:27 PM, Steve Thompson wrote:
> From:   Steve Comstock <steve@TRAINERSFRIEND.COM>
> Date:   01/29/2013 01:12 PM
>
>
>
> On 1/29/2013 11:12 AM, Steve Thompson wrote:
>> [Xposted to TSO-REXX & MVS-OE]
>>
> <SNIPPAGE>
>> Here is the REXX statement:
>>
>> "OCOPY INDD(SYSUT1) OUTDD(SYSUT2) TEXT TO1047 PATHOPTS(USE)
> CONVERT(YES)"
>
>
> Just a hunch: try specifying CONVERT as: CONVERT((BPXFX311))
>
> <SNIPPAGE>
>
> Thank you Steve. As I read the doc I have up, what I have is supposed to
> work on a non-customized system (this system is supposed to be as shipped
> by IBM).

Not sure what you mean by that. The z/OS UNIX System Services Command Reference
doc, in chapter 3 (TSO/E Commands), under the OCOPY command, under
character_conversion_table the last entry is BPXFX311; this is standard,
as shipped by IBM.

<ad>
Or, of course, one could sign up for our three day course
"Introduction to z/OS UNIX" which includes this discussion
and a lot more.

Check out

   http://www.trainersfriend.com/UNIX_and_Web_courses/u510descr.htm

</ad>


>
> Making that change, this worked and the PDS member is readable.
>
> Regards,
> Steve Thompson
>
> ----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access instructions,
> send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
>


--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-355-2752
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
   + Training your people is an excellent investment

* Try our tool for calculating your Return On Investment
     for training dollars at
   http://www.trainersfriend.com/ROI/roi.html

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
Re: Copy of Source from HFS to MVS
#303
Author: Steve Thompson
Date: Tue, 29 Jan 2013 20:33
45 lines
2809 bytes
From:   Steve Comstock <steve@TRAINERSFRIEND.COM>
Date:   01/29/2013 02:11 PM


On 1/29/2013 12:27 PM, Steve Thompson wrote:
> From:   Steve Comstock <steve@TRAINERSFRIEND.COM>
> Date:   01/29/2013 01:12 PM
<SNIPPAGE>

Not sure what you mean by that. The z/OS UNIX System Services Command
Reference
doc, in chapter 3 (TSO/E Commands), under the OCOPY command, under
character_conversion_table the last entry is BPXFX311; this is standard,
as shipped by IBM.

<SNIP>

Well, when I read that doc, the following things were what I was paying
attention to, which gave me the idea that "YES" was going to do what
CONVERT((BPXFX311)) accomplished.

YES
Specifies that the system is to perform conversion and use the default
conversion table (BPXFX000) in the system library concatenation.
(BPXFX000 is an alias; when shipped by IBM, it points to BPXFX111.)

p  865

--------------------


* The character conversion table is the default table, member BPXFX000 of
the
SYS1.BPXLATE data set. (BPXFX000 is an alias; when shipped by IBM, it
points to BPXFX111.)

p. 867,  z/OS V1R12.0 UNIX System Services Command Reference, Chapter 3.
TSO/E commands

Regards,
Steve Thompson

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
Re: Copy of Source from HFS to MVS
#304
Author: Steve Thompson
Date: Tue, 29 Jan 2013 21:29
31 lines
1948 bytes
From:   Steve Comstock <steve@TRAINERSFRIEND.COM>
Date:   01/29/2013 01:12 PM



On 1/29/2013 11:12 AM, Steve Thompson wrote:
> [Xposted to TSO-REXX & MVS-OE]
>
<SNIPPAGE>
> Here is the REXX statement:
>
> "OCOPY INDD(SYSUT1) OUTDD(SYSUT2) TEXT TO1047 PATHOPTS(USE)
CONVERT(YES)"


Just a hunch: try specifying CONVERT as: CONVERT((BPXFX311))

<SNIPPAGE>

Thank you Steve. As I read the doc I have up, what I have is supposed to
work on a non-customized system (this system is supposed to be as shipped
by IBM).

Making that change, this worked and the PDS member is readable.

Regards,
Steve Thompson

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
Generic string check
#306
Author: Ken MacKenzie
Date: Thu, 31 Jan 2013 10:41
34 lines
2619 bytes
Hi All,

I'm looking to see if anyone has any suggestions on making this as
efficient as possible.

I want to check a field against a string that start with a certain number
of characters, followed by a certain number of  unknown characters, then a
certain number of known characters.  For example, IGY%%%%%%%W.

At the moment I'm doing:
/* LS is the field to be searched */
/* TEXT is the search string      */

Do i = 1 To Length(text)
  If Substr(text, i, 1) = '%' Then
    ls = Overlay('%', ls, i, 1)
End
If ls = text.i Then
  /* do stuff */

I also want to introduce a search for an unknown number of unknown
characters, for example, IGY*W - oh for regular expressions in REXX!

Ken MacKenzie
Pramerica Systems Ireland Limited
is a private company limited by shares
incorporated and registered in the Republic of Ireland with registered
number 319900
and registered office at 6th Floor, South Bank House, Barrow Street,
Dublin 4, Ireland.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
Re: Generic string check
#307
Author: Itschak Mugzach
Date: Thu, 31 Jan 2013 10:58
49 lines
3373 bytes
Why don't you check for the characters you know, instead the once you
don't? Try  POS:
If ((Pos(Substr(Text,1,3),Ls) = 1) & Pos(Substr(Text,?,1) ,ls) = 9)) then do

Itschak


On Thu, Jan 31, 2013 at 12:40 PM, Ken MacKenzie
<Ken.MacKenzie@pramerica.ie>wrote:

> Hi All,
>
> I'm looking to see if anyone has any suggestions on making this as
> efficient as possible.
>
> I want to check a field against a string that start with a certain number
> of characters, followed by a certain number of  unknown characters, then a
> certain number of known characters.  For example, IGY%%%%%%%W.
>
> At the moment I'm doing:
> /* LS is the field to be searched */
> /* TEXT is the search string      */
>
> Do i = 1 To Length(text)
>   If Substr(text, i, 1) = '%' Then
>     ls = Overlay('%', ls, i, 1)
> End
> If ls = text.i Then
>   /* do stuff */
>
> I also want to introduce a search for an unknown number of unknown
> characters, for example, IGY*W - oh for regular expressions in REXX!
>
> Ken MacKenzie
> Pramerica Systems Ireland Limited
> is a private company limited by shares
> incorporated and registered in the Republic of Ireland with registered
> number 319900
> and registered office at 6th Floor, South Bank House, Barrow Street,
> Dublin 4, Ireland.
>
> ----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access instructions,
> send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
>

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
Re: Generic string check
#308
Author: Adrian Stern
Date: Thu, 31 Jan 2013 11:11
56 lines
3675 bytes
If the leading and trailing characters are known you can use the parse verb

Parse var <string> <token> variable <token>

After parsing the variable will contain whatever occurred between the two
tokens.

Searching cannot be done on <token> variable <token>
Depending on the size of the file to be searched different techniques will
be suitable. Are we talking gigabytes or kilobytes?

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-REXX@VM.MARIST.EDU] On Behalf Of
Ken MacKenzie
Sent: den 31 januari 2013 11:40
To: TSO-REXX@VM.MARIST.EDU
Subject: [TSO-REXX] Generic string check

Hi All,

I'm looking to see if anyone has any suggestions on making this as
efficient as possible.

I want to check a field against a string that start with a certain number
of characters, followed by a certain number of  unknown characters, then a
certain number of known characters.  For example, IGY%%%%%%%W.

At the moment I'm doing:
/* LS is the field to be searched */
/* TEXT is the search string      */

Do i = 1 To Length(text)
  If Substr(text, i, 1) = '%' Then
    ls = Overlay('%', ls, i, 1)
End
If ls = text.i Then
  /* do stuff */

I also want to introduce a search for an unknown number of unknown
characters, for example, IGY*W - oh for regular expressions in REXX!

Ken MacKenzie
Pramerica Systems Ireland Limited
is a private company limited by shares
incorporated and registered in the Republic of Ireland with registered
number 319900
and registered office at 6th Floor, South Bank House, Barrow Street,
Dublin 4, Ireland.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
Re: Generic string check
#309
Author: John P Kalinich
Date: Thu, 31 Jan 2013 13:20
75 lines
3721 bytes
I have 3 Rexx functions that mimic the member group parsing (: / *) used in
the PDS command (CBT file 182).  For example, if IGY*W was the pat argument
value, then using that argument against each member name of IGY.SIGYCOMP
would yield the following matches: IGYCRWT and IGY8RWTU.

Regards,
John K


Select
  When Pos("*",pat) > 0 Then       /* Match, save in list */
    If Match_wildcard(member,pat) Then
      Do
        pds2name.ctr = member
        ctr = ctr + 1
      End
. . .

Match_wildcard: Parse Arg mem, pat

Parse Var pat pat1 "*" pat2
len1 = length(pat1)
len2 = length(pat2)
If Left(mem,len1) = pat1 &,
  (Pos(pat2,mem,len1+1) > 0 | len2 = 0) Then Return 1
Else Return 0



From:	Ken MacKenzie <Ken.MacKenzie@PRAMERICA.IE>
To:	TSO-REXX@vm.marist.edu
Date:	01/31/2013 04:42 AM
Subject:	[TSO-REXX] Generic string check
Sent by:	TSO REXX Discussion List <TSO-REXX@vm.marist.edu>



Hi All,

I'm looking to see if anyone has any suggestions on making this as
efficient as possible.

I want to check a field against a string that start with a certain number
of characters, followed by a certain number of  unknown characters, then a
certain number of known characters.  For example, IGY%%%%%%%W.

At the moment I'm doing:
/* LS is the field to be searched */
/* TEXT is the search string      */

Do i = 1 To Length(text)
  If Substr(text, i, 1) = '%' Then
    ls = Overlay('%', ls, i, 1)
End
If ls = text.i Then
  /* do stuff */

I also want to introduce a search for an unknown number of unknown
characters, for example, IGY*W - oh for regular expressions in REXX!

Ken MacKenzie
Pramerica Systems Ireland Limited
is a private company limited by shares
incorporated and registered in the Republic of Ireland with registered
number 319900
and registered office at 6th Floor, South Bank House, Barrow Street,
Dublin 4, Ireland.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
Re: Generic string check
#425
Author: Pete Hartung
Date: Sat, 16 Feb 2013 01:38
99 lines
7075 bytes
One more try

/* REXX StringCk */                                    
/* does string contain mask? */                        
String = 'the quick brown fox jumps over the lazy dog' 
Mask.1 = '%%E%*%%%%%BROWN'                             
Mask.2 = '*QUICK*F%X'                                  
Mask.3 = 'THE%Q%*%**BR%%%'                             
Mask.4 = 'THE*BROWN'                                   
Mask.5 = 'THE*BRxWN'                                   
Mask.6 = 'THE*BROWN*F%%'                               
Mask.7 = '*FOX*'                                       
Mask.8 = '*F%X*'                                       
MASK.9 = '*F%*%MP*'                                    
MASK.10= 'T*E LAZY DOG'                                
MASK.11= '*O%E'                                        
Do m = 1  to 11                                        
  If StringCK(string,mask.m) then say Mask.m 'Found'   
  else say Mask.m 'NOT found'                          
End                                                    
exit 0                                                 
                                                       
StringCK:                                              
  Arg stringx,maskx                                                      
  Tx1 = word(strip(translate(maskx,'  ','%*'),L),1)                      
  Pap = pos('*',maskx)                                                   
  Do while Pap > 0                                                       
    If substr(maskx,Pap+1,1) = '%' | substr(maskx,Pap+1,1) = '*' then Do 
      maskx = substr(maskx,1,Pap-1)||'%*'||substr(maskx,Pap+2)           
      Pap = Pap - 1                                                      
    End                                                                  
    Pap = pos('*',maskx,Pap+1)                                           
  End                                                                    
  LenMask = length(maskx)                                                
  Ptx = 1                                                                
  Do while Ptx > 0                                                       
    stringx = substr(stringx,Ptx)                                        
    If substr(maskx,1,1) = '%' then Ptx = 1                              
    else Ptx = pos(Tx1,stringx)                                          
    If Ptx = 0 then Return 0                                             
    stringx = substr(stringx,Ptx)                                        
    Ptx = 0                                                              
    i = 1                                                                
    Do j = 1   to length(stringx)                                        
      If i > LenMask then Return 1                                       
      Select                                                 
        when substr(maskx,i,1) = '*' &,                      
          substr(maskx,i+1,1) = substr(stringx,j,1) then Do  
          i=i+2                                              
          If Ptx = 0 then Ptx = j+1                          
        End                                                  
        when substr(maskx,i,1) = '%' |,                      
          substr(maskx,i,1) = substr(stringx,j,1) then i=i+1 
        when substr(maskx,i,1) = '*' then iterate            
        otherwise leave                                      
      End                                                    
    End                                                      
    If i > LenMask then Return 1                             
  End                                                        
Return (i > LenMask)                                         
/* */                                                        


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-REXX@VM.MARIST.EDU] On Behalf Of Ken MacKenzie
Sent: Thursday, January 31, 2013 5:40 AM
To: TSO-REXX@VM.MARIST.EDU
Subject: [TSO-REXX] Generic string check

Hi All,

I'm looking to see if anyone has any suggestions on making this as efficient as possible.

I want to check a field against a string that start with a certain number of characters, followed by a certain number of  unknown characters, then a certain number of known characters.  For example, IGY%%%%%%%W.

At the moment I'm doing:
/* LS is the field to be searched */
/* TEXT is the search string      */

Do i = 1 To Length(text)
  If Substr(text, i, 1) = '%' Then
    ls = Overlay('%', ls, i, 1)
End
If ls = text.i Then
  /* do stuff */

I also want to introduce a search for an unknown number of unknown characters, for example, IGY*W - oh for regular expressions in REXX!

Ken MacKenzie
Pramerica Systems Ireland Limited
is a private company limited by shares
incorporated and registered in the Republic of Ireland with registered number 319900 and registered office at 6th Floor, South Bank House, Barrow Street, Dublin 4, Ireland.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
SV: [TSO-REXX] Generic string check
#426
Author: Thomas Berg
Date: Sat, 16 Feb 2013 01:57
135 lines
11061 bytes
A variant:

/* REXX */                                                              
  String = 'the quick brown fox jumps over the lazy dog'                
  mask.1 = '%%E%%%%%%%BROWN'                                            
  mask.2 = '*QUICK*F%X'                                                 
  mask.3 = 'THE%Q%***%BR%%%*'                                           
  mask.4 = 'THE*BROWN*'                                                 
  mask.5 = 'THE*BRxWN'                                                  
  mask.6 = 'THE*BROWN*F%%'                                              
  mask.7 = '*FOX*'                                                      
  mask.8 = '*F%X*'                                                      
  mask.9 = '*F%*%MP*'                                                   
  mask.10 = '%%e%%**%%%brown'                                           
  mask.11 = '*quick*f%x'                                                
  mask.12 = 'the%q%%%%%br%%%*'                                          
  mask.13 = 'the*brown*'                                                
  mask.14 = 'the*brxwn'                                                 
  mask.15 = 'the*brown*f%%'                                             
  mask.16 = '*fox*'                                                     
  mask.17 = '*f%x*'                                                     
  mask.18 = '*f%*%mp*'                                                  
  mask.19 = 'THE**'                                                     
  mask.20 = '*br*'                                                      
  Say  string                                                           
  Do  m = 1  to 20                                                      
      x1 = Translate(mask.m,'_%','%*')  /* By some reason I switch to DB2 mask chars...*/                                
      If  Mask(x1,string,'A') then say Left(x1,25) 'Found'              
      Else                         say Left(x1,25) 'NOT found'          
      End                                                               
  exit 0                                                                
                                                                        
/*--------------------------------------------------------------------*/
MASK: Procedure                                                         
  uc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ���'                                  
  lc = 'abcdefghijklmnopqrstuvwxyz���'                                  
  nr = '0123456789'                                                     
  Parse Arg mask, string, opt                  
/* Variants of string to upper-, lower or any-case */                         
  If        Abbrev('UPPERCASE',opt,1)    Then ,                       
      string = Translate(string,uc,lc)                                  
   Else If  Abbrev('LOWERCASE',opt,1)    Then ,                         
      string = Translate(string,lc,uc)                                  
   Else If  Abbrev('ANY',opt,1) ! Abbrev('ALL',opt,1)    Then Do        
      string = Translate(string,uc,lc)                                  
      mask   = Translate(mask,uc,lc)                                    
      End                                                               
  x1 = ''                                                               
/*                                                                      
   Normalize the mask:                                                  
*/                                                                      
  Do  i = 1 To Length(mask)                                             
                                                                        
      Do  k = i By 1  While  Substr(mask,k,1) == '_'                    
          End                                                           
                                                                        
/*    If single char and 0-n chars mask is adjacent to each other       
      move 0-n chars mask to after the single char mask */              
      If  k > i & Substr(Reverse(x1),1,1) == '%'    Then Do             
          x1 = Reverse(Substr(Reverse(x1),2)) !! ,                      
            Substr(mask,i,k - i) !! '%'                                 
          i = k - 1                                                     
          End                                                         
       Else Do                                                        
                                                                      
/*        Merge multiple adjacent 0-n chars masks to one occurrence */
          Do  k = i By 1  While  Substr(mask,k,1) == '%'              
              End                                                     
                                                                      
          x1 = x1 !! Substr(mask,i,1)                                 
          If  k > i    Then  i = k - 1                                
          End                                                         
      End                                                             
                                                                      
  mask = x1                                                           
  If  mask == ''    then  Return 0                                    
  lm = Length(mask)                                                   
  ls = Length(string)                                                 
  i = 1                                                               
  j = 1                                                               
  match = 1                                                           
                                                                      
  Do  While  match                                                    
      If  i > lm    Then  m = ''                                      
       Else               m = Substr(mask,i,1)                        
      If  j > ls    Then  s = ''                                      
       Else               s = Substr(string,j,1)                      
      If  s /== ''    Then Do                                         
          If        m == '%'                          Then  Do        
              If  s == Substr(mask,i + 1,1)           Then  ,         
                  i = i + 1                                           
               Else ,                                                 
                  j = j + 1                                           
              End                                                     
           Else If  m == '_'                          Then  Do        
                                                                      
              Do  k = i To lm  While  Substr(mask,k,1) == '_'         
                  End                                                 
                                                                      
              j = j + (k - i)                                         
              If  j > ls                              Then  match = 0 
               Else ,                                                 
                  i = k                                               
              End                                                     
           Else If  m == ''                           Then  Do        
              If  Substr(mask,i - 1,1) == '%'         Then ,          
                  j = j + 1                                           
               Else                                        match = 0  
              End                                                     
           Else If  m == s                            Then  Do        
              i = i + 1                                               
              j = j + 1                                               
              End                                                     
           Else                                             match = 0 
          End                                                         
       Else Do                                                        
          If        m /== '%' & m /== ''              Then  match = 0 
           Else If  m  == '%' & lm > i                Then  match = 0 
           Else                                             Leave     
          End                                                         
      End        
                                                     
END_MASK:         
   Return match    
               


Regards
Thomas Berg
________________________________________________________________
Thomas Berg   Specialist   z/OS/IT Delivery   SWEDBANK AB (Publ)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LISTSERV@VM.MARIST.EDU with the message: INFO TSO-REXX
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads