Error: Expression must not return a multiline value

Hi all,
I am doing a file to file scenario. My input file has more than one record. I have to validate for each of these records and send back the erroneous records in a file to the source folder.
I am using BPM for this. In my BPM, i have some multiline container elements. When i try to activate my BPM, i am getting an error saying: <b>Expression must not return a multiline value.</b>
Can anybody tell me why this error is coming? Also i want to know what type of mapping i have to do to split my source file.
Regards,
Divija.

"Can anybody tell me why this error is coming? Also i want to know what type of mapping i have to do to split my source file."
Go through the following blogs which give step-bystep approach for split mapping using BPM:-
1. /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
2. /people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
Also, you might want to look at this, where a BPM is not required..i think you can avoid a BPM altogether if you have very little validation..
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
Regards,
Sushumna

Similar Messages

  • BPM collection pattern - Expression must not return a multiline value

    Hi,
    I am trying to create an integration process to collect messages - when I run the check function I get the message 'Expression must not return a multiline value' - I have checked everything and cannot find what is causing this message.  When I click on the message I get taken to the transformation step properties.
    Any ideas?
    Regards
    Ian

    HI,
    Your Interface Mapping should be of N:1 type.
    i.e occurence of your source message should be of 0..unbounded and target message should be 1.
    Once you change Interface Mapping, you need to change occurences of corresponding Message Maaping.
    Use this interface mapping in your Transformation Step in BPM, where you collect all the messages.
    Hope this helps,
    Regards,
    Moorthy

  • Error / BUG in BPM SAP PI7.1 "Expression must not return a multiline value"

    Hey experts,
    I try to use a MULTILINE interface in an integration process, but when I try to select the multiline interface in the sending Step (asynch), then I can´t select a INDEX variable? ...
    See here: Picture of ERROR
    I tried my steps with a XI3.0 in exactly the same way and it works. Is this a bug in the PI? We have Service Package 04 (initial Shipment).
    Does anyone has an idea?
    Thanks a lot for fast help
    Rgds,
    Steffen

    Hi,
    I tested it on a PI 7.1 SP 8 and there it works.
    What you could try is to export your Integration Process from XI 3.0 (you said it's working) and import it in your PI 7.1.
    Regards
    Patrick

  • Expression must not return a multilne value

    Hi
    I am trying to create PurchaseOrder message via BPM.
    The target MI has:
    One Header record
    Unbounded Items records
    In BPM, Fork of 2 braches is created to recieve Header, another branch use looping to received Items and store into ItemsList
    After the fork, a tarnsformation is use to create target MI, which the source contains:
    Header (single record) and
    ItemList (multiline with Item record)
    Now the problem, when I do a check, I always hit the error: "Expression must not return a multilne value"
    However if use :
    Header (single record) and
    Item (single Item record)
    OR
    HeaderList (multiline record) and
    ItemList (multiline Item record)
    It does not generate this error.
    I seems the tarsnformation does not allow mixing of "Multiline" and "Singleline" for N:1 transformation???
    Please advise
    //jack
    Message was edited by: JackLim

    Hmmmmm ...
    >>>
    tarnsformation is use to create target MI, which the source contains:
    Header (single record) and
    ItemList (multiline with Item record)
    Recheck the parameters of the transformation step

  • Execute Method must not return a resultSet

    Hi.
    I am using DataModifyQuery to insert a record in MS SQL. On that Table there is one trigger defined whcih in turn insert data into some other table. in case there is any error the trigger return a error message.
    When i execute the Sql with DataModifyQuery and there is a error return from the trigger then Toplink gives me a error message.
    Execute Method must not return a resultSet
    how can i over come this sistuation.
    Thanks.

    Nadir wrote:
    I was lost. Right, there was no return statement. Below works now
    public String getIPAddress(){
    String hostip = "";
    try {
    hostip = InetAddress.getLocalHost().getHostAddress();
    System.out.println("ip is "+hostip);
    } catch (UnknownHostException e) {
    hostip = e.getMessage();
    return hostip;
    -----It compiles. I wouldn't say it works. If I call a method getIPAddress(), I expect the String I get back to be an IP address. I don't want to have to parse it to determine that it's not an error message. That defeats the whole purpose of the exception mechanism. If that method can't get the IP address, it should throw an exception. In this case, there's no reason to catch the exception; just let it propagate up out of that method.
    Beginners often seem to think that exceptions are something that just arose on their own out of the language, and the designers had to add try/catch in order to be able to stop them from preventing our code executing. That's not the case. They were deliberately added to the language as a better way of indicating an error than checking return values at every step.

  • Error: InfoObject does not contain alpha-conforming value 20030729

    Hi everyone,
    I got this problem, that i tried to fix yesterday, but all i did was that i got realy frustrated...
    I created an infoobject which is copy of 0DOC_NUMBER and has alpha coversion routine.
    Mapping field in DataSource is also type character 10(VBELN) as my infoobject.
    But there are some values in this field that i am trying to load, less then 10 characters long (20030729,20051116...) and shouldn't be there, because the values are dates and not document numbers.
    But anyway on R/3 side this values are in field which is defined as character 10 (VBELN), and when I am trying to load Infopackage(17500 records) I get 52 errors: InfoObject does not contain alpha-conforming value 20030729.
    I don't get it, since both fields are type character 10 and the values are only digits, why do I get this error message and how can I fix it?
    PS:One solution is to remove alpha conversion routine from infoobject, but i don't want that.
    Regards,
    Uroš

    hi,
    sorry... correction, it's 'Exclusive attributes' that cannot be used for navigational attribute, you can set lower case to differentiate ... check the impact of lower case setting here ...
    http://help.sap.com/saphelp_bw33/helpdata/en/b7/f470375fbf307ee10000009b38f8cf/frameset.htm
    Lowercase letters allowed / not allowed
    If this indicator is set, the system differentiates between lowercase letters and capital letters when you use a screen template to input values. If this indicator is not set, the system converts all the letters into capital letters when you use a screen template to input values.
    If you choose to allow the use of lowercase letters, you must be aware of what happens when you input variables:
    If you want to use the characteristic in variables, the system is only able to find the values for the characteristic if the lowercase letters and the capital letters are typed in accurately on the input screen for variables. If, on the other hand, you do not allow the use of lowercase letters, any characters that you type onto the input screen, are converted automatically into capital letters.
    Exclusive attributes:
    If you select Exclusively Attributes, the created characteristic can be used only as a display attribute for another characteristic, and not as a dedicated characteristic in the InfoCube. Furthermore, you then cannot transfer the characteristic into InfoCubes. However, you can use it in ODS objects or InfoSets.

  • XML-22009: (Error) Attribute 'select' not found in 'xsl:value-of'

    Hello,
    I'm a long-time Siebel developer but novice to BIP, trying to enhance some complex rtf templates that an experienced xdo/bip developer (contractor) designed for us in the past, with a couple of new fields that have been added to the integration object.
    All templates and sub-templates receive 'no errors found' when using add-in tool selection of 'Validate Template'. Unfortunately we cannot utilize the 'preview' capability due to the way the sub-templates are called, so only way to test is to upload into server and attempt to run real-time.
    This results in UI error of SBL-OMS-00203, which when we dig into the xdo log file turns out to be:
    <Line 648, Column 88>: XML-22009: (Error) Attribute 'select' not found in 'xsl:value-of'.
    I have exported all templates and sub-templates into XSL-FO Style Sheet and looked at line 648 column 88, and none of them seem to correspond to this line/column combination (in fact most exports do not even go that high in lines).
    Googling 'XML-22009' hasn't proven to be of much help, so reaching out to the xdo experts in this forum.
    How are the line/column #'s determined in the xdo log output?
    I am pretty sure that it must be some issue with my 'Main' template, since none of the sub-templates have been changed (and the current version of the report, without the new fields incorporated, still runs fine from the UI). In the XSL-FO format export of the (modified, with new fields added) 'Main.rtf' file, line 648 places it right in the midst of a bunch of hex which corresponds to an imbedded image (which was also part of the existing template, no change there) and that line only has 65 columns (i.e. doesn't even go up to 88), so I'm questioning how valid the Line/Column information is in the xdo log error message.
    Any hints on troubleshooting this one would be greatly appreciated!
    Thanks & Regards,
    Katrina

    Hi,
    as I wrote in the inital message, we even left out the output method or used "application/pdf". The result is unfortunately always the same. And I still claim this is not a problem with the stylesheet itself, it has to do something with the mobile's environment.
    Something I didn't tell: we have 2 servlets in our application, 1 responsible for output in html and 1 in pdf. The .fo stylesheet passed to the 'html servlet' is parsed correctly (and shows the source code, because it does not know about fo and conversion to pdf), the .xsl stylesheet passed to the 'pdf servlet' raises same exception/same line. You might tell us that there is a problem with the 'pdf servlet', but once again: why in online it is working?
    Greetings and thanx very much for your precious time!

  • Why is the giving me this error (method does not return a value) PLEASE !!

    I have this code and it is giving me this error and I don't know how to fix it
    can anyone out there tell me why
    I have included the next line of code as I have had problems in the curly brackets in the past.
    The error is
    "Client.java": Error #: 466 : method does not return a value at line 941, column 3
    Please help
    THX TO ALL
    private Date DOBFormat()
        try
          if
            (MonthjComboBox.getSelectedItem().equals("") || 
             DayjComboBox.getSelectedItem().equals("") ||
             YearjComboBox.getSelectedItem().equals("")){
          else
            String dateString = StringFromDateFields();
            SimpleDateFormat df = new SimpleDateFormat("dd/mm/yyyy");
            Date d = df.parse(StringFromDateFields());
            System.out.println("date="+d);
            return d;
        catch (ParseException pe)
          String d= System.getProperty("line.separator");
          JOptionPane.showMessageDialog( this,
           "Date format needs to be DD/MM/YYYY,"+ d +
           "You have enterd: "+ StringFromDateFields()   + d +
           "Please change the Date", "Date Format Error",
           JOptionPane.WARNING_MESSAGE);
          return  null;
      //File | Exit action performed
    public void jMenuFileExit_actionPerformed(ActionEvent e) {
      System.exit(0);
      }

    Fixed it needed to have a return null;
    this is the code
    if
            (MonthjComboBox.getSelectedItem().equals("") ||
             DayjComboBox.getSelectedItem().equals("") ||
             YearjComboBox.getSelectedItem().equals("")){
            return null;

  • Unable to set PIN - Error: "PIN must not be the same as the user's phone number"

    We are in an ongoing Lync Server 2013 deployment and have elected to set default conference PIN numbers for anyone that doesn't have them currently set.  We decided to make the default PIN the same as the person's telephone extension.  I realize
    this is not a secure PIN setting, but please bear with me.
    When I use PowerShell to loop through the people that do not have a PIN set and attempt to set the PIN to their five-digit extension, PowerShell returns the following exception:
    Set-CsClientPin : PIN must not be the same as the user's phone number (Error "18005").
    At line:1 char:1
    + Set-CsClientPin -Identity GenericUser -Pin '13579'
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (13579:String) [Set-CsClientPin], ArgumentException
    + FullyQualifiedErrorId : UserPin::SetPin::PinDoesNotMeetConstraints,Microsoft.Rtc.Management.UserPinService.SetOc
    sUserPinCmdlet
    I know what you are thinking:  by default, Lync has the AllowCommonPatterns setting set to $false on the Global (default) PIN policy.  But I have created another PIN policy called "Low-restriction PIN Policy" that has this setting set
    to $true and assigned this new policy to the users I am trying to set the PIN on.
    According to
    Microsoft's documentation on the Set-CsClientPin cmdlet, the description for AllowCommonPatterns is as follows:
    "Indicates whether or not "common patterns" are allowed in PINs.
    Common patterns include repeating digits (225577); 4 or more consecutive digits (991234); and
    PINs that match a user's phone number or extension number.
    If set to True common patterns (such as the PIN 123456, which includes consecutive digits)
    are allowed; if set to False common patterns are not allowed. The default value is False."
    Given this information, I do not understand why Lync Server 2013 is preventing me from setting a default PIN that matches their extension number when AllowCommonPatterns is set to $true on the PIN policy assigned to the user.
    Any ideas on what might be wrong?
    PS C:\Users\user> Get-CsUser GenericUser | Select-Object PinPolicy
    PinPolicy
    Low-Restriction PIN Policy
    PS C:\Users\user> Get-CsPinPolicy -Identity 'Low-Restriction PIN Policy'
    Identity : Tag:Low-Restriction PIN Policy
    Description : [20150224 SWS] Standard PIN policy.
    MinPasswordLength : 5
    PINHistoryCount : 0
    AllowCommonPatterns : True
    PINLifetime : 0
    MaximumLogonAttempts :
    PS C:\Users\user> Set-CsClientPin -Identity GenericUser -Pin '13579'
    Set-CsClientPin : PIN must not be the same as the user's phone number (Error "18005").
    At line:1 char:1
    + Set-CsClientPin -Identity GenericUser -Pin '13579'
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (13579:String) [Set-CsClientPin], ArgumentException
    + FullyQualifiedErrorId : UserPin::SetPin::PinDoesNotMeetConstraints,Microsoft.Rtc.Management.UserPinService.SetOc
    sUserPinCmdlet

    I just checked the management store replication status and it replicated.  I tried to set the PIN again and got the same error.  Here are my results:
    C:\Users\user> Get-CsUser GenericUser | Select-Object PinPolicy
    PinPolicy
    Low-Restriction PIN Policy
    C:\Users\user> Get-CsPinPolicy -Identity 'Low-Restriction PIN Policy' | Select-O
    bject AllowCommonPatterns
    AllowCommonPatterns
    True
    C:\Users\user> Set-CsClientPin -Identity GenericUser -Pin 13579
    Set-CsClientPin : PIN must not be the same as the user's phone number (Error
    "18005").
    At line:1 char:1
    + Set-CsClientPin -Identity GenericUser -Pin 13579
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (13579:String) [Set-CsClientPin
    ], ArgumentException
    + FullyQualifiedErrorId : UserPin::SetPin::PinDoesNotMeetConstraints,Micro
    soft.Rtc.Management.UserPinService.SetOcsUserPinCmdlet
    C:\Users\user> Get-CsManagementStoreReplicationStatus
    UpToDate : True
    ReplicaFqdn : edge.domain.com
    LastStatusReport : 3/3/2015 9:20:21 PM
    LastUpdateCreation : 3/3/2015 9:20:18 PM
    ProductVersion : 5.0.8308.556
    UpToDate : True
    ReplicaFqdn : frontend.domain.com
    LastStatusReport : 3/3/2015 9:20:21 PM
    LastUpdateCreation : 3/3/2015 9:20:18 PM
    ProductVersion : 5.0.8308.556

  • Report query not returning the field value from external table

    hi
    I have an issue regarding reports. I have a query having 4 fields from external table and remaining from db tables. the report query returns all the fields from the db tables and only 2 fields from external table. but the same query if I tried in plsql developer it returns all the fields values.
    Can anyone please help me in this issue.
    Thanks and Regards
    kk

    Duplicate post?
    value not displaying in report whereas it returns in plsql developer
    value not displaying in report whereas it returns in plsql developer
    Please log a SR if you do not get any reply to your thread instead of creating new one.
    Thanks,
    Hussein

  • Query from OCI-11.2.0.3 library to 10g Express DB not returning results

    Hi,
    I am trying to fetch column data using the following query run on 10g Express DB running on Windows 7.
    select a.column_name, a.data_type, a.data_length, a.NULLABLE, nvl(c.CONSTRAINT_TYPE, 0), nvl(e.index_type, 0) from
    dba_tab_cols a left join dba_cons_columns b on ( a.OWNER=b.owner and a.TABLE_NAME=b.TABLE_NAME and a.column_name=b.column_name)
    left join dba_constraints c on (b.CONSTRAINT_NAME=c.CONSTRAINT_NAME and b.OWNER=c.owner and b.TABLE_NAME=c.TABLE_NAME)
    left join dba_ind_columns d on ( a.OWNER=d.table_owner and a.TABLE_NAME=d.TABLE_NAME and a.column_name=d.column_name)
    left join dba_indexes e on (d.index_name=e.index_name and a.OWNER=e.owner and a.TABLE_NAME=e.TABLE_NAME)
    where a.table_name=:TBLNAME
    My VC++ application is linked against "instantclient-sdk-nt-11-2-0-3-0\lib\msvc\oci.lib".
    Calls to OCIStmtPrepare2 and following OCIBindByName are succeeding.
    text inputval[32] = {'\0'};
    ub2 inputvallen = 32;
    OCIBind *pbnd = 0;
    ret = OCIBindByName(stmthp, &pbnd, errhp, (text*)":TBLNAME",
    strlen(":TBLNAME"), (dvoid*)inputval,
    (sword)inputvallen, SQLT_STR, (dvoid*)0,
    (ub2*)0,(ub2*)0, (ub4)0, (ub4*)0, OCI_DEFAULT);
    I am setting the TBLNAME in single quotes in inputval variable before the call to OCIStmtExecute, which is also passing.
    But, OCIStmtFetch2 always returns 0 rows (OCI_NO_DATA).
    If I change this query to use the tablename explicitly in the above select statement, it works fine and I get rows > 0.
    What could be wrong in this call to OCIBindByName? Or is there a compatibility issue between OCI-11.2.0.3 library and 10g Express database?
    Please guide.
    Thanks and Regards,
    - ganesh

    What could be wrongDunno, if you can get the SQL working outside the OCI setup must be something else where the code isn't handling the :TBLNAME as expected.
    This forum {forum:id=168} may get better help there or one of the other programming forums.

  • FMs not returning ZES table values

    Hi Experts,
    I am an ABAPer, so the solution to this may be very simple but not to me.
    while fetching cluster B2 data via various FMs the entries of ZES table aren't coming.
    I have used HR_FORMS_TIM_GET_B2_RESULTS and HR_TIME_RESULTS_IN_INTERVAL.
    While using the second FM I have observed it calls HR_TIME_RESULTS_GET and returns the ZES table data
    but they get deleted based on few conditions which are dependent on T549Q payroll periods (obtained from HR_PAYROLL_PERIODS_GET).
    So I need to know what configurational mistakes or time evaluations flaws lead to these kind of cases.
    Thanks in advance,
    Sourav

    Hi,
    I would suggest please ask Functional to check ZES table using PT66, does data is stored in ZES.
    As structure has ZES, it should be store based on time type config.
    Thanks,
    Ketul

  • V$session prev_hash_value not returning the correct value?

    Hello,
    I am executing a plsql package (which has the following query) in two modes: through Toad and through a deployed web application. I get two results.
    SELECT sa.sql_text,
    sa.sql_id,
    ss.sid
    FROM v$session ss,
    v$sqlarea sa
    WHERE ss.status = 'ACTIVE'
    AND sa.hash_value = ss.prev_hash_value
    AND ss.username = USER;
    Toad gives me the correct result. The query above pulls the correct SQL statement. But when running through the web application it gives me
    some random SQL statement executed during that session. I thought it might have something to do with pooled JDBC connections so I made sure for that
    execution I created a new dedicated JDBC connection. Still did not work. I used the function SYS_CONTEXT('USERENV', 'SID') to report the session id
    from my java program and from the query above. Both return the same SID. I've tried different variations of that query above (removing status = ACTIVE, removing username = USER, etc...)
    and I still get the same result.
    So any thoughts on what's going on?
    Thanks,
    Piyush

    I believe I figured it out. My testing was flawed. The testing in Toad was directly calling my package (e.g., pkg_b). The web app doesn't do that. It calls pkg_a which does a bunch of setup and then calls the target package (pkg_b) using EXECUTE IMMEDIATE. Apparently the v$session stops collecting info at that point. The current statement always shows as 'BEGIN :b1 := pkg_b; END;'. But it's still confusing why it would do that. Is there another way to access SQL statements from within that dynamic block?

  • Cl_abap_typedescr= describe_by_name not returning correct length value

    Hi,
    I am using cl_abap_typedescr=>describe_by_name  to get the length and field names of a table.  But it is returning incorrect values for length.    For example, all character fields and numc fields contain double the correct length
    REPORT  ZCA_BOB_CL_ABAP_STRUCTDESCR.
    PARAMETERS P_TABNAM type TABNAME OBLIGATORY.
    Data: wa_spfli type spfli,
          r_descr type REF TO cl_abap_structdescr,
          wa_comp TYPE abap_compdescr.
    ** Create references to the needed ALV Global Classes
      data: lr_events type ref to cl_salv_events_table.
      data: gr_table   type ref to cl_salv_table.
      Data: r_grid TYPE REF TO cl_salv_table.
      data: r_title_text TYPE REF TO cl_alv_variant,
            r_grid_title TYPE LVC_TITLE.
    Data:  abap_compdescr_tab TYPE STANDARD TABLE OF abap_compdescr
                         WITH KEY name.
    START-OF-SELECTION.
    **         ?=   means cast
    ** r_descr ?= cl_abap_typedescr=>describe_by_data( wa_spfli ).
    r_descr ?= cl_abap_typedescr=>describe_by_name( P_TABNAM ).
    Loop at r_descr->components into wa_comp.
    *   write:/ wa_comp-name, wa_comp-type_kind, wa_comp-length,
    *            wa_comp-decimals.
       append wa_comp to abap_compdescr_tab.
    EndLoop.

    Hello Bob
    Below is the output of your report run on a 4.6c system:
    Structure WA_SPFLI:                                   
    MANDT                          C          3           0
    CARRID                         C          3           0
    CONNID                         N          4           0
    COUNTRYFR                      C          3           0
    CITYFROM                       C         20           0
    AIRPFROM                       C          3           0
    COUNTRYTO                      C          3           0
    CITYTO                         C         20           0
    AIRPTO                         C          3           0
    FLTIME                         I          4           0
    DEPTIME                        T          6           0
    ARRTIME                        T          6           0
    DISTANCE                       P          5           4
    DISTID                         C          3           0
    FLTYPE                         C          1           0
    PERIOD                         b          1           0
    4.6c = non-Unicode
    Your system = Unicode
    Thus, the length is apprently the length in bytes.
    Simply check and RFC destination (SM59) using button "Unicode Test". You will get the following message on an Unicode system:
    Target is a unicode system (character size 2)
    Regards
      Uwe

  • Error - '' is not a valid boolean value

    I have been receiving the error message = '' is not a valid Boolean value quite frequently.  It doesn’t matter which hierarchy I am in but it’s typically when I do an Add or Insert.  When selecting ‘ok’ on the error message, I’m able to continue on with my work but was just curious what causes this error.  Sometimes when this error shows up and I click ‘ok’, it will take me out of the DRM screen and into whatever else I may have open at the moment.  Any thoughts or ideas?  We are on version 11.1.1.2.103

    As Murali stated-
    It could be a property incorrectly configured, check all the boolean type properties and see if any of them are getting a string value by any chance.
    Thanks
    Denzz

Maybe you are looking for

  • PS CS5 & WIN 7 minimize to taskbar problem

    I recently switched from Vista & CS4 to Windows 7 & CS5 and there is one thing that drives me crazy!  When I used to minimize files I had open inside phoshop they would just collapse/minimize to a small bar/tab at the bottom of the photoshop window (

  • IWeb not showing .Mac web gallery albums in Web Widgets pull down menu

    I'm trying to update a webpage and insert a .Mac Web gallery album using the Web Widgets pull down menu. The problem is the menu isn't offering/showing ALL of my .Mac Web Gallery albums. It shows some and I can insert those, however, it isn't showing

  • ARCHIVING MM-EBAN

    Hi experts, We are in the process of archiving PR..We have some doubt in that.. We are in 4.70 enterprise... Our archiving cretiria is as follows. 1. We want to archive PRs upto date of 31.3.2006. We found in SARA MM-EBAN in selection variant there i

  • ABAP Software Logistics

    Hi all, at my company we are responsible for maintianing a growing number of customer SAP systems. While focussing on the same application area (i.e. utilities industry) all these systems differ with respect to customising und custom development. In

  • Where is the "search" feature in ibook?  How do I create a vocabulary list of words and technical terms?

    Is there a "search" feature in iBook on my ipad; and how can I create a "vocalbulary List" of terms or words while reading or studying with ipad?