XPATH Predicate for container variable of simple type in BPM

Hi Experts,
I have read various threads and blogs with this topic and as I couldn't get a clear view, hence I am raising it here. In my BPM, I am collecting idocs by means of a finite loop. I have used a receive step, container step(to append the idocs) and another container(to increment the counter_variable) in a loop. I want to run the loop for the condition: counter_variable<=3 whereas 'counter_variable' is a container variable of 'simple XSD type(XSD: integer)'.
All the blogs and threads  have demonstrated like how to use the EX operator with container variable of type 'Abstract interface'. But how can i incorporate the above scenario for a container variable of simple xsd type ? Please share your ideas.
Regards,
Laawanya

so this is what you need to do,
1. in your loop have a container operation that will increment your simple integer variable each time a message come in.
2. for your loop the condition will be, left operand (simple integer variable) /= (not equal) 3 (Constant)
Ref: SAP BASIS (SWCV) -> http://sap.com/xi/XI/System/Patterns -> Integration Process -> BpmPatternCollectPayload
the only difference here will be the loop condition to be altered as i have mentioned above.

Similar Messages

  • Need example for code use with Simple Type Enumeration

    Hello,
    I've created a Simple Type Enumeration in my Web DynPro Project's Local Directory.
    I see that there is an option there to generate a class representation of this Enumeration. Can someone please show me an example code of how to use this Class. For example, to go over the Enumeration and get all the values?

    hi Roy,
    Try this.
    Iterator chk =
    wdContext.nodeB().getNodeInfo().getAttribute("val").getModifiableSimpleType().getSVServices().getModifiableSimpleValueSet().entrySet().iterator();
    I will check it and tel u in some time...
    Regards
    Bharathwaj
    Message was edited by: Bharathwaj R

  • Using Standard Container Variables in Email Alerts from BPM

    Dear All
    While creating alert categories from ALRTCATDEF we have a Long Text Tab where we can use Container  Variables like  SXMS_MSG_GUID ,SXMS_RULE_NAME, SXMS_ERROR_CAT , SXMS_ERROR_CODE etc create the mail contents.  We can also display the message passed by the BPM by using the variable
    ALERTDYNAMIC_SHORTTEXT , ALERTDYNAMIC_LONGTEXT .
    In my case when I call the alert category from the BPM , the message passed by the BPM is displayed through the ALERTDYNAMIC_LONGTEXT in the alert inbox , but I am not able to utilize the other container variables (like SXMS_MSG_GUID ,SXMS_RULE_NAME, SXMS_ERROR_CAT ) for displaying the messageid ,error category etc. Using these variables for alerts invoked from BPM results in Blank Values for all the container variables.
    If the alert is not invoked from BPM these variables are getting populated.
    My question is is there a way by which we can utilize these variables for Alerts thrown from BPM.
    regards
    Nilesh .

    hi check the below links for reference:
    http://help.sap.com/saphelp_nw04/helpdata/en/d0/d4b54020c6792ae10000000a155106/content.htm
    http://rant03.ranffm.de:50000/rwb_mdt/detailsservlet?objectName=name=is.00.rant03,type=XIIntegrationServer&rwb=true&XIDomain=domain.00.rant03&archive=false&selectMessage=%SXMS_MSG_GUID%
    note:reward points if solution found helpfull.....
    regards
    chandrakanth.k

  • Code help for formula variable with processing type customer exit

    Hi Gurus,
    I need help in user exit code. I am calculating a formula variable ( demand variability) in the user exit for a range of values given in the selection screen ( i.e processing based on the values given I_STEP = 2).
    i am able to populate the E_T_RANGE table  but the output is sending a single value output.
    Expected Output
    Plant ( sel screen Input) I Material ( Sel screen Input) I Demand Var(calculated O/P)
    1800   I  12345 I   0.609
    1700  I   21355 I   1.234                     
    Actual Result
    Plant ( sel screen Input) I Material ( Sel screen Input) I Demand Var(calculated O/P)
    1800   I  12345 I   0.609
    1700  I   21355 I   0.609(WRONG )               
    Here you can see that its sending the same values for all the plant and material combination.
    I found in debugging that it populates 2 values into E_T_RANGE table in loop. But it is giving out only one value to all.
    I tried to refresh and clear that but its giving the same output. Can we use E_T_RANGE in loop to give out range of values?. how to out put this throught user exit?
    did anyone face this kind of issue and solved it?. Help is needed urgently. any help or guidance is greatly appreciated.
    Regards
    satish.

    Hi Oliver,
    Thanks for the reply. Dont get confused here please. It was an example . For example
    I give one plant as input and 2 materials as input .
    You see the sample code :
    WHEN 'ZPRDEMVA'. ( formula variable name)
        IF i_step = 2.
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
                  WHERE VNAM = 'ZPRPLTSV'. ( plant variable input)
          CLEAR L_S_RANGE.
            v_werks          = LOC_VAR_RANGE-LOW.
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
                  WHERE VNAM = 'ZPRMATSV'.
          CLEAR L_S_RANGE.
            v_matnr          = LOC_VAR_RANGE-LOW.
    CALCULATES THE FORMULA VARIABLE (DEMAND VARIABILITY)    
    WE TAKE DATA FROM ANOTHER ODS AND DOES CALCULATION.
          l_s_range-sign = 'I'.
          l_s_range-opt = 'EQ'.
          l_s_range-low = sum2.
    DOES ALL CALCULATIONS PERFECTLY AND SINCE THERE ARE 2 MATERIALS AS INPUT, PUTS 2 VALUES IN E_T_RANGE. BUT IN THE OUPUT IT DUPLICATES SAME VALUE TO 2 RECORDS AS I POSTED IN THE FIRST
          Append l_s_range to E_T_RANGE.
          ENDLOOP.
          ENDLOOP.
        ENDIF.

  • Add 2 container variables in control step BPM

    Hi All,
    I have a scenario where I need to add 2 container variables in control step under AlertMessage and I am using under exception branch
    Control Step
    StepName: XXXX
    Action      : XXXX
    AlertCategory: XXXX
    AlertMessage: ?
    I am successful putting one container variable in alert message with &AAAA& but I want to add another variable values &BBBB& as well.
    When I tried to keep variables as &AAAA& and &BBBB&..I can return code 99 in sxi_cache.
    How can I achieve this with BPM..I am using sap pi 7.0

    may be i need to explain more clearly..
    I have 2 container variables with simple type which holds 2 different payload values.
    Under exception branch I have a control step to throw alert. In this I need to pass alert messages with these 2 varaibles.
    As I said earlier I am able to pass successfully one container variable value but when I insert the second variable it is not picking up and when I check sxi_cache the IP return was 99 which means some error occured while assiging these values.( I tried in different ways)
    But when I inserted has &AAAA& and &BBBB& then reuton code was 0 but whn I run scenario it is not populating both values
    Can anyone please help me how I can populate 2 variable values in alert message under control step.

  • Alert rule container variable not getting filled up

    I  want to generate an alert if file content conversion fails. Created  an alert category with the SXMS_TO_ADAPTER_ERRTXT as a container variable of dictionary type Char70 as included it in the long text.Created an alert rule in the RWB. I am getting the alert in the inbox but nothing is filled in for SXMS_TO_ADAPTER_ERRTXT. We are on  PI7.0 SP9.
    Has anybody noticed similar problems ?

    Hi Sangeeta, I had the same problem but I couldn't fixed because there was not enough time to do it, I created my own message with almost all the XI container variables. And the messages are very helpful. I send you some links
    Container variable
    http://help.sap.com/saphelp_nw04/helpdata/en/d0/d4b54020c6792ae10000000a155106/content.htm
    Alert notification step-by-step
    http://help.sap.com/saphelp_nw04/helpdata/en/d0/5e073c8e56f658e10000000a114084/frameset.htm
    Michal's weblog
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
    I hope it can help you.
    Regards
    Omar Hernandez

  • Container Variable in Alert

    Daer Experts,
    I m trying to configure Alert and in the Long Text, I want to pass  the value of an element in the pay load.
    What I believe that, I have to create a container variable .
    I think that while creating container variable, under D.TYPE Tab, the radio button "Object Type" is to be selected and Object Type should be  "XML OBJECT TYPE" . When I m clicking on F4 button,I am getting a list of Objects. How I'll include mine in the list?
    Pls let me know, is there any other way to do?
    Please give some  solution.

    Hi,
    check the following links
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
    /people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated
    list of standard container variables:
    http://help.sap.com/saphelp_nw04/helpdata/en/d0/d4b54020c6792ae10000000a155106/content.htm
    check these too..
    1. http://help.sap.com/saphelp_nw04/helpdata/en/53/02153cdcf89e56e10000000a11405a/frameset.htm
    2. http://help.sap.com/saphelp_nw04/helpdata/en/c5/e4b130453d11d189430000e829fbbd/frameset.htm
    I don't think we need to create container variables...we can make use of the existing ones.
    Thanks,
    Vijaya.

  • Simple type binding

    I declared in the context an element for having a custom simple type defined by me.
    I use this type for a drop down element.
    I filled this simple type dynamically in the controller init.
    How can i access in another view all the elements (that i have filled in the controller init method) for this simle type, not only the selected key??
    Thnak you,
    Florin

    Florin,
    1. Create same attribute in component controller.
    2. Move your code for dynamic value set to component controller init
    3. Map any original view context attribute and context attribute of any additional view(s) to attribute in component controller.
    Valery Silaev
    EPAM Systems
    http://www.NetWeaverTeam.com

  • Can we set a default value for the container variable in BPM?

    Can we set a default value for the container variable.?
    Suppose if i have a loop step and i have given a container variable i=5 as end condition.What value will it take during its first execution?Can we set the value for container before a recieve step?

    Hi
    Define Container Variable of Type integer and Category Simple Type .Use Condtion in Loop.
    In Container Operation Step Assign value and Use Expression to
    Increase or Decrease Valus according to your operation.
    look Pattern 4 in this blog to understand Container Operation
    /people/sharathchandra.girmaji/blog/2008/09/11/bpm-with-patterns-explained-part-1

  • Accessing Simple Type Variable Defined in BPEL Flow, in Transformation

    Hi,
    I am using Transform Process Activity. In transform mapping, i would like to map one target element with a value defined in a 'simple type variable' which is defined in calling BPEL Flow, however I am not able to do it.
    for example:
    I have a BPEL process A where there is a variable NOTIFICATION_EVENT_ID of simple type integer. when I am trying to access it through the function bpws.getVaraibleData(NOTIFICATION_EVENT_ID, "") then it is failing, while giving a hard-coded value makes it run
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
    <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
    <mapSources>
    <source type="XSD">
    <schema location="MarketStatus.xsd"/>
    <rootElement name="MarketStatus" namespace="http://www.j.com/soa/2007-07-17/MarketStatus.xsd"/>
    </source>
    </mapSources>
    <mapTargets>
    <target type="XSD">
    <schema location="MarketNotificationMsg.xsd"/>
    <rootElement name="MarketNotificationMsg" namespace="http://www.j.com/soa/2007-07-17/MarketNotificationMsg.xsd"/>
    </target>
    </mapTargets>
    ?>
    <xsl:stylesheet version="1.0"
    xmlns:m="http://www.j.com/soa/2007-07-17/MarketStatus.xsd"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:ns0="http://www.j.com/soa/2007-07-17/MarketNotificationMsg.xsd"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    exclude-result-prefixes="xsl m xs ns0 xp20 bpws ora ehdr orcl ids hwf">
    <xsl:template match="/">
    <ns0:MarketNotificationMsg>
    <xsl:for-each select="/m:MarketStatus/m:MarketRun[1]">
    <ns0:MarketEvent>
    <ns0:eventID>
    <!--          <xsl:value-of select='string("33")'/> -->
    <xsl:value-of select='bpws:getVariableData("NOTIFICATION_EVENT_ID","")'/>
    </ns0:eventID>
    <ns0:tradeDay>
    <xsl:value-of select="m:marketStartTime"/>
    </ns0:tradeDay>
    <ns0:MarketRun>
    <ns0:marketRunID>
    <xsl:value-of select="m:marketRunID"/>
    </ns0:marketRunID>
    <ns0:marketID>
    <xsl:value-of select="m:marketID"/>
    </ns0:marketID>
    </ns0:MarketRun>
    </ns0:MarketEvent>
    </xsl:for-each>
    </ns0:MarketNotificationMsg>
    </xsl:template>
    </xsl:stylesheet>
    Suggest some pointers.

    > You could use the processXSLT with parameters like here :
    >
    http://blogs.oracle.com/rammenon/2007/05/07
    Hey Eric,
    Thanks for the reply and indeed that was a direct pointer for the problem I was facing.
    HOWEVER :) it dint work on the version of BPEL PM or BPEL Engine I am working on. it seems that either I have configured wrongly or version on which I am working doesn't support this.
    Version I am working on: 10.1.3.2.0
    I am not getting any compile time error however on runtime it is failing saying:
    ORABPEL-09503 Invalid xpath expression. Error while parsing xpath expression "ora:processXSLT('Map_Notification.xsl', bpws:getVariableData('Invoke_CreateMarketAndRelatedEntities_process_OutputVariable','payload'), bpws:getVariableData('Properties'))", the reason is Error in expression: 'ora:processXSLT('Map_Notification.xsl', bpws:getVariableData('Invoke_CreateMarketAndRelatedEntities_process_OutputVariable','payload'), bpws:getVariableData('Properties'))'.. Please verify the xpath query "ora:processXSLT('Map_Notification.xsl', bpws:getVariableData('Invoke_CreateMarketAndRelatedEntities_process_OutputVariable','payload'), bpws:getVariableData('Properties'))" which is defined in BPEL process.
    I will upload BPEL process created snip of my complex Bigger BPEL process but till the time suggest me if this hints you anything.
    Is I am missing something?
    Thanks.

  • Workflow Step type for Container Operation

    Hi,
    A STEP in a given Workflow has to have an Agent? Can't I create a Step to get data from the DB into the container and that's it?
    I have created a container variable called "Grade" and I need to fetch the Grade of a User (WF Inititator) from a DB table and populate the "Grade" variable from the container that will be used in further steps.
    The Workflow gets kicked off but when it reaches the STEP, it stays there waiting for something (Action from a user?).
    Thanks & Regards,
    Ernesto

    Ok, now this is getting weird. Will try to explain what I am doing for one single step:
    1) I have my workflow. On PFTC I Have a workflow Template. Under the Container Tab I created a Parameter called "Grade" with the Import/Export check-boxes set and a "CreatedBy" parameter with the import/export check-boxes set as well.
    2) Then on the Workflow Builder I created a Step called Get Grade. This step calls a Custom Task and processes in the background so there is no agent determination.
        2.1) Here I have two bindings: a) Binding Between Workflow Container and Task and between Task and BO Method       
               Get_grade.  The Method Get_grade has 2 parameters (CreatedBy, that is an attribute of the Object and is an import
               parameteter and Grade that it is an import/export parameter).
        2.2) The Binding between the WF Container and the Task is like this:
                  &PROCCONFIRMATION.CREATEDBY& --> &CREATEDBY&
                  &GRADE& <-- &GRADE&
        2.3) Binding Between Task and Method is:
                 &_WI_OBJECT_ID.CREATEDBY& --> &CREATEDBY&
                 &GRADE& <-- &GRADE&   
        2.4) The Code for my method is:
    begin_method get_grade changing container.
    DATA:
          lv_grade TYPE zmm_app_req_info-grade,
          lv_userid TYPE zmm_app_req_info-requestor
    swc_get_property self 'CreatedBy' lv_userid.
    SELECT SINGLE grade FROM zmm_app_req_info
    INTO lv_grade
    WHERE requestor = lv_userid.
    IF sy-subrc IS INITIAL.
      swc_set_element container 'Grade' lv_grade.
    ENDIF.
    end_method.
    The only thing I need is to get the Grade parameter of the WF Container populated. This parameter will be used later on.
    Thanks & Regards,
    Ernesto.

  • How to use simple types for table column names ?

    Hi,
    can any one tell how to to use simple types for table column names?
    It is required in internationalizing of webdynpro applications.
    Regards,
    Rajesh

    Hi,
    1: define required column names in <SimpleType>
    2:use the following code to get those values
    3:bind 'text' property of Column headers to context attributes
    4:take a context attribute 'Value' as type of <SimpleType>
    5:set these values to context attributes
    IWDAttributeInfo objAttrInfo=wdContext.getNodeInfo().getAttribute(IPrivate<ViewName>View.IContextElement.VALUE);
    ISimpleTypeModifiable simple=objAttrInfo.getModifiableSimpleType();
    Map m=simple.getEnumerationTexts();
    Collection c=m.values();
    Iterator it=c.iterator();
    if(it.hasNext())
    wdContext.currentContextElement.set<att1>(it.next().toString);
    if(it.hasNext())
    wdContext.currentContextElement.set<att2>(it.next().toString);
    if(it.hasNext())
    wdContext.currentContextElement.set<att3>(it.next().toString);
    Regards
    LakshmiNarayana

  • Customised xpath expression for does not contain

    Hi folks,
    Is there a customised symbol for xpath expression for "does not contain" . cant seem to find it in the xpath operators.
    Thanks
    Pratichi

    Hi,
    Refer the below link:
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/44/15981541f7648ee10000000a1553f7/content.htm
    -Supriya.

  • Error validating business rules containing variable from another plan type.

    We have created few business rules in in plan type "Plan1" which we are using variable from plan type "Capex". This is how we are using it.
    "(@XREF(cpx,"Intangible Assets Finite, Gross","Unspecified","No Project","Information Technology (IT)","371064911-01"))"
    But when we validate this rule it gives the following error
    "An error occurred in: Rule:IFLJAN13.Plan1.B - Trail Balance - Capex
    A validation error was received from the Planning server 'http://hptstorg:8300/HyperionPlanning/servlet/HspAppManagerServlet?appname=IFLJAN13'.
    'Error:The member 'Unspecified' cannot be found.
    The member 'Unspecified' cannot be found.
    The member 'Intangible Assets' cannot be found.
    The member 'Unspecified' cannot be found.
    The member 'Unspecified' cannot be found. Rule IFLJAN13.Plan1.B - Trail Balance - Capex'."
    We have checked the location aliases using EAS Console and they are correct.

    Could you pls. check if you can see your BR in the location for the cube where you are unable to validate the rule?! (EAS console --> Administration --> Locations --> (right click) open)
    your user must be able to "validate or launch" the rule in this location (changeable with "Add Access Privileges") and the rule itself must be able to launch in this location (changeable with "Add rules").
    Kind regards
    André

  • Container variable for softw component/version in alert configuration

    Hi Experts,
    I am unable to find the container variable for SWC/SWCV in the sap help..
    do we have anythign for this?
    I have used all the other variables like msg ID, sender/rcvr interface etc.
    Pls share ur thoughts
    Regards,
    Teja

    I am unable to find the container variable for SWC/SWCV in the sap help..
    do we have anythign for this?
    you dont get a variable for SWCV....if your alert is related to a process X and if process X is related only to SWCV_A then you can hardcode the same into your alert Long/ short text which you define in the alert category.

Maybe you are looking for

  • In Po, How to call different language form ?

    Hi Experts   For our Japan/China Po form, it has different language. When we create Po and get the output type, How to control which language form it will call?  Since on different language form, some words language is different . THanks ALice

  • Sending xml files via AS2 adapter

    Hi Experts, I have an interface which requires an IDOC to XML scenario. This is a simple pick and drop scenario with no mapping required. We just have to send the IDOC to the 3rd party via AS2 receiver in XML format. Currently, the 3rd party receiver

  • How to run the processRequest initialization only once

    My home page has a table that is initially populated based on the users userId. The user can then select a differnt user to display data for. From the table, the user can drill down to another page. If the user uses the browser back button (need to p

  • Delete Radio channels in iTunes?

    I have a huge number of Radio channels that Apple iTunes (v 10.6.1) comes with by default (as you know if you've ever looked at the Radio listings). How can I delete most of them so I don't have to scroll through them? If I have to do it via Terminal

  • Support is Shocking

    What has happened to the Support? Is this change due to the big change we have seen, with all BC stuff going under the Adobe roof. Not impressed by it at all. Just logged on to try and get chat support, joined the session at 4.55pm PST where I was to