File adapter instances for BPM processing

I have two doubts. If I have a single file adpater polling an Input folder and the reciever is the BPM,and i have multiple files in the same folder to be picked up by the File adapter. Will the files be qued up to be picked by the file adpter, or will there be a multiple instances of the file adapter internally ?
The second issue is that, if i have multiple instances of BPM using the same outbound file adpater, then will the outbound messages be qued up or sent parallely
Please share any ideas on this.
Regards

Hi,
1) Files with the same name cannot be in 1 folder. so if you need to pick up (say 3 files) u need to create 3 File sender channels and associated these channels to the corresponding sender agreements. So when ever an adapter find sthe file it will pick it up. So there will be queuing up at Adapter level.
2)In the secod case, all instances of BPm will send to the same file adapter, and the files will get overwritten unless you specify somethign like "append messad" or "add time stamp"
3)Each instance of your BPM is an indivual process. It doesn't care if the instace1 RFC has been suceessfully processed or not. So when file2 is sent, BPMInstance2 is created and RFCadapterInstance2 gets started processing....
Hope this helps you.
Cheers,
Siva Maranani.

Similar Messages

  • Show information for BPM process instances to possible future assignees

    Hi all,
    My environment is 11.1.1.4.
    I want to develop an ADF application that shows users information for BPM process instances which will possibly produce a user task assigned to them in the future.
    What I have done is
    1. Get BPMAppRole from the user name.
    2. Get the list of CompositeInstance with STATE_RUNNING from the BPM process name obtained from the BPMAppRole.getName().
    From the list of CompositeInstance, I have to extract the instances that will possibly produce a user task assigned to the user in the future.
    But I have no idea how to do this.
    Maybe my current approach is totally incorrect.
    Please help!
    Regards,
    Kenji

    Hi,
    By chance I found a method that you can use:
    oracle.bpel.services.workflow.query.model.TaskSequence getTaskSequence(oracle.bpel.services.workflow.verification.IWorkflowContext p1, oracle.bpel.services.workflow.task.model.Task p2, java.util.List p3, java.util.List p4, java.util.List p5, boolean p6) { }
    getTaskSequence might help you. This is under ITaskQueryService interface.
    HTH.

  • File Adapter Acknowledgement in BPM - NEW Question

    This is in cntinuation of my earlier question:
    File Adapter Acknowledgement in BPM
    Now I understand that the send step should wait to get the acknowledgement from file adapter.
    As I understand This ack may be +ve or -ve.
    <b>So my question is how do we test for + ve acknowledgement in the next step / switch?</b>
    Thanks,
    HImadri

    hi,
    in condition editor of this switch step you need to choose technical objects
    and check it they = true
    for sender apps
    you can also use Main/MessageClass field 
    have a look at the bottom of this page to
    check their values:
    http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/content.htm
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • How to change used WD windows for BPM process instance?

    Hello SDN!
    We have two BPM processes (A and B) and two WD DC (A and B). Process A uses window from WD DC A, process B uses window from WD DC B.
    We deactivate process A since we need process B to be used and since A and B use the same WebService. But existing instances of process A still using window from WD A. Is it possible to switch instances of process A from using WD window A to using WD window B? And how we can do this?
    Regards,
    Lev.

    Hi Lev,
    Try this:
    Use an exclusive choice in your process. Create 2 Human Tasks after the Choice with these 2 WD Screens (A & B).
    Based on some condition, you can execute either one of the Human Task. Once this branch of the Exclusive choice executes, place an Uncontrolled merge so that the process execution does not wait for the other branch to execute.
    In this way, based on some condition, you can either execute either WD Screen A or WD Screen B without affecting each other.
    Hope this helps.
    Regards,
    Sid.

  • Read uniquely named file. Sender File Adapter unsuitable for synchronous

    Hi All,
    We have a requirement to read a specific file that has a unique name based on a transaction ID. The transaction ID will be passed from the source application.
    The communication is required to be synchronous. There could be multiple requests/files generated and present at the directory at any given time but each corresponding to a specific transaction ID. If the file is not yet generated for that transaction ID we return back an error to the calling system.
    I think we can not use Sender File Adapter - because of the dynamic naming and also because we have to return a synchronous response back depending on the file availability. i.e. We can not have a defined pattern in the file name nor can we specify a wild card as there could be more than one files in the location.
    In theory we could use the File Sender adapter to read all the files in the directory and a BPM with correlation set based on the transaction ID and let the process wait for the request. But as far as possible I want to avoid this unnecessary wait or extra demand on the system. More so because the files could get big.
    If I were using a tool like SAP Business Connector or webMethods then I would I used a readFile Java service and given it a filename to return the required bytes in a synchronous read.
    Is something like this possible in XI? If someone has written a synchronous Java to read file can they share the code? Or do you suggest I write a ABAP server proxy to read the file?  The problem however will be how do we map the data to a XML within the code.
    All suggestions welcome. There has to be a simple and effective solution to this mundane requirement !
    Wishing all SDNers a bright start to this new year,
    Thanks,
    Charu
    Message was edited by:
            Charu Kulkarni
    "The transaction ID will be passed from the source application so we know what file to pick"

    Hi,
    You could make the scenario a little simple and avoid custom development if the logic can be put into scripts(out of XI).
    Say all the files are coming into a directory called D1.
    Here, you could use a script to arrange all these in an order (say ascending) and move the first file into another directory D2.
    The sender file adapter would poll this directory D2. The adapter can have a wild card character for the filename field now.
    Once the file is in XI, you could check this against the transactionId present(I am not sure how you get this though!), and determine whether to send a mail, or to send a file back.
    Here, I have assumed that there is somekind of order present in the files placed in the directory D1.
    Again, this is just a suggestion.. I might be wrong with all the assumptions.
    Regards,
    Smitha.

  • Acknowledgement from receiver file Adapter with out BPM

    Hi Gurus,
    I am trying to get Acknowledgement from Receiver file Adapter with out Using BPM.
    Here is the scenario. I am sending files from different Sender Adapters. There is only one target that is File Adapter. After each successfull and failure transaction I need an Acknowledgement that needs to trigger another receiver adapter and send the the file name and timestamp to that file.
    Hope this is a complicated scenario. Please help me.
    Thanks,
    Kevin

    from sap note 821267
    6. Acknowledgements
        * Q: Does the File Adapter support acknowledgements?
        * A: You need to distinguish system acknowledgements (indicating that a message has been received by the target system) and application acknowledgements (indicating that the message has been successfully processed by the application on the receiver side).
               The receiver of an XI message will only send an acknowledgement back to the sender if the sender has requested one. However, the File Adapter has no functionality that relies on the receipt of an acknowledgement, so it never requests one.
               On the other hand, if a File Adapter Receiver receives a request to send an acknowledgement, it will do so for a system acknowledgement request. Application acknowledgements are not supported at all as the File Receiver has no way to determine if the written file has been correctly processed by the back-end application, which is what a positive application acknowledgement would imply.
    this means that your requirement is ideally not possible without a BPM

  • Receiver file adapter - support for attachments

    Hi,
    Is it possible that the reciever file adapter can process a message with attachment and generate two files, one for the main payload and the other for the attachment?
    Thanks,
    Amol

    Amol,
    Only File Sender adapter is capable of handling attachments not the receiver.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/4b/a20c4cfea96b498b1e1af3f32f0670/frameset.htm
    Regards,
    Jai Shankar

  • XI30 File Adapter - check for (NOT) incoming file

    Hi!
    We use XI30 SPS15 and have the following challenge: We expect every
    week on a certain day a file coming from a customer. So far so good.
    But now we want to check whether such a file has really come within a
    given period of time and if not, we want to take some action (e.g.
    trigger Alert or s.th. like that).
    Business Background is: If the customer does not send the file or he
    sends it too late, we cannot bill him in time, thus increasing our DSO.
    Is there any mechanism within the XI to check things like these and to
    trigger an alert? I've read the File Adapter Documentation as well as
    the BPM documentation but I could not find any hint.
    Any help would be great. Thanx!
    Regards,
    Volker kolberg

    hi volker,
    this is not supported in standard but...
    you can do it very easily with standard ABAP job scheduling
    - you schedule a job (every week, day etc.)
    which starts a raport that send a RFC (or abap proxy call to the XI)
    - then the RFC starts a BPM and inside it triggers a
    java proxy that checks for a file
    - if the proxy finds the file then if copies it to some other folder (which is monitored by another flow)
    - if it doesn't find the file it triggers an error - sends mail or anything
    the only thing you need to code is a few lines in java
    to check the existance of a file + copying nothing else:)
    this is the easiest way I believe till now <= Sp15
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions">XI FAQ - Frequently Asked Questions</a>

  • File Adapter Acknowledgement in BPM

    Himadri,
    You cannot achieve this unfortunately
    Reason is that file adapter supports only Transport Acknowledgements. What this implies is that the BPM checks only if the message is sent from the BPE to the Adapter Engine Successfully. It does not check to see if the file is written in the target destination.
    Just try this, give an incorrect folder ( or something of this sort ) in the file adpater and try Transport Acknowledgement. Wrap this around an exception block. You will be surprised that the exception block is not called.
    Reason like i told is that the BPE thinks it is successful as the message has been passed to the adapter engine.!
    Regards
    Bhavesh

    Sandro,
    Thanks for that input. Actually tried the same on my XI box and what you have told is absolutely correct.
    Until the transport acknowledgement is not received for the first send step, the next send step will not be called! I seem to have forgotten something somewhere or my observation which I had given earlier was with respect to some othe scenario which am not able to recollect!
    Himadri~~ Apologies for the incorrect answer. Transport Ack's should do the trick for you like correct pointed by Sandro.
    Thanks,
    Regards
    Bhavesh

  • Faults generated by Oracle file adapter not reaching BPEL process

    Hi,
    I have a process that uses the Oracle file adapter to receive the contents of a file, and am suffering from a number of problems when it is not able to parse the source file.
    The process is initiated by a receive activity associated with the file adapter partnerline that has the create instance flag ticked.
    One problem is that if the file adapter encounters an error when reading the file, there is no record of anything happening from the BPEL Console. I presume this is because no instance of the process has been created as the error was encountered before invoking the process. The only record I have of a problem ever occuring is in the logfiles.
    To make matters worse, if you select the Delete files after successful retrieval, the source file is deleted even though an exception has been encountered. If you specify the Archive processed files options, it does not archive the file.
    So to summarise the problems:
    * there is no record of an attempt to read, or of a faulty read occurring when trying to read the file from the BPEL console when a faulty read does occurs.
    * no instance of the process is ever created, so it is not possible to implement a fault handler to send out a notification of the problem.
    * when a problem is encountered, the source file is deleted and not archived.
    I assume that this is a bug, so can anyone advise if there is a patch to address these problems?
    Thanks
    Toby

    Ok, so now I'm using a rejection handler to invoke a BPEL process, and have defined the inputVariable type to be rej:RejectionMessage and imported RejectionMessage.wsdl.
    The process is being invoked successfully, and I can see that the processes input contains data.
    So I am writing the opaque MessagePayload to a file successfully using a file adapter, and can see the file content that is written is as I would expect (it matches the file used as input that would have caused the fault - although the content is truncated).
    Now I want to modify the file adapter so that the file's filename is set to the RejectionId attribute of the BPEL process. However, I'm receiving the following message:
    xpath variable/expression expression "/ns2:RejectedMessage/@ns2:RejectionId" is empty at line 50, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns2:RejectedMessage/@ns2:RejectionId" is not empty.
    I can see from the console that the RejectionId is in fact populated, and the copy from the RejectionMessage's MessagePayload is completed ok.
    Does anyone know what's going on here?
    Thanks
    Toby

  • Receiver file adapter error for special char.

    I am using MTB in my receiver file adapter. I am getting a special character from source system at end of the string. How to resolve this type of error u2013 please advice.
    This error is not coming for every message.
    Error message:
    Column value xxxx   too long - must stop, probably configuration error in file adapter
    Thanks
    Vick

    Hi,
    Itu2019s basically IDOC to file scenario.
    This error is coming for name field.
    What I am thinking at this stage to do changes in MTB by define parameters like (NameA.enclosureConversion)

  • File adapter polls before the processing is finished in R3

    Hi,
    Polling in sender file adapter is set as 4 secs. The problem arises when more than one  files with same Service Order number are uploaded and the corresponding IDOCs are simultaneously received in R3 system. As one IDOC is already processing the Service Order, the other IDOC fails as the Service Order is already being processed.
    Kindly suggest if there is a way to resolve this issue.
    Regards
    Pravesh

    Hi,
      Check below link:
    File adapter should pick a single file at a time
    can file adapter pick files sequentially
    Amol
    Edited by: AMOL BHARTI on Apr 14, 2010 11:38 AM

  • Reciever file adapter configuration for Deep structure

    Hi Experts,
                     I have a idoc to file scenario in which i used a data type for file in below format:
    DT_Test
    -->Recordset(0.unbounded)
    >E21DPU1(0.unbounded)
    >field1
    >field2
    >E21DPU5(0.unbounded)
    >filed 3
    >filed 4
    >E21DP03(0.unbounded)
    >filed 5
    >filed 6
    Here DT_test is datatype name,Recordset is a structure name which contain E21DPU1, E21DPU5,E21DPO3 stucture inside it.Now,E21DPU5 and E21DPO3 structures are under E21DPU1.
    I am confused in creating content conversion parameters i.e what we have to mention in Recordset Stucture .
    I used E21DPU1,,E21DPU5,,E21DP03,* .should it work for deep structure.
    Thanks
    Deepak

    Hi,
    file adapter does not handle 2 level deep structures
    the easiest way to do it now is to go for abap or java mapping
    and create a line for each of the output lines and handle this in the file adapter
    so like <line> </line>
    <line>E21DPU1(0.unbounded) with fields </line>
    <line>E21DPU5(0.unbounded) with fields </line>
    <line> etc. </line>
    Regards,
    Michal Krawczyk

  • File Adapter problem for Fixed Length output file

    Hi There!,
    The following is my sample data format
    ABCD 2345 03Accounting Swissland
    ABCD 011234 1000Jack Gates 400000 03
    ABCD 021234 1001Bill Welch 400000 03
    In the first record has dept details:
    DummyText, Row identifier(not given in case of dept), Identifier, Deptno, Deptname, Location
    The second and third records are emp details:
    DummyText,Row identifier, Identifier,EmptNo,Emp Name, Manager, Salary, Deptno.
    Notice that the primary key is defined by the first three columns DummyText, Row identifier, Identifier.
    When I use Native Format Builder from File Adapter and scan the first three columns I get all three records (i.e dept and both employees). I deleted the second employee and proceeded to finish the configuration. But, the problem I face is that the key value shows as "ABCD% 011234" for both the employee records where as I would like it to show as "ABCD 011234" for the first record and "ABCD 021234" for the second record.
    How do I get around this problem?
    Moreover if I have a group or recurring records and not just one record recurring. I mean assuming I have the following:
    First row: Department
    Second row: Employee
    Thrid row: Manager
    Fourth row: Employee
    Fifth row: Manager
    How do I get this done?
    Does anyone have an idea where to find details of nxsd.
    Thanks in Advance.

    Hi Manoj
    Give the FCC parameter as
    RecordSet Structure = Header,,Detaillnes,,Detaillines2,*
    Header.endSeparator = 'nl'
    Header.fieldFixedLengths = field length
    Header.fieldFixedLengthType = char/byte
    Header.fieldNames = field1,field2,field3,.....
    Header.keyFieldValue = Header
    Detaillnes.endSeparator = 'nl'
    Detaillnes.fieldFixedLengths = field length
    Detaillnes.fieldFixedLengthType = char/byte
    Detaillnes.fieldNames = field1,field2,field3,.....
    Detaillnes.keyFieldValue = Detaillnes
    Detaillines2.endSeparator = 'nl'
    Detaillines2.fieldFixedLengths = field length
    Detaillines2.fieldFixedLengthType = char/byte
    Detaillines2.fieldNames = field1,field2,field3,.....
    Detaillines2.keyFieldValue = Detaillines2
    The keyFieldValue should be the Value which identifies your record either as Header/Detaillines/Detaillnes2.
    Regards
    Santhosh
    Message was edited by:
            Santhosh Kumar V

  • Need help for BPM Process Task - Looping

    Hi Folks,
        I need some info regarding Task Looping in a BPM Process.
    Is there any code sample which mentions how to perform task looping and setting the context appropriately.
    Thanks,
    Brian.

    Hi Brian,
    Please find the below link for Multiple Looping
    http://help.sap.com/saphelp_nwce72/helpdata/en/3d/786ec2dd1243c28aeffa4c1c70df25/content.htm
    Regards
    Srikanth

Maybe you are looking for