function [ipage,lpage]=sopenm(ipage,lpage);
persistent ios ipagef lpg xern1 ;
if isempty(ios), ios=0; end;
if isempty(ipagef), ipagef=0; end;
if isempty(lpg), lpg=0; end;
%***BEGIN PROLOGUE SOPENM
%***SUBSIDIARY
%***PURPOSE Subsidiary to SPLP
%***LIBRARY SLATEC
%***TYPE ALL (SOPENM-A)
%***AUTHOR (UNKNOWN)
%***DESCRIPTION
%
% 1. OPEN UNIT NUMBER IPAGEF AS A RANDOM ACCESS FILE.
%
% 2. THE RECORD LENGTH IS CONSTANT=LPG.
%
%***SEE ALSO SPLP
%***ROUTINES CALLED XERMSG
%***REVISION HISTORY (YYMMDD)
% 811215 DATE WRITTEN
% 890605 Corrected references to XERRWV. (WRB)
% 891214 Prologue converted to Version 4.0 format. (BAB)
% 900402 Added TYPE section. (WRB)
% 900510 Convert XERRWV calls to XERMSG calls. (RWC)
%***end PROLOGUE SOPENM
if isempty(xern1), xern1=repmat(' ',1,8); end;
%
%***FIRST EXECUTABLE STATEMENT SOPENM
ipagef = fix(ipage);
lpg = fix(lpage);
%!! OPEN (UNIT=ipagef,IOSTAT=ios,ERR=100,STATUS='UNKNOWN',%!!ACCESS='DIRECT',FORM='UNFORMATTED',RECL=lpg)
return;
%
%!! 100 WRITE (xern1,'(I8)') ios
%!! CALL XERMSG('SLATEC','SOPENM','IN SPLP, OPEN HAS ERROR FLAG = '//%!!xern1,100,1)
end
%DECK SORTH