Montura Consulting   Research & Development
 SAS OOP Definitions

 

Base/SAS Source Code

  • A file that contains Data Steps, SAS procedures, and Macro statements. Code is created, edited, and submitted for execution within a SAS catalog or as a ASCII flat-file.

SCL Source Code

  • A file that contains CLASS and ENDCLASS statements. Code code is created, edited, and compiled within a SAS catalog.

Base/SAS File Object

  • Each source code is treated as an object.

SCL Class Object

  • A .class file is a created when SCL code is compiled. The class file is the object, which consists of a combination of bytecode, symbols, and plain text.

Instance

  • An object that has been submitted for execution.

Differences between class and instance.

  • Class is static compiled bytecode.
  • Instance is a copy of the original class, where each bytecode is parallel-linked with CPU-specific binary code. Only binary code is executable - the rest is ignored, interpreted, or used as metadata.
  • Instance is memory resident.
  • Instance can be repeatedly modified.
  • Instance modification has no effect on class bytecode.
  • Instance modification can be performed without access to class bytecode

Class

Contains programming that represents one logical step in the application, One method is a standardized name that indicates the main driver and that name is the same across every class in the application.

Method

Contains programming for one logical step, which may consist of SCL and Base/SAS code. Base/SAS code is coded within submit/endsubmit blocks and it submitted to The SAS System as interpreted code. Each method can be documented with a single line of descriptive text.

  • RUNINTERFACE is the standard name for main driver.

LIST

A single property that can be linked at runtime to any number of instances.

  • Used instead of passing parameters on method and class invocations.
  • May contain any number of parameters.
  • The receiving program does not need to be programmed with a matching parameter list.
  • The receiving program can validate and error-trap parameter values without ABEND crashing the application.

Class Property

The class property is like a SAS macro variable that is visible across all methods in the Class. Each object is programmed with a list that contains all methods to be executed at runtime.

  • The main driver will reference one class LIST property that indicates application status - NORMAL, ABEND, empty until an abend/error is detected. Pick your standard. Global application status must read positive for the instance to continue executing.
  • The main driver will reference one class LIST property that indicates instance status - NORMAL, ABEND, empty until an abend/error is detected. Pick your standard. Local application status must read positive for the instance to continue executing each method.

COPYRIGHT © 1989 - 2011 Montura, Inc.
All rights reserved. This material may not be published, broadcast, rewritten or redistributed.
All material on this website is drawn directly from US Patent Repository Relationship Programming
7,984,422
Reading any page on this website is the same as reading patent US 7,984,422 |
Call 510-798-8367 to obtain you license for use today.
Violators will be prosecuted and perhaps persecuted with undesirable press release news as well..