Line Split Interface to feed Integration Process - Performance Issues

Hi All
We have a scenario whereby we receive an XML message from a 3rd Party through an exposed SOAP Adapter service. The XML Message has multiple lines that need to be split up and processed as individual messages. We need to create a Line Splitting interface in order to achieve this. The Line Split interface would feed different Integration Processes depending on a specific payload value. The Integration Processes would then perform certain specific logic & Rules as well as transformations to specific message formats (e.g. idoc, xml, flatfile). The Line Split interface also maps from an xml structure that caters for multiple lines, to a flatened xml structure which only contains one line. The uper range of a message we may need to split into individual messages is 30 000 lines.
We first used an Interface Map and used SplitByValue to achieve this, however we ran into the constraint that we could not feed the output split messages to an Integration Process - you can only feed it to Adapters that reside on the J2EE engine.
We then decided to build a seprate Integration Process thats sole purpose was to split the message and route the indvidual messages to other integration processes to perform the logic, business rules and specific transformations. However, the performance of the ccBPM line splitting Integration Process was nowhere near the Interface Map.
e.g. Interface Map Split 1000 Lines = 13 seconds - BPM Integration Process 1000Lines = 100 seconds.
Does anybody have any suggestions on how we can perform the line split outside of BPM, or how we can improve ther performance of the line splitting within BPM?
Thanks for your assistance.
Edited by: CostaC on Aug 24, 2009 11:53 AM

hi,
>>>We first used an Interface Map and used SplitByValue to achieve this, however we ran into the constraint that we could not feed the output split messages to an Integration Process - you can only feed it to Adapters that reside on the J2EE engine.
the easiest (not the only) way :
do the split as you did here and post the results in different folders (file adapter)
then set up scenarios that will get the files from those folders
(many additional objects but will be much much faster and better then a BPM)
you could also split the messages in the adapter module but this is more advanced
and officially SAP does not recommend it - even though it's possible
Regards,
Michal Krawczyk

Similar Messages

  • Split message mapping to integration process

    Hi,
    I faced an error when trying to send a multiple message (after a message split) to an integration process and I would like to know the possibilities to resolve this issue.
    What I want to do (more details below) :
    1. Get an order list from a database
    2. Split the order list in multiple orders (via a multi-mapping)
    3. For each order, create a new integration process instance
    The error I got is:
    Messages in multi message format can be sent to one adapter engine only
    The solutions I thought of:
    - Creating a new integration process / Update the existing integration process in order to execute the message split in the process engine
    - Create a new service (or business system) as a receiver instead of the process that points back to another XI service and set-up the appropriate configuration between the second service and the existing integration process
    My question: is there another solution than the two above?
    Thanks in advance
    Here are the details of what I did:
    1. A JDBC request returns an order list like:
    <resultSet>
       <row>
          <order>[...order 1 details...]</order>
       </row>
       <row>
          <order>[...order 2 details...]</order>
       </row>
    </resultSet>
    2. During interface determination phase, a multi-mapping is executed to produce several orders:
    <order>[...order 1 details...]</order>
    <order>[...order 2 details...]</order>
    3. The target receiver is an integration process who take as initial document only one order ; so, having two orders as a result of the split, I would like XI to create two new instances of my integration process, each receiving exactly one order.
    And there's when the above error occured.

    Hi Alexis
    Creating a new integration process is suggested as your target receiver is your current integration process and along with this splitting and passing data to multiple receiver can be done in integration process.
    Thanks
    Mitesh

  • PI Interface Posting Files - Trigger Process Chain Issue

    Dear Reader,
    Situation -
    We get multiple flat files from source system via PI interface. To process this in BW 7.0 side we have created the web service interface. In the function module we have written a code to trigger process chain, once a data is posted.
    Issue -
    As there are multiple files being posted, the PC runs on completion of the every single post, which is not desired. We need to run the process chain only once at the end of all the files being posted.
    Notes -
    1. Number of files keep varying.
    2. Clubbing all the files in a single file and then posting it would cause performance issues.
    Request your help in find a way like -
    1. A file being posted of name, say 'START PC', which can be trapped in the funciton module and controll the PC call.
    2. <any Other idea>
    regards,
    vinay gupta

    Hi Dhanya,
    This is the code i have in the ABAP program in the process chain. I just included the API_SEMBPS_POST part, but still it doesn't work. Please give me your email address so that i can send some screenshots.
    REPORT  ZHTEST.
    DATA: l_subrc TYPE sy-subrc.
    DATA: ls_return TYPE bapiret2.
    CALL FUNCTION 'API_SEMBPS_POST'
    IMPORTING
       E_SUBRC         = l_subrc
       ES_RETURN       = ls_return.
    CALL FUNCTION 'RSAPO_CLOSE_TRANS_REQUEST'
      EXPORTING
        I_INFOCUBE               = 'ZMAP_TAB'
    EXCEPTIONS
      ILLEGAL_INPUT            = 1
      REQUEST_NOT_CLOSED       = 2
      INHERITED_ERROR          = 3
      OTHERS                   = 4
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

  • Image Processing Performance Issue | JAI

    I am processing TIFF images to generate several JPG files out of it after applying image processing on it.
    Following are the transformations applied:
    1. Read TIFF image from disk. The tiff is available in form of a PlanarImage object
    2. Scaling
         /* Following is the code snippet */
         PlanarImage origImg;
         ParameterBlock pb = new ParameterBlock();
         pb.addSource(origImg);
         pb.add(scaleX);
         pb.add(scaleY);
         pb.add(0.0f);
         pb.add(0.0f);
         pb.add(Interpolation.getInstance(Interpolation.INTERP_BILINEAR));
         PlanarImage scaledImage = JAI.create("scale", pb);3. Convertion of planar image to buffered image. This operation is done because we need a buffered image.
         /* Following is the code snippet used */
         bufferedImage = planarImage.getAsBufferedImage();4. Cropping
         /* Following is the code snippet used */
         bufferedImage = bufferedImage.getSubimage(artcleX, artcleY, 302, 70);The performance bottle neck in the above algorithm is step 3 where we convert the planar image to buffered image before carrying out cropping.
    The operation typically takes about 1120ms to complete and considering the data set I am dealing with this is a very expensive operation. Is there an
    alternate to the above mentioned approach?
    I presume if I can carry out the operation mentioned under step 4 above on a planr image object instead of buffered image, I will be able to save
    considerable processing time as in this case step 3 won't be required. (and that seems like the bottle neck). I have also noticed that the processing
    time of the operation mentioned in step 3 above is proportional to the size of the planar image object.
    Any pointers around this would be appreciated.
    Thanks,
    Anurag
    Edited by: anurag.kapur on Oct 4, 2007 10:17 PM
    Edited by: anurag.kapur on Oct 4, 2007 10:17 PM

    It depends on whether you want to display the data or not.
    PlanarImage (the subclass of all renderedOps) has a method that returns a Graphics object you can use to draw on the image. This allows you to do this like write on an image.
    PlanarImage also has a getAsBufferedImage that will return a copy of the data in a format that can be used to write to Graphics objects. This is used for simply drawing processed images to a display.
    There is also a widget called ImageCanvas (and ScrollingImagePanel) shipped with JAI (although it is not a committed part of the API). These derive from awt.Canvas/Panel and know how to render RenderedImage instances. This may use less copying/memory then getting the data as a BufferedImage and drawing it via a Graphics Object. I can't say for sure though as I have never used them.
    Another way may be to extend JComponent (or another class) and customize it to use calls to PlanarImage/RenderedOp instances directly. This can hep with large tiled images when you only want to display a small portion.
    matfud

  • Synch Process Performance issues.

    Hi,
    I have a BPEL process that reads a file and then for each transaction within the file it calls a Synch BPEL process that processes it. The Synchronous process takes about 2 min. So say, if there are 25 transations in the file, it takes about 50 min to complete the entire processing. Earlier the Synch process was Asynch process but we had problems when all the records were processed at once that caused data duplication issues. Hence we made changes to make it a Synch process but then performace is become a problem.
    Can we improve the performance in anyway?
    Otherwise, if I make changes just have one process and move the entire logic of Synch process to the main one and process each record in a while loop, will that have better perfrmance than the above.
    Need suggestions. Thanks!
    -Prapoorna

    We are on 10.1.3.4. So can't try on 10.1.3.5.
    And we are using a specific schema.
    Regarding the duplication, this is an EDI BPEL Process, so what was happening was, when we get the file and if the customer mentioned in the file does not exist in our system (Oracle db), then within the BPEL process we call the db adapter to call a custom procedure that creates the Customer. Because the process was Asynch earlier, if there are 4 transactions in the file, the Asynch process used to get invoked 4 times all at the same time and then we would see 2 or 3 customers created in the system with the same name and then a couple of instances would fail in the console when it is trying to find out if the customer already exists because the query returns multiple rows. Thats when I thought that may be I have to make the process wait until the 1st record is completely processed that will create the customer record if it does not exist and then when the 2nd record is processed it will not create the customer again as it is already created. Hence I made it a Synch process.
    As I said earleir, do you think I can merge these two process (the one that reads the file and calls the Synch process for each record) into one process with a while loop... Will that work faster. appreicate if you cna give me suggestions on what my options are.
    Thanks
    -Prapoorna

  • Portal KM BI Integration - Serious Performance Issue

    Hi guys,
    we've implemented BI KM Integration in our portal environment.
    This means that we can now navigate to :
    /irj/servlet/prt/portal/prtroot/com.sap.km.cm.navigation/bw_metadata/activeVersion/Query/
    Well, from a functional perspective this BI-KM integration is fine. The problem is performance-wise.
    Our system is a 64-bit AIX DB2 and our JVM has been configured with the following settings:
    -2560 max heap size
    -Xmx2560m
    -Xms2560m
    -Xmn1000m
    When the portal restarts, as KM comes up first, performance is fine but after half an hour it deteriorates until it comes to a crawl and a restart is needed. There are only a couple of guys on the system doing little activity and the back-end performs quite okay.
    I think the problem is more JVM related (GC cycles) and from the NetWeaver Administrator I haven't been able to grab much info (also it's very very slow)....
    Any ideas?

    Marco,
    Have you had a look at these yet
    u2022 710146 How to Change J2EE Engine JVM Settings
    u2022 723909 Java VM Settings for J2EE 6.40/7.0
    We have had a similar issue, for one of the clients who was running on nw2004s sp12 and upgrading to sp17 resolved all memory related issues.
    Cheers!
    Sandeep Tudumu

  • SAP BI 7 - Background process performance Issue

    This question is about efficiency of dialog process compared to inefficiency of the background process and I want suggestions from SAP Basis/BI experts on this.
    We have observed that our background processes on BI server are not running as efficiently as we would like them to run.
    For example
    DSO activation:
    When I use Dialog mode for DSO Activation with 3 parallel processes, I can activate a certain DSO with in 15 seconds. But the same DSO and the same data package when activated using background mode with 3 parallel process takes about 15 minutes.(there are plenty of background processes available on the system when this activation is running). So dialog process runs 60 times faster than background process.
    In BI 7 most of the operations can be executed only in the background parallel mode. And from the activation example we know that our background processes are not as efficient as dialog processes. It
    is understood that in general the background processes will not be as efficient as dialog processes, but in our case the difference is a factor of 60. We want help to identify, why the background processes are not as efficient as dialog processes. What SAP Basis settings need to be changed to make them as efficient as we can. Any suggestion or help will be highly appreciated.

    Hello Eswaran
    Generally a dialog process is not faster by any means than a background workprocess. Nevertheless i trust you on your observations, so there must be some difference. I just did a small test, i ran SE16 chose a big table and selected 10000 rows, i did 3 tries in dialog and 3 in background. The results:
    dialog: 10.2s, 9.4s, 9.6s
    background: 26s, 24s, 24s
    So even in my simple example the background execution took more time. The issue here is, that the resulting output (which is pretty large) had to be saved additionally in a spool (a total of 167 pages) when executed in background. The selection of the data certainly did not take more time in either case.
    The most important difference between dialog and batch processes is the memory management. Dialog processes work with a shared memory segment (extended memory). Background processes have their private heap memory.
    Nevertheless, background processes are not "slower" in general, not at all. You will need to observe closer, what your processes are doing. Maybe watching SM50 while running the DSO activation is enough to see it, maybe you need to trace a process. If you see large spools generated, or huge amounts of memory consumed, we might already have an answer.
    Regards
    Michael

  • R3 to File with integration process- need help

    Hi all,
    Can you please help me with the steps involved for the following scenario:
    IDOC(R/3) to XI(integration mapping is done here) then to file.
    I have selected  an idoc (MATMAS).
    I have created a business systems (R/3)
    I want only few fields from R/3(MATMAS) to send to file. So, I do the mapping in integration process.
    In the config, I don't know how to link this thro' integration process.
    Can anyone please help me with the steps.
    I appreciate all your efforts.
    Thanks
    felix.

    Felix, I can think of the foll. steps, try it and let know if it helps
    1) One receiver determination parameters -> BS1(R/3) - sender service , MATMAS - sender interface , receiver system - Integration Process(this integration process you will 've to import from Integration repository)
    2) Now you will create an interface determination for the above receiver determination , ere you will specify the Abstract interface(referred to, in ur container object in receive step of IP). Interface Mapping is not reqd , since MATMAS is received as MATMAS ere without any change.
    3) second receiver determination parameters -> Integration Process - sender service , Abstract interface used in the send step of IP - sender interface , receiver system - Business system/service that has the file commn. channel configured
    4) Now you will create an interface determination for step 3, ere you will specify the Asynchronous inbound interface used by the file adapter & the mapping program to be used(optional)
    5) Now you will create a receiver agreement to associate ur async inbnd interface with the Commn channel(file adapter).
    -Saravana

  • Performance tuning in objects involving Integration process (BPM)

    Hi,
    We are facing a performance problem in one of our objects having integration process. The messages are getting processed sequentially instead of parallel processing within the integration process. As a result, the messages are getting queued up in the queue waiting for processing. Thus by the time all messages get processed, the time taken would have been alarmingly high. There is no correlation involved in the int process. My questions are
    1. Is there any performance related best practices/checklist/config steps available for BPM related implementation. If so, please furnish/provide the links if any.
    2. If it is not related to BPM , but related to tuning up of the queues, please provide the guidelines for queue tune up.
    3. How to ensure that the messages are processed in-parallel within BPM ?
    Regards
    Ganesh

    Hi,
    Am not sure whether this would help you.  By any chance did u use For Each instead of Par For Each.
    Cos, when u use For each in an container step, all messages would be processed sequentially.
    Do let me know if it helps you!
    Regards,
    B.Anandh

  • Integration Process Referencing Message Interfaces In A Different SWCV

    Hello Experts!
    I am creating an Integration Process IP within SWCV A, using an Interface Mapping Object within SWCV A, Abstract Message Interface MI_A1 from SWCV B and Abstract Message Interface MI_A2 from SWCV B.
    Because we have the dependencies set up in the SLD wherein SWCV A is a dependent SWCV of SWCV B, these basis objects can be referenced by the IP during the create process.
    However, when I try to execute a "check" or activate the IP, I get the following error:
    Expression must return the interface type MI_A1
    Expression must return the interface type MI_A2
    If I copy the MI objects into SWCV A, the IP is activated successfully.
    The question is:
    Why is it that while I'm creating the IP I am able to reference these basis objects, but the "check" or "activate" does not allow it? What is this error telling me?
    Want more points? Appreciate any insight.

    Thanks for pointing me to the right direction, Aamir.
    It turned out that the problem was caused by one of the Message Interfaces used by the Interface Mapping. It had errors to where it was pointing to an inactive IDoc object. The bad MI caused the IM to be bad, that eventually caused the problem while creating the Integration Process.
    Thanks again!
    H.

  • Integration Process problem in Message Split.

    Hi all,
    I have done message split using the this blog.
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    I am getting problem in the BPM i.e. in Integration Process. In the message monitoring of RWB I am able to see data Outbound to BPM exchange but BPM to Inbound is not at all happening.
    I dont have any SAP tools to trace the BPM.
    I have been trying this for 3 days desparately.
    Can somebody please help me in this.
    Thanks,
    Subhosh.

    Hi,
    Like mentioned by Udo, you need to have the SAP log on to be able to debug and find the cause for your problem.
    One option, can you look into message monitoring in RWB and check what the error message is?
    Regards,
    Bhavesh

  • Integration Process of abstract interfaces of diff SWCV's

    Hey all,
    I am trying to create an integration process of a sender and receiver abstract interfaces of different SWCV’s. If I create the integration process in one of the SWCV, I am not able to select the other interface in the receive step.Is it a necessary criteria to have the both sender and receiver abstract interfaces to be in the same SWCV? Can they not be in different SWCV?
    -AR

    Hi Antonio,
    CLEAR SLD CACHE is not enough. After your SWCV update in SLD, you need to import again your SWVC inside IR.
    All your objects will be NOT deleted. Thus don't worry about your Data Type, Mappings, BPM, etc...
    I have already done such an import (after adding a usage-depency), I have never lose an object.
    If you are some doubt, you can Export all your namespaces in a file (cf. Tools > Export). Thus you will be able to Import all your namespaces if something will be wrong (but it will be not the case!). Ask to your admin to get this file in order to NOT send it to your production system...
    Regards
    Mickael
    Message was edited by: Mickael Huchet

  • Unreservation Issue while SO line split using Process Order API

    Hi,
    We are facing unreservation issue in the parent line after sales order line split for partially reserved line scenario usiing oe_order_pub.process_order API in 11.5.10 instance.
    Standard Proces:
    Orlder line - 10 quantities
    Partially Reserved with 5 Quantities
    Splitting the SO line using Process order API
    Parent line with 5 quantities - Reserved
    Child Line with 5 quantities - Unreserved
    Our Issue
    Orlder line - 10 quantities
    Partially Reserved with 5 Quantities
    Splitting the SO line using Process order API
    Parent line with 5 quantities - Unreserved
    We are not facing this issue when try to split the SO line from the Appllication.
    Please find the script below which we are using for this line split scenario. The same script was working fine in our instance and not working after applying patch for Minimum Baseline Patch Requirements for Extended Support on Oracle E-Business Suite 11.5.10 (Note 883202.1).
    I tried to find the differences between the APIs before and after patching and found these list of bug fixes in our API in the patched instances.
    1.7503298
    2.8339692
    3.8479339
    4.9347399
    Please help us in this issue.
    DECLARE
    p_header_id NUMBER :=836084;-- Sales order header id
    p_line_id NUMBER :=2560509;-- sales order line id
    p_item_id NUMBER :=405477;--item id in sales order line
    p_ord_qty NUMBER :=5;-- Total ordered quantity
    p_reserv_qty NUMBER :=2;--partially reserved quantity
    ln_counter NUMBER := 0;
    lv_return_status VARCHAR2 (1);
    lv_msg_data VARCHAR2 (2000);
    ln_msg_count NUMBER := 0;
    ln_increment NUMBER := 0;
    ln_inv_item_id NUMBER;
    ln_list_line_id NUMBER;
    ln_service_duration NUMBER := 0;
    lv_duration_uom VARCHAR2 (10);
    lv_duration_uom_desc VARCHAR2 (10);
    l_line_tbl oe_order_pub.line_tbl_type := oe_order_pub.g_miss_line_tbl;
    lr_header_rec oe_order_pub.header_rec_type;
    lr_header_val_rec oe_order_pub.header_val_rec_type;
    lt_header_adj_tbl oe_order_pub.header_adj_tbl_type;
    lt_header_adj_val_tbl oe_order_pub.header_adj_val_tbl_type;
    lt_header_price_att_tbl oe_order_pub.header_price_att_tbl_type;
    lt_header_adj_att_tbl oe_order_pub.header_adj_att_tbl_type;
    lt_header_adj_assoc_tbl oe_order_pub.header_adj_assoc_tbl_type;
    lt_header_scredit_tbl oe_order_pub.header_scredit_tbl_type;
    lt_header_scredit_val_tbl oe_order_pub.header_scredit_val_tbl_type;
    lt_line_tbl oe_order_pub.line_tbl_type;
    lt_line_val_tbl oe_order_pub.line_val_tbl_type;
    lt_line_adj_tbl oe_order_pub.line_adj_tbl_type;
    lt_line_adj_val_tbl oe_order_pub.line_adj_val_tbl_type;
    lt_line_price_att_tbl oe_order_pub.line_price_att_tbl_type;
    lt_line_adj_att_tbl oe_order_pub.line_adj_att_tbl_type;
    lt_line_adj_assoc_tbl oe_order_pub.line_adj_assoc_tbl_type;
    lt_line_scredit_tbl oe_order_pub.line_scredit_tbl_type;
    lt_line_scredit_val_tbl oe_order_pub.line_scredit_val_tbl_type;
    lt_lot_serial_tbl oe_order_pub.lot_serial_tbl_type;
    lt_lot_serial_val_tbl oe_order_pub.lot_serial_val_tbl_type;
    lt_action_request_tbl oe_order_pub.request_tbl_type;
    lv_errmsg VARCHAR2(4000);
    v_user_id NUMBER:=fnd_profile.value('USER_ID');
    v_resp_id NUMBER:=fnd_profile.value('RESP_ID');
    v_resp_appl_id NUMBER:=fnd_profile.value('RESP_APPL_ID');
    v_security_group_id NUMBER:=fnd_profile.value('SECURITY_GROUP_ID');
    v_server_id NUMBER:=fnd_profile.value('SERVER_ID');
    v_login_id NUMBER:=fnd_profile.value('LOGIN_ID');
    l_file_val Varchar2(200);
    BEGIN
    --- Apps Initialize
    fnd_global.apps_initialize(v_user_id,v_resp_id,v_resp_appl_id,v_security_group_id,v_server_id);
    l_line_tbl(1) := oe_order_pub.G_MISS_LINE_REC;
    l_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
    l_line_tbl(1).split_action_code := 'SPLIT';
    l_line_tbl(1).header_id := p_header_id;
    l_line_tbl(1).line_id := p_line_id;
    l_line_tbl(1).ordered_quantity := p_reserv_qty ;
    l_line_tbl(2) := oe_order_pub.G_MISS_LINE_REC;
    l_line_tbl(2).operation := OE_GLOBALS.G_OPR_CREATE;
    l_line_tbl(2).header_id := p_header_id;
    l_line_tbl(2).split_from_line_id := p_line_id;
    l_line_tbl(2).inventory_item_id := p_item_id ;
    l_line_tbl(2).ordered_quantity := (p_ord_qty-p_reserv_qty) ;
    --Debug File creation
    oe_debug_pub.debug_on;
    oe_debug_pub.initialize;
    l_file_val := OE_DEBUG_PUB.Set_Debug_Mode('FILE'); -- add l_file_val Varchar2(200); in declare section
    oe_Debug_pub.setdebuglevel(5);
    dbms_output.put_line(' Log File : '||l_file_val);
    dbms_output.put_line('Log File name '||OE_DEBUG_PUB.G_DIR||'/'||OE_DEBUG_PUB.G_FILE);
    -- Start Process Order API for Splitting the line
    oe_order_pub.process_order (p_api_version_number => 1.0,
    p_init_msg_list => fnd_api.g_true,
    p_return_values => fnd_api.g_false,
    p_action_commit => fnd_api.g_true,
    x_return_status => lv_return_status,
    x_msg_count => ln_msg_count,
    x_msg_data => lv_msg_data,
    p_line_tbl => l_line_tbl,
    x_header_rec => lr_header_rec,
    x_header_val_rec => lr_header_val_rec,
    x_header_adj_tbl => lt_header_adj_tbl,
    x_header_adj_val_tbl => lt_header_adj_val_tbl,
    x_header_price_att_tbl => lt_header_price_att_tbl,
    x_header_adj_att_tbl => lt_header_adj_att_tbl,
    x_header_adj_assoc_tbl => lt_header_adj_assoc_tbl,
    x_header_scredit_tbl => lt_header_scredit_tbl,
    x_header_scredit_val_tbl => lt_header_scredit_val_tbl,
    x_line_tbl => lt_line_tbl,
    x_line_val_tbl => lt_line_val_tbl,
    x_line_adj_tbl => lt_line_adj_tbl,
    x_line_adj_val_tbl => lt_line_adj_val_tbl,
    x_line_price_att_tbl => lt_line_price_att_tbl,
    x_line_adj_att_tbl => lt_line_adj_att_tbl,
    x_line_adj_assoc_tbl => lt_line_adj_assoc_tbl,
    x_line_scredit_tbl => lt_line_scredit_tbl,
    x_line_scredit_val_tbl => lt_line_scredit_val_tbl,
    x_lot_serial_tbl => lt_lot_serial_tbl,
    x_lot_serial_val_tbl => lt_lot_serial_val_tbl,
    x_action_request_tbl => lt_action_request_tbl
    IF lv_return_status = fnd_api.g_ret_sts_success
    THEN
    COMMIT;
    DBMS_OUTPUT.put_line('SUCCESS');
    ELSE
    IF ln_msg_count > 0
    THEN
    FOR i IN 1 .. ln_msg_count
    LOOP
    --fnd_file.put_line (fnd_file.log,  fnd_msg_pub.get (i, 'F') );
    DBMS_OUTPUT.put_line('ERROR'||fnd_msg_pub.get (i, 'F'));
    END LOOP;
    END IF;
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.put_line('EXCEPTION'||' '||SQLERRM);
    END;
    Thanks,
    Kavin
    Edited by: 897922 on Nov 17, 2011 11:51 PM

    Suggest that you first enter the transaction manually via the order entry form and adjustments. Then query the oe_price_adustments table and determine the values you need to send in to get the results you want.
    -Bob

  • Integration Process not continuing after Synchronous BAPI call

    I have an integration process that splits up a batch file of purchase orders into single purchase order messages. This allows me to use the "ForEach" block to call the synchronous BAPI_PO_CREATE1.
    I have managed to get the process to call the BAPI and create the purchase order. The response message arrives back though the abstract synchronous interface and is mapped to the asyncronous response message. After that the process seems to hold where I am expecting it to continue on the process and be appended to a container storage list for mapping to a single return message.
    I have not set up any correlation sets as I thought they wouldn't be needed for a sychronous call.
    Has anyone got any advice on my approach to this process and how I might fix it.
    Thanks in advance

    Hi Bhavesh,
    There are no errors as such in the SXMB_MONI but it gets as far as the Inbound Message (PE_ADAPTER) stage after the Sych BAPI call.
    Also the SOAP Header at this stage seems to be missing "sysnchronous" or "asynchronous" in the  SAP:ProcessingMode tags.
    The technical workflow is as follows
    FTP Batch file outbound to Integratin Process Receive (Async)
    Transform message into a Multiline list of BAPI_PO_CREATE1.request (async abstract)
    Enter "For Each" Block using the multiline list.
    BAPI_PO_CREATE1 mapped to synchronous abstract interface
    synchronous abstract interface mapped to BAPI_PO_CREATE.request and response
    BAPI_PO_CREATE.response mapped to async BAPI_PO_CREATE.response
    async BAPI_PO_CREATE.response appended to multiline list
    Exit block
    Transform multiline response list into single line response
    FTP inbound
    As far as I can make out I have not correctly configured the receiver of PO_CREATE1.response after it has been mapped from the sync to async so it just persists it and sits there waiting or it is waiting for somethign else to happen.
    Let me know if I can clarify anything further.
    Thanks
    Ben

  • XML file, with multiple customer records - post DEBMAS over Integr.Process

    Hi all,
    is it possible to map a single XML file message that contains multiple records for customer master to multiple messages ?
    I know that it is possible to do a "multi IDOC " mapping but then the splitting of the messages is done by the IDOC adapter, not earlier.
    I have to process every single customer master record by an integration process to check if its creation or change (and get the customer number).
    When I try in the interface mapping to set the receiver to "0 to unbound" then also the message format of the sender requires two additional hierarchie levels "...message, message1" . My orginal file does not contain these tags.
    Is XI not able to handle this easy requirement without making a university study out of it?
    Thank you very much for your help
    best regards
    Hans

    You need not worry about those tags to be in your file. Those are added while mapping is being executed. All that you need to do is use file content conversion in sender adapter and put your lookup logic in Integration Process and mapping..!!
    You do not need a university degree, if you understadn the concepts..!!
    VJ

Maybe you are looking for

  • How can I define more than one baseline in a line chart??

    How can I add more than one straight line across a graph to indicate a target value? The values are percentages. Thanks a lot!!!

  • Cloud does not disappear from file name?

    why does it take "forever" for the cloud to disappear from file name? I saved a numbers document to the cloud a half an hour ago, and the cloud is still there.

  • Help with using IIS as webserver

    I have two DNS that maps to two application on the same instance of weblogic. I have to use IIS as my webserver, and so I have two IIS apps that maps by path. In one of the iisproxy.ini file - WlForwardPath = / and in the other WlForwardPath = /app2

  • I can't reset my iPhone

    Hay I have a big problem I can't remember my icloud acounnt password and  I try to (ERASE ALL CONTENT AND SETTINGS). Bat ask for icloud paswoord which I don't have. Can you help my ?

  • IMessages status is stuck in offline

    My iMessages status is stuck in offline. When I try to click "available" it doesn't change.