def initialize( p, user_par={} )
super( p, user_par )
if user_par.is_a? Hash
preset_msg( user_par )
par = {
:d0065 => @name, :d0052=> @version, :d0054=> @release,
:d0051 => @resp_agency, :d0057 => @subset, :is_iedi => root.is_iedi?
}
@maindata = EDI::Dir::Directory.create(root.syntax, par )
if root.is_iedi?
@header = new_segment('UIH')
@trailer = new_segment('UIT')
cde = @header.cS306
@header.d0340 = p.messages_created
else
@header = new_segment('UNH')
@trailer = new_segment('UNT')
cde = @header.cS009
@header.d0062 = p.messages_created
end
cde.d0065 = @name
cde.d0052 = @version
cde.d0054 = @release
cde.d0051 = @resp_agency
cde.d0057 = @subset
elsif user_par.is_a? Segment
@header = user_par
raise "UNH expected, #{@header.name} found!" if @header.name != 'UNH'
@header.parent = self
@header.root = self.root
@trailer = Segment.new(root, 'UNT')
s009 = @header.cS009
@name = s009.d0065
@version = s009.d0052
@release = s009.d0054
@resp_agency = s009.d0051
@subset = s009.d0057
par = {
:d0065 => @name, :d0052=> @version, :d0054=> @release,
:d0051 => @resp_agency, :d0057 => @subset, :is_iedi => root.is_iedi?
}
@maindata = EDI::Dir::Directory.create(root.syntax, par )
else
raise "First parameter: Illegal type!"
end
@trailer.d0074 = 2 if @trailer
end