SIngle row output for a multiple values

Create table test_table ( metric_name varchar2(30), dt date, value number) ;
insert into test_table values ('METRIC_1', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 10) ;
insert into test_table values ('METRIC_1', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 20) ;
insert into test_table values ('METRIC_1', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 30) ;
insert into test_table values ('METRIC_2', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 11) ;
insert into test_table values ('METRIC_2', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 22) ;
insert into test_table values ('METRIC_2', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 33) ;
commit;
alter session set nls_date_format='mm/dd/yyyy hh24:mi:ss' ;
SQL> select * from test_table ;
METRIC_NAME                    DT                       VALUE
METRIC_1                       12/31/2013 08:00:00         10
METRIC_1                       12/31/2013 09:00:00         20
METRIC_1                       12/31/2013 10:00:00         30
METRIC_2                       12/31/2013 08:00:00         11
METRIC_2                       12/31/2013 09:00:00         22
METRIC_2                       12/31/2013 10:00:00         33
But I need output in following format:
METRIC_NAME   12/31/2013 08:00:00        12/31/2013 09:00:00        12/31/2013 10:00:00       
METRIC_1                   10                                     20                                  30
METRIC_2                    11                                    22                                  33
-Thanks

Hi,
943750 wrote:
Create table test_table ( metric_name varchar2(30), dt date, value number) ;
insert into test_table values ('METRIC_1', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 10) ;
insert into test_table values ('METRIC_1', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 20) ;
insert into test_table values ('METRIC_1', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 30) ;
insert into test_table values ('METRIC_2', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 11) ;
insert into test_table values ('METRIC_2', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 22) ;
insert into test_table values ('METRIC_2', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 33) ;
commit;
alter session set nls_date_format='mm/dd/yyyy hh24:mi:ss' ;
SQL> select * from test_table ;
METRIC_NAME                    DT                       VALUE
METRIC_1                       12/31/2013 08:00:00         10
METRIC_1                       12/31/2013 09:00:00         20
METRIC_1                       12/31/2013 10:00:00         30
METRIC_2                       12/31/2013 08:00:00         11
METRIC_2                       12/31/2013 09:00:00         22
METRIC_2                       12/31/2013 10:00:00         33
But I need output in following format:
METRIC_NAME   12/31/2013 08:00:00        12/31/2013 09:00:00        12/31/2013 10:00:00   
METRIC_1                   10                                     20                                  30
METRIC_2                    11                                    22                                  33
-Thanks
All the dts INSERTed were 08:00:00; why are some displayed as 09:00:00 or 10:00:00?  I assume there are typos in the INSERT statements, and the results above are correct.
Taking data from 1 column on N rows, and displaying it as N columns on 1 row is called Pivoting.  Search for "pivot" for details.
If you know the exact dts for which you want to check, you can do something like this:
SELECT    *
FROM      test_table
PIVOT     (    MIN (value)
          FOR  dt  IN ( TO_DATE ('12/31/2013 08:00:00', 'mm/dd/yyyy hh24:mi:ss')  AS hr_08
                      , TO_DATE ('12/31/2013 09:00:00', 'mm/dd/yyyy hh24:mi:ss')  AS hr_09
                      , TO_DATE ('12/31/2013 10:00:00', 'mm/dd/yyyy hh24:mi:ss')  AS hr_10                  )
ORDER BY  metric_name
I hope this answers your question.
If not, post  a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data.
Point out where the query above is giving the wrong results, and explain, using specific examples, how you get the correct results from the given data in those places.  If you changed the query at all, post your code.
Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
See the forum FAQ: https://forums.oracle.com/message/9362002

Similar Messages

  • MSSQL Query/View Single Line Output For Combined Multiple Data Elements - Possible Pivot Table?

    HELLO...
    I hope you experts out there can help me.  Consider the following (2) Tables in MSSQL:
    1. TENDERED --> Primary Key = DATE / DOC_NO / PAYMENT_SEQ_NO
    DATE
    DOC_NO
    PMNT_SEQ_NO
    PAYCODE_TYPE
    AMOUNT
    2. TENDERED_CR_CARD -->Primary Key = DATE / DOC_NO / PAYMENT_SEQ_NO
    DATE
    DOC_NO
    PMNT_SEQ_NO
    CR_CARD_NO_MASKED
    CR_CARD_NAME
    CR_CARD_EXP_DATE
    These two tables are certainly related, based on their Primary Key values.
    Now, consider the following data in those two tables:
    DATE            
    DOC_NO      PMNT_SEQ_NO              
    PAYCODE_TYPE               
    AMOUNT
    03/10/2014         100001 
    1             
    CASH            
    100.00
    03/10/2014         100001 
    2             
    CASH                             
    -9.75
    03/10/2014         100002 
    1             
    CASH                             
    50.00
    03/10/2014         100002 
    2             
    VISA                             
    100.00
    03/10/2014         100002 
    3             
    VISA             
                   250.00
    03/10/2014         100003 
    1             
                            MC
    125.00
    03/10/2014         100003 
    2             
    AMEX           
    75.00
    DATE          
    DOC_NO PMNT_SEQ_NO  CR_CARD_MASKED     
    NAME            
    CR_CARD_EXP
    03/10/2014  100002   2                       4225******801289  
    MARY JONES   2016/08/31
    03/10/2014  100002   3                       4121******637442  
    JOHN DOE      2015/04/30
    03/10/2014  100003   1                       5428******971134  
    MIKE BAKER   2018/09/30
    03/10/2014  100003   2                       3732*****344756    
    LINDA LIU      2017/07/31
    OK...so what we NEED...is a Combined, SINGLE RECORD Audit Report type query. 
    The resulting query should show, based on the Data from above, the SINGLE LINE represented in the Attached Spreadsheet. 
    NOTE...what's important to point out here..is that ONLY the 'CASH' Tender gets "summed"...EACH INDIVIDUAL Credit Card record MUST have its own Field...as represented in the corresponding Columns of the Spreadsheet (i.e. PMT_TYP_1, AMT_1, PMT_TYP_2,
    AMT_2, and so forth).
    PLEASE HELP!  Any suggestions/advice would be most appreciated! 
    Thank You!...Mark

    I would not do this in SQL if I could possibly avoid it.  Instead do it in the front end.
    If you must do it in SQL, this is a dynamic pivot on multiple columns.  Naomi Nosonovsky has a blog at
    http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/dynamic-pivot-on-multiple-columns/ on how to do that.  Look especially at her second example using the claims table.  Of course, you must do some manipulation even before you do the multi-column
    pivot, since you must first combine all the cash entries.
    So one way to do it would be to build a temp table with all the entries you have except the cash entries combined into one payment sequence number.  To do that you may need specifications that are not clear to me from what you have given us.  For
    example, if PMT SEQ 1 is VISA,  PMT SEQ 2 is CASH, PMT SEQ 3 is VISA, PMT SEQ 4 is CASH, and PMT SEQ 5 is VISA, you want to combine the two cash payments.  So they become PMT SEQ 2?  If so, what happens to PMT SEQ 4 - is it left N/A or does
    PMT SEQ 5 become PMT SEQ 4?
    But once you have this temp table with the cash payments combined in the algorithm you need, then you can use Naomi's method to do the multi-column pivot.  Note that Naomi uses the code
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_Name = 'Claims'
    to get the column names from the permanent table Claims.  To get the column names from a temp table use code like the following.  To find the column names in a temp table named #MyTempTable, do
    From tempdb.sys.columns
    Where object_id = OBJECT_ID('#MyTempTable')
    But as I say, if feasible, I would do this in the front end, not in SQL.  T-SQL is a very good language for storing and retrieving data, not so good at formatting it. 
    Tom

  • Oracle query - Merging multiple rows into a single row output

    Hi All,
    I have to have a multiple row output to be converted into a single row output.My current output looks as follows:
    ID YR INC_CODE OFFN SCHOOLNO
    8006 2002 00175 SC03 12
    8006 2002 00175 DC06 12
    8006 2002 00175 DC03 12
    8006 2002 00175 DC02 12
    ID,INCIDENT CODE,OFFENSE are all Primary keys
    So I need the output as follows:(IN ONE ROW)
    ID YR INC_CODE OFFN1 OFFN2 OFFN3 OFFN4 SCHOOLNO
    8006 2002 00175 SC03 DC06 DC03 DC02 12
    Can you help me on this since have been spinning the wheel and this has to be a query since will have couple of tables join to produce a materialized view.
    Thanks in advance

    Hi Nigel,
    Thanks for the reply I tested out the portion having the decode and I get the output as follows:
    ID YR INC_CODE OFFN1 OFFN2 OFFN3 OFFN4 OFFN5
    8982 2002 2175 DOC01 -----------------------
    8982 2002 2175 DOC02-------------------
    8982 2002 2175 DOC03------------
    8982 2002 2175 DOC06-------
    8982 2002 2175 SCV03
    There is no value as max for OFFN and each INC_CODE MAY HAVE UP TO A MAX OF 5 OFFN.My query is as follows:
    select distinct STU_STUDENT_ID, INC_BEG_SCH_YR,INC_INCIDENT_CODE
    , decode(rank() over (partition by INC_CODE order by OFFN),1,OFFN,null) as offn1
    , decode(rank() over (partition by INC_CODE order by OFFN),2,OFFN,null) as offn2
    , decode(rank() over (partition by INC_CODE order by OFFN),3,OFFN,null) as offn3
    , decode(rank() over (partition by INC_CODE order by OFFN),4,OFFN,null) as offn4
    , decode(rank() over (partition by INC_CODE order by OFFN),5,OFFN,null) as offn5
    from stu_offn where
    stu_offn.ID = '8982' and stu_offn.INC_CODE = '2175'
    (****Where clause is just given to just check a value)
    So as you know I need to just have all the OFFN in a single row ie as follows:
    ID YR INC_CODE OFFN1 OFFN2 OFFN3 OFFN4 OFFN5
    8982 2002 2175 DOC01 DOC02 DOC03 DOC06 SCV03
    Can you just give me a step by step procedure to go through this and the table in this case is just 'STU_OFFN'
    Thanks for the earlier reply appreciate it!
    ****Sending this again to show the exact way the output is coming

  • XML parser for fatching multiple values from XML

    Hi,
    In my scenirio i have to facth multiple values from XML file and then set in to Table in webdynpro...
    Fo example my xml has values like...
    <xml>
         <item>
              <item1>
                   <quantity>
                        100
                   </quantity>
                   <price>
                        50
                   </price>
              </item1>
              <item2>
                   <quantity>
                        200
                   </quantity>
                   <price>
                        20
                   </price>
              </item2>
              <item3>
                   <quantity>
                        300
                   </quantity>
                   <price>
                        10
                   </price>
              </item3>
         </item>
    </xml>
    then i have to fcath those quantity and price and set in to table...
    How to do taht in webdynpro and does any one have parser code for retriving multiple values...

    Hi,
    1) You need to use JDOM parser.
    2) The code for parsing XML using JDOM parser is readily available if you search on google.
    3) You will have to check the attribute during every parsing and then if attribute is quantity you can fetch the corresponding tags.
    4) Something similar to this:
    org.jdom.Document document = parser.build(file);
                    org.jdom.Element rootElement = document.getRootElement();
                    org.jdom.Element childElement = rootElement.getChild("file");
                    Element xmlElement = childElement.getChild("item");
                    if (xmlElement != null) {
                        List itemElementsList = xmlElement.getChildren("item1");
                        if (itemElementsList != null) {
                            Iterator iterator3 = itemElementsList.iterator();
                            while (iterator3.hasNext()) {
                                //For each group get quantity
                                Element itemElement = (Element) iterator3.next();
                                List quantityElementsList =
                                        itemElement.getChildren("quantity");
                                if (quantityElementsList != null) {
                                    Iterator iterator2 =
                                            quantityElementsList.iterator();
                                    while (iterator2.hasNext()) {
    // Your code                                                                               
    You might need to make some changes as per your rquirement. Just use this sample to understand how you need to parse the xml
    Hope it helps.
    Regards.
    Rajat
    Edited by: Rajat Jain on Jan 22, 2009 9:51 AM

  • SQL Query to convert multiple rows to a single row output

    I have the following sql query;
    SELECT B.ClientID,
    B.BillNo, B.[BillDate],
    B.CurrencyCode,
    B.BAmount
    FROM tblCompanyDetails CD
    CROSS
    APPLY (
    SELECT TOP 5 B1.ClientID,
     B1.[BillNumber],
    B1.[BillDate], B1.[CurrencyCode] AS CCY,
     B1.[BillAmount]
    FROM tblBills B1
    WHERE ROUND(B1.[BillAmount],2)<>0
    AND B1.ClientID=CD.CompanyID
    AS B
    WHERE CD.ContactId=235405
    ORDER
    BY B.ClientID,B.BillNo
    DESC
    This gives me the following row output;
    ClientID
    BillNo
    BillDate
    CurrencyCode
    BAmount
    94466
    425616
    2015-04-07
    GBP
    5000
    94466
    424517
    2015-01-15
    GBP
    6000
    94466
    424455
    2014-10-15
    GBP
    4000
    However, I would like the ouput to appear like this;
    ClientID
    BillNo1
    BillDate
    CCY
    BAmount
    BillNo2
    BillDate
    CCY
    BAmount
    BillNo3
    BillDate
    CCY
    BAmount
    94466
     425616
     2015-04-07
     GBP
     5000
     424517
     2015-01-15
     GBP
     6000
     424455
     2014-10-15
     GBP
    4000 

    I have tried to create a sample based on your question
    CREATE TABLE MyTable
    ClientID INT ,
    BillNo INT,
    BillDate DATE,
    CurrencyCode varchar(5),
    BAmount INT
    INSERT INTO MyTable
    VALUES (94466,425616,'2015-04-07','GBP',5000),
    (94466,424517,'2015-01-15','GBP',6000),
    (94466,424455,'2014-10-15','GBP',4000)
    Then I have used another table to put ranking in that, you can actually tweak your statement to include rank also
    CREATE TABLE RowTable
    ClientID INT ,
    BillNo INT,
    BillDate DATE,
    CurrencyCode varchar(5),
    BAmount INT,
    Ranking INT
    INSERT INTO RowTable
    SELECT * , ROW_NUMBER() OVER (ORDER BY ClientID) as row
    FROM MyTable
    Once your data is ready then execute below dynamic query
    DECLARE @cols AS NVARCHAR(MAX),
    @query AS NVARCHAR(MAX)
    select @cols = STUFF((SELECT ',' + QUOTENAME(col+cast(Ranking as varchar(10)))
    from RowTable
    cross apply
    select 'BillNo', 1 union all
    select 'BillDate', 2 union all
    select 'CurrencyCode', 3 union all
    select 'BAmount' , 4
    ) c (col, so)
    group by col, so, Ranking
    order by Ranking, so
    FOR XML PATH(''), TYPE
    ).value('.', 'NVARCHAR(MAX)')
    ,1,1,'')
    set @query = 'SELECT ClientId,' + @cols + '
    from
    select clientid, col+cast(Ranking as varchar(10)) col, value
    from RowTable
    cross apply
    SELECT ''BillNo'', cast(BillNo as varchar(20)) union all
    SELECT ''BillDate'', cast(BillDate as varchar(20)) union all
    SELECT ''CurrencyCode'', CurrencyCode union all
    SELECT ''BAmount'', CAST(BAmount as varchar(10))
    ) c (col, value)
    ) x
    pivot
    max(value)
    for col in (' + @cols + ')
    ) p '
    execute sp_executesql @query;
    Output: 
    Hope this will help. 

  • Single row editing for multiple tables in a single page

    Hi!
    I have split a table with many many columns into more tables with a lower number of columns. There is an ID column (sequence generated) that is Primary Key common for all tables. Obviously, the relationship between these tables is 1 to 1, so it’s not about having to build master-detail pages.
    What I need now is to edit all these tables in a single page: one single row from each table. The Automated Row Fetch & Automatic Row Processing (DML) processes used for the old table must be replaced by something else.
    Is there a way to use in a single page more pairs of such processes for more tables?
    I want to avoid manually writing processes with lot of PL/SQL code to handle row fetch & update.
    Keep in mind that the page will have an ID item that can be used to identify unique rows in all my tables.
    Thanks,
    Sorin

    I have split a table with many many columns into more tables with a lower number of columns
    IMHO that is a very bad idea. There is nothing wrong with having many columns in a table. If you would like to split them to better "categorize" them, just create views on the table and expose different subsets of the columns.
    I want to avoid manually writing processes with lot of PL/SQL code to handle row fetch & update.
    That is unavoidable given how you have designed the underlying tables.
    You could try creating a view that joins all the tables by the PK and creating a form based on that view. Then write a INSTEAD OF trigger on the view that "doles out" the DML on the view to each of the underlying tables.

  • Single row output

    Create table test_table ( metric_name varchar2(30), dt date, value number) ;
    insert into test_table values ('METRIC_1', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 10) ;
    insert into test_table values ('METRIC_1', to_date('12/31/2013 09:00:00','mm/dd/yyyy hh24:mi:ss'), 20) ;
    insert into test_table values ('METRIC_1', to_date('12/31/2013 10:00:00','mm/dd/yyyy hh24:mi:ss'), 30) ;
    insert into test_table values ('METRIC_2', to_date('12/31/2013 08:00:00','mm/dd/yyyy hh24:mi:ss'), 11) ;
    insert into test_table values ('METRIC_2', to_date('12/31/2013 09:00:00','mm/dd/yyyy hh24:mi:ss'), 22) ;
    insert into test_table values ('METRIC_2', to_date('12/31/2013 10:00:00','mm/dd/yyyy hh24:mi:ss'), 33) ;
    commit;
    SQL> alter session set nls_date_format='mm/dd/yyyy hh24:mi:ss' ;
    Session altered.
    SQL> select * from test_table ;
    METRIC_NAME                    DT                       VALUE
    METRIC_1                       12/31/2013 08:00:00         10
    METRIC_1                       12/31/2013 09:00:00         20
    METRIC_1                       12/31/2013 10:00:00         30
    METRIC_2                       12/31/2013 08:00:00         11
    METRIC_2                       12/31/2013 09:00:00         22
    METRIC_2                       12/31/2013 10:00:00         33
    My intentended output is as follows:
    METRIC_NAME    12/31/2013 08:00:00       12/31/2013 08:00:00         12/31/2013 08:00:00
      METRIC_1                     10                                    20                                30
      METRIC_2                      11                                   22                                33
    The date columns will be more 24 for a day with 1 hour interval. So i want to print all 24 values in a single row for each metric.
    Any help is much appreciate.
    -Thanks

    You could also use just the hours for the headers ...
    with w_data as (
       select metric_name, value,
              (dt - trunc(dt))*24  dt_hour
          from test_table
    select  *
      from  w_data
      pivot(
            sum(value)
            for dt_hour in (6,7,8,9,10,11,12,13,14,15)
      order by metric_name
    METRIC_NAME                             6          7          8          9         10         11         12         13         14         15
    METRIC_1                                                     10         20         30
    METRIC_2                                                     11         22         33
    That removes some of the "have to know the date" that Solomon points out
    (I just listed 6-15 . but you could list full 1-24 if you needed it)

  • Check for the multiple values of the order type in if cond. in user exit

    Hi all,
    I have the exisitng code like this.
    IF AUFK-AUART = C_STAT_1000.
        RETAIL = C_RETAIL_X.
      ELSE.
        SEARCH W_SYST_STAT FOR 'SETC'.
        IF SY-SUBRC <> 0.
          ERR_MSG-MSGID = 'ZP'.
          ERR_MSG-MSGTY = 'E'.
          ERR_MSG-MSGNO = '017'.
          ERR_MSG-MSGV1 = DETAILS-RAUFNR.
          APPEND ERR_MSG.
          EXIT.
        ENDIF.
      ENDIF.
    In the above code, the order type aufk-auart is checked for a single value '1000'.
    How do i include the logic tocheck if aufk auart for multple values in tha if condition.
    It can be multiple values of whihc i do not have the detail.
    Regs,
    SuryaD.

    Hi all,
    I have the sample code with me.
    Hope this helps someone who is looking for the usage of this Function module.'K_HIERARCHY_TABLES_READ'
    DATA:
        l_set_node_tab  LIKE grpobjects OCCURS 0 WITH HEADER LINE,
        l_set_val_tab   LIKE grpvalues  OCCURS 0 WITH HEADER LINE,
        l_info          LIKE grphinfo,
        l_overrite      LIKE sy-datar,
        l_set_class(4) TYPE c,
        l_set_id(34) TYPE c,
        l_set_kokrs LIKE  sethier-kokrs,
        lr_auart TYPE RANGE OF auart,
        lr_auart-line LIKE LINE OF lr_auart.
      CONSTANTS:lc_set(3) TYPE c VALUE 'SET',
                  lc_id(22) TYPE c VALUE '0000Z-GPMRCMI-EXC-CUST',
                  lc_i      TYPE c VALUE 'I',
                  lc_bt(2)  TYPE c VALUE 'BT'.
      CLEAR:
          l_set_node_tab,
          l_set_node_tab[],
          l_set_val_tab,
          l_set_val_tab[].
      l_set_class = lc_set.
      l_set_id    = lc_id.
      CALL FUNCTION 'K_HIERARCHY_TABLES_READ'
           EXPORTING
                e_class                     = l_set_class
                e_setid                     = l_set_id
                e_kokrs                     = l_set_kokrs
                e_mandt                     = sy-mandt
           TABLES
                t_nodes                     = l_set_node_tab
                t_values                    = l_set_val_tab
           CHANGING
                c_info                      = l_info
                c_overwrite                 = l_overrite
           EXCEPTIONS
                no_controlling_area         = 1
                no_chart_of_account         = 2
                different_controlling_areas = 3
                different_chart_of_accounts = 4
                set_not_found               = 5
                illegal_field_replacement   = 6
                illegal_table_replacement   = 7
                fm_raise                    = 8
                convert_error               = 9
                no_overwrite_standard_hier  = 10
                no_bukrs_for_kokrs          = 11
                OTHERS                      = 12.
      IF sy-subrc = 0.
        CLEAR : lr_auart.
        REFRESH lr_auart.
    create internal set table
        LOOP AT l_set_val_tab.
          lr_auart-line-low      = l_set_val_tab-vfrom.
          lr_auart-line-high     = l_set_val_tab-vto.
          lr_auart-line-sign     = lc_i.
          lr_auart-line-option   = lc_bt.
          APPEND lr_auart-line to lr_auart.
          CLEAR lr_auart-line.
        ENDLOOP.
      ENDIF.

  • PO Output for Communication Parameter Values

    I've created a custom RTF template to print PO's, which is working fine except for one thing: I can't get the parameter values from the PO Output for Communication concurrent program. I've tried:
    <?param@begin:P_report_type?>
    but it doesn't seem to return a value. Has anybody had any luck getting the parameter values from this program? Does param@begin only work with Oracle Reports programs but not java concurrent programs?
    Thanks,
    Gary

    ICX was already checked.... The Issue got resolved when I select the check box "Can Change Forward-To" in the Setup --> purchasing --> Document type window for Standard Purchase Order.
    Thanks,
    Ranjith

  • Searching for a multiple-value returning popup.

    Is there a possibility to return multiple values from the popup LOV?
    That means for example, when I pick an employee on the popup, I want empno,empname, and sal to be returned, each in its textbox.
    Thank you, Ivica.

    Hi Ivica,
    What you want to do can be done but is a bit involved, combining JavaScript and PL/SQL.
    If you do not have a workaround send me an email and I will send you an example.
    I would put an example on the discussion group but there are so many HTML tags that it will probably not display properly.
    Regards Michael.

  • Single RFC Lookup should return multiple values - but returns no values

    I have an RFC Lookup in my PID system that i had to change due to a test defect.
    the FM i wrote was working on a single value and returning the correct entry...  however it now needs to return multliple entries and map 0..unbounded....
    i have made the changes, the FM works in ECD, however when i call the FM from the mapping, it does not return any values...  now, i am asking my basis team to change the PIAPPLUSER to dialog user so i can throw a breakpoint for an external user... 
    has anyone done a single to multi value mapping on lookup?  i am not sure that it is the FM that is incorrect as it is very simple code..   
    DATA: lt_jobtype TYPE zhr_lkupjobtype_t.
      CLEAR     lt_jobtype.
      REFRESH lt_jobtype.
      SELECT * FROM zhr_lkupjobtype
        INTO TABLE lt_jobtype
        WHERE zinterface_id = import-zinterface_id
        AND   zsap_jobtype  = import-zsap_jobtype.
      MOVE lt_jobtype TO export.
    is there a way of checking the RFC part of an message mapping?  i checked the full trace within graphical mapping but this shows no return....

    I am using a MOVE instead of APPEND.
    according to the keyword help if the tables are identical, you can use MOVE.
    it works when i test in SE37.
    i have tested it both ways and i get the same result each time.
    i even tried it this way:
      SELECT * FROM zhr_lkupjobtype
        INTO TABLE export 
        WHERE zinterface_id = import-zinterface_id
        AND   zsap_jobtype  = import-zsap_jobtype.
    and that works too to get the target values into the export table!  that's what made me think it was not the code as i have tried three different ways of writing the same code...  the Function Module works perfectly anyway!  but when it is called from PI i cannot see if any values are returned....

  • Query - Sharing single Input/output  FRS  across multiple CMS Cluster

    Hi,
    I have two BOE XI R2 SP3 servers on windows 2003r2 x64 which are with one BOE clustered, sharing file repository (FRS) on common NAS storage folders. Objective is to vertically scale BOE servers by adding more clusters on these two BOE servers. I wish to add few more clusters by adding CMS through CCM wizard option pointing to separate CMS db sachems.
    Can multiple CMS cluster share same FRS component with separate folder structure OR do I have to duplicate each BOE component per cluster basis.
    Regards,
    G.

    Hi
    Thanks for your response.
    Hardware allocated for BOE is only 2 servers, and design is to maintain 3 separate environments( One change should not affect other). We wish to share Production, Testing and support BOE environments on same hardware.
    Only objective of maintaining multiple BOE cluster on same hardware is to provide non inter dependent BOE service to various user groups.
    Suggest needful
    Regards,

  • SSIS execute single SQL Task for running multiple SQL statements on TeraData DB connection

    Hi,
    I need to run multiple statements in TeraData connection ("Go" command between the statements is not recognized). how can I execute 1 SQL task referring to those multi statements? I'm using file connection as well. all the statements located in a single
    file.
    I'm working with SSIS 2008, TERADATA 12.0.
     Thanks

    sure.
    create winbatch file (*.bat).
    in batch file set that command:
    bteq < scriptfilePath.txt (or .bteq)> LogsFolderPathOutputfile.out
    scriptfile should contain:
    .logon
    Server/user, pswd
    your script.
    if you want to set error handeling points, set the followings between yor command statements:
    .IF ERRORCODE <> 0 THEN .GOTO SqlError;
    at the end of script, set:
    -- Log successful completion
    .LOGOFF;.QUIT 0;
    .LABEL SqlError.QUIT ERRORLEVEL;
    you can view logs at the outputfile you stated above.
    enjoy.

  • Single ERS Invoice for multiple POs with different GS and same IP

    Dear All,
    I have a Requirement as per the below scenario:
    We need to have single invoice created using ERS (MRRL) functionality in the below scenario:
    Two POs created with different Partner function GS (goods supplier) and same IP (Invoice party partner function).
    Ex:
    GS IP PO GR ERS
    vendor1 10001 4500001 500001 Yes ( GR-IV-Yes, GR done- Yes, same payment terms - 001)
    vendor2 10001 4500002 500002 Yes ( GR-IV-Yes, GR done- Yes, same payment terms - 001)
    When I run ERS for last 1 week (GR) and select the option (Doc selection – per IP or other criteria like GRs posted in last one week) , system should create 1 invoice document. Standard SAP posts 2 documents for each GS.
    I have tried using 2 user exits for MRRL, but none of them work for this functionality.
    Thanks,

    Hi,
    Go for  MIRO without MRRL.
    Instead ERS, you can post single  Invoice(MIRO) for multiple POs  for one vendor.
    OR
    Check with Technical consultant and go for development to have single ERS output for multiple ERS invoice documents for single vendor.
    Regards,
    Biju K

  • Multiple values in where clause(IN) of select query in Cisco Cloud Portal using single field

    I can actually pass multiple values in the IN statement of select query using multiple dictionary fields in the data retrieval rule of the AFC in Cisco cloud portal like
    #dictionary.field1# = 1 and
    #dictionary.field2#=2
    select col1,col2 from table1 where col3 in (#dictionary.field1#,dictionary.field2#).
    but I want to pass mutiple values in a single field as
    #dictionary.field1#=1,2
    select col1,col2 from table1 where col3 in (#dictionary.field1#) and the query gives no data because it is taking as '1,2' instead of '1','2'.
    Please give the solution for passing multiple values in a single variable to use in IN operator of WHERE clause

    Ok, I now understand what you are trying to do. Unfortunately, you cannot inject parts of a SQL statement into a DDR through a dictionary field, which always represents a specific value (the comma in your case is attempting injection of a SQL construct to refer to multiple values). One possible solution is to arbitrarily consolidate your list of values using a delimiter that you know will not be in the values themselves such as a colon (:). Let's use 3 values as it serves as a better example.
    Set your dictionary field to a single reference to all 3 values of interest, say 'a', 'b', 'c' as:
    :a:b:c:  (you can use javascript to create this consolidated dictionary field)
    Now your query would look something like the following:
    select col1,col2 from table1 where #dictionary.field1t# like '%:'+col3+':%'
    This should achieve the desired result.

Maybe you are looking for