× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



To validate the 15 character field, to check the 1st 4 character for
numeric, you could do this:
01  MISC-AREA.
      05   VNCOMPANY  PIC X(15).
  05 VNCOMPAY-NAME.
     10  VNCOMPANY-ALPHA  PIC X(04).
     10  VNCOMPANY-BLANK  PIC X(11).

MOVE VNCOMPANY(1:4) TO VNCOMPANY-ALPHA.
MOVE VNCOMPAY(5:11) TO VNCOMPANY-BLANK
IF VNCOMPANY-ALPHA IS NUMERIC AND VNCOMPANY-BLANK = SPACES
      (THEN THE 1ST 4 CHARACTERS ARE NUMERIC AND BYTES 5 - 15
       ARE. THIS IS A VALID COMPANY)
-------------------------------------------------------------
OR THE CODE BELOW WILL WORK

IF VNCOMPANY(1:4) IS NUMERIC AND VNCOMPANY(5:11) = SPACES
      (THEN THE 1ST 4 CHARACTERS ARE NUMERIC AND BYTES 5 - 15
       ARE. THIS IS A VALID COMPANY)


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

This is a PRIVATE message. If you are not the intended recipient, please
delete without copying and kindly advise us by e-mail of the mistake in
delivery. NOTE: Regardless of content, this e-mail shall not operate to
bind CSC to any order or other contract unless pursuant to explicit written
agreement or government initiative expressly permitting the use of e-mail
for such purpose.
----------------------------------------------------------------------------------------




|---------+--------------------------->
|         |           cobol400-l-reque|
|         |           st              |
|         |           @midrange.com   |
|         |           Sent by:        |
|         |           cobol400-l-bounc|
|         |           es              |
|         |                           |
|         |                           |
|         |           06/10/2003 12:00|
|         |           PM              |
|         |           Please respond  |
|         |           to cobol400-l   |
|         |                           |
|---------+--------------------------->
  
>---------------------------------------------------------------------------------------------------------------|
  |                                                                             
                                  |
  |        To:      cobol400-l@xxxxxxxxxxxx                                     
                                  |
  |        cc:                                                                  
                                  |
  |        Subject: COBOL400-L Digest, Vol 1, Issue 233                         
                                  |
  
>---------------------------------------------------------------------------------------------------------------|




Send COBOL400-L mailing list submissions to
             cobol400-l@xxxxxxxxxxxx

To subscribe or unsubscribe via the World Wide Web, visit
             http://lists.midrange.com/mailman/listinfo/cobol400-l
or, via email, send a message with subject or body 'help' to
             cobol400-l-request@xxxxxxxxxxxx

You can reach the person managing the list at
             cobol400-l-owner@xxxxxxxxxxxx

When replying, please edit your Subject line so it is more specific
than "Re: Contents of COBOL400-L digest..."


Today's Topics:

   1. Testing for valid numeric in an alpha field (Dan)
   2. R: Testing for valid numeric in an alpha field (Finucci Domenico)
   3. RE: Testing for valid numeric in an alpha field (Jerry Thomas)
   4. RE: Testing for valid numeric in an alpha field (Cousino, Alexis)
   5. RE: Testing for valid numeric in an alpha field (Cousino, Alexis)


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

message: 1
date: Tue, 10 Jun 2003 07:29:30 -0700 (PDT)
from: Dan <dbcerpg@xxxxxxxxx>
subject: Testing for valid numeric in an alpha field

I know how to do this in RPG but not Cobol:

I've got a 15-character alpha that is supposed to contain a 4-digit number
left-justified.  In my
Cobol program, VNCOMPANY is a 15-character alpha field and WS-VND-COMPANY
is a 4-digit numeric.
When I do this:
    MOVE VNCOMPANY TO WS-VND-COMPANY.
and VNCOMPANY contains '40             ', I get a decimal data error.

In RPG, I'd use a MOVEL and a TESTN.  Off the top of my head, the only way
I can see doing this in
Cobol is to check the first four bytes of the field individually to be in
the range of '0' through
'9'.  (Bytes 5-15 would have to be blank for our validation purposes.)

Any suggestions?

TIA, Dan

__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com

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

message: 2
date: Tue, 10 Jun 2003 16:58:10 +0200
from: Finucci Domenico <Domenico.Finucci@xxxxxxxxxxxx>
subject: R: Testing for valid numeric in an alpha field

if YourField NUMERIC

Sincerely

Domenico Finucci
Fiditalia , Milano, 02- 4301-2494


-----Messaggio originale-----
Da: Dan [mailto:dbcerpg@xxxxxxxxx]
Inviato: martedì 10 giugno 2003 16.30
A: cobol400-l@xxxxxxxxxxxx
Oggetto: Testing for valid numeric in an alpha field


I know how to do this in RPG but not Cobol:

I've got a 15-character alpha that is supposed to contain a 4-digit number
left-justified.  In my
Cobol program, VNCOMPANY is a 15-character alpha field and WS-VND-COMPANY
is
a 4-digit numeric.
When I do this:
    MOVE VNCOMPANY TO WS-VND-COMPANY.
and VNCOMPANY contains '40             ', I get a decimal data error.

In RPG, I'd use a MOVEL and a TESTN.  Off the top of my head, the only way
I
can see doing this in
Cobol is to check the first four bytes of the field individually to be in
the range of '0' through
'9'.  (Bytes 5-15 would have to be blank for our validation purposes.)

Any suggestions?

TIA, Dan

__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com
_______________________________________________
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.


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

message: 3
date: Tue, 10 Jun 2003 10:28:06 -0500
from: "Jerry Thomas" <jerryt@xxxxxxxxxxx>
subject: RE: Testing for valid numeric in an alpha field

If you are sure you have numeric data in VNCOMPANY then the below statement
will do what you want.

COMPUTE WS-VND-COMPANY = FUNCTION NUMVAL(VNCOMPANY)

Jerry


-----Original Message-----
From: cobol400-l-bounces@xxxxxxxxxxxx
[mailto:cobol400-l-bounces@xxxxxxxxxxxx]On Behalf Of Dan
Sent: Tuesday, June 10, 2003 9:30 AM
To: cobol400-l@xxxxxxxxxxxx
Subject: Testing for valid numeric in an alpha field

I know how to do this in RPG but not Cobol:

I've got a 15-character alpha that is supposed to contain a 4-digit number
left-justified.  In my
Cobol program, VNCOMPANY is a 15-character alpha field and WS-VND-COMPANY
is
a 4-digit numeric.
When I do this:
    MOVE VNCOMPANY TO WS-VND-COMPANY.
and VNCOMPANY contains '40             ', I get a decimal data error.

In RPG, I'd use a MOVEL and a TESTN.  Off the top of my head, the only way
I
can see doing this in
Cobol is to check the first four bytes of the field individually to be in
the range of '0' through
'9'.  (Bytes 5-15 would have to be blank for our validation purposes.)

Any suggestions?

TIA, Dan

__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com
_______________________________________________
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.


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

message: 4
date: Tue, 10 Jun 2003 11:51:16 -0400
from: "Cousino, Alexis" <acousino@xxxxxxxx>
subject: RE: Testing for valid numeric in an alpha field

Dan,
To prevent a decimal data error when the field does not contain numerics,
redefine the receiving field and test for numerics before performing any
calculations.

05   ws-vnd-company     pic 9(04).
05   ws-vnd-company-x refefines  ws-vnd-company   pic x(04).

MOVE VNCOMPANY TO WS-VND-COMPANY.
if ws-vnd-company-x not numeric
   move zeros to ws-vnd-company.

Alexis Cousino
Detroit Newspapers
acousino@xxxxxxxx


-----Original Message-----
From: Dan [mailto:dbcerpg@xxxxxxxxx]
Sent: Tuesday, June 10, 2003 10:30 AM
To: cobol400-l@xxxxxxxxxxxx
Subject: Testing for valid numeric in an alpha field


I know how to do this in RPG but not Cobol:

I've got a 15-character alpha that is supposed to contain a 4-digit number
left-justified.  In my
Cobol program, VNCOMPANY is a 15-character alpha field and WS-VND-COMPANY
is a 4-digit numeric.
When I do this:
    MOVE VNCOMPANY TO WS-VND-COMPANY.
and VNCOMPANY contains '40             ', I get a decimal data error.

In RPG, I'd use a MOVEL and a TESTN.  Off the top of my head, the only way
I can see doing this in
Cobol is to check the first four bytes of the field individually to be in
the range of '0' through
'9'.  (Bytes 5-15 would have to be blank for our validation purposes.)

Any suggestions?

TIA, Dan

__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com
_______________________________________________
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.



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

message: 5
date: Tue, 10 Jun 2003 11:59:14 -0400
from: "Cousino, Alexis" <acousino@xxxxxxxx>
subject: RE: Testing for valid numeric in an alpha field

Dan,
Oops...
I should have said move vndcompany to ws-vnd-company-x.  This will
accomplish the same result as a MOVEL.


To prevent a decimal data error when the field does not contain numerics,
redefine the receiving field and test for numerics before performing any
calculations.

05   ws-vnd-company     pic 9(04).
05   ws-vnd-company-x refefines  ws-vnd-company   pic x(04).

MOVE VNCOMPANY TO WS-VND-COMPANY.
if ws-vnd-company-x not numeric
   move zeros to ws-vnd-company.

Alexis Cousino
Detroit Newspapers
acousino@xxxxxxxx


-----Original Message-----
From: Dan [mailto:dbcerpg@xxxxxxxxx]
Sent: Tuesday, June 10, 2003 10:30 AM
To: cobol400-l@xxxxxxxxxxxx
Subject: Testing for valid numeric in an alpha field


I know how to do this in RPG but not Cobol:

I've got a 15-character alpha that is supposed to contain a 4-digit number
left-justified.  In my
Cobol program, VNCOMPANY is a 15-character alpha field and WS-VND-COMPANY
is a 4-digit numeric.
When I do this:
    MOVE VNCOMPANY TO WS-VND-COMPANY.
and VNCOMPANY contains '40             ', I get a decimal data error.

In RPG, I'd use a MOVEL and a TESTN.  Off the top of my head, the only way
I can see doing this in
Cobol is to check the first four bytes of the field individually to be in
the range of '0' through
'9'.  (Bytes 5-15 would have to be blank for our validation purposes.)

Any suggestions?

TIA, Dan

__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com
_______________________________________________
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) digest 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.



End of COBOL400-L Digest, Vol 1, Issue 233
******************************************







As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.