|
Jay,
This is a copy of the working-storage area that I use.
Since it's a pointer to a character string, I use the
same length as the charaacter-string being scanned.
Since the pattern length cannot be longer than
the string being scanned it standsto reason that the
character-pattern must be <= the string size (IMO).
Hope this helps
Terry
*---------------------------------------------------------------*
* Parameter area for QCLSCAN *
*---------------------------------------------------------------*
* Define longest string you intend to scan
* and move it to here
01 character-string pic x(112) value spaces.
* Set this to the length of string that
* you placed in character-string
01 string-len pic s9(3) value +112 comp-3.
* Set this to the position you want to
* start scanning for a pattern
01 start-pos pic s9(3) value +1 comp-3.
* define longest pattern you intend to use
* and move the pattern here
01 character-pattern pic x(112) value spaces.
* Set this to the length of the pattern
* you placed in character-pattern
01 pattern-len pic s9(3) value +0 comp-3.
* Set this to "1" to translate your
* character-string to Upper case first
* -before- the scan begins
01 translate-char pic x(1) value '1'.
* Set this to "1" to trim all trailing
* blanks from character-string -before-
* the scan begins
01 trim-blanks pic x(1) value '1'.
* Set this to a "wildcard" value contained
* in your pattern, to avoid mis-matches
01 wildcard-char pic x(1) value space.
* Set by QCLSCAN to a value as follows:
* Set by QCLSCAN to a value as follows:
* --> GT 0 = Position in the string
* --> 0 = Pattern not found
* --> -1 = Pattern longer than string
* --> -2 = Pattern length is LT 1
* --> -3 = 1st char in pattern is a
* wildcard character
* --> -4 = Pattern is blank and the
* trim-blanks is a 1
* --> -5 = Starting position not valid
01 return-result pic s9(3) value +0 comp-3.
call 'QCLSCAN' using character-string
string-len
start-pos
character-pattern
pattern-len
translate-char
trim-blanks
wildcard-char
return-result
if return-result < +1
Perform action for a No-Find condition
end-if
> -----Original Message-----
> From:
> cobol400-l-bounces+terry.winchester=raymondcorp.com@xxxxxxxxxx
> om
> [mailto:cobol400-l-bounces+terry.winchester=raymondcorp.com@mi
> drange.com] On Behalf Of Jay Sulzmann
> Sent: Monday, August 16, 2004 10:15 AM
> To: COBOL Programming on the iSeries/AS400
> Subject: Re: [COBOL400-L] Green-screen search argument
>
>
> Terry,
>
> According to IBM's documentation, maximum length of
> field-to-be-scanned
> (parameter 1) is 999. Got that.
> What is the maximum length of the pattern argument (parameter 4)?
>
> Thanks -- Jay
>
> ----- Original Message -----
> From: "Winchester Terry" <terry.winchester@xxxxxxxxxxxxxxx>
> To: "'COBOL Programming on the iSeries/AS400'"
> <cobol400-l@xxxxxxxxxxxx>
> Sent: Monday, August 16, 2004 9:57 AM
> Subject: RE: [COBOL400-L] Green-screen search argument
>
>
> > Another option would be to call the QCLSCAN API.
> >
> > > -----Original Message-----
> > > From: cobol400-l-bounces@xxxxxxxxxxxx
> > > [mailto:cobol400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jay Sulzmann
> > > Sent: Monday, August 16, 2004 9:43 AM
> > > To: COBOL Programming on the iSeries/AS400
> > > Subject: [COBOL400-L] Green-screen search argument
> > >
> > >
> > > Good morning,
> > >
> > > Suppose in a subfile app I want to list only the entries that
> > > contain a specific string value and filter out all others.
> > > For example, I want to list only the customers that have
> > > "JOHN" in their name.
> > >
> > > The search-argument is "JOHN" and the application needs to
> > > display "JOHN SMITH", "BIG-JOHN", "SALLY JOHNSON". Suppose
> > > the Customer Name is 30 bytes long. How do I construct an
> > > INSPECT operation so that it looks at the customer name for
> > > the string "JOHN" without including the 26 blanks?
> > >
> > > Cheers. -- Jay
> > >
> > > =================================
> > > Jay Sulzmann
> > > AS/400 Senior Programmer/Analyst
> > > AS/400 Certified RPG IV Developer
> > >
> > > Hainey Business Systems LLC
> > > 8 East Canal Street
> > > Dover, PA 17315
> > >
> > > Tel: 717-718-9601 Ext. 231
> > > Fax: 717-292-9474
> > > AIM: bluejay0827
> > > Web: www.hbs-inc.com
> > > ____________________________________
> > > Providing E-Business, EDI, AS/400
> > > Development and related services nationwide.
> > > _______________________________________________
> > > This is the COBOL Programming on the iSeries/AS400
> > > (COBOL400-L) mailing list
> > > To post a message email: COBOL400-L@xxxxxxxxxxxx
> > > To subscribe, unsubscribe, or change list options,
> > > visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
> > > or email: COBOL400-L-request@xxxxxxxxxxxx
> > > Before posting, please take a moment to review the archives
> > > at http://archive.midrange.com/cobol400-l.
> > >
> > _______________________________________________
> > This is the COBOL Programming on the iSeries/AS400
> (COBOL400-L) mailing
> list
> > To post a message email: COBOL400-L@xxxxxxxxxxxx
> > To subscribe, unsubscribe, or change list options,
> > visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
> > or email: COBOL400-L-request@xxxxxxxxxxxx
> > Before posting, please take a moment to review the archives
> > at http://archive.midrange.com/cobol400-l.
> >
> >
>
>
> _______________________________________________
> This is the COBOL Programming on the iSeries/AS400
> (COBOL400-L) mailing list
> To post a message email: COBOL400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
> or email: COBOL400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/cobol400-l.
>
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.