BPM Condition editor QUALF issue

Hi Gurus,
we are using a switch step to define different processing branches. If the "ORGID" in the second E1EDK14 segment is "S1" and the "QUALF" is "015", we can process the message. Otherwise the message hast to be stopped.
<E1EDK14 SEGMENT="1">
  <QUALF>006</QUALF>
  <ORGID>01</ORGID>
</E1EDK14>
<E1EDK14 SEGMENT="1">
  <QUALF>015</QUALF>
  <ORGID>S1</ORGID>
  </E1EDK14>
<E1EDK14 SEGMENT="1">
  <QUALF>008</QUALF>
  <ORGID>1000</ORGID>
</E1EDK14>
We have been defined two simple variables (ORGID and QUALF) in switch step.
My guess was the following: (ORGID = "S1" & QUALF ="015") but it doesn't worked.
Is there any other solution?
Kind Regards,
Peter

Hi Peter,
Please check the Variable type.
for ORGID and QUALF
Define it as string not Integer.
If variable is an integer then in Condition you dont need to put any quotation
!(variable_2< 531) | EX variable_3
Also For and condition you need to use (& sign)
And for Or( | sign).
give it a try.
/*/*Conditions must have the following syntax: [<Not>][<Parenthesis>]<Variable><Operator><Variable> [<Parenthesis>]<Operator>
Declare condition variables in the Condition Variables view and assign values in the Bindings view.
For input assistance when defining a condition, press CTRL + SPACEBAR. Below is an example of a valid condition:*/
!(variable_1 = "abc") &
/*Conditions can also contain comments and formatting*/
!(variable_2< 531) | EX variable_3

Similar Messages

  • SAP PI 7.1 BPM Condition Editor: use EX

    Hi everybody,
    does anybody know how my condition has to look, if I'd like to use the
    EX
    function?
    This seems not to be korrekt:
    MY_VARIABLE EX
    Thanks
    regards Mario

    Once you have defined a condition variable and assigned the appropraite XPATH to it you can us eit to define the condition.
    For exists function have the condition like
    EX MY_VARIABLE
    The above format works.
    Regards,
    Abhishek.

  • Issue with condition editor in integration process

    Hi,
    Now there is the chance to use this feature for the first time.
    Seems to be very easy.... No, it isnt!
    Variable  RETURN (type string) referencing to a field of a message structure is used for this condition:
    RETURN!="I001"
    So, if the variable does not contain the string I001 the process should use the exception path.
    Ok, easy! This works!
    But now I have this case to solve with the condition editor.
    If the variable does not contain the string I001 OR E002 the process should use the exception path.
    So my condition looks like this now:
    RETURN!="I001"|RETURN!="E001"
    => If return is NOT I001 OR Return is NOT E001....
    Result: semantical check is OK but the process always chooses the exception path now.
    Oh, why this?
    An alternative RETURN!=("I001"|"E001") does not pass the semantic check.
    So I am missing ideas now how to write down the condition for my switch step
    as this issue seems to be not discussed in any thread here.
    Any help with this strange feature is really appreciated!
    Best regards
    Dirk

    Hi Dirk,
    => If return is NOT I001 OR Return is NOT E001....
    for me, your logic is wrong, what you need for your exception receiver is : 
    => If return is NOT I001 AND Return is NOT E001....
    NON (a OR b) <=> (NON a) AND (NON b).
    so for your receiver_ok, you have to use the opposite: so the solution providen by Ramesh, and so to ahve two receiver lines like that:
    (Result = "l001" OR Result ="E0011" )  ==> Receiver_ok
    <blank_condition (*)> ==> Receiver_Exception
    (*) all condition which does not respect the 1st ones: Result = "l001" OR Result ="E0011".
    regards.
    Mickael

  • Reciver determination Condition Editor issue

    Hi Gurus,
    I have a situation where in the receiver determination i have to check for some node if it exists then i have to map to
    one receiverA if that node doen't exist then i have to map to receiverB.
    In the condition editor I can see EX function which checks for existence but how can I use the doesn't exist function .
    I tried to use the XML count function in the condition editior and  tried various ways but failed . Please guide me.
    Thankyou,

    Hi,
    You have to use "Not " operator.
    I am not sure what is your source. In my case it was IDOC and i had specified below condition. It works.
    (/DEBMDM06[not(IDOC/E1KNA1M/E1ADRMAS/E1BPAD1VL_International/NAME)] EX )
    Try doing same. If still not working post source structure.
    -Gouri

  • PI 7.0 Condition Editor: Picking particular value of multiline element

    Hi PI-Gurus,
    we're on PI 7.0 with the old condition editor. Within a condition we have to check a value of an element at a particular position. If the value in the second E1EDK14 segment (QUALF 007) is "04", we can process the message. Otherwise the message hast to be stopped.
    Example:
    <E1EDK14 SEGMENT="1">
      <QUALF>006</QUALF>
      <ORGID>01</ORGID>
    </E1EDK14>
    <E1EDK14 SEGMENT="1">
      <QUALF>007</QUALF>
      <ORGID>04</ORGID>
      </E1EDK14>
    <E1EDK14 SEGMENT="1">
      <QUALF>008</QUALF>
      <ORGID>1000</ORGID>
    </E1EDK14>
    Is this possible to address a particular element in the ORGID list?
    As I understand, normally the ORGID's come as a multiline element and can be addressed like this:
    /ORDERS05/IDOC/E1EDK14/ORGID
    My guess is the following:
    /ORDERS05/IDOC/E1EDK14<b>[1]</b>/ORGID  - and unchecking the multiline checkbox
    Am I right, or is there any other solution?
    Help is as always highly appreciated and will be rewarded!
    Thanks in advance!
    Matthias

    Hi,
    The condition editor uses full-blown xpath expressions so you could even use something like
    ORDERS05/IDOC/E1EDK14[QUALF='007' and ORGID='04']/ORGID
    and then for the operator use EX
    or
    /ORDERS05/IDOC/E1EDK14[QUALF='007']/ORGID
      and then operator = and value 04
    Edited by: ciochinah on Feb 16, 2011 7:59 PM

  • IDoc Message Structure Missing from Condition Editor - SWCV Dependency

    Hi All,
    I have an issue whereby I am missing the Message Structure in the Condition Editor Dialog while doing Receiver determination. I have seen others posts with the issue but none of the solutions seem to apply to me. My config:
    I have a SWCV called MY_SAP_BASIS, which is defined in the SLD with SAP BASIS as prereq. I import this SWCV into IR and build some objects. I wish to use an IDoc, so I import it into SAP BASIS, and it appears under my SWCV (MY_SAP_BASIS) in the "Basis Objects" section, but not directly under "Imported Objects" - as I would expect because of the relationship created in the SLD.
    My issue comes when I try to create a Rec. Determination. I want to use the condition editor, for multiple receivers, but when I click on the button to bring that up, first I get the error "Message interface does not exist in any software components installed on this business system", then when I try to use the Structure of the IDoc for an XPath, the structure browser is empty.
    I can't see why this would be. If I look in the SLD, and look at the Business System in question, it lists MY_SAP_BASIS and SAP BASIS as being installed.
    Also, when I do a "Where used" in IR on that IDoc, using my own SWCV and SAP BASIS, I get the same list. I have also checked the GUID's between the SLD and IR, and they are identical (except fpr hyphens in the display, which I am assuming don't matter).
    Anyone have any ideas? I assume that if I import the IDocs directly in MY_SAP_ERP, I will be able to solve this. But I would rather the Software Dependency worked!
    Many thanks.

    Jai/Michal,
    Many thanks for your replies. But unfortunately I had already checked this and I don't think it is the issue. My first message probably wan't as clear as it should have been: I have a Product "MY_SAP_BASIS" - this has one SWCV under it, also called "MY_SAP_BASIS". This SWCV has a dependency on "SAP BASIS 4.6c". Now, on the Technical and Business systems involved, the Product "MY_SAP_BASIS" is installed. This, as you would expect from the dependency, brings across the "MY_SAP_BASIS" SWCV and the "SAP BASIS 4.6c" SWCV, so they are both installed on the technical system . So I don't know what else I should be adding? Unless my understanding of Software dependencies is incorrect, I think my config looks right in the SLD. The SWCV under which the IDoc imports are done is "SAP BASIS 4.6c", and this is installed on both the technical and business system. The only difference is that it gets there through a software dependency, and is not added "directly". In IR I can see the imported objects under the "MY_SAP_BASIS" SWCV - in the "Basis Objects" section.
    Is there anything else anyone can suggest?

  • IDoc to IDoc - conditional receiver determination issue

    Hello All,
    We are using XI 3.0 and this is my scenario:
    Sender: IDOC from SAP system
    Receivers: There are 2 receivers (one SAP and one non sap system).
    I want conditional receiver determination based on the idoc field RCVPRN.
    Integration Repository: I imported standard SAP IDOC FIDCC2 into IR and it is in "urn:sap-com:document:sap:idoc:messages" namespace of my SWCV. I am not creating data types, message types or message interfaces as I want to use the IDOC type directly as the interface name in Integration directory.
    Integration directory: When I am creating receiver determination, I am getting a warning 'Message interface does not exist in any software components installed on this business system'. When I got to condition editor and want to choose the idoc field RCVPRN using XPATH, it is not showing the idoc structure.
    In SLD, the correct product is installed on my sender ABAP technical system, and correct SWCV (into which i imported the IDOC) is installed on my business system. I refreshed cache and cleared SLD cache in ID. Still i get the same warning 'Message interface does not exist in any software components installed on this business system'.
    How can i solve this issue? Any help is highly appreciated.
    Thanks,
    Chandra

    Hi Chandra,
    Can you check whether you have assigned or linked the SWCV with the Business system in SLD.
    Just go to SLD and open the SWCV and check if it is linked with the BS od the sender system.
    Since the sender is ABAP, you must have created the TS and BS using rz70, then see that that the SWCV is attached to the BS correctly. Under TS add the Product and then the corresponding SWCV.
    Also check one thing: are u selecting the correct Communication component, under which the Interface is present.
    Lastly if these doesnot work: In Integration Directory, Go to Environment-> Clear SLD Data Cache. Then try once again.
    Cheers,
    Souvik
    Edited by: Souvik Chatterjee on May 16, 2011 3:39 PM

  • XPath for root node in condition editor

    Hi,
    I have a HTTP to IDOC scenario. I have to accept any incoming document,(i will know only at runtime whether it is ORDERS or INVOICE or ASN etc) and post it to the respective receiver based on what is the name of the root node. But how do i specify this in the condition editor? if i give /* or name(/*) it does not work.Can anyone suggest a solution for this?
    Thanks
    Shakthi

    Well I have one solution but don't konw if it is worth for you.
    First create one mapping called pre_mapping in this mapping map all fields and the root node value to the target structure correspondingly . Now use BPM with simple receive & send steps. BPM should send the message back to XI.
    Use the final mapping with this messge retuned from BPM.
    Now use the x-path and select the field from source structre (which BPM has sent back to XI) which contains IDOC type. So in this case your sender system will be BPM.

  • Xpath expression in condition editor

    Hi Expert Forum !
    I have an xml structure like this :
    <aaa>
      <bbb>
        <ccc>
        </ccc>
      </bbb>
    </aaa>
    In my condition editor (receiver determination) I want to refer to an element which is a child of node <ccc>. However, node ccc is not defined in my data type.
    I can without any problems type my xpath expression manually but it doesn't seem to work though. As if it doesn't recognize node ccc if it's not in the data type. I know for 100% sure that node ccc will be in my inbound message.
    Is it possible to reference an element in the condition editor - knowing that it will be present in the inbound message - even though it's not defined in the underlying data type ??
    So why not just change the data type if I know <ccc> will be there? Well, data type is an external definition and I don't wanna edit it only to support an xpath expression in my rec. determination. If I can avoid it...
    Message was edited by:
            Hans Hougaard
    Message was edited by:
            Hans Hougaard

    Managed to make xpath expression work. It is possible to reference an element which is not defined in the data type. My problem turned out to be a namespace issue..

  • Condition receiver determination: Condition Editor

    Hi,
    I have to ruote the message to multiple receivers based on source filed value. 
    1) If FIELD-A = 1 or 2 or 3, we have to send it to RECEIVER-1
    root/FIELD-A = 1 or root/FIELD-A = 2 or root/FIELD-A = 3 = RECEIVER-1
    2) If FILED-A # 1 or 2 or 3 (anything other than 1,2 and 3), we have to send it to RECEIVER-2
    3) No matter what the FIELD-A value (1,2,3,4, anything), we have to send it to RECEIVER-3
    I have configured it in condition receiver determination:
    Conditions 1 and 3 are workign fine, but how do I make condition-2 work?
    I have tried to give root/FIELD-A # 1 or root/FIELD-A # 2 or root/FIELD-A # 3 = RECEIVER-2, It didn't work, even if the value is 2, message is being send to RECEIVER-2.
    How define 2nd condition in condition editor?
    Thanks in advance,
    Riya Patil

    Hi Riya,
    Please give following condition and check.
    (/BOL[(Revision != '1'and Revision != '2' and Revision != '3')]) EX
    Also if you are not able to see Message type in XPATH, please check if that software component is present in corresponding technical system of source busniess system in SLD.
    Once you see messagetype in XPATH, just select corresponding Revision Field in XPATH Editor and give above condition. Operator should be exists.
    Let me know if you face any issue.
    -Gouri

  • BMP: Condition Editor for SWITCH Step

    Hi
    Can anyone tell me how I stipulate the following conditions for a switch step in BPM:
    >, <, <=, >=
    The only options that seem to be available are:
    =, !=, Existence check and contains a particular string pattern...which is very limiting?
    Surely SAP has given the options for the greater than, less than etc oprands....hopefully i simply missing a service pack or something like that.
    Cheers
    Yackeen

    Hi
    One way could be to use XPATH expressions & XPATH functions in your condition editor. Chk whether an element has a value greater than or less than some value in the XPATH expression itself.
    The result of this check now can be compared to a true or false(that is your rt hand operand). My 2 cents.
    -Saravana

  • Error in Condition Editor

    Hi,
      Does anyone know a weblog which describes the steps for defining step type switch in BPM.
    I have defined a condition in the condition editor. It gets saved and activated. But when I check in the SXI_CACHE transaction it shows the following error Left Operand not a component of data object 'PAYLOAD'.
    rgds

    Hi Prashant,
    Not sure if these links will provide the solution, These describe the process:
    Switch:
    http://help.sap.com/saphelp_nw04/helpdata/en/6a/db283fd0ca8443e10000000a114084/content.htm
    Condition Editor:
    http://help.sap.com/saphelp_nw04/helpdata/en/67/49767669963545a071a190b77a9a23/content.htm
    Examples using switch:
    http://help.sap.com/saphelp_nw04/helpdata/en/03/82d93fe80fed06e10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/d1/c8de3fc6c6ec06e10000000a1550b0/content.htm
    Cheers,
    Chandra

  • CcBPM - can't activate workflow when using expression in Condition editor

    Hi,
    My workflow (generated by ccBPM) won't be activated when I try to do an IDOC comparison (on DOCNUM), using an index (count), in the ccBPM Condition Editor.
    The condition looks like this:
    (msgs_receive[count]./HRTRPR01/IDOC/EDI_DC40/DOCNUM = msg_receive./HRTRPR01/IDOC/EDI_DC40/DOCNUM)
    There seem to be no errors when activating the Integration Process in the Integration Repository, however when looking into the SXI_CACHE, XI Directory cache, my integration process gets return code '99', even after reactivation.
    I get this error:
    Syntax error in expression Line1 Ext. IDE63443806B4211DBC393F1DE0ACE61FE
    The exception occurred (program: CL_SAI_SWF_RULE
    Symbol 'CE/KO' expected at position 1 in expression 'count{XSDSIMPLE::xsd:string;}'
    The only interpretation I make out of this is that it doesn't like my index (count) variable.
    Can anything be done to fix this?
    I use XI 3.0 SP14
    Thanks
    Olof Trönnberg

    Hi,
    Return code - 99
    1) Export  parameter might be wrong.
    2) Check Oss Notes 901366 & 708338.
    3) 99 occurs when there is a mismatch in the mapping
    4) 99 occur if all the active correlations are not used.
    5) Try this SXI_CACHE select your business process and
       click on activate. change the  the return code to 02
       and upon activating again.
    This will help you :
    http://help.sap.com/saphelp_bw31/helpdata/en/c6/893bca449311d1893e0000e8323c4f/content.htm
    Regards
    Agasthuri Doss

  • In PI 7.1, condition editor does not show the outbound interface structure

    Hello,
    I am using PI 7.1, I need to use condition whild determing receivers. So I opened the condition editor, then open the expression editor, select XPath instead of Context object. I would expect that the outbound interface structure appears in the box underneath the XPath, so that I can navigate the structure to choose the field I want to use. However nothing appears here. Do you knwo why is that? Or do I need to do anything to bring up the outbound interface structure in the expression editor?
    Thanks
    Jayson

    Hi Jayson,
    I had the same problem
    the use of context objects and the value help for xpath is available for XI3.0 interfaces in PI 7.10 only. The functionality for "new" interfaces has been implemented in 7.11 only.
    you have to use xpath w/o value help.
    I have created a context object in one of our 7.10 test systems, and indeed I was unable to use it in a receiver determination unless the service interface pattern is "Stateles (XI 3.0 compatible)". If you were to change the service interface to that pattern, you have to change the operation name unless it is already identical to the interface name. So that may not be an option for you.
    It was possible to use the context object in a receiver rule but then I could not activate the receiver determination because the software component version was supposedly unknown. I will check with my PI contacts - please let me know if the change to "XI 3.0" interface would be a possible workaround for you.
    Try the steps which I am giving below, although it's a workaround and don't know the exact reason why it is failing.
    1. Open your Outbound Message Interface (which you are using in your Receiver Determination) in IR, edit it and change the Interface pattern (which is there just below the category "Outbound") to "Stateless (XI30 - Compatible)" , save it activate it.
    2. Follow the same step for your Inbound Message Interface. Change the Interface Pattern from "Sateless" to "Stateless (XI30 - Compatible)" .
    3. Go to ID. Remove your Outbound and Inbound Message Interface from their respective Business Service/Comp and add it again.
    4. Create your your receiver determination again using the Outbound and Inbound MI you have changed.
    5. Open condition editor of your receiver determination.You should be able to see your Message Interface and can choose the XPath.
    Thanks,
    Raj
    Edited by: raj reddy on Jan 21, 2009 5:41 PM

  • Receiver determination wildcard in condition editor

    Hi experts,
    I have a question regarding the condition editor for receiver determinations on PI 7.1. I have an xpath expression on the left side and I need to have a condition on the right side that includes a certain pattern.
    One example:
    p1:myDocument/element = 1A2B*
    There I would want to read the xml element "element" and redirect to a certain communcation component if the value of 'element' starts with 1A2B.. regardless if its 1A2B3 or 1A2BC and so on.
    Is that possible? I tried like in the example to use * as a wildcard, but that didn't work.
    Any help would be appreciated.

    It should not be = operator ....it should be Contains Pattern Operator
    Refer: http://help.sap.com/saphelp_nwpi71/helpdata/EN/67/49767669963545a071a190b77a9a23/content.htm
    Regards,
    Abhishek.

Maybe you are looking for