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

Conference iosg::all-in-1_v30

Title:*OLD* ALL-IN-1 (tm) Support Conference
Notice:Closed - See Note 4331.l to move to IOSG::ALL-IN-1
Moderator:IOSG::PYE
Created:Thu Jan 30 1992
Last Modified:Tue Jan 23 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:4343
Total number of notes:18308

198.0. "DX to WPL conversions" by RUNAWY::NTTDA::MENARD () Mon Mar 09 1992 19:27

In testing my application under ALL-IN-1 3.0, I am getting occasional corrupted
documents after performing these steps:

	1.  convert WPL document to DX format using Copy function

	2.  manipulate the document with a TPU procedure

	3.  convert the DX document back to a WPL format.

On specific documents, I am getting control information added to the beginning
of the document that was not there originally.  When I try to read or print
the document, I get an error "Left and Right delimiters cannot be equal".  

This is the control block that's prepended to my document.  

L-------T-------T-------T-------T-------T-------T-------T-------T-------T-----R-
--------------------------------- START CONTROL --------------------------------
WPL_PRINT_SETTINGS
_U_ _'_ m_!  !! _?_) _ ___ ____ ____M_$____ : <_________________________________
--------------------------------- END   CONTROL --------------------------------

I get no errors when testing the same application under ALL-IN-1 2.4.  Have I
found a bug, and if so, could you direct me to the QAR procedures?

Thanks,, RAM
T.RTitleUserPersonal
Name
DateLines
198.1WPS-PLUS V4 documentsIOSG::NEWLANDRichard Newland, IOSG, REO1-D/4AMon Mar 09 1992 20:447
The WPL_PRINT_SETTINGS DX record can be much larger in ALL-IN-1 V3.0 
because WPS-PLUS V4 documents can contain many more print settings.

What is your TPU procedure doing?


Richard
198.4More infoFNATCL::NTTDA::MENARDMon Mar 09 1992 23:3913
The purpose of the tpu procedure is to substitute generic "lexicals" with 
specific character strings supplied by the ALL-IN-1 user.  An example of a 
lexical would be, for instance, CUSTOMER_ACKRONYM>.  

Reply .3 is the TPU procedure.   

Reply .4 is the document which is input to the TPU procedure.

RAM

I know there are better ways to achieve this capability using MERGE and 
boilerplates.  But I need a fix now.

198.5TPU procedureFNATCL::NTTDA::MENARDMon Mar 09 1992 23:4168
PROCEDURE convert_dx
    ON_ERROR
	RETURN;
    ENDON_ERROR
    POSITION (BEGINNING_OF (main_buffer));
    POSITION (SEARCH ("|O", FORWARD, EXACT));
    LOOP
	POSITION (SEARCH (LINE_END, FORWARD, EXACT));
	MOVE_HORIZONTAL (-1);
	POSITION (SEARCH (" ", REVERSE, EXACT));
	SPLIT_LINE;
	MOVE_VERTICAL ( 2);
	MOVE_VERTICAL (-1);
	APPEND_LINE;
    ENDLOOP;
ENDPROCEDURE

eol := LINE_END;
main_buffer := CREATE_BUFFER ("main", "lexical.dx");
lexical_buffer := CREATE_BUFFER ("lexical", "lexical_list.txt");
SET (NO_WRITE, lexical_buffer);
convert_dx;
LOOP
    POSITION (BEGINNING_OF (lexical_buffer));
    beg_of_lexical := MARK (NONE);
    bracket_position := SEARCH (">", FORWARD, EXACT);
    IF bracket_position = 0
       THEN EXIT;
    ENDIF;
    POSITION (bracket_position);
    end_of_lexical := MARK (NONE);
    lexical := CREATE_RANGE (beg_of_lexical, end_of_lexical, NONE);
    lexical_string := SUBSTR (lexical, 1, LENGTH (lexical));
    MOVE_HORIZONTAL (1);
    beg_of_value := MARK (NONE);
    end_of_line := SEARCH (eol, FORWARD, EXACT);
    POSITION (end_of_line);
    MOVE_HORIZONTAL (-1);
    end_of_value := MARK (NONE);
    value := CREATE_RANGE (beg_of_value, end_of_value, NONE);
    POSITION (BEGINNING_OF (main_buffer));
    LOOP
	POSITION (main_buffer);
	old_lexical := SEARCH (lexical_string, FORWARD, EXACT);
	EXITIF old_lexical = 0;
	POSITION (old_lexical);
	MOVE_HORIZONTAL (-1);
	IF CURRENT_CHARACTER = " "
	   THEN ok_to_replace := "Y";
	   ELSE MOVE_HORIZONTAL (-1);
		IF CURRENT_CHARACTER = "|"
		   THEN ok_to_replace := "Y";
		   ELSE IF CURRENT_CHARACTER = "{"
			   THEN ok_to_replace := "Y";
			   ELSE ok_to_replace := "N";
			ENDIF;
		ENDIF;
	ENDIF;
	POSITION (old_lexical);
	IF ok_to_replace = "Y"
	   THEN ERASE (old_lexical);
		COPY_TEXT (value);
	   ELSE MOVE_HORIZONTAL (1);
	ENDIF;
    ENDLOOP;
    POSITION (lexical_buffer);
    ERASE_LINE;
ENDLOOP;
198.6WPL DOCUMENTFNATCL::NTTDA::MENARDMon Mar 09 1992 23:543
Send me mail if you want to see the document; it is in WPL format.

RAM
198.7Node and name?IOSG::NEWLANDRichard Newland, IOSG, REO1-D/4AWed Mar 11 1992 17:566
Re: .6

I've tried to send you mail but the nodes FNACTL and NTDDA are not known, 
and there is no user MENARD on node RUNAWY.

Richard
198.8Try (7.240) SISDA::MENARD ...ATLANA::SHERMANDebt Free!Wed Mar 11 1992 21:510
198.9Valid DX construct?MANWRK::MANWRK::HESLOPTue May 12 1992 18:0810
    A different DX conversion problem.
    
    I have been carrying out tests on an application against ALL-IN-1 V3.0. 
    
    When a WPS document is converted to DX a ruler can be split across
    records. Is this a legitimate construct?  This die not have with V2.4.
    
    
    Thanks,
    Brian