FCC on sender side
Hey guys
i have a requirement wherein i will be getting a CSV file of the form
<Reg>3
<Name>mark</Name>
<Age>25</Age>
</Reg>
<Reg>4
<Name>Adam</Name>
<Age>27</Age>
</Reg>
i have convert this file to XML and send over HTTP,
is this possible using FCC,coz i know sender FCC permits only one level of substructure and here my structure is kinda strange.
any help would be appreciated
thanx
ahmad
With source as ,
mark~25
Adam~27
Jimmy~30
XML needed as,
<Employee>
<data>
<Name>Mark</Name>
</Age>25</Age>
</data>
<data>
<Name>Adam</Name>
<Age>27</Age>
</data>
</Employee>
Use this content conversion.
Document Name : Employee
Document Namespace : namespacevalue
Recordset Strucutre : data,*
data.fieldNames : Name,Age
data.fieldSeparartor: ~
data.endSeparator : 'nl'
ignoreRecordsetName : true
Regards
Bhavesh
Similar Messages
-
Error While Doing FCC on Sender Side
Hi All,
Iam reffering this Blog and doing File to File (FCC at Sender Side)
Content Conversion ( The Key Field Problem )
I have the Same Structure for both Source & Target. this is my structure
http://img386.imageshack.us/my.php?image=sourcestructym4.jpg
& i used the Following FCC Parameters at Sender Side
http://img123.imageshack.us/my.php?image=fccparawy7.jpg
Header.fieldSeparator ,
Header.fieldNames --- keyfield,Name,Designation,City
Header.keyFieldValue --- 01
Body.fieldSeparator ,
Body.fieldNames -
keyfield,Salary,Contact,MailID
Body.keyFieldValue -- 02
Trailer.fieldSeparator ,
Trailer.fieldNames ---keyfield,Address,Pin
Trailer.keyFieldValue -- 03
ignoreRecordsetName -- true
Txt File--Input
01,Vamsi,SSE,Chennai
02,1000,9962123146,vamsi.krishna
03,Chennai,600096
I placed the txt File in AL11 of XI Server and file not picked up and i have got the Error in Sender CC monitor in RWB
Conversion initialization failed: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Mandatory parameter 'Header.keyFieldValue': no value found Mandatory parameter 'Header.fieldNames': no value found
RegardsHi,
I think all your configuariotn looks right.
Regarding your .txt file:
Check that there is no blank lines before your first record.
Also, that your records begin in the first column,
and also that there is 'nl' between your records.
Try to add 'field.endSeparator ' in every record.
According to help. sap:
If you only specify a value for NameA.fieldSeparator, the system expects a string containing the
names of the file columns in the same format as the file rows. This means that the same separator and
any additional strings you specify for NameA.endSeparator and/or NameA.beginSeparator are expected.
Carlos
Edited by: Carlos Gonzalez on Nov 27, 2008 12:10 PM -
Hey guys
i have a very basic question.wats the need of FCC on sender side?suppose i have a flat source structure,do i always need to convert this into XML before i can send it to IS or XI will do that by itself?
thanx
ahmadAhmad,
The only adapter that does implicit coversion is JDBC! Also if you look into Sender JDBC adapter , the JDBC adapter will conveert data into a standard formart and your Source Datatyype needs to confirm to this format. You cannot customize / change the format of the source datatype for JDBC adapter.
You need to perform conent conversion using JMS and Mail Adapters if your source data is not XML . For this you use the MessageTransformBean to convert Non XML to XML.
More on this in this article,
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50061bd9-e56e-2910-3495-c5faa652b710">How to Use the Content Conversion Module with the XI 3.0 J2EE JMS Adapter</a>
the Title suggest that you can use it with JMS but it can also be used with Mail Adapters.
Regards
Bhavesh -
How to handle preceding space characters in file to file(FCC on both sides)
Hi All,
We have scenario with file to file (FCC on both sides).
Issue is: Sender side we are converting source file (CSV) into XML. But while converting it is ignoring preceding spaces.
Example:
Suppose Source file(CSV) contains one record as mentioned below ( for ur understanding purpose I mentioned 'X' instead of space. )
XXXXXXXXXX12345 78945 23548 23446
The above record is getting converted into XML as
<text>12345 78945 23548 23446</text>
But we need the record to be converted into XML as mentioned below
<text>XXXXXXXXXX12345 78945 23548 23446</text>
i.e we need spaces before "12345" also.
As both sender and receiver having same structure, we are not using any mapping also.
Please suggest in this regard.
Thanks & Regards,
NagarajuHi,
In your sender content conversion use the parameter:
NameA.fieldContentFormatting nothing
For further ref:
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/frameset.htm
Regards,
Manjusha -
File content conversion at sender side
Hi,
I need to convert a flat file to xml at sender side using FCC.
Input text file:
Sunil,Chandra,Mumbai,400709
Sachin,Tendulkar,Delhi,110066
XML Structure Occurrence
>Employees 1..1
> > Employee 0..N
> > > Fname 1..1
> > > Lname 1..1
>> > Address 1..1
> > > >City 1..1
>> > > Zip 1..1
xml should be like this:
><Employees>
>><Employee>
>>><Fname>Sunil</Fname>
>>><Lname>Chandra<Lname>
>>><Address>
>>>><City>Mumbai</City>
>>>><Pin>400709</Pin>
>>></Address>
>></Employee>
>><Employee>
>>><Fname>Sachin</Fname>
>>><Lname>Tendulkar<Lname>
>>><Address>
>>>><City>Delhi</City>
>>>><Pin>110066</Pin>
>>></Address>
>></Employee>
></Employees>FCC does not support this level nesting...Ref
http://help.sap.com/saphelp_nw70/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
But requirement can be achieved using extra mapping
you can create a source structure that looks like
MT_Source_New..
>Record ...unbounded
>line ....1
and read the input file line by line...this can be achieved by simple FCC...Refer above link
here you need extra mapping to map it to your required source structure Employees
MT_new ---Mapping1 --- Employees
Then map Employees to Actual target structure -
Mapping problem due to FCC in sender file adapter
Hi All
I am doing File( Flat File ) to RFC Scenario.it is working fine..
the problem comes in mapping with multiple records.
FCC at sender file adapter is used
my Data Type are :
Source DT Target RFC import parameter(table).
E2ED20* ITEM*
KEY VBELN
VBELN POSNR
E2E24* CHARG
KEY
POSNR
CHARG
<b>*->>multiple occurence
E2ED20 and E2E24 are 2 segment ,KEY is used in FCC to identify E2EDL20 & E2EDL24</b>
My source text file is like this :
E2EDL20 0200
E2EDL24 xyz
E2EDL20 0201
E2EDL24 abc
E2EDL24 efg
E2EDL24 mln
E2EDL20 0202
E2EDL24 gty
so the payload should be :
0200 xyz
0201 abc
0201 efg
0201 mln
0202 gty
in <i>FCC ignoer record set= true</i>
otherwise is not called...
i try to use split by value & use oneasmany , not helpfull.
in message mapping when i checked th field VBELN -> display queue
i am getting an array 0200
0201
0202 in white fields
thanks & regards
Ashutosh Rawat<b>Source payload</b>
<?xml version="1.0" encoding="utf-8" ?>
- <ns:MT_MATNO_FILE xmlns:ns="urn:abc:xxx">
- <E2ED20>
<KZ>E2EDL20</KZ>
<FIELD1>020</FIELD1>
<b><VBELN>0083662685</VBELN></b>
</E2ED20>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900001</POSNR>
<CHARG>1078629</CHARG>
<LFIMG>3200</LFIMG>
<MEINS>PCE</MEINS>
</E2E24>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900002</POSNR>
<CHARG>1078630</CHARG>
<LFIMG>1895</LFIMG>
<MEINS>PCE</MEINS>
</E2E24>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900003</POSNR>
<CHARG>1079145</CHARG>
<LFIMG>1883</LFIMG>
<MEINS>PCE</MEINS>
</E2E24>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900004</POSNR>
<CHARG>1079146</CHARG>
<LFIMG>3195</LFIMG>
<MEINS>PCE</MEINS>
</E2E24>
- <E2ED20>
<KZ>E2EDL20</KZ>
<FIELD1>020</FIELD1>
<b> <VBELN>0083662648</VBELN></b>
</E2ED20>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900011</POSNR>
<CHARG>1001450</CHARG>
<LFIMG>2946</LFIMG>
<MEINS>8PC</MEINS>
</E2E24>
- <E2ED20>
<KZ>E2EDL20</KZ>
<FIELD1>020</FIELD1>
<b> <VBELN>0083673936</VBELN></b> </E2ED20>
- <E2E24>
<KZ>E2EDL24</KZ>
<FIELD2>020</FIELD2>
<POSNR>900012</POSNR>
<CHARG>1073953</CHARG>
<LFIMG>2458</LFIMG>
<MEINS>PCE</MEINS>
</E2E24>
</ns:MT_MATNO_FILE>
<b>at target what required is</b>
<item>
<b><VBELN>0083662685</VBELN></b>
<POSNR>900001</POSNR>
</item>
<item>
<b><VBELN>0083662685</VBELN></b>
<POSNR>900002</POSNR>
</item>
<item>
<b><VBELN>0083662685</VBELN></b>
<POSNR>900003</POSNR>
</item>
<item>
<b><VBELN>0083662685</VBELN></b>
<POSNR>900004</POSNR>
</item>
<item>
<b><VBELN>0083662648</VBELN></b>
<POSNR>900011</POSNR>
</item>
<item>
<b><VBELN>0083673936</VBELN></b>
<POSNR>900012</POSNR>
</item>
in Sender FCC
E2ED20.fieldFixedLengths 7,76
E2ED20.fieldNames KZ,VBELN
E2ED20.keyFieldValue E1EDL20
E2ED20.endSeparator 'nl'
E2E24.fieldFixedLengths 7,24,13,7,3
E2E24.keyFieldValue E1EDL24
E2E24.fieldNames KZ,POSNR,CHARG,LFIMG,MEINS
E2E24.endSeparator 'nl'
ignoreRecordsetName true
source file is already there...
Message was edited by:
ashutosh rawat -
Sender side Synchoronous jdbc scenario
Hii experts,
Can we do Sender side synchronous jdbc scenario?? if yes give me an example how the scenario will look like??
and what are the steps has to be done?
Regards,
BalajiHi,
Can you pls clear your requirement?
In your case, do sender JDBC will fetch the data and give it to the target, and again target will give some resonse and that
response you have to insert into the database at sender side?
If this is the case for you, then it can be achieved.
Pls exactly tell what you are looking for.
-Tanaya. -
Flat file name from Sender Side Dynamically into subject of Receiver Mail
Hi All,
I am Using a file to Mail Scenario, My requirement is to get dynamically the file name from flat file of the Sender Side into Subject of Receiver Mail Adapter and attachment of file from the Sender Side. Can anyone help me out.
Thanks in AdvanceHi....
You can write udf in the message mapping to get the Dynamic file name and map that to the subject of the receiver mail.
DynamicConfiguration conf = (DynamicConfiguration) param.get(
StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey KEY_FILENAME = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
// read value
String Filename = conf.get(KEY_FILENAME);
Regards,
Leela -
How to handle errors in a file at sender side?
Hi
I have done a file to proxy scenario.
I know how to handle errors on proxy.
But on sender side when picking the file if one the record have worng fomat its throwing mapping error and its not processing any record..
I wanted to process the records which have right format and data and all remaining recrods which have wromg format should be send back to the sender as file.
How to do this.
How to handle error in sender file.
Regards
SowmyaHello Sowmya,
In your scenario Three ways you can validate the data.
1) Before the data reaches into SAP system ie in XI system during Mapping or before mapping i,e in Adapter Module in the Sender side
2) this option, is in the receiver applications side. ie. Validations will be taken care in the SAP system i.e in ABAP server proxy code.
3)Through BPM, If Mapping Exception Occures then through exception Branch you can send bad formate file to sender again.
Generally, it is prefer to more business critical validations in the Application System ie Receiver Application System (ABAP Server Proxy)
In this, you can have more flexibility of the validations as you are validating some of the SAP payroll informations as Personal ID etc.
Based on the complexity and flexibility of the requirement, you can either do this in the XI (if XI, ie Sender Adapter Module or Mapping) or in the ABAP proxy
Thanks'
Sunil Singh -
Hi Experts,
My Input file contains following structure:
101
102
103
104
Now I want to generate following source XML file using FCC in sender file adapter
<?xml version="1.0" encoding="utf-8" ?>
<ns:MT_Employee xmlns:ns="http://Test_Employee">
<Employee>
<EmpID>101</EmpID>
<EmpID>102</EmpID>
<EmpID>103</EmpID>
<EmpID>104</EmpID>
</Employee>
</ns:MT_Employee>
Pls let me know what will be values for following parameters:
Document Name: <This would be MT_Employee probably>
Document NS: <This would be http://Test_Employee probably>
Document Offset : <Blank because we need values from first row onwards>
RecordSet Name:
RecordSet NS:
RecordSet Structure:
RecordSet Sequence:
Recordsets per Msg:
Key Field Name:
KetField Type:
Parameters:
Pls let me know all the parameters required to attain above XML
Thanks,
RakeshHi Gopal,
I have provided the parameters said by u, but it did'nt work. We have to either provide 'Employee.fieldFixedLengths' or 'Employee.fieldSeparator' . Because one of these is mandatory for FCC. After providing ur parameters, I got below error:
Conversion initialization failed: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Parameter 'Employee.fieldFixedLengths' or 'Employee.fieldSeparator' is missing Consistency check: no. of arguments in 'Employee.fieldFixedLength' does not match 'Employee.fieldNames' (0 <> 1)
Pls let me know the parameters to attain below XML:
<?xml version="1.0" encoding="utf-8" ?>
<ns:MT_Employee xmlns:ns="http://Test_Employee">
<Employee>
<EmpID>101</EmpID>
<EmpID>102</EmpID>
<EmpID>103</EmpID>
<EmpID>104</EmpID>
</Employee>
</ns:MT_Employee>
from below input file structure:
101
102
103
104
Regards,
Adi -
FCC in receiver side in idoc to file scenario
Hi all,
I am doing an idoc to file scenario using FCC .I am using FCC in receiver side ,but i am getting my output file in only one line while i want structre to be seprated by new line.for more information i am giving muy file structre.
Record
header(1to1)
data (0 to unbounded)
footer (1to 1) header, data, footer are three structre which contain various fields.I have to use fieldFixedLengths as filed separator. I am also using endseperator as 'nl' but its not coming in new line.Please share ur views on this issue.
Regards
Nehahi neha,
In your scenario
Recordset Structure header,data,footer
header.fieldFixedLengths = 1,2,3, whatever it is
data.fieldFixedLengths = similar to header
footer.fieldFixedLengths = similar to header
header.endSeparator = 'nl'
data.endSeparator = 'nl'
footer.endSeparator = 'nl'
I guess you dont have to do any thing else.
Regards
Pushkar
Message was edited by:
Pushkar Anand -
i have scenario SOAP to IDOC
when i'm using business service in sender side it is getting an error as follows
sender message can not convert to ALE Logical system
in this i'm using altova spy as testing tool
my sender interface is asynchronous
but when i'm using business system everything is working fine
In sender side i'm using soap adapter,i checked the logical system everything is fine
mainly the problem is why it is working when i'm using business system rather than business service
my pi version is pi 7.0
thanks in advance
regards
satishHi Satish,
You are sending IDOC's to SAP system right. we should create Business system not business service.
so we should create the business system as web AS ABAP in SLD and import the same in ID.
When we create the business system in SLD the logical system name is assigned for the business system. like SAPCLNT100...It plays a key role in IDOC scenarios.
sender message can not convert to ALE Logical system
Reasons for this issue is
1) logical system name is unable to read from SLD for that corresponding business system.
Goto business system click on Adapter specific identifiers from the menu --> read from SLD.
it will automatically fetch the logical system name from the SLD.
2) Sometimes the logical system name will be deleted from the business system in SLD.
Delete the business system and re-create it, and follow the above procedure.it will resolve your issue.
Regards
Bhargava Krishna -
Load Balancing on two server nodes at the sender side...
Hi Experts,
I am sending a huge message (this message is being splitted into multiple messages depending on the load and zipped, this whole process of splitting and zipping is done by the scripts) zipped from sender side , when I am monitoring in message monitoring tool I found that all the load is on one server node and other server node is free as we have two server nodes , how to distribute the message equally between these two nodes.
The same Load balancing is working properly at the receiver end (load is getting distributed between two server nodes). Not sure why this is not the case at the sender side.
Please throw some light on this issue.
Thanks a lot for your kind help in advance.Hi,
Follow this blog this may helpful to you
Handling Large files in XI
/people/pooja.pandey/blog/2005/10/17/number-formatting-to-handle-large-numbers
file size can be handeled in client java proxy and the message is parsed in xi. this will not have much of performance issue. but yes when the smae is handeled by xi. and yes this scenario can be efficiently handeled from java client proxy
limit on the number of 'field-set' lines you can send to the ITS?
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/72e2bb90-0301-0010-e883-c390ad8a975a
Processing huge file loads through XI
Edited by: Venkataramesh Boppana on May 17, 2008 12:54 AM -
PI 7.1 Ehp1 IDOC adapter message packaging - package options on sender side
Hi guys,
I am trying to use the new IDOC adapter PI7.1 Ehp1 functionality for packaging the IDOCs in single PI message, instead of using Collect pattern in BPM. I have configured IDOC sender comm. channel with Sender Agreement as well. So far, so good, but I am wondering if the packaging done on PI side should be the same as the packaging parameters on sender side...
What I mean? Do I have to set the Pack. Size (we20) to be the same as the one on PI, and do I have to use "Collect IDocs" as
Output mode (also found in we20) .. I guess "Yes".. Actually what I got also is that I have to schedule RSEOUT00 if I am using the option to Collect IDOCs, right ? Can execution of RSEOUT00 be "plugged" somehow to be executed after bd21(Creation of IDocs from change pointers) execution ..?
If you have any personal experience on this - please share it with me
Thanks & Best Regards,
LaloI am wondering if the packaging done on PI side should be the same as the packaging parameters on sender side
Do not have to be same.
Think of this way: there are two containers carrying water: A for ECC and B for PI (specified in communication channel), you are defining the size of the containers.
If Size of A > B, then, One full A will need more than one B to handle, means multiple PI messages will be created.
if Size of A < B, One PI message is enough to handle incoming package.
For sure in partner profile of ECC, you will need to enable IDOC packaging and specify the size (container A).
Regards
Liang
Edited by: Liang Ji on Jun 8, 2010 3:30 PM -
Synchronous file adapter sender side configuration in sap pi
Hi Experts
synchronous file adapter sender side configuration in sap pi
can you explain any one tell me step by step procedure?
Regards
SagarHi,
You can use RequestResponseBean in the sender file adapter module .
RequestResponseBean (SAP Library - SAP Exchange Infrastructure)
Request/Response Bean for IDOC_AAE adapter
Instead of IDOC_AAE adapter you can use FILE adapter.
Regards,
Maybe you are looking for
-
Non-factory Apps Disappearing Randomly After Upgrade to iOS 5.1
Hi all, I've had my iPad 2 for about 9 months. Since upgrading to iOS 5.1, on two separate occasions, I've had all but the factory apps disappear from my iPad. This happened randomly during the day, not during or immediately following a sync. My m
-
Vertical Scrollbar in the MC9090 Handheld device for ITSMobile Service
Hi, In Our ITSMobile, we have 10.4u201D forklift devices from LXE with windows XP and MC9090 from Motorola CE windows mobile 5.0. We are in ECC 6.0 and using integrated ITSmobile .We use TRM and our RF users will log on from LP00. The screens are go
-
Photoshop Elements Catalog 10 Restore
I created a backup of my old catalog on an external drive, "G:" to my old computer. My new computer lists the drive as "F:". I did a Restore, and told Catalog to put it in a new location. After the Restore, I see no images. File names are there, an
-
Bank Detail (Other Bank issue)
Hi Experts, I have maintained infotype 9 (bank detail) for same time in main bank and other bank. but payroll data pick other bank detail (when both maintain). I want to pick main bank data. In case of cash payment, only I knowlegde purpose detail ma
-
Transport Query Changes Individually
In our environment, we have a SOX IT requirement that each change to a query is separately approved by the business user before it is moved to production. The transport request must be able to be directly linked to a change request management system