| 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
|
|
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
|
| 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
|