[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference forty2::mailbus_400

Title:MAILBUS 400 User Forum
Notice:kits 100-109 - Infocenter //www.digital.com/info/messaging
Moderator:IOSG::MARSHALL
Created:Thu Jun 11 1992
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3210
Total number of notes:9174

3196.0. "Convert WPSPLUS to RTF2 problem" by BACHUS::COLLART (Li p'ti fouineu - Dtn 856-8796) Fri May 16 1997 13:49




		Hello,




	a customer has trouble trying to convert from wpsplus to RTF2.

	I was not able to find a clue on this problem, can someone help
	me ?


Here follow the text I received from Switzerland:


Date: Fri, 09 May 97 11:20:46
From: <durand@bern01>
To: bern01::durand
X-VMS-From: BERN01::DURAND
X-Mozilla-Status: 0001
Content-Length: 7315


Goal:

Convert any message in WPSplus to RTF2. Due to the fact, that at the
customer site i cannot 'play' around with the configuration a similar
configuration has been built at Digital.


1. Configuration
----------------

Operating System: Open VMS 6.3
Mailbus 400: 2.0
X.500: 3.0

1.1 Bodyparts
-------------

show mta bodypart "wpsplus" all
!
! Node 0 MTA Bodypart "wpsplus"
! at 1997-05-09-10:27:39.115+02:00Iinf
!
! Identifiers
!
!     Name                              = "wpsplus"
!
! Characteristics
!
!     Encoded Information Types         =
!        {
!           "{ 1 3 12 1011 1 3 7 }"
!        }
!     Identifier                        = "{ 1 3 12 1011 1 3 7 }"
!

show mta bodypart "rtf2" all
!
! Node 0 MTA Bodypart "rtf2"
! at 1997-05-09-10:27:49.665+02:00Iinf
!
! Identifiers
!
!     Name                              = "RTF2"
!
! Characteristics
!
!     Encoded Information Types         =
!        {
!           "{ 1 3 12 2 1011 5 1 107 }"
!        }
!     Identifier                        = "{ 1 3 12 2 1011 5 1 107 }"
!

1.2 EIT converter (based on the mastersoft product)
---------------------------------------------------

show mta converter "wpsplustortf" all
!
! Node 0 MTA Converter "wpsplustortf"
! at 1997-05-09-10:28:08.845+02:00Iinf
!
! Identifiers
!
!     Name                              = "wpsplustortf"
!
! Characteristics
!
!     Lossy                             = True
!     Source                            = "wpsplus"
!     Steps                             =
!        {
!        }
!     Target                            = "rtf2"
!


1.3 Test UA (XTUA)
------------------

show mts "/c=ch/o=digital/mts=chosinet" oraddr
"C=ch;A=400net;P=decbe;O=tea42;Cn=xtua" all
!
! Node 0 MTS "/c=ch/o=digital/mts=chosinet" OrAddress
"C=ch;A=400net;P=decbe;O=tea42;Cn=xtua"
! at 1997-05-09-10:29:44.315+02:00Iinf
!
! command failed due to:
!  get list error
!
! Identifiers
!
!     Name                              =
"C=ch;A=400net;P=decbe;O=tea42;Cn=xtua"
!
! Characteristics
!
!     Type                              = User
!     Routing Instruction               =
!        [
!        Action = Deliver ,
!        Server MTA = "tea42" ,
!        Agent = "xtua" ,
!        Definitive OrAddress = ""
!        ]
!     Personal Name                     = "S=xtua"
!     Content Information               =
!        [
!        Maximum Content Length = 0 ,
!        Content Types =
!              {
!                 "{1 3 12 2 1011 5 5 0 1 22}"
!              } ,
!        Encoded Information Types =
!              {
!                 "{2 6 3 4 2}" ,
!                 "{1 3 12 2 1011 5 1 107}" ,
!                 "{1 3 12 2 1011 5 5 1 0}"
!              }
!        ]
!     write only attribute: Password    = <Default value>
!

2. Analysis
-----------

2.1 OPCOM Message
-----------------

%%%%%%%%%%%  OPCOM   7-MAY-1997 17:28:57.63  %%%%%%%%%%%

Message from user SYSTEM on TEA42
Event: Converter Unavailable from: Node CHOSI_EBO:.EBO.TEA42 MTA,
        at: 1997-05-07-17:28:56.643+02:00Iinf
        Converter Name="wpsplustortf",
        Step="",
        Error Log="",
        Saved Bodypart=_DKA100:[MTA$TEA42.][BAD_MSGS]RTF2.625F6EE311D0C6FF;,
        Message Identifier=
       [
       Country = "ch" ,
       Administration Domain = "400net" ,
       Private Domain = "decbe" ,
       Local Identifier = "863019156"
       ],
        Source=
       [
       Type = Domain ,
       Domain Name = "EBOMTA1"
       ],
        Originator="C=ch; A=400net; P=decbe; O=ebo; CN=Hanspeter Durand",
        Error=Conversion Result Does Not Match Target
        eventUid   6291C983-C6FF-11D0-804A-AA0004000000
        entityUid  3879F893-C608-11D0-8009-AA0004000000

2.2 Notes entry
---------------

I found the following entry in the notes file. I tried to contact Dave
Loveluck. He promised me to look in his documentation. However i need
a more general approach to solve such problems (for Open VMS as well as
DIGITAL UNIX), since in Switzerland there is no more support for Mailbus 400.

            <<< FORTY2::USER66:[NOTES$LIBRARY]MAILBUS_400.NOTE;1 >>>

                             MAILBUS 400 User Forum

Created: 11-JUN-1992 12:17         3184 topics        Updated:  7-MAY-1997
16:20
        -< kits 100-109 - Infocenter //www.digital.com/info/messaging >-
================================================================================
Note 3063.0       conversion results wrong - mta-bp15-encode(?)          1
reply

EPS::LOVELUCK                                        18 lines  18-NOV-1996
14:54

--------------------------------------------------------------------------------

    Digital UNIX V3.2G, MAILBUS 400 2.0

    I am using the mastersoft converters with MAILBus400 to convert ascii
    not match target". I believe the problem occcurs because
    mta_bp15_encode is 'labelling' the body part with the object identifier
    incorrectly, and has absolutely nothing to do with the mastersoft
    converters.

    I started by copying the sample script msoft.sh and have tried passing the
    EIT as a parameter to the encode routine in various ways, but I always get
    the same failure.

    Does anyone have an example of correctly building a bp15 from this
    script? If not, where is the encode routine documented?

    Thanks Dave

2.3 WPSPLUSTORTF.COM
--------------------

Below there is an excerpt from the file WPSPLUSTOLATIN1 (located
at SYS$COMMON:[MTA.CONVERTERS.IPM]. Instead of a 'designation/invocation
sequence sequences for ISO Latin1' is think i need one for 'RTF2'.
Am I right?

.
.
.
.
$!
$!  Prepend designation/invocation sequences for ISO Latin1
$!
$ CS6[0,32]     = %x0f42281b
$ CS100[0,32]   = %x1b412d1b
$ CS77[0,16]    = %x1b7e
$ CS77[16,8]    = %X22
$ CS77[24,8]    = %x43
$ temp_file = f$fao ("temp!AS.mas", pid)
$
$!
$! Prepend invocation/designation sequences to converted data
$!
$ open/write TEMP_FILE 'temp_file'
$ write/symbol TEMP_FILE CS6,CS100,CS77
$ close TEMP_FILE
$!
.
.



End of received text....


	In the list of Mastersoft converters I have, I did not see a
	WPSPLUS to RTF2 but I can have an outdated one....


						Thanks for help

						Eric Collart
						MCS Brussels
T.RTitleUserPersonal
Name
DateLines
3196.1IOSG::MARSHALLFri May 23 1997 20:4620
Regarding the error message you get: converter unavailable
You have defined the converter name as wpsplustortf, so do you have a file
called wpsplustortf.com in the MTA's converter directory?

You don't need a designation/invocation sequence; that is used only when
building a general text bodypart, and specifies which character repertoires are
used in the bodypart.  For all other bodypart 15s, you either specify the
bodypart's object identifier, using the -e flag to the mta_bp15_encoder command,
or you encode it as a file-transfer bodypart and specify the APP_REF_OID (for
which I don't remember the flag, but it's all documented in the sample command
procedures the customer would have been given.

There isn't a single Mastersoft converter for WPSPLUS to RTF2; you have a FROM
converter, which converts from your source format, and a TO converter, to
convert to the target format.  These two converters are used together to perform
a particular conversion.  So for WPS-PLUS to RTF2 you need W4W45F and W4W19T.

I hope that gives you enough information to figure out what's going on.

Scott
3196.2Thanks for helpBACHUS::COLLARTLi p'ti fouineu - Dtn 856-8796Mon May 26 1997 13:2926


		Hello,


>
>Regarding the error message you get: converter unavailable
>You have defined the converter name as wpsplustortf, so do you have a file
>called wpsplustortf.com in the MTA's converter directory?
>

	I will check this point with customer...

>
>I hope that gives you enough information to figure out what's going on.
>

	At least it will help a lot my poor knowledge to grow....



					Thanks for help

					Eric Collart
					MCS BRussels
3196.3Is convert/fdl OK?GENIE::DURANDThu May 29 1997 19:57293
Hi, 

Actually i am working at the customer site and try to find a solution for
this problem (MCS Call: 45'250).

As already mentioned the input format is WPSPLUS. As output format we
want RTF2 (or WINWORD3). Since RTF2 is actually not defined on the
useragent, we took WINWORD3. The required mta bodyparts the mta
converter as well as the converter script (in my case a DCL script) are defined.

I got a Unix shell script as an example. Since this Mailbus 400 runs on
Open VMS/VAX i did some kind of 'reverse engineering'. I took the
file 'WPSPLUSTOLATIN1.COM' from Open VMS and changed it. Till know i am able to 
convert WPSplus to Winword (The conversion works fine; i copied a file
to a PC. The quality is really good).  
After the  conversion the temporary file will be converted to a 'stream_lf' 
format (with 'convert/fdl'). 
Then a new bodypart will be encoded (with the option '-e'). 
A message trace shows that the encoding seems to correct:

.
.
.
  SEQ
    <Body>
    CONTEXT 15
      <ExternallyDefined>
      EXTERNAL
        OBJECT_ID               Len 8
          Hex 2b 0c 02 87 73 05 01 4f
        CONTEXT 1               Len 5630
          Hex d0 0a 11 0a a1 0a 1a 0a 00 0a 00 0a 00 0a 00 0a
.
.
.
.


The Useragent (in our case it's Linkworks) detects the object id an launches
Winword as viewer. Unfortunately this document cannot be read. It's
completely scrambled!

Since the file format is correct before the conversion to a stream_lf format,
i strongly believe, that during the 'fdl conversion' the file will be scrambled.


Hans-Peter Durand
NSIS Berne
Switzerland
------------------------------------------------------------------------------

$!  File Name = WPSPLUSTOWINWORD3.COM
$!  File Ident = %%% MTA FILE IDENT %%%		! DO NOT MODIFY THIS LINE !
$! 
$! %COPYRIGHT_START%
$! 
$!     Copyright Digital Equipment Corporation 1996. All rights reserved.
$! 
$!     Restricted Rights: Use, duplication, or disclosure by the U.S.
$!     Government is subject to restrictions as set forth in subparagraph (C)
$!     (1) (ii) of DFARS 252.227-7013, or in FAR 52.227-19, or in FAR
$!     52.227-14 Alt. III, as applicable. Unpublished rights reserved under
$!     applicable copyright laws.
$! 
$!     This software is proprietary to and embodies the confidential
$!     technology of Digital Equipment Corporation. Possession, use, or
$!     copying of this software and media is authorized only pursuant to a
$!     valid written license from Digital or an authorized sublicensor.
$! 
$! %COPYRIGHT_END%
$! 
$! 

$!-----------------------------------------------------------------------!
$!-----------------------------------------------------------------------!
$! 	
$! 
$!  Optional parameters - these parameters need to be configured
$!  appropriately for the required conversion

$!  ----------------------------------------------------------------------
$!  Mandatory parameters
$!  ----------------------------------------------------------------------
$!  Directory containing the Mastersoft converters
$!  Mastersoft to/from converter names (see Mastersoft documentation)
$! 

$ IMAGE_ROOT = f$trnlnm ("MTA_CONVERTERS_ROOT")
$ if "''IMAGE_ROOT'" .EQS. ""
$ THEN
$   define/process/nolog IMAGE_ROOT sys$common:[mta.converters.ipm]
$ ELSE
$   define/process/nolog IMAGE_ROOT 'IMAGE_ROOT'
$ ENDIF

$! 
$!  MTA Images
$! 
ENCODER :== $IMAGE_ROOT:mta_bp15_encoder.exe
DECODER :== $IMAGE_ROOT:mta_bp15_decoder.exe

$! 
$!  See Mastersoft documentation for converter image names
$! 
MASTERSOFT_FROMCONVERTER :== $IMAGE_ROOT:w4w45f.exe
MASTERSOFT_TOCONVERTER :== $IMAGE_ROOT:w4w49t.exe

$! 
$!  Mastersoft converter version
$! 
FROMVERSION = "/V0"
$!
$!  
$!  
TOVERSION = "/V0"

$! 
$!  Fixed parameters - do not alter anything below this line
$!  --------------------------------------------------------

$! INPUT_FILE = f$trnlnm ("SYS$INPUT")
$! OUTPUT_FILE = f$trnlnm ("SYS$OUTPUT")

$ INPUT_FILE = "''p1'"
$ OUTPUT_FILE = "''p2'"

$! Current PID
pid = f$getjpi ("", "PID")

$!  Source data file
SOURCE_DATAFILE = f$fao ("src!AS.mas", pid)

$!  Target data file
TARGET_DATAFILE = f$fao ("tar!AS.mas", pid)

$!  Mastersoft intermediate data file
INTER_DATAFILE = f$fao ("inter!AS.mas", pid)

$! Exception file (in case of conversion errors, pid)
EXCEPT_FILE = f$fao ("except!AS.mas", pid)

$!
$! Cleanup on normal or abnormal termination, then exit
$!
$
$ CLEANUP: subroutine
$!   write sys$error f$fao ("Exit status is !AS", p1)
$!   if "''p2'" .nes. "" then type 'p2' /output=sys$error
$!
$! Delete only the files we know to be present
$!
$   if 'p3' .ge. 1
$   then
$	delete 'SOURCE_DATAFILE';* 
$   endif
$
$   if 'p3' .eq. 2
$   then
$	delete 'INTER_DATAFILE';*
$   endif
$
$   if 'p3' .ge. 2
$   then
$	delete 'EXCEPT_FILE';*
$   endif
$
$   if 'p3' .ge. 3
$   then
$	delete 'TARGET_DATAFILE';*
$   endif
$
$ ENDSUBROUTINE
$
$! 
$!  Mastersoft conversion

$! 
$!  Dot position
$! 
OPT_DOT_OPTION="/N"

$! 
$!  Intermediate temporary file
$! 
OPT_TEMPFILE="/T=''INTER_DATAFILE'"

$! 
$!  Exception file
$! 
OPT_EXCEPTION="/PE=''EXCEPT_FILE'"

$! 
$!  ----------------------------------------------------------------------
$!  Do the conversion

$! 
$!  Step 1, extract the bodypart data into a file
$!
$ step = 1
$ set noon
$ define/user/nolog sys$input 'INPUT_FILE'
$ define/user/nolog sys$output 'SOURCE_DATAFILE'
$ DECODER
$! 
$!  Check whether the decode worked
$! 
$ exit_status = $status
$ set on
$ gosub check_status

$! 
$!  Step 2a, invoke the Mastersoft "from" converter
$! 

$ step = 2
$ set noon
$ MASTERSOFT_FROMCONVERTER 'SOURCE_DATAFILE' 'FROMVERSION' -
    'OPT_DOT_OPTION' 'OPT_TEMPFILE' 'OPT_EXCEPTION'
$
$! 
$!  Check whether the conversion worked
$! 

$ exit_status = $status
$ set on
$ gosub check_status

$! 
$!  Step 2b, invoke the Mastersoft "to" converter
$! 

$ step = 3
$ set noon
$ MASTERSOFT_TOCONVERTER 'TARGET_DATAFILE' 'TOVERSION' -
$    'OPT_DOT_OPTION' 'OPT_TEMPFILE' 'OPT_EXCEPTION'
$!
$! }--> Now we should have a correct WINWORD3 document
$! }--> This file can be copied to a PC with Winword Version 6
$!
$ copy 'TARGET_DATAFILE' SYS$COMMON:[MTA.CONVERTERS.IPM]hugo.doc
$! 
$!  Check whether the conversion worked
$! 
$ exit_status = $status
$ set on
$ gosub check_status

$!
$! Convert file format to UNIX-style file
$!
$ convert/fdl=sys$input 'TARGET_DATAFILE' 'TARGET_DATAFILE'
FILE
	ORGANIZATION            sequential
RECORD
        CARRIAGE_CONTROL        none
        FORMAT                  STREAM_LF
$
$! Keep only the latest version of the file
$ purge 'TARGET_DATAFILE'
$!
$! A copy of 'TARGET_DATAFILE' cannot be read by Winword.
$! Due to this fact is suspect, that something is wrong with
$! the conversion to 'stream_lf'?
$!
$! Encode the new bodypart
$!
$ step = 4
$ set noon
$ define/user/nolog sys$output 'OUTPUT_FILE'
$ ENCODER -e "{1_3_12_2_1011_5_1_79}" 'TARGET_DATAFILE'
$ exit_status = $status
$ set on
$!
$ delete 'temp_file';*
$
$ gosub check_status
$
$ call cleanup "1" "" 'step'
$
$ exit 1
$
$
$ check_status:
$     if ( ('exit_status' .and. 1) .ne. 1 )
$     then
$ 	call cleanup 'exit_status' 'EXCEPT_FILE' 'step'
$ 	exit 12
$     endif
$ return