Extracting subvalues from delimited field

Iu2019m trying to extract a value from a variable with 12 values delimitated by a colon. i.e. fieldname( v1; v2; v3 etc) (it is string variable) where I want to extract v2.  Actually, itu2019s the budget amounts entered for 12 months, and I will need to extract each month one at a time through the year based on the month in the period-ending-date parameter. How do I extract values by their position order?
Sample: contains values 1111;2222;3333;4444 etc. If month({?period ending date}) = 2, then return fieldu2019s second position, 2222. If month({?period ending date}) = 4, return the fourth position 4444.

Hi. The extraction formulae
stringvar array arr;
arr:=split({gl_bgt.amount},";");
if month({?Period Ending}) <= ubound(arr) and month({?Period Ending}) >0 then
arr[month({?Period Ending})] else "0";
worked in part. It broke out values for the budgeted account numbers. But when the actual gl-account.amount had unbudgeted entries, the above formulae suppressed those accounts instead of allowing an unbudgeted variance comparison.
I've changed the table links to no avail, put the forumlae in a subreport with a shared numbervar passed back, (converting the arr stringvar tonumber) but it returns zeros only. The amounts are visible in the subreport, but nothing pulls through.
Any solutions?

Similar Messages

  • How to extract data from the fields present in two or three tables

    Hi Experts,
          I have a scenario where i have to extract data from the fields of different tables. e.g. let there 2 tables which have some number of fields . I want the data of 3 fields each from these 2 tables. How can i get that??
    Sam

    Hi
    You can create view in tcode se11..
    here you include all tables from which you want to fetch the data..
    you need to give selection condition here
    eg..
    say select empname from table A, select empadd from table B.. where empno(from A)=empno(from B)
    (note that you dont need to write queries like this.. i have just given u the example)
    After creating the view you can create datasource in RSO2..
    Regards
    Swati

  • Problems While Extracting Hours From Date Field

    Hi Guys,
    Hope you are doing well.
    I am facing some problems while extracting hours from date field. Below is an example of my orders table:-
    select * from orders;
    Order_NO     Arrival Time               Product Name
    1          20-NOV-10 10:10:00 AM          Desktop
    2          21-NOV-10 17:26:34 PM          Laptop
    3          22-JAN-11 08:10:00 AM          Printer
    Earlier there was a requirement that daily how many orders are taking place in the order's table, In that I used to write a query
    arrival_time>=trunc((sysdate-1),'DD')
    and arrival_time<trunc((sysdate),'DD')
    The above query gives me yesterday how many orders have been taken place.
    Now I have new requirement to generate a report on every 4 hours how many orders will take place. For an example if current time is 8.00 AM IST then the query should fetch from 4.00 AM till 8 AM how many orders taken place. The report will run next at 12.00 PM IST which will give me order took place from 8.00 AM till 12.00 PM.
    The report will run at every 4 hours a day and generate report of orders taken place of last 4 hours. I have a scheduler which will run this query every hours, but how to make the query understand to fetch order details which arrived last 4 hours. I am not able to achieve this using trunc.
    Can you please assist me how to make this happen. I have checked "Extract" also but I am not satisfied.
    Please help.
    Thanks In Advance
    Arijit

    you may try something like
    with testdata as (
      select sysdate - level/24 t from dual
      connect by level <11
    select
      to_char(sysdate, 'DD-MM-YYYY HH24:MI:SS') s
    , to_char(t, 'DD-MM-YYYY HH24:MI:SS') t from testdata
    where
    t >= trunc(sysdate, 'HH') - numtodsinterval(4, 'HOUR')
    S     T
    19-06-2012 16:08:21     19-06-2012 15:08:21
    19-06-2012 16:08:21     19-06-2012 14:08:21
    19-06-2012 16:08:21     19-06-2012 13:08:21
    19-06-2012 16:08:21     19-06-2012 12:08:21trunc ( ,'HH') truncates the minutes and seconds from the date.
    Extract hour works only on timestamps
    regards
    Edited by: chris227 on 19.06.2012 14:13

  • Extracting data from a field

    Hi,
    I have a comment field with manay information on it. One record will have text and date and numbers to it. I would like to pull the codes from 1001, 1002 up to 1012 from the field. Example comment:
    1. 1005 9-30-09 update only
    2. EDC 1008 9-15-09 changes
    I would like to extract the data 1005 and add in a separate column or create a new field for Code. The second example, I would like to get the data 1008. The date that follows the number 1005 in example 1, I also would like to put in another field called Received Date except for codes 1001 - 1004.
    Can you please give me suggestions on  how to handle this? I am using Crystal 10.
    Thank you!

    Marinette,
    Try this:
    left(right(split({field},'-')[1],5),4)
    I hope that helps,
    Regards,
    Zack H.

  • How to extract data from xml field to dropdown list?

    Hi,
    I have designed a form and connected to a SQL server database using a web service. The XML data retrieved from wsdl connection is currently hold in a text field called 'XMLfield'. I need to extract the data such as 'PersonnelName' from XMLfield into a dropdown list. I used the following code and I do not get any error, but nothing come up and all my fields in the forms become bank when i click the dropdown list.
    I would appreciate it if anyone can help me with this issue.
    form1.DropDownList::click - (JavaScript, client)
    xfa.datasets.data.loadXML(form1.XMLfield.rawValue,0,1);
    form1.XMLfield.rawValue = xfa.datasets.data.saveXML();
    var dataGroup = xfa.resolveNode("xfa.data.Timesheet.Personnel.PersonnelName");
    var dataGroupLength = dataGroup.nodes.length;
    if (dataGroupLength == 0) {
      xfa.host.messageBox("There are no parts in the XML doc");
    else {
      for (var i=0; i < dataGroupLength; i++){
        this.addItem(dataGroup.nodes.item(i).nodes.item(0).value);
    Thanks,
    Roya

    Hi Roya,
    I think the loadXML will override your form data, so blanking out your fields.  You could try loading the xml data at the xfa.datasets level (that is xfa.datasets.loadXML(form1.XMLfield.rawValue,0,1);) or using E4X to process the XML.
    Another option though might be more rework is to use the Acrobat SOAP api which will return you a JavaScript object so you wont have to do any XML work.
    There's a good intro to the SOAP api here, http://www.avoka.com/blog/page/11/.
    Regards
    Bruce

  • Extract data from the fields in Acrobat Reader 7.0 using VB

    I am looking for a way to extract fields values from the pdf file using VBA for Excel. I have Acrobat Reader 7.0. I have a script that would extract fields values from the PDF using Aformaut.fields.... But this script only works with Acrobat.Standard or PRO. When I am trying to instantiate/create Aformaut.app object I am getting an error message stating that ActiveX cannot create such object. Please advise.

    Five months have passed, so it's unlikely this reply will help the
    original poster. But should anyone be searching the archives, here's a
    reply anyway.
    Aformaut.app is part of Acrobat Professional. You have to buy that,
    you can't script this in the free Adobe Reader.
    Aandi Inston

  • Extracting xmldata from clob field in oracle

    I have an xml document stored in xmltype (clob)field in oracle
    Below is the xml data inside the xml ( I have kind of 300 elements similar to this inside the xml)
    <ns1:E-I12_IS_13 ObjID="I12" ObjType="e">5437090</ns1:E-I12_IS_13>
    <ns1:E-I13_IS_14 ObjID="I13" ObjType="e">5</ns1:E-I13_IS_14>
    <ns1:E-I14_IS_15 ObjID="I14" ObjType="e">9</ns1:E-I14_IS_15>
    The requirement is to get all the elements from the xmldata and compare against the 15-16 oracle tables ( here xml is converted and stored in these tables by a tibco process)
    select dbms_lob.instr(clobcolumnname,'E-I13_IS_14') from tablename  where  ( given condition to extract specific transaction)
    the above statement gives me position of the string
    select dbms_lob.substr(clobcolumnname,6( length of element value),870(position from where the value starts)) from tablename where  condition
    the abv statement gives me the element value
    but I want to extract the value for  any element by giving the element name ( if u see any value comes after objtype="e"  between > and < tags)
    can anyone on this forum tell me to extract the element value just by giving element name ( since I have to do the same for n number of elements - how to find position of > and < tags??)

    Hi Odie,
    Good afternoon. I am not getting any help to solve my xmltable issues.
    <MeterTransaction xmlns:CorralClub="http://webservice.hlsr.net/CorralClubService/">
      <TransactionID>1100</TransactionID>
      <Club_Number>CN001</Club_Number>
      <Club_Activity_ID>0</Club_Activity_ID>
      <Transaction_Date>2014-01-29T00:00:00-06:00</Transaction_Date>
      <Creation_Date>2014-01-29T00:00:00-06:00</Creation_Date>
      <User_ID>1766</User_ID>
      <Status />
      <TicketCount>0</TicketCount>
      <Usage>0</Usage>
      <BadPulls>0</BadPulls>
      <Discrepancy>0</Discrepancy>
      <Percent>0</Percent>
      <Comments />
      <Readings>
         ********** Can be disregarded ******************
            <xs:schema id="ClubMeter" targetNamespace="http://tempuri.org/ClubMeter.xsd" xmlns:mstns="http://tempuri.org/ClubMeter.xsd" xmlns="http://tempuri.org/ClubMeter.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-               com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
                        ****** Some other elements
              </xs:schema>
          *********** End of Can be disregarded ******************
        <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
          <ClubMeter xmlns="http://tempuri.org/ClubMeter.xsd">
            <MeterBar diffgr:id="MeterBar1" msdata:rowOrder="0" diffgr:hasChanges="modified">
              <Club_Number>CN001</Club_Number>
              <Bar_Number>BBS01</Bar_Number>
              <TicketCount>111</TicketCount>
              <Usage>88</Usage>
              <BadPulls>15</BadPulls>
              <Discrepancy>8</Discrepancy>
              <Percent>0.0720720720720721</Percent>
              <DISPLAY>BEER - BBS01</DISPLAY>
            </MeterBar>
            <MeterBar diffgr:id="MeterBar2" msdata:rowOrder="1" diffgr:hasChanges="modified">
              <Club_Number>CN001</Club_Number>
              <Bar_Number>BBS02</Bar_Number>
              <DISPLAY>BEER - BBS02</DISPLAY>
            </MeterBar>
            <MeterReading diffgr:id="MeterReading16" msdata:rowOrder="15" diffgr:hasChanges="modified">
              <Club_Number>CN001</Club_Number>
              <Bar_Number>BBS01</Bar_Number>
              <Position>11</Position>
              <Inventory_Item_ID>12906</Inventory_Item_ID>
              <Product_Class>SOFT-GOODS</Product_Class>
              <Product_Type>SOFT DRINK</Product_Type>
              <Product_Name>Full Throttle Coca Cola</Product_Name>
              <Open>6</Open>
              <Add1>11</Add1>
              <Close>1</Close>
              <Usage>16</Usage>
            </MeterReading>
            <MeterReading diffgr:id="MeterReading96" msdata:rowOrder="95" diffgr:hasChanges="modified">
              <Club_Number>CN001</Club_Number>
              <Bar_Number>BBS01</Bar_Number>
              <Position>10</Position>
              <Inventory_Item_ID>2188</Inventory_Item_ID>
              <Product_Class>BEER</Product_Class>
              <Product_Type>DOMESTIC</Product_Type>
              <Product_Name>Lone Star Regular</Product_Name>
              <Open>6</Open>
              <Add1>2</Add1>
              <Close>1</Close>
              <BadPulls>3</BadPulls>
              <Usage>4</Usage>
            </MeterReading>
            <MeterReading diffgr:id="MeterReading17" msdata:rowOrder="16" diffgr:hasChanges="modified">
              <Club_Number>CN001</Club_Number>
              <Bar_Number>BBS02</Bar_Number>
              <Position>11</Position>
              <Inventory_Item_ID>12906</Inventory_Item_ID>
              <Product_Class>SOFT-GOODS</Product_Class>
              <Product_Type>SOFT DRINK</Product_Type>
              <Product_Name>Full Throttle Coca Cola</Product_Name>
            </MeterReading>
            <MeterReading diffgr:id="MeterReading97" msdata:rowOrder="96" diffgr:hasChanges="modified">
              <Club_Number>CN001</Club_Number>
              <Bar_Number>BBS02</Bar_Number>
              <Position>10</Position>
              <Inventory_Item_ID>2188</Inventory_Item_ID>
              <Product_Class>BEER</Product_Class>
              <Product_Type>DOMESTIC</Product_Type>
              <Product_Name>Lone Star Regular</Product_Name>
            </MeterReading>
          </ClubMeter>
          <diffgr:before>
            <MeterBar xmlns="http://tempuri.org/ClubMeter.xsd" diffgr:id="MeterBar1" msdata:rowOrder="0">
              <Bar_Number>BBS01</Bar_Number>
              <DISPLAY>BEER - BBS01</DISPLAY>
            </MeterBar>
            <MeterBar xmlns="http://tempuri.org/ClubMeter.xsd" diffgr:id="MeterBar2" msdata:rowOrder="1">
              <Bar_Number>BBS02</Bar_Number>
              <DISPLAY>BEER - BBS02</DISPLAY>
            </MeterBar>
            <MeterReading xmlns="http://tempuri.org/ClubMeter.xsd" diffgr:id="MeterReading16" msdata:rowOrder="15">
              <Bar_Number>BBS01</Bar_Number>
              <Position>11</Position>
              <Inventory_Item_ID>12906</Inventory_Item_ID>
              <Product_Class>SOFT-GOODS</Product_Class>
              <Product_Type>SOFT DRINK</Product_Type>
              <Product_Name>Full Throttle Coca Cola</Product_Name>
            </MeterReading>
            <MeterReading xmlns="http://tempuri.org/ClubMeter.xsd" diffgr:id="MeterReading96" msdata:rowOrder="95">
              <Bar_Number>BBS01</Bar_Number>
              <Position>10</Position>
              <Inventory_Item_ID>2188</Inventory_Item_ID>
              <Product_Class>BEER</Product_Class>
              <Product_Type>DOMESTIC</Product_Type>
              <Product_Name>Lone Star Regular</Product_Name>
            </MeterReading>
            <MeterReading xmlns="http://tempuri.org/ClubMeter.xsd" diffgr:id="MeterReading17" msdata:rowOrder="16">
              <Bar_Number>BBS02</Bar_Number>
              <Position>11</Position>
              <Inventory_Item_ID>12906</Inventory_Item_ID>
              <Product_Class>SOFT-GOODS</Product_Class>
              <Product_Type>SOFT DRINK</Product_Type>
              <Product_Name>Full Throttle Coca Cola</Product_Name>
            </MeterReading>
            <MeterReading xmlns="http://tempuri.org/ClubMeter.xsd" diffgr:id="MeterReading97" msdata:rowOrder="96">
              <Bar_Number>BBS02</Bar_Number>
              <Position>10</Position>
              <Inventory_Item_ID>2188</Inventory_Item_ID>
              <Product_Class>BEER</Product_Class>
              <Product_Type>DOMESTIC</Product_Type>
              <Product_Name>Lone Star Regular</Product_Name>
            </MeterReading>
          </diffgr:before>
        </diffgr:diffgram>
      </Readings>
    </MeterTransaction>
    From the above abbreviated XML document, how do I get the values from the nodes of MeterBar and MeterReading nodes?
    I really appreciate your help in this regard.
    Thanks,
    Bidhan

  • Extracting data from XMLType field

    Sorry, I don't know XMLQuery very well, this is probably a simple question.  I'm trying to extract data into a tablular form from an XMLTYPE field.  I'll use the following example to illustrate my question:
    WITH a as (
    select xmltype('
    <bugStatus>
      <status>
        <bugCode>111</bugCode>
        <bug number="12345" description="Low severity bug"/>
      </status>
      <status>
        <bugCode>222</bugCode>
        <bug number="67890" description="High severity bug"/>
      </status>
    </bugStatus>
    ') xmldata from dual)
    SELECT x.*
    FROM a, xmltable('bugStatus/status'
       passing a.xmldata columns
       status_code number path 'bugCode'
    ) x;
    Running that code block extracts the "bugCode" fields successfully.  But I'd like to also similarly extract the "bug number" and "description" fields.  Ideally as independent columns.  But even if only as a single line showing "bug number=.... description=....." I could then still parse it with SQL.
    Can someone please point me in the right direction of how I can also extract that additional data?
    Thanks!

    Thanks Marco, that was a great and simple solution to my original question.
    However let me change the data slightly.  I've tried to do something similar with this slightly modified XML data and I think I'm close, but not quite there.  Can you assist with this new scenario?
    WITH a as (
    select xmltype('
    <bugStatus>
       <bugCode REF_ID="XYZ">
          <status>
              <bug number="12345" description="Low severity bug"/>
              <bug number="67890" description="High severity bug"/>
          </status>
       </bugCode>
    </bugStatus>
    ') xmldata from dual)
    SELECT /*x.bugCode,*/ y.bugNumber, y.bugDescription
    FROM a,
         xmltable('/bugStatus'
            PASSING a.xmldata
            COLUMNS
               bugCode char(3) path 'bugCode/@REF_ID',
               mystatus xmltype path 'bugCode/status'
         ) x,
         xmltable('/status'
            PASSING x.mystatus
            COLUMNS
               --row_number for ordinality,
               bugNumber number path 'bug/@number',
               bugDescription varchar2(80) path 'bug/@description'
         ) y;
    I think I'm close on this one but still getting the error:
    ORA-19279: XPTY0004 - XQuery dynamic type mismatch: expected singleton sequence - got multi-item sequence
    Thank you!

  • Monitoring using a Dashboard - How do you extract data from different fields?

    I have a situation where a Dashboard needs to be made to monitor the state of different SAP systems.
    Within individual Systems I know its easy to monitor the systems using CCMS (rz20), but my question is, How do you get to pull out the data that is displaying on the CCMS screen so that it could be taken and displayed on a dashboard. A dashboard could be a JAVA program that displays data from various such fields and displays maybe on a TV screen.
    What I found so far was,
    in rz20
    Click on Performance Overview.
    click on CPU Utilization
    So, I place my mouse pointer on Value '2' for User CPU Utilization and hit F1 and then click on Technical Details
    Now even if I place my mouse pointer on Value '1'' for User CPU Utilization and hit F1 and then click on Technical Details I get the same screen as above.
    So, My question is, How do we determine what data sits in what field?
    The aim again is to read these data and populate an external Dashboard.
    The current Systems are not connected to SolMan as we do not have a SolMan setup yet. I am just trying to make a Dashboard using the existing CCMS tool.
    Any thoughts or suggestions would be greatly appreciated.
    Regards,
    Bevin

    Hello Bevin,
    There are other transactions : ST06N/OS07N to check performance data, see note:
    #371023 - OS07/ST06: Monitoring operating system data
    #1084019 - OS07N: New operating system monitor
    All CCMS agents can copy data from the SAPOSCOL shared memory segment to the CCMS monitoring segment and transfer it to a central
    monitoring system. This means that the data is visible in the CCMS monitoring architecture and is displayed both in the familiar transactions ST06
    and OS07 and in the Alert Monitor (transaction RZ20)
    Operating System Collector SAPOSCOL:
    http://help.sap.com/saphelp_nw70ehp2/helpdata/en/c4/3a6bff505211d189550000e829fbbd/frameset.htmk
    Kind regards,
    Tamas Istenes SAP Support Engineer
    AGS Primary Support, Global Support Center Hungary

  • How to parse/extract XML from clob field using ODI

    Hi,
    I am very new to ODI. I have an oracle table which has clob field. This clob field contains xml. I would like to parse this xml and convert it to oracle table. Means I would like to make all the tags of xml as oracle table columns.
    I have created a PL/SQL procedure and used XMLTABLE function and I have achieved my goal. The same this I am trying to do with ODI. Since I am new to ODI so any help is appreciated.
    Thanks

    In 9.2, you are limited into your options. Have a look into, among others, updateXML. Updating tp 10gR2 will give you more options to succeed.

  • How to extract data from structures or create a datasource using structures

    Hello Friends , I have a requirement to extract data from ECC fields, but when i go look the table i found only "structures" REBD_CONTRACT_REL_L and i confirmed with ecc team that there are no table available with these fields so how do i now extract the data in BI using the fields in ecc that exist only in these Structures.
    Please help me to resolve this
    Thanks
    Regards
    Soniya

    check tables
    VIOBOV
    (VIBDPLANOCC certainly not)
    VICNCN table of the contrat
    VIOROF table of the offers
    VIBDOBJASS affectation of objects.
    VICAINTRENO Affectation INTRENO / OBJNR / IMKEY
    that will be a good start but ask again your functional persons.
    If you want to upload data to BI you have to know the tables
    bye
    by the way a structure do not hold data.

  • Extracting Values of a Field from a Database Table in SAP ECC System

    Hi,
    I downloaded Extracting Values of a Field from a Database Table in SAP ECC System Using MII 12.0
    senario from sdn. I'm trying to do that senario in MII 12.05. But I have problem with section 6 in page 7 (you can supply senario from sdn)
    "6- Under the loop of Repeater, use action u2018Rowu2019 to append just the string part of the WA which will display only values for field u2018Batchu2019"
    I did not find WA elemen in Output element of Repeater_0
    How can I create WA element?
    Thanks.

    Cemil,
    Set up a SAP JCo Interface action block.  Use the RFC name RFC_READ_TABLE.
    In the link editor map the table to "MARA", set RowCount to something small (20 is good sample size) and create an xml transaction property named FIELDS and copy the following into it:
    <?xml version="1.0" encoding="UTF-8"?><FIELDS>
          <item>
            <FIELDNAME>MATNR</FIELDNAME>
            <OFFSET/>
            <LENGTH/>
            <TYPE/>
            <FIELDTEXT/>
          </item>
          <item>
            <FIELDNAME>MTART</FIELDNAME>
            <OFFSET/>
            <LENGTH/>
            <TYPE/>
            <FIELDTEXT/>
          </item>
          <item>
            <FIELDNAME>BSTME</FIELDNAME>
            <OFFSET/>
            <LENGTH/>
            <TYPE/>
            <FIELDTEXT/>
          </item>
          <item>
            <FIELDNAME>XCHPF</FIELDNAME>
            <OFFSET/>
            <LENGTH/>
            <TYPE/>
            <FIELDTEXT/>
          </item>
          <item>
            <FIELDNAME>DATAB</FIELDNAME>
            <OFFSET/>
            <LENGTH/>
            <TYPE/>
            <FIELDTEXT/>
          </item>
        </FIELDS>
    Then link the Transaction.FIELDS to SAP_JCo_Interface_0.Request{/RFC_READ_TABLE/TABLES/FIELDS}.  You may run into problems with two other fields and optionally they can be removed (set link type to remove xml).  I usually remove them initially for testing.  The two fields are:
    SAP_JCo_Interface_0.Request{/RFC_READ_TABLE/INPUT/NO_DATA}
    SAP_JCo_Interface_0.Request{/RFC_READ_TABLE/INPUT/DELIMITER} (or you can set this to something like a semicolon,";" or tilda,"~".  I find it easier to caclulate position by length, but that is my own idiosyncrasy.)
    Once you get this one working, we can explore how to do filtering on the dataset.  Your output should be something like this:
    <?xml version="1.0" encoding="utf-8"?>
    <RFC_READ_TABLE>
      <INPUT>
        <DELIMITER />
        <NO_DATA />
        <QUERY_TABLE>MARA</QUERY_TABLE>
        <ROWCOUNT>20</ROWCOUNT>
        <ROWSKIPS>0</ROWSKIPS>
      </INPUT>
      <TABLES>
        <DATA>
          <item>
            <WA>000000000000000023ROH 00000000</WA>
          </item>
          <item>
            <WA>000000000000000038HALB 00000000</WA>
          </item>
          <item>
            <WA>000000000000000043HAWA 00000000</WA>
          </item>
          <item>
            <WA>000000000000000058HIBE 00000000</WA>
          </item>
          <item>
            <WA>000000000000000059HIBE 00000000</WA>
          </item>
          <item>
            <WA>000000000000000068FHMI 00000000</WA>
          </item>
          <item>
            <WA>000000000000000078DIEN 00000000</WA>
          </item>
          <item>
            <WA>000000000000000088FERT 00000000</WA>
          </item>
          <item>
            <WA>000000000000000089FERT 00000000</WA>
          </item>
          <item>
            <WA>000000000000000098HALB 00000000</WA>
          </item>
          <item>
            <WA>000000000000000170NLAG 00000000</WA>
          </item>
          <item>
            <WA>000000000000000178NLAG 00000000</WA>
          </item>
          <item>
            <WA>000000000000000188NLAG 00000000</WA>
          </item>
          <item>
            <WA>000000000000000288HALB 00000000</WA>
          </item>
          <item>
            <WA>000000000000000358HAWA 00000000</WA>
          </item>
          <item>
            <WA>000000000000000359HAWA 00000000</WA>
          </item>
          <item>
            <WA>000000000000000521HAWA 00000000</WA>
          </item>
          <item>
            <WA>000000000000000578FERT 00000000</WA>
          </item>
          <item>
            <WA>000000000000000597HAWA 00000000</WA>
          </item>
          <item>
            <WA>000000000000000598VERP 00000000</WA>
          </item>
        </DATA>
        <FIELDS>
          <item>
            <FIELDNAME>MATNR</FIELDNAME>
            <OFFSET>000000</OFFSET>
            <LENGTH>000018</LENGTH>
            <TYPE>C</TYPE>
            <FIELDTEXT>Material Number</FIELDTEXT>
          </item>
          <item>
            <FIELDNAME>MTART</FIELDNAME>
            <OFFSET>000018</OFFSET>
            <LENGTH>000004</LENGTH>
            <TYPE>C</TYPE>
            <FIELDTEXT>Material Type</FIELDTEXT>
          </item>
          <item>
            <FIELDNAME>BSTME</FIELDNAME>
            <OFFSET>000022</OFFSET>
            <LENGTH>000003</LENGTH>
            <TYPE>C</TYPE>
            <FIELDTEXT>Purchase Order Unit of Measure</FIELDTEXT>
          </item>
          <item>
            <FIELDNAME>XCHPF</FIELDNAME>
            <OFFSET>000025</OFFSET>
            <LENGTH>000001</LENGTH>
            <TYPE>C</TYPE>
            <FIELDTEXT>Batch management requirement indicator</FIELDTEXT>
          </item>
          <item>
            <FIELDNAME>DATAB</FIELDNAME>
            <OFFSET>000026</OFFSET>
            <LENGTH>000008</LENGTH>
            <TYPE>D</TYPE>
            <FIELDTEXT>Valid-From Date</FIELDTEXT>
          </item>
        </FIELDS>
        <OPTIONS />
      </TABLES>
    </RFC_READ_TABLE>
    Add a repeater sourced on:
    SAP_JCo_Interface_0.Response{/RFC_READ_TABLE/TABLES/DATA/item}
    Link your repeater output to a tracer with this:
    Repeater_0.Output{/item/WA}
    What you will see in each tracer message is a single line of data with all the fields contents concatenated together.  You can look up what each field in the string represents by the length of the field as returned in the Response segment of the RFC_READ_TABLE rfc.  Then you can parse out the data you are interested in.
    Give this a try and let me know how you succeeded.
    By the way, I could not find the scenario you referred to.  Can you post a link?
    Regards,
    Mike
    Edited by: Michael Appleby on Jan 12, 2009 5:16 PM

  • Help needed in extracting pipe delimited fields in a CLOB data type

    hi
    i Had a table with clob field as shown below.
    CREATE TABLE TRANSACTION_INFO
      TRASACTION_ID  CLOB,
      LOG_ID  NUMBER
    Insert into TRANSACTION_INFO
       (TRASACTION_ID, LOG_ID)
    Values
       ('354502002020910|000000610214609663||09/27/09 08:02:37|RNEW|DC25|MOTOROLA|8802939198', 123);
    Insert into TRANSACTION_INFO
       (TRASACTION_ID, LOG_ID)
    Values
       ('354599892020910|000000610214609663||09/27/10 08:12:47|SOLD|DC23||8802939198', 456);
    COMMIT;As you can see Clob field is a pipe delimited data.Now i am able to extract the first two fields using the below querry.But it may be the right solution as
    substring function fails if there is missing character in any on the fields.
    Also when there is a null value in any of the fields,how can i be able to get as null value ? Basically i want to get the values in a delimited manner.
    how can we do this ?
    Select Substr (TRASACTION_ID, 1, Instr (TRASACTION_ID, '|')-1) field1,
            Substr (TRASACTION_ID, 17, Instr (TRASACTION_ID, '|')+2) field2              
      From TRANSACTION_INFO;
    output should be like as shown
       FIELD1          FIELD2          FEILD3                 FEILD4
    354502002020910     000000610214609663                  09/27/09 08:02:37
    354599892020910     000000610214609663                  09/27/10 08:12:47Thanks
    Rede

    hi Michael
    Thanks for the solution and its my bad not mention that there is a possibility of having a null value at the start of the record also which RPLACE function no longer works for this case.
    For example
    with transaction_info (trasaction_id, log_id)
         as (
    select '354502002020910|000000610214609663||09/27/09 08:02:37|RNEW|DC25|MOTOROLA|8802939198', 123 from dual union all
    select '354599892020910|000000610214609663||09/27/10 08:12:47|SOLD|DC23||8802939198', 456 from dual union all
    select '|000000610214609663||09/27/10 08:12:47|SOLD|DC23||8802939198', 456 from dual
    select trim(regexp_substr (trasaction_id, '[^|]+', 1, 1)) f1,
           trim(regexp_substr (trasaction_id, '[^|]+', 1, 2)) f2,
           trim(regexp_substr (trasaction_id, '[^|]+', 1, 3)) f3,
           trim(regexp_substr (trasaction_id, '[^|]+', 1, 4)) f4,
           trim(regexp_substr (trasaction_id, '[^|]+', 1, 5)) f5
      from (select replace (trasaction_id, '||', '| |') trasaction_id from transaction_info)
    F1                   F2                   F3                   F4                   F5                 
    354502002020910      000000610214609663                        09/27/09 08:02:37    RNEW               
    354599892020910      000000610214609663                        09/27/10 08:12:47    SOLD  
    000000610214609663                        09/27/10 08:12:47    SOLD Now the last record is wrongly created....

  • Extract data from Pipe Delimited file

    Hi everybody,
    Could someone provide me the command to extract data from a pipe delimited file ("|") using Open/Read Data set.
    I mean eliminating the delimiter ("|") and just picking the data.
    Thanks
    M

    Here you go.. this code snippet parses the input file record by using pipe (variable lv_pipe) as separator, for tab separated file you can use lv_tab like wise...
      TYPES: BEGIN OF ts_field,
               field(50) TYPE c,
             END OF ts_field,
             tt_field TYPE TABLE OF ts_field.
       DATA: ls_record TYPE string,
            ls_input_data TYPE ts_input_data,
            lv_tab TYPE x VALUE '09',
            lv_pipe TYPE C VALUE '|',
            ls_field TYPE ts_field,
            lt_field_tab TYPE tt_field,
            lv_field_index TYPE syindex,
            lv_record_no TYPE syindex.
      FIELD-SYMBOLS: <fs_field> TYPE ANY.
      OPEN DATASET fv_file_path IN TEXT MODE FOR INPUT.
      IF sy-subrc = 0.
        DO.
          lv_record_no = lv_record_no + 1.
          READ DATASET fv_file_path INTO ls_record.
          IF sy-subrc NE 0.
            EXIT.
          ELSE.
            SPLIT ls_record  AT lv_pipe INTO TABLE lt_field_tab.
            CLEAR: lv_field_index, ls_input_data.
            LOOP AT lt_field_tab INTO ls_field.
              lv_field_index = lv_field_index + 1.
              ASSIGN COMPONENT lv_field_index OF STRUCTURE
                ls_input_data TO <fs_field>.
              IF sy-subrc = 0.
                <fs_field> = ls_field-field.
              ENDIF.
            ENDLOOP.
            APPEND ls_input_data TO ft_input_data.
          ENDIF.
        ENDDO.
        CLOSE DATASET fv_file_path.

  • What key fields should i set in DSO extracting data from 2LIS_02_ITM

    hi experts
    i extract data from 2LIS_02_ITM into a DSO, i know the DSO isn't a must, becoz the 2LIS_02_ITM delta type is ABR, but i want to keep the info in change log.
    so, what the key fields should i set in the dso? just ebeln and ebelp is enough?
    hunger for ur advice and thanks a lot!

    If you extract ITM toa DSO you cannot maintain a log of every change....the data will come ....but when the data must be activated the reference of the ebelp ebeln will remain only a single record....if you want to maintain all the data you must create another field in extractor with you can difference all the changes for one single ebelp ebeln...
    Regards

Maybe you are looking for