Defining SAS/ACCESS Descriptor Files |
Example 1: Printing Data |
Printing IMS data that is described by a view descriptor is like printing any other SAS data set, as shown in the following example:
options nodate linesize=120; proc print data=vlib.wiredata; title2 'Wire Transactions'; run;
The following output shows the output for the VLIB.WIREDATA view descriptor.
Results of the PRINT Procedure
The SAS System Wire Transactions OBS SSN_ACCOUNT ACCOUNT_TYPE WIRE_DATE WIRE_TIME WIRE_AMOUNT WIRE_DESCRIPT 1 335-45-3451345620145345 C 03/31/95 15:42:43 1563.23 BAD CUST_SSN 2 434-62-1224345656336366 L 03/30/95 23:45:32 424.87 WIRED FROM SCNB 37262849393 3 156-45-5672345689435776 S 04/06/95 12:23:42 -150.00 WIRED TO BOA 9383627274 4 456-45-3462345620134522 C 04/06/95 13:12:34 -245.73 WIRED TO WELLS FARGO CHICAGO 5 234-74-4612345689413263 S 04/06/95 15:45:42 -238.73 WIRED TO WELLS FARGO SAN FRANCISCO 6 667-73-8275345620154633 S 03/31/95 15:42:43 1563.23 BAD ACCT_NUM 7 234-74-4612345620113263 C 04/06/95 11:12:42 1175.00 WIRED FROM SCNB 73653728343 8 156-45-5672345620123456 C 04/06/94 10:23:53 -136.29 WIRED TO SCNB 53472019836 9 156-45-5672345620123456 C 04/06/95 9:35:53 1923.87 WIRED FROM CIBN 37284839328 10 434-62-1224345620134564 C 04/06/95 13:23:52 -284.42 WIRED TO TVNB 837362636438 11 667-73-8275345689454633 C 03/28/95 15:42:43 1563.23 BAD ACCT_NUMWhen you use the PRINT procedure, you might want to take advantage of the OBS= and FIRSTOBS= data set options. The OBS= option enables you to specify the last observation to be processed; the FIRSTOBS= option enables you to specify the first. The options are not valid with any form of the WHERE expression. The OBS= option improves performance when the view descriptor describes a large amount of data and you just want to see an example of the output. Because each record must still be read and its position calculated, using the FIRSTOBS= option does not improve performance significantly. The POINT= and KEY= options of the MODIFY and SET statements are not currently supported by the IMS engine.
The following example uses the OBS= data set option to print the first five observations of data described by the view descriptor VLIB.WIREDATA, which describes the WIRETRAN segment of the IMS database WIRETRN:
options nodate linesize=120; proc print data=vlib.wiredata(obs=5); title2 'First Five Observations Described by VLIB.WIREDATA'; run;
The following table shows the result of this example.
Results of Using the FIRSTOBS= Option
The SAS System First Five Observations Described by VLIB.WIREDATA OBS SSN_ACCOUNT ACCOUNT_TYPE WIRE_DATE WIRE_TIME WIRE_AMOUNT WIRE_DESCRIPT 1 335-45-3451345620145345 C 03/31/95 15:42:43 1563.23 BAD CUST_SSN 2 434-62-1224345656336366 L 03/30/95 23:45:32 424.87 WIRED FROM SCNB 37262849393 3 156-45-5672345689435776 S 04/06/95 12:23:42 -150.00 WIRED TO BOA 9383627274 4 456-45-3462345620134522 C 04/06/95 13:12:34 -245.73 WIRED TO WELLS FARGO CHICAGO 5 234-74-4612345689413263 S 04/06/95 15:45:42 -238.73 WIRED TO WELLS FARGO SAN FRANCISCO
For more information about the PRINT procedure, see SAS Language Reference: Concepts and Base SAS Procedures Guide. For more information about the OBS= and FIRSTOBS= options, see SAS Language Reference: Dictionary.
Example 2: Reviewing Variables |
If you want to use IMS data that is described by a view descriptor in your SAS program, you can use the CONTENTS or DATASETS procedure to display the view's variable and format information. You use these procedures with view descriptors in the same way you use them with other SAS data sets.
The following example uses the DATASETS procedure to give you information about the view descriptor VLIB.WIREDATA, which describes the data in the WIRETRAN segment of the IMS database WIRETRN:
options nodate linesize=132; proc datasets library=vlib memtype=view; contents data=wiredata; title2 ' '; run;
The following output shows the first display of the information for this example.
Results of Using the DATASETS Procedure with a View Descriptor
DATASETS PROCEDURE Data Set Name: VLIB.WIREDATA Observations: . Member Type: VIEW Variables: 6 Engine: SASIOIMS Indexes: 0 Created: . Observation Length: 88 Last Modified: . Deleted Observations: 0 Protection: Compressed: NO Data Set Type: Sorted: NO Label: -----Engine/Host Dependent Information----- -----Alphabetic List of Variables and Attributes----- # Variable Type Len Pos Format Informat Label -------------------------------------------------------------------------- 2 ACCOUNT_TYPE Char 1 23 $1. $1. ACCOUNT TYPE 1 SSN_ACCOUNT Char 23 0 $23. $23. SSN - ACCOUNT 5 WIRE_AMOUNT Num 8 40 12.2 12.2 WIRE AMOUNT 3 WIRE_DATE Char 8 24 $8. $8. WIRE DATE 6 WIRE_DESCRIPT Char 40 48 $40. $40. WIRE DESCRIPT 4 WIRE_TIME Char 8 32 $8. $8. WIRE TIMEAs you can see from the output produced by the DATASETS procedure, the VLIB.WIREDATA view descriptor has six variables: ACCOUNT_TYPE, SSN_ACCOUNT, WIRE_AMOUNT, WIRE_DATE, WIRE_DESCRIPT, and WIRE_TIME. The variables are listed in alphabetic order, and the column labeled with a # (pound sign) in the listing shows the order of each variable as it appears in the WIRETRAN database segment. You cannot change a view descriptor's variable labels using the DATASETS procedure. The labels are generated from the IMS item names when the view descriptor is created.
For more information about the DATASETS procedure, see SAS Language Reference: Concepts and the Base SAS Procedures Guide.
Copyright © 2007 by SAS Institute Inc., Cary, NC, USA. All rights reserved.