def Directory.prefix_ext_finder( std, par )
ext = ''
case std
when 'I'
prefix = '/sap'
if par[:IDOCTYPE]
prefix += '/idocs'+par[:SAPTYPE]+'/'+par[:IDOCTYPE]+'/'
if par[:EXTENSION].is_a? String and not par[:EXTENSION].empty?
if par[:EXTENSION] =~ /\/(.*\/)([^\/]+)/
prefix += $1 + 'ED'
ext = $2 + '.csv'
else
prefix += 'ED'
ext = par[:EXTENSION] + '.csv'
end
else
prefix += 'ED'
ext = '.csv'
end
else
case par[:SAPTYPE]
when '40'; ext = '04000'
else ; raise "Unsupported SAP Type: #{par[:SAPTYPE]}"
end
prefix += '/controls/SD'
ext += '.csv'
end
when 'E'
prefix = '/edifact'
if par[:d0002]
case par[:d0002]
when 1
ext = '10000'
when 2
ext = '20000'
when 3
ext = '30000'
when 4
ext = (par[:d0076] == nil) ? '40000' : '40100'
else
raise "Invalid syntax version: #{par[:d0002]}"
end
prefix += '/iso9735/SD'
ext += '.csv'
else
prefix += par[:is_iedi] ? '/untdid/ID' : '/untdid/ED'
ext = (par[:d0052]+par[:d0054]).downcase + '.csv'
end
else
raise "Unsupported syntax standard: #{std}"
end
return prefix, ext
end