Content Conversion for Item node under Header node
Hi,
Below is the file sample:
0LBS00000000082011090707:30:13~0000000009
4GBP55.67SB300005VISTADocNO1100DistChanPaymentDays
5001QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
5002QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
4GBP55.67SB300005VISTADocNO1100DistChanPaymentDays
5001QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
1~7
Record Type:Header Record(Always = 0),Min Occurrence:1,Max Occurrence:1
Record Type:Sales Invoice Header Record (Always = 4),Min Occurrence:0,Max Occurrence:unlimited
Record Type:Sales Invoice Item Record (Always = 5) ,Min Occurrence:1(per Sales Invoice Header Record)
,Max Occurrence:999999 (per Sales Invoice Header Record)
Record Type:Trailer Record(Always = 1),Min Occurrence:1,Max Occurrence:1
In content conversion:
Record set structure:Header,1,SalesInvoiceHeader,(Star),SalesInvoiceItem,(Star),Trailer,1
Key field name:RecordType
Header.fieldSeparator ~
Header.fieldNames RecordType,SendingSystem,FileNumber,CreationDate,CreationTime,NextFileNumber
Header.keyFieldValue 0
SalesInvoiceHeader.fieldSeparator ~
SalesInvoiceHeader.fieldNames cordType,Currency,ExchangeRate,DocumentType,Customer,VistaDocNumber,PubDiv,DistChan,PaymentDays
SalesInvoiceHeader.keyFieldValue 4
SalesInvoiceItem.fieldSeparator ~
SalesInvoiceItem.fieldNames RecordType,ItemNumber,Quantity,UoM,NetPrice,GrossPrice,PubDiv,Material,BillDate,VATAmount,VATRate
SalesInvoiceItem.keyFieldValue 5
Trailer.fieldSeparator ~
Trailer.fieldNames RecordType,RecordCount
Trailer.keyFieldValue 1
ignoreRecordsetName true
The Src str in ESR is
1. Header
2. SalesInvoiceHeader
SalesIncoiveItem(Chlid node of SalesInvoiceHeader)......
3. Trailer
Provide some inputs
Thnkx
VJ,
You are absolutely right it is not possible to get multiple hierarchy using file content conversion.
Splitbyvalue function would not work in my scenario as I need to group FED records based on first few characters in the first column of FED records. I wrote a UDF to insert context change based on the column value.
Thanks again for your help.
Regards
Haseeb
Similar Messages
-
Fetch Charge item present under TransportCharges node for Freight order
Hi All,
I need to fetch the details of the charge elements for carrier for freight order.
I was able to traverse till node "TransportCharges" for the business object /scmtms/tor.
I am not to traverse further to the charge item present under the node 'TransportCharges'.
Which method I should use to fetch the details like 'Retrieve by association' or 'Retrieve' of service manager.
I was able to see the details in transaction /bobf/test_ui. I need to implement the code for the same functionality.
Please help me which parameters needs to be passed to the method to fetch the data, as I am getting dump when I trying to fetch the charge item details.
Regards,
Joseph MHi All,
Transport charge being a dependent object, to access the parameters need to use the class
/scmtms/cl_common_helper=>get_do_keys_4_rba( ).
This is done to convert the meta model keys to run time keys for processing.
Regards,
Joseph M -
Hierarchy on file content conversion for receiver?
Y'all,
I'm stuck in this problem and I haven't find a solution to solved it... so, all your clues and reply's are really appreciate...
The basic problem is a File content conversion for a receiver C.C. that is not working and it's raising some errors in the RWB, I have gone thru some blogs but I still having a lot of doubts...
I want to produce a flat TXT file that will have a line for every node or subnode, it doesn't matter if it's not represented as hierarchical structure like this one... but the records must be produced or written in the same order...
Man_Del_Header as main node with Man_Header, Delete_Detail and Trailer as subnodes...
<?xml version="1.0" encoding="UTF-8"?>
<ns1:MT_DISTRIBUTOR_DELETE xmlns:ns1="http://xxx.com/xi/POSout">
<Man_Del_Header>
<MD_Header>|HM|1|</MD_Header>
<MD_StoreNumber>051</MD_StoreNumber>
<MD_filler1>|2|0000|3|</MD_filler1>
<MD_EffDate>09/17/07</MD_EffDate>
<MD_filler2>|4|005|5|dsdvnd|7|</MD_filler2>
<MD_BatchNumber>500</MD_BatchNumber>
<MD_fiiller3>|8|</MD_fiiller3>
<MD_BatchDescr>DELETE PREV CST BTCH</MD_BatchDescr>
<MD_filler4>|10|D|</MD_filler4>
<MD_linef>1</MD_linef>
<Man_Header>
<Man_Header>|HM|1|</Man_Header>
<Man_StoreNumber>051</Man_StoreNumber>
<Man_filler1>|2|0000|3|</Man_filler1>
<Man_EffDate>09/17/07</Man_EffDate>
<Man_filler2>|4|005|5|dsdvnd|7|</Man_filler2>
<Man_BatchNumber>500</Man_BatchNumber>
<Man_filler3>|8|</Man_filler3>
<Man_BatchDescription>Delete Distributor</Man_BatchDescription>
<Man_filler4>|</Man_filler4>
<Man_linef>Constant</Man_linef>
</Man_Header>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005010</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005011</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Trailer>
<Trailer>|T|1|</Trailer>
<TotalRecCnt>00005</TotalRecCnt>
<filler1>|2|</filler1>
<NoOfHeaders>00002</NoOfHeaders>
<filler2>|3|</filler2>
<NoOfAdds>00000</NoOfAdds>
<filler3>|4|</filler3>
<NoOfChanges>00000</NoOfChanges>
<filler4>|5|</filler4>
<NoOfDeletes>00002</NoOfDeletes>
<filler5>|13|</filler5>
<NoOfSubstitution>00000</NoOfSubstitution>
<filler6>|</filler6>
<linef>1</linef>
</Trailer>
</Man_Del_Header>
<Man_Del_Header>
<MD_Header>|HM|1|</MD_Header>
<MD_StoreNumber>061</MD_StoreNumber>
<MD_filler1>|2|0000|3|</MD_filler1>
<MD_EffDate>09/17/07</MD_EffDate>
<MD_filler2>|4|005|5|dsdvnd|7|</MD_filler2>
<MD_BatchNumber>500</MD_BatchNumber>
<MD_fiiller3>|8|</MD_fiiller3>
<MD_BatchDescr>DELETE PREV CST BTCH</MD_BatchDescr>
<MD_filler4>|10|D|</MD_filler4>
<MD_linef>1</MD_linef>
<Man_Header>
<Man_Header>|HM|1|</Man_Header>
<Man_StoreNumber>061</Man_StoreNumber>
<Man_filler1>|2|0000|3|</Man_filler1>
<Man_EffDate>09/17/07</Man_EffDate>
<Man_filler2>|4|005|5|dsdvnd|7|</Man_filler2>
<Man_BatchNumber>500</Man_BatchNumber>
<Man_filler3>|8|</Man_filler3>
<Man_BatchDescription>Delete Distributor</Man_BatchDescription>
<Man_filler4>|</Man_filler4>
<Man_linef>Constant</Man_linef>
</Man_Header>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005012</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005013</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005014</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Trailer>
<Trailer>|T|1|</Trailer>
<TotalRecCnt>00006</TotalRecCnt>
<filler1>|2|</filler1>
<NoOfHeaders>00002</NoOfHeaders>
<filler2>|3|</filler2>
<NoOfAdds>00000</NoOfAdds>
<filler3>|4|</filler3>
<NoOfChanges>00000</NoOfChanges>
<filler4>|5|</filler4>
<NoOfDeletes>00003</NoOfDeletes>
<filler5>|13|</filler5>
<NoOfSubstitution>00000</NoOfSubstitution>
<filler6>|</filler6>
<linef>1</linef>
</Trailer>
</Man_Del_Header>
</ns1:MT_DISTRIBUTOR_DELETE>
|HM|1|051|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|DELETE PREV CST BTCH|10|D|1
|HM|1|051|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|Delete Distributor|Constant
|D|901|170|0000005010|1
|D|901|170|0000005011|1
|T|1|00005|2|00002|3|00000|4|00000|5|00002|13|00000|1
|HM|1|061|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|DELETE PREV CST BTCH|10|D|1
|HM|1|061|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|Delete Distributor|Constant
|D|901|170|0000005012|1
|D|901|170|0000005013|1
|D|901|170|0000005014|1
|T|1|00006|2|00002|3|00000|4|00000|5|00003|13|00000|1
So as you can see, i wanna produce a flat file that will have line or record for each node, it doesn't matter that it has a hierarchy or a deeper level, it should be a simple flat file...
The thing is that i have been trying to setup the receiver comm. channel and it's raising some errors like Could not process due to error:
<i>java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Consistency error: more fields found in XML structure than specified in conversion parameters! (Value 'XXXX')', probably configuration error in file adapter (XML parser error)'</i>
I have checked this blog:
/people/karthiknarayan.kesavan2/blog/2007/08/22/file-content-conversion-for-multi-hierarchical-structure
Unfortunately i don't know if there's another way to achieve this...Jerry,
it easy if you go with multi mapping concept and without BPM if you are above >XI3.0 SP14.and use Append mode in the receiver file adapter.
just create the target structure like root under that Man_Del_Header,Man_Header,Detail,Trailer at the same level but got be careful with occurences.
<b>Source:</b>
I think from your structure you have
Man_Del_Header (1-unb)
Man_Header (1-1)
detail (0-unb ) may be (1-unb)
trailer (1-1)
create <b>target DT</b> like:
ROOT
..Man_Del_Header (1-1)
..Man_Header (1-1)
..detail (0-unb ) may be (1-unb)
..trailer (1-1)
all are at same level under ROOT.
create MT,MI,MM,IM.
in MM just map correspoding fields and if you have any unbounded onces map the nodes too. and map Man_Del_Header in the source to MT_XYZ (important)
and in the MM go to MESSAGES tab and change the occurences of the target Message to 0-unbounded same way in the interface mapping 0-unbounded.
here it create anothe extra node in the mapping something like Message1,this is ok.
and in ID just create all other objects like as usual except creating Interface determination ,in that select the extended radio button.
in reciever File CC use FCC ,would be very simple in the recordsetstrcture give
your four nodes Man_Del_Header,Man_Header,Detail,Trailer.
and use either fixed or field seperator.use append mode in recv File CC otherwise it will generate files as many occurences your source "Man_Del_Header" has ,cos we are mapping it to the MT--xyz .
thats it you are ready to go...
if any error post back here again.
you can make use of this thread
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible (here there are two target DT ,but you just create one DT,remaining are similar)
good luck.
Babu -
Content conversion for multilevel varying structure File to Idoc
Hi All,
I have following file structure.
VO
C1
S1 1 to unbounded
H1 1 to unbounded
D1 0 to unbounded
D2 0 to unbounded
U2 0 to unbounded
UC 0 to unbounded
My Idoc structure.
ISU_EL34
IDOC 0 to unbounded
E1ISU34 1 to unbounded
ZSEGMENT 0 to 1
I have applied the content conversion for the length specific file as follows.
Recordset structure: VO,1,C1,1,S1,1,H1,1,D1,,D2,,U2,,UC,
Do I need to do any changes over here to satisfy the above file structure.
V0 and C1 occurs only once in a file.
for S1 I should have H1 compulsory and others are optional, but i need to create Idoc when D1 data is available only.
I'm able to read the total file with the above content conversion.
MY requirements:
1) I need to create the Idoc based on the occurance of D1 node. I'm using H1 data also in the idoc not S1.
2) My doubt is whether the content conversion I have provide is applicable to the structure I have prepared.
3) When I'm trying useOneAsMany function for the above ie H1 data should repeat in Idoc as and when D1 repeats.I'm failing the error is both queues are not contain same number of data..
Could anyone suggest how I should approach for the above scenario.Hi Sravya,
It is really helpfull answer , Thanks for sharing my problem .
It worked for this purpose, but I'm facing following problems
MY scenario
The file contains records V0,C1,S1,H1,D1,D2,U2 and Uc
In which Im using the data of H1,D1,D2,U2 and UC for creating target Idoc.
Every H1 contains at least 1 D1 record, If D1 exists D2 ,U2 and UC may or may not exist.If exists those are in a sequence and should consider the data of them to create Idoc.
Idoc should be created for every D1.
Problem facing:
Do we have any mechanism to group the D1 records to the relevant header.since Im unable do this with content conversion.
I think bcz of above problem; some records (D2 & U2 & UC) data is populating in Idoc even there is no D2,U2 and Ucs.
Thanks,
venu. -
How to use content conversion for Complex structure
Hi All,
I want to know how to use content conversion for the following complex structure:
Data
...Details 1 to Unbound
.....Header 1 to 1
.......HF1
.......HF2
.......HF3
.......ITEM 1 to unbound
.........ITF1
.........ITF2
all are of type string.
Thanks & Regards,
Viswanath
Message was edited by: Viswanath MenteHi,
In the content conversion,
give ur
1.document name as message type
2.give ur recordstructure as Details,,Header,1,ITEM,
3.mention ur keyfield.
conversion parameter
Header.fieldFixedLength - give the field lengths
Header.fieldNames=mention all the field name
Header.keyField=enter the value of keyfield
Header.endSeparator='nl'
repeat the same for Item
regards
jithesh -
File content conversion for Pipe delimited file
Hi
i have a scenario ( file-xi-proxy) in whch file is coming in a pipe delimited.
my data type is like
DT_ XXXXX
AwardInfo
Header contains some fileds
DetailRecord contains some fileds
trailer contains some fields
what are content conversion parameters i have to use
venkatSedamkar,
Expecting you have one header, multiple details and one trailer then give recordset structure in sender file communication channel as:
Header,1,DetailRecord ,*,trailer,1
In content conversion you should give parameters:
Header.fieldSeparator : |
Header.endSeparator : 'nl'
DetailRecord.fieldSeparator : |
DetailRecord.endSeparator : 'nl'
trailer.fieldSeparator : |
trailer.endSeparator : 'nl'
You may need to change the parameters also according to your strcuture and the file layout. See this SAP help for file content conversion:
http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
Regards,
---Satish -
Query on Content conversion for Receiver SFTP Adapter
Hi Experts,
We have the receiver structre as follows:
<DT_Receiever>
<Header>
<field1>abc<\field1>
<field2>1234<\field2>
<\Header>
<Detail>
<field3>nhj<\field3>
<field4>bshsrt<\field4>
<\Detail>
<\DT_Receiever>
We should do content conversion for the above structure using SFTP adapter at the receiver end.
Kindly provide us some tips in achieving the same.
Thanks
Suganya.Hi Suganya,
You can use message tranform bean for ur case.
U have to use "StructXML2Plain"
Please follow below link for ur reference If you face any problem please let me know....
http://help.sap.com/saphelp_nw04/helpdata/en/24/4cad3baabd4737bab64d0201bc0c6c/content.htm
Thanks,
Enivass -
File Content Conversion for Unequal Number of Columns
Hi,
Iam following this thread FCC for Unequal Number of Columns.
/people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns
when iam doing ,iam getting an error
Conversion initialization failed: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Parameter 'TOTALSET.fieldFixedLengths' or 'TOTALSET.fieldSeparator' is missing Consistency check: no. of arguments in 'TOTALSET.fieldFixedLength' does not match 'TOTALSET.fieldNames' (0 <> 1)
My conversion parameters are
Recordset Structure : TOTALSET,*
TOTALSET.fieldNames : ITEMSET
ignoreRecordsetName : true
TOTALSET.fieldSeparator : 'nl'
My file structure is as below
01,021000021,G4886704,080919,0742,001,,,2
02,G4886704,021000021,1,080918,0742,,2
03,000000135073477,,010,105303839,,,015,489113155,,,045,489039455,,,072,73700
Please help in resoving the error.
Thanks in Advance
SrinivasHi Srivinas,
your file structure is as below
01,021000021,G4886704,080919,0742,001,,,2
02,G4886704,021000021,1,080918,0742,,2
03,000000135073477,,010,105303839,,,015,489113155,,,045,489039455,,,072,73700
So it's easy, you have to use KEYFIELD option, coz you have something like that :
Line 1 : keyfield = 01 following by a limited number of columns (e.g 30 fields for Structure1)
Line 2 : keyfield = 02 following by a limited number of columns (e.g 14 fields for Structure2)
Line 3 : keyfield = 03 following by a limited number of columns (e.g 23 fields for Structure3)
Thanks to the Keyfield, you define a field which is present in each line that you can used to distinguished the different structures of lines. In your case, it seems that the keyfield is the first column (01, 02, 03).
Try to use that:
Recorset = TOTALSET (and don't use option "ignoreRecordsetName : true")
Recordset structure =Structure1,1,Structure2,(star),Structure3,(start) (the difficulty will be to find the good use of "*" and "1", but after some tests you will find the good one).
Note: replace (start) by the character " * "
Key field value = keyfield
Key field type = String (case sensitive)
Structure1.fieldNames = keyfield,field2, field3 etc.. of Structure1
Structure2.fieldNames = keyfield,field2, field3 etc.. of Structure2
Structure3.fieldNames = keyfield,field2, field3 etc.. of Structure3
and then you will have a XML like that:
TOTALSET
Structure1 and all its fieldN
Structure2 and all its fieldN
Structure2 and all its fieldN
Structure3 and all its fieldN
Structure3 and all its fieldN
TOTALSET
Structure1 and all its fieldN because I used Structure1,1
Structure3 and all its fieldN
Regards.
Mickael
Edited by: Mickael Huchet on Apr 20, 2009 5:18 PM
Edited by: Mickael Huchet on Apr 20, 2009 5:19 PM -
Content Conversion for Sending Communication Channel using File Protocol
I have a file as follows:
CUSC,CRCA,OBAL,DATE
10197,0111,15250094.05,20071008
10758,0111,8131440.17,20071008
12939,0111,8212006.53,20071008
13129,0111,6953749.77,20071008
13331,0111,8607294.15,20071008
13579,0111,11972774.95,20071008
13676,0111,6636698.47,20071008
What is the content conversion that I can proceed with so that I can go with the mapping. I have to use File Adapter?
Please HelpHi,
Check below links for Content conversion.
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns
/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
Regards,
Phani
Reward points if Helpful -
Message Mapping: Items under Header node.
Hi,
Below is the file sample:
0LBS00000000082011090707:30:13~0000000009
4GBP55.67SB300005VISTADocNO1100DistChanPaymentDays
5001QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
5002QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
4GBP55.67SB300005VISTADocNO1100DistChanPaymentDays
5001QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
1~7
Record Type:Header Record(Always = 0),Min Occurrence:1,Max Occurrence:1
Record Type:Sales Invoice Header Record (Always = 4),Min Occurrence:0,Max Occurrence:unlimited
Record Type:Sales Invoice Item Record (Always = 5) ,Min Occurrence:1(per Sales Invoice Header Record)
,Max Occurrence:999999 (per Sales Invoice Header Record)
Record Type:Trailer Record(Always = 1),Min Occurrence:1,Max Occurrence:1
The Src Str is:
Header
SalesInvoiceHeader
SalesInvoiceItem
Trailer
The target Str is:
Header
SalesInvoiceHeader
SalesInvoiceItem (Child node of SalesInvoiceHeader)
Trailer
Provide some inputs.
ThanxYou can read this with FCC.
you to create 4 structure
DT_input
...HeaderRecord 1..1
.....f1
.....f2
.....fn
...SalesInvoiceHeader 1..unbounded
.....f1
.....f2
.....fn
...SalesInvoiceItem 1..unbounded
.....f1
.....f2
.....fn
...Trailer 1..1
.....f1
Content conversion paarameters
Recorset Structure = HeaderRecord,1,SalesInvoiceHeader,*,SalesInvoiceItem,*,Trailer,1
Key Field Names = KEY
HeaderRecord.fieldNames = KEY,.......
HeaderRecord.fieldSeparator = '~'
HeaderRecord.keyfieldValue = 0
SalesInvoiceHeader.fieldNames = KEY,.......
SalesInvoiceHeader.fieldSeparator = '~'
SalesInvoiceHeader.keyfieldValue = 4
SalesInvoiceItem .fieldNames = KEY,.......
SalesInvoiceItem .fieldSeparator = '~'
SalesInvoiceItem .keyfieldValue = 5
Trailer .fieldNames = KEY
Trailer .fieldSeparator = '~'
Trailer .keyfieldValue = 1
good luck -
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. -
File Content Conversion for ignoring the entire line
Hi,
I'm getting a CSV file from that i want to skip some records based on some validation.. for example:
I'm getting the following data :
EmpNo EmpName EmpDept
E101 ABC ABAP
E102 XYZ BW
E103 GFC XI
E104 BVM ABAP
E105 ASD BW
E106 YFC XI
SO, here where ever i'm getting EmpDept = XI .. i want to skip those all the records( that entire line i want to skip).. .. this can be possible through Message Mapping.. but i wnat to do this in the File Content Conversion.. how can we do this..
any helpful answers will appriciated..
Thanks
babuHi,
FCC is used to generate the XML structure so that XI can understood properly. You can not do any kind of validations or Skip the records based on Element value condition in FCC.
There are scenarios where you want to skip the lines that time you can use the below option in FCC but this is again not based on condition.
Under Document Offset, specify the number of lines that are to be ignored at the beginning of the document.
This enables you to skip comment lines or column names during processing. If you do not make an entry, the default value is zero lines.
The best way to do is use the UDF:
Write an UDF on target root node.
take input in one context:
input a= Emp Dept:
for(i=o,i<a.length;i++)
if(a{i}.equals("X"))
result.addValue(SUPPRESS); this will supress the target root node if condition is equal to X
else
result.addValue("Constant"); this will generate the target root node.
Thnx
Chirag -
Receiver File content conversion for multi level hireachy
Receiver channel file content conversion..
this is SAP proxy to FIle Scenario, which will get invoice details from SAP along with multiple invoice texts for each invoice.
I would like to have below mentioned payload at Target side,
<MT_Invoice>
<File Header> 1...1
<f1> customer invoices </f1>
<f2> 12/02/2010 </f2>
</File Header>
<Invocie header>
<f1> Invoice number1 </f1>
<f2> customer number1 </f2>
</Invoice header>
<Invoice text>
<f1> Inovice no1-text1 </f1>
</Invoice text>
<Invoice text>
<f1> Inovice no1-text2 </f1>
</Invoice text>
<Invocie header>
<f1> Invoice number2 </f1>
<f2> customer number2 </f2>
</Invoice header>
<Invoice text>
<f1> Inovice no2-text1 </f1>
</Invoice text>
<Invoice text>
<f1> Inovice no2-text2 </f1>
</Invoice text>
<Invocie header>
<f1> Invoice number3 </f1>
<f2> customer number3 </f2>
</Invoice header>
<Invoice text>
<f1> Inovice no3-text1 </f1>
</Invoice text>
<Footer> 1..1
<f1> have a great day </f1>
</footer>
</MT_Invoice>
for the above payload file should come as mentioned below
customer invoices 12/02/2010
invocie number1 customer no 1
invoice no1-text1
invoice no1-text2
invocie number2 customer no 2
invoice no2-text1
invoice no2-text2
invoice no2-text3
invocie number3 customer no 3
invoice no3-text1
have a great day
For to get the above payloadI have create a message type like
MT_invoice
header 1...1
f1 1
f2 1
invoice details 0... unbound
f1 1
f2 1
invoice text 0.... unbound
f1
footer 1...1
f1 1
Please correct me if my message type declaration was wrong...
Please suggest how do i need to approach for message mapping and as well as FCC in File adapter...
Edited by: Vidyadhar Kurmala on Dec 2, 2010 10:28 AMIt is not possible to create alternating nodes in graphical mapping tool.
I recommend using the MessageTransformBean for FCC, as this supports a 2-level hierarchy.
Then you add a node record like this:
<MT_Invoice>
<Record>
<File Header> 1...1
<f1> customer invoices </f1>
<f2> 12/02/2010 </f2>
</File Header>
</Record>
<Record>
<Invocie header>
<f1> Invoice number1 </f1>
<f2> customer number1 </f2>
</Invoice header>
<Invoice text>
<f1> Inovice no1-text1 </f1>
</Invoice text>
<Invoice text>
<f1> Inovice no1-text2 </f1>
</Invoice text>
</Record>
<Record>
<Invocie header>
<f1> Invoice number2 </f1>
<f2> customer number2 </f2>
</Invoice header>
<Invoice text>
<f1> Inovice no2-text1 </f1>
</Invoice text>
<Invoice text>
<f1> Inovice no2-text2 </f1>
</Invoice text>
<Invocie header>
<f1> Invoice number3 </f1>
<f2> customer number3 </f2>
</Invoice header>
<Invoice text>
<f1> Inovice no3-text1 </f1>
</Invoice text>
</Record>
<Record>
<Footer> 1..1
<f1> have a great day </f1>
</footer>
</Record>
</MT_Invoice> -
File Content Conversion for Multi Hierarchical Structure for Sender Adapter
Hi Gurus,
My text file is coming as
Header,filed1,field2(Occurrence=1)
Content,field3,field4(Occurrence =1-Unbounded)
Detail,field4,field5(Occurrence = 1-unbounded)
Trailer,fieldN(Occurrence=1)
My requirement is to write a file content conversion, so that, in the resultant XML Structure the Detail will come under Content.
I have defined the Record Set Structure as
Header,1,Content,*,Detail,*,Trailer,1
But after FCC, the Detailed record is coming in the same level as the Content Record. But the business requires that, the Detailed Record should come under Content Record, so that they can correlate.
Could any one advise?
Regards,
SS
Edited by: Subhendu Sahu on Jun 17, 2011 4:43 PMHi,
Please use the below parameters -
○ NameA.keyFieldValue
Specify the value of the key field for the structure.
This entry is mandatory if the key field name is set. Otherwise, the entry is ignored.
NameA.keyFieldInStructure
■ If the key field of the substructure is to be added to the XML document, enter add. This is the default.
■ If the key field is to be ignored, enter ignore.
http://help.sap.com/saphelp_nwpi711/helpdata/en/44/6713ec3f914ddee10000000a1553f7/frameset.htm
cheers,
Sunil -
Content Conversion for multi level heirarchy
Gurus,
I have the following scenario
FileXIFile
Input File structure is as follows
FH|............ (occurs 1)
FE|............. (occurs *)
FED|........... (child of FE and can occur * under FE)
FT|.............. (occurs 1)
The file contents are pipe delimited.
Example file
FH|.....
FE|........
FED|........
FED|.........
FE|.......
FED|........
FT|............
As stated above, FED recordtype can occur multiple times under FE
My inbound message structure is
.....Header (1)
........ErrorRecord (0,unbounded)
.............ErrorDataRec (0,unbounded)
.....Trailer (1)
Recordset Structure - Header,1,ErrorRecord,,ErrorDataRec,,Trailer,1
Recordset Sequence - Variable
KeyFieldName - RecordType
Content Parameters
I have defined field separator as pipe for each recordset
I have defined keyFieldValue for each recordset
I have defined fieldNames for each recordset
Here is my problem
The file loads ok. However, ErrorDataRec loads at the same level as ErrorRecord rather than loading under it.
I have played with fieldNames to define ErrorDataRec as a field under ErrorRecord and not definining as one, doesnot seem to make a difference.
I need someway to tell the parser that ErrorDataRec needs to be loaded as a substructure of ErrorRecord.
Anyone has any ideas?
Regards
HaseebVJ,
You are absolutely right it is not possible to get multiple hierarchy using file content conversion.
Splitbyvalue function would not work in my scenario as I need to group FED records based on first few characters in the first column of FED records. I wrote a UDF to insert context change based on the column value.
Thanks again for your help.
Regards
Haseeb
Maybe you are looking for
-
Secheldule alv report in background
hi experts, i want to secheldule an alv report for repeatedly every friday , and want to see on system automaticly when it get executed ...... can anyone tell me how to achive this.? thanks .
-
How to remove adware from google chrome?
I recently downloaded a mathematical program to my laptop, but immediately after downloading it tons of ads and new tabs began opening every time I click on something. Does anyone know how to fix this problem?! Thank You!!
-
Fixed and dynamic field headings in field catalog
i have to develop an ALV Report where certain column headings are fixed and other column heading will be changing from time to time. is there any method to do so. that is i have to show the report for 3 months and the names of months will be changing
-
I have 4 series in a chart and I want to have 3 using the left axis and 1 using the right, how can I set this up? thanks
-
Hi, i bought an hp mini 110 at a pawn shop. but it has a bios password, after 3 attempts a get an error message system halt and CNU9341LSH can you please help me? Thank you!