Dynamic select columns

I have a Z_Temp table which has 51 colums like NKEY, NTEM001, NTEM002.... NTEM050. This table will be joined on Z_JOIN table (columns NOTE, TXT) ON NTEM*= NOTE.
( NTEM001 = NOTE, NTEM002 = NOTE, NTEM003 = NOTE .....)
For all NTEM* columns that are not initial, I need to get TXT column from Z_JOIN table and send it to a Sapscript form.
What is the best approach in doing this ?
Thanks.

Horizontal scrolling in a single table record is possible with the DO...VARYING... construct, please read the F1 help on the same.
Also check this link
Link:[Repetitive Structures|http://help.sap.com/saphelp_47x200/helpdata/en/4f/d52808575e11d189270000e8322f96/content.htm ]
something like this
DATA:
ntem TYPE z_temp-ntem001
DO 50 TIMES VARYING ntem FROM ntem001 NEXT ntem002.
  IF ntem IS NOT INITIAL.
    your code.
  ENDIF.
ENDDO
Edited by: Rajesh on Dec 29, 2007 9:46 PM

Similar Messages

  • How can i dynamically select columns based on the input parameter?

    I have an input parameter which takes single numeric value.
    Based on this value i have to dynamically select table-columns .
    For eg: if i have following fields in my table :
    SEM_1
    SEM_2
    SEM_3 and SEM_4.
    And if i give numeric input as 2 , then i have to select "SEM_2" column only.
    if the input is 3 then i have to select "SEM_3" only and leave the rest of the columns.
    how do i achieve this dynamic feature in the "Select .....  From...... table...." statement in the ABAP??

    Hi,
    you should try something like this.
    TYPES: cond(72) TYPE c.
    data: condtab TYPE TABLE OF cond,
             condw type cond.
    data: lv_field(30) type c value 'SEM_'.
    write p_num to lv_field+4(1).
    condw = lv_field.
    append condw to condtab.
    SELECT (CONDTAB) FROM table INTO.....
    Kostas
    Message was edited by:
            Kostas Tsioubris

  • Dynamically selecting column names in report builder ???

    Dear members,
    I have a requirement in which the user dynamically selects the tables column names. Like suppose take DEPT table. My query would be
    select &P Report from dept;
    so if the user selects DNAME then i would get the dname values and so on... This is fine but if one gives the value for the lexical parameter as DEPTNO,DNAME then i should get two columns in my report output. The select statement then becomes
    select DEPTNO,DNAME Report from dept;
    But i am not able to do this in report builder(6i). If i use just one value for the parameter then i get the o/p but if i use more than one (eg: DEPTNO,DNAME) then its giving an error.when i run this query through toad or sql plus then i am getting the desired o/p but wher as in report builder i am not able to get the o/p.
    My report triggers are :
    Before Parameter form :
    :P := NULL;
    After parameter Form :
    function AfterPForm return boolean is
    begin
    IF :P = 'DNAME,DEPTNO' THEN
    :P := ' DNAME,DEPTNO ' ;
    ELSE
         :P := NULL;
         END IF;
    return (TRUE);
    end;
    Your comments and suggestions are welcomed.
    thanks
    regards
    sandeep

    Number of columns can not be changed at run time. If your data model has three columns, lexical parameter should pass 3 values. If you have query like this in data model:
    select &p_1 from table
    Whatevere you have as initial value in user parameter p_1, data model captures that info.

  • Need to know the column names in my dynamic select clause

    Dear All,
    Please go through the following code. While executing the following code i am getting an error saying that dbms_sql.describe_columns overflow, col_name_len=35. Use describe_columns2.
    Please guide me how to proceed further. Or please help me, how can i get the column names when i issue a dynamic select clause.
    DECLARE
    CUR INTEGER;
    COL_CNT INTEGER ;
    A INTEGER;
    SEL_CLAUSE VARCHAR2(2000);
    DESC_T DBMS_SQL.DESC_TAB;
    REC DBMS_SQL.DESC_REC;
    b number;
    BEGIN
    SEL_CLAUSE := 'SELECT 1,2,DECODE(1,1,''ONE'',2,''TWO'',3,''THREE'') FROM DUAL';
    --'SELECT ROWID,PARA_SUB_CODE,DECODE('||''''||'ENG'||''''||','||''''||'ENG'||''''||',PARA_NAME,PARA_BL_NAME),NULL,NULL FROM PCOM_APP_PARAMETER';
    --'SELECT 1,2,DECODE(1,1,''ONE'',2,''TWO'') FROM DUAL';
    DBMS_OUTPUT.PUT_LINE( SEL_CLAUSE );
    CUR := DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(CUR,SEL_CLAUSE,DBMS_SQL.NATIVE);
    DBMS_SQL.DESCRIBE_COLUMNS(CUR,COL_CNT,DESC_T);
    B := desc_t.first;
    FOR J IN 1..COL_CNT
    LOOP
    DBMS_OUTPUT.PUT_LINE('J := '||J || ' COL CNT ' || COL_CNT);
    END LOOP;
    BEGIN
    A := DBMS_SQL.EXECUTE(CUR);
    EXCEPTION
    WHEN OTHERS THEN
    NULL;
    END;
    END;
    Regards,
    Balaji

    Is there any way can i have it directly??It does not work with static SQL either. Dynamic SQL is no different.
    SQL> select 1 x from dual where x = 1 ;
    select 1 x from dual where x = 1
    ERROR at line 1:
    ORA-00904: "X": invalid identifier
    SQL>As suggested already, you will need to use alias if you want your select expression to be referred in the where clause.
    SQL> BEGIN
      2      FOR rec IN (SELECT *
      3                  FROM   (SELECT 1,
      4                                 2,
      5                                 DECODE(1, 1, 'ONE', 2, 'TWO', 3, 'THREE') "DECODE(1, 1, 'ONE', 2, 'TWO', "
      6                          FROM   DUAL)
      7                  WHERE  "DECODE(1, 1, 'ONE', 2, 'TWO', " = 'ONE')
      8      LOOP
      9          NULL;
    10      END LOOP;
    11  END;
    12  /
    PL/SQL procedure successfully completed.
    SQL>Message was edited by:
    Kamal Kishore

  • How to create a Type Object with Dynamic select query columns in a Function

    Hi Every One,
    I'm trying to figure out how to write a piplined function that executes a dynamic select query and construct a Type Object in order to assigned it to the pipe row.
    I have tried by
    SELECT a.DB_QUERY INTO actual_query FROM mytable a WHERE a.country_code = 'US';
    c :=DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(c,actual_query,DBMS_SQL.NATIVE);
    l_status := DBMS_SQL.EXECUTE(c);
    DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
    FOR j in 1..col_cnt LOOP
    DBMS_SQL.DEFINE_COLUMN(c,j,v_val,2000);
    END LOOP;
    FOR j in 1..col_cnt LOOP
    DBMS_SQL.COLUMN_VALUE(c,j,v_val);
    END LOOP;
    But got stuck, how to iterate the values and assign to a Type Object from the cursor. Can any one guide me how to do the process.
    Thanks,
    mallikj2

    Hi Justin,
    First of thanks for your reply, and coming to my requirement, I need to report the list of items which are there in the dynamic select statement what am getting from the DB. The select statement number of columns may vary in my example for different countries the select item columns count is different. For US its '15', for UK it may be 10 ...like so, and some of the column value might be a combination or calculation part of other table columns (The select query contains more than one table in the from clause).
    In order to execute the dynamic select statement and return the result i choose to write a function which will parse the cursor for dynamic query and then iterate the values and construct a Type Object and append it to the pipe row.
    Am relatively very new for these sort of things, welcome in case of any suggestions to make it simple (Instead of the function what i thought to work with) also a sample narrating the new procedure will be appreciated.
    Thanks in Advance,
    mallikj2.

  • Dynamic selection of columns in report and print the output

    Hi,
    I tried to have dynamic selection of columns in SQL query using lexical parameter. The hitch is how to print those selected column in excel ouput ?
    Suppose
    I have select &col from table_name
    Initial value of &col is col1 and in data layout only col1 appears
    where &col was replaced with more than a column (col1,col2,col3)
    now how to print the column selected at the run time,
    i have coded in Before Report Trigger
    :cell_val := ' <td><rw:field id:"cl1" src="col1"></rw:field></td>
    <td><rw:field id:"cl2" src="col2"></rw:field></td>
    <td><rw:field id:"cl3" src="col3"></rw:field></td> ' ;
    and this user parameter was replaced in web source using JSP expression
    <rw:getvalue id: "v_cell" src:"cell_val"></rw:getvalue>
    <rw:foreach src:"g_val">
    <table>
    <tr>
    <% =v_cell%>
    </tr>
    </table>
    </rw:foreach>
    but in the output i can see only blank columns
    Regards
    Suresh

    The strings replaced by expression <%= v_cell %>
    should print the field values contained in col1,col2,col3 columns, but nothing is printed . i think the custom tags (rw...) are not replaced by the jsp expression properly.

  • Dynamically Specifying Selection Columns

    Hi experts,
    I'm trying to set dynamically igrid columns in java script:
    document.DetailGrid.getQueryObject().setColumns("DateTime");
    But it says there is not such method for QueryObject.
    Is there anybody who knows right method?
    Thank you..
    -Ekrem

    Looks like there is only setColumnHeaders for the GridObject. 
    The one way I know will work, but generally don't recommend it is to:
    ...getQueryObject().setQuery("Select ColumnA, ColumnB,... from TableOrViewA")
    But I think you will see a bit of a performance hit.  If you are selecting between only two or three layouts, you could change the Display Template object of the Grid Applet (or depending on your design, you could change both the query and display templates).  That would have less impact and would be easier to maintain.
    Regards,
    Mike

  • Function returning SQL - dynamically select the column

    Hi there,
    [Oracle 11g],
    Hi there,
    I want to dynamically select the column to be displayed.
    Or lets say it in an easier way regarding the EMP Table:
    I got a table called teststable with value1 and value2 in it.
    Value1 is EMPNO
    Value 2 is DEPTNO
    Now I like to have something like this:
    Select (Select Value1 from testtable),(Select Value2 from testtable) from EMP This will not work. So I need a function for this. Does someone now how to get this to work? Thx in advance. Thorsten

    + 1 to the above replies.
    An example to pick the column name dynamically from a table and rendering the output of EMP table as a XMLTYPE is here.Pushing it a little bit further, you can project back XML as relational rows and columns :
    SQL> with testtable (value1, value2) as (
      2    select 'EMPNO', 'DEPTNO' from dual
      3  )
      4  select x.*
      5  from testtable t
      6     , xmltable(
      7         'for $r in fn:collection("oradb:/SCOTT/EMP")/ROW
      8          return element r {
      9            $r/*[local-name()=$v1]
    10          , $r/*[local-name()=$v2]
    11          }'
    12         passing t.value1 as "v1"
    13               , t.value2 as "v2"
    14         columns value1 varchar2(30) path '*[1]'
    15               , value2 varchar2(30) path '*[2]'
    16       ) x
    17  ;
    VALUE1                         VALUE2
    7369                           20
    7499                           30
    7521                           30
    7566                           20
    7654                           30
    7698                           30
    7782                           10
    7839                           10
    7844                           30
    7900                           30
    7902                           20
    7934                           10
    12 rows selected

  • Is it possible to display only dynamically selected fields in the out put?

    Is it possible to display only dynamically selected fields in the out put? i need to display set of columns in the selection criteria, but in the output i have display only input given fields. because i need to convert it into .csv file. So i have to display selected fields from internal table. In oracle they are using"execute immediate". is there any equivalent in SAP?
    thanks in advance.

    Hi Remya,
    Are you talking about dynamic programming in ABAP ?
    If yes, there are concepts like RTTS which facilitates it.
    Yes, the select query also supports dynamic selection of fields. ( Please care about ( ) in dynamic sql ).
    Do more research on Field Symbols and statements like ASSIGN COMPONENT OF.
    Regards,
    Philip.

  • Function short dump - A dynamically specified column name is unknown.

    Hello,
    I've created BRF fuction according to the  Note 1466868 - Dunning by collection strategy with BRFplus. I get short dump during simulation of function with following exception:
    "A dynamically specified column name is unknown. "
    Runtime Errors         SAPSQL_INVALID_FIELDNAME
    Exception              CX_SY_DYNAMIC_OSQL_SEMANTICS
    No.   Ty.          Program                             Include                             Line
          Name
       19 METHOD       CL_FDT_ELEMENT================CP    CL_FDT_ELEMENT================CM012   129
          CL_FDT_ELEMENT=>GET_VALUES_DDIC
       18 METHOD       CL_FDT_ELEMENT================CP    CL_FDT_ELEMENT================CM011   124
          CL_FDT_ELEMENT=>GET_VALUES
       17 METHOD       CL_FDT_WD_RENDER_VALUE_INPUT==CP    CL_FDT_WD_RENDER_VALUE_INPUT==CM00G   139
          CL_FDT_WD_RENDER_VALUE_INPUT=>VALIDATE_VALUES
    In my opinion there is uncorrect query.
    Current version:
    .  SELECT FIKRS AS VALUE NAME AS TEXT FROM FMBS_BS_T
        INTO CORRESPONDING FIELDS OF TABLE lt_value
        WHERE LANGU EQ 'E'.
    instead of:
    .  SELECT FM_AREA AS VALUE NAME AS TEXT FROM FMBS_BS_T
        INTO CORRESPONDING FIELDS OF TABLE lt_value
        WHERE LANGU EQ 'E'.
    My sap version:
    EHP4 FOR SAP ERP 6.0 / NW7.01
      SAP_BASIS     701     0003     SAPKB70103
    Do you know any note or solution  to resolve this problem.
    Best regards,
    Jacek Witczak

    Hi, I came back to working on "Dunning by collection strategy with BRFplus". According to your sugestions, I raised the level of components:
    SAP_BASIS Level 09
    SAP_ABA level 09
    PI_BASIS level 09
    SAP_BW level 09
    But still I have the same short dump.
    Shoudl we raise any other components? Maybe you know note, which resolve this problem?

  • How to hide dynamic selection fields in variants

    hi,
    When a selection variant is saved, we have the option to 'hide' a selection field. That field may contain a value, but it is not shown on the selection screen. There is, however, a button that will display these hidden field when required.
    Is it possible to do this also with dynamic selection fields ?
    The column 'Hide field' is shown in the variant atttributes screen, but it is not active.
    Please suggest
    MS

    Explore SHD0 T code

  • Addition of dynamic selection fields on FBL3N

    Hi all,
    I want to add LIFNR(vendor accnt) and NAME1(vendor name) on the 'dynamic selections' screen of transaction FBL3N.
    I need to get these fields from LFA1 but LFA1 is not present in the Logical database of this program.
    Please help me and tell me if it is possible.If yes...how??

    Use
    transaction: SE36
    from menu: Extras -> selection views
    choose: origin => SAP , Name of view => Standard
    In right table under "Tables" choose "BSEG" and find LIFNR, enter 03 in the first column. For the name , I didn't have time to check it....
    If this helped you, don't forget to tip some points

  • Reg Dynamic Selections in Logical DataBases

    Hi All,
      I am forcefully scheduling a report to run in background mode even though the users run it online.
    While doing so I have handled all the parameters and the select options in the selection screen in the following way.
    SELECT OPTIONS
      wa_rspar-selname = 'BUDAT'.
       wa_rspar-kind = 'S'.
       if BUDAT[] is not initial.
          loop at BUDAT.
             wa_rspar-sign = BUDAT-sign.
             wa_rspar-option = BUDAT-option.
             wa_rspar-low = BUDAT-low.
             wa_rspar-high = BUDAT-high.
             append wa_rspar to rspar.
          endloop.
       else.
         wa_rspar-low = BUDAT.
         append wa_rspar to rspar.
       endif.
       clear: wa_rspar.
    PARAMETERS.
    wa_rspar-selname = 'SORTART'.
       wa_rspar-kind = 'P'.
       wa_rspar-low = SORTART.
       append wa_rspar to rspar.
       clear: wa_rspar.
    While doing so since the report uses logical database-the dynamic selection portion has to be handled otherwise the dynamic selection is ignored and the report is displayed wrong.
    How can we handle the dynamic selection portion for the forceful conversion of the program to background mode even if it is run online.
    Has anyone faced this kind of issue.If so how was it resolved.
    Thanks in advance.

    Finally it seems not to be possible to fill the dynamic selection of a logical database during INITIALIZATION in a report which is using the respective logical database (under report properties).
    My solution was to create a new select option within the customer program which refers to the respective database column (... FOR bsis-gjahr). If this column is supported by the dynamic selections of the logical database, then the values entered on the selection screen are automatically transferred and used by the logical database selection. It is just important to refer to the correct table, as BSIS-gjahr is working while BSEG-gjahr and BKPF-gjahr are not working in my example.
    See the following link:
    http://help.sap.com/saphelp_470/helpdata/en/9f/dba73935c111d1829f0000e829fbfe/content.htm?frameset=/de/9f/dba76035c111d1829f0000e829fbfe/frameset.htm&current_toc=/de/d3/2e974d35c511d1829f0000e829fbfe/plain.htm&node_id=305

  • Planning Layout -KP66 with dynamic period column

    Dear experts,
    I would like to create a planning layout for cost center/ cost elements in which we have the different periods in the columns .The periods in the columns should dynamically select according to the planning cycle selected in the excel file.
    Planning Cycle                           Start Period                                End Period                Total Months
    JAN                                         JAN                                           JUN                            6
    FEB                                         FEB                                            JUN                            5
    MAR                                       MAR                                            JUN                           4
    According to planning cycle my period column should change dynamically.Please let us know how to create planning layout with dynamic period columns. I donot want to create the planning layout with 12 period columns to upload the data.
    Thanks & Regards
    Kumar

    NOT ANSWERED

  • FBL1N with dynamic selection WITHHOLDING TAX CODE is dropping rows

    Using FBL1N with dynamic selection field: WITHHOLDING TAX CODE and noticed that several vendors dropped off the report. Appears FBL1N's filter logic uses LFB1-QSSKZ and not LFBW-WT_WITHCD. Upon examination, I determined that the missing vendors didn't have a WTC assignment (column is BLANK) in table LFB1. Problem is I'm using transaction FK02's WITHHOLDING TAX ACCT tab to assign the WT codes but these rows are written to table LFBW (not LFB1). How is the LFB1-QSSKZ field populated? And why do some of the entries in LFB1-QSSKZ have values while others do not? Would ultimately like to populate the blank assignments with the correct WT code.

    Hi Steve,
    This is due to the limitation due to standard design.
    You can see that a vendor can be assigned to multiple WHT codes and can also have multiple WHT code for a single line item. Hence in FBL1N output it would not be possible to show the WHT code as there is no  one to one relationship.
    You can click on the line item and can then see the WHT information in WHT button. Or alternatively get the data in withholding tax information reports.
    Regards,
    SDNer

Maybe you are looking for