Query with a cube and infoobj attributes

Hi Gurus,
I have a cube CUBE1 and it contains Infoobject IO_ADDR. Attributes of  IO_ADDR are address details. Can I display cube details as well as address details in a Bex report without creating infoset or multicube etc? Pls guide me if it is possible..
What would be the best method to do this?
Thanks in advance...
Saj

Hi Saj,
It is possible !!!!!!!!
Just check whether the Add Attribute is Nav or Display Attribute.In any case u can get that into report.But if it is Nav Attibute then can drill down based on that  Address Object.Else u can change it to
Nav att and then include it in the report.
Say if it is Material and MAt Group is Attribute then
In the Left hand side of the Query when u drill down on MAterial,Material Attributes,U can find Mat Group.Just Drag as drop the Mat and Mat Group.For Display Attribute it goes Hand in HAnd.
For Nav Attribute,it will display as Material_Matgroup in the Drill Down.just drag and Drop.
Rgds
SVU
Edited by: svu123 on May 14, 2009 1:24 PM

Similar Messages

  • How do I create a folder or report from a query with a union and parameters

    I have created folders with unions but I am having difficulty coverting a query with a union and parameters.
    The following works great in SQL*Developer without parameters, but I want to change to use parameters for the year and quarter and use it in Discoverer:
    SELECT TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000') FEID,
      AV.FIRM_NAME VENDOR_NAME,
      AV.BIDCLASS CONTRACT_CODES,
      AV.AWAMT AWARD_AMOUNT,
      AV.SOL_MODE FORMAL_INFORMAL,
      AV.CERT BUSINESS_ENTITY,
      AV.ETHNICITY ETHNICTY,
      AV.PO_NUMBER_FORMAT CONTRACT,
      SUM(VP.INVOICE_AMOUNT) AMOUNT_PAID_$
    FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV,
      CONFIRM.VSTATE_VENDOR_PAYMENTS VP
    WHERE ( ( AV.PO_NUMBER = VP.PO_NUMBER
    AND AV.VENDOR_ID       = VP.VENDOR_ID ) )
    AND (TO_CHAR(VP.PAYMENT_DATE,'Q') = '4')
    AND ( TO_CHAR(VP.PAYMENT_DATE,'YYYY') = '2009' )
    GROUP BY TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000'),
      AV.FIRM_NAME,
      AV.BIDCLASS,
      AV.AWAMT,
      AV.SOL_MODE,
      AV.CERT,
      AV.ETHNICITY,
      AV.PO_NUMBER_FORMAT
      union
    SELECT TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000') FEID,
      AV2.FIRM_NAME VENDOR_NAME,
      AV2.BIDCLASS CONTRACT_CODES,
      AV2.AWAMT AWARD_AMOUNT,
      AV2.SOL_MODE FORMAL_INFORMAL,
      AV2.CERT BUSINESS_ENTITY,
      AV2.ETHNICITY ETHNICTY,
      AV2.PO_NUMBER_FORMAT CONTRACT,
      0 AMOUNT_PAID_$
    FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV2
    WHERE
    not exists (SELECT 'X'
                  FROM CONFIRM.VSTATE_VENDOR_PAYMENTS VP2
                 WHERE av2.po_number = vp2.po_number
                       AND (TO_CHAR(VP2.PAYMENT_DATE,'Q') = '4')
                       AND ( TO_CHAR(VP2.PAYMENT_DATE,'YYYY') = '2009' ))
    AND (TO_CHAR(AV2.AWDATE,'Q') = '4')
    AND (to_CHAR(AV2.AWDATE,'YYYY') = '2009')
    GROUP BY TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000'),
      AV2.FIRM_NAME,
      AV2.BIDCLASS,
      AV2.AWAMT,
      AV2.SOL_MODE,
      AV2.CERT,
      AV2.ETHNICITY,
      AV2.PO_NUMBER_FORMAT Can someone provide a solution?
    Thank you,
    Robert

    Hi,
    You can take the parameters to the select so that you will be able to create conditions over them.
    Try to use this SQL instead of your and in the discoverer workbook create the conditions and parameters:
    SELECT TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000') FEID,
    AV.FIRM_NAME VENDOR_NAME,
    AV.BIDCLASS CONTRACT_CODES,
    AV.AWAMT AWARD_AMOUNT,
    AV.SOL_MODE FORMAL_INFORMAL,
    AV.CERT BUSINESS_ENTITY,
    AV.ETHNICITY ETHNICTY,
    AV.PO_NUMBER_FORMAT CONTRACT,
    TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
    TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
    SUM(VP.INVOICE_AMOUNT) AMOUNT_PAID_$
    FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV,
    CONFIRM.VSTATE_VENDOR_PAYMENTS VP
    WHERE ( ( AV.PO_NUMBER = VP.PO_NUMBER
    AND AV.VENDOR_ID = VP.VENDOR_ID ) )
    --AND (TO_CHAR(VP.PAYMENT_DATE,'Q') = '4')*
    --AND ( TO_CHAR(VP.PAYMENT_DATE,'YYYY') = '2009' )*
    GROUP BY TO_CHAR(NVL(AV.TAX_ID,999999999),'000000000'),
    AV.FIRM_NAME,
    AV.BIDCLASS,
    AV.AWAMT,
    AV.SOL_MODE,
    AV.CERT,
    AV.ETHNICITY,
    AV.PO_NUMBER_FORMAT ,
    TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
    TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
    union
    SELECT TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000') FEID,
    AV2.FIRM_NAME VENDOR_NAME,
    AV2.BIDCLASS CONTRACT_CODES,
    AV2.AWAMT AWARD_AMOUNT,
    AV2.SOL_MODE FORMAL_INFORMAL,
    AV2.CERT BUSINESS_ENTITY,
    AV2.ETHNICITY ETHNICTY,
    AV2.PO_NUMBER_FORMAT CONTRACT,
    TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
    TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
    0 AMOUNT_PAID_$
    FROM CONFIRM.VSTATE_PAID_AWARD_VENDORS AV2
    WHERE
    not exists (SELECT 'X'
    FROM CONFIRM.VSTATE_VENDOR_PAYMENTS VP2
    WHERE av2.po_number = vp2.po_number
    AND (TO_CHAR(VP2.PAYMENT_DATE,'Q') = TO_CHAR(VP.PAYMENT_DATE,'Q') )
    AND ( TO_CHAR(VP2.PAYMENT_DATE,'YYYY') = TO_CHAR(VP.PAYMENT_DATE,'YYYY') ))
    --AND (TO_CHAR(AV2.AWDATE,'Q') = '4')*
    --AND (to_CHAR(AV2.AWDATE,'YYYY') = '2009')*
    GROUP BY TO_CHAR(NVL(AV2.TAX_ID,999999999),'000000000'),
    AV2.FIRM_NAME,
    AV2.BIDCLASS,
    AV2.AWAMT,
    AV2.SOL_MODE,
    AV2.CERT,
    AV2.ETHNICITY,
    AV2.PO_NUMBER_FORMAT,
    TO_CHAR(VP.PAYMENT_DATE,'YYYY') P_YEAR,
    TO_CHAR(VP.PAYMENT_DATE,'Q') P_QTR
    Tamir

  • Absolute dynamic select query with dynamic join and where

    Has anyone ever tried creating an absolutely dynamic SELECT query with dynamic Join and Where conditions.
    I have a requirement of creating such a query in an Utility Class, and i have written the code. But its throwing my sysntax errors.
    Please let me know where am I going wrong OR is it really possible to create such a dynamic Query??
        SELECT (FIELDS) INTO TABLE IT_TABLES
          FROM ( (ME->TABLE1)  inner join ( me->table2 )
          on ( on_condition ) )
          WHERE (me->where_fields).
    Ags.

    It worked for me in a following way:
    select * into corresponding fields of table <result_table>
            from (join_string)
            where (l_where).
    Where the contents of join_string were dynamically build using concatenation. So it will be something like
    concatenate ME->TABLE1 'as a INNER JOIN' me->table2 'as b ON (' into join_string separated by space.
    <...>
    add here matching/reference colums, something like
    concatenate 'a~' me->TABLE1_JOIN_COL into temp1.
    concatenate 'b~' me->TABLE2_JOIN_COL into temp2.
    concatenate join_string temp1 '=' temp2 into join_string separated by space.
    <...>
    concatenate join_string ')' into join_string separated by space.
    And then use similar approach for l_where variable.

  • How to join a  cube and a Attribute of it's Char. without navigation

    How to join a&#12288;cube and a Attribute of it's Characteristic
    without navigation Attribute.
    example
    &#9312; Cube X&#65306;(data)
    &#12539;0material&#65306; apple
    &#12539;0company&#65306; firmA
    &#12539;Sales&#65306;$100
    &#9313;ODS(marerial-company master)
    (Key)0material&#65306; apple
    (Key)0company&#65306; firmA
    &#12539;Sales-Employee&#65306;Mr.Y
    &#8595;
    Mr.Y&#65306;$100
    Now,Cube X has many realdata.
    So, we do not hope to repair Cube X itself.

    Hello sakurai
    1. you should use multiprovider on ODS and cube to get the desired field .
    2. Infoset is a flat structure you use for characteristic reporting, in you case you need attribute in reporting so can use it.
    3. If u r in BI 7 , add extra field in cube and populate by loopback process....
    Award points if help...
    Revert back in case of any doubt
    Thanks
    Tripple k

  • Query with MARA MVKE and MAST

    Hi
      Im trying to create a query with MARA, MVKE and MAST tables. If corresponding records exist in all the 3 tables, I get output. Otherwise, I get the result as 'No data selected'. I tried using left outer join with MAST , tried using MARC also between MARA and MAST but its of no use. Please suggest how I can both get the sales data and BOM details in the output.
    Thanks
    Aparna

    Hi Aparna,
    Goto  SE16 Check in table,
    1.KDST -
    Sales order to BOM link
    2.STKO -
    BOM - header
    3.STPO -
    BOM - item
    And also you create a query and check the out put.

  • Af:query with bind variables and Saved Search

    I have a VO and view criteria(VC).
    VC has a criteria item ObsoleteDate with range specified as bindVariables "dateFrm" and "dateTo" I dragged & dropped the named criteria as af:Query with table. Table toolbar has 2 buttons in which I set & clear the bind variables. Data is fetched as per as expected based on the VC & bind variables.
    The problem is,
    If I save my search with bind variables set and swap between the saved searches , all works fine. But the moment I clear bind variables & swap between searches.. "dateFrm" is populated and "dateTo" is null and I get an Exception oracle.jbo.AttrValException: JBO-27035: Attribute Obsolete Date: is required.
    Why is this happening?? Saved search is supposed to save the VC with all the bind values set while saving and clearing bind variables shouldn't affect the saved search, right?? Or I have understood it wrong?
    I am using JDeveloper 11.1.2.3.0
    Thanks

    Try
    like ? || '%'

  • Afform with mixed readonly and updateable attributes

    Hi Everyone.
    I have an af:form in which I want to get the key attribute (EmpID) from the securityContext (based on the user login) and then based on the EmpID all other attributes of the VO should be populated in the form.
    Which is ok. But when I am defining the EmpID attribute of the EO as not updatable it is appearing in the form without the field box just as plain text. Is there a way to make the value not updateable as well as get the field box?
    Second
    My af:Form has only a few attributes and is inside a panelstretch layout, so it appears on the screen as very little text on a large screen. I tried setting the font size but is not that useful. What I want to achieve is that the form to appear on the centre portion of the screen (occupying atleast 70% of screen space) How can I do that?
    Third
    My form basically has two portions(virtual divisions) on portion is based on fixed values i.e. based on the EmpID the values of FName, LName, Dept, JobTitle, Manager should be auto populated(which happens) but are editable (which I dont want). When I make the EO attribute not updateable it appears as plain text instead of text in field box.
    The second portion is based on the input values(need user input and is based on attributes from another VO) where in the 3 fields are auto populated and not updateable APPNO(populated through sequence on db) AppDate (populated with current date) and NoofDays (populated based on an expression)- Again the problem is when I am making the EO attribute not updateable it shows as plain text.
    What am I missing or doing wrong?
    Thanks in advance.
    Awaiting help!!
    Edited by: Neerav Pandya on 11 Mar, 2012 9:21 AM

    Hi,
    But when I am defining the EmpID attribute of the EO as not updatable it is appearing in the form without the field box just as plain text. Is there a way to make the value not updateable as well as get the field box?
    this is the default behavior for text field components. You could change it by not using a read only field but an updateable field and then have he field refusing to take focus, which JavaScript will work for sure for and CSS probably as well. If a CSS solution works the all you need to do is to set the contentStyle property of the input component to this value
    Frank

  • Rewrite the query with out joins and group by

    Hi,
    This was an interview question.
    Table Names: bookshelf_checkout
    bookshelf
    And the join condition between these two tables is title
    We need to rewrite below query without using join condition and group by clause ?
    SELECT b.title,max(bc.returned_date - bc.checkout_date) "Most Days Out"
               FROM bookshelf_checkout bc,bookshelf b
               WHERE bc.title(+)=b.title
               GROUP BY b.title;When I was in college, I read that most of the SELECT statements can be replaced by basic SQL operations (SET OPERATORS). Now I am trying to rewrite the query with SET operators but not able to get the exact result.
    Kindly help me on this.
    Thanks,
    Suri

    Something like this?
      1  WITH books AS (
      2  SELECT 'title 1' title FROM dual UNION ALL
      3  SELECT 'title 2' FROM dual UNION ALL
      4  SELECT 'title 3' FROM dual ),
      5  bookshelf AS (
      6  SELECT 'title 1' title, DATE '2012-05-01' checkout_date, DATE '2012-05-15' returned_date FROM dual UNION ALL
      7  SELECT 'title 1' title, DATE '2012-05-16' checkout_date, DATE '2012-05-20' returned_date FROM dual UNION ALL
      8  SELECT 'title 2' title, DATE '2012-04-01' checkout_date, DATE '2012-05-15' returned_date FROM dual )
      9  SELECT bs.title, MAX(bs.returned_date - bs.checkout_date) OVER (PARTITION BY title) FROM bookshelf bs
    10  UNION
    11  (SELECT b.title, NULL FROM books b
    12  MINUS
    13* SELECT bs.title, NULL FROM bookshelf bs)
    SQL> /
    TITLE   MAX(BS.RETURNED_DATE-BS.CHECKOUT_DATE)OVER(PARTITIONBYTITLE)
    title 1                                                           14
    title 2                                                           44
    title 3Lukasz

  • Problems with sub-items and header attributes in complains

    Hello Gurus!
    I am relatively new to the enterprise services and I have a requirement to create a complain with one product and a child product (items 1000 and 1010) but I tried several ways the service and no matter what I do I always get 2 items without relationship between them. I have tried specifying the parent item ID during create (did not expect to work as parent has also not been created yet) and also tried the BusinessTransactionDocumentReference, but also did not work or did not use the content correctly, in the ES Workplace there is not much info about the possible values for this data segment and it's not returned when I read an existing complain (so I think it is not the way to go)
    Finally, the question is... can I create a complain using the enterprise service CustomerComplaintCRMCreateRequ and with the header, item and subitem in the same step or must I create first and then update? (Like the manual process would be)
    Thanks!

    Hi Milos,
    If nothing at all has synchronized, I would first double check your connection settings and passwords.
    If the synch appears to to be connecting correctly, you will need to look at the data that it is failing on.
    The synch queue is the prx_transaction_queue table in the Business One database.  The object_type column refers to a Business One object.  2 for business partner and 4 for items.  The list_of_cols_val_tab_del is the key in the associated table.  For business partners that is OCRD.CardCode and items OITM.ItemCode.
    First determine that there is no bad data in the queue.  Bad data is typically defined as null or empty strings in the list_of_cols_val_tab_del column.
    Try running the following for business partners:
    select *
    from prx_transaction_queue
    where object_type = 2 and (list_of_cols_val_tab_del is null or list_of_cols_val_tab_del = '')
    And this for Items.
    select *
    from prx_transaction_queue
    where object_type = 4 and (list_of_cols_val_tab_del is null or list_of_cols_val_tab_del = '')
    If there are nulls or empty strings in the list_of_cols_val_tab_del column, delete them.
    If not, take a look at the first records in the queue.
    select top 1 *
    from prx_transaction_queue
    where object_type = 2
    order by tmstmp
    and for items:
    select top 1 *
    from prx_transaction_queue
    where object_type = 4
    order by tmstmp
    Change the transaction_type to "X" (remember what is was, because you will need to change it back).  Changing this value will remove the item from the synch.
    Rerun the synch. 
    If it runs at this point, there is probably data in the records that the synch was not expecting.  The business partner data will need to be examined.  Tics in key values (CardCode, Address Name, contact name, itemcode) may cause problems.
    If this is the case, you might want to contact support to try to track the problem down.
    Another source of problems may be database collation.  We can talk about that if none of the above works.

  • Query with drill down and w/o drill down

    Hi experts,
    We created a query with a RKF. In the output we are getting the RKF value correctly. But when we dril
    downed a characteristic i.e Special GL Ind the output is not matching. It is showing incorrect value when
    compared with the value without drill down. But if we remove the drill down then it is showing the correct
    value. What is the reason for this ?
    Regards,
    smitha.

    Our RKF def is as follows:
    Keyfigure: 0deb_cre_lc
    Chars:
    Posting Keys: 01,02,11,12
    Year start date: Restricting it with a variable created on it. Variable is of type Customer exit.This variable
    gets value from key date which is entered by user dynamically.
    Specified the offsets of Yr start date as 0 to 365.
    Regards,
    smitha.

  • Writing an sql script to query a calculation view  and an attribute view inside a calculation view

    Hi,
    I was trying to query a calculation view with sql , and as one of the input parameters i was trying to give a query over an attribute view
    So my sql will look like this
    SELECT * FROM "MyApp.calculation_views::GET_CHECKLIST_FOR_ACCOUNT"('PLACEHOLDER' = ('$$ACCOUNT_ID$$', '1','$$CHECKLIST_ID$$',' SELECT CHECKLIST_ID FROM "MyApp"."CHECKLIST_PRODUCTS" WHERE PRODUCT_ID = 5'));
    So as an input to $$CHECKLIST_ID$$   i wanted to give an id selected from checklist products table where products id is passed as an input
    but this is not working, i am getting syntax error at the $$CHECKLIST_ID$$ there i can only pass values like  $$CHECKLIST_ID$$, '1'
    Please help me to figure out which  is the correct syntax  i tried putting the sql statement to get the checklist_id in '' but it too didnot work

    I'm not sure you'll be able to do a SELECT subquery directly in the placeholder definition, but you can create another calc view (scripted) as a wrapper to your original calc view and use a scalar variable to pass the parameter over.
    Try this as the base code for your second calc view:
    var_id VARCHAR(10);
    BEGIN
         SELECT CHECKLIST_ID INTO :var_id FROM "MyApp"."CHECKLIST_PRODUCTS" WHERE PRODUCT_ID = 5;
         var_out = SELECT * FROM "MyApp.calculation_views::GET_CHECKLIST_FOR_ACCOUNT"
              (PLACEHOLDER."$$ACOUNT_ID" => 1, PLACEHOLDER."$$CHECKLIST_ID$$" => :var_id);
    END
    You could even create input parameters in the second Calc View for the Account Id & Product Id (which are currently hard coded in your code below).
    Best,
    Henrique.
    PS: avoid using SELECT * for the var_out in the scripted calc view. It's better, from a code maintenance perspective, to explicitly define the columns you're outputting.

  • Problem with ora:output and xmlns attribute

    Using lastest XDK.
    I am using the built in extension ora:output in a stylesheet running via XSQL called from a small java prg.
    I am using this to generate several html fragments that will get processed later on not by xsql or xml/xsl but by another java prg.
    I have specifed the output as html BUT when I look at the output some of the elements have an xmlns attribute added i.e. xmlns:ora="http://www.oracle.com/XSL/Transform/java"....
    Strange thing its not on all elements, "a", "tr", "td" tags are ok but "b", "br" and "table" have this attribute added.... HELP!!
    How do I stop this attribute getting added...
    Many thanks
    Rob
    PS I know if I use an "html" tag to wrap the output then only that element ends up with the xmlns attribute but I cant/dont want to do this as the prg running later will combine many of these fragments to create a single "real" html page.

    I'm not sure whether i understand your problem,
    It doesnot need using the binding attribute If you wanna updating the value of each rows in the datatable.
    below is a sample that updating each rows of a datatable
    jsp file
    <h:dataTable value="#[sampleBean.data}" var="row">
        <h:column><h:inputText value="#{row.col1}"/></h:column>
    </h:dataTable>
    <h:commandButton value="update" action="#{sampleBean.update}"/>BackingBean:
    SampleBean.java
    public class Samplebean{
      private SampleRow[] rows[];
      public SampleRow[] getData{
              return rows;
      public String update(){
          for(int i=0; i<rows.length; i++){
             rows.update();
    return "success";
    SampleRow.java
    public class SampleRow{
      private String col1;
      public String getCol1(){
        return col1;
      public void setCol1(String col1){
        this.col1 = col1;
      public void update(){
         //write your code to save one row data to db/file here

  • Duplicate rows on Query with journal entries and AP documents

    Hi Experts,
    I ahve the below query allowing me to have some information from journal entries and retrieve some other from AP docuements and PO.
    The thing is the query duplicates rows because the AP docuements have several rows but i don t know how to do to remove them (i guess this has to do with JOIN function...)
    SELECT
    T2.[GroupMask] as 'Account Family',
    T2.[FatherNum] as 'Parent Account',
    T2.[AcctCode] AS 'Account Code',
    T2.[AcctName] AS 'Account Name',
    T0.[TaxDate] AS 'Document Date',
    T0.[Number] AS 'Number',
    T0.[DocSeries] AS 'Document Series',
    T0.[BaseRef] AS 'Base Reference',
    T0.[TransId] AS 'Transaction Number',
    T0.[Ref2] AS 'Reference 2',
    T1.[ContraAct] AS 'Offset Account',
    T4.[BaseRef] AS 'PO code',
    T1.[Project] AS 'Project Code',
    T1.[ProfitCode] AS 'Distribution Rule',
    T1.[OcrCode2] AS 'Costing Code 2',
    T1.[OcrCode3] AS 'Costing Code 3',
    T1.[OcrCode4] AS 'Costing Code 4',
    (T1.[SYSdeb]-T1.[SYSCred])  AS 'Total Amount EUR',
    (T1.[FCDebit]- T1.[FCCredit]) AS 'Total Amount (FC)',
    T5.[DocTotalSy] AS 'PO Amount (EUR)'
    FROM  [dbo].[OJDT] T0 
    INNER  JOIN [dbo].[JDT1] T1  ON  T1.[TransId] = T0.[TransId]  
    INNER  JOIN [dbo].[OACT] T2  ON  T2.[AcctCode] = T1.[Account]  AND T2.[AcctCode] = T1.[Account]  
    INNER JOIN [dbo].[OPCH] T3 ON T3.[DocNum] = T0.[BaseRef]
    INNER JOIN [dbo].[PCH1] T4 ON T3.[DocEntry] = T4.[DocEntry]
    LEFT JOIN [dbo].[OPOR] T5 ON T5.[DocNum] = T4.[BaseRef]
    WHERE
    (T2.[AcctCode] > (N'599999' ) ) AND  (T2.[AcctCode] < (N'799999' ) )
    AND (T0.[TaxDate]>= [%0] ) AND (T0.[TaxDate]<= [%1])

    Try This
    SELECT T2.[GroupMask] AS 'Account Family',
       T2.[FatherNum] AS 'Parent Account',
       T2.[AcctCode] AS 'Account Code',
       T2.[AcctName] AS 'Account Name',
       T0.[TaxDate] AS 'Document Date',
       T0.[Number] AS 'Number',
       T0.[DocSeries] AS 'Document Series',
       T0.[BaseRef] AS 'Base Reference',
       T0.[TransId] AS 'Transaction Number',
       T0.[Ref2] AS 'Reference 2',
       T1.[ContraAct] AS 'Offset Account',
       T4.[BaseRef] AS 'PO code',
       T1.[Project] AS 'Project Code',
       T1.[ProfitCode] AS 'Distribution Rule',
       T1.[OcrCode2] AS 'Costing Code 2',
       T1.[OcrCode3] AS 'Costing Code 3',
       T1.[OcrCode4] AS 'Costing Code 4',
       sum(T1.[SYSdeb]-T1.[SYSCred]) AS 'Total Amount EUR',
       sum(T1.[FCDebit]- T1.[FCCredit]) AS 'Total Amount (FC)',
       T6.[DocTotalSy] AS 'PO Amount (EUR)'
    FROM OJDT T0
    INNER JOIN JDT1 T1 ON T0.TransId = T1.TransId
    INNER JOIN OACT T2 ON T1.Account = T2.AcctCode
    INNER JOIN OPCH T3 ON T0.TransId = T3.TransId
    INNER JOIN PCH1 T4 ON T3.DocEntry = T4.DocEntry
    INNER JOIN POR1 T5 ON T4.[BaseEntry] = T5.[DocEntry]
    AND T4.[BaseLine] = T5.[LineNum]
    INNER JOIN OPOR T6 ON T5.DocEntry = T6.DocEntry
    GROUP BY T2.[GroupMask],
       T2.[FatherNum],
       T2.[AcctCode],
       T2.[AcctName],
       T0.[TaxDate],
       T0.[Number],
       T0.[DocSeries],
       T0.[BaseRef],
       T0.[TransId],
       T0.[Ref2],
       T1.[ContraAct],
       T4.[BaseRef],
       T1.[Project],
       T1.[ProfitCode],
       T1.[OcrCode2],
       T1.[OcrCode3],
       T1.[OcrCode4],
       T6.[DocTotalSy]
    Regards,
    Kennedy

  • Problem with jax-ws and optional attributes

    Hello,
    I'm developing some web services, starting by defining the object model in schemas, then doing WSDL first to define the services.
    I've come across a problem that appears to be caused by jax-ws not properly handling optional attributes. I've tried this with both 2.0 and 2.1ea3 and both fail the same way.
    I created a simplified test case to repeatably demonstrate the problem.
    The type definition for the object looks like this :
    <xsd:complexType name="TestObject" >
    <xsd:attribute name="name" type="xsd:string" use="required"/>
    <xsd:attribute name="subId" type="xsd:integer" use="optional" />
    </xsd:complexType>
    And in the wsdl:
    <wsdl:message name="testRequest">
    <wsdl:part name="testrequest" type="mf:TestObject"/>
    </wsdl:message>
    <wsdl:operation name="testAction">
    <wsdl:input name="testRequest" message="mf:testRequest"/>
    <wsdl:output name="successResponse" message="mf:successResponse"/>
    </wsdl:operation>
    and the test code:
    public void testOptionalAttrs()
    TestObject testObj = new TestObject();
    testObj.setName("testName");
    //testObj.setSubId(2);
    MDSProvisioningResourcePortType resourceManager = factory.getGatewayResourceManager();
    boolean success = resourceManager.testAction(testObj);
    Running the test code with the 'setSubId' uncommented works.
    With the 'setSubId' call commented out out results in this error:
    javax.xml.ws.WebServiceException: javax.xml.bind.MarshalException
    - with linked exception:
    [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
         at com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:301)
         at com.sun.xml.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:124)
         at com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:91)
         at com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:225)
         at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:121)
         at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:69)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:541)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:497)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:392)
         at com.sun.xml.ws.client.Stub.process(Stub.java:213)
         at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:120)
         at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:238)
         at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:212)
         at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:103)
         at $Proxy58.testAction(Unknown Source)
         at com.qualcomm.mf.prov.ProvisioningGatewayClientFactoryTest.testOptionalAttrs(ProvisioningGatewayClientFactoryTest.java:118)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
         at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
         at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
         at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
         at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
         at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:71)
         at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
         at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
         at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
         at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
         at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
         at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    Caused by: javax.xml.bind.MarshalException
    - with linked exception:
    [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
         at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:255)
         at com.sun.xml.bind.v2.runtime.BridgeImpl.marshal(BridgeImpl.java:64)
         at com.sun.xml.bind.api.Bridge.marshal(Bridge.java:105)
         at com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:292)
         ... 35 more
    Caused by: com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException
         at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:224)
         at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:239)
         at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeAttributes(ClassBeanInfoImpl.java:302)
         at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:661)
         at com.sun.xml.bind.v2.runtime.BridgeImpl.marshal(BridgeImpl.java:111)
         at com.sun.xml.bind.v2.runtime.CompositeStructureBeanInfo.serializeBody(CompositeStructureBeanInfo.java:71)
         at com.sun.xml.bind.v2.runtime.CompositeStructureBeanInfo.serializeBody(CompositeStructureBeanInfo.java:19)
         at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:663)
         at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:250)
         ... 38 more
    Caused by: com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException
         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.get(AdaptedAccessor.java:33)
         at com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.print(TransducedAccessor.java:199)
         at com.sun.xml.bind.v2.runtime.property.AttributeProperty.serializeAttributes(AttributeProperty.java:61)
         at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeAttributes(ClassBeanInfoImpl.java:295)
         ... 44 more
    Caused by: java.lang.NullPointerException
         at org.w3._2001.xmlschema.Adapter3.marshal(Adapter3.java:23)
         at org.w3._2001.xmlschema.Adapter3.marshal(Adapter3.java:1)
         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.get(AdaptedAccessor.java:31)
         ... 47 more
    So am I missing something or is jax-ws not handling optional attributes correctly?
    Thanks,
    Hank

    Hi,
    This is not a direct answer to your question. But if you want to build restful web services with Weblogic 10.3, why not use Jersey . It is the implementation of the new JAX-RS spec. In my experience, although Jersey is part of the Java EE 6 spec, it appears to work ok with Java EE 5 container like Weblogic 10.3.1. The [JAX-RS section of Java EE tutorial|http://java.sun.com/javaee/6/docs/tutorial/doc/giepu.html] is another good source of example code.
    Edited by: vamsee2 on Sep 25, 2009 12:38 PM

  • Query with Start Date and End Date

    Dear Members,
    I have done a basic query on to get a report on Sales Invoices processed in a given period with the General Ledger account they were posted to. Minor hassle is that to change the dates, I have to go into the script (see extract below) and change dates manually, save query etc.
    Is there a way to have the query, when selected to run, pop up with window, allowing user to input say "start date" and "finish date". I imagine it will require some complex addition to the script below, any assistance will be appreciated.
    Regards
    Raj
    SELECT T1.[DocNum] AS 'Document Number', T1.[DocDate] AS 'Posting Date', T0.[AcctCode] AS 'Account Code', T0.[Dscription] AS 'Item/Service Description', T0.[LineTotal] AS 'Row Total' FROM  [dbo].[INV1] T0  INNER  JOIN [dbo].[OINV] T1  ON  T1.[DocEntry] = T0.[DocEntry]   WHERE T1.[DocDate] > (CONVERT(DATETIME, '20110801', 112) )  AND  T1.[DocDate] < (CONVERT(DATETIME, '20110831', 112) )

    Hi Raj,
    try this:
    /*SELECT FROM [dbo].[OINV] T0*/
    declare  @StartDate as datetime
    /* WHERE */
    set @StartDate = /* T0.DocDate */ '[%0]'
    /*SELECT FROM [dbo].[OINV] T1*/
    declare  @EndDate as datetime
    /* WHERE */
    set @EndDate = /* T0.DocDate */ '[%1]'
    SELECT T1.DocNum AS 'Document Number', T1.DocDate AS 'Posting Date', T0.AcctCode AS 'Account Code', T0.Dscription AS 'Item/Service Description', T0.LineTotal AS 'Row Total'
    FROM dbo.INV1 T0 INNER JOIN dbo.OINV T1 ON T1.DocEntry = T0.DocEntry WHERE T1.DocDate > @StartDate AND T1.DocDate < @EndDate
    Thanks,
    Neetu

Maybe you are looking for