BPEL function to query the Element Name and get the count of elements

Hi Guys,
I have problem with the following, can you please help me out with this.
Say i have an xml pay load:
<ns1:sampleEBO>
               <ns1:PhysicalLocation>
               <ns1:propertis>
                    <ns1:filedType>12</ns1:filedType>
                         <ns1:filedType1>12</ns1:filedType1>
                         <ns1:filedType2>12</ns1:filedType2>
<ns1:filedType3>12</ns1:filedType3>
                         <ns1:filedType4>12</ns1:filedType4>
                         <ns1:filedType5>12</ns1:filedType5>
</ns1:properties>
<ns1:propertis>
                    <ns1:filedType>12</ns1:filedType>
                         <ns1:filedType1>12</ns1:filedType1>
                         <ns1:filedType2>12</ns1:filedType2>
<ns1:filedType3>12</ns1:filedType3>
                         <ns1:filedType4>12</ns1:filedType4>
                         <ns1:filedType5>12</ns1:filedType5>
               </ns1:properties>
<ns1:sampleEBO>
               <ns1:PhysicalLocation>
Here i want to retrive the Element name ( filedType,fieldType1,fieldType2......) using any BPEL function, not the value and also get the total number of elements in the each node ( <properties> ). If i am using the "count" function its returning 2 and it's counting the properties node not the elements in the properties node.
So, can you please let me know of any function in BPEL which can do this ?
Thanks,
Krish

you only want to use a default bpel function for this? not from within xsl?
and the function should return an arraylist of elementnames i assume ?
               <xsl:for-each select="//properties">
                    <xsl:for-each select="./*">
                         <xsl:value-of select="local-name()"/>
                         <xsl:choose>
                              <xsl:when test="substring(local-name(),1,9) ='filedType' ">
                         </xsl:when>
                         </xsl:choose>
                    </xsl:for-each>
               </xsl:for-each>
               <count1><xsl:value-of select="count(//properties[1]/*)"/></count>
               <count2><xsl:value-of select="count(//properties[2]/*)"/></count>the count can also be used in some for-each construction or from within your bpel flow itself (if you want to loop over there, instead of xsl)

Similar Messages

  • I had no problem connecting to my network and now all of a sudden I can't connect.  Instead of prompting me for a password it comes back and says unable to join the network ("name") and then the option is Dismiss.  Anyone else have that problem?

    I had no problem connecting to my network and now all of a sudden I can't connect my iPad.  Instead of prompting me for a password it comes back and says unable to join the network ("name") and then the option is Dismiss.  Anyone else have that problem?  I've gone thru all my settings and can't seem to find a way to log into my network.  Don't get the option to put in my password.  It just give me the name of my network and option of dismiss instead of password.

    1. Turn router off for 30 seconds and on again
    2. Settings>General>Reset>Reset Network Settings

  • HT3986 Using Boot Camp 4 and Windows 7.   Try to change name of the C: drive and get the dialog "You will need to provide administrative permission to change the name".  How do I change the C: drive name?

    I tried to change name of the C: drive and get the dialog "You will need to provide administrative permission to change the name".  How do I change the C: drive name?

    Forgot to specify:
    Im using an older Unibody Macbook (back when they were not all macbook pro's) 2008ish with Snow leopard 1.6.8
    The thread you linked me to, Eric, shows the guy 'Niganit' with the eXACT SAME PROBLEM as me! He seems to have found out the problem but I dont see his resolve.
    I just dont have the option to install windows 7 in any other form that a cd
    a picture;

  • How do I reset the "administrator" name and password - the one that I use when I first log on? Thanks

    When I first turn on the computer (MacBook Pro) I am required to type in a password.  How do I change that username and password?  Thanks

    ds store wrote:
    Reboot with the installer disk that comes with the computer, you need to hold c while booting, under the second or third screen is a menu option to reset the password.
    This is necessary if you don't remember the password. However if you know it and just wnat to change it, go to system preferences, accounts and then unlock it by typing in the admin name and password (the current one). Now click on the admin account on the side and you can change the name by typing one in the full name: box and the password by clicking the change password button.

  • What is the BAPI name to get the details of sales order

    hi
    what is the BAPI name to get the details of sales order

    hI
    BAPISDORDER_GETDETAILEDLIST Sales Order: List of All Order Data
    BAPI_ORDER_CHANGE_STATUS_GET Change status for order
    BAPI_SALESDOCU_CREATEFROMDATA Creating a Sales Document
    BAPI_SALESORDER_CHANGE Sales Order: Change Sales Order
    BAPI_SALESORDER_CREATEFROMDAT1 Sales Order: Create Sales Order
    BAPI_SALESORDER_CREATEFROMDAT2 Sales Order: Create Sales Order
    BAPI_SALESORDER_CREATEFROMDATA Create sales order, no more maintenance
    BAPI_SALESORDER_GETLIST Sales order: List of all orders for customer
    BAPI_SALESORDER_GETSTATUS Sales order: Display status
    BAPI_SALESORDER_SIMULATE Sales Order: Simulate Sales Order
    reward points to all helpful answers
    kiran.M

  • When ever I use Adobe reader 11 with a USB device, I cannot safe remove the USB device and get the following message (or similar one) in system log:  The application \Device\HarddiskVolume1\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe with pr

    When ever I use Adobe reader 11 with a USB device, I cannot safe remove the USB device and get the following message (or similar one) in system log:  The application \Device\HarddiskVolume1\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe with process id 6620 stopped the removal or ejection for the device USB\VID_05DC&PID_C75C\20131215015821328FC8.
    I am running on Windows Server 2012 R2 in Desktop Experience mode.
    Any ideas?
    Roger

    In addition to that symptom, I discovered that even though I had closed all Adobe Reader sessions, the processes kept running and used up 90%+ of my CPU.

  • How to replace a dates on a SQL query on Visual Studio (and get the query to work in there in the first place)?

    Morning all,
    I've just been assigned a report-related project but I have not created much of anything in C# or .Net before!
    I was wondering if someone could help me get started. Here are the specifications:
    Basically, I am to create an automated report application. I have the query and I will include it further down
    in this post. The page is to have a couple blanks to specify the Start Date and End Date and replace those dates in the query, and generate the report. What I need some help on is how to make the SQL query work in the application which I will connect to the
    intended database to generate the report (basic I know, but I'm new at this) on Visual Studio 2010. I also need some help on programming the Start Date blank and End Date blank so that what the user types in for those blanks will replace the date fields in
    the SQL query, then generate the report with the new dates. 
    I appreciate the help!
    The SQL query and what the dates are replacing:
    select 
    PTH.INST_ID ,
    PTH.EMPLOYEE_ID,
    DBH.HR_DEDUCTION_AND_BENEFITS_CODE,
    replace(DB.DESCRIPTION,',',''),
    DB.WITHHOLDING_LIABILITY_ACCOUNT_MASK,
    DBH.HR_DEDUCTION_AND_BENEFITS_ID,
    DBH.CHECK_DATE,
    DBH.CHECK_NO,
    DBH.FIN_INST_ACCT_ID,
    replace(replace (DBH.COMMENT,CHAR(10),' '),CHAR(13),' '),
    DBH.HR_DEDUCTION_AND_BENEFIT_CYCLE_CODE,
    DBH.LENGTH,
    DBH.EMPLOYEE_COMPUTED_AMOUNT,
    DBH.EMPLOYEE_BANK_ROUTING_NUMBER,
    DBH.EMPLOYEE_ACCOUNT_TYPE,
    DBH.EMPLOYEE_ACCOUNT_NUMBER,
    DBH.EMPLOYER_COMPUTED_AMOUNT,
    DBH.EMPLOYEE_GROSS_AMOUNT,
    DBH.EMPLOYER_GROSS_AMOUNT,
    DBH.PAYROLL_EXCLUDE,
    PTH.VOID_DATE,
    PTH.BATCH_QUEUE_ID,
    B.BATCH_CODE,
    BQ.FY,
    BQ.END_DATE,
    BQ.COMMENTS,
    BQ.BATCH_CRITERIA_USED,
    BP.COLUMN_VALUE,
    PTH.REPLACEMENT,
    P.LAST_NAME,
    P.FIRST_NAME,
    P.MIDDLE_NAME
    from PY_EMPLOYEE_TAX_HISTORY PTH
    INNER JOIN PERSON_EMPLOYEE PE ON
    PE.INST_ID=PTH.INST_ID AND
    PE.EMPLOYEE_ID=PTH.EMPLOYEE_ID
    INNER JOIN PERSON P ON
    PE.INST_ID=P.INST_ID AND
    PE.PERSON_ID=P.PERSON_ID
    LEFT JOIN HR_EMPLOYEE_DEDUCTIONS_AND_BENEFITS_HISTORY DBH ON
    PTH.INST_ID=DBH.INST_ID AND
    PTH.CHECK_DATE=DBH.CHECK_DATE AND
    PTH.CHECK_NO=DBH.CHECK_NO AND
    PTH.EMPLOYEE_ID=DBH.EMPLOYEE_ID
    LEFT JOIN HR_DEDUCTION_AND_BENEFITS DB ON
    DB.INST_ID=DBH.INST_ID AND
    DB.HR_DEDUCTION_AND_BENEFITS_CODE=DBH.HR_DEDUCTION_AND_BENEFITS_CODE
    LEFT JOIN BATCH_QUEUE BQ ON
    PTH.BATCH_QUEUE_ID=BQ.BATCH_QUEUE_ID
    LEFT JOIN BATCH B ON
    B.BATCH_CODE=BQ.BATCH_CODE 
    LEFT JOIN BATCH_PARAMETER BP ON
    BQ.BATCH_QUEUE_ID=BP.BATCH_QUEUE_ID
    AND BP.COLUMN_NAME = 'SUPPRESS_DIRECT_DEPOSIT'
    ------Please change the WHERE condition for date range of the month you need to run this for.
    WHERE PTH.CHECK_DATE >='07/01/2013'
    AND PTH.CHECK_DATE <='07/31/2013'
    and BQ.BATCH_CODE='BAT_PY_PAYCALC'
    and bq.fy=2014
    ORDER BY PTH.INST_ID ,
    PTH.EMPLOYEE_ID,
    DBH.HR_DEDUCTION_AND_BENEFITS_CODE,
    DBH.CHECK_DATE

    Try this code.  The Server name will be the same name when you use SQL Server Management Studio (SSMS).  It is in the login window for SSMS.  I assume you are using SQLSTANDARD (not SQLEXPRESS) which is in the connection string in the code
    below. I also assume you have remote connection allowed in the database.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    namespace ConsoleApplication1
    class Program
    const string DATABASE = "Enter Database Name Here";
    const string SERVER = "Enter Server Name Here";
    static void Main(string[] args)
    DateTime startDate = DateTime.Parse("07/01/2013");
    string startDateStr = startDate.ToString("MM/dd/yyyy");
    DateTime endDate = new DateTime(startDate.Year, startDate.Month + 1, 1).AddDays(-1);
    string endDateStr = endDate.ToString("MM/dd/yyyy");
    string connStr = string.Format("Server={0}\\SQLSTANDARD;Database={1};Trusted_Connection= True;", SERVER,DATABASE);
    string SQL = string.Format(
    "select\n" +
    " PTH.INST_ID\n" +
    ",PTH.EMPLOYEE_ID\n" +
    ",DBH.HR_DEDUCTION_AND_BENEFITS_CODE,\n" +
    ",replace(DB.DESCRIPTION,',','')\n" +
    ",DB.WITHHOLDING_LIABILITY_ACCOUNT_MASK\n" +
    ",DBH.HR_DEDUCTION_AND_BENEFITS_ID\n" +
    ",DBH.CHECK_DATE\n" +
    ",DBH.CHECK_NO\n" +
    ",DBH.FIN_INST_ACCT_ID\n" +
    ",replace(replace (DBH.COMMENT,CHAR(10),' '),CHAR(13),' ')\n" +
    ",DBH.HR_DEDUCTION_AND_BENEFIT_CYCLE_CODE\n" +
    ",DBH.LENGTH\n" +
    ",DBH.EMPLOYEE_COMPUTED_AMOUNT\n" +
    ",DBH.EMPLOYEE_BANK_ROUTING_NUMBER\n" +
    ",DBH.EMPLOYEE_ACCOUNT_TYPE\n" +
    ",DBH.EMPLOYEE_ACCOUNT_NUMBER\n" +
    ",DBH.EMPLOYER_COMPUTED_AMOUNT\n" +
    ",DBH.EMPLOYEE_GROSS_AMOUNT\n" +
    ",DBH.EMPLOYER_GROSS_AMOUNT\n" +
    ",DBH.PAYROLL_EXCLUDE\n" +
    ",PTH.VOID_DATE\n" +
    ",PTH.BATCH_QUEUE_ID\n" +
    ",B.BATCH_CODE\n" +
    ",BQ.FY\n" +
    ",BQ.END_DATE\n" +
    ",BQ.COMMENTS\n" +
    ",BQ.BATCH_CRITERIA_USED\n" +
    ",BP.COLUMN_VALUE\n" +
    ",PTH.REPLACEMENT\n" +
    ",P.LAST_NAME\n" +
    ",P.FIRST_NAME\n" +
    ",P.MIDDLE_NAME\n" +
    " from PY_EMPLOYEE_TAX_HISTORY PTH\n" +
    " INNER JOIN PERSON_EMPLOYEE PE ON\n" +
    " PE.INST_ID=PTH.INST_ID AND\n" +
    " PE.EMPLOYEE_ID=PTH.EMPLOYEE_ID\n" +
    " INNER JOIN PERSON P ON\n" +
    " PE.INST_ID=P.INST_ID AND\n" +
    " PE.PERSON_ID=P.PERSON_ID\n" +
    " LEFT JOIN HR_EMPLOYEE_DEDUCTIONS_AND_BENEFITS_HISTORY DBH ON\n" +
    " PTH.INST_ID=DBH.INST_ID AND\n" +
    " PTH.CHECK_DATE=DBH.CHECK_DATE AND\n" +
    " PTH.CHECK_NO=DBH.CHECK_NO AND\n" +
    " PTH.EMPLOYEE_ID=DBH.EMPLOYEE_ID\n" +
    " LEFT JOIN HR_DEDUCTION_AND_BENEFITS DB ON\n" +
    " DB.INST_ID=DBH.INST_ID AND\n" +
    " DB.HR_DEDUCTION_AND_BENEFITS_CODE=DBH.HR_DEDUCTION_AND_BENEFITS_CODE\n" +
    " LEFT JOIN BATCH_QUEUE BQ ON\n" +
    " PTH.BATCH_QUEUE_ID=BQ.BATCH_QUEUE_ID\n" +
    " LEFT JOIN BATCH B ON\n" +
    " B.BATCH_CODE=BQ.BATCH_CODE\n" +
    " LEFT JOIN BATCH_PARAMETER BP ON\n" +
    " BQ.BATCH_QUEUE_ID=BP.BATCH_QUEUE_ID\n" +
    " AND BP.COLUMN_NAME = 'SUPPRESS_DIRECT_DEPOSIT'\n" +
    " WHERE PTH.CHECK_DATE >='{0}'\n" +
    " AND PTH.CHECK_DATE <='{1}'\n" +
    " and BQ.BATCH_CODE='BAT_PY_PAYCALC'\n" +
    " and bq.fy=2014\n" +
    " ORDER BY PTH.INST_ID\n" +
    ",PTH.EMPLOYEE_ID\n" +
    ",DBH.HR_DEDUCTION_AND_BENEFITS_CODE\n" +
    ",DBH.CHECK_DATE", startDateStr, endDateStr);
    SqlDataAdapter adapter = new SqlDataAdapter(SQL, connStr);
    DataTable dt = new DataTable();
    adapter.Fill(dt);
    jdweng
    Could you elaborate more on what this code does in general?
    Does it generate a table with the data between specified dates? If so, where is the table shown? 
    Where does one enter in the specified start and end dates on the Web Application? Do I have to create start and end date blanks and link them to the code for it to work?
    Sorry for the inconvenience - I'm just really new at this. Thanks!

  • Need to validate file Name,split the file name and store the splited values into Variables

    Dear All,
    Below is the my requirement.
    I have a folder, in that folder I have bunch of text files. The file name is below format
    ACA_122_pay_20140430_001
    Initially the file name start with ACA code,groupid,group name and date time stamp. This is the standard structure of file name.
    I want to check each and every file in the folder with this structure. The structure should be standard for all the files. If the structure same for all files I need to get codes form file name. For example
    If you see the below file name, I need to get ACA and put into variable,I need to get 122 and put into variable. For group name and date time needs to put in variable.
    If the file format is not valid state then I need to log exception.
    Let me know if I am not clear.
    Kindly provide the C# code for achieving the above requirement.
    As I am new to .net programming. kindly help me.
    Thanks in Advance,
    Regards,
    Madhava Ganji
    Madhava Ganji

    Hi MadhavaGanji,
    I have post how to validate the file name, header row against definition table which stored the file name and column definition. 
    Take a look and see if this is helpful.
    http://sqlage.blogspot.com/2013/11/ssis-validate-file-header-against.html
    http://sqlage.blogspot.com/

  • Pass the structure name and return the description fields.

    Hi experts!!,
    I would like to know a class and the method that I pass the structure name and return all the description fields.
    Thanks a lot

    Hello Ana
    Have a look at class CL_ABAP_STRUCTDESCR.
    DATA: ls_knb1   TYPE knb1.
    DATA: lo_typedescr    TYPE REF TO cl_abap_typedescr.
    DATA: lo_strucdescr   TYPE REF TO cl_abap_structdescr.
    DATA: lt_dfies            TYPE ddfields.
    lo_typedescr = cl_abap_structdescr=>describe_by_data( ls_knb1 ).
    lo_structdescr ?= lo_typedescr.
    lt_dfies = lo_structdescr->get_ddic_field_list( ).
    " Or check public attribute: lo_structdescr->components   for non-DDIC structures
    Other useful RTTI classes are:
    CL_ABAP_DATADESCR
    CL_ABAP_TYPEDESCR
    CL_ABAP_TABLEDESCR
    CL_ABAP_CLASSDESCR
    Regards
      Uwe

  • How do I get the List REST method to return the results with the display name and not the internal name. I also need the hyperlink to the attached document.

    FileSystemObjectType: 0
    Id: 2
    ContentTypeId: "0x010100517BCCBD1C63034A8C1141184DAB12C5"
    Title: null
    OData__dlc_DocId: null
    OData__dlc_DocIdUrl: null
    zopv: "Paint Specification"
    s2ue: "J"
    We'd prefer to make a single call. It's too bad the REST Api doesn't return the data in the same format as the WCF service, which uses the Display Name and not Internal Name. It also includes the hyperlink to the document.

    Hi,
    You can get the display name of fields with typedisplayname property.For more information,you can refer to the article:
    http://msdn.microsoft.com/en-us/library/office/dn600182(v=office.15).aspx#bk_Field
    Best Regards,
    Eric
    Eric Tao
    TechNet Community Support

  • To upload the ZIP file and get the filenames available in ZIP file in ABAP

    Hi Experts,
    For my requirement, file from legacy comes as ZIP file with number of files in that.
    Please provide one code sample to upload the ZIP file from local workstation and get the filenames available in ZIP file to check few filename validation checks for the available files in report program.
    Thanks in Advance,
    Regards,
    Basani

    1. Copy the ZIP file into App server
    2. Call function
      call function 'RFC_REMOTE_PIPE'
        destination 'SERVER_EXEC'
        exporting
          command = command  " Unzip command gunzip /path & file
          read = 'X'
        tables
          pipedata = std_lines
    then you can read the files and can validate the file names

  • Ring Control Output is the Item name and not the value

    Hello. I am new to Labview. I am experimenting with labview and just creating simple VI's to learn about the software. I have placed a ring control and attached an indicator to that ring control. I thought that the purpose of a ring control was to select an item and output a value. For example, I have placed 3 items in the ring properties (Red, Blue, Yellow) and given those items values of 1,2,3. But when I run the VI and select Blue, I was expecting the indicator attached to the control to read 2 but instead it says 'Blue' (same for other items as well). What am I misunderstanding here or doing incorrectly? I have also attached a screenshot.
    Solved!
    Go to Solution.
    Attachments:
    Untitled.jpg ‏249 KB

    Your indicator is another ring that has the same name value pairs, so it is going to display the name associated with the value.  Delete the ring indicator and just drop in a regular numeric indicator.  Then it will show you the value.

  • I entered my redemption code for Elements 13 and get : The code you entered is invalid. Please try again.

    I don't know what is going on. I entered the code 3 times and still get the same message.

    See if anything here helps:
    Redemption Code Help

  • Downgraded to 3.6 and now there is a "background" image to the sides on websites that showed up in 4 and now is still there. How do I get rid of the side image and get the site to look like it once did??

    Often sites display the site in the middle with filler to the side. Now there is an image there that doesnt show up on Opera but now it does on firefox

    Thanks C for taking the time to help!
    I did safe mode as you suggested and things were set to the default theme.
    It still didn't display like it did before I "upgraded".
    Let me ask this another way. Looking at this very site, the whole website is displayed in the center of the screen and the sides are blank. Meaning that there is a bunch of wasted space. How do I configure firefox so it fills the screen?? If I could see just the middle portion that is how it used to display things.
    Here is what I mean:
    [space space WEBSITE space space]
    I just want to see:
    [W E B S I T E]
    And only that filling the screen.
    Thanks again for the help!

  • How to create the Vote Form and Get the Result

    I have an assignment to create a website for voting and show the result online.  Anyone can tell me the steps to build such website???

    This tutorial uses jQuery and PHP
    http://code.tutsplus.com/tutorials/creating-a-dynamic-poll-with-jquery-and-php--net-57
    Nancy O.

Maybe you are looking for

  • Multiple I-pods on one computer

    My Wife had a Sony MP3 player, which Sony no longer supports. She bought a new I-pod and wants to put all of her Sony songs into my I-tunes (we have a single lap top computer). How can we seperate her songs and my songs and have the ability to sync h

  • Error when deletting internal table

    Hi to all,    I have small requirement. Am getting runtime error , when am deleting internal table when that internal table will have only one record. how i can solve this problem. Give me some clues.

  • Disable Spark List selection indicator

    How do I get rid of the Spark List selection indicator entirely?  I don't want the rectangular indicator when the mouse hovers over an item, and I don't want the color to change when the mouse is clicked.

  • Oracle forms to SQL SERVER

    Hi I have to connect oracle forms to sql server, as per documentation, I created a ODBC string for SQL SERVER, In connect dialog box for oracle forms I entered username, password and @ODBC_string:Database_Name in connect. I am not able to connect. Pl

  • Barcode Fonts not showing in BIP reports in PDF format in Siebel Remote

    Hi, We have successfully setup the PDf report with Barcode fonts in Siebel Web Clinet. Now we are trying to setup the report in Siebel Mobile clinet. We did the following tomake it work in mobile clinet. 1) Copied the font file i.e. .ttf file in C:\W