Conditional breaks in nested table

Hi Experts,
I have static table and inside it there a row with flowed subform and other binded table , in the inner table I want to set
conditional break on one field , I have it to put it in the row that contain a table ?? how can I access the field of
inner table from the row of the outer table???
thanks in advance

Hi,
You can access the field of the inner table from row of the outer table using following script:
data.page1.TableOuter.Row1.TableInner.Row1.cell1.rawValue;
Thanks,
Radhika

Similar Messages

  • Page break on nested table

    Hi,
    I am getting blank page because of page break after nested table.
    When page is full with the records then because of nested table, it added one space after that.
    Has anyone faced this issue before?
    Thanks

    Hi,
    Upload the .rtf template and XML sample so we can see your issue.
    Also I recommend you to review our page-break document:
    http://docs.oracle.com/cd/E28280_01/bi.1111/e22254/create_rtf_tmpl.htm#BIPRD2457
    Regards,
    Liviu

  • Do nested tables conflict with ?split-by-page-break:? -getting blank pages

    I have an RTF template with multiple levels of groupingwith sub-totals and pagebreaks at several levels. I'm using nested tables to keep the lowest level group together. The nested table works fine as far as keeping the rows together - if a group doesn't fit on a page, it is pushed to the next page; however, it has created some blank pages in the report. The first time I report the lowest level group details, if they don't fit on one page, I get a blank page followed by the data. Each time the lowest level group changes, this may or may not occur depending on the amount of data.
    If you have come across this before or have some suggestions, I would really appreciate a response. I've been working on this for quite some time and have run out of things to try.
    The template is quite complex and the XML very long, so I won't post. However I can email them to you if you'd like to take a look.
    Thank you for your help,
    Tam
    Edited by: Tam_11 on Nov 19, 2009 2:42 PM

    Thanks for replying.
    Yes, I tried removing the <?split-by-page-break:?> and using MS hard page break (ctrl-enter) and that doesn't work either. My totals moved to a separate page by themselves and I'm still getting the blank pages.
    <?split-by-page-break:?> did exactly what it was supposed to until I added in the nested tables. It's very possible that I did something wrong with my nested tables (only my second XML report). Does anyone have a sample with nested tables that they would be willing to share?

  • Nested table in "IN CONDITION"

    Hi all,
    I have this code;
    declare
    type vt_list is table of varchar2(500);
    b vt_list;
    c varchar2(50);
    begin
    b:=vt_list('alin','dan','john');
    select contract_id into c from cont_cust where 'alin' in (select * from table(cast(b as nv_list))) and rownum<2;
    dbms_output.put_line(c);
    end;
    it raises an error.
    I want to use a nested table in "IN" condition in a select clause: select * from table where tab in nested_table;
    I knew something about table and cast...but it doesn' work here.
    thanks.

    this is the code ai use:
    declare
    type vt_list is table of varchar2(500);
    b vt_list;
    c varchar2(50);
    begin
    b:=vt_list('alin','dan','john');
    select contract_id into c from cont_cust where 'alin' in (select * from table(cast(b as nv_list))) and rownum<2;
    dbms_output.put_line(c);
    end;
    I get:
    Compilation errors for PROCEDURE SYSADM.AAA
    Error: PLS-00642: local collection types not allowed in SQL statements
    Line: 7
    Text: select contract_id into c from cont_cust where 'alin' in (select * from table(cast(b as nv_list))) and rownum<2;
    Error: PL/SQL: ORA-00932: inconsistent datatypes: expected - got CHAR
    Line: 7
    Text: select contract_id into c from cont_cust where 'alin' in (select * from table(cast(b as nv_list))) and rownum<2;
    Error: PL/SQL: SQL Statement ignored
    Line: 7
    Text: select contract_id into c from cont_cust where 'alin' in (select * from table(cast(b as nv_list))) and rownum<2;

  • Nested table for PO Output (Item texts) - trying again.

    Hi experts
    I posted this question already, but the formatting disappeared, so trying again.
    I have created a PDF version of the Purchase Order output. Everything works well, except for the last step - a nested table where I want to display Item texts from the PO for every item.
    The steps I followed:
    1. In the Interface, I read the item texts, and placed them in an internal table, where the table has a field EBELP (item number) and a field for the text. So, for a PO with 5 items, where 2 items have texts, the table might look like this:
         00010    First line of text for item 10.
         00010    Second line of text for item 10.
         00040    Only line of text for item 40.
    2. In the context of the form, I put this table 'under' the existing 'ITEM' entry. In other words, for every item, the texts must be displayed. Obviously I then put in an entry under the WHERE CONDITIONS to say that EBELP = ITEM-EBELP, otherwise it would repeat every line of text for every item.
    The problem is that it does not behave quite as I expected. It currently prints:
    Item 10 information
             First line of text for item 10.
             Second line of text for item 10.
    Item 20 information
             Only line of text for item 40.
    Item 30 information
    Item 40 information
    Item 50 information
    Where it should print:
    Item 10 information
             First line of text for item 10.
             Second line of text for item 10.
    Item 20 information
    Item 30 information
    +Item 40 information+
             Only line of text for item 40.
    Item 50 information
    In other words, it simply 'breaks' on change of EBELP, and moves the text to the next line, as opposed to the correct line.
    I tried debugging, and it does appear to be doing things in the right order, but it is still doing the output incorrectly. I also searched the forums for similar problems, but I could not find a solution to the problem I am experiencing.
    I also put 'dummy' (empty) rows into the table - that fixes it, but then it messes with my layout and I get something like:
    Item 10 information
             First line of text for item 10.
             Second line of text for item 10.
    Item 20 information
    Item 30 information
    Item 40 information
             Only line of text for item 40.
    Item 50 information
    In the above, I don't want the gaps where the empty rows are.
    Please advise?
    Thanks and kind regards
    Casper

    Reposted without formatting...
    I have created a PDF version of the Purchase Order output. Everything works well, except for the last step - a nested table where I want to display Item texts from the PO for every item.
    The steps I followed:
    1. In the Interface, I read the item texts, and placed them in an internal table, where the table has a field EBELP (item number) and a field for the text. So, for a PO with 5 items, where 2 items have texts, the table might look like this:
         00010    First line of text for item 10.
         00010    Second line of text for item 10.
         00040    Only line of text for item 40.
    2. In the context of the form, I put this table 'under' the existing 'ITEM' entry. In other words, for every item, the texts must be displayed. Obviously I then put in an entry under the WHERE CONDITIONS to say that EBELP = ITEM-EBELP, otherwise it would repeat every line of text for every item.
    The problem is that it does not behave quite as I expected. It currently prints:
    Item 10 information
             First line of text for item 10.
             Second line of text for item 10.
    Item 20 information
             Only line of text for item 40.
    Item 30 information
    Item 40 information
    Item 50 information
    Where it should print:
    Item 10 information
             First line of text for item 10.
             Second line of text for item 10.
    Item 20 information
    Item 30 information
    Item 40 information
             Only line of text for item 40.
    Item 50 information
    In other words, it simply 'breaks' on change of EBELP, and moves the text to the next line, as opposed to the correct line.
    I tried debugging, and it does appear to be doing things in the right order, but it is still doing the output incorrectly. I also searched the forums for similar problems, but I could not find a solution to the problem I am experiencing.
    I also put 'dummy' (empty) rows into the table - that fixes it, but then it messes with my layout and I get something like:
    Item 10 information
             First line of text for item 10.
             Second line of text for item 10.
    Item 20 information
    Item 30 information
    Item 40 information
             Only line of text for item 40.
    Item 50 information
    In the above, I don't want the gaps where the empty rows are.
    Please advise?
    Thanks and kind regards
    Casper

  • Conditional Breaks on subnodes/item level

    Hello experts,
    We have a requirement for a new Adobe Form, which has a header table and an item table. We have to print multiple documents in 1 printout.
    Our Adobe Form context layout is as follows:
    - Context node for the Header (1 record for each document)
         - Subnode with the item information ( WHERE conditions are set to the specific document key, so we only have the relevant items of the document in the loop )
    We have added a Pagination -> Conditional Break based on the header table key, to trigger a new page break for each document.
    But we have a 2nd requirement where we need to trigger a 2nd conditional break based on an item partner difference.
    This means we would have to add a conditional break, on the subnode which contains all the item information.
    In Adobe Forms, according to our finds, it does not seem possible to trigger a condition break in a subnode/item table, is this correct?
    Is it nescecary to bring all the conditional break fields to the header table?
    The requirement wants this layout:
    - Document 1
         - ITEM PARTNER A
              - Item 1 partner A
              - Item 2 partner A
         ( TRIGGER ANOTHER BREAK for new Item Partner display ) <- The issue
         - ITEM PARTNER B
              - Item 3 partner B
    ( PAGE BREAK TRIGGERED ) <- OK
    - Document 2
    We were wondering what the most proper/clean/best practice way is, to achieve this requirement.
    ( without having to duplicate records on the header table, by means of moving the required field from the item table to the header table )
    Thx
    Kind regards,
    Wouter

    Hi Wouter,
    Thanks for your response yes its not possible to achive this in nested table. I achieved my output using below logic by duplicating records and using Java script..
    http://scn.sap.com/thread/3702677
    Regards,
    Manu

  • Nested tables.... Please help

    Hi Friends,
    I have some strange issues when I am trying to create a nested dynamic table with SAP DATA in Adobe Designer.
    In the context, under the MAIN node
    I had dragged the header table. Under the header table I had dragged the item table and had created a WHERE condition to link the HEADER and ITEM table.
    Now my layout is pretty complicated..
    I want to result to be as below:
    header row.... with 0001 Customer name
    item row with 0001 0010 price qty
    0001 0020 price qty
    0001 0030 price qty
    header row... field4
    (field4 from the header table has to be displayed after the item table has generated all the items and this process should repeat for all header data)
    My design in layout is as below
    subform1 for headerdata
    ( set as positioned and has set to 'Repeat form for each data item')
    headerdata fields for subform1 (field1, field2, field3)
    subform2 for itemdata
    (set as folowed)
    subform3 for itemdata
    (set as positioned, 'Allow page breaks within content' and had set 'Repeat form for each data item')
    itemdata fields in subform3
    subform4 for headerrow field4
    but when I activated and execute the form, the result was wrong.
    The result should be like below...
    |->field1, field2, field3
    |--->field1 charge111
    |--->field1 charge211
    |-> field4
    |->field2
    |--->field2 charge122
    |--->field2 charge222
    |-> field4
    but it is printed like below and field4 is overlapped with the item rows if the item rows are more...
    DATA
    |->field1 field2 field3
    |--->field1 charge111 This inner table is overlapping the subform4 for each item
    |--->field1 charge211
    |
    |->field1 field2 field3
    |--->field1 charge121 This inner table is overlapping the subform4 for each item
    |--->field1 charge221
    2) If I have more item data, all the item rows are overlapped with the field4 (which I had explained in my layout) and the item rows are not moved to the next page, but still it is continued in the same page, meaning that if the page can fill 20 lines and my item row are more than 20 lines, 20 lines are printed and the remaining items are not moved to the next page... it is invisible...
    How can I solve this issue?
    Please help me
    Thanks in advance.
    Jaffer Ali.S

    Hi Francois. Thank you very much for your reply, but it seems that i still get errors. So let me tell what i have done.
    As you suggested me: i have done a block based on a sub-query for the nested-table:
    'select courses from department where name= :department.name'.
    In the master block(department) i have the when-new-record-instance trigger:
    Declare
    LC$Req varchar2(256);
    Begin
    LC$Req := '(select ns.courses from table
    ( select courses from department where name = ''' || :DEPARTMENT.name || ''' ) ns )';
    Go_block('block11');
    Clear_Block ;
    Set_Block_Property( 'block11', QUERY_DATA_SOURCE_NAME, LC$Req ) ;
    Execute_query ;
    End ;
    Now the errors i receive, this time in the runtime mode are:
    - FRM-41380: Cannot set the blocks query data source
    -FRM-41003: This function cannot be performed here.
    Since it seems that you know how to work with the nested table i would really appreaciate your help. I am new in the nested table and if you could give an ex with my tables it would be great.
    Thank you in advance.

  • Issue with conditional breaks

    Hi Experts,
    I am working on conditoinal breaks in adobe.
    My requirement is: For a delivery item if i have 3 batched i have to print 3 forms with item data. Here the data of one batch can flow into multiple pages I had applied a conditional break on batch field at the item level of the table(designed with dragging the table into the layout.). this form contains Batch at header and footer. When the data fits in one page conditional breaks are working fine and i am getting 3 forms in the same spool as desired. But when there is more item data conditional breaks are not working properly.
    Issue like item data over flow on the footer and batches are not showing up properly according to the page breaks.
    Please help on this issue.
    Thanks,
    Anil

    Guys, Tell me if my question was not clear or need further information.

  • Using conditional breaks

    Hello all,
    I am currently working on a form that has a fixed layout, meaning everything is placed in a Positioned subform. I have to do this because at the bottom of the page there is a table that lists approvers of the form. The aprovers need to provide a digital signature (meaning the table cannot be a part of the master page) and I do not want the approvals table to repeat on subsequent pages.
    Now for the problem.
    Above my approvals table I have a table with a repeatable row so that users can add and remove rows as necessary. This table is in a flowed subform and works perfectly, and I have set a max # of row instances to prevent the two tables from overlapping. However, I need to be able to set the text fields in this table to expand to fit, so that when users have a lot of text to enter they can do so. This causes the tables to overlap if the user enters too much text in too many rows.
    I am looking to either create a conditional break or a script of some sort that can evaluate the height of my expanding table and create a page break when it reaches a certain height in order to prevent overlap with the approvals table below it.
    I apologize for the difficulty of the question and I appreciate any help that I can get.
    -Alex

    Check the following thread for looping over a table --> Read Table Java script
    Then as specified in the thread in the "for" loop of Table write an "if" condition for the 1st column to check whether it is "A" or "B".
    if ( xfa.resolveNode("data.tablesubform.table1.row["+i+"].column1").rawValue == "A" )
          HeaderField.rawValue = "ANGRY";
    else if ( xfa.resolveNode("data.tablesubform.table1.row["+i+"].column1").rawValue == "B" )
        HeaderField.rawValue = "BETTER";
    I have not checked this but see if it helps.
    Chintan

  • How to use nested table values in IN expression?

    Hi!
    Can someone please give me a hint to the correct syntax for this:
    declare
    TYPE numtable is table of number;
    tt numtable;
    begin
      select myId bulk collect into tt from some_table;
      update some_other_table set name = 'kakadu' where xId in (select * from tt); -- this line is wrong as it is
    end;What I am doing is fixing a stored procedure that was like this before:
    update table_a set name = 'kakadu' where column_X in (select one.A from table_1 one join table_a on x y z WHERE a b c);
    update table_b set name = 'nimfa'  where column_Y in (select one.B from table_1 one join table_a on x y z WHERE a b c);The problem is, the first UPDATE changes the result of the SELECT, so I want to "remember" it.
    A and B are columns in table_1, A is the primary key. So the fixed code would be like:
    -- store the list of selected IDs from table_1
      select A bulk collect into tt from table_1 one join table_a on x y z WHERE a b c ; -- same conditions as in old code
    -- do the updates
      update table_a set name = 'kakadu' where column_X in (select * from tt);
      update table_b set name = 'nimfa' where column_Y in (select one.B from table_1 one where one.A in tt);(it can be a varray instead of nested table, as far as I am concerned)
    Thanks,
    David

    Yes, it needs to be a SQL type
    Re: How to pass an array to a function from a SELECT statement
    Or you can use a built in SQL type (version dependent)
    Re: Collection in where not working

  • Using Nested Table in Select Statement

    Hi all ,
    Can i use the PL/SQL nested table or Varray
    in the select statement as a normal table joined with other database tables.
    i.e.
    I have a nested table NT_1 in PL/SQL proc
    i have to use this NT_1 in the select statement as
    select xxx from
    tab_1,
    tab_2,
    NT_1
    where
    < some conditional joins >.
    Please help me in this regard.
    regds
    Dhananjaya.H

    you can not use a varray as part of a SQL Statement in order to build joins.
    Can you explain better what do you want to do ?
    Joel P�rez

  • Import tables with nested table : ORA-00600

    In Oracle 9.2
    Create object, type as table, and table with nested table (store as syms_ntab) are successfully.
    Also its export.
    In process of import on another server (also 9.2, 'fromuser=one touser=two') shows errors:
    . . importing table "SYMS_NTAB"
    IMP-00058: ORACLE error 600 encountered
    ORA-00600: internal error code, arguments: [kokeeafi1], [2], [2], [], [], [], [], []
    IMP-00075: Warning: The nested table may contain partial rows or duplicate rows
    But for all that table is created and error occur on phase inserting strings.
    What is this?
    In Oracle 8.0.5 i perform similar operation without error.

    From Oracle error messages and codes manual:
    ORA-00600 internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
    Cause: This is the generic internal error number for Oracle program exceptions. It indicates that a process has encountered a low-level, unexpected condition. Causes of this message include:
    * timeouts
    * file corruption
    * failed data checks in memory
    * hardware, memory, or I/O errors
    * incorrectly restored files
    The first argument is the internal message number. Other arguments are various numbers, names, and character strings. The numbers may change meanings between different versions of Oracle.
    Action: Report this error to Oracle Support Services after gathering the following information:
    * events that led up to the error
    * the operations that were attempted that led to the error
    * the conditions of the operating system and databases at the time of the error
    * any unusual circumstances that occurred before receiving the ORA-00600 message
    * contents of any trace files generated by the error
    * the relevant portions of the Alter files
    Note: The cause of this message may manifest itself as different errors at different times. Be aware of the history of errors that occurred before this internal error.

  • NESTED TABLES,,Header data and Item data

    How to arrange them in the hierarchy view?
    How to put a condition on the item table so that only corresponding items  from the item table will be shown for each header.
    header table data 1211
                      1212
    item table data is 1211  10
                       1211  20
                       1212  10
                       1212 20
    so final output should be
    1211
    1211  10
    1211  20
    1212
    1212  10
    1212  20.
    So how to put this condition?
    Can you please help me
    Regards
    sasi

    Hi,
    If you designing the form using SFP Transaction, then you have to set the where clause on the item table in the context.
    In the SFP context drag the header table from interface.drag the item table from interface on the DATA in the header table. it will placed at the end of the header table. Now select the item table select where clause in the properties ( at the bottom of the screen ).there you create a line for condition using create button. drag the field from header table field ( say header-matnr ) on the right side and then drag the same field from the item table ( say item-matnr) in the left side.This will filter the item records relevent for header record.
    In the layout, design the table as I explained in the forum message .( search forum with text "Nested Tables and Multiple Pages" ) 
    pavan meda

  • Nested Tables and Multiple Pages

    Hi,
    I have a problem with nested tables that span multiple pages.
    Lets assume I want to create a list of orders. Each order contains several order items. As long as an order contains less order items than fit to one page the list is rendered correctly. But if an order contain more items all items that can´t be displayed at the first page are cut off.
    I´ve tried so many combinations of subforms with flow content and position content, subform sets and "Allow Page Breaks within Content" as well as Layout Property "Expand to fit" but nothing helped.
    Can someone tell me if and how I can achieve this. In the meantime I do work in Designer directly with a XML datasource. So I could send you the form and example data.
    I´m working with NW04 SP11 and Adobe Designer 6.0
    Best regards
    Helmut

    Hello Helmut,
    There are some limitations and bugs in your requirement.
    Please see the output after copying into notepad.
    1.Eventhough if you give overflow leader , the headers for item table will not repeat.it is a bug.this is not solved in designer 7.1 also.
    2.There are some accessibilty bugs in case of nested table.
    Please follow the below design in the hierachy tab.
    MainTable (subform)
          |---- Header (subform)
          |      |- Header texts for Main table   +
          |      |-     Text for nested table
          |---- DATA_main (subform)     
                 |-Main table fields
              |-ITEMDATA ( Table SUBFORM)  
                     |-Header (Subform)
                     |   |-ItemHeader texts
                     |-DATA_item (subform)
                        |-Item data fields     
    for DATA_main and DATA_item subforms, set repeat count MIN in binding tab.Set all flow content and allow page break with in the content.
    The output will appear in the following manner.
    <b>( Copy the below text into the notepad. )</b>
    <b>Order no.     text                 customer
                    Order items</b>
    =================================================================
    1             Computer             Mr. Smith
       <b>Order item no.     short text          quantity        price</b>  
        10                 PC Tower            1               400.00
        20                 LCD Display         1               200.00
        30                 Keyboard            1                15.00
        40                 Mouse               1                10.00
    2             Notebook             Mrs. Parker
       <b>Order item no.     short text          quantity        price</b>  
        10                 HP Notebook         1               600.00
        20                 Ext. hard drive     1                80.00
    let me know if u didnt get the solution.
    Thanks and Regards,
    Pavan Meda

  • Need to return dynamic column names for a function returning nested table

    I am having a pl/sql function which is returning a nested table.
    For this i have defined an object which is having 4 attributes- 1 number type, 3 varchar2 type -p1,p2,p3.
    My function is taking input parameter v1,v2,v3 all of varchar2 type.Inside the function body,i am using these (v1,v2,v3) to filter data from an sql query and i am also
    using pivot function in this sql query.
    At the end my function is returning the object as defined in the starting .
    When i am excuting this function,thru select statement :
    select * from table(f1_test('A','B','C'));
    i am geting p1,p2,p3 as column name ,which are names used when i had defined object type.Instead i want column name to be dynamic (wotever i am passing in function as
    parameter while executing the function ,here A,B,C)
    Please help me in geting column names dynamic as passed in input parameter (i.e A,B,C for this case )
    Sample code for the problem:
    create or replace TYPE obj1 AS OBJECT
    ( id number(5,0)
    ,p1 varchar2(10),
    ,p2 varchar2(10)
    ,p3 varchar2(10)
    create or replace TYPE tt1 AS TABLE OF OBJ1;
    create or replace
    function f1_test (v1 varchar2,v2 varchar2,v3 varchar2)
    return tt1 as
    v_return tt1 ;
    v_str varchar2(30000);
    begin
    v_str:='
    select
    cast(
    multiset(
    select * from
    select
    aa.report_id
    ,cc.name
    ,e.amount
    from
    aa,cc,e
    where
    <join conditions>
    and cc.name in ('''||v1||''','''||v2||''','''||v3||''')
    pivot (sum (amount) for name in ('''||v1||''' as '||v1||','''||v2||''' as '||v2||','''||v3||''' as '||v3||'))
    as tt1)
    from
    dual';
    dbms_output.put_line(v_str);
    execute immediate v_str
    into
    v_return ;
    return v_return;
    end;
    Edited by: 845831 on 20 Mar, 2011 12:15 PM

    select id,p1 A,p2 B,p3 C from table(f1_test('A','B','C'));
    drop function f1_test;
    drop type tt1;
    drop type obj1;
    create or replace TYPE obj1 AS OBJECT
    ( id number(5,0)
    ,p1 varchar2(10)
    ,p2 varchar2(10)
    ,p3 varchar2(10)
    create or replace TYPE tt1 AS TABLE OF OBJ1;
    CREATE OR REPLACE
      FUNCTION f1_test(
          v1 VARCHAR2,
          v2 VARCHAR2,
          v3 VARCHAR2)
        RETURN tt1
      AS
        v_return tt1 ;
        v_str VARCHAR2(30000);
      BEGIN
        v_str:='select cast(multiset(select 1,''20'',''30'',''40'' from dual) as tt1) from dual';
        dbms_output.put_line(v_str);
        EXECUTE immediate v_str INTO v_return ;
        RETURN v_return;
      END;
    /

Maybe you are looking for

  • MRP problem in case of MD51

    Hi, I have not activated MRP in OMDU tcode. So at the time of MRP run I should get error that "Requirements planning is not active in plant XXXX" but in case of tcode MD51 this is not the case. When I am running MRP for WBS element using MD51, I am g

  • I want to set up an apple id for my 6 year old but i aint got a credit card

    i want to set up family sharing and create an apple id for my 6 year old daughter,it says i need a credit card to do it, but i aint got one,only a debit card which ive used for years on my apple id.what can i do? really think that the family sharing

  • Flash Player crashes when losing network connection

    My flash player crashes every time i lose internet connection. That happens alot, because the networks i use keep jumping between eachother and they suck, quite frankly, but it's out of my control. I got alot of tabs up, 24/7, all using flash player,

  • Hyperlinks in Publisher Don't Transfer

    I have to use MS Publisher 2010 to produce a newsletter. Hyperlinks defined in the text work fine in the PDF I create using Acrobaty PDFMaker (Acrobat X Pro). But hyperlinks defined for images do not transfer to the PDF. They transfer fine if I use t

  • What is the correct method of transfering music fi...

    kindly instruct how to transfer music tracks from the pc to the phone n73? is it better way to transfer through mass storage or using nokia pcsuite-drag and drop to phone icon?