RIS Resolution Integration Solutions, Inc.
Software SolutionsProducts
SolutionsSolutionsProductsSupportNewsCompanySite Map


Relayer STEPControl

Interfacing between applications has required special purpose interfaces to support the proprietary file. Applications such as crude, production, and blend scheduling, data reconciliation, and unit simulation, are used for both ad-hoc analysis of an operational scenario and for the production of the 'official' operating schedule. In the former case the results of the plan do not have to be published to the RESOLUTION database which is primarily used for 'official' data. Conversely the ad-hoc results might send to other application systems to further pursue the operational impact of the new scenario. The objective of the STEP interface is to use only one file format to perform both tasks.

Any system that wishes to share data simply has to write out its data in a STEP file format. Although many systems do not do this at present, it would require the construction of a special purpose, but straightforward, interface.

If one application wants to access another application's data in the form of a STEP file then it will have to be able to read that file. Resolution's STEP file reader allows any application to access the STEP file's data as if it were a database.

Benefits
  • STEP files provide a uniform, vendor independent, file format for interchanging data between application systems and the RESOLUTION database.
  • STEP files can do more than a database: they represent an entire transaction of work.
  • RESOLUTION regards STEP files as the RELAYER messages that 'flow' between systems.
  • STEP compliant schemas ('Application Protocols') are being developed for many areas: API 221, API 227, et cetera. RIS has developed several schemas suitable for interfacing: maintenance systems, scheduling systems, reconciliation systems, blend planning systems, crude assays, and others.
  • An OLE control: STEPctrl.dll, allows an application to read and process any STEP file irrespective of the semantics of that file. This enables the files to be treated like a database. This is freely available from RIS.
  • STEPctrl uses ultra-late binding to the objects (entities and types) within the STEP file. Programs reference these objects by their name and do not have to create their own classes irrespective of the STEP file format or schema.
Search this site:
PRODUCTS

Repository
Reevaluator
Regenerator
Reloader

Relayer
List of Interfaces
Real-Time APIs
STEPCtrl
XMLCtrl

Resolver for Windows
Window Applets
Reviewer
VB Scripting
Reconciler

RISnet for Web
Management View
Flexible Navigation
Forms Generation
Web Services

Reports

Resolutions

Project Services




Insert Screen Shot

Example File

#111=MOVEMENTDETAILS (
MOVEMENT(
ID( 'CDU1 97-03/1 - NAPHTHA'),
TYPE( 'RUNDOWN TO UNIT')),
SCHEDULE(
START($),
STOP($)),
COMMODITY (
ID('NAPHTHA'),
TYPE('INTERMEDIATE')),
SOURCE(
         ID('CDU1:NAPHTHA (FC107 EX V101)'),
TYPE('RUNDOWN')),
DESTINATION(
ID('REFORMER-CHARGE'),
TYPE('CHARGE')),
CRITERIA (
CRITERIAVALUE (
PROPERTY( 'VOLUME'),
EQUALITY('='),
VALUE ('3000'),
UOM('M3')),
CRITERIAVALUE (
PROPERTY('CUTPOINT'),
EQUALITY('='),
VALUE ('185'),
UOM('DEGC'))
        )
   )
       );
...

 

Example access:

Dim Schedule As New Tree
Dim Root, DataSection, MovementList As Node
Dim MovementStart, MovementStop, Source, Commodity, Property, Value As String

'Load the file, returning a handle to the root of the file
Set Root = Schedule
.LoadFile("schedule.stp")

'Return a handle to the start of the data section.
Set DataSection = Root
.E("DATA;")

'Count the number of entities labeled MOVEMENTDETAILS and iterate through each For MovementNumber = 1 to
DataSection
.N("MOVEMENTDETAILS")

'Setup node pointing to MOVEMENTDETAILS to avoid constantly calling
Set MovementList = DataSection
.E("MOVEMENTDETAILS",MovementNumber)
With MovementList

'Find the values of the following
MovementStart =
.E("MOVEMENTSCHDULE").V("START")
MovementStop =
.E("MOVEMENTSCHDULE").V("STOP")
Commodity =
.E("COMMODITY").V("ID")
Source =
.E("SOURCE").V("ID")

'Count the number of criteria values supplied for the movement
For CriteriaNumber = 1 to
.E("CRITERIAVALUE").N("CRITERIA")

'For each of the criteria find the property and values
Property =
.E("CRITERIAVALUE").E("CRITERIA",CriteriaNumber).V("PROPERTY"))
Value =
.E("CRITERIAVALUE").E("CRITERIA",CriteriaNumbe").V("VALUE"))

MsgBox "Movement Source=" + Source + " Start=" + MovementStart + " Property=" + Property + " value=" & Value

Next CriteriaNumber

End With
Next MovementNumber

 

 

 

Contact Us
RIS Copyright 2003, Resolution Integration Solutions, Inc.
Web Design & Development by
Victory Vision