BPM with multiple records using switch

Hi..
      I have done a scenario like,
Receive--Transformation1Send1Transformation2-Block(ForEach)-Send3(synchronous)-Container-----EndBlock-Transformation3--Send4.
In Send 4 i am having multiple responses.
Now i need to check if the Availability field is !=0, it should go to the Java webserice or else it should go to .net webservice and calculate the cost. Finally i need to get the all records as output. Both material which is present and not present. Switch case is not working.
Could you please help me out in this.
I was raising this question from past 1 week.

Hi,
If switch case is not working then you can also go ahead with specifying the necessary condition in Receiver Determination.
Regards,
Abhishek.

Similar Messages

  • File to RFC with multiple records using BPM Scenario Error...!!!

    Hello Guru's,
      I have done the File to RFC with multiple records using BPM scenario as per the Materiel available in the sdn.sap. This involves BAPI (BAPI_MATERIEL_AVAILABILITY). I have done exactly the same what is their in the materiel. SXI_CACHE is also giving return value " 0 ". File is getting deleted from the source directory, but no file in target directory. SXMB_MONI is also showing no error (black Flag). BPM is also error free. Checked the interfaces also.
    Can any one tell me what mistake would i have done.
    Thanks in advance.

    Hi,
    There is one similar discussion I found,
    FTP TO RFC using BPM
    Thanks
    Swarup

  • Multiple records using switch case

    Hi...
         I am having input file like
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns1:mt_out xmlns:ns1="http://Block">
    - <Material>
      <Item>0</Item>
      <ItemName />
      <ReqQty>0</ReqQty>
      <AvailQty>0</AvailQty>
      <Cost>0</Cost>
      <suppid />
      <suppname />
      <leadtime>0</leadtime>
      <matname>Y-351</matname>
      <plantloc>2222</plantloc>
      <date>2008-09-30T00:00:00</date>
      <orderqty />
      <warehouseloc />
      <unit>KG</unit>
      </Material>
    - <Material>
      <Item />
      <ItemName />
      <ReqQty>0</ReqQty>
      <AvailQty>0</AvailQty>
      <Cost>0</Cost>
      <suppid />
      <suppname />
      <leadtime>0</leadtime>
      <matname>Y-355</matname>
      <plantloc>1111</plantloc>
      <date>2008-09-30T00:00:00</date>
      <orderqty />
      <warehouseloc />
      <unit>KG</unit>
      </Material>
    - <Material>
      <Item />
      <ItemName />
      <ReqQty>0</ReqQty>
      <AvailQty>1000.000</AvailQty>
      <Cost>0</Cost>
      <suppid />
      <suppname />
      <leadtime>0</leadtime>
      <matname>Y-352</matname>
      <plantloc>1100</plantloc>
      <date>2008-09-30T00:00:00</date>
      <orderqty />
      <warehouseloc />
      <unit>KG</unit>
      </Material>
      </ns1:mt_out>
      In this input file it is having multiple records. Based on the AvailQty, the input file should go to the webservice. If the condition AvailQty is !=0, the the input file should go to the java webservice or else it should go to the .net webservice. In BPM i have used switch step for this. if i give the input file structure like above it is going to the java webservice only. It is not entering to the esle part.
    Could you please help me out in this issue.
    Thanks & Regards,
    Leela

    Hi,
    Having had a look at these blogs:
    Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure
    How to Split Message through BPM in 1:n scenario
    Transformation Step to Implement 1:n Splitting
    I think the best solution for your scenario is the following:
    In your BPM use a TransformationStep that does the multimapping N:1
    And then send the messages individually. You don`t need a Switch Step.
    You should have two Receiver determination.
    1.- File_server --> Integration Process.
    2.- Integration Process --> WebService.
    In the second RD, add two receiver Services (e.g. JAVA_WebService and NET_WebService) and
    use routing roules that checks if AvailQty is !=0. And depending on this condition,
    the message should be sent either JAVA_WebService or NET_WebService.
    Hope this helps you.
    Carlos

  • Multiple records using switch in BPM

    Hi,
    Below is the input file i am having.
    <?xml version="1.0" encoding="utf-8" ?>
    -<ns2:MT_Receiver xmlns:ns2="File2RFC">
    <Details>
    <Availability>5000.000</Availability>
    <Message />
    </Details>
    <Details>
    <Availability>1000.000</Availability>
    <Message />
    </Details>
    <Details>
    <Availability>0</Availability>
    <Message>Material Test not maintained in plant 1100</Message>
    </Details>
    </ns2:MT_Receiver>
    I want to divide this input file into two parts based on one condition. If the Availability!=0, then it should display the available quantity. or else, it should get suppliers from the webservice.
    For this reqiurement, i have used the switch case. but it is not working. It is considering only the last record, For eg, in this input file the last record is having Availabilty=0. So it should go to webservice and display the suppliers. But all the 3 records are going to the else branch and giving the supplier details.
    Could you please tell how to resolve the issue.the Availability which is present should go to one branch and the remaining records should go to the else branch. Please help me in this regard.

    Hi, Leelaratnam:
    What Anand mentioned is to split the message based on your node of "Details":
    Each "Details" node will generate new message which only have one <Availability> elements (u will need another message type)
    Then you can pass to your webservice, avoid your problem that only last <Availability> passed to webserivce.
    You will have a multi-mapping (1:n)
    in you BPM, you will have transformation step, then a block (ForEach) to process your splitted message one by one.
    Yes, this is one solution.
    Check my previous response, you will just need one mapping program, one transformation step, you can also achieve your purpose. However, in your mapping program, you need to code a UDF to do a lookup.
    Regards.
    Liang

  • Handling Change of IT with multiple records in P&F

    Good Morning all,
    Has anyone done this yet? What is the approach to change an infotype with multiple records using P&F; For example IT0021, Subtype 2 (Child). I'm assuming that we will need to display all the records in a tbale first in the Form. Then, create a button or radio button for each row. On click, we can then make changes to the record. Any ideas? Thanks
    Regards

    Welcome to the forum. You can loop through the records like following.
    go_block('A');
    First_Record;
    Loop
    variable := :A.Item_Name;
    Exit when :System.Last_Record = 'TRUE';
    Next_Record;
    End Loop;But what happens when u run the above code, the variable will have the last record's item value.
    So how you are trying to get all the record's Item value into one item?
    Are you going to concatenate? What's the logic you are planning?
    Regards
    Sankar MN

  • How to isolate error with a record/segment in IDOC with multiple records

    I have an IDOC with multiple records/segments (typically 1000 records/segments). Sometime XI can not process the IDOC because of some control characters in data.
    1. How can I pre-processed the IDOC to remove those control characters?
    Can I use XPATH expression/Java class to do it? How can I configure the XPATH expression/Java class in XI to pre-process the file?
    2. Until I have answer to 1st question. I would like to find out the error is exactly for which record? What configuration can I do in XI to isolate the error is with which record/segment in IDOC?
    Thanks in advance.

    Split the IDoc.
    with in the UDF, after the validations if every thing fine, pass as successful records to success_MT and pass it to target system using Branching in BPM.
    if errors found in the record, then store the error records in Hash table with in UDF, get the IDoc number, frame as a string and raise alert.
    U have to do this in the context of IDoc.
    If U wanna get the IDoc Number, Segment Name and field name for every failure, U can pass the expected error field name as constant to UDF, frame the sentence in the UDF like -> <b>IDoc 1234321 segment – SEG001 – field – FLD03 has a special character ‘*’</b>.
    If U wanna pass this string to source/target, U can do in error messages branch in BPM.
    U must use BPM for splitting the IDoc, since it is multi-mapping.
    reg.,
    Yallabandi.

  • How can I convert string to the record store with multiple records in it?

    Hi Everyone,
    How can I convert the string to the record store, with multiple records? I mean I have a string like as below:
    "SecA: [Y,Y,Y,N][good,good,bad,bad] SecB: [Y,Y,N][good,good,cant say] SecC: [Y,N][true,false]"
    now I want to create a record store with three records in it for each i.e. SecA, SecB, SecC. So that I can retrieve them easily using enumerateRecord.
    Please guide me and give me some links or suggestions to achieve the above thing.
    Best Regards

    Hi,
    I'd not use multiple records for this case. Managing more records needs more and redundant effort.
    Just use single record. Create ByteArrayOutputStream->DataOutputStream and put multiple strings via writeUTF() (plus any other data like number of records at the beginning...), then save the byte array to the record...
    It's easier, it's faster (runtime), it's better manageable...
    Rada

  • Flat File with multiple record types (OWB 10.2.0.2)

    Hi!
    I`m using OWB 10.2.0.2 and I`m trying to load a flat file with multiple record types, using SQL LOADER.
    In the flat file editor in the Record tab, I`ve set the type values and the corresponding record names like this:
    Type Value Record Name
    ======== ===========
    T TRAILER
    0 DETAILS
    1 DETAILS
    2 DETAILS
    When using this flat file in a mapping to load the data in a staging table, the generated code looks like this:
    INTO TABLE TRAILER
    TRUNCATE
    REENABLE DISABLED_CONSTRAINTS
    WHEN (1:1) = 'T'
    INTO TABLE DETAILS
    APPEND
    REENABLE DISABLED_CONSTRAINTS
    WHEN (1:1) = '0,1,2'
    The above clause (WHEN (1:1) = '0,1,2') is wrong as I expect one "INTO TABLE..." clause for each record type.
    Could this be a bug or am I doing something wrong?
    Thanks a lot for your help,
    Yorgos

    We`re using two target tables, one for the trailer record and the other for the details records.
    We are facing this problem from the moment we upgraded from OWB 10.1 to OWB 10.2.0.2, so we think it must be something with the way the sql loader code is generated in the new version.
    As our data sources are mainly flat files coming from mainframes, this is a huge problem for us. We even asked an expert in DW from Oracle to help us on this, but still haven`t found a solution.
    Is there any workaround for this or should we forget sql loader and go with an external tables + custom PL/SQL code solution?
    Your help is greatly appreciated Jean-Pierre.
    Regards,
    Yorgos

  • Select max date from a table with multiple records

    I need help writing an SQL to select max date from a table with multiple records.
    Here's the scenario. There are multiple SA_IDs repeated with various EFFDT (dates). I want to retrieve the most recent effective date so that the SA_ID is unique. Looks simple, but I can't figure this out. Please help.
    SA_ID CHAR_TYPE_CD EFFDT CHAR_VAL
    0000651005 BASE 15-AUG-07 YES
    0000651005 BASE 13-NOV-09 NO
    0010973671 BASE 20-MAR-08 YES
    0010973671 BASE 18-JUN-10 NO

    Hi,
    Welcome to the forum!
    Whenever you have a question, post a little sample data in a form that people can use to re-create the problem and test their ideas.
    For example:
    CREATE TABLE     table_x
    (     sa_id          NUMBER (10)
    ,     char_type     VARCHAR2 (10)
    ,     effdt          DATE
    ,     char_val     VARCHAR2 (10)
    INSERT INTO table_x (sa_id,  char_type, effdt,                          char_val)
         VALUES     (0000651005, 'BASE',    TO_DATE ('15-AUG-2007', 'DD-MON-YYYY'), 'YES');
    INSERT INTO table_x (sa_id,  char_type, effdt,                          char_val)
         VALUES     (0000651005, 'BASE',    TO_DATE ('13-NOV-2009', 'DD-MON-YYYY'), 'NO');
    INSERT INTO table_x (sa_id,  char_type, effdt,                          char_val)
         VALUES     (0010973671, 'BASE',    TO_DATE ('20-MAR-2008', 'DD-MON-YYYY'), 'YES');
    INSERT INTO table_x (sa_id,  char_type, effdt,                          char_val)
         VALUES     (0010973671, 'BASE',    TO_DATE ('18-JUN-2010', 'DD-MON-YYYY'), 'NO');
    COMMIT;Also, post the results that you want from that data. I'm not certain, but I think you want these results:
    `    SA_ID LAST_EFFD
        651005 13-NOV-09
      10973671 18-JUN-10That is, the latest effdt for each distinct sa_id.
    Here's how to get those results:
    SELECT    sa_id
    ,         MAX (effdt)    AS last_effdt
    FROM      table_x
    GROUP BY  sa_id
    ;

  • Need to update multiple records using store procedure

    Hi i am trying to update multiple records using store procedure but failed to achieve pls help me with this
    for example my source is
    emp_name sal
    abhi 2000
    arti 1500
    priya 1700
    i want to increase salary of emp whose salary is less than 2000 it means rest two salary should get update..using stored procedure only
    i have tried following code
    create or replace procedure upt_sal(p_sal out emp.sal%type, p_cursor out sys_refcursor)
    is
    begin
    open p_cursor for
    select sal into p_sal from emp;
    if sal<2000 then
    update emp set sal= sal+200;
    end i;f
    end;
    and i have called the procedure using following codes
    set serveroutput on
    declare
    p_sal emp.sal%type;
    v_cursor sys_refcursor;
    begin
    upt_sal(p_sal,v_cursor);
    fetch v_cursor into p_sal;
    dbms_output.put_line(p_sal);
    end;
    the program is executing but i should get o/p like this after updating
    1700
    1900
    but i am getting first row only
    2000
    and record is not upsating...please help me with this
    thanks

    Hi Alberto,
    thanx for your valuable suggestion. but still i have doubt. the code which i have mentioned above might be simple but what if i have big requirement where i need update the data by using loops and conditional statement.
    and i have similar kind of requirement where i need to deal with procedure which returns more than one row
    my source is
    empno ename salary
    111,abhi,300
    112,arti,200
    111,naveen,600
    here i need to write a store procedure which accepts the empno (111) as input para and display ename and salary
    here i have written store procedure like this
    create or replace procedure show_emp_det(p_empno in emp.empno%type, p_ename out emp.ename%type,p_salary out emp.salary%type, p_cursor out sys_refcursor)
    is
    begin
    open p_cursor for
    select ename,salary into p_ename,p_salary from emp where empno=p_empno;
    end;
    and i have called this by using
    declare
    p_salary emp.salary%type;
    p_ename emp.ename%type
    v_cursor sys_refcursor;
    begin
    show_emp_det(111,p_ename,p_salary,v_cursor);
    fetch v_cursor into p_ename,p_salary;
    dbms_output.put_line(p_ename);
    dbms_output.put_line(p_salary);
    end;
    here i should get
    abhi,300
    naveen,600
    but i am getting first row only
    abhi,300
    but i want to fetch both rows...pls help me to find the solution

  • How to get multiple records using fn-bea:execute-sql()

    Hi,
    I created Proxy service(ALSB3.0) to get records from DB table. I have used Xquery function(fn-bea:execute-sql()). Using simple SQL query I got single record, but my table having multiple records. Please suggest how to get multiple records using fn-bea:execute-sql() and how to assign them in ALSB variable.
    Regards,
    Nagaraju
    Edited by: user10373980 on Sep 29, 2008 6:11 AM

    Hi,
    Am facing the same issue stated above that I couldnt get all the records in the table that am querying in the Proxyservice.
    For example:
    fn-bea:execute-sql('EsbDataSource', 'student', 'select Name from StudentList' ) is the query that am using to fetch the records from the table called StudentList which contains more than one records like
    Id Name
    01 XXX
    02 YYY
    03 ZZZ
    I tried to assign the result of the above query in a variable and while trying to log the variable, I can see the below
    <student>
    <Name>XXX</Name>
    </student>
    I want to have all the records from my table in xml format but it's not coming up. I get the value only from the first row of my table.
    Please suggest.
    regards,
    Venkat

  • How can i create  excel sheet with multiple tabs using utl file?

    how can i create excel sheet with multiple tabs using utl file?
    any one help me?

    Jaggy,
    I gave you the most suitable answer on your own thread yesterday
    Re: How to Generating Excel workbook with multiple worksheets

  • How to Delete Multiple Records using selectbox in jsf

    Hi!
    My Senario is I want to delete multiple records using checkbox. After selecting multiple records when i click the delete button the selected
    rows shuld be deleted.if am doing like this but the edit ,delete for each row functionality is not working.
    <h:selectBooleanCheckbox id ="bcb" value="#{item.empno}">
    </h:selectBooleanCheckbox>
    But other functionality is not wokring.
    Can any one plz tell how to select the multiple records and how to send the id to the serverside.
    I want code code for jsp and as well as backingBean how to accaess .
    Any Reply shuld be apreciated

    You may find this article useful as well: http://balusc.blogspot.com/2006/06/using-datatables.html
    Check the chapter "Select multiple rows" for two generic ways to select multiple rows in a datatable.

  • Open Transaction MM01/MM02 with multiple views using  CALL TRANSACTION

    Hi All,
    I want to open MM01/MM02 with multiple views using call transaction but in the parameter ID for Views (MMX) I can pass status of only one View.
      SET PARAMETER ID 'MAT' FIELD v_mat.
      SET PARAMETER ID 'VKO' FIELD ' '.
      SET PARAMETER ID 'MTA' FIELD IT_MOFF-MTART.
      SET PARAMETER ID 'MTP' FIELD IT_MOFF-MBRSH.
      SET PARAMETER ID 'VTW' FIELD ' '.
      SET PARAMETER ID 'BWT' FIELD ' '.
      SET PARAMETER ID 'LGT' FIELD ' '.
      SET PARAMETER ID 'MXX' FIELD 'K'.     "Sales View
      SET PARAMETER ID 'MM5' FIELD ' '.
      CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN
    Please suggest.
    Regards,
    Divya

    I do not exactly understand what you mean, but what i already did:
    - I checked that the fields are from the same type.
    - KUNNR is initialized! I already had a look to the debugger, that's why i'm posting this in this forum.
    any more comments on this ?
    maybe i have to change anything in the z-transaction. Btw, this is what the parameter looks like in the transaction:
    SELECTION-SCREEN BEGIN OF BLOCK Debitoren WITH FRAME TITLE text-001.
      PARAMETERS pkunnr type kna1-kunnr OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK Debitoren.
    Edited by: Sven Delangle on Sep 3, 2010 2:42 PM

  • Can I communicate single PXI chassis with multiple computer using MXI

    Can I communicate single PXI chassis with multiple computer using multiple MXI cards
    we are using cvi with MXI we want to share channels for other computers Can we do with mxi 

    Yes this is possible when you use a PXI controller.  Attached is a screenshot showing a possible configuration.
    Jacob K || Applications Engineer || National Instruments
    Attachments:
    PXIMaster.png ‏20 KB

Maybe you are looking for

  • Casting prob

    Imagine, I have an abstract class with 6 subclasses extending it. Objects of these subclasses are being put in an ArrayList. Now, when I loop the ArrayList and want to retrieve the attributes of each object I have to cast each object in the ArrayList

  • Regarding Business Graphics : Type Pie Chart

    Hello Experts, I am using the business graphics of type Pie Chart. I get the data properly displayed in the form a pie chart pir ture. But only thing missing here is, i dont get to see what percentage or the number of each part of pie. Example: I hav

  • Problem validating a DOMSource

    Hi, In de folowing javacode I'm trying to validate a DOMSource using the javax.xml.validation.Validator class. public XsdValidator(Document bericht, String xsd, ErrorHandler errorHandler ) { this.bericht = bericht; this.xsd = xsd; this.errorHandler =

  • Link Not Work - LaserJet p1005

    LaserJet  P1005 - basic driver = error 404  Link on this product, not work from some time... pls- repair or remove. HP LaserJet Hostbased Plug and Play Basic Driver 2010-11-26 , Version:8.0, 3.27M The Plug and Play Bundle provides basic printing func

  • A Smartform Issue

    Hi All, Is it possible to display Text in smartforms in different angles. Like Vertical... Thanks Kishan