Question about pipe delimited values

Hi all

Is there any function in Oracle to separate the pipe delimited values? (ex:-ABC |) DEF | IGS)

I have data in a table as follows:

table sampletable
(
name varchar2 (10),
place varchar2 (10),
VARCHAR2 (50) data.
Description varchar2 (100),
Remarks varchar2 (100)
)


Data place name Description remarks
------- ------- ------- -------------- -----------
John SD AB | BC | OF desc1 no
Jim ND X | Y desc2 no
CA Mike data1 desc3 no
Barry MA data2 desc4 no

Now I need to retrieve each row of the table, and if the 'Data' column contains the values of pipe delimited, I insert info into a new line. Finally, the data for the table above should be in the form:

Data place name Description remarks
------- ------- ------- -------------- -----------
John SD AB desc1 no
John SD BC desc1 no
John desc1 SD no
Jim ND X desc2 no
Jim ND Y desc2 no
CA Mike data1 desc3 no
Barry MA data2 desc4 no


Thank you.

here in the logic that you have provided, data are hardcoded and you pick it double...

The WITH clause has been used only to simulate you not table, knapen. The WITH clause is heavily used for this on this forum.
You can omit the WITH clause yourself and use only the SELECT part of the example of knapen.
Thus, simply use:

select name, place, regexp_substr(data, '[^|]*',1,no) data, des, remark
  from t,
       (
       select level no
         from dual
      connect by level <= (
                            select max(length(data)-length(replace(data,'|'))+1) len
                              from t
                          )
       )
 where regexp_substr(data, '[^|]*',1,no) is not null
 order by name, no

and adjust the name of the table and the columns according to your needs...

Tags: Database

Similar Questions

  • A question about the COLSEP VALUE ' |'

    Hello everyone,


    I have a question to direct the output of the query in a TXT file. At the beginning of my sql script file, I write
    SET TRIMSPOOL ON;
    SET COLSEP '|';
    This allows me to have the result of the query as a pipe delimited file. However, there are still several characters of space between the pipe and the columns, i.e., for example instead of having
    a1|b1|c1|d1
    a2|b2|c2|d2
    a3|b3|c2|d3
    Get the following:
    a1   |   b1   |   c1  |  d1
    a2   |   b2   |   c2  |  d2
    a3   |   b3   |   c2  |  d3
    As long as you open the file with Excel, this is not really a problem, but the problem is that my TXT file is read directly by a Korn shell script and these unwanted spaces cause problem. Is it possible to get rid of them?


    Thanks in advance,

    Kind regards
    Dariyoosh

    Hello

    Instead:

    SELECT       empno
    ,       ename
    ,       comm
    ,       sal
    FROM       scott.emp
    ;
    

    do something like this:

    
    SELECT       empno
    || '|' || ename
    || '|' || comm
    || '|' || sal          AS "EMPNO|ENAME|COMM|SAL"
    FROM       scott.emp
    ;
    

    Here's why:

    SQL * more output is designed for people to read. When you run the first query (with four separate columns) SQL * Plus aligns columns carefully to make it easy for you to read, like this:

    .    EMPNO|ENAME     |      COMM|       SAL
    ----------|----------|----------|----------
          7369|SMITH     |          |       800
          7499|ALLEN     |       300|      1600
          7521|WARD      |       500|      1250
          7566|JONES     |          |      2975
    ...
    

    All columns NUMBER take a fixed number of spaces on the output line (10 in this example, because I had the defect of NUMLARGEUR). SQL * over looked in the data dictionary, namely that the ename column was defined as VARCHAR2 (10), so it has allowed 10 characters for the ename. There are some things you can do in SQL (like TO_CHAR and SUBSTR) which will have an impact on the minimum number of characters needed to display, but SQL * Plus will be key always the columns to a fixed length, so that the next column align carefully.
    It would be so good if SQL * Plus had a SET command to change this behavior, but it doesn't.
    TRIMSPOOL removes only white space at the end of a line; It has nothing to do with a space before the last visible character.

    The workaround is to cram everything into a gigantic VARCHAR2 column. The | operator implicitly converts one of the operands to strings (if they are not already strings), but you can explicitly call TO_CHAR into the format in some way.
    The output of the second query above will be:

    EMPNO|ENAME|COMM|SAL
    --------------------------------------------------------------------------------
    7369|SMITH||800
    7499|ALLEN|300|1600
    7521|WARD|500|1250
    7566|JONES||2975
    ...
    

    Given that the game only includes a column, it does not matter what is COLSEP; you might as well leave the default value.

  • A small Question about getting the value of an element via a variable.

    Hello

    My database is 11 GR 2, form server 10g.

    I have a canvas named canvas14, there is a multi-onglet inside (tab1, tab2).

    In the "Key-Exit" trigger, I would get the name of the current tab and do something then exit_form.

    To get the name of the tab, I used a function as follows.

    FUNCTION getTabName RETURN varchar2 IS

    tp_nm VARCHAR2 (30);

    tp_ID TAB_PAGE;

    tp_lb VARCHAR2 (30);

    BEGIN

    tp_nm: = GET_CANVAS_PROPERTY ('CANVAS14', topmost_tab_page);

    tp_ID: = FIND_TAB_PAGE (tp_nm);

    tp_lb: = GET_TAB_PAGE_PROPERTY (tp_id, label);

    Return tp_lb;

    END;

    Key-release trigger, my share of the code follows.

    v_Name: = getTabName;

    v_item: = ':'. v_Name |'. the ';

    If v_item is not null then

    clear_form;

    on the other

    exit_form;

    end if;

    v_item is: tab1.des now. I want to get the value of: tab1.des.

    How to get the value of v_item, not the variable itself?

    Thanks in advance.

    Phil

    Use NAME_IN with the itemname without the colon as

    value: = NAME_IN ('tab1.des');

  • Question about the return value of tpacall

    In an application, tpacall() is called. But its return value is always 64 and tperrno is always 0. Furthermore, tpsterror (tperrno) has no content.

    Example code:

    char * buf;
    int len;

    buf = (char *) tpalloc ("X_OCTET", NULL, sendlen);
    Memset (buf, 0, 1000);
    Len = sprintf (buf, "abc");
    RET = tpacall ("SERVICENAME", buf, len, TPNOTRAN);
    If (ret! = 0) {}
    log_error ('tpacall failed ret = [%d] ", ret);
    log_error ("tpacall SERVICENAME = [%d]-[%s]", tperrno, tpstrerror (tperrno));
    TPFREE (BUF);
    Returns - 1;
    }

    Could someone there explain to me? Thx a lot.

    The only error return value of tpacall() is - 1. Any other return value indicates a success and is a call handle that can then be passed to tpgetrply(). (The only exception is when the TPNOREPLY indicator is used, in which case the return value on success is 0 instead of a descriptor of appeal.)

    Ed

  • A question about the insertion of the localTimeStamp returned the value into a timestamp with time zone column

    Hello

    Oracle version: Enterprise Edition Release 12.1.0.1.0 - 64 bit

    OS: CentOS 4.6 X86_64                  

    I have a question about the localTimeStamp function. According to the documentation for this function is
    the same thing as current_TimeStamp except that the returned value does not include the time zone.

    Consider the following example:

    SQL > create table tmptab (colval timestamp with time zone not null);

    Table created.

    SQL > insert into tmptab (colval) values (localTimeStamp);

    1 line of creation.

    SQL > select t1.colval, tmptab from t1;

    COLVAL

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

    24 JANUARY 14 09.45.42.253732 H + 01:00

    SQL >

    Why introduce the foregoing did not fail? the data type of the column in my table colval expects a timestamp with time zone

    during each which inserts as I understand (correct me if I'm wrong) is not provided by the localTimeStamp function.

    Could someone kindly tell me what I misunderstood?

    Thanks in advance,

    dariyoosh wrote:

    Hello

    Oracle version: Enterprise Edition Release 12.1.0.1.0 - 64 bit

    OS: CentOS 4.6 X86_64                  

    I have a question about the localTimeStamp function. According to the documentation for this function is
    the same thing as current_TimeStamp except that the returned value does not include the time zone.

    Consider the following example:

    SQL > create table tmptab (colval timestamp with time zone not null);

    Table created.

    SQL > insert into tmptab (colval) values (localTimeStamp);

    1 line of creation.

    SQL > select t1.colval, tmptab from t1;

    COLVAL

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

    24 JANUARY 14 09.45.42.253732 H + 01:00

    SQL >

    Why introduce the foregoing did not fail? the data type of the column in my table colval expects a timestamp with time zone

    during each which inserts as I understand (correct me if I'm wrong) is not provided by the localTimeStamp function.

    Could someone kindly tell me what I misunderstood?

    Thanks in advance,

    Then, when you do

    create table t (neck DATE);

    Insert into t (to_date ('1st January 2014', ' mon-dd-yyyy "");)

    Are you surprised that it works? After all a DATE column contains a time component, you do not provide: but he

    works and gives you 00:00:00 as the component "hour".

    Similarly, the timezone component is being developed to automatically with, I think, time zone of your system.

  • Exam question-value of the point and unanswered questions about the VCP4 exam?

    Hello

    I have a few questions about the scoring to secure Channel 4 review system:

    1. All the questions on the exam are weighted the same?

    2. Is there a penalty for unanswered questions?  In other words, is it better to not answer a question, if you are sure that you do not know the answer, or take a guess if it comes down to it?

    Thank you very much

    Bryan

    Not responding not to an element, it is the same thing that answer wrongly as far as scoring is concerned, so it makes sense to guess rather than leave the question unanswered.

    With respect to the weighting, all elements have the same weight in the VCP exam, but some items do not count against the overall score.  These "dosed" items continually change and are chosen at random.  We insert elements assayed to determine the validity of the element until it became a party has received from the real exam.  If however, you want to treat each item with an equal amount of importance.

    Hope this helps,

    Jon C. Hall

    Technical developer certification

    [email protected]

    2077 Loma Linda way n., Clearwater, FL 33763

    727-446-8430 Office

    727-460-8448 Mobile

    Fax 702-554-3727

  • Questions about an average of response spectrum and frequency of feeding mode.

    Hello

    I have a few questions about an average of mode. When I generate a sinusoidal signal from one output to two input channels channel to see if my DAQ card works well and vector averaged in the power spectrum for DFT, the amplitudes was different from the previous one of the amplitude, which was supposed to be 1 v peak. They range from 0.5 v to 0.6 v peak. When the calculation of the average model is RMS, the amplitudes were close to 1. I wonder what are the fomulas of RMS and average vector. Does that mean that I could not accurate if I use an average of vector? In a time of frequency response, why I coherences of difference and the amplitudes using the vector and the mean quadratic value?

    Thank you

    Ningyu

    rico1985,

    The differences in modes of generation are as they sound: 1 sample output only a sample writing, N samples will be released however many samples configure you for each entry, and the continuous samples released samples continuously until a specified user action happens (you press the stop button or a logic that you created gets fulfulled). The range of Signal output allows you to set a ceiling high and low level of your output signal and it only affects the quality keeping in this beach. Timing to set a deadline for the time between the acquisition of the sample. If a new sample becomes unavailable before the timeout setting, you will get an error. This is useful for looking at a network, because if the network goes down and you stop getting data from a machine and then you would like to know about it. I point you to those videos that are short tutorials on how to make the most of these actions in SignalExpress.The SignalExpress 3.0 Help file is also your first point of contact for all your questions on getting started. These two resources should get you up and running in SignalExpress in no time. (either by the way all your questions answered using these resources) Bravo!

  • Hello Mr President! I have a few questions about the Word report generation please.1.How can I add a border to a page in word? 2. How can I add gridlines to a table generated related word?. Can 3. how I add a border to a picture of the Word report?. Thank

    Hello!

    Sir, I have a few questions about generating word reports using (C language in labwindows) please.

    1. How can I add a border to a page in word?

    2. How do I add border lines and grid to a table generated in Word report (not "cvi control table"inserted from gui, I wonder about the table generated in Word report)?

    3. How can I fill a table cell of report word with the data type other than 'character '.

    And sir a question on the use of the timer in labwindows cvi please.

    Sir, I'm trying to set a time minimum interval timer to 1millisecond (0.001 s), that I have set, timer cares about the interval set by me he only meets the minimum default time interval which is, I think as 10milliseconds (I'm using windows xp service Pack 3 version 2002).

    Concerning

    Imran

    Pakistan

    Have you read this statement ? It explains how to set the registry value:

    If the REG_SZ useDefaultTimer does not already exist, you must create it under HKEY_LOCAL_MACHINE\SOFTWARE\National Instruments\CVI Run-Time Engine\cvirte. "" This can be done navigate to the appropriate folder, and then click Edit "New" string value. Then, click on means the name of the new value created, select Rename, and then specify useDefaultTimer as the name. Finally, double click on the name and specify the value True or False.

  • A Question about debugging...

    Hi all

    I have a question about debugging - specific probes. Is it possible to link and save the values on a wire (with a probe) which is a loop for the loop counter (or even a secondary value)?

    When I'm debugging code to a state machine that I often more easy to wire to the top of the State and the value, I am interested in a cluster, and then use 'generation antenna' and a registry change to add this element to each loop. I could also do this by indexing just out of the loop too.

    Once execution completes etc that I can look at the table (either using an indicator or a problem) to see what has happened to the value to each State/loop. And often, I know exactly where my code was wrong.

    My question is: is there a way to do this using regular probes without having to build an array? So, for example, I probe a digital wire and get a table of responses rather than just the last value on the wire?

    Thank you

    Dave

    I found this nugget that does exactly what I want - it's a custom probe developed by Darren.

    This post on the Exchange of ideas gives to think it should be at least provided with the package LV either integrated in the dev environment. Well worth voting for!

  • Question about local variable in LabVIEW

    I am a new bie to LabVIEW.

    I have a question about local variable in LabView.

    I tried to stop a loop by the local variable, but the value of the loop for counter is different with my hope.

    I think that the loop to stop at 6, but he stopped at 7.

    Could someone help me?

    This looks exactly like a race condition.  You have know control if the control terminal is first in reading or the local variable is written to the first.

    Try to run your code to highlight execution.

    In your code, what usually happens is that order is read and the value is false.  Then the other code will run allowing the value to write to the local variable.  Let's say that in a particular loop iteration, we get the True value.  But control of the final value has already been read as false, then the loop runs again.  The next iteration of the Terminal is read and then he sees the true, will force to stop no matter what happens in the rest of the loop the loop.

    So, why do you use a local variable instead of sending just the wire to the terminal stop?

  • A few questions about my new Z5 Compact camera

    A few days ago I bought the Xperia Z5 Compact (and updated the marshmallow) to replace my Z1 Compact and meanwhile read the manual and looked into the camera settings. Now I have 2 questions about the camera.

    (1) according to this manual, it takes an option to 'adjust the color and brightness manually. I rember having seen this option once in the form of 2 sliders, but now I cannot reproduce it more and find more options in the settings. What should I do wrong or overlooking?

    (2) I noticed that I can manually put only iso for resolution of 8 MP or less. When I put a 20 MP resolution, the iso setting is grayed and automatically the value. Is this a normal behavior?

    Thanks in advance for the answers.

    Hi @Rijnton,

    I just tested this on my Xperia X but it runs on Android M, it should be similar to the Z5 Compact (although there may be some differences).

    Color and brightness options may not be available in manual mode, but are for higher Auto and video.

  • Technical questions about X 1 carbon Touch base

    Please forgive me, I'm still recovering after the shock and frustration generated by dealing with Lenovo Tech Support.

    I recently received my X 1 carbon Touch and I have tried to understand some - I think - fundamental questions.

    As you know, to win 8, Lenovo doesn't have a custom recovery solution / owner. However, there are a score of Lenovo recovery on the machine. I'm /assuming/ this, somehow, can be used through the default / built-in mechanisms of recovery Windows, but I want to know exactly how without necessarily experiencing myself with it.

    In addition, the computer seems to be equipped with a mechanism of alternative stand-by, fast recovery called Intel or something like that. It is enabled in the BIOS and apparently makes use of a hidden partition of ~ 8 GB on the SSD. However, I find no indication of this mechanism working. There are no settings that I could find in Windows. I changed the BIOS to 'Immediately' setting in order to test the functionality, but put the computer to sleep does not seem to generate behavior that is somehow different from regular sleep.

    In any case, I would like advice or information on my questions above. I understand works the thing of recovery fast in order to decide if I want to recover the partition or not. I would also like to know my options I should never need re - install the delivered factory OS without actually crossed the steps. I would also if someone could tell me the best way to get support from Lenovo.

    / * I called Lenovo technical support with these issues. The person sponsor and those to whom I then was sent to had no idea what I was talking about. They had difficulty understanding terms like partition, standby, sleep, resume, and even software/hardware and implementation. It was suggested that my computer may be Intel and Lenovo not... They seemed to really come from an age of the computer. I asked to speak with someone who would have some basics of the machine that Lenovo delivered to me. I find it reasonable. At that time, I was told to talk to a knowledgeable person, I have to pay a fee. Seriously?

    */

    elfstone,

    To find out how to work the various Windows recovery methods, please see this Microsoft Web site:

    http://Windows.Microsoft.com/en-us/Windows-8/restore-refresh-reset-PC

    The sole purpose of the recovery partition is to work with the "All delete and reinstall Windows" function of Windows 8.  If you have specific questions about the factory recovery that you can't get items from Microsoft, let me know.

    Regarding the plan of hibernation from Intel, as you noted, it takes a partition dedicated to your SSD which cannot be used for other purposes.  The only parameter in Windows is inside the application of arrangements of Lenovo in the power section.  Lenovo calls this function "in waiting for 30 days.  The only thing you can do is it turn on or off.  Here's how works "waiting for 30 days:

    1. When you close the lid, or otherwise put the system into standby mode, the system of standby for 3 hours.

    03:02 hours, the system will wake up and check things like not attached AC, wake-on-LAN not activated, USB device not attached, etc..  If conditions permit, the system will enter wakefulness of 30 days for example deep sleep.  If the system returns in normal mode to 'sleep'.

    3. deep sleep means that the content of the memory is written on the special hibernation on the SSD partition.  It is very similar to the traditional hibernation except what happens faster using methods of BIOS instead of Windows methods.  But this isn't anywhere near as fast as normal sleep/recovery.

    4. the system out of deep sleep when the cover is opened or when you press the power button.

    You have found the BIOS settings, but in fact they are ignored when Lenovo settings (and package of dependence of the Lenovo parameters) are installed on the system.  I don't really know why this design choice has been made.

    Personally, I don't see value in 30 days standby, not enough value to want to give up my expensive SSD 8 GB.  I exclusively use sleep/recovery.  The battery will last several days.  And if I'm going to be away from the computer for a long time, then I'll just stop it.

  • Questions about discussions...

    Hello

    I have a new app to do that requires network access.

    I have read this EXCELLENT post from peter_strange:

    http://supportforums.BlackBerry.com/T5/Java-development/connecting-your-BlackBerry-http-and-socket-c...

    Because I can't use BIS - B because I'm not a partner of the Alliance, I wanted to take a look at the new OS 5.0 network API and see how it works.

    I know that network connections should be performed in a separate thread.

    I'm far from being an experienced Blackberry developer... so I have a few questions about discussions.  I looked around the Internet, read on the forum, read the documentation, did some tests and so far, I came up with this code:

    SerializableAttribute public class HTTPConnection extends UiApplication {}
    Public Shared Sub main (String [] args) {}
    HTTPConnection PAP = new HTTPConnection();
    theApp.enterEventDispatcher ();
    }

    public HTTPConnection() {}
    pushScreen (new HTTPConnectionScreen());
    }
    }

    class HTTPConnectionScreen extends form {}
    public HTTPConnectionScreen() {}
    setTitle ("HTTPConnection");
    Add (new RichTextField ("choose a type of connection :"));

    final RadioButtonGroup = new RadioButtonGroup() rbGroup;
    RadioButtonField radioButtonF1 = new RadioButtonField ("Direct TCP", rbGroup, false);
    RadioButtonField radioButtonF2 = new RadioButtonField ("WAP 1.0/1.1", rbGroup, false);
    RadioButtonField radioButtonF3 = new RadioButtonField ("WAP 2.0", rbGroup, false);
    RadioButtonField radioButtonF4 is new RadioButtonField ("BES/MDS", rbGroup, false);.
    RadioButtonField radioButtonF5 = new RadioButtonField ("BIS-B", rbGroup, false);
    RadioButtonField radioButtonF6 = new RadioButtonField ("WiFi", rbGroup, false);
    Add (radioButtonF1); Add (radioButtonF2); Add (radioButtonF3); Add (radioButtonF4); Add (radioButtonF5); Add (radioButtonF6);
             
    FieldChangeListener listener = new FieldChangeListener() {}
    ' Public Sub fieldChanged (field field, int context) {}
    ConnectionThread ct = new ConnectionThread (rbGroup.getSelectedIndex () + 1);
    CT. Start();
    }
    };
             
    ButtonField buttonField = new ButtonField ("Connect", ButtonField.CONSUME_CLICK);
    buttonField.setChangeListener (listener);
    Add (buttonField);
    }

    / * method of onSavePrompt override default to avoid being asked if I want to record every time * /.
    protected boolean onSavePrompt() {}
    Returns true;
    }
    }

    class ConnectionThread extends Thread {}
    private int transportType;
    public ConnectionThread (int n) {}
    transportType = tt;
    }
        
    public void run() {}
    ConnectionFactory connFact = new ConnectionFactory();
    ConnectionDescriptor connDesc = connFact.getConnection ("URL", transportType, null);
    If (connDesc! = null) {}
    try {}
    HttpConnection httpConn = (HttpConnection) connDesc.getConnection ();
    httpConn.setRequestMethod (HttpConnection.POST);
    httpConn.setRequestProperty ("Content-Type", "application/x-www-formulaires-urlencoded");
    OutputStream out = httpConn.openOutputStream ();
    out. Write (Integer.ToString (transportType). GetBytes());
    int responseCode = httpConn.getResponseCode ();
    If (responseCode == HttpConnection.HTTP_OK) {}
    UiApplication.getUiApplication () .invokeLater (new Runnable() {}
    public void run() {}
    Dialog.Alert ("- SUCCESSFUL CONNECTION-");
    }
    });
    }
    If (httpConn! = null) httpConn.close ();
    } catch (IOException e) {}
    System.Err.println ("IOException Caught:" + e.getMessage ());
    }
    }
    }
    }

    In fact, this code works very well... but I want to improve it, and I have a few questions:

    1. I think that right now, every time I click on the 'Connect' button, I start a new thread. I would like to end this thread in the "run" method, but I don't really know how to access the variable 'ct' from there.   Counsel on how to do it?  Or maybe always use the same thread until my application is closed?

    2. in the FieldChangeListener of my "Submit" button, I want to access the value of radio box.  I did work, but I had to do my 'final' variable  What is the right way to do it?

    3 - to display a dialog box with 'Successful connection', I just wanted to write something in my main screen.  How I do that?

    I'm just a bit confused as to just what set up when you use a separate thread.

    Thanks for your advice!

    Edit: Hidden URL I connect to...

    That's what I call a good question! (now I'm wondering why the forums do not work with opera correctly, in any case, here my baldy to the answer format): 1. your thread "dies" when it's over, no need to close it. 2 Yes 3. You can use a reminder. See for example http://www.javaworld.com/javaworld/javatips/jw-javatip10.html

  • Question about the differences in commands

    Hey guys -.

    I just had a few questions about the differences between orders that seem to perform the same function.  Can you let me know if an order is more preferable to the other and what the difference is.  I would really appreciate it as it I currently practice some INE laboratories and I see that orders change from lab to lab.  Thanks advance!

    1. When you write a static NAT for specific host 1 - is - this important if I understand the 32 subnet?

    EX: static (inside, outside) 1.1.1.1, 2.2.2.2 VS static (inside, outside) 1.1.1.1 2.2.2.2 netmask 255.255.255.255

    2. when I'm setting up a router as a CA server and it is necessary to "export" the key, whatever my method of exporting the key?  If so, in which method call for which solution?

    EX: key export cryptographic rsa ciscox pem URL nvram: cisco VS. exporting key 3des cryptographic ciscox pem 3des rsa terminal cisco

    3. If I have to mark a packet with a DSCP of X value, matter if I use the 'set dscp' VS 'set ip dscp?  If so, what is the difference?

    FXY

    Policy-map X

    class X

    the dscp X value

    VS

    Policy-map X

    class X

    X ip dscp value

    I guess pertaining to 2, if i was speaking in terms of from a cisco router to another cisco router - would terminal be acceptable?

    Yes, the "Import cryptographic key" command can take a url and also from the terminal entrance. In this terminal case wil is much easier.

    --
    Don't stop once you have upgraded your network! Improve the world by lending money to low-income workers:
    http://www.Kiva.org/invitedBy/karsteni

  • Questions about the management of specific nodes in different hierarchies

    Hi all

    I have a question about the specific management of some particular set nodes, which are located in different hierarchies within a same version.

    I want to know if there is any editing made to certain properties of these specific nodes or if the nodes are deleted/moved/edited approval to be triggered for the data manager.

    or should not allow users to edit (adding/moving/deleting/changing property values) or those specific members.


    According to my understanding of the nodes of domain prevents the removal of nodes, but I don't want my Member prefix/suffix, domain is the only way to prevent the change.




    Thanks and greetings

    Madhu

    We have an obligation to not allow a node to remove or deleted without the approval of the admin, so I created a Boolean property AllowDelete is false, which is substitutable, default and is available only in a category of property Admin, for which most of the users do not have access.  Then, I created a validation of PropRemove with an error message that tells the user to contact a user admin to remove or delete the node.  The admin can change the AllowDelete to true, then can either remove himself or to allow the user to do.

Maybe you are looking for