HP3000-L Archives

October 2008, Week 1

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
"Pickering, John (NORBORD)" <[log in to unmask]>
Reply To:
Pickering, John (NORBORD)
Date:
Tue, 7 Oct 2008 13:35:36 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (125 lines)
Tony

Your dictionary definition:

Dictionary extract:
DIMENSIONS CHAR X(12)
.LENGTH NUM 4 0 4 ^^^^^^.^^^^
.WIDTH NUM 4 0 4 ^^^^^^.^^^^
.LENGTH-UOM CHAR X(2)
.WIDTH-UOM CHAR X(2)
.MACHINE-TYPE CHAR X(12)
.TOOL-TYPE CHAR X(12)

The field according to Image is a 12 character field. According to
Powerhouse it can contain one of three things: dimensions, machine type
or tool type. It will be up to you to figure out how to tell which to
expect.

When the field contains dimensions it seems to be made up of four data
values, namely length, width and two unit of measure fields. For those
records in which the last four characters are "MMMM" I would suggest
that these records contain dimensions and the "MMMM" is the unit of
measure codes for both length and width.

You will need to go back to Qshow and display the record layout for your
input file to confirm the actual format of the two numeric fields. It
seems likely that they are both Integer Size 4 but they might be
something else.

Your extract will need to decide what the 12 character field contains
and then decode accordingly. I would use several define statements to
keep the extracted data clean. This is one of the prices you pay for
"overloaded" fields. Something like:

Define d-length zoned*4 &
  = length if [whatever tells you it contains dimensions] &
  Else 0
Define d-width zoned*4 &
  = width if [whatever tells you it contains dimensions] &
  Else 0
Define d-length-uom char*2 &
  = length-uom if [whatever tells you it contains dimensions] &
  Else ""
Define d-width-uom char*2 &
  = width-uom if [whatever tells you it contains dimensions] &
  Else ""
Define d-machine-type char*12 &
  = machine-type if [whatever tells you it contains machine type] &
  Else ""
Define d-tool-type char*12 &
  = tool-type if [whatever tells you it contains tool type] &
  Else ""

Then you should include the defined items instead of the corresponding
record items in your subfile.

JWP


-----Original Message-----
From: HP-3000 Systems Discussion [mailto:[log in to unmask]] On
Behalf Of Tony Tibbenham
Sent: Tuesday, October 07, 2008 1:13 PM
To: [log in to unmask]
Subject: Re: [HP3000-L] OT: Quiz extract of encoded fields

Thank you all for help on hex dumping and making portable: Easy when you
know how :-)

Here are some hex dumps of some encoded character fields after they have
been made 'portable'.  It looks encoded to me. All it is meant to
contain is the machine name or maybe dimensions. 

Thanks to Tracy I ran:
FCOPY from=BOM706q;to=;char;hex

<heavily snipped extracts from results>
It was examples like this that made me think it was an encoded decimal.
I could almost picture this being 'some number x some other encoded
number' with dimesions set to MMxMM
0038: 3030 307E 0009 B078 0003 C8C0 4D4D 4D4D 000~...x....MMMM
0040: 7E00 09B0 7800 03C8 C04D 4D4D 4D        ~...x....MMMM

Others are more obscure
0038: 3030 307E 000C FC38 000A 44E8 4D4D 4D4D 000~...8..D.MMMM
0040: 7E00 0CFC 3800 0A44 E84D 4D4D 4D        ~...8..D.MMMM
and
0038: 3030 307E 0018 9CC8 0003 3450 4D4D 4D4D 000~......4PMMMM
0040: 7E00 189C C800 0334 504D 4D4D 4D        ~......4PMMMM
 
An understandable example
0038: 3030 307E 5356 4543 4941 2020 2020 2020 000~SVECIA
0040: 7E53 5645 4349 4120 2020 2020 20        ~SVECIA

And one which caused the line wrap in the ASCII import - see the 00 0A
on block 40 
BOM706Q RECORD 17 (%21, #11)

0000: 5353 7E30 3030 3231 2020 2020 2020 207E SS~00021       ~
0008: 5030 3137 3031 2020 2020 2020 7E2B 3030 P01701      ~+00
0010: 3030 3030 3030 3030 7E2B 3030 3030 3637 00000000~+000067
0018: 3530 3030 7E4D 4D7E 2B30 3030 3031 3630 5000~MM~+0000160
0020: 3030 307E 4D4D 7E20 207E 2B30 3030 3030 000~MM~  ~+00000
0028: 3030 3030 307E 2B30 3031 3939 3530 3131 00000~+001995011
0030: 387E 524D 7E20 207E 2B30 3030 3030 3031 8~RM~  ~+0000001
0038: 3030 307E 000A 4CB8 0002 7100 4D4D 4D4D 000~..L...q.MMMM
0040: 7E00 0A4C B800 0271 004D 4D4D 4D        ~..L...q.MMMM

So .. the field is dual-purpose but does sometimes, we infer, contain
useful information that we want to extract.  
Observations:
- The encoded field either has plain ASCII or starts with 00 
- All encoded examples seem, so far, to end with 4D 4D 4D 4D aka MMMM

Regards,


Tony

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2