Outbound interface determination in file adapter?

In my scenario files with different schemas can be send to XI from the same directory using the file adapter (so each file has a different interface that must be mapped etc.).
I cannot add multiple interfaces to the file adapter in sender agreement and determine the outbound interface by some condition. Interface must not be "*".
I thought about creating multiple file adapters (all listening to the same directory) and sender agreements. Each adapter is listenig to specific file type only (e.g. *.yxz, *.abc). So before putting the files to the input directory the file extension must be changed so that only the right adapter reads the file and XI gets the right interface.
Is there abetter way to do this???

These blogs will be usefull i guess..
/people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
/people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi
/people/ravikumar.allampallam/blog/2005/02/17/bridging-the-sync-async-bridge-with-fork-xi
/people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
/people/daniel.graversen/blog/2006/09/07/using-a-bpm-to-collect-messages-for-a-set-interval-of-time
Reward points if usefull........

Similar Messages

  • DB Mutex Error with Outbound operation using Normal File adapter in HA env

    Hi All,
    I Have a simple process which picks data from a weblogic jms queue and writes it to a file. Each day this task is carried out once in a day and it writes approx 30k records to the file. the process is made singleton (singleton property on inbound JMS adapter) and used the HA file adapter to write to the file. This setup gave rise to lot of DB Mutex errors. To avoid the DB mutex issue i pointed the file adapter to use the Normal file adapter connection factory instead of the HA File adapter one used earlier. The surprising thing is even this gave rise to DB mutex errors.
    1. Am i missing something here,according to my understanding using a normal file adapter conn factory even in a HA environment should not be creating multiple locks on the file write.
    2. Can i change the standard DS used in the file adapter to a custom DS? will that solve the problem?
    I hope the scenario is clear. Following is the error extract seen at the process and log level
    Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Write' failed due to: Unable to acquire mutex for interaction. Unable to acquire mutex for interaction. Unable to acquire lock on resource for "DatabaseMutex::acquireNoSave". ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution.
    Thanks
    Nikhil

    We are getting the same error in 11.1.1.5 PS4 version also.Can you post the content of your .jca file here?
    Regards,
    Anuj

  • Testing Outbound Scenario with File Adapter

    Testing an Outbound Scenario, This uses File Adapter. I checked Payloads in the Transaction SXMB_MONI in R/3 as well as XI. There was no message for error. So I suppose to get the data downloaded to a directory. The output file is a text file. The file is not getting downloaded. Can any one please help me out to solve this issue? Please let me know if you need any more information.
    Transport protocol: FTP.
    Message Protocol: File Content Conversion
    Adapter Engine: IS
    Thanks,
    Rajan.SA

    Chcek whether your Receiver Adapter is activated properly.
    http://<host>:5<sysnumber>00/mdt/amtServlet XI > SP09
    http://<host>:5<sysnumber>00/AdapterFramework <= SP09
    If everything is correct, check the message in the Adapter Engine
    http://<host>:5<sysnumber>00/MessagingSystem for the receiving message. You will find more information here why the message is failed to deliver to the endpoint.
    regards
    SKM

  • File Adapter Not Processing Large File

    Hi Everyone,
    We are experiencing a problem in an interface that includes file adapter. The scenario is as follows:
    1. A .csv file containing multiple records needs to be processed; for each line of the .csv file, an XML file should be genrated. <b>We are using the 'Recordsets Per Message' field in the Content Conversion Parameters to achieve this.</b> After the source .csv file is processed, it is deleted.
    We were testing with small 15-30 records in each input file. For the purpose of testing scalability, we increased the number of records in a file to nearly 300. But the file adapter did not pick up the file.Comm.Channel in RWB is showing green, MDT contains no entries and SXMB_MONI also shows no messages. What can be the problem? Is there any limit on the size of file that can be converted in this way?
    Awaiting your replies,
    Regards,
    Amitabha

    Amitabha,
    300 records should not be a problem at all. If you are not getting any error msg in CC monitoring, then it is time you take a look into VA logs.
    Ref: /people/michal.krawczyk2/blog/2005/09/07/xi-why-dont-start-searching-for-all-errors-from-one-place
    Regards,
    Jai Shankar

  • File adapter input file format

    Here the communication scenario is as follows: read a file and send a message via XI to an inbound interface.
    A file adapter service has been defined. Message protocol 'file content conversion' has been chosen for the file adapter service. Next the file format has to be defined in communiction channel settings.
    Is it possible to define the input record structure in the file to be red itself?
    The first line will list all column names. The data records will follow in line two up till end of file.
    Regards
    Klaus

    Now I can add some more information to the facts.
    In XI 2.0 the adapter engine was used to connect the integration engine to external systems. The adapter engine converted input file contents to a XML message. The structure of the records in the input file has to be defined. There was one option to read this structure from the first line of the file itself. This option was called 'fromFile'.
    Now the current situation in XI 3.0 is that the integration engine reads the input file. Conversion of file contents is still available but the option to read the record structure from the input file doesn't exist anymore.
    Does anybody know whether I am right and this functionality isn't available anymore or how to achieve the desired system function in XI 3.0.
    Regards
    Klaus

  • Outbound interface using dataset

    Hi,
         Please send me example program for outbound interface to maintain file in application server.
    Thanks
    Ali

    Hi,
    the code should look like below.
    declare:
    filepath_name TYPE rlgrap-filename,
    internal table itab.
    **Populate data to itab.
    OPEN DATASET filepath_name FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
          IF sy-subrc = 0.
            LOOP AT itab.
              TRANSFER itab TO filepath_name .
            ENDLOOP.
          ELSE.
            MESSAGE i001(00) WITH 'Error writing to file in remote computer'.
          ENDIF.
          CLOSE DATASET filepath_name .

  • Sender File Adapter : File Name Determination

    Hi All,
    My Scenario :
    1) Im my scenario i need only the "FileName" of the File when picked up by the Sender File Adapter.
    2) Rest Content of the File need not be in the XML file format.
    Now what i did was developed "File Adapter Module " to get the "FileName" when picked up by the Sender File Adapter.
    Outcome : When i put the developed module at first and put the file in specified folder allowint the Sender file Adapter to pick up. Now Everything is fine working when one kind of File is placed as per my Content Coversion paramaters.
    Actual : My Client would place file of any kind (.jpeg -> Mostly , gif ) i need to get only the file name in the Outbound interface , which i would split it further to my Target Interface.
    How could i achieve this , when i took away this content conversion , in sxmb_moni it shows error.I need only the filename in the Outbound not the Content , moreover the hit is i donot know what could be content of my file as it could be different and varing , so i could not set particular content conversion paramters:
    Second Question:
    Now my outbound XML interface looks as below when i test with a file , with proper content conversion paramerters:
      <?xml version="1.0" encoding="UTF-8" ?>
    - <MT_DMS_FINAL>
    - <Record>
    - <Row>
      <FirstName>2323_eer_rtr</FirstName>
      </Row>
      </Record>
      <FileName>d:\mdmtest\srinivaS\padusrini.txt</FileName>
      </MT_DMS_FINAL>
    Well i have designed in my MI only FirstName , how to capture this element "FileName" which i can use it in mapping , if i have to write any UDF to capture it ,please guide me.
    thx in advance for u r help
    with regards
    Srini

    Hi Guys ,
    Can i use File Content Conversion for .pdf document , my pdf doc content is not known, means it"s a complete info doc.I may get .jpeg any picture or drawing.
    I thought i can use below file content conversion paramters:
    Document Name : MT_DMS_FINAL
    RecordSet Name : Record
    RecordSet Structure : Row,*
    Row.fieldNames - FirstName
    Row.fieldSeparator - ;
    Row.processFieldNames - fromConfiguration
    Row.additionalLastFields - ignore
    Row.missingLastfields  -  ignore
    Now i put a pdf doc of unknown content , and my assumption was some set of charater would be dumped in  XML and rest would be ingonered which is least bothered part in my scenario , unless i get the filename from runtime ot Adapter module developed
    But in RWB CC monitoring i see below error :Error: org.xml.sax.SAXParseException: Illegal XML character:  &#xb;.
    Any views on this , can any one help me out with the above requirment. Hope u guys got wat am trying to put out here
    thx in advance for u r help
    with regards
    Srini

  • TargetFilename in the Outbound File Adapter

    Hi all,
    I have created an interface that sends projects form SAP PS (by tRFC) to a file directory (using an outbound file adapter). Each project is created as a individual file. All this works well, but the filenames created for the files are not very intuitive for the users looking at the files at the receiver point since there are quite a lot of similar files only distinguished from each other by a timestamp (usualy only separated by milliseconds).
    Is there a way to make the file adapter append data from one XML tag in the file name? I.e:
    file.TargetFilename='<project></project>'.txt
    file.writeMode=addTimeStamp
    giving i.e a file '1234567_timestamp.txt'
    This way I can include i.e. the project number + timestamp as filename making it user friendly for the people using the files.
    Any suggestions will be appreciated.
    Best Regards
    Odd Hilt

    HI
    Read the file without using key field. Just define the FCC parameters Header and Items PI will pick the file.
    DT_Source
       Record
         Header 0..1
           PO_Number String 0..1
         Items  0..unbounded
           Items String 0..1
    Do the FCC
    Header.fieldnames PO_Number
    other config for Header
    Items.fieldnames Items
    other config for items
    Thanks
    Gaurav
    Edited by: Gaurav Bhargava on Nov 12, 2008 10:27 AM
    Edited by: Gaurav Bhargava on Nov 12, 2008 10:27 AM

  • BPM with 2 JDBC outbound interfaces and one inbound file interface

    Hi,
    I have a scenario where data is coming from  different databases into XI and after processing the data it creates a file at the target side. Some calculations are to be done in the middleware and the result will be sent through a file.
    My question is
    1. BPM will be used in this scenario?
    2. There will 2 outbound interfaces(one for each database access), 2 abstract interfaces and one inbound interface(file). Please correct me if I am wrong.
    3. I have to multiply the value of field from one database to a particular value in another database and get the final result. For e.g exchange rate from one database is multiplied to Transaction currency in another database and get the group currency value in the output. Can anyone give the sequence of steps in the intergration process for this scenario as I am new to BPM.
    Thanks,
    Aparna

    Thanks a lot Liang and madhusudana for your responses.
    Since I can use JDBC lookup for this in my nornal scenario I think no need for BPM.
    I have created the advanced UDF for JDBC lookup code. Below is the code.
    String Query = " ";
    Channel channel = null;
    DataBaseAccessor accessor = null;
    DataBaseResult resultSet = null;
    MappingTrace importanttrace;
    importanttrace = container.getTrace();
    // Build the Query String
    Query = "Select home_cur_code FROM  gltrxcp WHERE company_code = '" + a[0] + "' ";
    try{
    //Determine a channel, as created in the Configuration
    channel = LookupService.getChannel("BS_JDBC_send","cc_JDBClookup_rec");
    //Get a system accessor for the channel. As the call is being made to an DB, an DatabaseAccessor is obtained.
    accessor = LookupService.getDataBaseAccessor(channel);
    //Execute Query and get the values in resultset
    resultSet = accessor.execute(Query);
    importanttrace.addWarning("resultset" + resultSet );
    for(Iterator rows = resultSet.getRows();rows.hasNext();){
    Map rowMap = (Map)rows.next();
    result.addValue((String)rowMap.get("HOME_CUR_CODE"));
    importanttrace.addWarning("result" + result );
    catch(Exception ex){
    result.addValue(ex.getMessage());
    finally{
    try{
    if (accessor!=null) accessor.close();
    catch(Exception e){
    result.addValue(e.getMessage());
    But I am not getting the desired result. I am getting result as 'Null'.
    Can you please help in resolving this issue. I have also used trace for find out where it is passing Null and found that 'result' is coming null. Do i also need to parse it before passing it to 'result'?
    Can anyone send sample code for JDBC lookup.

  • Dynamic file names in outbound file adapter

    I have to configure a flow in XI system wich takes an input file from one machine and after mapping process leaves the output file in target machine with the same name of input file.
    Name of input file won't be always the same (*.dat) so i cannot hardcode this name in outbound file adapter.
    Does anyone know how to transfer input filename from inbound file adapter to XI message and then to outbound file adapter?
    I know there is an option to create dynamic file names in file adapter but i think it isn't enought to solve my problem.

    I have to configure a flow in XI system wich takes an input file from one machine and after mapping process leaves the output file in target machine with the same name of input file.
    Name of input file won't be always the same (*.dat) so i cannot hardcode this name in outbound file adapter.
    Does anyone know how to transfer input filename from inbound file adapter to XI message and then to outbound file adapter?
    I know there is an option to create dynamic file names in file adapter but i think it isn't enought to solve my problem.

  • Semantics File Sender Adapter to determine which files to retrieve

    Hallo,
    does anybody has experience with this semantic?
    Thanks in advance,
    Frank
    From the FAQ-List of file-adapter(Note 821267 , Question 27).
    Q: Which semantics does the File Sender Adapter apply to determine which files to retrieve from an FTP server?
    A: Up to and including SP13 the File Adapter will issue an NLST command (see RFC 959) with the configured source file name scheme as first parameter to the FTP server. It will try to retrieve any of the files returned by the FTP server in response to this command.
    Starting with SP14, the File Adapter will issue a LIST command with the configured source file name scheme as first parameter to the FTP server. If it is able to parse the returned result (which is the case for UNIX- and Windows-style directory listings), it will retrieve any of the returned files. If it cannot parse the result, it will fall back to the pre-SP14 implementation and use the NLST command as described above.

    Frank
    We are on SP12 and have had problems with this and specifically, the FTP server on Solaris, not being fully RFC959 compliant.
    We've had to get a different FTP Server as we were returned *.xml no file or folder found instead of 550 *.xml no file or folder found.
    This increased the polling to the server, and filled up the ftp logging file, which intern filled up the partition and crasehd the server.
    We got round this by installing http://www.proftpd.org/

  • Get the filename after an outbound file adapter operation

    Hello,
    I am calling an outbound file adapter operation in BPEL (10.1.3.3) - using a filename mask with a sequence (i.e. po_%SEQ%.xml). I would like to provide the filename created at run-time (i.e. po_123.xml) to my BPEL process so I can send this in an e-mail. Is this possible?
    Thanks in advance!
    Rod
    Message was edited by: Rod - fixed a typo
    Rod Tunnels

    Well, I took a different approach - which looks like it will work. Instead of letting the adapter decide the filename - I'm generating that in BPEL and passing that to the adapter using the header variable. So ... nevermind. ;-)

  • Dyanamic Configuration at receiver file adapter determine target directory

    Hi Experts,
    I have a requirement to determine the target directory during runtime.
    From the source side one particular field determine the Target directory where you need to place file
    ECC - PI - File adapter - this is the scenario
    In target side 3 directories in the same server . but the directory should determine from source fields - werks
    As I am new to PI Please describe the procedure in detail.
    Thanks in advance.
    Kevin

    Hi Kevin,
    Use the below UDF and map to the rootnode in the message mapping.
    public String GetFileName(Container container){
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String ourSourceFileName = conf.get(key);
    return  ourSourceFileName; 
    In the Advanced tab of the File adapter, check the option Adapter Specific Message Attributes. Under that, check the Filename option.
    This would get the fieldname in the target filename.
    Check the below link:
    /people/madanmohan.agrawal/blog/2009/05/20/combining-three-different-aspects-of-pi-asma-af-module-and-variable-substitution-in-one-shot
    http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/frameset.htm
    /people/shabarish.vijayakumar/blog/2007/07/26/troubleshooting-the-file-adapter-last-updated-on-02-july10
    Thanks,

  • Conditional Interface Determination with Flat Files

    Hello,
    I have one sender interface (dummy) which could either hold a flat file or an XML file. On receiver side there is one system with two receiver interfaces, one should be used for the XML structure and one for the flat structure.
    My requirement is to have a conditional interface determination with an (exclusive) OR logic. Pseudo code:
    The XML structure has "submission" as root node. So I use the condition (/submissioin) EX to determine whether it is an XML file and I check with not(/submission) EX to determine whether it is a flat file. However the condition does not work using a flat file ("Unable to find an inbound interface"). Could it be, that the conditional expression never is true in case a flat file arrives? How can I achieve this requirement?
    What I additionally do with the flat file is just calling a Java Mapping that sets dynamic attributes for a file receiver, the flatfile itself is dumped on a file system without any addtional conversion logic.
    Thank you for your advice.

    How can I ingnore a message in case a condition applies? I am just aware of the fact that you can ignore messages in case NO condition applies.
    Couldn't you simply reverse the logic and use "not equals"? Or perhaps you can use the EX operator to alter your conditions... here is more info on the EX (exists) operator
    Re: ConditionEditor: Check if element is empty
    What is best practice in this case? Should I use a "dummy receiver"? However if I use a dummy receiver I think I would receive a "interface determination not found" error. How would you do that?
    I've never found the need to work with dummy receivers so I cannot comment there.

  • Append functionality in Outbound File Adapter

    Hi all,
    I have a question regarding append functionality in outbound file adapter.
    When I append files for example I get a XML file with different XML files in one file, but is it also possible to collect and bundle the files and get a same result when u use BPM?
    Do I have to add some parameters?
    Kind regards,
    Kamran Vakili

    It is not possible, when you append XML files.
    The result XML file is not valid, as you have multiple declarations and root tags.
    The append mode for the file adapter should be used only for flat files.
    Regards
    Stefan

Maybe you are looking for

  • Will I be able to install OS X Lion if I only purchased OS X Mountail Lion?

    I just received an old mac from someone, when I got it I wiped the hard drive to erase all of the previous user's data. I then went into disk utility to try and re install OS X, but realized I needed a purchased copy of OS X Lion, I accidentally boug

  • JBO error deploying under Tomcat 3.2.2

    I've created the JSP BC4J application and deployed under Tomcat. I've followed Chris Schalk's tips on adding the jar file in the CLASSPATH( for Tomcat.bat). But, I still get folowing errors: Error: 500 Location: /BugEnter_html/ReportView_Insert.jsp I

  • Connect one Business system with two Integration Server

    Hello, Can we able to connect one Business System with two Integration Server? I have one Business system (ECC 6.0 with the client 900) and it is already connected with PI 7.0 system.Can I able to connect the same sytem (with same client) with PI7.1?

  • Search is showing no results with HTTPS URL

    Hi All, A power user wanted to have https entry in one of the content sources and asked us to remove the http entry for the web application. After that I have performed the incremental search. However, the search on the https on the web site started

  • Trouble installing microsoft office 2013

     When i try to install Microsoft Office Professional Plus 2013 32 bit i get the message "Please Wait, were sorry. It looks like another installation is running. Please wait until it's finished and try installing Office again" although i do not have a