XI 3.0 File Adapter: Converting File Content in Sender Adapter
Hi,
This is probably a basic question but does anyone have an example of the parameters used when you are using the 'Converting File Content' option on the File Adapter ?
Also, where do the record sets have to be defined ? Are these data types in the Integration Builder ?
The documentation is to say the least a bit flaky.
Any help would be appreciated.
Kind regards
Colin.
Hello,
I'm wondering if someone has experience setting up conversion for different record structures. The example shown (in a greate way) only picture one kind of structure.
How should it be done if the file would contain
10Mat1
20100PCS
The first record structure has columns
ID(2),Material(10)
The second redcord structure has columns
ID(2),Quantity(3), Unit of messure (3)
Brgds
Kalle
Similar Messages
-
LSMW file read & convert file name
Guys
This is pretty hot - any ideas to automate will be helpful.
Is there a way to programmatically change the default name for the LSMW file read and file convert names?
For example if read & conv file is
Plant_Master_Material.lsmw.read & Plant_Master_Material.lsmw.conv,
I want to programmatically append userid and make the file name look like
Plant_Master_Material_myid.lsmw.read & Plant_Master_Material_myid.lsmw.conv.
It can be done manually via step specify file in LSMW, but I want to automate that step.Hi Iqbal,
Its not possible to make it automatically,
name for the LSMW file read and file convert will as such like this
PROJECT_SUBPROJECT_OBJECT.lsmw.read & lsmw.conv.
This can not be changed...if u need it u can have u r userid under u r object name...
Reward if useful.. -
File content conversion sender adapter
Hi Friends,
I am doing File to IDoc scenario.
I am using File Content Conversion for File Adapter.
My structure look like this
MT_File
HEADER1 1..1
--header1
-- header2
HEADER2 1..1
--header3
DETAILS 1..unbounded
--details1
--details2
--details3
TRAILER1 1..1
-- trailer1
TRAILER2 1..1
-- trailer2
----trailer3
In File Content conversion parameeters..
Document Name :MT_File
Document Namespace :urn:test:FileFcctoIdoc
RecordSet name :
RecordsetStructure :HEADER1,1,HEADER2,1,DETAILS,*,TRAILER1,1,TRAILER2,1
RecordSet Structure: Ascending
RecordSet Per message : *
Key Field Name :header1,header3,details1,trailer1,trailer3
ignoreRecordsetName : true
HEADER1.fieldNames :header1,header2
HEADER1.keyFieldValue : H1
HEADER1.fieldFixedLengths :5,10
HEADER1.endSeparator :'nl'
HEADER2.fieldNames :header3
HEADER2.keyFieldValue : *D
HEADER2.fieldFixedLengths :5
HEADER2.endSeparator :'nl'
DETAILS.fieldNames :details1,details2,details3
DETAILS.keyFieldValue : 3
DETAILS.fieldFixedLengths :5,5,5
DETAILS.endSeparator :'nl'
TRAILER1.fieldNames :trailer1
TRAILER1.keyFieldValue : *S
TRAILER1.fieldFixedLengths :5
TRAILER1.endSeparator :'nl'
TRAILER2.fieldNames :trailer2,trailer3
TRAILER2.keyFieldValue :SE TRAILER2.fieldFixedLengths :5,5
TRAILER2.endSeparator :'nl'
File is :
H1hh1hhhhhhhhh2
*Ddd*
Xddd1dddd2dddd3
Xddd4dddd5dddd6
Xddd7dddd8dddd9
*Sss*
SEKss2
in RWB, Channel CC_FILE_Sender_FccDemo: Empty document found. Proceed without sending message
I think the problem is in FCC paramters..
Could please have a look and correct me
Regards
RamRam,
The problem which i can see is your key field values in your test file. Remember you should have the key field value in each new line at the same place.
For example you have given your text file as shown below...
File Given By You is :
>H1hh1hhhhhhhhh2
>*Ddd *
>Xddd1dddd2dddd3
>Xddd4dddd5dddd6
>Xddd7dddd8dddd9
>*Sss *
>SEKss2
Compair the above file with the below one..
>H1hh1hhhhhhhhh2
>*Ddd *
>Xddd1dddd2dddd3
>Xddd4dddd5dddd3
>Xddd7dddd8dddd3
> *Sss *
>SEKss2
If you notice, for details I have given key field value 3 in each line & at same place.
One more thing just use the KeyFieldName only one ( just follow the same blog which I have given, to understand how to use the KeyFieldName )
e.g.
Document Name :MT_File
Document Namespace :urn:test:FileFcctoIdoc
RecordSet name :
RecordsetStructure :HEADER1,1,HEADER2,1,DETAILS,*,TRAILER1,1,TRAILER2,1
RecordSet Structure: Ascending
RecordSet Per message : *
Key Field Name : KF
Regards,
Sarvesh -
File content conversion - sender adapter for Header and detail records
Hi Experts,
I am receiving a field of fixed length content format.(Header)The first line of the file will follow the structure X having some fields and (DetailRecord)subsequent lines in the file will follow structure Y having somes fields.There is no record identifier for Header and Detail records.In one file first line is Header records and remaining subsequent line is DetailRecord.What are the parameters we have to set for sender file content conversion parameters as i donot have any key field and key field value.And in one file we have only one header records ( first line) and n number of detail records from 2nd line onwards.
Thanks
DeepakHi
Refer the below fourm link,
Flat file whitout id
Regards
Ramg. -
Regarding picking files from sender Adapter
I want to pick files from multiple directories from the sender adapter.
Is there any way to write a module fro the above functionality?
If possible, please provide the solution for the above queryHi virkram,
take a look to this thread
Re: File Sender Adapter - Multiple Source Directory
Hope this help
Francesco -
NameNotFoundException in JMS Sender Adapter
Hi,
I am doing JMS to File Scenario.
In the JMS Sender Adapter, I am getting the following error.
Channel error occurred. Detailed error (if any) : com.sap.aii.adapter.jms.api.connector.ConnectorException: Error looking up connection factoryQueueConnectionFactory, for profile: ConnectionProfile of channel: JMS_Senderon node: 215438950 having object id: 8a69f5589d733e01b34a6dd53c6c4acf: javax.naming.NameNotFoundException: QueueConnectionFactory in QueueConnectionFactory not found at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory(JndiConnectorImpl.java:134)
Can someone let me know why this error is happening and the solution ?
Thanks in advance,
NeenaHi Neena,
What JMS server are you using?
This seems the parameter settings in JMS sender is incorrect. check this link for vendor specific details
http://help.sap.com/saphelp_nw04/Helpdata/EN/c1/739c4186c2a409e10000000a155106/content.htm
Hope the JMS drivers were installed properly!!!
Regards
Suraj -
Use Moduls with SOAP Sender Adapter
Hi Experts,
I have a question regarding the use of modules in the soap sender adapter / communication channel. Is it correct that the use of modules in the soap sender adapter is not possible?
the background of my question is that we use modules from SEEBURGER in our Communication channels for archiving incoming and outgoing documents. the use of modules in the soap receiver adapter is possible. why not in the soap sender???
according to the sap help it is possible to use the axis framwork in the soap adapter. then it should be possible to use modules. Is that correct? I tested it but it is not working. If I send a soap message (with the soap reveicer adapter) to the axis soap sender adapter there occure internal server errors. it is only working if I write my own modules for the axis soap sender adapter? is it not possible to use external modules like in other channels (File/FTP, soap receiver etc.)???
thanks and best regards!
Christopherwe have moduls from SEEBURGER. so I have to test it. but before I need a scenario with which I can test it.
We have a customer who sends xml-files per soap to us. these files we receive succussfully with the soap sender adapter. now we want to use some modules. so we have to use the axis soap sender adapter. I tried to send an xml file with the soap receiver adapter to the axis soap sender adapter, but this was not working. http 500 internal server errors occurred. is it possible that this scenario (soap-to-axis-soap) is not working? need I a specific configuration for this?
thanks and regards
Christopher -
Dear all,
I've to process all data from the first JDBC-Sender-adapter and afterwards I've to trigger the second JDBC-Sender-adapter. The second JDBC-Sender-adapter must not poll until processing of first has finished?
How can I achieve this without BPM?
Kind regards, StefanYou can start the second JDBC channel from first interface mapping. All that you have to do is you have to set external channel control ON for second JDBC channel using RWB.
In the second interface mapping you can stop the channel, since it already pools the data. So, two individual scenarios and no BPM.
check this link @ http://help.sap.com/saphelp_nw2004s/helpdata/en/45/0c86aab4d14dece10000000a11466f/content.htm. You need to do some settings.
IN FIRST SCENARIO'S OPERATIONAL MAPPING --> STOP THE FIRST JDBC CHANNEL, START THE SECOND JDBC CHANNEL (using UDF java code)
IN SECOND SCENARIO'S OPERATIONAL MAPPING --> STOP THE SECOND JDBC CHANNEL, START THE FIRST JDBC CHANNEL (using UDF java code)
Make sure that you give enough polling time interval's for the 2 JDBC Sender channels. Actually the START & STOP mechanism's will take care.
Regards,
Praveen Gujjeti.
Edited by: Praveen Gujjeti on Apr 28, 2010 7:01 PM -
Use of variable header XHeaderName1 in SOAP sender adapter
Hi all,
I have a doubt regarding the use of adapter-specific attributes in SOAP sender adapter. In specific:
the SOAP client should be able to pass a variable with the SOAP request (XHeaderName1 header variable) and this should be available in mapping (Dynamic configuration)
I've already checked the [help page|http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm] but it seems I'm doing something wrong.
I tried with those settings in SOAP adapter configuration:
Keep headers checked
XHeaderName1 = Test
I try to call the SOAP adapters in the following 2 ways, but none works (the value is not available in message mapping with Dynamic configuration)
1. Pass "Test" value xxxx in SOAP Header as a tag
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
*<Test>xxxx</Test>*
</SOAP-ENV:Header>
<SOAP-ENV:Body>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
2. Pass "Test" value xxxx in SOAP URL
http://host:50000/XISOAPAdapter/MessageServlet?channel=p:s:c&version=3.0&Sender.Service=...&Interface=...&Test=xxxx
Could anyone give me a hint about how to pass those values in the SOAP call and eventually the correct config. of SOAP sender ?
Thanks a lot,
ManuelHi Manuel,
Could you give a bit more detail on how you handled the SOAP message yourself.
I have a similar issue. I am consuming a non SAP Web Service which requires a non-standard token element to be passed back. I have created a an RFC sender to SOAP reciever scenario which works fine for the inital logon and returns the token it expects in the follow up messages.
At present I'm at a loss so your help would be much appreciated. We have got round the immediate issue by creating and sending the SOAP message directly from SAP WAS.
Could we use the XI Adapter and ABAP proxy in a similar way?
Thanks,
Tim J. -
How to Call HTTP Sender Adapter of Other Scenar from HTTP Receiver Adapter?
Hi,
I have a requirement to call HTTP Sender Adapter of Other Scenario from HTTP Receiver Adapter?
or
call SOAP Sender Adapter of Other Scenario from SOAP Receiver Adapter?
i.e
SOME SENDER - > PI - > HTTP Receiver - > calling -> HTTP Sender -> PI -> SOME RECEIVER
SOME SENDER - > PI - > SOAP Receiver - > calling -> SOAP Sender -> PI -> SOME RECEIVER
if any one can provide me the screen shot for those SOAP / HTTP Sender or Receiver ADAPTER.
or Point me to Some article with Screenshots .
That would be appreciated with Point.
Regards
PS.Solved . .
-
Enabling SSL for HTTP Sender Adapter
Hi Experts,
I'd like to have a step by step process in enabling HTTPS for Plain_HTTP Sender Adapter. I've already read the enabling HTTPS on SAP Help, but it does not provide much detail. Would the steps be the same for enabling HTTPS for Plain_HTTP Receiver which are:
1. Install the certificates using STRUST
2. Configure an RFC Destination using SM59
3. Call your RFC Destination in Receiver HTTP Adapter (not valid for http sender adapter)
The connection for setting up http is http://<hostname>:port/<path>?<query string>
but what about https? Would it be connecting to the webdispatcher first?
Hope you can help me,
Regards,Hi,
as HTTP Adapter is on ABAB stack you will need to configure with STRUST.
http://help.sap.com/saphelp_nw04/helpdata/en/14/ef2940cbf2195de10000000a1550b0/frameset.htm
The URL should start then with https, but you could test with this sample client:
https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/66dadc6e-0a01-0010-9ea9-bb6d8ca48cc8
Regards
Patrick -
Howto use Converting File Content in Rec. Adapt. to suppress a xml-element
Hi,
we use PI/700, SP6.
I have following structure (example):
<MsgOut>
<Sender>Partner1</Sender>
<Receiver>Partner2</Receiver>
<FlatPayload>
blabla blabla
</FlatPayload>
</Msgout>
Now I wanna use a XI-File-Adapter to write just a Flat-File with the content (of the element <FlatPayload>):
blabla blabla
(in other words: I wanna suppress all other xml-elements beside of FlatPayload)
But I'm not able to configurate this with the function "Converting File Content"
I tried different possiblities:
e.g.
setting yyy.fieldFixedLengths = 0 and yyy.fixedLengthTooShortHandling = Cut
(yyy = Sender and Receiver)
or
just defining "MsgOut,FlatPayload" as RecordSet Structure (without Sender and Receiver)
Result: no success.
Now my question: is it possible to suppress some xml-elements?
Thanks for your help!
bye
WolfgangHI,
You can suppress the XML Nodes/Elements over here. Not Fields ..
For e.g if your outout xml is like this
<MsgOut>
<Sender>Partner1</Sender>
<Receiver>Partner2</Receiver>
<FlatPayload>
<flatdata> blabla blabla</flatdatat>
</FlatPayload>
</Msgout>
In this case you can suppress the <FlatPayload> node/element here.. Using Cut Parameter in the Receiver File Content COnversion.
/people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12
So in your case, you can restructure your data type as you required.. I have mentioned in vice-versa here
Hope this helps,
Regards,
Moorthy
Message was edited by: Krishna Moorthy P -
File Content Conversion - Receiver Adapter
Hi To All
I have an XML Structure
<LIST>
<Seg1>
<Element1>123</Element1>
</Seg1>
<Seg2>
<Element1>ABC</Element1>
<Element2>DEF</Element2>
<Element3>GHF</Element3>
</Seg2>
<LIST>
I'm using File content conversion in receiver Adapter
I want my output like this.
ABCDEFGHF
I don't need the Segment Seg1.
In my parameters RecordsetStructure only I have Seg2 and the details for this Segment
but When I receive a file, the adapter convert with segment 1.
123
ABCDEFGHF
can you help me?.easiest alternative is mentioned here already, drop it in the mapping.
You can also try to write a java pgm and invoke it as an OS command. that cuts the segment1 out before passing it to content conversion. ..more painful..but will work.
Regards
Ravi Raman -
File sender adapter: Content conversion for very deep nested structure
Hi all
I have a file which looks like this
HDOCKET 9800000660980000061911062009AA123456bbWM100012349800000619
DDOCKET_TEST001 4012YAG1
WZOA00000000010000000001
WZOA00000000020000000002
WZOB00000000030000000003
IAAXX000001
IAAXX000002
C0000000000000000000100000000000000000001000000000000000000020000000000000000000300000000000000000004
T2
and my structure is
Header - 1
Detail - 0....Unbounded
Bag - 0.....Unbounded (sub node of detail)
Track - 0.....Unbounded (sub node of detail)
Customer - 0.....Unbounded (sub node of detail)
Trailer - 1
and in the file sender adapter i mentioned the following content conversion setting
HEADER,1,DETAIL,*,Bag,*,Track,*,Customer,*,TRAILER,*
But when i go and see in the monitoring i received the following conversion
<?xml version="1.0" encoding="utf-8" ?>
<ns:MT_REQ xmlns:ns="http://royalmail.com/dd_c">
<HEADER>
<ID>H</ID>
<INT>DD</INT>
<CAR>9899999660</CAR>
<CUS>9899999619</CUS>
<POST>11062009</POST>
<NUMBER>AA123456bbWM10001234</NUMBER>
<ACC>9899999619</ACC>
</HEADER>
<DETAIL>
<ID>D</ID>
<Bag>DOCKET_TEST001</Bag>
<S>4012</S>
<Code>YAG</Code>
<mat>1</mat>
<count/>
<Mixed />
</DETAIL>
<Bag>
<ID>W</ID>
<Zone>ZOA</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>ZOA</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>ZOA</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
</Bag>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Track>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Tracked>
<Customer>
<ID>C</ID>
<OrigCustomer>00000000000000000001</OrigCustomer>
<Field1>00000000000000000001</Field1>
<Field2>00000000000000000002</Field2>
<Field3>00000000000000000003</Field3>
<Field4>00000000000000000004</Field4>
</Customer>
<TRAILER>
<ID>T</ID>
<Count>2</Count>
</TRAILER>
</ns:MT_REQ>
whereas i wanted it like:
<?xml version="1.0" encoding="utf-8" ?>
<ns:MT_REQ xmlns:ns="http://royalmail.com/dd_c">
<HEADER>
<ID>H</ID>
<INT>DD</INT>
<CAR>9899999660</CAR>
<CUS>9899999619</CUS>
<POST>11062009</POST>
<NUMBER>AA123456bbWM10001234</NUMBER>
<ACC>9899999619</ACC>
</HEADER>
<DETAIL>
<ID>D</ID>
<Bag>DD_TEST001</Bag>
<S>4012</S>
<Code>egg</Code>
<mat>1</mat>
<count/>
<Mixed />
<Bag>
<ID>W</ID>
<Zone>zzz</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>zzz</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>zzz</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
</Bag>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Track>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Tracked>
<Customer>
<ID>C</ID>
<OrigCustomer>00000000000000000001</OrigCustomer>
<Field1>00000000000000000001</Field1>
<Field2>00000000000000000002</Field2>
<Field3>00000000000000000003</Field3>
<Field4>00000000000000000004</Field4>
</Customer>
</DETAIL>
<DETAIL>
<ID>D</ID>
<Bag>DD_TEST002</Bag>
<S>4012</S>
<Code>egg</Code>
<mat>1</mat>
<count/>
<Mixed />
<Bag>
<ID>W</ID>
<Zone>zzzzzz</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>ZOA</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>zzz</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
</Bag>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Track>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Tracked>
<Customer>
<ID>C</ID>
<OrigCustomer>00000000000000000001</OrigCustomer>
<Field1>00000000000000000001</Field1>
<Field2>00000000000000000002</Field2>
<Field3>00000000000000000003</Field3>
<Field4>00000000000000000004</Field4>
</Customer>
</DETAIL>
<TRAILER>
<ID>T</ID>
<Count>2</Count>
</TRAILER>
</ns:MT_REQ>
i.e. i need all Bag ,Track and Customer inside detail tag.
could anyone help me in this..i've already searched SDN and got some link as useful but none of them were totally related.
Regards
NainaNaina
Pls. check my forum link, i had the single level hierarchy XML file which I converted into nested structure & then into flat file.
File Conversion in Rec File Adapter with subnodes
This can give you an idea how to go ahead. Let me know in case you need any more info about this. -
Issues in File Content Conversion in a Sender Adapter
Hi Folks ,
The XMl Structure of my input file is
<?xml version="1.0" encoding="UTF-8"?>
<ns:file_sender_mt xmlns:ns="urn:filetofiledemo">
<recordset>
<data>
<name />
<city />
<age />
</data>
<adress>
<fnaame />
<lanme />
</adress>
</recordset>
</ns:file_sender_mt>
In my file conversion paramaters i have mentioned
data.fieldSeparator ,
data.fieldNames name,city,age
adreess.fieldSeparator ,
adreess.fieldNames fnaame,lanme
ignoreRecordsetName true
recordset.fieldSeparator ,
data.endSeparator ,
I fail to understand when in my input file
i give
1,2,3
4,5
ie value of data and adrees on diff lines it works fine
bt when i give the imput as 1,2,3,4,5
it fails in adapater
giving the exception
Sender Adapter v1014 for Party '', Service 'filetofile_bs':
Configured at 12:11:43 2006-07-18
Last message processing started 05:22:34 2006-07-19, Error: Conversion of complete file content to XML format failed around position 0 with java.lang.Exception: ERROR converting document line no. 1 according to structure 'data':java.lang.Exception: ERROR in configuration: more elements in file csv structure than field names specified!
last retry interval started 05:22:34 2006-07-19
length 10,000 secs
I dont understand why i am getting this error as my data.endSeparator is ,
any inputs on this would be of grt help
Thanks
AmitMam if you look at my XML
<?xml version="1.0" encoding="UTF-8"?>
<ns:file_sender_mt xmlns:ns="urn:filetofiledemo">
<recordset>
<data>
<name />
<city />
<age />
</data>
<adress>
<fnaame />
<lanme />
</adress>
</recordset>
</ns:file_sender_mt>
I have 5 paramaters
name ,city ,age , fnaame , lname
and i am pasing those 5
Maybe you are looking for
-
I cannot print with firefox anymore also found the OK button on tools/options won't work
''duplicate, locking - https://support.mozilla.com/en-US/questions/844269'' Besides not printing, the OK button on my Tools settings no longer works. That just started, too.
-
Garageband Crashes When Trying To Open
I'm using Garageband 4.1.2. I was working on adding music to a Quicktime file but this particular time I thought I'd try and drag a QT movie over the Garageband icon to launch a project. When I did this nothing happened...or so I thought. Now Gara
-
Firefox 7 crashes when using "open all in tabs"
Since upgrading to FF7 (and 7.0.1) every time I use the "open all in tabs" command from the folder of bookmarks in the bookmarks toolbar, the whole thing freezes and never finished loading any of the pages. I also can't open another window and get an
-
Problems printing with OS X10.4.8 Intel on Xerox 7300N
Hi, I'm Andrea from Italy, I'm new on this forum and I hope someone could help me to resolve this problem. My iMac Core 2 Duo doesn't print on my Xerox 7300N (and on other printer as Xeikon or Ricoh) from all sw of Adobe CS2, from Macromedia Freehand
-
How come my iMessage on my iPad doesn't send messages
how come my iMessage on my iPad doesn't send messages.