Passing files into BPEL processes

Hi,
I was wondering if it is possible to pass files of different types (.doc, .jpg etc.) into a BPEL process. If so, are there any documentation and/or examples showing how to do this?
Thanks

in 2.0.11, the only way to pass files to BPEL processes is to use base64 encoding.
we are looking at providing better support for binary attachment in the 10.1.3 Preview 1 release scheduled for March 05.
Best,
Edwin

Similar Messages

  • How to read values from Property file into BPEL process local variable?

    I would like to use a Property file with some parameters e.g.
    <myparm1>12345</myparm1>
    How can I read from a BPEL process such a Property file and assign it into e.g. local variable "intparm1"?
    Where (in which directory) should I put this XML Property file to have it always available for reading?
    Peter

    Hi,
    You can also use
    ora:readFile( ) function as follow :
    ora:readFile(xml file location (ex. "file:///D:\\SOA\\FileAdapters\\readFile\\test\\test.xml"),xsd file location (ex."file:///D:\\SOA\\FileAdapters\\readFile\\test\\test.xsd"))
    inside the assign activity and assign this to the variable you want.
    regards
    arababah
    Edited by: arababah on Aug 10, 2009 12:55 AM

  • How to Upload a File in Bpel Process using JSP

    I am trying to upload file in bpel process using front end as a Jsp.
    i create the jsp page and i am able to pass the value from jsp to bpel process.
    In bpel process i don't know how to pass or assign the specified file name into file adapter for reading the files.
    Please help me...
    Saravanan

    You don't assign the url of the file to it.
    To either get the data from the file into the bpel process you could use the url-parameter together with the ora:readFile function....or you could let your web-application upload the file to some location on the server...and on this location you could use the file-adapter together with the polling, to start your bpel process.

  • File Adapter BPEL Process getting switched off

    The file adapter BPEL process reads a csv file which has a series of records in itfrom /xfer/chroot/data/aramex/accountUpdate/files. In between reading the files, the BPEL process gets switched off. The below snippet is the error we found in the domain.log. Anybody can you please suggest what to do?
    <2010-11-25 16:22:28,025> <WARN> <PreActivation.collaxa.cube.ws> <File Adapter::Outbound>
    java.io.FileNotFoundException: /xfer/chroot/data/aramex/accountUpdate/files/VFQ-251120101_1000.csv (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:106)
    at oracle.tip.adapter.file.FileUtil.copyFile(FileUtil.java:947)
    at oracle.tip.adapter.file.inbound.ProcessWork.defaultArchive(ProcessWork.java:2341)
    at oracle.tip.adapter.file.inbound.ProcessWork.doneProcessing(ProcessWork.java:614)
    at oracle.tip.adapter.file.inbound.ProcessWork.processMessages(ProcessWork.java:445)
    at oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:227)
    at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
    at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:280)
    at java.lang.Thread.run(Thread.java:619)
    <2010-11-25 16:22:28,025> <INFO> <PreActivation.collaxa.cube.ws> <File Adapter::Outbound> Processer thread calling onFatalError with exception /xfer/chroot/data/aramex/accountUpdate/files/VFQ-251120101_1000.csv (No such file or directory)
    <2010-11-25 16:22:28,025> <FATAL> <PreActivation.collaxa.cube.activation> <AdapterFramework::Inbound> [Read_ptt::Read(root)]Resource Adapter requested Process shutdown!
    <2010-11-25 16:22:28,025> <INFO> <PreActivation.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - performing endpointDeactivation for portType=Read_ptt, operation=Read
    <2010-11-25 16:22:28,025> <INFO> <PreActivation.collaxa.cube.ws> <File Adapter::Outbound> Endpoint De-activation called in adapter for endpoint : /xfer/chroot/data/aramex/accountUpdate/files/
    <2010-11-25 16:22:28,095> <WARN> <PreActivation.collaxa.cube.ws> <File Adapter::Outbound> ProcessWork::Delete failed, the operation will be retried for max of [2] times
    <2010-11-25 16:22:28,095> <WARN> <PreActivation.collaxa.cube.ws> <File Adapter::Outbound>
    ORABPEL-11042
    File deletion failed.
    File : /xfer/chroot/data/aramex/accountUpdate/files/VFQ-251120101_1000.csv as it does not exist. could not be deleted.
    Delete the file and restart server. Contact oracle support if error is not fixable.
    at oracle.tip.adapter.file.FileUtil.deleteFile(FileUtil.java:279)
    at oracle.tip.adapter.file.FileUtil.deleteFile(FileUtil.java:177)
    at oracle.tip.adapter.file.FileAgent.deleteFile(FileAgent.java:223)
    at oracle.tip.adapter.file.inbound.FileSource.deleteFile(FileSource.java:245)
    at oracle.tip.adapter.file.inbound.ProcessWork.doneProcessing(ProcessWork.java:655)
    at oracle.tip.adapter.file.inbound.ProcessWork.processMessages(ProcessWork.java:445)
    at oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:227)
    at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
    at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:280)
    at java.lang.Thread.run(Thread.java:619)
    <2010-11-25 16:22:28,315> <ERROR> <PreActivation.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube delivery": Process state off.
    The process class "BulkAccountUpdateFileConsumer" (revision "1.0" ) has not been turned on. No operations on the process or any instances belonging to the process may be performed if the process is off.
    Please consult your administrator if this process has been turned off inadvertently.

    This patch is not for 10.1.3.1.
    I have provided a response to on the following post
    BPEL Process Going into Dead State Automatically.
    cheers
    James

  • Tracking only Error records from Batch file in BPEL process

    Hi,
    I am reading file of 1000 records from file adaptor and debatching into two instance of each 500 records. And using invoke insert operation writing into database.
    The first batch of 500 records processed successfully and written into database custom table.
    The second set of 500 records created warning instance with some error message and nothing is written to database from second set.
    The error is due to some wrong data in one row of second set of 500 records. Due to that single row error, the remaining 499 got rejected and nothing from second set is inserted into database.
    Do we have control on that only one record of second set(500records) and BPEL process should write remaining 499 records to database.
    Please help me on this issue. It would be great help. Thanks inadvance.
    Waiting for your replies.
    Thank you.
    Edited by: PraveenT2 on May 13, 2009 4:27 AM

    Hi james,
    Below is the schema file using for reading file
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    targetNamespace="http://TargetNamespace.com/readService"
    xmlns:tns="http://TargetNamespace.com/readService"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified" nxsd:encoding="ASCII" nxsd:stream="chars" nxsd:version="NXSD"
    *nxsd:uniqueMessageSeparator="${eol}">*
    <xsd:element name="Root-Element">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="root" minOccurs="1" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="C1" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," nxsd:quotedBy="&quot;">
    </xsd:element>
    <xsd:element name="C2" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," nxsd:quotedBy="&quot;">
    </xsd:element>
    <xsd:element name="C3" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," nxsd:quotedBy="&quot;">
    </xsd:element>
    <xsd:element name="C4" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;">
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    *and in bpel .xml file edited property for rejected file*
    activationAgent
    className="oracle.tip.adapter.fw.agent.jca.JCAActivationAgent"
    partnerLink="readService">
    <property name="rejectedMessageHandlers">
    file://C:/Initiatives/Employee/RejectedRecords
    </property>
    </activationAgent>
    The Issue i am facing is when i provide the datafile with all invalid values then process didn't create instance but made entry of all invalid record into directory path specified in bpel.xml while setting rejectMessageHandler property.
    But when i provide mix of valid and invalid records of file, then bpel process created instance with warning status.
    the file i was provided is :
    10,veer,10000,12
    20,james,2000,10
    Veer|name|Test
    Veer|name|Test
    Veer|name|Test
    10,file,10000,12
    20,error,2000,10
    I was expecting 1st,2nd,6th and 7th row should be processes and invalid 3rd,4th and 5th rows should get written into rejectedMessageHandlers folder set at bpel.xml. But instance has created and treated whole invalid rows + 10 as first column for 6th row as pasted below.
    <ns0:eno>Veer|name|Test
    Veer|name|Test
    Veer|name|Test
    10
    </ns0:eno>
    <ns0:ename>file</ns0:ename>
    <ns0:sal>10000</ns0:sal>
    <ns0:dept>12</ns0:dept>
    Nothing has written into rejectedMessageHandlers folder set at bpel.xml.
    Can you please help me on this issue. Thank you very much.
    Edited by: PraveenT2 on May 13, 2009 10:33 PM
    Edited by: PraveenT2 on May 13, 2009 10:34 PM
    Edited by: PraveenT2 on May 13, 2009 10:48 PM

  • XSD validation for incoming data into BPEL process

    Please suggest how to validate XSD incoming data into BPEL process.
    I just wanted to verify the data before entering into BPEL

    Hi,
    I guess i am replying very late.
    In BPEL 2.0 we have an activity called "Validate" which can do the XSD validations.
    "Lets Learn Oracle SOA: Validate XML schema In BPEL"
    Regards,
    Chinmaya

  • ORABPEL-11811 - Error while calling PL/Sql API Into BPEL Process

    Hi,
    I have created a BPEL Process for creating a Order in Oracle using the synchronous process.
    I have followed the below steps.
    1) Created a Stored procedure using the Order Creation API's by passing Recard Type IN parameters.
    2) Created Synchronous BPEL Process and called the above Procedure using APPS Adapter.
    3) Created a xsd file and mapped the input and output parameter values using Transform Activity.
    After the above steps, when I try to run the BPEL process I am getting the below error:
    An error occurred while preparing and executing the APPS.PROC_PROC_NAME API. Cause: java.sql.SQLException: ORA-06531: Reference to uninitialized collection
    ORA-06512: at "APPS.PROC_PROC_NAME ", line 149
    ORA-06512: at line 1
    [Caused by: ORA-06531: Reference to uninitialized collection
    ORA-06512: at "APPS.PROC_NAME", line 149
    ORA-06512: at line 1
    ; nested exception is:
    ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the APPS.PROC_PROC_NAME API. Cause: java.sql.SQLException: ORA-06531: Reference to uninitialized collection.
    Can anybody help in resolving the error?
    Thanks,
    Mastanvali.

    Here is the API Code..
    CREATE OR REPLACE PROCEDURE XXMAST_PRC(
    arg_in_p_header_rec           IN HeaderObject,
    arg_in_p_line_tbl          IN arrayLines,
    arg_out_x_return_status          OUT VARCHAR2,
    arg_out_order_number          OUT NUMBER,
    arg_out_header_id          OUT NUMBER,
    arg_out_flow_status_code     OUT VARCHAR2
    ) AS
         p_api_version_number          NUMBER;
         x_return_status      VARCHAR2(2);
         x_msg_count      NUMBER;
         x_msg_data      VARCHAR2(2000);
         v_msg_data               VARCHAR2(8000);
         v_msg_index_out               NUMBER(10);
         p_header_rec      OE_ORDER_PUB.HEADER_REC_TYPE;
         p_old_header_rec      OE_ORDER_PUB.HEADER_REC_TYPE;
         p_header_val_rec      OE_ORDER_PUB.Header_Val_Rec_Type;
         p_old_header_val_rec      OE_ORDER_PUB.Header_Val_Rec_Type;
         p_Header_Adj_tbl      OE_ORDER_PUB.Header_Adj_Tbl_Type;
         p_old_Header_Adj_tbl      OE_ORDER_PUB.Header_Adj_Tbl_Type;
         p_Header_Adj_val_tbl      OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
         p_old_Header_Adj_val_tbl      OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
         p_Header_price_Att_tbl      OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
         p_old_Header_Price_Att_tbl      OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
         p_Header_Adj_Att_tbl      OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
         p_old_Header_Adj_Att_tbl      OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
         p_Header_Adj_Assoc_tbl      OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
         p_old_Header_Adj_Assoc_tbl      OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
         p_Header_Scredit_tbl      OE_ORDER_PUB.Header_Scredit_Tbl_Type;
         p_old_Header_Scredit_tbl      OE_ORDER_PUB.Header_Scredit_Tbl_Type;
         p_Header_Scredit_val_tbl      OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
         p_old_Header_Scredit_val_tbl      OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
         p_line_tbl      OE_ORDER_PUB.Line_Tbl_Type;
         p_old_line_tbl      OE_ORDER_PUB.Line_Tbl_Type;
         p_line_val_tbl      OE_ORDER_PUB.Line_Val_Tbl_Type;
         p_old_line_val_tbl      OE_ORDER_PUB.Line_Val_Tbl_Type;
         p_Line_Adj_tbl      OE_ORDER_PUB.Line_Adj_Tbl_Type;
         p_old_Line_Adj_tbl      OE_ORDER_PUB.Line_Adj_Tbl_Type;
         p_Line_Adj_val_tbl      OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
         p_old_Line_Adj_val_tbl      OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
         p_Line_price_Att_tbl      OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
         p_old_Line_Price_Att_tbl      OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
         p_Line_Adj_Att_tbl      OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
         p_old_Line_Adj_Att_tbl      OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
         p_Line_Adj_Assoc_tbl      OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
         p_old_Line_Adj_Assoc_tbl      OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
         p_Line_Scredit_tbl      OE_ORDER_PUB.Line_Scredit_Tbl_Type;
         p_old_Line_Scredit_tbl      OE_ORDER_PUB.Line_Scredit_Tbl_Type;
         p_Line_Scredit_val_tbl      OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
         p_old_Line_Scredit_val_tbl      OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
         p_Lot_Serial_tbl      OE_ORDER_PUB.Lot_Serial_Tbl_Type;
         p_old_Lot_Serial_tbl      OE_ORDER_PUB.Lot_Serial_Tbl_Type;
         p_Lot_Serial_val_tbl      OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
         p_old_Lot_Serial_val_tbl      OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
         p_action_request_tbl      OE_ORDER_PUB.Request_Tbl_Type;
         x_header_rec OE_ORDER_PUB.Header_Rec_Type;
         x_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type;
         x_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type;
         x_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
         x_Header_price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
         x_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
         x_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
         x_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type;
         x_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
         x_line_tbl OE_ORDER_PUB.Line_Tbl_Type;
         x_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type;
         x_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type;
         x_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
         x_Line_price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
         x_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
         x_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
         x_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type;
         x_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
         x_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type;
         x_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
         x_action_request_tbl     OE_ORDER_PUB.Request_Tbl_Type;
         icount                    NUMBER :=0;
    BEGIN
         fnd_global.apps_initialize(1318,21623,660);
         fnd_client_info.set_org_context(204);
         p_header_rec:= OE_ORDER_PUB.G_MISS_HEADER_REC;
         SELECT OE_ORDER_HEADERS_S.NEXTVAL INTO p_header_rec.header_id FROM DUAL;
         dbms_output.put_line('Header ID          = '|| p_header_rec.header_id);
         p_api_version_number := 1.0;
    ------------------------------------------header code-----------------------------------------------------------------------
              p_header_rec.order_type_id          := arg_in_p_header_rec.order_type_id;
              p_header_rec.sold_to_org_id          := arg_in_p_header_rec.sold_to_org_id;
              p_header_rec.ship_to_org_id          := arg_in_p_header_rec.ship_to_org_id;
              p_header_rec.transactional_curr_code:= arg_in_p_header_rec.transactional_curr_code;
              p_header_rec.order_source_id          := arg_in_p_header_rec.order_source_id;
              p_header_rec.org_id               := arg_in_p_header_rec.org_id;
              p_header_rec.ship_from_org_id          := arg_in_p_header_rec.ship_from_org_id;
              p_header_rec.payment_term_id           := arg_in_p_header_rec.payment_term_id;
              p_header_rec.price_list_id          := 1000;
              p_header_rec.freight_terms_code          := 'Due';     -- Prepay and Add
              p_header_rec.operation               := OE_GLOBALS.G_OPR_CREATE;
              p_header_rec.pricing_date          := SYSDATE;
              p_header_rec.creation_date          := SYSDATE;
              p_header_rec.booked_flag          := 'N';
              p_header_rec.created_by               := 1318;
              p_header_rec.last_updated_by          := 1318;
              p_header_rec.last_update_date          := SYSDATE;
              p_header_rec.invoice_to_org_id          := 1424;
              p_header_rec.version_number          := 1;
              p_header_rec.open_flag               := 'Y';
              p_header_rec.ordered_date          := SYSDATE;
              p_header_rec.flow_status_code          := 'ENTERED';
              p_header_rec.tax_exempt_flag          := 'S';
              p_header_rec.salesrep_id          := -3;
    --------------------------------------------LINES CODE------------------------------------------------------------
         icount := 0;
         for icount in 1 .. arg_in_p_line_tbl.count loop
              p_line_tbl(icount) := Oe_Order_Pub.G_MISS_LINE_REC;
              SELECT OE_ORDER_LINES_S.NEXTVAL INTO p_line_tbl(icount).line_id FROM DUAL;
              dbms_output.put_line('Line ID               = '|| p_line_tbl(icount).line_id);
         p_line_tbl(icount).inventory_item_id          := arg_in_p_line_tbl(icount).inventory_item_id;
         p_line_tbl(icount).ordered_quantity          := arg_in_p_line_tbl(icount).ordered_quantity;
         p_line_tbl(icount).pricing_quantity          := arg_in_p_line_tbl(icount).pricing_quantity;
         p_line_tbl(icount).line_type_id               := arg_in_p_line_tbl(icount).line_type_id;
         p_line_tbl(icount).line_number          := icount;
         p_line_tbl(icount).shipment_number          := arg_in_p_line_tbl(icount).shipment_number;
         p_line_tbl(icount).ship_to_org_id          := arg_in_p_line_tbl(icount).ship_to_org_id;
         p_line_tbl(icount).sold_to_org_id          := arg_in_p_line_tbl(icount).sold_to_org_id;
         p_line_tbl(icount).salesrep_id          := arg_in_p_line_tbl(icount).salesrep_id;
         p_line_tbl(icount).payment_term_id          := arg_in_p_line_tbl(icount).payment_term_id;
              p_line_tbl(icount).price_list_id          := 1000;
              p_line_tbl(icount).operation               := OE_GLOBALS.G_OPR_CREATE;
              p_line_tbl(icount).open_flag               := 'Y';
              p_line_tbl(icount).booked_flag               := 'N';
              p_line_tbl(icount).header_id               := p_header_rec.header_id;
              p_line_tbl(icount).line_category_code          := 'ORDER';
              p_line_tbl(icount).order_quantity_uom          :='Ea';
              p_line_tbl(icount).request_date               := SYSDATE;
              p_line_tbl(icount).schedule_ship_date          := SYSDATE;
              p_line_tbl(icount).ship_from_org_id          := 204;
              p_line_tbl(icount).flow_status_code          := 'ENTERED';
              p_line_tbl(icount).ship_to_customer_id          := 1290;
              p_line_tbl(icount).invoice_to_org_id          := 1424;
              p_line_tbl(icount).tax_exempt_flag          := 'S';
              p_line_tbl(icount).tax_date               := '02-Mar-2005';
              p_line_tbl(icount).tax_code               := 'Location';
              SELECT OE_PRICE_ADJUSTMENTS_S.NEXTVAL INTO p_Line_Adj_tbl(icount).price_adjustment_id FROM DUAL;
              dbms_output.put_line('Price Adjustment ID     = '|| p_Line_Adj_tbl(icount).price_adjustment_id);
              p_Line_Adj_tbl(icount).created_by          := 1318;
              p_Line_Adj_tbl(icount).header_id          := p_header_rec.header_id;
              p_Line_Adj_tbl(icount).line_id               := p_line_tbl(icount).line_id;
              p_Line_Adj_tbl(icount).percent               := 10;
              p_Line_Adj_tbl(icount).operation          := OE_GLOBALS.G_OPR_CREATE;
              p_Line_Adj_tbl(icount).list_header_id          := 8988;
              p_Line_Adj_tbl(icount).list_line_id          := 16596;
              p_Line_Adj_tbl(icount).list_line_type_code     := 'DIS';
              p_Line_Adj_tbl(icount).arithmetic_operator     := 'AMT';
              p_Line_Adj_tbl(icount).updated_flag          := 'Y';
              p_Line_Adj_tbl(icount).update_allowed          := 'Y';
              p_Line_Adj_tbl(icount).applied_flag          := 'Y';
              p_Line_Adj_tbl(icount).automatic_flag          := 'N';
              p_Line_Adj_tbl(icount).OPERAND               := 10;
         end loop;
         oe_msg_pub.initialize;
         oe_order_pub.process_order
              ( p_api_version_number =>      p_api_version_number
              , p_init_msg_list =>      FND_API.G_FALSE
              , p_return_values =>      FND_API.G_FALSE
              , p_action_commit =>      FND_API.G_FALSE
              , x_return_status =>      x_return_status
              , x_msg_count =>      x_msg_count
              , x_msg_data =>      x_msg_data
              , p_header_rec =>     p_header_rec
              , p_old_header_rec =>     p_old_header_rec
              , p_header_val_rec =>     p_header_val_rec
              , p_old_header_val_rec =>     p_old_header_val_rec
              , p_Header_Adj_tbl =>     p_Header_Adj_tbl
              , p_old_Header_Adj_tbl =>     p_old_Header_Adj_tbl
              , p_Header_Adj_val_tbl =>     p_Header_Adj_val_tbl
              , p_old_Header_Adj_val_tbl =>     p_old_Header_Adj_val_tbl
              , p_Header_price_Att_tbl =>     p_Header_price_Att_tbl
              , p_old_Header_Price_Att_tbl =>     p_old_Header_Price_Att_tbl
              , p_Header_Adj_Att_tbl =>     p_Header_Adj_Att_tbl
              , p_old_Header_Adj_Att_tbl =>      p_old_Header_Adj_Att_tbl
              , p_Header_Adj_Assoc_tbl =>     p_Header_Adj_Assoc_tbl
              , p_old_Header_Adj_Assoc_tbl =>      p_old_Header_Adj_Assoc_tbl
              , p_Header_Scredit_tbl =>     p_Header_Scredit_tbl
              , p_old_Header_Scredit_tbl =>     p_old_Header_Scredit_tbl
              , p_Header_Scredit_val_tbl =>     p_Header_Scredit_val_tbl
              , p_old_Header_Scredit_val_tbl =>     p_old_Header_Scredit_val_tbl
              , p_line_tbl =>     p_line_tbl
              , p_old_line_tbl =>     p_old_line_tbl
              , p_line_val_tbl =>     p_line_val_tbl
              , p_old_line_val_tbl =>     p_old_line_val_tbl
              , p_Line_Adj_tbl =>     p_Line_Adj_tbl
              , p_old_Line_Adj_tbl =>     p_old_Line_Adj_tbl
              , p_Line_Adj_val_tbl =>     p_Line_Adj_val_tbl
              , p_old_Line_Adj_val_tbl =>     p_old_Line_Adj_val_tbl
              , p_Line_price_Att_tbl =>     p_Line_price_Att_tbl
              , p_old_Line_Price_Att_tbl =>     p_old_Line_Price_Att_tbl
              , p_Line_Adj_Att_tbl =>     p_Line_Adj_Att_tbl
              , p_old_Line_Adj_Att_tbl =>      p_old_Line_Adj_Att_tbl
              , p_Line_Adj_Assoc_tbl =>     p_Line_Adj_Assoc_tbl
              , p_old_Line_Adj_Assoc_tbl =>      p_old_Line_Adj_Assoc_tbl
              , p_Line_Scredit_tbl =>     p_Line_Scredit_tbl
              , p_old_Line_Scredit_tbl =>     p_old_Line_Scredit_tbl
              , p_Line_Scredit_val_tbl =>     p_Line_Scredit_val_tbl
              , p_old_Line_Scredit_val_tbl =>     p_old_Line_Scredit_val_tbl
              , p_Lot_Serial_tbl =>     p_Lot_Serial_tbl
              , p_old_Lot_Serial_tbl =>     p_old_Lot_Serial_tbl
              , p_Lot_Serial_val_tbl =>     p_Lot_Serial_val_tbl
              , p_old_Lot_Serial_val_tbl =>     p_old_Lot_Serial_val_tbl
              , p_action_request_tbl =>     p_action_request_tbl
              , x_header_rec =>      x_header_rec
              , x_header_val_rec =>      x_header_val_rec
              , x_Header_Adj_tbl =>      x_Header_Adj_tbl
              , x_Header_Adj_val_tbl =>      x_Header_Adj_val_tbl
              , x_Header_price_Att_tbl =>      x_Header_price_Att_tbl
              , x_Header_Adj_Att_tbl =>      x_Header_Adj_Att_tbl
              , x_Header_Adj_Assoc_tbl =>      x_Header_Adj_Assoc_tbl
              , x_Header_Scredit_tbl =>      x_Header_Scredit_tbl
              , x_Header_Scredit_val_tbl =>      x_Header_Scredit_val_tbl
              , x_line_tbl =>      x_line_tbl
              , x_line_val_tbl =>      x_line_val_tbl
              , x_Line_Adj_tbl =>      x_Line_Adj_tbl
              , x_Line_Adj_val_tbl =>      x_Line_Adj_val_tbl
              , x_Line_price_Att_tbl =>      x_Line_price_Att_tbl
              , x_Line_Adj_Att_tbl =>      x_Line_Adj_Att_tbl
              , x_Line_Adj_Assoc_tbl =>      x_Line_Adj_Assoc_tbl
              , x_Line_Scredit_tbl =>      x_Line_Scredit_tbl
              , x_Line_Scredit_val_tbl =>      x_Line_Scredit_val_tbl
              , x_Lot_Serial_tbl =>      x_Lot_Serial_tbl
              , x_Lot_Serial_val_tbl =>      x_Lot_Serial_val_tbl
              , x_action_request_tbl     =>      x_action_request_tbl
         IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
              COMMIT;
         dbms_output.put_line('Return Status - '|| SUBSTR (x_return_status,1,255));
         dbms_output.put_line('------------------------------------');
         dbms_output.put_line('Order Number ==== '|| x_header_rec.order_number);
         dbms_output.put_line('------------------------------------');
              arg_out_x_return_status := x_return_status;
              arg_out_order_number          := x_header_rec.order_number;
              arg_out_header_id          := p_header_rec.header_id;
              arg_out_flow_status_code     := p_header_rec.flow_status_code;
         ELSE
              dbms_output.put_line('Return Status = '|| SUBSTR (x_return_status,1,255));
              dbms_output.put_line('Msg Count = '|| TO_CHAR(x_msg_count));
              dbms_output.put_line('Msg Data = '|| SUBSTR (x_msg_data,1,255));
              IF x_msg_count >1 THEN
                   FOR I IN 1..x_msg_count LOOP
                        Oe_Msg_Pub.get(
                             p_msg_index           => i
                             ,p_encoded           => Fnd_Api.G_FALSE
                             ,p_data           => v_msg_data
                             ,p_msg_index_out      => v_msg_index_out
                        DBMS_OUTPUT.PUT_LINE('v_msg_index_out '|| v_msg_index_out);
                        DBMS_OUTPUT.PUT_LINE('v_msg_data '|| v_msg_data);
                   END LOOP;
              END IF;
         END IF;
    END;
    /

  • Reading a properties file from BPEL Process (jar)

    Hello,
    I've created a .jar in which i have various classes and a xml file where i keep certain properties.
    I have a BPEL Process in which i've embedded java code to access the classes in the jar.
    I've created a folder in <ORACLE_HOME>/MyLibrary and added the jar. After, i've included this path to the domain.xml located in <ORACLE_HOME>/soasuite/bpel/domains/default/config into the property: "bpelcClasspath".
    When i try to run the process, i get a "<BPELExecution::BPELProcess1> executing <exec> at line 251
    java.lang.NullPointerException
         at java.util.Properties.loadFromXML(Properties.java:700)
         at com.gepe.ldap.LDAPConfiguration.readConfig(LDAPConfiguration.java:26)".
    Apparently the properties file is not being found, am i correct?
    How can i solve this?
    Thank's in advance,
    César

    Put your class files and proerties files here:
    $ORACLE_HOME/bpel/system/classes
    marc
    http://orasoa.blogspot.com

  • How to read values from Property XMLfile into BPEL process local variable?

    I would like to use a Property file with some parameters e.g.
    <myparm1>
    12345
    </myparm1>
    How can I read from a BPEL process such a Property XML text file and assign it into e.g. local variable "intparm1"?
    Where (in which directory) should I put this XML Property file to have it always available for reading?
    Peter

    Hi,
    You can also use
    ora:readFile( ) function as follow :
    ora:readFile(xml file location (ex. "file:///D:\\SOA\\FileAdapters\\readFile\\test\\test.xml"),xsd file location (ex."file:///D:\\SOA\\FileAdapters\\readFile\\test\\test.xsd"))
    inside the assign activity and assign this to the variable you want.
    regards
    arababah
    Edited by: arababah on Aug 10, 2009 12:55 AM

  • How to design multiple file polling BPEL process?

    Hi all,
    I am trying to solve/design the following in BPEL process:
    - The integration process flow I am trying to design is an interaction b/n system A (FTP server), an Integration platform and system B.
    - The integration platform will poll files from an internal FTP server. It has 2 Time files (“Time1” and “Time2”) alternatives to poll from the FTP server. It will then transform the message/information inside the files (time information) to an internal XML format. At the end it shall send the message to system B.
    - The information inside the files is identical. The reason to have 2 files with identical information is for redundancy. The integration-platform shall only poll file “TIME1” as long as the conditions are met. If the conditions are not met, then it polls file “Time2”.
    Normal succeeded scenario:
    1- The integration platform polls the latest “Time1” file from the internal FTP server. The polling is done every 15th minute.
    2- The integration platform logs to BAM and reports that the file is received.
    3- The platform then converts the message to an internal format.
    4- The platform sends the converted message/time information to system B.
    5 - The use-case ends.
    Not normal scenario:
    1- The platform cannot get/receive file “Time1” file.
    - The platform logs to BAM and reports that the file could not be received.
    - The platform polls file “Time2” from the FTP server and it does the same normal scenario as above. The use case ends.
    2 - Time message/information from the Time1 file has not full information (less than 24 rows). The file is supposed to have 24 rows (for 24 hours).
    - The platform logs to BAM and reports that there is missing information on the message.
    - The platform gets/polls instead the “Time2” file from the FTP server and it does the normal scenario.
    - The use case ends.
    3- The platform can find/get neither file “Time1” nor “Time2”.
    - The platform alarms to BAM that it could not get/find the files.
    ** I am considering either the pick activity or the switch activity solution. Does any one of you have an idea how to design this in oracle BPEL process?
    Thanks.

    Not sure I understand your use case completly so if I'm off track I apploigise.
    I think there are 3 ways to solve this. The 3rd may be closest to what you are looking for.
    1. Have 2 processes that read into a common area, e.g. database where you can compare. From there you can choose which file to pick. This is high leve but I think this would be dificult to implement.
    2. Implement a combination of a rejectedMessage handler and error processing witn the BPEL process itself. The rejecte message handler can call another BPEL process if the time1 file is in a invalid state. This process will then read the time2 file. The issue with this is that the rejecte message handler will only get invoked when the file doesn't conform to the schema.
    3. Use the quarts scheduler whcih invokes a BPEL process every 15 miniutes. Using the file adapter to perform a synchronous read to read time1, analyse it, if it fails read time2 using synchronous read. Then perform the approprate action id this fails.
    hope this give some ideas.
    cheers
    James

  • How to set input/output "use" attribute in the WSDL file of BPEL process?

    Hello,
    I have a BPEL process that I want to deploy it as an RPC web service. I want to access it from a Java module (via an automatic generated Java stub from the WSDL file exposed by the BPEL process).
    I wrote manually the corresponding WSDL file for my BPEL process, where I stipulated for the operations exposed by my process ( in <soap:binding> tag) the value of the attribute "style" to "rpc". Also, for each <input> and <output> of the operations (inside the <operation> tag), I set manually the attributes "use" to the values "encoded". Something like this:
    <operation name="getCustomers">
    <soap:operation style="rpc" soapAction="getCustomers"/>
    <input>
    <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="Trial"/>
    </input>
    <output>
    <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="Trial"/>
    </output>
    </operation>
    The issue is that, when the BPEL process is built and deployed, the WSDL file generated automatically by BPEL (based on the one manually writen) set the values of the "use" attributes to "literal". This is what is generated:
    <operation name="getCustomers">
    <soap:operation style="rpc" soapAction="getCustomers" />
    <input>
    <soap:body use="literal" namespace="http://acm.org/samples" />
    </input>
    <output>
    <soap:body use="literal" namespace="http://acm.org/samples" />
    </output>
    </operation>
    Is there any chance to keep the original values (written by hand) for the "use attributes?
    Many thanks in advance!
    Regards,
    Marinel

    I am not sure I understand your question. If you want all your BPEL service to be rpc still by default, you can change the templates: C:\eclipse\plugins\bpelz_0.9.XXX\templates.
    The BPEL PM engine support both style of invocation.
    I hope this helps. -Edwin

  • XML input into BPEL Process

    Hi,
    I am trying to create a BPEL process which receives XML input and then uses this input to insert data into the database.
    I have a stored procedure which will accept the input variables and do the insert.
    My XML looks like below:
    <Acc_type>
    <code> ABC </code>
    <name> Savings Account </name>
    </Acc_type>
    My stored Procedure has to input variables - code and name. I have changed the Receive activities, Process Request to include 2 inputs - code and name.
    I am not sure what changes need to be made to specify that the input will be in XML and also how to map the XML to the variables.
    Also, is it possible to use the same format for the XML as used when you initiate a BPEL Process and select XML Source? If I do this will I still need to make other changes?
    Thanks...

    Hi,
    I have tried implementing the ora:parseEscapedXML function, I have used the following expression to copy the data in the CODE node to my variable also called CODE.
    ora:parseEscapedXML(bpws:getVariableData('inputVariable','payload','/client:TestXML2ProcessRequest/client:input','/Acc_Type/code'))
    I get the following error message:
    ORABPEL-09500 XPath expression failed to execute. Error while processing xpath expression, the expression is "ora:parseEscapedXML(bpws:getVariableData('inputVariable','payload','/client:TestXML2ProcessRequest/client:input','//Acc_Type/code'))", the reason is FOTY0001: type error. Please verify the xpath query.
    I am not sure if the format of my expression is correct especially - '/Acc_Type/code'
    Please help...

  • How to get the input payload passed to the BPEL Process using java.

    Hi all,
    I am working on an application in which, if some fault occurs in the flow I need to insert the input payload that is being sent to the BPEL process into a Queue using Java. I have gone through the FaultHandling framework and failed to find the method by which we can get the input payload. Can someone kindly help me in getting the input payload. using the java.
    Regards

    Hi,
    Use method getVariableData with your input variable.
    Object getVariableData(String name, String part, String query)
    For example: getVariableData("input", "payload", "/");
    http://docs.oracle.com/cd/E17904_01/integration.1111/e10224/bp_java.htm
    Cheers,
    Vlad

  • How to invoke a WADL file from BPEL process

    Hi,
    We have requirement where our participating applications would provide us a WADL file(Restful interface) to invoke their webservice.
    We need to invoke the WADL file (thus posting to their urls) from our BPEL process.
    PLease let me know on how this can be done.
    Thanks in advance!!!

    Hi,
    I have actually used http bindings and invoked some restful services and was successful in doing so.
    But if I was wondering if there is any other way of actually invoking the WADL files, like we do the WSDL files.
    Also , there are some places where I have to send one parameter through the URL and rest through the message that has to be posted.

  • How to eliminate spaces while reading a file in BPEL Process

    Hi All,
    How to eliminate space when reading a file which of fixedlength and inserting into database.
    Inserting some of columns sucessfully but there is a column where there is a space n front the value, how to eliminate the that space.
    I have a custom XSD and using out in the process. How to resolve this issue to get all rows sucessfully inserted into the database.
    Anyone hod gone through this kind of functionality.
    Regards,
    CH

    Hi,
    try to use XPath functions like 'normalize-space()', 'right-trim()', 'left-trim()' in your transformation.
    Regards,
    Martin.

Maybe you are looking for

  • Made an avi, but it wont play :(

    Hi! I have modified jpegstomovie to create a .mov file OR an .avi file. While I have seemingly gotten through all of the compile errors, and runtime errors, my outputted avi file does not play. instead, it opens up in windows media player, and window

  • Very Urgent::Compression of Cube affecting other Job in Batch

    Hi All, I have started compression of cube for 5 requests.But all the other jobs like delete overlapping requests, ODS activation, drop index, create index, roll up that started after compression job, are taking unusually more time in daily process c

  • Alternate sort in interactive report

    Hi, I have several interactive reports where I need to enable sort on a column where the sort order is "custom" (I mean, not alphabetical nor numeric). In other words, I want to display one column, but sort using another one when I select a sort icon

  • Windows does not recognize my iphone name, but itunes does

    This is a reqpost of another forum on diff site, but is the exact same problem i have~ After the IOS5 update~  and and updating two phones on same computer~ I have windows 7 x64bit, and the problem is it does not recognize my iPhone's name anymore..

  • Error while creating views

    Hi all, Im creating a view with 2 CO tables(COSP &COSS),i gv join conditions as OBJNR,WRTTP,KSTAR,MANDT. after this i selected tab View/Fields then i selected my table COSP,wherein i selected the other fields which i want,then i saved and did a check