How do you differentiate between indexed and non-indexed prompts?

Hi,
I'm trying to fill Webi parameters dynamically, using the Webi REST SDK (4.1 SP04). This environment runs on top of SAP BW and uses BICS to connect to the BEx query.
When the prompt is implemented as a BEx variable, the call to GET /biprws/raylight/v1/documents/{docid}/parameters will show @type: sapVariable, which tells me it requires the values to be passed as an ID and (optionally) their description.
Prompts that are defined in the Webi query panel, return @type: prompt. This however doesn't indicate if they need the prompt value IDs or just their plain values.
Example (JSON):
  "parameters": {
    "parameter": [
        "@dpId": "DP0",
        "@type": "prompt",
        "@optional": "false",
        "id": 2,
        "technicalName": "psTestPrompt",
        "name": "TestPrompt",
        "answer": {
          "@type": "Text",
          "@constrained": "false",
          "info": {
            "@cardinality": "Single",
            "lov": {
              "@refreshable": "false",
              "@hierarchical": "false",
              "id": "UNIVERSELOV_DS0.DO1a6"
In this case, I'll look at the value for @refreshable; if it's true, the prompt requires IDs, if false, just the plain values.
It's only when a prompt does not have an LOV associated with it (disabled in the prompt properties, see screenshot below), I won't have the lov information when retrieving the parameter information and thus won't be able to determine whether to pass value IDs or just plain values.
FYI, replying with prompt value IDs looks something like this:
  "parameters": {
    "parameter": [
        "id": 2,
        "answer": {
          "values": {
            "value": {
              "@id": "000000123456",
              "$": "123456"
Plain values looks like this:
  "parameters": {
    "parameter": [
        "id": 2,
        "answer": {
          "values": {
            "value": 123456
In short: how do I determine whether to pass values by ID or just their plain value given the prompt template retrieved through a GET /biprws/raylight/v1/documents/{docid}/parameters call?

Hi Anthony,
Just FYI, I've also noticed that when you have 2 BEx variables, and you only define 1 of them as a prompt (using the BEx variable window in the Webi Query Panel), the REST SDK will still report all of BEx variables as prompts, instead of the 1 variable that was checked as prompt.
(this happens in BI 4.1 SP4 Patch 4)
In the query panel:
Uncheck Use BEx query defined default values at runtime
Uncheck the Set as prompt checkbox for the second variable.
REST SDK output for GET /biprws/raylight/v1/documents/{docid}/parameters?lovInfo=false :
  "parameters": {
    "parameter": [
        "@dpId": "DP0",
        "@type": "sapVariable",
        "@optional": "false",
        "id": 0,
        "technicalName": "ZMXXXX",
        "name": "XXXXX",
        "answer": {
          "@type": "Text",
          "@constrained": "true",
          "info": {
            "@cardinality": "Multiple",
            "lov": {
              "@refreshable": "true",
              "@hierarchical": "true",
              "id": "UNIVERSELOV_DS0.:M:STR:ZMXXXX"
        "@dpId": "DP0",
        "@type": "sapVariable",
        "@optional": "false",
        "id": 1,
        "technicalName": "ZYYYYYY",
        "name": "YYYYYYYY",
        "answer": {
          "@type": "Text",
          "@constrained": "true",
          "info": {
            "@cardinality": "Multiple",
            "lov": {
              "@refreshable": "true",
              "@hierarchical": "true",
              "id": "UNIVERSELOV_DS0.:M:STR:ZYYYYYY"

Similar Messages

  • How do you differentiate business process and business scenario

    how do you differentiate business process and business scenario???
    pls help

    Google says;
    A <b>business scenario</b> is a description of a business problem, which enables requirements to be viewed in relation to one another in the context of the overall problem. Without such a description to serve as context, the business value of solving the problem is unclear; the relevance of potential solutions is unclear and there is a danger of the solution being based on an inadequate set of requirements. A key factor in the success of any other major project is the extent to which it is linked to business requirements, and demonstrably supporting and enabling the enterprise to achieve its business objectives. Business scenarios are an important technique to help identify and understand business needs.
    A business process -
    http://en.wikipedia.org/wiki/Business_process

  • How do you change between 12 and 24 hour format on ipad

    how do you change between 12 and 24 hour format on ipad

    Check: Settings - General - Date &amp; Time - 24-Hour time = On/Off

  • How do you communicate between flash and java?

    Hi,
    How can you pass parameters between a Flash movie and a Java applet running on the same machine? I would like to do this without opening a new browser window or putting parameters in the url of the browser window that is running the Flash movie.

    Flash supports Javascript , check out actions.
    set the URL like you would the Javascript for
    making a method call from a webpage.
    make sure that Scriptable <PARAM> has been set to true.

  • How can I differentiate between iPad and iPhone iMessages for the same contact?

    I have my sister in law's email and phone number all in the same contact. She iMessages me from both her iPad and her phone. They come up as two different iMessage conversations, but they both are under her name. When I go to text her I don't know if I'm sending it to her iPhone or iPad. Anyone know if there's anyway to differentiate? Sometimes looking at what was previously said in the conversation helps but I can't always remember (nor do I know which device he was messaging me from in the previous convo). Thanks all

    Try scrolling to the top of the conversation and tapping Contact.  You will then see the originating address highlighted in blue on the contact.  If the iPad and iPhone are creating two different conversations, chances are if the email address is highlighted it's coming from the iPad; if the phone number is highlighted it's coming from the iPhone (although not necessarily).  To know for sure you would have to ask her to check Settings>Messages>Send & Receive and tell you which is checked under "Start new conversations from" on both devices to know for sure.

  • Htmlb:tree differentiate between nodeclick and tree node expander click

    Hi,
    how can i differentiate between nodeclick and tree node expander (to get to its children) click in my event processing in htmlb:tree element.
    <u><b>What i am trying to achieve?</b></u>
    Onload just load root node and its immediate children.
    On node expand get the children of the current node and modify htmlb:tree table2 with additional node inofs.
    on node click  call some client function.
    But my issue is that i am not able to differentiate between node expander click and node click in my event handling. Any help on this is appreciated.
    (I am not using MVC)
    Thanks in advance.
    Regards
    Raja
    Message was edited by: Durairaj Athavan Raja

    After reading your weblog I think I understand better. I did some testing with my example.  I am using the toggle = "true", so that the page returns to the server each time an expander is selected.
    <htmlb:tree id          = "myTree1"
                  height      = "75%"
                  toggle      = "true"
                  title       = "<b><otr>EQI Reporting Tree</otr></b>"
                  width       = "90%"
                  onTreeClick = "myTreeClick"
                  table       = "<%= application->selection_model->itview                             %>" >
      </htmlb:tree>
    However I have not added any coding in my event handler to respond to the expander event.  I only respond to myTreeClick (which loads some data for the given selection).  The BSP tree element itself must be doing the hard work for me. 
      if event_id cs 'tr_myTree1'.
        data: tree_event type ref to cl_htmlb_event_tree.
        tree_event ?= htmlb_event.
        if tree_event->server_event = 'myTreeClick'.
          clear appl->message1.
          appl->selection_model->get_chart_data( appl = appl
                                                 node = tree_event->node ).
        endif.
      endif.
    I pass my entire tree defintion to the element.  It appears that it only sends visible nodes to be rendered. When the expander is selected, I don't have to do anything, the tree re-renders with only the newly visible rows. 
    I tested and turned off the toggle (toggle = "false") and my page took forever to load because it was sending all the nodes to the frontend on the first load.

  • How do you toggle a microphone directly between enhanced and non-enhanced?

    Apparently mixing calls between Microphone.getMicrophone() and Microphone.getEnhancedMicrophone() on the same device doesn't work very well.  Take the following code:
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                   xmlns:s="library://ns.adobe.com/flex/spark"
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="onCreationComplete()" click="Microphone.getMicrophone().setLoopBack(true);">
        <fx:Script>
            <![CDATA[
                import mx.controls.Alert;
                private function onCreationComplete():void
                    Microphone.getEnhancedMicrophone().setLoopBack(true);
            ]]>
        </fx:Script>
    </s:Application>
    You will be able to hear yourself speak at first, but as soon as you click the app, you will no longer be able to hear your voice.  I have also seen this sort of thing in other scenarios.
    To make a long story short, if you call getEnhancedMicrophone() for one device, then try to call getMicrophone() for that same device, the device will stop providing any audio input.  The same is true vice versa.  However if you call getEnhancedMicrophone() for one device, then getMicrophone() for a different device, then come back to the first and call getMicrophone() for it, the device will work just fine.
    Why?  Is there any way to just toggle between enhanced and non-enhanced settings for the same device, without reaching out to an unrelated device?  Thanks!

    On your Microphone reference you have these constants you can set your options to:
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/MicrophoneE nhancedMode.html
    As you can see there, MicrophoneEnhancedMode.OFF disables enhanced mode. You would set your Microphone references .mode property to equal that to disable enhanced, or use one of the other relevant options to enable it. Thus, you should always use enhanced so you can toggle it.

  • My daughter and I both have an iPhone and we have shared my apple ID. Now her phone is syncing with mine and we want to have different contacts. How do I differentiate between the two phones?

    My daugher and I both have an iPhone and we have shared my apple ID. She just replaced her phone and now our contacts are syncing -- and we don't want that. How do I differentiate between the two phones?

    Is the same Apple iCloud account being accessed on each iPhone?

  • How do you differentiate IDOC XML format and ordinary XML format

    how do you differentiate IDOC XML format and ordinary XML format since they are used by IDOC adapter and RFC adapter???

    Hi,
    Cremas Structure starts with Header and followed by Segments...
    Normally it begins like this
    <CREMAS03><IDOC BEGIN="1">
    The second node is Idoc in the header..
    Thanks
    Anju

  • How to fix "cannot convert between unicode and non-unicode string data types" :/

    Environment: SQL Server 2008 R2
    Introduction:Staging_table is a table where data is being stored from source file. Individual and ind_subject_scores are destination tables.
    Purpose: To load the data from a source file .csv while SSIS define table  fields with 50 varchar, I can still transfer the data to the entity table/ destination and keeping the table definition.
    I'm getting validation error "Cannot convert between a unicode and a non-unicode string data types" for all the columns.
    Please help

    Hi ,
    NVARCHAR = DT_WSTR
    VARCHAR = DT_STR
    Try below links:
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/ed1caf36-7a62-44c8-9b67-127cb4a7b747/error-on-package-can-not-convert-from-unicode-to-non-unicode-string-type?forum=sqlintegrationservices
    http://social.msdn.microsoft.com/Forums/en-US/eb0d1519-4be3-427d-bd30-ae4004ea9e8d/data-conversion-error-how-to-fix-this
    http://technet.microsoft.com/en-us/library/aa337316(v=sql.105).aspx
    http://social.technet.microsoft.com/wiki/contents/articles/19612.ssis-import-excel-to-table-cannot-convert-between-unicode-and-non-unicode-string-data-types.aspx
    sathya - www.allaboutmssql.com ** Mark as answered if my post solved your problem and Vote as helpful if my post was useful **.

  • How do you differentiate PCK and adapter engine

    how do you differentiate PCK and adapter engine?????

    HI Gabriel,
    the PCK is used,if you want to exchange Messages from or to XI. That means for that,you need on the sender or receiver Side a XI System. The one way is,that a XI sends the Native XML SOAP Messages via XI Adapter to the PCK.Then the message can be converted in some other formats,because the PCK has its own Adapter Engine. But there is no IDOC adapter.
    The second way ist,that for example you pick up XML Files with the PCK and transfer it to an XI system in the Native XML Format. With the PCK you can't do a File-to-File Transfer.
    The PCK is a standalone Application,which has its own Monitoring,Configuration and User Management.Instead of that, a decentral Adapter Engine is directly connected to an XI System and is configured centrally in the XI System
    PCK is a mini version of XI. It is used by smaller business partner (who cannot afford to install a full blown version XI) to exchange XI messages with large companies (having an XI installation).
    PCK has its own local Adapter engine.
    Check the following links:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3f9fc190-0201-0010-0cbd-87f50e404d91
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/34a1e590-0201-0010-2c82-9b6229cf4a41
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6f83d790-0201-0010-629d-ab5bf10c94e4
    http://help.sap.com/saphelp_nw04/helpdata/en/8f/d906d01f77fa40a4c84683c3f8326f/content.htm
    http://help.sap.com/saphelp_glossary/en/6d/9c44b95c168e4cb500bb430ec193cc/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/99/115281baba404890d2561617a78409/content.htm
    /people/siva.maranani/blog/2005/08/30/pck-cross-sectional-analysis-part-1
    /people/siva.maranani/blog/2005/08/30/pck-cross-sectional-analysis-part-2
    Hope this helps.
    Cheers...
    Vasu
    <b>** REward Points if found useful **</b>

  • How do I transfer ring tones between ipad and non-apple phone using bluetooth

    Can I transfer ring tones between ipad and non-apple phone using bluetooth?

    No. iOS devices do not support file transfers between non-iOS devices over Bluetooth.
    They probably wouldn't work anyway, as iOS ringtones have to be in a specific format.

  • Servlet filter that can differentiate between Filter and Servlet Writers

    Hey,
    I'm trying to build a Filter and HttpServletResponseWrapper that, when applied to a generic servlet, can differentiate between the output stream from the Servlet and the one from the Filters.
    So, say I have a servlet:
    PrintWriter pw = response.Writer();
    pw.write( "Output from servlet" );
    pw.close();And a filter that is applied to the servlet:
    PrintWriter pw = response.Writer();
    pw.write( "Output from filter" );
    pw.close();I want to be able to do this in my filter that is able to differentiate between the servlet and filter response:
    System.out.println( "Response from servlet: " + responseWrapper.servlet.toString() );
    System.out.println( "Response from filter: " + responseWrapper.filter.toString() );The responseWrapper.servlet and responseWrapper.filter can contain all filter responses from all the servlet(s) and filter(s), respectively.
    Can anyone give me guidance as to how to start with this - really I just need to know if I can differentiate between servlet and filter responses in a generic way (without having to modify the response specially in the filter or servlet files that write output)
    Thanks for your time.

    first thing's first..if the OutputStream if not closed Either a Filter or a ServletChain can write on to the stream.
    There could be cases where the servletoutputstream would be closed at servlet end itself.Therefore,its a valiant effort by acomplishing a responseheader in the response to indicate that.
    Now once the response/outputstream is not closed or flushed out there is not direct way by which you do this unless we indicate using response Headers as flags when we are implementing FilterChaning.
    Hope that might help :)
    REGARDS,
    RaHuL

  • How does the integration between CRM and SD occur

    How does the integration between CRM and SD occur?  Is only via ALE and are there config steps in CRM to ensure the correct data mapping between CRM and SD?
    So, if I create an order or quote in CRM how is it then created in SD?  Or do they share the same data store.
    thanks

    Hi John,
    Here is good documentation regarding Data Exchange for Sales Transactions: the CRM Enterprise and the ERP System are two different repositories, If you create the Sales Order in CRM then they will be replicated into SD (using CRM Middleware, BDoc's)
    http://help.sap.com/saphelp_crm60/helpdata/en/52/2d0c38941e5666e10000009b38f8cf/frameset.htm
    Also you can check the best practice guide for CRM 2007 there you have plenty of information
    http://help.sap.com/bp_crmv12007/CRM_DE/HTML/index.htm
    Hope this help,
    Regards,
    Ramon

  • About integration between SAP and non-SAP applications via javaidoc classes

    Hi,All
    Now we are implementing a SAP-Retail project,we encounter a problem of integration between SAP and non-SAP applications(POS),we want to set Inbound/Outbound between SAP and POS applications realtimely,POS can connect to the SAP system via VPN,weather it can be implemented?
    I conceive to implement it with SAP Java Connector IDoc Class,I don't know weather it is the best solution?If not,please give some other proposal.
    I have download the classes from SAP website and try it with the samples provided by SAP(JCoIDocSample1.java/JCoIDocSample3.java),In my testing,Inbound is succeed,but,in SAP-Retail IS,standard Outbound message type is defined via file port,some one told me that SAP Java Connector IDoc Class can only receive idocs from tRFC port?is it true?If not,please tell me how to deploy in SAP so java program can receive idocs from file port?

    We too are interested in finding information on integration between SAP and Intergraph.  Were you able to obtain information and I was wondering if could share this with us.
    Thanks,
    Sue
    City of Edmonton

Maybe you are looking for