How to split the rows while data integration?
Hi All
Im a newbie to ODI. I just want to know whether it is possible to split the rows in the source datastore to populate the target datastore.
Consider a table, say
Target Table 1:
a - varchar
b - number
sometimes i may get the source file like this
source1:
c1 c2
a 1
a 2
b 1
c 1
c 2
c 3
or
source 2:
c1 c2 c3 c4
a 1 2
b 1
c 1 2 3
in case of source 1 , i can easily map the values directly to the target table. the problem is in the source 2 scenario. the number of values in one particular row is unknown. In this case is that possible to split the row and populate the target using ODI.
Many thanks
Message was edited by:
user577332
with interface i don't know but you can make an procedure which make this
like
Select c1,c2 from source2
where c2 is not null
union
Select c1,c3 from source2
where c3 is not null
union
Select c1,c4 from source2
where c4 is not null
this is an option if it doesn't work with Interfaces.
Similar Messages
-
How to export the text edit data to excel file without splitting the data in excel file?
how to export the text edit data to excel file without splitting the data in excel file?
I have a requirement in SAP HR where in the appraiser can add comments in the area given and can export that to excel file. Currently the file is getting exported but the comments getting split into deifferent rows.
I want the entire comment to be fit in one row.
Please help.
Thank youHi,
if your text edit value is stored in 'lv_string' variable.
then before exporting the value to excel you have to remove CL_ABAP_CHAR_UTILITIES=>NEWLINE
that is '#' from the variable lv_string.
for that use code some thing like this.
REPLACE ALL OCCURRENCES OF CL_ABAP_CHAR_UTILITIES=>NEWLINE in lv_string WITH space.
I think this will do the trick. -
How to obtain the row data in the component datatable?
if I want to edit a row data, and then know which row is edited in the component datatable, and how to do?
How to obtain the row data in the component datatable, and update it to database, not simplely edit a simple table
Any ideas? ThanksThank you very much for your help Alexander !
It's quite confusing when you leave Struts and try to adapt your projects for JSF for the first time...
I wanted to click on a row with a "onMouseClick" on the TR tag like I used to do in Struts/JSTL. But it seems to be impossible in a dataTable.
Ok then. I've added a column at the end of the row with an icon.
But eventually I didn't need to declare link parameters.
In my BackingBean I did like this :
public String selectEventForUpdate() throws IllegalAccessException, InvocationTargetException {
PortletAgenda event = (PortletAgenda) JSFUtils.getInRequestMap("event");
BeanUtils.copyProperties(this, event);
return null;
}JSFUtils.getInRequestMap(...) is a method I wrote in a util object :
public static Object getInRequestMap(String name) {
Object res = null;
Map requestMap=FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
if (requestMap!=null) {
res=requestMap.get(name);
return res;
} " event " is the name of the item in my dataTable list.
My backingBean has the same attributes as "event".
So when the page is reloaded I have a backingBean full with the selected properties to edit/update.
Thanks to your reply I realized that putting this form in the middle of the dataTable seems to be impossible.
So I put this form in a floating DIV in front of the table with a shadow.
It works :o) !
But I'm a little bit disapointed to be honest...
I used to build my web applications with Struts and JSTL and doing this kind of interface was really easy.
I've decided 3 days ago to convert into JSF because the "GUI Layer" seemed to be improved.
But now I realize that I cannot put a onMouseOver and onMouseClick on a row and I cannot display a different row in the middle of a table....
I think it's a shame because there is a facet for header and footer.
And it would be great if we could create our own personal facet that appears only if a condition is true.
For exemple " if the current item id is the same as the request parameter id then display the following facet content ....... (with a panel group and a form inside to update the row) "
It's easy to do that with JSTL thanks to c:forEach and c:if but it seems to be impossible to use JSTL tags like this during the dataTable iteration.
And JSF tags seems to have no logical tags like " if " or loops that can be nested in dataTable.
I really need to realize this interface (you click on a row then an edit form appears where you clicked).
Do I have to write a component myself that extends dataTable?
Do you know if writing such a component is hard to do for a beginner like me?
(I've juste discovered JSF 3 days ago and I've used Struts/JSTL for 2 years til now)
I'd be glad to have much advices from you about that.
Regards -
How to make the exchange of data between 2 while loop in real time
hello
I have 2 while loop
the 1st while loop includes the data acquisition program
the 2nd while loop includes the control program
my question is how to make the exchange of data between 2 while loop in real time
I tried with the local variable and direct wiring between the 2 while loop
it does not work (there is a delay)
Solved!
Go to Solution.Bilalus,
Queues are only good to transfer data if your application isn't deterministic. Since you are using Real Time, I am assuming that your application requires determinism. If you are using Timed Loops and you use queues to transfer data between your loops, you are losing determinism. In this case, you need to use the RT FIFO functions.
Warm Regards,
William Fernandez
Applications Engineering
National Instruments -
How to Split the Date Column in OBIEE
Hi,
We have date column name :To_Date and format is MM/DD/YY HH:MM:SS .
How do split the date into YEARS,MONTH,DAY as new columns.
kindly help on this.
Regards.,
CHR
Edited by: 867932 on Nov 23, 2011 10:18 PMHi User,
All 3 functions can be written in rpd too.In BMM layer, duplicate the date column ->Goto Column Mapping tab-> Expression builder ->Select Functions-> Calendar Date/Time Functions-> Select DayofMOnth function. Your logical column's formula will look like,
DayofMonth(YourDateColumn)
Rgds,
Dpka -
How to split the debit memo due date (Cr. student recievable)?
How to split the debit memo due date (Cr. student recievable)?
I have to pay student back like a installment plan (out going payment).
I tried installment plan but it is't work for a credit side.Hi,
Thanks for your answer.
(1) To use FPE1, I understand but it has to do 2 documents for this solution.
Old doc.
Dr. Revenue 500
Cr. student A/R 500
1st Create new doc
Dr. student A/R 500
Cr. student A/R due 1 250
student A/R due 2 250
2nd Manual clearing (old doc vs new doc).
Dr. studen A/R 500
Cr student A/R 500
(2) To use due date schedule
We use this one in fee calculation, It can be debit side or credit side. I don't know it depend on booked-cancelled module.
In the debit side we need to invoice student just one due.
So, I can't use this solution. -
How to split the string by datetime in sql
Hi,
How to split the string by datetime in sql, I've a table with comments column stores comments by datetime, while selecting I want to split and show as in rows by each jobref.
can anyone help me in this please.
Thanks,declare @callcentre table (comments varchar(max),lbiref varchar(200))
insert into @callcentre
select '(28/10/2014 14:56:14) xyz ..... call logged (28/10/2014 14:56:58) xyz ..... call updated (28/10/2014 14:57:41)xyz ..... call updated','Vi2910201'
insert into @callcentre
select '(29/10/2014 14:56:14) xyz ..... call logged (29/10/2014 14:56:58) xyz ..... call updated (29/10/2014 14:57:41)xyz ..... call updated','Vi2910202'
insert into @callcentre
select '(30/10/2014 14:56:14) xyz ..... call logged (30/10/2014 14:56:58) xyz ..... call updated
output:
1) 28/10/2014 14:56:14, (28/10/2014 14:56:14) xyz ..... call logged ,'Vi2910201'
2) 28/10/2014 14:56:58 ,(28/10/2014 14:56:58) xyz ..... call updated ,'Vi2910201'
3) 28/10/2014 14:57:41, (28/10/2014 14:57:41)xyz ..... call updated,'Vi2910201'
4) 28/10/2014 14:56:14, (28/10/2014 14:56:14) xyz ..... call logged ,'Vi2910202'
5) 28/10/2014 14:56:58 ,(28/10/2014 14:56:58) xyz ..... call updated ,'Vi2910202'
6) 28/10/2014 14:57:41, (28/10/2014 14:57:41)xyz ..... call updated,'Vi2910202'
7) 28/10/2014 14:56:14, (28/10/2014 14:56:14) xyz ..... call logged ,'Vi2910203'
8) 28/10/2014 14:56:58 ,(28/10/2014 14:56:58) xyz ..... call updated ,'Vi2910203'
Thanks,
See this illustration
declare @callcentre table (comments varchar(max),lbiref varchar(200))
insert into @callcentre
select '(28/10/2014 14:56:14) xyz ..... call logged (28/10/2014 14:56:58) xyz ..... call updated (28/10/2014 14:57:41)xyz ..... call updated','Vi2910201'
insert into @callcentre
select '(29/10/2014 14:56:14) xyz ..... call logged (29/10/2014 14:56:58) xyz ..... call updated (29/10/2014 14:57:41)xyz ..... call updated','Vi2910202'
insert into @callcentre
select '(30/10/2014 14:56:14) xyz ..... call logged (30/10/2014 14:56:58) xyz ..... call updated','Vi2910203'
SELECT LEFT(p.u.value('.[1]','varchar(max)'),CHARINDEX(')',p.u.value('.[1]','varchar(max)'))-1) AS [Date],
'(' + p.u.value('.[1]','varchar(max)') AS comments,
lbiref
FROM
SELECT lbiref,CAST('<Root>' + STUFF(REPLACE(comments,'(','</Data><Data>'),1,7,'') + '</Data></Root>' AS XML) AS x
FROM @callcentre c
)t
CROSS APPLY x.nodes('/Root/Data')p(u)
and the output
Date comments lbiref
28/10/2014 14:56:14 (28/10/2014 14:56:14) xyz ..... call logged Vi2910201
28/10/2014 14:56:58 (28/10/2014 14:56:58) xyz ..... call updated Vi2910201
28/10/2014 14:57:41 (28/10/2014 14:57:41)xyz ..... call updated Vi2910201
29/10/2014 14:56:14 (29/10/2014 14:56:14) xyz ..... call logged Vi2910202
29/10/2014 14:56:58 (29/10/2014 14:56:58) xyz ..... call updated Vi2910202
29/10/2014 14:57:41 (29/10/2014 14:57:41)xyz ..... call updated Vi2910202
30/10/2014 14:56:14 (30/10/2014 14:56:14) xyz ..... call logged Vi2910203
30/10/2014 14:56:58 (30/10/2014 14:56:58) xyz ..... call updated Vi2910203
Please Mark This As Answer if it solved your issue
Please Mark This As Helpful if it helps to solve your issue
Visakh
My MSDN Page
My Personal Blog
My Facebook Page -
How to Fix the row in sap script, its urgent......
Hi Experts,
first i explain my sap script, i have print void check in my script client give readymade format means box are there, lines are there. i have to fix in box and line data form database table. everthing is working fine. i got all data. i have total 6 window in my script .but i have one issue In my sap script in header window total five rows... like below
Check voucher no:8888
check No: 1234
Date:1/28/2007
Bank:xyz
Batch no: 5678
now sometime check voucher is balnk....
Check voucher no: BLANK/NULL
check No: 1234
Date:1/28/2007
Bank:xyz
Batch no: 5678
because of that all rows are move up side and all window also move up side and so script not fix to the box and line all data are seen not perfectly... so guru`s how to fix the row and window in script....
its urgent...
Waiting for ur reply
Thanks & regards
JigarHi,
Follow the below steps . Definately your issue will bve resolved.
Let us suppose you are printing following fields
PH &v_text&
PH &v_text1&
PH &v_text2&
you will get the output as you expected.
and if you have any conditions for these fileds
/: if v_text is not initial.
PH &v_text&
/: endif
PH &v_text1&
PH &v_text2&
if you have data in each field then you will get output as expected .
But when v_text is initial.
the data will be moved up wnhich is happening in your case.
so what you need to do is?
/: if v_text is not initial.
PH &v_text&
/: else
PH (Here you need to mention empty line with same paragraph format
/: endif.
PH &v_text1&
PH &v_text2&
Reward points if useful
Regards,
Nageswar -
How to maintain the material master data in plant
Hi all,
while creating BOM I am getting an error "no material master data in plant' can some one help me how to maintain the material master data in plant
Regards,
BaluCheck the material available in MARC table in SE11 transaction against your plant.If it is not available please maintain through MM01 transaction.
-
How to get the row Count of a ResultSet
How to get the row Count of a ResultSet
Hi
I'v tried rennie1's way ,but I only get zero,my code is:
rs.executeQuery("select count(*) from t_test");
if (rs.next()) int rowCount=rs.getInt(1);
I also tried barni's way ,but the method rs.last() and rs.beforeFirst() throw a same Exception
I tried another way,the code is:
while rs.next(){
// Do nothing ,just move the cursour to the last row
int rowCount=rs.getRow()
However,the rowCount still equal zero
Any help would be greatly apprecite!
note:
I get connection by DataSource's JNDI name from client, the Server is Weblogic Server 6, the DBMS is Oracle. -
How to store the flat file data into custom table?
Hi,
Iam working on inbound interface.Can any one tell me how to store the flat file data into custom table?what is the procedure?
Regards,
SujanHie
u can use function
F4_FILENAME
to pick the file from front-end or location.
then use function
WS_UPLOAD
to upload into
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME' "Function to pick file
EXPORTING
field_name = 'p_file' "file
IMPORTING
file_name = p_file. "file
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_file1
TABLES
data_tab = it_line
*then loop at it_line splitting it into the fields of your custom table.
loop at it_line.
split itline at ',' into
itab-name
itab-surname.
endloop.
then u can insert the values into yo table from the itab work area.
regards
Isaac Prince -
How to Split the message content?
Hi ....
I am having an input File like below format.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_ISO8583 xmlns:ns0="http://axis.com/bank_statement">
<Field1></Field1> -
0 to 1
<Filed2></Filed2> -
0 to 1
<Filed3></Filed3> -
0 to unbounded
</ns0:MT_ISO8583>
Here Field 3 is repeating many times. The value in the Field 3 has to be splitted and should be mapped to the target feilds. Field 3 will stop repeating until when the first value in the field 3 is N.
The length of the field is 142 characters in length.
The field should be splitted based on the following structure.
More data flag : 1 char (u2018Yu2019/u2019Nu2019) This indicates whether there are more records for the given criteria.
Number of statements : 2char (00 to 20) Number of statements in this fetch
The following are repeated as many number of statements
Transaction date : 8 char ( YYYYMMDD )
Transaction Id : 9 char (right justified, left padded with spaces)
Part tran serial num : 4 char (right justified left padded with spaces)
Tran Type : 1 char ( C - Cash, T - Transfer, L - Clearing )
Tran sub type : 2 char ( BI, CI, NP, NR)
Debit credit indicator : 1 char ( D - Debit, C - Credit )
Tran value date : 8 char ( YYYYMMDD )
Transaction Amount : 17 char ( with decimal )
Transaction particulars : 50 Char (left justified, right padded with spaces)
Transaction Posted date : 14 char ( YYYYMMDDHHMISS )
Instrument number : 8 char (right justified, left padded with spaces)
Balance at the end of the transaction : 17 char ( with decimal )
Can you help me , how to split the message content in the field3?
Below is the sample message.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_ISO8583 xmlns:ns0="http://axis.com/bank_statement">
<Field1>930000</Field1>
<Filed2>234259901406</Filed2>
<Filed3><Y0820090127S275433861005TBIC20090127 4872.14EDC/212-213-/M000044375340045 20090127151 959 32663.7620090127S278456264276TBIC20090127 5290.45EDC/214-215-/M000044375340045 20090127205840 37954.2120090131S299799314797TBIC20090131 1883.88EDC/216-216-/M000044375340045 20090131104028 39838.0920090202S31532814 662TBIC20090202 3105.37EDC/217-217-/M00004 4375340045 20090202121514 42943.4620090205S337981634779TBIC20090205 2052.20EDC/2 18-218-/M000044375340045 20090205104040 44995.6620090205 M53898 1CNPD20090205 42000.00TO CASH/SELF 20090205111633 12824 2995.6620090207S354072734740TBIC20 090207 4429.21EDC/219-219-/M000044375340045 20090207112958 7424.8720090209S3671 72631419TB Field 126: IC20090209 7161.55EDC/220-221-/M000044375340045 20090209122637 14586. 42]]></Filed3>
<Filed3><Y0820090127S275433861005TBIC20090127 4872.14EDC/212-213-/M000044375340045 20090127151 959 32663.7620090127S278456264276TBIC20090127 5290.45EDC/214-215-/M000044375340045 20090127205840 37954.2120090131S299799314797TBIC20090131 1883.88EDC/216-216-/M000044375340045 20090131104028 39838.0920090202S31532814 662TBIC20090202 3105.37EDC/217-217-/M00004 4375340045 20090202121514 42943.4620090205S337981634779TBIC20090205 2052.20EDC/2 18-218-/M000044375340045 20090205104040 44995.6620090205 M53898 1CNPD20090205 42000.00TO CASH/SELF 20090205111633 12824 2995.6620090207S354072734740TBIC20 090207 4429.21EDC/219-219-/M000044375340045 20090207112958 7424.8720090209S3671 72631419TB Field 126: IC20090209 7161.55EDC/220-221-/M000044375340045 20090209122637 14586. 42]]></Filed3>
<Filed3><Y0820090127S275433861005TBIC20090127 4872.14EDC/212-213-/M000044375340045 20090127151 959 32663.7620090127S278456264276TBIC20090127 5290.45EDC/214-215-/M000044375340045 20090127205840 37954.2120090131S299799314797TBIC20090131 1883.88EDC/216-216-/M000044375340045 20090131104028 39838.0920090202S31532814 662TBIC20090202 3105.37EDC/217-217-/M00004 4375340045 20090202121514 42943.4620090205S337981634779TBIC20090205 2052.20EDC/2 18-218-/M000044375340045 20090205104040 44995.6620090205 M53898 1CNPD20090205 42000.00TO CASH/SELF 20090205111633 12824 2995.6620090207S354072734740TBIC20 090207 4429.21EDC/219-219-/M000044375340045 20090207112958 7424.8720090209S3671 72631419TB Field 126: IC20090209 7161.55EDC/220-221-/M000044375340045 0090209122637 14586. 42]]></Filed3>
<Filed3><N0820090127S275433861005TBIC20090127 4872.14EDC/212-213-/M000044375340045 20090127151 959 32663.7620090127S278456264276TBIC20090127 5290.45EDC/214-215-/M000044375340045 20090127205840 37954.2120090131S299799314797TBIC20090131 1883.88EDC/216-216-/M000044375340045 20090131104028 39838.0920090202S31532814 662TBIC20090202 3105.37EDC/217-217-/M00004 4375340045 20090202121514 42943.4620090205S337981634779TBIC20090205 2052.20EDC/2 18-218-/M000044375340045 20090205104040 44995.6620090205 M53898 1CNPD20090205 42000.00TO CASH/SELF 20090205111633 12824 2995.6620090207S354072734740TBIC20 090207 4429.21EDC/219-219-/M000044375340045 20090207112958 7424.8720090209S3671 72631419TB Field 126: IC20090209 7161.55EDC/220-221-/M000044375340045 20090209122637 14586. 42]]></Filed3>
</ns0:MT_ISO8583>
Thanks & Regards,
Leelausing substring to get values you want, and map to corresponding target nodes except:
fields3 ->count->Number of statement
Regards.
Liang -
How to split the report into different versions view 1 agent delivery
Hello
I have a scenario where I need to send a dashboard to multiple users. The user information are stored in the table like the following:
USER Day Car Pay Type Cost Email
USER1
-10
-2
Honda
Customer Pay
500
[email protected]
USER2
-4
-1
AUDI
Customer Pay + Warranty
1000
[email protected]
USER2
-4
-1
PORSCHE
Customer Pay + Warranty
1000
[email protected]
Now I have a dashboard call Car, on this dashboard I have prompts like Date, Car, Pay Type, Cost, pretty much the same name as the columns in the above table. I have also set up session variables to pick up users based on the log in.
Now for user2, he is getting 1 email, which is the dashboard with both Audi and Porsche on there. Instead, he wants to 2 attachments, 1 for Audi and 1 more Porsche. Is there a way to achieve this using 1 agent?
Please let me know how to split the result sets based on user records in the table
Thank youHello,
Thank You very much for the useful hint.
Regards
Aloha -
How to split the Multi Provider
HI All,
Please give me the steps How to split the Multi provider and also let me know how to find the multi provider is parellal or series?
Thanks
Vasu.Hi
If you have huge volumes of data, logical partitioning (splitting into multiple data targets based on a time characteristic) is always recommendable. You can choose to so only for the cube (split into 3 cubes) and have the suitable code when loading from the ODS's.
Else you can split the ODS's as well and have the code in the update rules from source system to the ODS's. Either ways, once you choose to split...you have no choice but to use a multi provider to report on these splits.
During the execution, query is automatically multiple sub queries and these sub queries read the partitioned cubes in parallel. This would increase the performance of reports. Hope this helps!
http://help.sap.com/saphelp_bw31/helpdata/en/de/bcb73d73a5f972e10000000a114084/content.htm
santosh -
How to setup mail client in Data Integrator 11.7 to make use of mail_to()
How to setup mail client in Data Integrator 11.7 to make use of mail_to() function.
I am using mail_to() function in one of my job to know the status of source file. If source file is not ready, our DI job should fail and send mail notification with reason for failure.
But mail_to() function is not sending any mail. I guess I need to set up email client.
Any one please help to resolve this issue.
Thanks
PhaniFrom the DI documentation that comes with the installation:
To use this function, a mail client must be installed and running on the Job
Server computer that calls the function. The login account for the mail client
must have the same user name and password as the Data Integrator service.
The type of client varies by the operating system:
u2022 If the Job Server is on a computer running the Windows operating
system, then the mail client must comply with MAPI (message application
programming interface). In addition, the mail client must be configured as
the default mail client. For example, Microsoft Outlook is a MAPI-based
mail client.
If the Job Server is on a computer running the UNIX operating system,
then the mail client must be mailx-compliant.
So:
Mail client installed and configured and set as default
Mail client uses the same credentials as the job server service
Or use another function: smtp_to();
If still not working or you are not allowed to use an installed mailclient on your box, then try Blat: http://www.blat.net/
Maybe you are looking for
-
Java.io.EOFException while deploying RPD in OBIEE Cluster using Mbean
I am using oracle.biee.admin:type=BIDomain.BIInstance.ServerConfiguration,biInstance=coreapplication,group=Service to deploy RPD on a clustered environment with 3 servers, I get the following error, it works fine on a single host, any clue ? Connecti
-
Hi Gurus, I want to enable a functionality to release the PR after changing the existing one(Which is already released). Please let me know the configs to be done for enabling this.Thanks for your help in advance. with regards, Saakithyan
-
I have just started using Captivate 7. In 5.5, when you published to swf, you could deselect the "Export To HTML" option to prevent Captivate from making HTML, js, and css files. Since my authoring tool does not require these files with swfs, I alway
-
Mac OS 10.5.8 Flash 10 settings
Ok, I have made peace with the fact that Flash 10 is running a lot slower on my son's PowerBook G4 than my comparable work Windows based laptop. However, I would like to make sure I run it as efficiently as possible. When I right click a Flash box,
-
Sorry me again.....
Hi all Sorry its me again, asking lots of questions I know! Still working on my .swf. I need to record various things, like which button someone presses, when running my file and then get this onto the computer somehow. I have done something similar