The clob to string conversion

In the database for a column of type clob I value as follows:
<span style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial Narrow','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">AIRPORT IS OPEN 24 HRS <span style="mso-spacerun: yes"> </span></span>
<p></p> 
I want to get the value as string output... I don't want all these tags html... I found an article like the one mentioned below, but still it gives me only clob value
dbms_lob.substr( clob_column, for_how_many_bytes, from_which_byte );

for example:

  select dbms_lob.substr( Column, 4000, 1 ) from Table;

That's a big if, but if the HTML content is in fact XHTML, we can do this:

SQL> with my_table (my_clob) as (
  2    select to_clob(q'#AIRPORT IS OPEN 24 HRS  
  3  

#') 4 from dual 5 ) 6 select '"' || 7 xmlcast(xmlparse(content my_clob) as clob) 8 || '"' as result 9 from my_table ; RESULT -------------------------------------------------------------------------------- "AIRPORT IS OPEN 24 HRS "

(Different methods are available depending on the version, works on 11.2 above)

Tags: Database

Similar Questions

  • On the digital unit of string conversion

    Hello world

    I'm trying to convert a digital control with min as a unit to a string.

    The fact is that it converts in seconds before it updates the channel indicator.

    I noticed that the format "in channel" will convert always first to the base unit (unit multiple value of units conversion value), as W kW (10 kW will display 10000 W) to watt unit.

    Is there a way to format the entry without this conversion value to the first base unit?

    Thank you...

    If you are looking for the syntax of using LabVIEW Format specifier, you'll see a unit option.

    This is the format that you want to keep the string in a few minutes: g {min} %

  • a stupid question about the string conversion error

    I learn generic

    well generic allows setting the data type that you add to the fields of the object, right?

    I made a simple example

    class generic < String >

    {

    The name of the string;

    void set (String name)

    {myIdName = name ;}

    String get() {return myIdName ;}

    }

    class using {}

    Public Shared Sub main (String [] args)

    {

    generic < String > gn = new

    (generics) < String >;

    GN. Set (90);

    System.out.println ("name entered is:" + gn.get ());

    }

    }

    now the line

    GN. Set (90);

    I know that I send a string to the value method, but I wanted to see the error that comes when I send the argument of type other than a string and sent 90 to set method (without quotes)

    the error that slammed me is

    method defined in the class generic < String > cannot be applied to the given types

    required: java.lang.String

    found: int

    reason: int real argument cannot be converted to a java.lang.String by method invocation conversion

    corresponding to a variable of type String: String extends the object declared in the class generic

    OK here is my stupid question

    I know that int cannot be converted to a string and put 90 quotes will correct the error

    What intrigued me is the last line

    "Chain extends object declared in the class generic.


    I know that everything is under the object class

    that means that means line... ??

    thnq

    What intrigued me is the last line

    "Chain extends object declared in the class generic.


    I know that everything is under the object class

    that means that means line... ??

    Which refers to the class definition you provided:

    generic class

    You "stated" in your 'generic' class a 'collar' stretching ' the object '. It reads as if it said "String declared in the class generic.

    See "Generic Types" in the Java Tutotial

    http://docs.Oracle.com/javase/tutorial/Java/generics/types.html

    Search for the word 'object' and you'll see that word highlighted in the world. Although it appears highlighted read this line:

    As you can see, all instances of the object are replaced by T. A variable of type can be any non-primitive type you specify: any type of class, any interface, any type of table or even another variable of type.

    On this page, you will see this:

    A generic class is defined with the following format:

    class name { /* ... */ }
    

    Where each one is read as: T1 extends object ', "T2 extends object", etc.

    When you said this:

    generic class

    You replaced "T1 extends object" with "String extends object".

  • Literal string too long for the CLOB

    Hello
    My version of the database is:
    Oracle Database 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE 11.2.0.1.0 Production
    AMT for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production

    When I run this piece of code, I get an error.
    DECLARE
    insCtx DBMS_XMLStore.ctxType;
    lines NUMBER;
    xmlDoc CLOB: = 'xml string is about 4600 long lines in TOAD...';
    BEGIN
    insCtx: = DBMS_XMLStore.newContext ("xmlTempTbl"); -get the context
    lines: = DBMS_XMLStore.insertXML (insCtx, xmlDoc); -Insert the doc
    DBMS_XMLStore.closeContext (insCtx); -close the handle
    END;

    ERROR:
    ORA-06550: line 4, column 19:
    PLS-00172: string literal too long

    From my understanding a CLOB leave maximum string size of 2 GB. And on top, my xml string is not greater than 2 GB (I cannot display the xml data string, refers to the business). So why I get the error too long string literal.
    For the above, I fault the XML into several parts and run the PLSQL, then it gives no error.
    Please advice.

    Published by: 934451 on November 8, 2012 07:06

    Published by: 934451 on November 8, 2012 07:07

    From my understanding a CLOB leave maximum string size of 2 GB.

    Not exactly:
    http://docs.Oracle.com/CD/E11882_01/AppDev.112/e25519/datatypes.htm#CHDDCGEE

    but this isn't the real problem.

    The error is about the "string literal" size, there is a limitation too:
    http://docs.Oracle.com/CD/E11882_01/server.112/e17766/pcmus.htm#sthref18132

    PLS-00172: string literal too long
        Cause: The string literal was longer than 32767 bytes.
        Action: Use a string literal of at most 32767 bytes.
    

    For the above, I fault the XML into several parts and run the PLSQL, then it gives no error.

    Is this a real case of production or you just test?
    In practice, we should first save the file in a variable/column CLOB (or XMLType) and then reference the content from there.

  • Number to String Conversion

    So the question is, which is rounded up my numbers?  Or, more generally, what have I done wrong here?

    The main program this sub.vi works for the needs these numbers as strings, and I think I picked the wrong number to string conversion .vi or missed a configuration somewhere, because the program takes perfectly good number like - 0.340316 and rounded to-0 (zero negative? it's zero, negative).

    The zero negativity hand, the number of decimal string .vi is rounded up my whole numbers.

    The function is supposed to be converted in its entirety. Just go to help > show contextual help and read the description. The desired function is called fractional number of string.

  • Managed pilot throws ORA-01483 or ORA-01461 when inserting the CLOB

    I think I found a bug in the driver managed to ODAC 12 c Release 3 (12.1.0.2.1). It is similar to that examined in problem with Managed ODP.NET driver update nclob raises ORA-01483, but also happens with shorter CLOB. Maye added challenge is therefore necessary.

    I'm trying to insert two strings to the CLOB columns in addition to the other columns. Although I try to insert the same data, a different error is thrown depending on the order of the parameters.

    If I first bind the shorter string, the error is:

    ORA-01483: invalid length for the DATE or NUMBER variable binding

    If I bind the longer string first, the error is:

    ORA-01461: can bind to a LONG value only for insert into a LONG column

    Please see the archive attached to a solution of the sample that reproduces the two errors.

    The system environment:

    • The driver is fully managed from ODAC 12 c Release 3 (12.1.0.2.1) - the pilot who requires that the instant client does not show this problem.
    • .NET framework 4.5.2
    • Windows 7 SP1 x 64
    • Server: 11.2.0.4.0 running on Windows Server 2008 R2 x 64

    Unfortunately, this errors occur quite often in my application and prevent me to move to the managed pilot, so a bug in output or workaround would be greatly appreciated.

    Hello

    As I wrote above, 20361140 patch resolves the issue.

    Patch 20684004 (DB Windows Bundle Patch 12.1. 0.2.4) and hotfix 20684157 (Windows Bundle Patch 12.1.0.2.5 DB) does not contain the fix. They do not contain an updated ODP.NET file.

    The right patch 21020286 (DB Windows Bundle Patch 12.1. 0.2.6) once again does not contain the fix. This is the latest version of ODP.NET I know. His version of product is 4.121.2. 20150515

    I would also like to see a NuGet package update. Handling everything patches manually, it is really a pain.

    Edit: as written below, an updated NuGet package was released. There the 12.1.22 version

  • Insert text into the clob data type column.

    I want to insert text below in the clob column:

    Create a text (a clob);

    insert into text values (a) (q' [])

    <? XML version = "1.0"? >

    " < xsl: stylesheet version ="1.0"xmlns: xsl = ' http://www.w3.org/1999/XSL/transform ">

    < xsl: output method = withdrawal of "text" = "yes" / >

    <! - declaration of variable for catlogid - >

    < name of xsl: variable = "vrCATALOG_ID" / >

    <! - declaration of variable for group - >

    < name of xsl: variable = "vrGROUP_TOC_ID" / >

    < name of xsl: variable = "vrGROUP_TOC_ALIAS" / >

    < name of xsl: variable = "vrGROUP_TOC_TITLE" / >

    < name of xsl: variable = "vrGROUP_TOC_TITLE_KEY" / >

    < name of xsl: variable = "vrGROUP_TOC_TITLE_TAG" / >

    < name of xsl: variable = "vrGROUP_ORDER" / >

    < name of xsl: variable = "vrGROUP_GRAPHIC_ID" / >

    < name of xsl: variable = "vrGROUP_XT_FILE_NAME" / >

    < name of xsl: variable = "vrGROUP_MAPPING_MARKET" / >

    < name of xsl: variable = "vrGROUP_MAPPING_FAMILY" / >

    < name of xsl: variable = "vrGROUP_MAPPING_LINE" / >

    < name of xsl: variable = "vrGROUP_MAPPING_BODY" / >

    < name of xsl: variable = "vrGROUP_MAPPING_SERIES" / >

    < name of xsl: variable = "vrGROUP_MAPPING_MODELYEAR" / >

    < name of xsl: variable = "vrGROUP_LINE_SHOW" / >

    < name of xsl: variable = "vrGROUP_SERIES_SHOW" / >

    < name of xsl: variable = "vrGROUP_ENGINE_SHOW" / >

    < name of xsl: variable = "vrGROUP_BODY_SHOW" / >

    < name of xsl: variable = "vrGROUP_TRANS_SHOW" / >

    < name of xsl: variable = "vrGROUP_TRIM_SHOW" / >

    < name of xsl: variable = "vrSEQ_LINE_SHOW" / >

    < name of xsl: variable = "vrSEQ_SERIES_SHOW" / >

    < name of xsl: variable = "vrSHOW_VALUE" / >

    <! - declaration of variable for logicalillustrations - >

    < name of xsl: variable = "vrLogIll_TOC_ID" / >

    < name of xsl: variable = "vrLogIll_TOC_ALIAS" / >

    < name of xsl: variable = "vrLogIll_TOC_TITLE" / >

    < name of xsl: variable = "vrLogIll_TOC_TITLE_KEY" / >

    < name of xsl: variable = "vrLogIll_TOC_TITLE_TAG" / >

    < name of xsl: variable = "vrLogIll_GRAPHIC_ID" / >

    < name of xsl: variable = "vrLogIll_XT_FILE_NAME" / >

    < name of xsl: variable = "vrLogIll_MAPPING_MARKET" / >

    < name of xsl: variable = "vrLogIll_MAPPING_FAMILY" / >

    < name of xsl: variable = "vrLogIll_MAPPING_LINE" / >

    < name of xsl: variable = "vrLogIll_MAPPING_BODY" / >

    < name of xsl: variable = "vrLogIll_MAPPING_SERIES" / >

    < name of xsl: variable = "vrLogIll_MAPPING_MODELYEAR" / >

    < name of xsl: variable = "numberLogIll" / >

    <! - declaration of variable for the illustrations - >

    < name of xsl: variable = "vrIll_TOC_ID" / >

    < name of xsl: variable = "vrIll_TOC_ALIAS" / >

    < name of xsl: variable = "vrIll_TOC_TITLE" / >

    < name of xsl: variable = "vrIll_TOC_TITLE_KEY" / >

    < name of xsl: variable = "vrIll_TOC_TITLE_TAG" / >

    < name of xsl: variable = "vrIll_TOC_SUBTITLE" / >

    < name of xsl: variable = "vrIll_GRAPHIC_ID" / >

    < name of xsl: variable = "numberIllus" / >

    < name of xsl: variable = "vrIll_ENGINE" / >

    < name of xsl: variable = "vrIll_TRANSMISSION" / >

    < name of xsl: variable = "vrIll_TRIM" / >

    < name of xsl: variable = "vrIll_MARKET" / >

    < name of xsl: variable = "vrIll_LINE" / >

    < name of xsl: variable = "vrIll_BODY" / >

    < name of xsl: variable = "vrIll_SERIES" / >

    < name of xsl: variable = "vrIll_XT_FILE_NAME" / >

    < name of xsl: variable = "vrIll_NOTE_TXT_KEY" / >

    < name of xsl: variable = "vrIll_NOTE_TXT_TAG" / >

    < name of xsl: variable = "vrIll_MAPPING_FAMILY" / >

    < name of xsl: variable = "vrIll_MAPPING_MODELYEAR" / >

    < name of xsl: variable = "vrIll_NOTE_TXT" / >

    < name of xsl: variable = "vrIll_NOTE_XT_ID" / >

    < name of xsl: variable = "vrIll_NOTE_TOC_ID" / >

    <!--> Declaration of the variable element

    < name of xsl: variable = "vrIt_ITEM_ID" / >

    < name of xsl: variable = "vrIt_SEQUENCE_NBR" / >

    < name of xsl: variable = "vrIt_ITEM_NBR" / >

    < name of xsl: variable = "vrIt_ITEM_TXT" / >

    < name of xsl: variable = "vrIt_ITEM_TXT_KEY" / >

    < name of xsl: variable = "vrIt_ITEM_TXT_TAG" / >

    < name of xsl: variable = "vrIt_NOUN_USAGE1" / >

    < name of xsl: variable = "vrIt_NOUN_USAGE1_KEY" / >

    < name of xsl: variable = "vrIt_NOUN_USAGE1_TAG" / >

    < name of xsl: variable = "vrIt_NOUNDESC_USAGE2" / >

    < name of xsl: variable = "vrIt_NOUNDESC_USAGE2_KEY" / >

    < name of xsl: variable = "vrIt_NOUNDESC_USAGE2_TAG" / >

    < name of xsl: variable = "vrIt_PHYDESC_USAGE3" / >

    < name of xsl: variable = "vrIt_PHYDESC_USAGE3_KEY" / >

    < name of xsl: variable = "vrIt_PHYDESC_USAGE3_TAG" / >

    < name of xsl: variable = "vrIt_USAGE4_KEY" / >

    < name of xsl: variable = "vrIt_USAGE4_TAG" / >

    < name of xsl: variable = "vrIt_INDENT_LEVEL" / >

    < name of xsl: variable = "vrIt_ILLUSTRATED_FLAG" / >

    < name of xsl: variable = "numberItem" / >

    < name of xsl: variable = "numberofParts" / >

    <! - declaration of variable for part - >

    < name of xsl: variable = "numberPart" / >

    < name of xsl: variable = "vrPartMarket" / >

    < xsl: template match = "CATALOG" >

    < name of xsl: variable = "vrCATALOG_ID" >

    < xsl: value-of select = "CATALOG_ID" / >

    < / xsl: variable >

    < xsl: for-each select = "GROUP" >

    < name of xsl: variable = "vrGROUP_TYPE_ID" >

    < xsl: value-of select = "GROUP_TYPE_ID" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_TOC_ID" >

    < xsl: value-of select = "TOC_ID" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_TOC_ALIAS" >

    < xsl: value-of select = "TOC_ALIAS" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_TOC_TITLE" >

    < xsl: value-of select = "TOC_TITLE" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_TOC_TITLE_KEY" >

    < xsl: value-of select = "TOC_TITLE_KEY" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_TOC_TITLE_TAG" >

    < xsl: value-of select = "TOC_TITLE_TAG" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_ORDER" >

    < xsl: value-of select = "GROUP_ORDER" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_GRAPHIC_ID" >

    < xsl: value-of select = "CHART/GRAPHIC_ID" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_XT_FILE_NAME" >

    < xsl: value-of select = "CHART/XT_FILE_NAME" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_MAPPING_MARKET" >

    < xsl: for-each select = "MAPS/MARKET" >

    <!-< xsl: if test = "text (). = "" >-->

    < xsl: value - of select = "concat(MAPPINGS/MARKET,.,'^')" / >

    <!-< / xsl: if >->

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vr_GROUP_CODE_TYPE" >

    < xsl: for-each select = "MAPPINGS" >

    < xsl: for-each select = "*" >

    < xsl: if test = "text (). = "and (name () = 'FAMILY' or name = 'ENGINE' name () = 'LINE' or name () ="MODEL_YEAR"name () = 'TRANSMISSION' or name = 'BODY' or name () = 'TRIM' or name = 'MARKET' () or name () = 'SERIES')" > "

    < xsl: value - of select = "concat (name (),' > > ',.,'^ ')" / >

    < / xsl: if >

    < / xsl: foreach >

    < xsl: text > + < / xsl: text >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vr_GROUP_CODE" >

    < xsl: value-of select = "0" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_LINE_SHOW" >

    < xsl: value-of select = "LINE_SHOW" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_SERIES_SHOW" >

    < xsl: value-of select = "SERIES_SHOW" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_ENGINE_SHOW" >

    < xsl: value-of select = "ENGINE_SHOW" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_BODY_SHOW" >

    < xsl: value-of select = "BODY_SHOW" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_TRANS_SHOW" >

    < xsl: value-of select = "TRANS_SHOW" / >

    < / xsl: variable >

    < name of xsl: variable = "vrGROUP_TRIM_SHOW" >

    < xsl: value-of select = "TRIM_SHOW" / >

    < / xsl: variable >

    < name of xsl: variable = "vrSEQ_LINE_SHOW" >

    < xsl: for-each select = "*" >

    < xsl: if test = "text () = 'Y'" >

    < xsl: if test = "name () ="LINE_SHOW"" > LINE_SHOW, < / xsl: if >

    < xsl: if test = "name () ="SERIES_SHOW"" > SERIES_SHOW, < / xsl: if >

    < xsl: if test = "name () ="ENGINE_SHOW"" > ENGINE_SHOW, < / xsl: if >

    < xsl: if test = "name () ="BODY_SHOW"" > BODY_SHOW, < / xsl: if >

    < xsl: if test = "name () ="TRANS_SHOW"" > TRANS_SHOW, < / xsl: if >

    < xsl: if test = "name () ="TRIM_SHOW"" > TRIM_SHOW, < / xsl: if >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < xsl: for-each select = "LOGICAL_ILLUSTRATION" >

    < name of xsl: variable = "numberLogIll" >

    < xsl: Number value = "position()" / >

    < / xsl: variable >

    < name of xsl: variable = "vrLogIll_TOC_ID" >

    < xsl: value-of select = "TOC_ID" / >

    < / xsl: variable >

    < name of xsl: variable = "vrLogIll_TOC_ALIAS" >

    < xsl: value-of select = "TOC_ALIAS" / >

    < / xsl: variable >

    < name of xsl: variable = "vrLogIll_TOC_TITLE" >

    < xsl: value-of select = "TOC_TITLE" / >

    < / xsl: variable >

    < name of xsl: variable = "vrLogIll_TOC_TITLE_KEY" >

    < xsl: value-of select = "TOC_TITLE_KEY" / >

    < / xsl: variable >

    < name of xsl: variable = "vrLogIll_TOC_TITLE_TAG" >

    < xsl: value-of select = "TOC_TITLE_TAG" / >

    < / xsl: variable >

    < name of xsl: variable = "vrLogIll_GRAPHIC_ID" >

    < xsl: value-of select = "CHART/GRAPHIC_ID" / >

    < / xsl: variable >

    < name of xsl: variable = "vrLogIll_XT_FILE_NAME" >

    < xsl: value-of select = "CHART/XT_FILE_NAME" / >

    < / xsl: variable >

    < name of xsl: variable = "vrLogIll_MAPPING_MARKET" >

    < xsl: for-each select = "MAPS/MARKET" >

    <!-< xsl: if test = "text (). = "" >-->

    < xsl: value - of select = "concat(MAPPINGS/MARKET,.,'^')" / >

    <!-< / xsl: if >->

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vr_LICODE_TYPE" >

    < xsl: for-each select = "MAPPINGS" >

    < xsl: for-each select = "*" >

    < xsl: if test = "text (). = "and (name () = 'FAMILY' or name = 'ENGINE' name () = 'LINE' or name () ="MODEL_YEAR"name () = 'TRANSMISSION' or name = 'BODY' or name () = 'TRIM' or name = 'MARKET' () or name () = 'SERIES')" > "

    < xsl: value - of select = "concat (name (),' > > ',.,'^ ')" / >

    < / xsl: if >

    < / xsl: foreach >

    < xsl: text > + < / xsl: text >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vr_LICODE" >

    < xsl: value-of select = "0" / >

    < / xsl: variable >

    < xsl: for-each select = "IMAGE" >

    < name of xsl: variable = "numberIllus" >

    < xsl: Number value = "position()" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_TOC_ID" >

    < xsl: value-of select = "TOC_ID" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_TOC_ALIAS" >

    < xsl: value-of select = "TOC_ALIAS" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_TOC_TITLE" >

    < xsl: value-of select = "TOC_TITLE" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_TOC_TITLE_KEY" >

    < xsl: value-of select = "TOC_TITLE_KEY" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_TOC_TITLE_TAG" >

    < xsl: value-of select = "TOC_TITLE_TAG" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_TOC_SUBTITLE" >

    < xsl: value-of select = "TOC_SUBTITLE" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_GRAPHIC_ID" >

    < xsl: value-of select = "CHART/GRAPHIC_ID" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_MARKET" >

    < xsl: for-each select = "MAPS/MARKET" >

    <!-< xsl: if test = "text (). = "" >-->

    < xsl: value - of select = "concat(MAPPINGS/MARKET,.,'^')" / >

    <!-< / xsl: if >->

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vr_ICODE_TYPE" >

    < xsl: for-each select = "MAPPINGS" >

    < xsl: for-each select = "*" >

    < xsl: if test = "text (). = "and (name () = 'FAMILY' or name = 'ENGINE' name () = 'LINE' or name () ="MODEL_YEAR"name () = 'TRANSMISSION' or name = 'BODY' or name () = 'TRIM' or name = 'MARKET' () or name () = 'SERIES')" > "

    < xsl: value - of select = "concat (name (),' > > ',.,'^ ')" / >

    < / xsl: if >

    < / xsl: foreach >

    < xsl: text > + < / xsl: text >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vr_ICODE" >

    < xsl: value-of select = "0" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_XT_FILE_NAME" >

    < xsl: value-of select = "CHART/XT_FILE_NAME" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_NOTE_TXT" >

    < xsl: value-of select = "NOTES/NOTE_TXT" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_NOTE_XT_ID" >

    < xsl: value-of select = "NOTES/XT_ID" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_NOTE_TOC_ID" >

    < xsl: value-of select = "NOTES/TOC_NOTE_ID" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_NOTE_TXT_KEY" >

    < xsl: value-of select = "NOTES/NOTE_TXT_KEY" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIll_NOTE_TXT_TAG" >

    < xsl: value-of select = "NOTES/NOTE_TXT_TAG" / >

    < / xsl: variable >

    < xsl: for-each select = "ITEM" >

    < name of xsl: variable = "numberItem" >

    < xsl: Number value = "position()" / >

    < / xsl: variable >

    < name of xsl: variable = "numberofParts" >

    < xsl: value - of select = "count (descendant::PART)" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_ITEM_ID" >

    < xsl: value-of select = "ITEM_ID" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_SEQUENCE_NBR" >

    < xsl: value-of select = "SEQUENCE_NBR" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_ITEM_NBR" >

    < xsl: value-of select = "ITEM_NBR" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_ITEM_TXT_KEY" >

    < xsl: value-of select = "ITEM_TXT_KEY" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_ITEM_TXT_TAG" >

    < xsl: value-of select = "ITEM_TXT_TAG" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_ITEM_TXT" >

    < xsl: value-of select = "ITEM_TXT" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_NOUN_USAGE1" >

    < xsl: value-of select = "NOUN_USAGE1" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_NOUN_USAGE1_KEY" >

    < xsl: value-of select = "NOUN_USAGE1_KEY" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_NOUN_USAGE1_TAG" >

    < xsl: value-of select = "NOUN_USAGE1_TAG" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_NOUNDESC_USAGE2" >

    < xsl: value-of select = "NOUNDESC_USAGE2" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_NOUNDESC_USAGE2_KEY" >

    < xsl: value-of select = "NOUNDESC_USAGE2_KEY" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_NOUNDESC_USAGE2_TAG" >

    < xsl: value-of select = "NOUNDESC_USAGE2_TAG" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_PHYDESC_USAGE3" >

    < xsl: value-of select = "PHYDESC_USAGE3" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_PHYDESC_USAGE3_KEY" >

    < xsl: value-of select = "PHYDESC_USAGE3_KEY" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_PHYDESC_USAGE3_TAG" >

    < xsl: value-of select = "PHYDESC_USAGE3_TAG" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_USAGE4_KEY" >

    < xsl: value-of select = "USAGE4_KEY" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_USAGE4_TAG" >

    < xsl: value-of select = "USAGE4_TAG" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_INDENT_LEVEL" >

    < xsl: value-of select = "INDENT_LEVEL" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_ILLUSTRATED_FLAG" >

    < xsl: value-of select = "ILLUSTRATED_FLAG" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_REQUIRED_FLAG" >

    < xsl: value-of select = "ITEM_APPLICATION/REQUIRED_FLAG" / >

    < / xsl: variable >

    < name of xsl: variable = "vrIt_SERVICEABLE_FLAG" >

    < xsl: value-of select = "ITEM_APPLICATION/SERVICEABLE_FLAG" / >

    < / xsl: variable >

    < xsl: for-each select = "PARTY" >

    < name of xsl: variable = "numberPart" >

    < xsl: Number value = "position()" / >

    < / xsl: variable >

    < name of xsl: variable = "vrPartChild" >

    < xsl: value - of select = "count (*)" / >

    < / xsl: variable >

    < name of xsl: variable = "vrPartU1" >

    < xsl: value-of select = "NOUN_USAGE1" / >

    < / xsl: variable >

    < name of xsl: variable = "vrPartU2" >

    < xsl: value-of select = "NOUNDESC_USAGE2" / >

    < / xsl: variable >

    < name of xsl: variable = "vrPartU3" >

    < xsl: value-of select = "PHYDESC_USAGE3" / >

    < / xsl: variable >

    < name of xsl: variable = "vrPartTxt" >

    < xsl: value-of select = "ITEM_TXT" / >

    < / xsl: variable >

    < name of xsl: variable = "vrPartMarket" >

    < xsl: for-each select = "ON" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat(MARKET,.,'^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vr_PMARKET" >

    < xsl: for-each select = "ON" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat('M','^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vrPartEngine" >

    < xsl: for-each select = "ENGINE" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat(ENGINE,.,'^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "var_PENGINE" >

    < xsl: for-each select = "ENGINE" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat('E','^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vrPartBody" >

    < xsl: for-each select = "BODY" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat(BODY,.,'^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "var_PBODY" >

    < xsl: for-each select = "BODY" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat('B','^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vrPartLine" >

    < xsl: for-each select = "LINE" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat(LINE,.,'^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "var_PLINE" >

    < xsl: for-each select = "LINE" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat('L','^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vrPartTrim" >

    < xsl: for-each select = "TRIM" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat(TRIM,.,'^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "var_PTRIM" >

    < xsl: for-each select = "TRIM" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat('R','^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vrPartTrimColor" >

    < xsl: for-each select = "TRIM_COLOR" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat(TRIM_COLOR,.,'^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "var_PTRIMCOLOR" >

    < xsl: for-each select = "TRIM_COLOR" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat('C','^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vrPartTrimExt" >

    < xsl: for-each select = "TRIM_EXTERIOR" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat(TRIM_EXTERIOR,.,'^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "var_PTRIMEXT" >

    < xsl: for-each select = "TRIM_EXTERIOR" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat('X','^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vrPartSeries" >

    < xsl: for-each select = "SERIES" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat(SERIES,.,'^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "var_PSERIES" >

    < xsl: for-each select = "SERIES" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat('Z','^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vrPartTrans" >

    < xsl: for-each select = "TRANS" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat(TRANS,.,'^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "var_PTRANS" >

    < xsl: for-each select = "TRANS" >

    < xsl: if test = "text (). = "" >

    < xsl: value - of select = "concat('T','^')" / >

    < / xsl: if >

    < / xsl: foreach >

    < / xsl: variable >

    < name of xsl: variable = "vrPartFamily" >

    < xsl: value - of select = "concat(/CATALOG/APPLICATIONS/FAMILY,'^')" / >

    < / xsl: variable >

    < name of xsl: variable = "var_PFAMILY" >

    < xsl: value - of select = "concat('F','^')" / >

    < / xsl: variable >

    < name of xsl: variable = "vrPartModelYear" >

    < xsl: value - of select = "concat(/CATALOG/APPLICATIONS/MODEL_YEAR,'^')" / >

    < / xsl: variable >

    < name of xsl: variable = "var_PYEAR" >

    < xsl: value - of select = "concat('Y','^')" / >

    < / xsl: variable >

    < name of xsl: variable = "vr_PCODE_TYPE" >

    < xsl: value - of select = "concat($var_PBODY,$var_PTRIMCOLOR,$var_PENGINE,$var_PFAMILY,$var_PLINE,$vr_PMARKET,$var_PTRIM,$var_PTRANS,$var_PTRIMEXT,$var_PYEAR,$var_PSERIES)" / >

    < / xsl: variable >

    < name of xsl: variable = "vr_PCODE" >

    < xsl: value - of select = "concat ($vrPartBody, $vrPartTrimColor, $vrPartEngine, $vrPartFamily, $vrPartLine, $vrPartMarket, $vrPartTrim, $vrPartTrans, $vrPartTrimExt, $vrPartModelYear, $vrPartSeries)" / >

    < / xsl: variable >

    < name of xsl: variable = "varITEM_SALES_CODES" >

    < xsl: value-of select = "ITEM_SALES_CODES" / >

    < / xsl: variable >

    < xsl: value-of select = "$vrCATALOG_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "/ CATALOGUE/APPLICATIONS/MODEL_YEAR" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "/ CATALOGUE/APPLICATIONS/FAMILY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_TOC_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_TOC_ALIAS" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_TOC_TITLE_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_TOC_TITLE_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_ORDER" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrLogIll_TOC_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrLogIll_TOC_ALIAS" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrLogIll_TOC_TITLE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrLogIll_TOC_TITLE_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrLogIll_TOC_TITLE_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_TOC_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_TOC_ALIAS" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_TOC_TITLE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_TOC_TITLE_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_TOC_TITLE_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_TOC_SUBTITLE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_NOTE_TXT_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_NOTE_TXT_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_GRAPHIC_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_XT_FILE_NAME" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_ITEM_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_ITEM_NBR" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_ITEM_TXT_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_ITEM_TXT_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_ITEM_TXT" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_NOUN_USAGE1" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_NOUN_USAGE1_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_NOUN_USAGE1_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_NOUNDESC_USAGE2" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_NOUNDESC_USAGE2_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_NOUNDESC_USAGE2_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_PHYDESC_USAGE3" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_PHYDESC_USAGE3_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_PHYDESC_USAGE3_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_USAGE4_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_USAGE4_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_INDENT_LEVEL" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_ILLUSTRATED_FLAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "ITEM_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "PART_NBR" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "PART_NBR_FORMAT" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "QUANTITY" / >

    < xsl: text > | < / xsl: text >

    < xsl: choose >

    < template test = "$numberofParts = 1 and $vrPartU1 =" and $vrPartU2 = "and $vrPartU3 =" and $vrPartTxt = "and $vrPartChild! = 0 ">

    < xsl: value-of select = "$vrIt_NOUN_USAGE1" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_NOUNDESC_USAGE2" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_PHYDESC_USAGE3" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_ITEM_TXT" / >

    < / xsl: When >

    < xsl: otherwise >

    < xsl: value-of select = "$vrPartU1" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrPartU2" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrPartU3" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrPartTxt" / >

    < / xsl: otherwise >

    < / xsl: choose >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "USAGE_SOURCE" / >

    < xsl: text > | < / xsl: text >

    < xsl: choose >

    < template test = "$varITEM_SALES_CODES =" ">."

    < xsl: text > ST < / xsl: text >

    < / xsl: When >

    < xsl: otherwise >

    < xsl: value-of select = "$varITEM_SALES_CODES" / >

    < / xsl: otherwise >

    < / xsl: choose >

    < xsl: text > | < / xsl: text >

    < xsl: choose >

    < template test = "$numberofParts = 1 and $vrPartU1 =" and $vrPartU2 = "and $vrPartU3 =" and $vrPartTxt = "and $vrPartChild! = 0 ">

    < xsl: value-of select = "$vrIt_NOUN_USAGE1_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_NOUN_USAGE1_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_NOUNDESC_USAGE2_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_NOUNDESC_USAGE2_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_PHYDESC_USAGE3_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_PHYDESC_USAGE3_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_ITEM_TXT_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_ITEM_TXT_TAG" / >

    < / xsl: When >

    < xsl: otherwise >

    < xsl: value-of select = "NOUN_USAGE1_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "NOUN_USAGE1_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "NOUNDESC_USAGE2_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "NOUNDESC_USAGE2_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "PHYDESC_USAGE3_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "PHYDESC_USAGE3_TAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "ITEM_TXT_KEY" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "ITEM_TXT_TAG" / >

    < / xsl: otherwise >

    < / xsl: choose >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "SEQUENCE_NBR" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_TOC_TITLE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_SEQUENCE_NBR" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_GRAPHIC_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_XT_FILE_NAME" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrLogIll_GRAPHIC_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrLogIll_XT_FILE_NAME" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$numberIllus" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$numberItem" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$numberPart" / >

    < xsl: text > | < / xsl: text >

    < xsl: choose >

    < template test = "$vrPartChild = 0" > ".

    < xsl: value-of select = "$vrPartChild" / >

    < / xsl: When >

    < xsl: otherwise >

    < xsl: value-of select = "$numberofParts" / >

    < / xsl: otherwise >

    < / xsl: choose >

    < xsl: text > | < / xsl: text >

    < xsl: choose >

    < template test = "substring($vrGROUP_MAPPING_MARKET,1,1) ='^ '" > ".

    < xsl: text > < / xsl: text >

    < / xsl: When >

    < template test = "contains($vrGROUP_MAPPING_MARKET,'^^')" >

    < xsl: text > < / xsl: text >

    < / xsl: When >

    < xsl: otherwise >

    < xsl: value-of select = "$vrGROUP_MAPPING_MARKET" / >

    < / xsl: otherwise >

    < / xsl: choose >

    <!-< xsl: value-of select = "$vrGROUP_MAPPING_MARKET" / >-->

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vr_GROUP_CODE_TYPE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vr_GROUP_CODE" / >

    < xsl: text > | < / xsl: text >

    < xsl: choose >

    < template test = "substring($vrIll_MARKET,1,1) ='^ '" > ".

    < xsl: text > < / xsl: text >

    < / xsl: When >

    < template test = "contains($vrIll_MARKET,'^^')" >

    < xsl: text > < / xsl: text >

    < / xsl: When >

    < xsl: otherwise >

    < xsl: value-of select = "$vrIll_MARKET" / >

    < / xsl: otherwise >

    < / xsl: choose >

    <!-< xsl: value-of select = "$vrIll_MARKET" / >-->

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vr_ICODE_TYPE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vr_ICODE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$numberLogIll" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrPartMarket" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vr_PCODE_TYPE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vr_PCODE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value - of select = "substring($vrIll_NOTE_TXT,1,3999)" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_NOTE_XT_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIll_NOTE_TOC_ID" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_LINE_SHOW" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_SERIES_SHOW" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_ENGINE_SHOW" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_BODY_SHOW" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_TRANS_SHOW" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrGROUP_TRIM_SHOW" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrSEQ_LINE_SHOW" / >

    < xsl: text > | < / xsl: text >

    <!-< xsl: value-of select = "$vrLogIll_MAPPING_MARKET" / >-->

    < xsl: choose >

    < template test = "substring($vrLogIll_MAPPING_MARKET,1,1) ='^ '" > ".

    < xsl: text > < / xsl: text >

    < / xsl: When >

    < template test = "contains($vrLogIll_MAPPING_MARKET,'^^')" >

    < xsl: text > < / xsl: text >

    < / xsl: When >

    < xsl: otherwise >

    < xsl: value-of select = "$vrLogIll_MAPPING_MARKET" / >

    < / xsl: otherwise >

    < / xsl: choose >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vr_LICODE_TYPE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vr_LICODE" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_SERVICEABLE_FLAG" / >

    < xsl: text > | < / xsl: text >

    < xsl: value-of select = "$vrIt_REQUIRED_FLAG" / >

    < xsl: text > # < / xsl: text >

    < / xsl: foreach >

    < / xsl: foreach >

    < / xsl: foreach >

    < / xsl: foreach >

    < / xsl: foreach >

    < / xsl: template >

    [< / xsl: stylesheet >]';

    I am getting error below.

    [Error] Execution (2: 1): ORA-01704: string literal too long.

    Please help me on this

    You cannot insert more than 4000 characters. Use Pl/SQL as below

    DECLARE

    Str VARCHAR2 (32767).

    BEGIN

    Str: =.

    q']

    http://www.w3.org/1999/XSL/transform">

       

     

     

     

     

     

     

     

     

    ++

     

     

     

     

     

     

          

    LINE_SHOW,

    SERIES_SHOW,

    ENGINE_SHOW,

    BODY_SHOW,

    TRANS_SHOW,

    TRIM_SHOW,

                  

      

     

     

    ++

      

                  

       

           

     

    ++

                  

                  

                          

                  

                   

                   

                   

                   

                   

     

     

          

     

          

          

          

          

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    ST

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    |

    #####

    ]';

    INSERT IN the text (A)

    VALUES (str);

    END;

  • extracting data from the CLOB using materialized views

    Hello

    We have xml data from clob which I have a requirement to extract (~ 50 attributes) on a daily basis, so we decided to use materialized views with refreshes full (open good suggestions)

    A small snippet of code

    CREATE THE MWMRPT MATERIALIZED VIEW. TASK_INBOUND

    IMMEDIATE CONSTRUCTION

    FULL REFRESH ON DEMAND

    WITH ROWID

    AS

    SELECT M.TASK_ID, M.BO_STATUS_CD, b.*

    OF CISADM. M1_TASK m,

    XMLTABLE (' / a ' XMLPARSE PASSING ())

    CONTENT '< a > | M.BO_DATA_AREA | "< /a >."

    ) COLUMNS

    serviceDeliverySiteId varchar2 (15) PATH

    "cmPCGeneralInfo/serviceDeliverySiteId"

    serviceSequenceId varchar2 (3) PATH "cmPCGeneralInfo/serviceSequenceId"

    completedByAssignmentId varchar2 (50) PATH "completedByAssignmentId."

    Cust_id varchar2 (10) PATH "cmPCCustomerInformation/customerId,"

    ACCT_SEQ varchar2 (5) PATH "customerInformation/accountId"

    AGRMT_SEQ varchar2 (5) PATH cmPCCustomerAgreement/agreementId"."

    COLL_SEQ varchar2 (5) PATH "cmPCGeneralInfo/accountCollectionSeq"

    REVENUE_CLASS varchar2 (10) PATH "cmPCCustomerAgreement/revenueClassCode"

    REQUESTED_BY varchar2 (50) PATH ' attributes customerInformation/contactName',...~50

    This ddl ran > 20 hours and no materialized view created. There are certain limits that we have

    • Cannot create a materialized view log
    • cannot change the source as its defined provider table
    • cannot do an ETL

    DB is 11g R2

    Any ideas/suggestions are very much appreciated

    I explored a similar approach, using the following test case.

    It creates a table "MASTER_TABLE" containing 20,000 lines and a CLOB containing an XML fragment like this:

    09HOLVUF3T6VX5QUN8UBV9BRW3FHRB9JFO4TSV79R6J87QWVGN

    UUL47WDW6C63YIIBOP1X4FEEJ2Z7NCR9BDFHGSLA5YZ5SAH8Y8

    O1BU1EXLBU945HQLLFB3LUO03XPWMHBN8Y7SO8YRCQXRSWKKL4

    ...

    1HT88050QIGOPGUHGS9RKK54YP7W6OOI6NXVM107GM47R5LUNC

    9FJ1JZ615EOUIX6EKBIVOWFDYCPQZM2HBQQ8HDP3ABVJ5N1OJA

    then an intermediate table "MASTER_TABLE_XML" with the same columns with the exception of the CLOB which turns into XMLType and finally a MVIEW:

    SQL > create table master_table like

    2. Select level as id

    3, cast ('ROW' | to_char (Level) as varchar2 (30)) as the name

    4       , (

    5. Select xmlserialize (content

    XMLAGG 6)

    7 xmlelement (evalname ('ThisIsElement' | to_char (Level)), dbms_random.string ('X', 50))

    8                    )

    9 as clob dash

    10                  )

    11 double

    12 connect by level<=>

    (13) as xmlcontent

    14 double

    15 connect by level<= 20000="">

    Table created.

    SQL > call dbms_stats.gather_table_stats (user, 'MASTER_TABLE');

    Calls made.

    SQL > create table (master_table_xml)

    Identification number 2

    3, name varchar2 (30)

    4, xmlcontent xmltype

    5)

    binary xmltype 6 securefile XML column xmlcontent store

    7;

    Table created.

    SQL > create materialized view master_table_mv

    2 build postponed

    full 3 Refresh on demand

    4, as

    5. Select t.id

    6, t.nom

    7       , x.*

    master_table_xml 8 t

    9, xmltable ('/ r' in passing t.xmlcontent)

    10 columns

    11 path of varchar2 (50) ThisIsElement1 'ThisIsElement1 '.

    12, path of varchar2 (50) ThisIsElement2 'ThisIsElement2 '.

    13, path of varchar2 (50) ThisIsElement3 'ThisIsElement3 '.

    14, path of varchar2 (50) ThisIsElement4 'ThisIsElement4 '.

    15 road of varchar2 (50) ThisIsElement5 'ThisIsElement5 '.

    16, road of varchar2 (50) ThisIsElement6 'ThisIsElement6 '.

    17 road of varchar2 (50) ThisIsElement7 'ThisIsElement7 '.

    18 road of varchar2 (50) ThisIsElement8 'ThisIsElement8 '.

    19 road to varchar2 (50) ThisIsElement9 'ThisIsElement9 '.

    20, path of varchar2 (50) ThisIsElement10 'ThisIsElement10 '.

    21, road to varchar2 (50) ThisIsElement11 'ThisIsElement11 '.

    22 road of varchar2 (50) ThisIsElement12 'ThisIsElement12 '.

    23 road of varchar2 (50) ThisIsElement13 'ThisIsElement13 '.

    24, path of varchar2 (50) ThisIsElement14 'ThisIsElement14 '.

    25 road of varchar2 (50) ThisIsElement15 'ThisIsElement15 '.

    26, path of varchar2 (50) ThisIsElement16 'ThisIsElement16 '.

    27, way to varchar2 (50) ThisIsElement17 'ThisIsElement17 '.

    28 road of varchar2 (50) ThisIsElement18 'ThisIsElement18 '.

    29 road of varchar2 (50) ThisIsElement19 'ThisIsElement19 '.

    30, path of varchar2 (50) ThisIsElement20 'ThisIsElement20 '.

    31, path of varchar2 (50) ThisIsElement21 'ThisIsElement21 '.

    32 road of varchar2 (50) ThisIsElement22 'ThisIsElement22 '.

    33, path of varchar2 (50) ThisIsElement23 'ThisIsElement23 '.

    34 road of varchar2 (50) ThisIsElement24 'ThisIsElement24 '.

    35 road of varchar2 (50) ThisIsElement25 'ThisIsElement25 '.

    36, road to varchar2 (50) ThisIsElement26 'ThisIsElement26 '.

    37, path of varchar2 (50) ThisIsElement27 'ThisIsElement27 '.

    38, path of varchar2 (50) ThisIsElement28 'ThisIsElement28 '.

    39, path of varchar2 (50) ThisIsElement29 'ThisIsElement29 '.

    40, road of varchar2 (50) ThisIsElement30 'ThisIsElement30 '.

    41 road of varchar2 (50) ThisIsElement31 'ThisIsElement31 '.

    42, path of varchar2 (50) ThisIsElement32 'ThisIsElement32 '.

    43, road to varchar2 (50) ThisIsElement33 'ThisIsElement33 '.

    44, path of varchar2 (50) ThisIsElement34 'ThisIsElement34 '.

    45, path of varchar2 (50) ThisIsElement35 'ThisIsElement35 '.

    46, path of varchar2 (50) ThisIsElement36 'ThisIsElement36 '.

    47, path of varchar2 (50) ThisIsElement37 'ThisIsElement37 '.

    48, path of varchar2 (50) ThisIsElement38 'ThisIsElement38 '.

    49, path of varchar2 (50) ThisIsElement39 'ThisIsElement39 '.

    50 road of varchar2 (50) ThisIsElement40 'ThisIsElement40 '.

    51, path of varchar2 (50) ThisIsElement41 'ThisIsElement41 '.

    52, path of varchar2 (50) ThisIsElement42 'ThisIsElement42 '.

    53, path of varchar2 (50) ThisIsElement43 'ThisIsElement43 '.

    54, path of varchar2 (50) ThisIsElement44 'ThisIsElement44 '.

    55 road of varchar2 (50) ThisIsElement45 'ThisIsElement45 '.

    56, path of varchar2 (50) ThisIsElement46 'ThisIsElement46 '.

    57, path of varchar2 (50) ThisIsElement47 'ThisIsElement47 '.

    58 road of varchar2 (50) ThisIsElement48 'ThisIsElement48 '.

    59 road of varchar2 (50) ThisIsElement49 'ThisIsElement49 '.

    60 road of varchar2 (50) ThisIsElement50 'ThisIsElement50 '.

    (61) x;

    Materialized view created.

    The discount is then performed in two steps:

    1. INSERT INTO master_table_xml
    2. Refresh the MVIEW

    (Note: as we insert in an XMLType column, we need an XML (only root) document this time)

    SQL > set timing on

    SQL >

    SQL > truncate table master_table_xml;

    Table truncated.

    Elapsed time: 00:00:00.27

    SQL >

    SQL > insert into master_table_xml

    2. select id

    3, name

    4, xmlparse (document '' |) XmlContent |'')

    5 master_table;

    20000 rows created.

    Elapsed time: 00:04:38.72

    SQL >

    SQL > call dbms_mview.refresh ('MASTER_TABLE_MV');

    Calls made.

    Elapsed time: 00:00:22.42

    SQL >

    SQL > select count (*) in the master_table_mv;

    COUNT (*)

    ----------

    20000

    Elapsed time: 00:00:01.38

    SQL > truncate table master_table_xml;

    Table truncated.

    Elapsed time: 00:00:00.41

  • problem with the CLOB type

    Hello, I am a beginner, I have a problem with the CLOB type, please help me
    I want to write the input file is filename and string base64, then output decoded base64 content in dicrectory location (for example C:\),my code was executed but if entry with base64 long string, it displays error)
    ORA-29285: file write error
    ORA-06512: at "SYS.UTL_FILE", line 136
    ORA-06512: at "SYS.UTL_FILE", line 813
    ORA-06512: at "SYSTEM.WRITED", line 9
    ORA-06512: at line 1
    29285. 00000 -  "file write error"
    *Cause:    Failed to write to, flush, or close a file.
    *Action:   Verify that the file exists, that it is accessible, and that
               it is open in write or append mode.
    And this is my code
    create or replace directory dir_temp as 'C:\';
    /
    create or replace procedure writed(filename varchar2,code  clob)
    as
      f utl_file.file_type;
      v_lob          BLOB;  
    
    begin
      v_lob :=  UTL_ENCODE.BASE64_DECODE( UTL_RAW.CAST_TO_RAW(to_char(code)) ); 
      f := utl_file.fopen('DIR_TEMP', filename, 'w');
      utl_file.put_line(f,to_clob(utl_raw.cast_to_varchar2(v_lob)));  
      utl_file.fclose(f); 
    end;
    Thank you
    DBMS_XSLPROCESSOR.clob2file(
      cl => l_clob
    , flocation => 'XML_LOG'
    , fname => myfile_name
    );
    

    for example

    SQL> ed
    Wrote file afiedt.buf
    
      1  declare
      2    type t_emps is table of emp%ROWTYPE;
      3    v_emps    t_emps;
      4    --
      5    v_clob    clob;
      6    v_newline varchar2(2) := chr(13)||chr(10);
      7  begin
      8    -- get the rows into a PL/SQL collection of records
      9    select *
     10    bulk collect into v_emps
     11    from emp;
     12    -- build up the CLOB
     13    v_clob := 'EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO';
     14    for i in 1..v_emps.count
     15    loop
     16      v_clob := v_clob||v_newline||
     17                to_char(v_emps(i).empno,'fm9999')||','||
     18                v_emps(i).ename||','||
     19                v_emps(i).job||','||
     20                to_char(v_emps(i).mgr,'fm9999')||','||
     21                to_char(v_emps(i).hiredate,'YYYYMMDD')||','||
     22                to_char(v_emps(i).sal,'fm99999')||','||
     23                to_char(v_emps(i).comm,'fm99999')||','||
     24                to_char(v_emps(i).deptno,'fm99');
     25    end loop;
     26    -- write the CLOB to a file
     27    DBMS_XSLPROCESSOR.clob2file(cl => v_clob, flocation => 'TEST_DIR', fname => 'myfile.csv');
     28* end;
    SQL> / 
    
    PL/SQL procedure successfully completed.
    
  • parser for the clob procedure

    Please need support for this issue,
    I've marked procedure in table Analyzer with clob column, procedure is stop analysis table after analyzing some of the procedure of howevere records is runing but without analysis
    remaining recored
    procdeure is
    ###############################################################################################
    CREATE OR REPLACE PROCEDURE ARCH_DEV.parser_tst (v_src_table varchar2, varchar2 v_trgt_table)
    IS
    CLOB curr_value;
    DELIM number (14);
    ret_value varchar2 (300);
    v_sql VARCHAR2 (250);
    TYPE cur_typ IS REF CURSOR;
    v_cursor2 cur_typ; -Here, you declare a variable for the cursor
    v_ID varchar2 (250); -The variables that save the query retriving data
    CLOB v_Value;

    BEGIN
    v_sql: =' select ITEMID, REC of ' | v_src_table;

    V_cursor2 OPEN FOR v_sql; -WITH THE HELP OF "TESTNEW;
    LOOP
    -Get the retrievied of data by the cursor variables
    EXTRACT v_cursor2 INTO v_ID, v_Value;
    EXIT WHEN v_cursor2% NOTFOUND;

    -the value of the original string
    curr_value: = v_value;

    -Loop to divide the value chain
    loop

    DELIM: = instr (curr_value, chr (254), 1, 1);

    If (delim! = 0)
    Then
    ret_value: = substr (curr_value, 1, (delim-1));
    else - last repeated value
    ret_value: = curr_value;
    end if;


    -Insert in the table target
    run immediately 'insert'. v_trgt_table | "VALUES (' |") ' || v_id||''''||','||''''|| ret_value | " ' ||') ' ;

    -the new value again after the substring
    curr_value: = substr (curr_value, (delim + 1));
    OUTPUT WHEN delim = 0;
    end loop;
    commit;
    end loop;
    CLOSE V_cursor2;
    -END LOOP;
    END parser_tst;
    /

    I create my own test table:

    create the table v_src_table (a number, c clob);

    insert into v_src_table values (1, 'text1, text2, Text3');
    insert into v_src_table values (2, 'example1, example2, 3, example4, Exemple5');
    insert into v_src_table values (3, 'something');

    commit;

    Procedure for analyzing the CLOB in the table is something like that

    declare
    POS pls_integer;
    del pls_integer;
    v_delimiter varchar2 (1): = ', ';
    v_text varchar2 (32767).
    Start
    to news in a loop (select a, v_src_table c)
    POS: = 1;
    loop
    del: = dbms_lob.instr(cur.c,v_delimiter,pos);
    If del = 0 then
    v_text: = dbms_lob.substr (lob_loc-online cur.c, offset-online pos);
    on the other
    v_text: = dbms_lob.substr(cur.c,del-pos,pos);
    POS: = del + 1;
    end if;
    dbms_output.put_line (cur.a |) » '|| v_text);
    If del = 0 then
    "exit";
    end if;
    end loop;
    end loop;
    end;

    1 Text1
    1 Text2
    1 Text3
    2 1 example
    2 example 2
    3 2
    Example4 2
    Exemple5 2
    3 anything

    Answer to your question might be this instr function or substr can not success carried on in CLOB-s that are more than 32767 bytes long, because these functions are string functions.
    Also in my procedure (just for example), you should consider that the substrings between two delimiters is not longer than 32 k. .. and a few other considerations also (nls_length_semantics, nls_characterset).

  • Xml file for reading in the clob in the staging table column

    Hello

    I am trying to query the intermediate table with the database adapter that has the column type CLOB containing the XML file. How to extract the XML of CLOB and map the fields to the another final scheme variable.

    Thank you

    Published by: chaitu123 on Sep 20, 2009 08:16

    (1) when you create DBAdapter on a table that has the clob column watch closely the xsd created for the DBAdapter cloumn clob element must be a String data type

    (2) create xsd for Xml files and create the variable of the xsd element

    (3) use ora:parseEscapedXML("yourDBAdapterclobElement") for XmlFileVarilable

    Krishna

  • Change the setting from VarChar2 to the CLOB

    Hello

    I have a csvToArray function which takes a csv string and converts it to an array.

    PROCEDURE csvToArray (p_csvString IN VarChar2,
    p_count ON PLS_INTEGER,
    p_array OUT ARRAY_T) IS...

    Unfortunately, the size of the csvString passed in exceeds 32K, so I thought to change the csvString from Varchar2 to CLOB type, i.e.

    PROCEDURE csvToArray (p_csvString IN CLOB,
    p_count ON PLS_INTEGER,
    p_array OUT ARRAY_T) IS...

    The procedure uses only the string substr and instr functions to search for items in the csv string to put in a table.

    I tested the change and it works, but I should consider with the change to the data type, or will that always precedes work properly? Extreme max of p_csvString size would be around 150 K.

    Version of database is 10.2.0.4.0


    Thank you

    Since you're on 10.2, SUBSTR and INSTR functions were overcrowded to handle the CLOB, then you should be fine.

    Justin

  • SQL with APEX_ITEM.textarea for the display of the CLOB

    Hi all

    I need help here. I just changed my Varchar2 to the CLOB data type and now my region to report that uses APEX_ITEM.textarea to display CLOB data is broken.
    I found a thread saying to use wwv_flow_utilities.clob_to_varchar2 as follows
    SELECT A.REVIEW_ID, apex_item.textarea(1,wwv_flow_utilities.clob_to_varchar2(A.COMMENTS),200) comments
    FROM SKILLSET_REVIEW A
    where review_id = 200905000198
    It gives me this error.

    ORA-06502: PL/SQL: digital or value error: character string buffer too small

    can anyone help?
    I hope to display the entire contents of the CLOB.

    Hi, Joel,

    I had the same problem and here is the solution I found. You can really limit the size of the values of columns returned in the SQL queries to 4000, but if you use this text box to change the value of the column, you must show all of the text. There is no such limit if you use CLOB in SQL. So if you do the apex_item.textarea function to return the CLOB instead of varchar2 (32767), you will then be able to call from SQL. I created a stored PL/SQL function that takes as argument the CLOB value column, then calls apex_item.textarea, converts the returned CLOB value and returns this CLOB, it looks like this:

    function apex_item_textarea_clob (p_column_value in clob,
    number of p_textarea_rows
    number of p_textarea_cols)

    CLOB is back
    CLOB v_str;
    Start
    v_str: = to_clob (apex_item.textarea (1)
    wwv_flow_utilities.clob_to_varchar2 (p_column_value),
    p_textarea_rows,
    p_textarea_cols));
    Return v_str;
    end;

    Then, in the SQL query, I call this function (e.g. apex_item_textarea_clob(1,A.COMMENTS,4,60) ) instead of apex_item.textarea(18,A.COMMENTS,4,60). And another thing, you can use apex_application.g_f1 (i) in the process of PL/SQL page as when using apex_item.textarea. In this way, you can view and change values up to 32767, because the apex_item.textarea argument type is varchar2, but it's better than 4000. It works fine for me.

    Mimi

  • looking for someone to help me with this problem. "It is no set application to open the document"stream_000b.strings ". "How can I get rid of him. pls help

    I get this message when I turn my macbook pro on "there is no set of application to open the document"stream_000b.strings ". "How can I get rid of him. pls help

    Check preferences system/users and groups to see if this item is in your login items. If so, select it and use the sign less to remove.

    If she is not there, see if you can find the file by using one of these programs. If you go Finder/display/show bar path, it will show you where it is located. You can then remove it.

    EasyFind-replacement of Spotlight

    Find any file

  • Why can I not use 'Open the message in a conversation' more?

    We are 4 users and both of them have version 24.3.0, and two are on 24.4.0.
    We use the option "open message in the conversation" a lot and all of a sudden this option is no longer available. Is there a setting that could have been changed to make it happen?
    The only thing that has changed is that I have rearranged our records using "manually sort folders" - this could it be?

    All messages with a thread of before yesterday are always available with "open message in the conversation", but anything in the afternoon yesterday do not display the option when you right-click and using the swift short ctrl O does nothing.

    Any suggestions, what could be wrong are very welcomed.

    Thanks guys,.

    I think I managed to do the sorting now. I've done the following:
    See help at the top and choose "restart with disabled modules.
    Are you sure...? Press "restart".
    It will now ask you if you want to start in safe mode. Choose this option.
    The "manually sort folders work" is now disabled.
    Now close Thunderbird and wait a bit.
    Now open again, check if you have the Add-ons back - manually sort folders.
    Try to click an email again to view the message in a conversation.
    And so it works with adding on and open it in the conversation. Very strange but if it works, I'm happy.

Maybe you are looking for