** How to handle FCC - SubStructures in Sender Side

Hi friends,
We have a source structure (XML) like below.
<Root>
    <GMT_1>        0..unbounded
       <field1>
       <field2>
    <GMT_2>        0..unbounded
       <field1>
       <field2>
    <GMT_3>       
        <GMT_4>   0..unbounded
            <field1>
             <field2>
We want to convert flat file into above XML format. So, in this how to handle <GMT_4> xml node. For the others, we will specify
         GMT_1.fieldSeparator
         GMT_1.endSeparator
like this. But, how to specify for the node GMT_4.
Kindly reply, friends.
Kind Regards,
Prakash

Hi,
For FCC check some links.
/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

Similar Messages

  • What is the maximum number of levels in FCC either at sender side

    Hi Experts,
    Can we use more than three levels of hierarchy at sender or receiver side if we are using file content conversion?
    When i tried with 4 levels, i was not able to achieve it.
    Can anybody illustrate an example if we can achieve it?
    Thanks & Regards,
    Rohini

    No you cant use
    see this
    Limitations of File Content Conversion (FCC)
    You may want to see this blog for som,e work around
    /people/shabarish.vijayakumar/blog/2007/08/03/file-adapter-receiver--are-we-really-sure-about-the-concepts

  • How to handle error in Syncrounous Send step in BPM.

    Hi All,
    i am inserting the data into target database and getting the response from the target database in to XI(BPM) here i am sending the data as a bunch(packets), i mean i am splitting the recods into packets and inserting these packets into target database through Sync Send step... now my problem is how can i handle if any of the packet(one set of bunch recors) was fail, how can i handle this exception.
    Thanks in advances for your suggesions and solutions which came by your huge experiences.
    B'rgrds,
    Srinivas

    Since the requirement is to catch the Exception proceed as:
    Include a Block in your BPM --> Include the Send Step -> Right-click on the Block and choose insert Exception Branch> In the Exception Branch inlcude the logic that you want to implement in case of error.
    Possible Exception Handling logics:
    1) Send email to support personnel notifying him of the error and let the remaining process continue
    2) Send email to support personnel notifying him of the error and cancel the process
    3) Cancel the process.
    Make sure that you create a Exception Handler to be included in the Block and also in the System Error section of the Send Step.
    Regards,
    Abhishek.

  • How to handle Multiple attachments in sender Mail Adapter

    Hi,
         In our requirement is mutiple documents send through mail adapter, In custom java module we read the each document details and do it bussiness process. But now i am not able to read the multiple files at a time. we are able to read single file only. So plz give the solution for that.
    1) How to send multiple attachments(like word, PDF, JPG etc..) using mail apapter.
    2) How to read multiple attachments in custom java module.
    Thanks & Regards
    Vijay

    Hi Vijay,
    Go through this weblog this explains steps to multile attachments.
    /people/sravya.talanki2/blog/2006/01/12/xi-triggering-e-mails-with-multiple-attachments--problems
    Regards,
    Ashwin.

  • Fcc parameters at sender side

    Hi frnds,
    am doing one FCC to file Scenario my text file is like bellow please anybody help me how can i give parameters in FCC.
    "A","AAAAAAAABBXXX","AAAAA01","140314","1740","14032014174013","Transaction Status Report","IN","AAAAAAA INDUSTRIES LIMITED","","","","","301, AAAAAAA HOUSE,","7/5,AAAAAAAAAAAAAAAAAAAAAAAA ROAD,","AAAA 452001, M.P., INDIA","","","","","","","",""
    "D","0022125614110013","F1","Processed","C0016657","Q0202676","20140314","20140313","20140314",28893.00,"INR","INR","INR",1.000000,"","TRANSACTION ACCEPTED IN STSTPS","","","00061050264493","AAAAAAAA","AAAAAANAYAK","","","","","","","","","22205269415","AAA","","AAA00878Q0202676","",""
    Regards,
    Rajendar

    Hi ,
    I would recommend you to blindly follow the below sap documentation.
    https://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm

  • 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
    Regards

    Hi,
    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

  • 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
    Sowmya

    Hello 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

  • 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,
    Nagaraju

    Hi,
    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

  • Need of FCC on sender side

    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
    ahmad

    Ahmad,
    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 spaces in Sender File

    I have sender file and it is reading wrongly as it is not reading spaces. It is fixed file lengthe with no seperator.
    Following r the parameters I am using but still it is not picking up spaces.
    ignoreRecordsetName                                 true
    Record.fieldSeparator                                   nl
    Record.endSeparator                                    nl
    Record.additionalLastFields                        ignore
    Record.missingLastfields                            ignore
    Record.fieldContentFormatting                    nothing
    Record.fixedLengthTooShortHandling           ignore
    Record.fieldFixedLengths                           15,25,9,1,15,20,15,1,3,15,1,3,9,50,100,50,100,100,15
    Record.fieldNames                                      15,25,9,1,15,20,15,1,3,15,1,3,9,50,100,50,100,100,15
    Record.keepIncompleteFields                           YES
    My file format looks like as follows....there r 2 recods and u see psaces after each line they r part of particular field. Please help how to handle this..
    GLPRMS         Other                    20-MAR-09A               30800845237527018000000000000000000.000000000000011241.34020-MAR-09260IN0103-616714                                                                                260IN0103-616714                                                                                REFR1 - 000000 / REFR2 - 000000 / REFR3 - SUMRY           / TRANSFERS FROM
    GLPRMS         Other                    20-MAR-09A               30800845237527018000000000000000000.000000000000000305.60020-MAR-09260IN0103-616714                                                                                260IN0103-616714                                                                                REFR1 - 000000 / REFR2 - 549944 / REFR3 - 7691            / TRANSFERS FROM
    Thanks in advance
    Ria
    Edited by: ria sen on Mar 25, 2009 4:00 AM

    Hi Ria,
    Use the parameter Record.fieldContentFormatting = nothing
    If you dont specify this parameter trim is taken as a default value hence you are not gettign the spaces.
    This parameter should help you .
    Regards,
    Rajesh

  • How to pass the SIN using a plain http adapter in sender side.

    Hi all,
       How to pass the SIN(System Identification Number) using a plain http adapter in sender side.
    Regards,
    Venu.

    You can set it in a specific HTTP header (as explained here : http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/content.htm) ...
    Rgds
    Chris

  • How to handle Back button, Browser Refresh problem at server side.

    Hi Friends,
    How to handle Back button, Browser Refresh problem at server side in java?.
    I am able to trace that,
    request.getHeader("ACCEPT") is returning value- */*
    when the browser was refreshed and returning different MIME types
    for all other actions from browser.
    I have doubt, will the above solution works always for all servers,browsers?.
    Please also specify any solution to handle back button at server side?.
    Thanks in Advance.
    Venkat..

    I'm sorry I don't think tht's the right solution for
    the above question....
    We must be aware that whatever scripting methdologies
    we either javascript/vbscript would executed @
    client(browser) side not @ server side....
    Dud If U get a good solution keep me updated.....
    THANKS & REGARDS,
    RAHULMy dear friend ...
    the bad news is that u simply cant disable or add any listener to the back button of the browser.
    When u hit the back button of ur browser the URL gets re-executed. So in case u have a JSP then the history.forward() is the best solution. [only if the page doesnt get expired similar to secure https sites]
    Now dont say that user can have javascript disabled ...those users will have a pretty touch time browsing websites since javascripts r used extensively by almost all websites.
    But in case u have an action.do or servlet call then u need to manage it using a session variable since the request will be sent to the server rather than client.
    For multiple form submittion issues read the following article in javaworld...
    Client vs. server solutions
    Different solutions can solve this multiple form submission situation. Some transactional sites simply warn the user to wait for a response after submitting and not to submit twice. More sophisticated solutions involve either client scripting or server programming.
    In the client-only strategy, a flag is set on the first submission, and, from then on, the submit button is disabled based on this flag. While appropriate in some situations, this strategy is more or less browser dependent and not as dependable as server solutions.
    For a server-based solution, the Synchronizer Token pattern (from Core J2EE Patterns) can be applied, which requires minimal contribution from the client side. The basic idea is to set a token in a session variable before returning a transactional page to the client. This page carries the token inside a hidden field. Upon submission, request processing first tests for the presence of a valid token in the request parameter by comparing it with the one registered in the session. If the token is valid, processing can continue normally, otherwise an alternate course of action is taken. After testing, the token resets to null to prevent subsequent submissions until a new token is saved in the session, which must be done at the appropriate time based on the desired application flow of control.
    for more details refer :
    http://www.javaworld.com/javaworld/javatips/jw-javatip136.html
    Hope u got the idea.
    FYI I have been using both these ideas in my credit card payment gateway project. This concept has worked really well.

  • How to handle Big FIles in SAP PI Sender file adapter

    Hi all ,
    I have developed a interface , where it is File to Proxy, it is fine when i do with small and normal files
    The structure contain one  Header unbounded  detail and one  Trailer, how to handle when the file size is more than 40 MB
    Thanking you
    Sridhar

    Hi Sridhar Gautham,
    We can set a limit on the request body message length that can be accepted by the HTTP Provider Service on the Java dispatcher. The system controls this limit by inspecting the Content-Length header of the request or monitoring the chunked request body (in case chunked encoding is applied to the message). If the value of the Content-Length header exceeds the maximum request body length, then the HTTP Provider Service will reject the request with a 413 u201CRequest Entity Too Largeu201D error response. You can limit the length of the request body using the tting MaxRequestContentLength property of the HTTP Provider Service running on the Java dispatcher. By default, the maximum permitted value is 131072 KB (or 128MB).You can configure the MaxRequestContentLength property using the Visual Administrator tool. Proceed as follows:
           1.      Go to the Properties tab of the HTTP Provider Service running on the dispatcher.
           2.      Choose MaxRequestContentLength property and enter a value in the Value field. The length is specified in KB.
           3.      Choose Update to add it to the list of properties.
           4.      To apply these changes, choose  (Save Properties).
    The value of the parameter MaxRequestContentLength has to be set to a high value.
    The Visual administartor tool may be accessed using this link
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/40a08db9-59b6-2c10-5e8f-a4b2a9aaa3d2?quicklink=index&overridelayout=true
    In short  ICM parameters to reset values for this case are
    icm/HTTP/max_request_size_KB
    icm/server_port_ TIMEOUT
    rdisp/max_wprun_time
    zttp/max_memreq_MB
    Please look into this thread to know more about ICM parameters
    http://help.sap.com/saphelp_nw04/helpdata/en/61/f5183a3bef2669e10000000a114084/frameset.htm
    Second solution is that you must split the source file, so that each file is less than 5MB in size, then PI would not cause problem for file size between 1MB-5MB. you can insert header and trailer for individual smaller file obtained after split. All this can be done using scripts or conventional programing provided individual records within file are independent of each other. Finally you have to rename each new file created and put them in PI folder in sequential manner. All this can be achieved by simple shell script/batch file, a C code or java code. If you are going for a C or Java code you need a script to call them from PI communication channel parameter  "run operating system command before message processing".
    regards
    Anupam

  • How to handle a comma in a field in CSV file during FCC ?

    Hi,
    I am having a requirement where we have to convert a CSV file into XML using File Content Conversion . The issue is one of the field in the file is having a comma inside. So the XML parser is taking it as a field separator and throwing an error.
    The contents of the file are as follows:
    "02975859","New Key","9","Failed, rejected by RTI server"
    How to handle a comma inside field "Failed, rejected by RTI server".
    Any help would be appreciated.
    Regards
    Pravesh

    Hi ,
    You have to write an java mapping programm to perdromance this task , in a estandar way i think is not possible , because the fiel adapter have just one option for the delimiter character.
    Here's some code that could help you
    Supouse a file in this way:
    1,rahul,siemens,mumbai
    2,consultant,12032005
    1,viswanath,sisl,hyderabad
    2,systemeng,23052005
    package TXTMapping;
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.util.Map;
    import com.sap.aii.mapping.api.StreamTransformation;
    public class TMapping implements StreamTransformation {
    private Map map;
    public void setParameter (Map param){
    map = param;
    public void execute (InputStream in, OutputStream out){
    try{
    out.write("<?xml version ='1.0' encoding='UTF-8'?>".getBytes());
    out.write("<ns0:Output_Data xmlns:ns0=\"urn:javamapping_test\">".getBytes());
    String line = null;
    BufferedReader bin = new BufferedReader(new InputStreamReader(in));
    StringBuffer buffer = new StringBuffer();
    while((line = bin.readLine())!= null){
    String Company = null;
    String Name = null;
    String Place = null;
    String Desgn = null;
    String Since = null;
    char[] str= new char[100];
    str = line.toCharArray();
    String[] Data = new String[10];
    int S1 = 0;
    int s2 = 2;
    for (int i=2; i<line.length(); i++)
    if (str<i>==',' && str[0]=='1')
    Data[S1]= line.substring(s2,i);
    S1=S1+1;
    s2 = i+1;
    if (i == line.length()-1 && str[0] == '1')
    Data[S1]= line.substring(s2,i+1);
    Name = Data[0];
    Company = Data[1];
    Place = Data[2];
    out.write ("<Data>".getBytes());
    out.write ("<Header>".getBytes());
    out.write (("<Name>"Name"</Name>").getBytes());
    out.write (("<Company>"Company"</Company>").getBytes());
    out.write (("<Place>"Place"</Place>").getBytes());
    out.write ("</Header>".getBytes());
    if (str<i>==',' && str[0]=='2')
    Data[S1]= line.substring(s2,i);
    S1=S1+1;
    s2 = i+1;
    if (i == line.length()-1 && str[0] == '2')
    Data[S1]= line.substring(s2,i+1);
    Desgn = Data[0];
    Since = Data[1];
    out.write ("<Item>".getBytes());
    out.write (("<Designation>"Desgn"</Designation>").getBytes());
    out.write (("<Since>"Since"</Since>").getBytes());
    out.write ("</Item>".getBytes());
    out.write ("</Data>".getBytes());
    out.write("</ns0:Output_Data>".getBytes());
    catch(Throwable t){
    t.printStackTrace();

  • FCC: Substructure inside Substructure

    Hi all,
              I am working on a POC which uses  FCC. The expected XML file Structure at the Receiver side is:  
        <root>
    .          <substructureA>
                       <field1/>
                        <substructure1>
                               <field1/>
                               <field2/>
                        <\substructure1>
                        <substructure2>
                                <field1/>
                               <field2/>
                        <\substructure2>
                 <\substructureA>
                 <substructureB>
                       <substructure1>
                               <field1/>
                               <field2/>
                          <\substructure1>
                        <substructure2>
                                <field1/>
                                 <field2/>
                        <\substructure2>
                  <\substructureB>
           <\root>
    Is it possible to perform the conversion by FCC? If Yes, how to specify the substructure inside a substructure in configuration?
    Thanks
    Chilanka

    Hi,
    Jai Shankar,
    I think the above requirement is for Receiver side , am i correct or not? For sender is different , you nend use another...
    Now  , in receiver side
    Record structure :
    ROOT,substructure1,sub_substructure,FIELD,*,substructure2,sub_substructure
    <b>Here you have to use the above sustructure name,occurrences</b> if any fields are under that structure and the respective parent will more no of occurrences
    In processing parameters
    Root.endSaparator : 'nl'
    substructure1.fieldNames : (give field names if available if not available then you no need to give these type parameters for that specified substructure)
    See my above answer...
    Regards
    Chilla

Maybe you are looking for