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??
SamHi
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
Arijityou 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 -
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,
RoyaHi 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,
BevinHello 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.
ThanksIn 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
Soniyacheck 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
Redehi 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
MHere 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
-
I have two phones that share an itunes acct and a notice came up this morning and I hit yes. Now I get a text everytime I send a text to the other phone. How do I turn that off?
-
Duplex printing problem with Reader Upgrade
I upgraded Acrobat Reader 10.1.8 to 11.0.4 and can no longer access fast or duplex printing for PDF's. I have a Canon MP970 printer for 3 years and have always been able to do both fast printing and duplex printing of PDF's. How do I resolve?
-
Can I download / create a gallery template in PE7
Hello, I am export my albums to my website (via FTP) but was wondering whether you could download or create any new gallery templates which can be uploaded. I actually want a basic thumbnail view? Any help would be appreciated. Regards, Alvin Deen
-
The Folders Panel has disappeared from the left side of my elements 11 Organizer. How do I get it back?
-
Purchasing Info Records data upload
Hi, I am uploading purchasing info records using LSMW and the batch input object 0060. But I do not find ESOKZ in the structures to map the Purchasing Info Records Category. Also, I have LIFNR in my source structure and also I see it in BEIN0. But th