BEx drilldown not happenning in Query

Hi all,
I have executing the query with some input parameters. After output, i want to select filter values for some specific selection. I am selecting and pushing into righthand side but problem is i m not getting desired drilldown on that / any value.
Please suggest.
amit
9766392606

Hi Shanbagavalli,
Try to modify Infoobject in that cube.
I mean:
1. RSA1 - Modify Infocube
2. Extras -> Structur-Specific Infoobject properties
   Here you can chose how an infoobjetc will been showed  when you create a new query.
I hope it resolve your problem.
Mariana Serrano

Similar Messages

  • Not getting BI query variable selection screen  for few test users

    Hi,
    i am having problem when i am executing the reports. i am not getting variable screen for the test users ID's. but i am getting the screen when when 0BI_ALL authorization selected.
    i want role based authorization, and not complete authorization.
    the parameters in su01 are scl(X) and wlc(X   X  XX   X)
    Thanks,

    Can you please check into Infoobject Maintenance screen in Bex Tab i.e. Query Execution Filter Value Selection. assign "Values from Masterdata Table".
    Try again and let me know.
    Nagesh Ganisetti.

  • Remote -Bex analyzer not working

    Hello experts,
    I am getting Bex analyzer error while running Query from Remote.
    RFC_ERROR_COMMUNICATION.In the detail screen, the system displays message "Partner not reached"
    Thanks for your help

    Hello
    Here is some analysis,let me know if you face any problems.
    Issue statement <b>ping</b> <IP address> (In this example:192.168.4.2)
    <b>Result</b> - No reply: Boot SAP Gateway host required.
    <b>Solution</b> - Ceck whether the TCP/IP port 33xx is open (where xx corresponds to the system number) and start the SAP gateway.
    The TCP/IP port is also partially defined in the services file as an sapgw<SID> or sapgwxx entry (where xx corresponds to the system number). The services file is in the Windows directory or in WinNT/System32/drivers/etc.
    Hope it Helps
    Chetan
    @CP..

  • JWSDP1.5: wscompile error: "(should not happen): tie.generator.002

    Hi all,
    I'm working with a doc/lit webservice; I have a WSDL and I'm attempting to generate Java artefacts with wscompile. I'm using JWSDP1.5. I've had a range of errors (I'm updating an old WSDL for the Tentative Hold Protocol, see http://www.w3.org/TR/tenthold-2/). The latest, though, is problematic. The final error message is:
    error: generator error: internal error (should not happen): tie.generator.002I have included the full output from wscompile at the end of this posting; I'll post the full WSDL in a reply. Any advice would be much appreciated!
    Cheers,
    --Tim West
    Full output (from wscompile Ant task) - added linebreaks for readability
    Buildfile: C:\common\eclipse-projects\thp\build.xml
    wscompile-init:
    ANEW-generate-server-binding:
    [wscompile] command line: wscompile -d C:\common\eclipse-projects\thp\zant-build \
    -features:documentliteral,wsi -g -gen:server -keep -verbose \
    C:\common\eclipse-projects\thp\server-wscompile-config.xml -classpath (path omitted for readability)
    [wscompile] [CustomClassGenerator: generating JavaClass for: userDefinedBody]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdRequestHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdHeader]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdRequestAckHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdModifyRequestHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdModifyResponseChoiceHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdModifyGrantHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdGrantHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdModifyDenialHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdDenialHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdCancellationRequestHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdCancellationResponseHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdStatusQueryHdr]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdStatusResponseBody]
    [wscompile] [CustomClassGenerator: generating JavaClass for: statusStructure]
    [wscompile] [CustomClassGenerator: generating JavaClass for: holdStatusResponseHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: userDefinedBody]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdHeader]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdRequestHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdRequestAckHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdModifyRequestHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdGrantHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdModifyGrantHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdDenialHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdModifyDenialHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdModifyResponseChoiceHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdCancellationRequestHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdCancellationResponseHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdStatusQueryHdr]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: statusStructure]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdStatusResponseBody]
    [wscompile] [LiteralObjectSerializerGenerator: writing  serializer/deserializer for: holdStatusResponseHdr]
    [wscompile] error: generator error: internal error (should not happen): tie.generator.002
    BUILD FAILED: C:\common\eclipse-projects\thp\build.xml:342: wscompile failed
    Total time: 2 seconds

    Hi again,
    The offending WSDL is below. I should add that I Googled this and couldn't find anything useful. Axis is happy with the WSDL, as is the validator at http://www.soapclient.com/SoapTools.html (though I'm not sure of its quality). I'm now downloading IBM Websphere 6 to see how that goes.
    Thanks again,
    -Tim West
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions
        name="TentativeHold"
        targetNamespace="http://www.w3.org/2001/08/thp/definitions"
        xmlns:tns="http://www.w3.org/2001/08/thp/definitions"
        xmlns:holdSchema="http://www.w3.org/2001/08/thp/schemas"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns="http://schemas.xmlsoap.org/wsdl/">
      <types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:holdSchema="http://www.w3.org/2001/08/thp/schemas"
            targetNamespace="http://www.w3.org/2001/08/thp/schemas">
          <!-- =================================================================== -->
          <!-- Item - holdHeader -->
          <!-- Note - This information is required in all the Tentative Hold Protocol
                      communications. -->
          <!-- Fields- holdID - UUID. -->
          <!--             customerID - account number or other identifier -->
          <!--             replyTo - could be a unique locator such as a URI or an
                              email address depending on the communication protocol
                              to be used. -->
          <!-- comment - space for trading partner defined info. -->
          <!-- =================================================================== -->
          <complexType name="holdHeader">
            <sequence>
              <element name="holdID" type="int"/>
              <element name="customerID" type="string"/>
              <element name="replyTo" type="string"/>
              <element name="comment" type="string"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - userDefinedBody -->
          <!-- Note - This will carry any domain-specific information  (e.g., product
                ID and quantity). An implementation shall probably have many
                different userDefinedBody's (one for holdRequest, holdRequestAck,
                ...). This body is used in all messages. -->
          <!-- Fields - Trading partner to trading partner specific or an agreed
             - standard (e.g., RosettaNet PIP). -->
          <!-- =================================================================== -->
            <!-- TIM: Just junk here for now, must fix later -->
          <complexType name="userDefinedBody">
            <sequence>
              <element name="someRequestField" type="string"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdRequestHdr -->
          <!-- Note - Specifies the Tentative Hold Protocol header for messages
             - requesting a tentative hold. -->
          <!-- Fields - Same as holdHeader -->
          <!-- =================================================================== -->
          <complexType name="holdRequestHdr">
            <sequence>
              <element name="baseHeader" type="holdSchema:holdHeader"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdRequestAckHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader + timeUntilResponse - a indication of the time it
             - will take the resource provider to process the request. -->
          <!-- =================================================================== -->
          <complexType name="holdRequestAckHdr">
            <sequence>
              <element name="baseHeader" type="holdSchema:holdHeader"/>
              <element name="timeUntilResponse" type="duration"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdGrantHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader + holdDuration - the agreed to length of the hold
             - on the resource requested. -->
          <!-- =================================================================== -->
          <complexType name="holdGrantHdr">
            <sequence>
              <element name="baseHeader" type="holdSchema:holdHeader"/>
              <element name="holdDuration" type="duration"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdDenialHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader + reason - a description of the reason for the
             - denial. The implementation may choose to use reason codes or just
             - textual descriptions. -->
          <!-- =================================================================== -->
          <complexType name="holdDenialHdr">
            <sequence>
              <element name="baseHeader" type="holdSchema:holdHeader"/>
              <element name="reason" type="string"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdModifyRequestHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader -->
          <!-- =================================================================== -->
          <complexType name="holdModifyRequestHdr">
            <sequence>
              <element name="modifiedHoldRequest" type="holdSchema:holdHeader"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdModifyGrantHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader + holdDuration - the agreed to length of the hold
             - on the resource requested. -->
          <!-- =================================================================== -->
          <complexType name="holdModifyGrantHdr">
            <sequence>
              <element name="modifiedHoldRequest" type="holdSchema:holdGrantHdr"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdModifyDenialHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader + reason - a description of the reason for the denial.
             - The implementation may choose to use reason codes or just textual
             - descriptions.-->
          <!-- =================================================================== -->
          <complexType name="holdModifyDenialHdr">
            <sequence>
              <element name="modifiedHoldRequest" type="holdSchema:holdDenialHdr"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdModifyResponseChoiceHdr -->
          <!-- Note - The use of a single type for this response was to facilitate a
             - synchronous request/response for the modify request without preventing
             - asynchronous.-->
          <!-- Fields - Either holdModifyGrantHdr or holdModifyDenialHdr -->
          <!-- =================================================================== -->
          <!-- TIM: JWSDP does not support xsd:choice, so I'm turning this into a sequence.
             -      The implementor is now responsible for ensuring exactly one of these
                    is present.
            -->
          <complexType name="holdModifyResponseChoiceHdr">
            <sequence>
              <element name="grant" type="holdSchema:holdModifyGrantHdr"/>
              <element name="deny" type="holdSchema:holdModifyDenialHdr"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdCancellationRequestHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader + customerReason - a description of or a code for
             - the reason why the hold is being cancelled. -->
          <!-- =================================================================== -->
          <complexType name="holdCancellationRequestHdr">
            <sequence>
              <element name="customerHold" type="holdSchema:holdHeader"/>
              <element name="customerReason" type="string"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdCancellationResponseHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader -->
          <!-- =================================================================== -->
          <complexType name="holdCancellationResponseHdr">
            <sequence>
              <element name="customerHold" type="holdSchema:holdHeader"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdCancellationNotificationHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader + cancellationReason - a description of or a code
             -for the reason the vendor is cancelling the hold. -->
          <!-- =================================================================== -->
          <complexType name="holdCancellationNotificationHdr">
            <sequence>
              <element name="customerHold" type="holdSchema:holdHeader"/>
              <element name="cancellationReason" type="string"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdStatusQueryHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader -->
          <!-- =================================================================== -->
          <complexType name="holdStatusQueryHdr">
            <sequence>
              <element name="customerHold" type="holdSchema:holdHeader"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdStatusResponseHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader -->
          <!-- =================================================================== -->
          <complexType name="holdStatusResponseHdr">
            <sequence>
              <element name="baseHeader" type="holdSchema:holdHeader"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - statusStructure -->
          <!-- Note - -->
          <!-- Fields - holdHeader + holdState - a description of the state of the hold.
             - Possible values currently defined are: responding, in process, active,
             - and inactive. The definition is left open (not restricted) for future or
             - user refinement of the useful values. -->
          <!-- =================================================================== -->
          <complexType name="statusStructure">
            <sequence>
              <element name="itemHeader" type="holdSchema:holdHeader"/>
              <element name="holdState" type="string"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdStatusResponseBody -->
          <!-- Note - -->
          <!-- Fields - holdItemsCount - the number of holds matching the holdStatusQuery. -->
          <!--             itemList - The header and state of the holds that match the query. -->
          <!-- =================================================================== -->
          <complexType name="holdStatusResponseBody">
            <sequence>
              <element name="holdItemsCount" type="int"/>
              <element name="itemList" type="holdSchema:statusStructure" minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
          </complexType>
          <!-- =================================================================== -->
          <!-- Item - holdErrorHdr -->
          <!-- Note - -->
          <!-- Fields - holdHeader -->
          <!-- =================================================================== -->
          <!-- TIM: Combined old "holdErrorHdr" and "holdErrorBody" as a fault must
             - have only a single part (see WSDL sec 3.6).
            -->
          <complexType name="holdError">
            <sequence>
              <element name="baseHeader" type="holdSchema:holdHeader"/>
              <element name="holdErrorType" type="int"/>
              <element name="holdErrorDesc" type="string"/>
            </sequence>
          </complexType>
          <!-- TIM: To use doc/lit, we need <element> tags here to reference from WSDL -->
          <element name="userDefinedBody" type="holdSchema:userDefinedBody"/>
          <element name="holdRequestHdr" type="holdSchema:holdRequestHdr"/>
          <element name="holdRequestAckHdr" type="holdSchema:holdRequestAckHdr"/>
          <element name="holdGrantHdr" type="holdSchema:holdGrantHdr"/>
          <element name="holdDenialHdr" type="holdSchema:holdDenialHdr"/>
          <element name="holdModifyRequestHdr" type="holdSchema:holdModifyRequestHdr"/>
          <element name="holdModifyGrantHdr" type="holdSchema:holdModifyGrantHdr"/>
          <element name="holdModifyDenialHdr" type="holdSchema:holdModifyDenialHdr"/>
          <element name="holdModifyResponseChoiceHdr" type="holdSchema:holdModifyResponseChoiceHdr"/>
          <element name="holdCancellationRequestHdr" type="holdSchema:holdCancellationRequestHdr"/>
          <element name="holdCancellationResponseHdr" type="holdSchema:holdCancellationResponseHdr"/>
          <element name="holdCancellationNotificationHdr" type="holdSchema:holdCancellationNotificationHdr"/>
          <element name="holdStatusQueryHdr" type="holdSchema:holdStatusQueryHdr"/>
          <element name="holdStatusResponseHdr" type="holdSchema:holdStatusResponseHdr"/>
          <element name="holdStatusResponseBody" type="holdSchema:holdStatusResponseBody"/>
          <element name="holdError" type="holdSchema:holdError"/>
        </schema>
      </types>
      <message name="HoldRequest">
        <part name="headerHoldRequest" element="holdSchema:holdRequestHdr"/>
        <part name="bodyHoldRequest" element="holdSchema:userDefinedBody"/>
      </message>
      <message name="HoldRequestAck">
        <part name="headerHoldRequestAck" element="holdSchema:holdRequestAckHdr"/>
        <part name="bodyHoldRequestAck" element="holdSchema:userDefinedBody"/>
      </message>
      <message name="HoldGrantResponse">
        <part name="headerHoldGrantResponse" element="holdSchema:holdGrantHdr"/>
        <part name="bodyHoldGrantResponse" element="holdSchema:userDefinedBody"/>
      </message>
      <message name="HoldDenialResponse">
        <part name="headerHoldDenialResponse" element="holdSchema:holdDenialHdr"/>
        <part name="bodyHoldDenialResponse" element="holdSchema:userDefinedBody"/>
      </message>
      <message name="HoldModifyRequest">
        <part name="headerHoldModifyRequest" element="holdSchema:holdModifyRequestHdr"/>
        <part name="bodyHoldModifyRequest" element="holdSchema:userDefinedBody"/>
      </message>
      <message name="HoldModifyResponse">
        <part name="headerHoldModifyResponse" element="holdSchema:holdModifyResponseChoiceHdr"/>
        <part name="bodyHoldModifyResponse" element="holdSchema:userDefinedBody"/>
      </message>
      <message name="HoldCancellationRequest">
        <part name="headerHoldCancellationRequest" element="holdSchema:holdCancellationRequestHdr"/>
        <part name="bodyHoldCancellationRequest" element="holdSchema:userDefinedBody"/>
      </message>
      <message name="HoldCancellationResponse">
        <part name="headerHoldCancellationResponse" element="holdSchema:holdCancellationResponseHdr"/>
        <part name="bodyHoldCancellationResponse" element="holdSchema:userDefinedBody"/>
      </message>
      <message name="HoldCancellationNotification">
        <part name="header" element="holdSchema:holdCancellationNotificationHdr"/>
        <part name="body" element="holdSchema:userDefinedBody"/>
      </message>
      <message name="HoldStatusQueryRequest">
        <part name="headerHoldStatusQueryRequest" element="holdSchema:holdStatusQueryHdr"/>
        <part name="bodyHoldStatusQueryRequest" element="holdSchema:userDefinedBody"/>
      </message>
      <message name="HoldStatusResponse">
        <part name="headerHoldStatusResponse" element="holdSchema:holdStatusResponseHdr"/>
        <part name="bodyHoldStatusResponse" element="holdSchema:holdStatusResponseBody"/>
      </message>
      <message name="HoldErrorResponse">
        <!-- TIM: altered to be consistent with updated schema - the
           - fault body must have only one part
          -->
        <part name="bodyHoldErrorResponse" element="holdSchema:holdError"/>
      </message>
      <portType name="TentativeHoldServicePortType">
        <operation name="InitiateHold">
          <input message="tns:HoldRequest"/>
          <output message="tns:HoldRequestAck"/>
          <!--
          <fault name="HoldErrorResponse" message="tns:HoldErrorResponse"/>
          -->
        </operation>
        <operation name="InitiateHoldModify">
          <input message="tns:HoldModifyRequest"/>
          <output message="tns:HoldModifyResponse"/>
          <!--
          <fault name="HoldErrorResponse" message="tns:HoldErrorResponse"/>
          -->
        </operation>
        <operation name="InitiateHoldCancellation">
          <input message="tns:HoldCancellationRequest"/>
          <output message="tns:HoldCancellationResponse"/>
          <!--
          <fault name="HoldErrorResponse" message="tns:HoldErrorResponse"/>
          -->
        </operation>
        <operation name="InitiateStatusQuery">
          <input message="tns:HoldStatusQueryRequest"/>
          <output message="tns:HoldStatusResponse"/>
          <!--
          <fault name="HoldErrorResponse" message="tns:HoldErrorResponse"/>
          -->
        </operation>
      </portType>
      <portType name="TentativeHoldNotificationServicePortType">
        <operation name="NotifyHoldGranted">
          <output message="tns:HoldGrantResponse"/>
        </operation>
        <operation name="NotifyHoldDenied">
          <output message="tns:HoldDenialResponse"/>
        </operation>
        <operation name="NotifyServerHoldCancellation">
          <output message="tns:HoldCancellationNotification"/>
        </operation>
      </portType>
      <binding name="TentativeHoldSoapBinding" type="tns:TentativeHoldServicePortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
          <operation name="InitiateHold">
            <soap:operation soapAction="http://www.w3.org/2001/08/thp/InitiateHold"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
            <!--
            <fault name="HoldErrorResponse">
              <soap:fault name="HoldErrorResponse" use="literal"/>
            </fault>
            -->
          </operation>
          <operation name="InitiateHoldModify">
            <soap:operation soapAction="http://www.w3.org/2001/08/thp/InitiateHoldModify"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
            <!--
            <fault name="HoldErrorResponse">
              <soap:fault name="HoldErrorResponse" use="literal"/>
            </fault>
            -->
          </operation>
          <operation name="InitiateHoldCancellation">
            <soap:operation soapAction="http://www.w3.org/2001/08/thp/InitiateHoldCancellation"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
            <!--
            <fault name="HoldErrorResponse">
              <soap:fault name="HoldErrorResponse" use="literal"/>
            </fault>
            -->
          </operation>
          <operation name="InitiateStatusQuery">
            <soap:operation soapAction="http://www.w3.org/2001/08/thp/InitiateStatusQuery"/>
            <input>
              <soap:body use="literal"/>
            </input>
            <output>
              <soap:body use="literal"/>
            </output>
            <!--
            <fault name="HoldErrorResponse">
              <soap:fault name="HoldErrorResponse" use="literal"/>
            </fault>
            -->
          </operation>
      </binding>
      <service name="TentativeHoldService">
        <documentation> Mythical Tentative Hold Web service</documentation>
        <port name="TentativeHoldPort" binding="tns:TentativeHoldSoapBinding">
          <soap:address location="http://xyz.com/tentativeHold/"/>
        </port>
      </service>
      <service name="TentativeHoldNotificationService">
        <port name="NotificationPort" binding="tns:TentativeHoldSoapBinding">
          <soap:address location="http://xyz.com/tentativeHoldNotification"/>
        </port>
      </service>
    </definitions>

  • Webi Vs Bex Analyzer for the same query

    Hi Experts ,
    I face an issue in Webi Vs Bex Analyzer for the same query :
    Output of Bex query:
    Transport System     Location ID     Quantity
    PIPEC1-Z4          LOCCP1-Z4     1,000.000 BBL
                              LOCCP2-Z4     400 TO
                              LOCGAL-Z4     *
                              LOCRAS-Z4     200 TO
                              Result     *
    Here as the Unit of measure is different, the RESULT displays a *
    Only in cases where the unit of measure is the same, the result
    is displayed correctly.
    However in webi, the sum function blindly adds up without any possibility
    to check whether the uom is the same.
    How can I check to add only when the units are the same ?
    Regards, Jerin.

    Hi Jerin,
    Each Key Figure used in a BW query can have up to three different sets of information:
    Numeric value of the Key Figure corresponding to the Key Figure without the unit.
    Unit or Currency information, A Dimension object with character format that contains the unit or currency. For example, 'USD', 'u20AC', 'km'
    Formatted value, representing the user-specific formatting. A Dimension object with character format that contains the Key Figure and the unit (formatted value) based on user preferences configured on the SAP server. For example, '200 USD', '345 u20AC', '25 km'
    Each Key Figure is represented with a Measure object in a Class u201CKey Figures.u201D In the case where the Key Figure is configured in BW with a unit, an additional Dimension object will be added representing the unit information. The u201CFormattedu201D value represents the numeric value Formatted as a string value, following the user-specific formatting settings.
    Or if doesn't appear the Unit, for some CKF or RKF it happens, you can add to your BEx query and then to the universe the unit or currency and create a separate dimension with that information.
    I hope this help you.
    Best regards,
      Fede

  • BEx Prompt not visible in webi

    Hello EveryOne,
    I am creating a Web intelligence Report on BEx query ( Coming from .UNV Universe ) , My problem is i have used two key dates in query . One is visible in webi another one is not. In Query analyzer both dates are visible . Can someone suggest me why it is so?
    Thanks in advance.....
    Vaishali Wadhwa.

    Hi vaishali wadhwa ,
    Try to run integrity check option at universe level  and it will give details of new fields then create new universe and copy all new element from new universe to old universe. After copied all the elements into old universe.export the universe and then check the report.
    Regards,
    Anish

  • Mapped characteristics in Multiprovider not available in Query Designer

    Hi,
    we have a multiprovider with approx 10 cubes and lot of characteristics, Navigational attributes mapped to it. I have added around 3 more characteristics and mapped to underlying cubes. But these added characteristics are not visible in Query designer.  Is there maximum limit for the number of characteristics.
    Thanks,

    Disconnecting the BEx made it work. But i dont understand i added this yesterday in the multiprovider. But i also removed some navigational attributes from the mapping. I will re-map and check. Thanks for the tip.

  • BEx variables ignored in MDX query

    I am having some issues with Crystal Reports running off a Bex query. In the Bex query I have a variable defined on characteristic posting date. However, even though I select a specific posting date when prompted, records from all posting dates are returned. So I copied the MDX statement and ran it in MDXTEST only to get the same result.
    MDX:
    SELECT NON EMPTY EXCEPT([OPSTNG_DATE].MEMBERS, {[OPSTNG_DATE].[All]}) ON ROWS FROM [EFIGL_M01/QEFIGL_M01_4250] SAP VARIABLES [!V000001] INCLUDING "08/01/2010" : "08/01/2010"
    Anyone ran into a similar problem before? The MDX statement does indicate that I only picked one posting date for SAP VARIABLE

    Hi Ingo,
    Yes this variable is built in the underlying Bex query, and running the query in web analyzer or RSRT shows the correct filtered reesult.
    The variable is created under the Posting Date Characteristic under "Default Values" in the "Filter" tab. Now that you mentioned this, I tried moving the variable to "Characteristic Restrictions" from "Default Values" and I am able to get the correct result! What I don't get now is why the original configuration worked for Bex but not for MDX, but worked for both once moved to "Characteristic Restrictions"?
    Thanks!

  • Show blank texts instead of key or 'not assigned' in query-result

    Hi,
    is there a way / workaround to
    1. suppress # / 'not assigned' in query results?
    or
    2. show blank texts (if maintained) instead of the key
        (when showing texts for a characteristic in a query all characteristics with blank texts - none or ' ' -
         will show the key instead of the blan text) ?
    Thanks,
    Christoph

    Hi Christoph,
    there have been several posts concerning this topic. As Saad told there is no direct way within SAP standard to reach this aim.
    Depending on the Front-End Tools you are using these posts may help:
    Not assigned and # in BEX 7.0 WAD
    how to set field to blank if the data is # or unassigned
    Brgds,
    Marcel

  • SQL 2005 v9.0.2047 (SP1) - The query processor could not produce a query plan

    Hi Everyone:
    *Before* I actually call up Microsoft SQL Customer Support Services and ask them, I wanted to ping other people to see if you have ever ran into this exact error
    "Internal Query Processor Error: The query processor could not produce a query plan. For more information, contact Customer Support Services."
    I would have searched the forums myself, but at this moment in time, search is broken :(
    If anyone has run into this error before, what conditions would exist that this could happen?  That is, if I can sniff this out with suggestions from the community, I would be happy to do so. 
    It is an oddity because if I alter a couple subqueries in the where clause [ i.e., where tab.Col = (select val from tab2 where id='122') ]to not have subqueries [hand coded values], then the t-sql result is fine.  It's not as if subqueries are oddities... I've used them when appropriate.
    fwiw - Not a newbie t-sql guy.  ISV working almost daily with t-sql since MS SQL 2000.  I have never seen this message before...at least I don't recall ever seeing it.
    Thanks in advance for other suggested examination paths.

    This code also produces the error... the text is from an incident a while ago that I reported to microsoft.
    --I just found a way to break the query engine. Looks like the SQL Server team missed something. I was generating phony data for test cases, by the way.
    --Bad code:
    DECLARE @t_Asset TABLE
    (Asset_Id INT)
    INSERT INTO @t_Asset (Asset_Id) VALUES (1)
    INSERT INTO @t_Asset (Asset_Id) VALUES (2)
    INSERT INTO @t_Asset (Asset_Id) VALUES (3)
    DECLARE @Record_id INT
    ,@File_id NVARCHAR(MAX)
    ,@SKP_Cust_id NVARCHAR(MAX)
    ,@Unique_Barcode NVARCHAR(MAX)
    SELECT @Record_Id = (SELECT TOP 1 Asset_Id FROM @t_Asset)
    , @file_id = (SELECT LEFT(REPLACE(CAST(NEWID() AS NVARCHAR(50)), '-', ''), 10))
    ,@Unique_Barcode=(SELECT LEFT(REPLACE(CAST(NEWID() AS NVARCHAR(50)), '-', ''), 15))
    go
    --Msg 8624, Level 16, State 116, Line 12
    --Internal Query Processor Error: The query processor could not produce a query plan. For more information, contact Customer Support Services.
    --Code that doesn’t fry the optimizing engine:
    DECLARE @t_Asset TABLE
    (Asset_Id INT)
    INSERT INTO @t_Asset (Asset_Id) VALUES (1)
    INSERT INTO @t_Asset (Asset_Id) VALUES (2)
    INSERT INTO @t_Asset (Asset_Id) VALUES (3)
    DECLARE @Record_id INT
    ,@File_id NVARCHAR(MAX)
    ,@SKP_Cust_id NVARCHAR(MAX)
    ,@Unique_Barcode NVARCHAR(MAX)
    SELECT @Record_Id = (SELECT TOP 1 Asset_Id FROM @t_Asset)
    SELECT @file_id = (SELECT LEFT(REPLACE(CAST(NEWID() AS NVARCHAR(50)), '-', ''), 10))
    SELECT @Unique_Barcode=(SELECT LEFT(REPLACE(CAST(NEWID() AS NVARCHAR(50)), '-', ''), 15))

  • Recipient determination characteristic not in control query RDRD 525

    I am trying to create a Broadcast Setting in BEX Analyzer based on a workbook using Broadcast by E-Mail (bursting).  I want to use a control query to determine the recipients of the broadcast.  When I select the query that I want to use I get the following error:
    Recipient determination: Characteristic 0VENDOR is not in control query X_Z7_ZPUR_M03_Q0002_PRESEL
    The message number is RSRD 525. 
    The characteristic that I am using for recipient determination is 0VENDOR and it DOES exist in my query.  I can get the broadcast to work if I manually enter a list of vendors that I want to receive the broadcast but that is not practical.  The recipient determination is based on whether the vendor has open items which causes them to be in the output of the preselection query. 
    Does anyone know how to resolve this?
    Thank you for your help

    Hi, everybody.
    I already solved this problem. Thanks a lot.
    For this I selected the controls in a exit variable that should be selected in from table time-dependent  from infoobject. This solution ran just for BWD and BWQ, because there was a lot of data in BWP.
    Then I made a first query that has selected the controls. After that, in the original query I defined the substitution path relating with the first query.
    Thanks again,
    Elisabeth

  • Kodo resultset does not match sqlplus query result

    We are attempting to use Kodo's vertical mapping jdo capability to allow
    our application's drop down pick lists tsupport multiple languages.
    With most of the pick lists/ code tables it appears to work properly.
    But with 2 pick lists/ code tables the result sets do retrieved thro
    kodo jdo do not match what happens thru sqlplus.
    Even though the query asks for only English records, Kodo retrieve 1
    record in arabic.
    This does not happen in sqlplus
    We are using Oracle 10.2.1 and Kodo jdo 3.3
    Below is a the kodo trace and sqlplus result
    Thanks!
    ---------------Getting picklist for class: class
    gov.state.pisces.jdo.EntryStatusL language en
    25375 TRACE [javawsApplicationMain] kodo.Query - executing query: select
    from gov.state.pisces.jdo.EntryStatusL where visible == 1 &&
    language.languageCode=='en' order by name ascending
    25390 TRACE [javawsApplicationMain] kodo.jdbc.SQL - <t 12742366, conn
    16761835> [15 ms] executing prepstmnt 12406210 SELECT t1.ENTRY_STATUS_ID,
    t0.ID, t1.ENTRY_STATUS_CODE, t1.MODIFICATION_DATE,
    t1.MODIFICATION_USER_ID, t1.OWNER, t1.VISIBLE, t0.LANGUAGE_ID,
    t0.MODIFICATION_DATE, t0.MODIFICATION_USER_ID, t0.NAME, t0.OWNER FROM
    COMMON.LANGUAGE t2, TRAVELER.ENTRY_STATUS t1, TRAVELER.ENTRY_STATUS_L t0
    WHERE (t1.VISIBLE = ? AND t2.LANGUAGE_CODE = ?) AND t0.ID =
    t1.ENTRY_STATUS_ID AND t0.LANGUAGE_ID = t2.LANGUAGE_ID ORDER BY t0.NAME
    ASC [params=(int) 1, (String) en] [reused=0]
    Entry Status Lang Id 29
    25390 TRACE [javawsApplicationMain] kodo.jdbc.SQL - <t 12742366, conn
    16761835> [0 ms] executing prepstmnt 6628690 SELECT t0.LANGUAGE_CODE,
    t0.LANGUAGE_NAME, t0.LOCAL, t0.MODIFICATION_DATE, t0.MODIFICATION_USER_ID,
    t0.OWNER FROM COMMON.LANGUAGE t0 WHERE t0.LANGUAGE_ID = ? [params=(long)
    29] [reused=0]
    Entry Status Lang Code en
    Entry Status Lang Id 29
    Entry Status Lang Code en
    Entry Status Lang Id 6
    25390 TRACE [javawsApplicationMain] kodo.jdbc.SQL - <t 12742366, conn
    16761835> [0 ms] executing prepstmnt 6628690 SELECT t0.LANGUAGE_CODE,
    t0.LANGUAGE_NAME, t0.LOCAL, t0.MODIFICATION_DATE, t0.MODIFICATION_USER_ID,
    t0.OWNER FROM COMMON.LANGUAGE t0 WHERE t0.LANGUAGE_ID = ? [params=(long)
    6] [reused=1]
    Entry Status Lang Code ar
    WO class gov.state.pisces.jdo.EntryStatusL
    WU 6
    WO ????
    Below is sqlplus results
    oracle@ni2 ~]$ sqlplus p_pw1
    SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 3 20:09:52 2006
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Enter password:
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    P_PW1@pisces > @/tmp/l2
    6
    P_PW1@pisces > r
    1 SELECT
    2 t0.LANGUAGE_ID,
    3 t0.NAME
    4 FROM COMMON.LANGUAGE t2, TRAVELER.ENTRY_STATUS t1,
    TRAVELER.ENTRY_STATUS_L
    t0
    5* WHERE (t1.VISIBLE = 1 AND t2.LANGUAGE_CODE = 'en' ) AND t0.ID =
    t1.ENTRY_ST
    ATUS_ID AND t0.LANGUAGE_ID = t2.LANGUAGE_ID
    LANGUAGE_ID
    NAME
    29
    Arriving
    29
    Departing
    29
    Transit
    P_PW1@pisces >

    Abe White wrote:
    Without understanding your model it's pretty difficult to follow the
    SQL. Do you use application identity? It could be a problem with your
    application identity class. Also, does your base class have a class
    indicator (jdbc-class-ind)? Do you do anything strange like attempt to
    use the same primary key value for multiple records?We are using identity-type of "application". We are not using
    jdbc-class-ind.
    I will stick here wuth the entry_status codess.
    Entry_status is the base and entry_status_l has language specific info
    Entry status has one primary key - Entry_status_id
    Entry_status_l has 2 keys id and language_id
    ( language_id is the primary key to the language table )
    Below are the jdos and the oracle table descriptions
    EntryStatus.jdo
    <?xml version="1.0" encoding="UTF-8"?>
    <jdo>
    <package name="gov.state.pisces.jdo">
    <class name="EntryStatus" identity-type="application">
    <extension vendor-name="kodo" key="jdbc-class-ind"
    value="subclass-join"/>
    <extension vendor-name="kodo" key="jdbc-class-map"
    value="base">
    <extension vendor-name="kodo" key="table"
    value="TRAVELER.ENTRY_STATUS"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="state-image"/>
    <field name="entryStatusCode">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="ENTRY_STATUS_CODE"/>
    </extension>
    </field>
    <field name="entryStatusId" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="ENTRY_STATUS_ID"/>
    </extension>
    </field>
    <field name="entryStatusLs">
    <collection element-type="EntryStatusL"/>
    <extension vendor-name="kodo" key="inverse-owner"
    value="entryStatus"/>
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="one-many">
    <extension vendor-name="kodo"
    key="ref-column.ENTRY_STATUS_ID" value="ID"/>
    <extension vendor-name="kodo" key="table"
    value="TRAVELER.ENTRY_STATUS_L"/>
    </extension>
    </field>
    <field name="entryStatusName" persistence-modifier="none">
    </field>
    <field name="modificationDate">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="MODIFICATION_DATE"/>
    </extension>
    </field>
    <field name="modificationUserId">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="MODIFICATION_USER_ID"/>
    </extension>
    </field>
    <field name="owner">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="OWNER"/>
    </extension>
    </field>
    <field name="visible">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="VISIBLE"/>
    </extension>
    </field>
    </class>
    </package>
    </jdo>
    EntryStatusl.jdo
    <?xml version="1.0" encoding="UTF-8"?>
    <jdo>
    <package name="gov.state.pisces.jdo">
    <class name="EntryStatusL" identity-type="application"
    persistence-capable-superclass="EntryStatus">
    <extension vendor-name="kodo" key="jdbc-class-map" value="vertical">
    <extension vendor-name="kodo"
    key="ref-column.ENTRY_STATUS_ID" value="ID"/>
    <extension vendor-name="kodo" key="table"
    value="TRAVELER.ENTRY_STATUS_L"/>
    </extension>
    <extension vendor-name="kodo" key="jdbc-version-ind"
    value="state-image"/>
    <field name="entryStatus">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="one-one">
    <extension vendor-name="kodo"
    key="column.ENTRY_STATUS_ID" value="ID"/>
    </extension>
    </field>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column" value="ID"/>
    </extension>
    </field>
    <field name="language">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="one-one">
    <extension vendor-name="kodo" key="column.LANGUAGE_ID"
    value="LANGUAGE_ID"/>
    </extension>
    </field>
    <field name="languageId" primary-key="true">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="LANGUAGE_ID"/>
    </extension>
    </field>
    <field name="modificationDate">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="MODIFICATION_DATE"/>
    </extension>
    </field>
    <field name="modificationUserId">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="MODIFICATION_USER_ID"/>
    </extension>
    </field>
    <field name="name">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="NAME"/>
    </extension>
    </field>
    <field name="owner">
    <extension vendor-name="kodo" key="jdbc-field-map"
    value="value">
    <extension vendor-name="kodo" key="column"
    value="OWNER"/>
    </extension>
    </field>
    </class>
    </package>
    </jdo>
    descriptions of tables
    PMAN@pisces > desc traveler.entry_status
    Name Null? Type
    ENTRY_STATUS_ID NOT NULL NUMBER(35)
    ENTRY_STATUS_CODE NOT NULL VARCHAR2(3 CHAR)
    LEGACY_NAME VARCHAR2(50 CHAR)
    VISIBLE NOT NULL NUMBER(1)
    MODIFICATION_DATE NOT NULL DATE
    MODIFICATION_USER_ID NOT NULL VARCHAR2(20 CHAR)
    OWNER NOT NULL NUMBER(35)
    PMAN@pisces > desc traveler.entry_status_l
    Name Null? Type
    ID NOT NULL NUMBER(35)
    LANGUAGE_ID NOT NULL NUMBER(35)
    NAME NOT NULL VARCHAR2(255 CHAR)
    MODIFICATION_DATE NOT NULL DATE
    MODIFICATION_USER_ID NOT NULL VARCHAR2(20 CHAR)
    OWNER NOT NULL NUMBER(35)

  • BEX Formula not working

    Gurus,
    My formula in Bex is not giving me any results, here is what I defined
    Margin Price = Price 1 + price 2  - (price 3 * quantity_shipped)
    When I check the query for errors, it's saying Margin Price is not correctly defined. Can you please let me know how to define this correctly?
    I am able to display all pricing KF (Price 1, Price 2 and Price 3) columns correctly in the query but the formula is giving me an empty cell.
    Thanks,
    Chris
    Edited by: chris Kol on Dec 26, 2008 3:27 PM

    Hi Chris
    It seems to be your input keyfigures(price1,price2,price3) are coming with different dimensions or different currencys thats way it not working properly use nodim function.
    If thats not the case check weather your query properties are configured for -ve value are not logically it should display though its negative values but in some extreme cases there is possibility that the setting is made in such way that no negative value is displaying teh query out put level.
    Hope its clear a little..!
    Thanks
    (P159793)K M R
    **Assigning points is the only way of saying thanks in SDN***
    >
    Kris Kol wrote:
    > Gurus,
    >
    > My formula in Bex is not giving me any results, here is what I defined
    >
    > Margin Price = Price 1 + price 2  - (price 3 * quantity_shipped)
    >
    > When I check the query for errors, it's saying Margin Price is not correctly defined. Can you please let me know how to define this correctly?
    >
    > I am able to display all pricing KF (Price 1, Price 2 and Price 3) columns correctly in the query but the formula is giving me an empty cell.
    >
    > Thanks,
    > Chris
    >
    > Edited by: chris Kol on Dec 26, 2008 3:27 PM

  • Availibility check not happening after credit block is removed for order

    Hi All,
    When  we are removing the credit block on  a sales order through report RVKRED09, the availibility check is not performed again because the qty in sales order is not confirmed.
    As per my understanding when the report RVKRED09 is run, the sales order is called in background and the credit status is changed  and then subsequently, the user exit MV45AFZF is called. In this exit, the values in wa-ybuk-cmgst is compared against wa-xbuk-cmgst. if  i think wa-ybuk-cmgst is A and wa-xbuk-cmgst is B, then it means the credit blocked is removed and the return code is 8 which means availibility check is to be performed.
    However in our case availibility check is not happening since the values of wa-ybuk-cmgst and wa-xbuk-cmgst  are same which is B i..e the credit block is not removed...but however the report RVKRED09 shows that cedit status is changed.
    Something is happening somwhere  which is causing this. could any one guide. Also what is the program name which confirms the availibility check in sales order and also what is the program name  which changes the credit status  for a sales order in VBUK table.
    regards
    sachin

    Hi
    So as per your query , you have gone with the user exit in the program MV45AFZF , so check wheather any subprogram has been included where availability check wont happen.So just take the help of ABAP;er and then check wheather any program has been included related to availability check.
    Regards
    Srinath

  • The query processor could not produce a query plan

    I'm getting this message:
    Msg 8624, Level 16, State 17, Line 1
    Internal Query Processor Error: The query processor could not produce a query plan. For more information, contact Customer Support Services.
    This is what I run
    ;WITH TableA AS
    SELECT 101 as A_ID
    ,TableB AS
    SELECT 1 as B_ID, 101 as B_A_ID , 'xxx' as B_Courses
    UNION ALL
    SELECT 2 , 101 , 'YYY'
    UNION ALL
    SELECT 3 , 101 , 'ZZZ'
    UNION ALL
    SELECT 4 , 102 , 'AAA'
    SELECT
    A_id
    ,x.x.value('(./text())[1]','varchar(500)') AS fieldX
    FROM
    TableA AS A
    OUTER APPLY
    -- CROSS APPLY
    (SELECT
    ',' + B_Courses
    FROM
    TableB AS B
    WHERE
    1=1
    AND B.B_A_ID = A.A_ID
    FOR XML PATH(''),TYPE
    ) x(x)
    With OUTER
    APPLY, I get the message shown above.
    With CROSS
    APPLY, everything works nicely.
    I resolve by adding in select this :
    STUFF((SELECT ','+B_Courses
    FROM
    TableB AS B
    WHERE
    B.B_A_ID = A.A_ID
    FOR XML PATH(''),TYPE).value('(./text())[1]' ,'VARCHAR(500)'),1,1,'')
    Tested on:
    Edition ProductVersion ProductLevel
    Express Edition 9.00.3042.00 SP2
    and
    Edition ProductVersion ProductLevel
    Developer Edition (64-bit) 11.0.2100.60 RTM
    Any idea way is this happening?
    Thanks

    Is the below working for you?
    ;WITH TableA AS
    SELECT 101 as A_ID
    ,TableB AS
    SELECT 1 as B_ID, 101 as B_A_ID , 'xxx' as B_Courses
    UNION ALL
    SELECT 2 , 101 , 'YYY'
    UNION ALL
    SELECT 3 , 101 , 'ZZZ'
    UNION ALL
    SELECT 4 , 102 , 'AAA'
    SELECT
    A_id
    -- ,x.x.value('(./text())[1]','varchar(500)') AS fieldX --Commented this part
    FROM
    TableA AS A
    OUTER APPLY
    -- CROSS APPLY
    (SELECT
    ',' + B_Courses
    FROM
    TableB AS B
    WHERE
    1=1
    AND B.B_A_ID = A.A_ID
    FOR XML PATH(''),TYPE
    ) x(x)

Maybe you are looking for