New (Journal constructor): Difference between revisions

From m204wiki
Jump to navigation Jump to search
Line 13: Line 13:
==Usage notes==
==Usage notes==
<ul>
<ul>
<li>As described in [[Object variables#Using New or other Constructors|"Using New or other Constructors"]], <var>New</var> can be invoked with no object, with an explicit class name, or with an object variable in the class, even if that object is <var>Null</var>:<p class="code">%journal = new
<li>As described in [[Object variables#Using New or other Constructors|"Using New or other Constructors"]], <var>New</var> can be invoked with no object, with an explicit class name, or with an object variable in the class, even if that object is <var>Null</var>:<p class="code">%journal = new('MYJRNL')


%journal = %(Journal):new
%journal = %(Journal):new('MYJRNL')


%journal = %journal:new
%journal = %journal:new('MYJRNL')
</p>
</p>
<li>In <var class="product">Sirius Mods</var> version 7.7,
<li>In <var class="product">Sirius Mods</var> version 7.7,

Revision as of 20:12, 27 July 2011

Create a new Journal object (Journal class)

Syntax

%journal = [%(Journal):]New( string) Throws BadJournal

Syntax terms

%journal A reference to an instance of a Journal object.
%(Journal) The optional class name in parentheses denotes a Constructor. See "Usage notes", below, for more information about invoking a Journal Constructor.
string A string that is the DDname of the journal dataset or the name of the stream that is to be accessed.

Usage notes

  • As described in "Using New or other Constructors", New can be invoked with no object, with an explicit class name, or with an object variable in the class, even if that object is Null:

    %journal = new('MYJRNL') %journal = %(Journal):new('MYJRNL') %journal = %journal:new('MYJRNL')

  • In Sirius Mods version 7.7, the New method returns a Null object if the journal is not present or is not a valid journal. In Sirius Mods version 7.8 and later, New also throws a BadJournal exception on an error, and it will not return a Null Journal object without throwing an exception. Consequently, invocations of New in Sirius Mods version 7.7 need to include a test with an On Error unit and a test for a Null result.
  • In Sirius Mods version 7.7, New does not require the input journal to be from the same Model 204 release as the Online. However, if the releases are different, an AppendJournalData call that references this journal will silently fail to add any data to its output Stringlist. As of Sirius Mods version 7.8, an attempt to instantiate a journal object variable that references a journal from a different version than the Online produces a BadJournal exception.

See also