Transformation: no target field
Hello,
I'm trying the Blog
/people/gilad.weinbach2/blog/2007/02/23/a-beginners-guide-to-your-first-bi-model-in-nw2004s
and at the point where I've to create a transformation I don't see any field in the target.
There is only one line: 0RECORDMODE.
Where could be the error?
Should I somehow insert the fields in the DataStore? How?
Thanks for any hint.
Regards,
Tommaso
Hi,
I inserted the field manually and it works.
I have another question: Why in the Blog there is no 0RECORDMODE rule (BW Delta Process: Update Mode)
And why can't I delete this rule?
Regards,
Tommaso
Similar Messages
-
Transformation routine on 2 different targets fields
Hi gurus,
I have been trying do some ABAP transformation routines, I did 1 and it was good works fine, then I tried to create another transformation routine on a different target field of the same DSO, and for some reason what I did on the global declaration on the other transformation is in this transformation and if I do a change in the second transformation it shows in the first transformation, other thing is that in the second transformation anything works, I got errors for everything and are not very specific. I may be skipping some basic steps; maybe I canu2019t create 2 transformation routines in the same transformation?
ThanksHi,
There can be just 1 start routine.
These are execute once. Also the declarations done in the global section remain visible in all the transformation routines.
You can write multiple transformation(field level) routines.
-Mayuri -
XSLT for dynamic target field names
Hello,
I got a requiremt where I need to create target field names from input values.
Input XML -
<?xml version="1.0" encoding="UTF-8"?>
<Createelement_MT>
<Field Name="A">
<Value>1</Value>
</Field>
<Field Name="B">
<Value>1</Value>
</Field>
</Createelement_MT>
Expected OutPut XML -
<?xml version="1.0" encoding="UTF-8"?>
<Createelement_MT>
<Statement><TableName><table>XYZ</table>
<access>
<A> 1 </A>
<B> 2 </B>
</access>
</Statement></TableName>
</Createelement_MT>
The value of the attribute 'Name' of field 'Field' should be the name of target field.
XSLT:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Createelement_MT">
<xsl:element name="statement">
<xsl:element name="TableName">
<xsl:element name="table">ABC</xsl:element>
<xsl:element name="access">
<xsl:for-each select="Field">
<xsl:element name="{@Name}">
<xsl:value-of select="Value"></xsl:value-of></xsl:element></xsl:for-each>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Error:
Error: at xsl:element on line 15 of file:///......: XTDE0820: Invalid element name. Invalid QName {}
Please help me with the xslt code for this requirement.
Thanks!Hi,
Please try this code
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/">
<Createelement_MT>
<Statement>
<TableName>
<table>XYZ</table>
<access>
<xsl:for-each select="Createelement_MT/Field">
<xsl:variable name="field" select="@Name"></xsl:variable>
<xsl:element name="{$field}">
<xsl:value-of select="Value"></xsl:value-of>
</xsl:element>
</xsl:for-each>
</access>
</TableName>
</Statement>
</Createelement_MT>
</xsl:template>
</xsl:stylesheet>
input xml
<?xml version="1.0" encoding="UTF-8" ?>
- <Createelement_MT>
- <Field Name="A">
<Value>1</Value>
</Field>
- <Field Name="B">
<Value>1</Value>
</Field>
</Createelement_MT>
output xml
<?xml version="1.0" encoding="UTF-8" ?>
- <Createelement_MT>
- <Statement>
- <TableName>
<table>XYZ</table>
- <access>
<A>1</A>
<B>1</B>
</access>
</TableName>
</Statement>
</Createelement_MT>
One small request, if you think your question has been answered,could you please kindly, if possible, close this thread.
regards
Anupam -
Picking up required Characteristics from my Source field to Target field!!
Hi ,
I need to pick up data from a source field that is 35 characters long to a target field in my Cube that is only 4 char long. But the data that will be fed into this source field will be 4 char long only, so can anyone help me with picking up only the 4 char I need into my target field.
Is this possible, If yes kindly post the routine that will allow me to concatenate the remaining characteristics and pick up only the 4 char I need.
Thanks,
Guru.Also, if this is the behaviour of the infoObject at all the places it is to be used, you can created Global Transfer Routine at infoObject level.
Otherwise you can write the routine in transformations, rule type "Routine" and then the avaiable source field can be used.
A simple example:
I needed to build a character date field for a cross-platform integration project I was working on. First, I defined the date field:
data: datechar(10).
To build the date lets use sy-datum, which has the current system date.
write SY-DATUM+4(2) to datechar+0(2).
write '/' datechar+2(1).
write SY-DATUM+6(2) to datechar+3(2).
write '/' TO datechar+5(1).
write SY-DATUM+0(4) to datechar+6(4).
Value of SY-DATUM 20010616
Here's how the field changes with the execution of each line.
06________
06/_______
06/16_____
06/16/____
06/16/2001
Hope this helps.
Cheers,
Sumit -
Key rule 2 (target field: M1_SUN): Initial update set
HI
friends,
while creating transformations for my character i gave initial
i am getting this message
Key rule 2 (target field: M1_SUN): Initial update set
initial means blank, so my output values should be blank for material, ple let me know.
regards
suneel.Hi Suneel,
Normally you would want to load data for an InfoObject, so if you are not, the system just warns you. Like you also get warning when adding or removing nav attr from an InfoObject. Even if you are doing that for a reason, the system will prompt with warnings before activating the object.
Hope this helps... -
Couldn't assign target field for characteristics in PI sheet config
Dear All,
I'm trying to configure PI sheet, i have created Process message categories as well as characteristics. Everything is working fine except the inputted value (for example weight, density) in PI sheet not getting transferred into process order. When i try to assign the destination message to the message characteristics, i couldn't find any value for the message categories which i created. System shows the below error:
No entries found that match selection criteria
Message no. SV004
Even if i try to assign manually,system shows with error
Corresponding entry in "Destinations/Message categories" missing
Message no. SV534
Steps i did :
1. Created new Control Recipe destination(ZCR) ( by copying sap provided CRD "05")
2. Created new characteristics group(ZMCG) for process message ( by copying sap provided group "PPPI_01") and released
3. Created Characteristics (ex. weight, density) with chars. group as ZMCG
4. Didn't create any new message destination (Trying to use defaut "PI01")
5. Create New Process Message Category(ZTEST) and assign the characteristics (weight, density along with PPPI_PROCESS_ORDER)
The problem is i couldn't assign target field as "process order" to update the inputted values for the characteristics (weight, density) in O13C
I gone through all the node in "Process Management" but unfortunately i don't know where we have to assign this destination. I hope if i assign the destination message as "PI01" with characteristics "PPPI_PROCESS_ORDER" along with target field as "PROCESS_ORDER" for the characteristics it may update into process order. How to assign the destination message for the message category?
ThanksHi Kumar,
Thanks. When i try to assign the destination message for the characteristics through O13C, i got the error message that "No entries found that match selection criteria". It means there is no characteristics with the combination of Process message category "ZTEST" with Destination as "PI01". If i trying to assign manually through "New entries" option, systems shows with the error "Corresponding entry in "Destinations/Message categories" missing.
Thanks -
End Routine - populating Target Field based on Master Data
Hi,
I have an issue with my End Routine in BI 7.0. The scenario is as follows....
The Target-Fields ZSALES_OFFICE , 0SALES_CHANNEL etc. are being mapped 1:1 from their respective source fields. In addition to these target fields I have a target field 0SALESORG which I need to populate based on the values from 0COMP_CODE which is an attribute of ZSALES_OFFICE. The values of 0COMP_CODE are 9000, 9001, 9002 and 9003 respectively. The end routine condition needs to be implemented as follows...
For every 0COMP_CODE which has value 9000, 0SALESORG should be populated with the value "EAST". Similarly for every 0COMP_CODE which has value 9001, 0SALESORG should be populated with the value "WEST", for every 0COMP_CODE which has value 9002, 0SALESORG should be populated with the value "NORTH" and for every 0COMP_CODE which has value 9003, 0SALESORG should be populated with the value "SOUTH". I tried the following code but it doesnt seem to work. Could you pls help!!
Thanks,
SD
DATA: it_tab4 TYPE TABLE OF /BIC/PZF31SALOFF,
wa_tab4 TYPE /BIC/PZF31SALOFF.
SELECT *
FROM /BIC/PZF31SALOFF
INTO CORRESPONDING FIELDS OF TABLE it_tab4.
sort it_tab4 by /BIC/ZF31SALOFF.
LOOP AT RESULT_PACKAGE
INTO <result_fields>.
read table it_tab4
with key /BIC/ZF31SALOFF = <result_fields>-/BIC/ZF31SALOFF
into wa_tab4
binary search.
if sy-subrc eq 0.
CASE wa_tab4-comp_code.
WHEN '9000'.
<result_fields>-salesorg = 'EAST'.
WHEN '9100'.
<result_fields>-salesorg = 'WEST'.
WHEN '9200'.
<result_fields>-salesorg = 'NORTH'.
WHEN '9300'.
<result_fields>-salesorg = 'SOUTH'.
MODIFY it_tab4 FROM wa_tab4.
ENDCASE.
endif.
ENDLOOP.Replace your select statement ,
SELECT *
FROM /BIC/PZF31SALOFF
INTO CORRESPONDING FIELDS OF TABLE it_tab4.
instead of selecting all the fields , pick only the fields which are required.(one good performance improvement)
SELECT /BIC/PZF31SALOFF comp_code
FROM /BIC/PZF31SALOFF
INTO CORRESPONDING FIELDS OF TABLE it_tab4.
Remove the line below , this is not required
MODIFY it_tab4 FROM wa_tab4. -
How do I get more target fields to apper in inspector for a mail merge?
I am trying to do a mail merge from a Numbers spreadsheet to a Pages document. The spreadsheet has three columns: first name, last name, units. When I choose and add the merge fields to inspector the target fields 'first name' and 'units' appear but no target field entitled 'last name' appears. I can't figure it out.
Which version of Pages?
Peter -
Forcing Creation of Target Field
Hi,
I want 2 force the creation of target field C in my Message Mapping.:
So, if A exist and not empty, map A to C,
if not, map B to C.
The problem is, if i have a not existing field on left side, the right side wont be created. But I want C to be created in any way.
Regards,
UdoThere must be a hundred threads that deal with this subject already.
http://help.sap.com/saphelp_crm60/helpdata/en/45/ff8980cbb709eee10000000a1553f6/frameset.htm
/people/gregor.wolf3/blog/2006/07/22/create-run-and-analyze-an-e-mail-campaign-with-a-survey-part-1
/people/gregor.wolf3/blog/2006/05/11/advanced-campaign-automation-in-mysap-crm-40-teaser -
In XI Mapping multiple fields mapping to single target field.
Hi Friends,
In XI Mapping multiple fields mapping to single target field.
For example my requirement is :
Source Fields:(This RFC BAPI Structure)
Empno 0-1
EmpName 0-1
Address 0-1
Taget Field is:
Details 0-1
The above three fields passed to the Details Field. Here i am using Concat function
But i have one query on that on,Every field having "line Break" required.
Can you please help me out above this requirement.
Thanks in Advance,
Sateesh N.If you want a line break between the three fields, then try
passing a,b,c to the udf and in the udf you would have
return a+"\n"+b+"\n"+c; -
Creating target field based on input node
Hi all,
I'm facing a problem in creating the target node based on input node. See if the input node value is repeated I don't want to create the target field for the second occurrence.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_temp xmlns:ns0="urn:test">
<row>
<temp_id>1002</temp_id>
</row>
<row>
<temp_id>1002</temp_id>
</row>
</ns0:MT_ItemEvent>
In the above structure you can see the temp_id is repeated , I want to create only one target node. Plz help me to solve this.HI,
Use the UDF and in that use Vector to create the result list with the values.
use temp_id as imput and before that remove context
after the UDF use the Splitbyvalue
See the below code
String () a;
Vector prod = new Vector();
for (i=0;i<a.length;i++){
if(!prod.contains(a(i))) prod.add(a(i));
Collections.sort(prod);
for(i=0;i<prod.size();i++){
result.addValue((String) prod.get(i));
Regards
Chilla -
Message-Mapping: Use same RFC lookup for different target fields
Hello,
I need to apply an RFC Lookup which delivers a boolean flag back (true or false). This RFC lookup should be used for different target fields.
Is there a way to execute the RFC lookup just once and then store the result in an internediate variable that I can use for all futher checks for different target fields?
If this is not possible and I have to apply the RFC lookup for all necessary target fields is it then executed for each target field ? This is exactly what I want to avoid in order not to slow down performance.
The input parameter (=source field value) would be the same.
Thank you for your advice!Exactly.
Here is a UDF example I have that you could adapt to your needs.
Set
public String setCounter(String a,String b,Container container){
/* Store values in global datacontainer
a: mapping value and return valueparameter
b: name for stored value parameter
GlobalContainer myGlobalContainer;
myGlobalContainer = container.getGlobalContainer();
myGlobalContainer.setParameter(b.toUpperCase(), a);
return a;
Get
public String getCounter(String a,Container container){
//write your code here
GlobalContainer gc = container.getGlobalContainer();
if (gc.getParameter(a) != null) {
return String.valueOf(gc.getParameter(a));
} else {
return "1"; -
Mapping Issue. Parsing problem to target Fields based on condition.
Hi All,
File to Idoc scenario.
My file looks like below.
HD 89650 28/01/11 "Presciber tan"
AF "disc-rsn"
RK "007287001" A
KE disc-code "007287"
KE addr-num "001"
DF fax-num ""
DF in-out "I"
DF phone-2 "23221"
AF "drs"
RK "007287" A
KE dr-num "00221"
KE addr-num "001"
DF affil "OPSM"
DF rec-stat "A"
DF phone-2 "12444"
AF "disc-rsn"
RK "dr-addraddress-1 17287|1EN" A
KE disc-code "008287"
KE field-name "address-1"
KE element " 1"
DF in-out "I"
DF phone-2 "1232"
DF post-code "3109"
DF provider-num "5349201J"
DF rec-stat "A"
T 24
I need to capture and create target segments only for the values "AF "disc-rsn"".And pass all the relavant rows (RK,KE,DF...) which are under "AF "disc-rsn"" to the target fields.
I'm struggling to parse the value to the output structure as RK,KE,DF will be present under anywhere like "AF drs", "AF disc-rsn" etc.
I'm able to create the target segments (2 Zdisc segments as 2 "AF disc-rsn" present in the file), but unable to parse the field values to the target fields.
Ex: DF phone-2 is present in 8th, 15th,22nd row. I need to pass only 8th and 22nd rows to the target fields.
After content conversion, My Source XML looks like below.
<?xml version="1.0" encoding="utf-8" ?>
- <MT_DiscountDetails>
- <HD>
<KeyField>HD</KeyField>
<HDRow>89650 28/01/11 "Presciber tan"</HDRow>
</HD>
- <AF>
<KeyField>AF</KeyField>
<AFRow>"disc-rsn"</AFRow>
</AF>
- <RK>
<KeyField>RK</KeyField>
<RKRow>"007287001" A</RKRow>
</RK>
- <KE>
<KeyField>KE</KeyField>
<KERow>disc-code "007287"</KERow>
</KE>
- <KE>
<KeyField>KE</KeyField>
<KERow>addr-num "001"</KERow>
</KE>
- <DF>
<KeyField>DF</KeyField>
<DFRow>fax-num ""</DFRow>
</DF>
- <DF>
<KeyField>DF</KeyField>
<DFRow>in-out "I"</DFRow>
</DF>
- <DF>
Is there any way I can acheive my mapping based on the above condition?? Kindly suggest me.
Thank you for your time.
Regards
DeepthiNot required. Using Java function. Solved the issue.
-
Dynamically filename is required in CC but not reuired in Target field
HI,
my requirement is to create filename dynamically(UDF) in Receiver communication channel but I dont want the name should be populated in the target field as target field is not provided by business.
I received the below UDF from SDN
String date = var1[0];
String RFCL = var2[0] ;
String FN = RFCL + date ;
AbstractTrace trace = container.getTrace();
trace.addWarning("Test" + FN);
String NameSpace = "http:/"+"/sap.com/xi/XI/Syatem/File";
DynamicConfiguration conf =
(DynamicConfiguration)container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create(NameSpace, "FileName" );
conf.put(key,FN);
//trace.addWarning("Test" + var2);
//trace.addWarning("Test" + RFCL);
result.addValue(var2);
Can any one suggest me how I can achieve my requirement
ThanksHi
Use the code
public String getFileName(Container container) throws StreamTransformationException{
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
//For getting filename
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
// Retrieve the filename
String FileName = conf.get(key);
return FileName;}
Map this to the root node. Do not forget to keep the Adapter Specific Message Attributes(ASMA) checked in the communication channels.
Set Adapter Specific Message Attributes
File Name.
Regards
Monika -
File content conversion: Target Field is optional
I am using FCC in receiver file adapter.
My file is getting generated.
In target structure one field is optional and hence target xml element doesnt have value. hence that field is not there in txt file. with this what happens next subsequent field gets shifted to my optional field place and then i get error field length is not correct.
I want to put 2 spaces if that optional field length is 2 char and then there should be field separator(space) and the subsequent column.
I am already giving fixedfieldlegnth of all the fields.
Pl can anyone suggest how to do this.
thanks,
sharadaHi Sharada,
Do your normal mapping to the target field that is optional.
Use a If function before mapping the field.
Check if the node is created in usual mapping, else map a constant with 2 spaces.
DO something like this:
Mapping ---------------->
equalsS ----> if
constant(empty Value)--->
constant(2 spaces)--> then -> tgtField
Mapping -----------> else
regards,
P.Venkat
Maybe you are looking for
-
I need to figure out how to tell Organizer that photos have moved from one hard drive to another
I have PSE 10 on my laptop and used Organizer to tag and view images on my laptop and on my PC via a wireless network. My PC died but I had all the photos backed up on an external hard drive. I want to tell Organizer to look for those photos (hundr
-
Physical Joins Difference Between 10G and 11G?
Hi All, I have started using OBIEE 11G. Anybody please let me know is there any difference in applying physical joins in OBIEE 10G and 11G. I heard that we need to join Fact and Dim tables in reverse way in 11G. Thanks in Advance.
-
Getting following error when trying to download ebooks: E-AUTH-BAD-DEVICE-KEY-OR-PKCS12
I AM TRYING TO USE A GLOWLIGHT I JUST PURCHASED, BUT KEEP GETTING ERROR: E-AUTH-BAD-DEVICE-KEY-OR-PKCS12. Can you tell me what I need to do to correct this problem?
-
Can I deploy web service on APEX server
I have APEX 3.1.2 on 11g database. I need to pull data from other oracle 9i databases into APEX application. I have created web service on my pl/sql package to pull data from 9i databases and deployed service on my local oc4j instance (within jdevelo
-
Hello, I would like know if there is a way to control the keyboard keys using an applet, such as disable ctrl alt del, print screen, ctrl c, ctrl v and so on? if yes could someone tell me where i can find some informations about these. Thank you,