How could Ecatt support a FM which has export parameter data type as any

Hi,
I have created a FM which has export parameter data type as 'Type ref to data'.
The actual paremeter value for this export parameter is a dynamically generated internal table, which does not have a abap dictionary data type.
Could I use the 'FUN' ecatt command to test this FM?  How could I get this reference export parameter?
Thanks a lot in advance!

Hi,
Wouldn't it be enough if you define parameter in test data container as reference to table type with structure of type c(1000)  (or more/less characters depending on how much data you need to pass)?
I'm not 100% sure if filling this table with data will work (this is reference after all) but if this is an issue than create 2 parameters: 1 of table type and second of reference type. Then inside your script before FUN use ABAP...ENDABAP to assign your table parameter to reference parameter and use second one as input for FUN command.
I think that either first or second solution should work.
Best regards
Marcin Cholewczuk

Similar Messages

  • How to call a stored procedure which has out parameter value

    my code is
    public Connection createConnection() {
                   Connection conn = null;
                        try {
                             Class.forName(DRIVER);
                             conn = DriverManager.getConnection(URL,USER,PASS);
                        } catch (ClassNotFoundException cnfe) {
                             System.err.print("Class not found");
                        } catch (SQLException sqle) {
                             System.err.print("SQLException");
                   return conn;
         public static void main(String args[]){
              StroedProcedure stp = new StroedProcedure();
              Connection con = stp.createConnection();
              try {
                   CallableStatement stproc_stmt = con.prepareCall("{call Account_Summary(?,?,?,?,?,?,?,?)}");
                   stproc_stmt.setString(1, "123456");
                   stproc_stmt.setDate(2, null);
                   stproc_stmt.setString(3, null);
                   stproc_stmt.setString(4, null);
                   stproc_stmt.setString(5, null);
                   stproc_stmt.setString(6, null);
                   stproc_stmt.setDate(7, null);
                   stproc_stmt.setDate(8, null);
                   stproc_stmt.registerOutParameter(1,Types.CHAR);
                   stproc_stmt.registerOutParameter(2,Types.DATE);
                   stproc_stmt.registerOutParameter(3,Types.CHAR);
                   stproc_stmt.registerOutParameter(4,Types.CHAR);
                   stproc_stmt.registerOutParameter(5,Types.CHAR);
                   stproc_stmt.registerOutParameter(6,Types.CHAR);
                   stproc_stmt.registerOutParameter(7,Types.DATE);
                   stproc_stmt.registerOutParameter(8,Types.DATE);
                   stproc_stmt.execute();
                   System.out.println("test "+stproc_stmt.getString(1));
                   ResultSet rs = stproc_stmt.executeQuery();
                  while (rs.next()){
                       System.out.println("result "+rs.getString("ACCPK"));
              } catch (SQLException e) {
                        e.printStackTrace();
         }And the stored procedure is
    CREATE OR REPLACE
    procedure Account_Summary (accpk in out char, incdt out date, bcur out char, bmark out char, tarTE out char, numHold out char, stDt out date, AsDt out date)
    is
    begin
    select account_pk, inception_date, base_currency, benchmark  into accpk, incdt, bcur, bmark
    from account a
    where a.Account_pk=accpk;
    select target_te, number_holdings, start_date, as_date into tarTE, numHold, StDt, AsDt
    from acc_summary asum
    where asum.account_pk=accpk;
    end Account_Summary;but it gives a exception ORA-01460: unimplemented or unreasonable conversion requested
    ORA-06512: at "REPRO.ACCOUNT_SUMMARY", line 4
    ORA-06512: at line 1
    i want to execute a stored procedure which has in , inout or out parameter
    but it can not work

    ========================
    In some contects varchar2 variable limit is 32512 characters... October 16, 2003
    Reviewer: Piotr Jarmuz from Poznan, Poland
    Interesting to note is the fact that varchar2 variables as parameters to stored
    procedures (in in/out out) may be "only" 32512 bytes long.
    I've checked this in Java and Perl. 32512 is the last value that works, for any
    bigger it throws:
    Exception in thread "main" java.sql.SQLException: ORA-01460: unimplemented or
    unreasonable conversion requested
    But in PL/SQL as you said 32767
    Regards,
    Piotr
    =================================
    This i got it from ask tom, well it make sense.... try checking your input with small numbers and strings
    Have fun

  • How to call a stored procedure that has Table Of data types in VB6?

    Hi everyone,
    I need to call a stored procedure that has a Table Of data type as an input parameter (possibly even several Table Of input parameters). I can't seem to find any example of how to do this in VB6 using ODBC. Is this even possible?
    Thanks you!
    Steve

    Thanks,
    but I need to test stored procedures that uses type defined in the package.
    e.g.
    if I have s.p.
    PROCEDURE get_risultati_squadra
    ( in_squadra IN VARCHAR2,
    out_serie OUT tab_varchar2_5,
    out_tiporisultato OUT tab_varchar2_5,
    out_n_giornata OUT tab_varchar2_5,
    out_squadre OUT tab_varchar2_200,
    out_risultato OUT tab_varchar2_10,
    out_marcatore OUT tab_varchar2_50,
    out_punti OUT tab_varchar2_3,
    out_rimbalzista OUT tab_varchar2_50,
    out_rimbalzi OUT tab_varchar2_3,
    out_esito OUT tab_varchar2_2);
    I have to define every type external to the package, in this case five new TYPE !!
    Is there another way to solve this problem?
    Thanks

  • IB:How to update a serial Number which has Inventory Material Transactions?

    Dear friends
    first of all thanks for your time and valuable solutions
    Install base: How to update a serial Number which has Inventory Material Transactions
    problem description:
    Install base > quick search
    Here is Installbase record, when I query from quick search
    Rec#     Item          Item Instance           Serial Number          Status
    1     300-7000-01      3000000           1000XXX-0538JQ0003 Return for Adv Exchange
    2     300-7000-01     8000000               1000XXX-0538JQ0003-     Return for Adv Exchange
    3     300-7000-01     5000000               1000XXX-0538JQ0003-A     Return for Adv Exchange
    looking above data, first and third records are the legitimate serial numbers(correct according to the client specs), second record is not legitimate since it has a dash as suffix, we found there are many illegitimate serial Numbers exists, needs to be updated with the right serial Numbers which I analyzed in excel after pulling data from mtl_material_transactions , oe_order_lines_all , mtl_serial_numbers , mtl_system_items_b
    basically these are all RMAs
    I need to update the second record as 1094SUZ-0538JQ0003-B as per the guidelines, while updating I need to keep all the existing contracts, Warranty, what ever material transations it has, need to be same.
    we have a package updating the serial numbers using IB API (csi_Item_Instance_Pub.update_item_instance) but it is updating only the records which has no serial numbers present for that instance, if there is a serial number already exists it is not working.
    user define error msg "Serial Number 1094SUZ-0538JQ0003- has Inventory Material Transactions. This serial number cannot be used to update an existing Item Instance", but I need to update this anyway!! or am I missing something here, please advice me
    below post looks like similar issue, talks about hard update, I have no clue, by doing that the updated serial number will have same transations, contracts, dates....attached to it like the previous serial number
    IB UPDATE_ITEM_INSTANCE ERROR - doesn't allow ACTIVE_START_DATE to change
    would be great If you guys help me out, really appreciated!!
    unfortunately I couldn't find any solutoin in metalink for the existing serial number update
    code for updating the serial number using IB API
              x_msg_count := 0;
    x_msg_data := '';
    p_instance_rec.instance_id := rec.child_instance_id;
    p_instance_rec.serial_number := rec.child_serial_number;
    p_instance_rec.object_version_number := rec.child_object_number;
    p_txn_rec.transaction_id := Fnd_Api.g_miss_num;
    p_txn_rec.transaction_date := SYSDATE;
    p_txn_rec.source_transaction_date := SYSDATE;
    p_txn_rec.transaction_type_id := 1;
    csi_Item_Instance_Pub.update_item_instance
    p_api_version => 1.0,
    p_commit => Fnd_Api.g_false,
    p_init_msg_list => Fnd_Api.g_false,
    p_validation_level => 1,
    p_instance_rec => p_instance_rec,
    p_ext_attrib_values_tbl => p_ext_attrib_values_tbl,
    p_party_tbl => p_party_tbl,
    p_account_tbl => p_account_tbl,
    p_pricing_attrib_tbl => p_pricing_attrib_tbl,
    p_org_assignments_tbl => p_org_assignments_tbl,
    p_asset_assignment_tbl => p_asset_assignment_tbl,
    p_txn_rec => p_txn_rec,
    x_instance_id_lst => x_instance_id_lst,
    x_return_status => x_return_status,
    x_msg_count => x_msg_count,
    x_msg_data => x_msg_data
    Thanks
    Suri

    Suri
    Used this. May not be perfect but should get you there. Only if the table is registered (all the seeded tables should be registered) this will work.
    select distinct a.table_name,b.column_name from fnd_tables a, fnd_columns b
    where a.table_id=b.table_id
    and upper(b.column_name) like '%SERIAL%'
    Also this is very old one but if you need history for this change add the history insert logic as well..
    DECLARE
    l_return_err VARCHAR2 (80);
    PROCEDURE debug (p_message IN VARCHAR2)
    IS
    BEGIN
    dbms_output.put_line (SUBSTR (p_message, 1, 255));
    END debug;
    BEGIN
    debug('======================================================================');
    debug('Switching from serial number XDT07406. to XDT07406 ');
    debug('======================================================================');
    UPDATE fa_additions_b
    SET serial_number = 'XDT07406'
    WHERE serial_number = 'XDT07406.';
    debug('No of rows in fa_additions_b updated :'||sql%rowcount);
    UPDATE fa_mass_additions
    SET serial_number = 'XDT07406'
    WHERE serial_number = 'XDT07406.';
    debug('No of rows in fa_mass_additions updated :'||sql%rowcount);
    UPDATE rcv_serial_transactions
    SET serial_num = 'XDT07406'
    WHERE serial_num = 'XDT07406.';
    debug('No of rows in rcv_serial_transactions updated :'||sql%rowcount);
    UPDATE mtl_serial_numbers
    SET serial_number = 'XDT07406'
    WHERE serial_number = 'XDT07406.';
    debug('No of rows in mtl_serial_numbers updated :'||sql%rowcount);
    UPDATE mtl_unit_transactions
    SET serial_number = 'XDT07406'
    WHERE serial_number = 'XDT07406.';
    debug('No of rows in mtl_unit_transactions updated :'||sql%rowcount);
    UPDATE csi_item_instances_h
    SET new_serial_number = 'XDT07406'
    WHERE new_serial_number = 'XDT07406.';
    debug('No of rows in csi_item_instances_h updated :'||sql%rowcount);
    UPDATE csi_t_txn_line_details
    SET serial_number = 'XDT07406'
    WHERE serial_number = 'XDT07406.';
    debug('No of rows in csi_t_txn_line_details updated :'||sql%rowcount);
    UPDATE csi_item_instances
    SET serial_number = 'XDT07406'
    WHERE serial_number = 'XDT07406.';
    debug('No of rows in csi_item_instances updated :'||sql%rowcount);
    UPDATE wsh_delivery_details
    SET serial_number = 'XDT07406'
    WHERE serial_number = 'XDT07406.';
    debug('No of rows in wsh_delivery_details updated :'||sql%rowcount);
    debug('======================================================================');
    debug('Switching from serial number jct20591 to JCT20591 ');
    debug('======================================================================');
    UPDATE fa_additions_b
    SET serial_number = 'JCT20591'
    WHERE serial_number = 'jct20591';
    debug('No of rows in fa_additions_b updated :'||sql%rowcount);
    UPDATE fa_mass_additions
    SET serial_number = 'JCT20591'
    WHERE serial_number = 'jct20591';
    debug('No of rows in fa_mass_additions updated :'||sql%rowcount);
    UPDATE rcv_serial_transactions
    SET serial_num = 'JCT20591'
    WHERE serial_num = 'jct20591';
    debug('No of rows in rcv_serial_transactions updated :'||sql%rowcount);
    UPDATE mtl_serial_numbers
    SET serial_number = 'JCT20591'
    WHERE serial_number = 'jct20591';
    debug('No of rows in mtl_serial_numbers updated :'||sql%rowcount);
    UPDATE mtl_unit_transactions
    SET serial_number = 'JCT20591'
    WHERE serial_number = 'jct20591';
    debug('No of rows in mtl_unit_transactions updated :'||sql%rowcount);
    UPDATE csi_item_instances_h
    SET new_serial_number = 'JCT20591'
    WHERE new_serial_number = 'jct20591';
    debug('No of rows in csi_item_instances_h updated :'||sql%rowcount);
    UPDATE csi_t_txn_line_details
    SET serial_number = 'JCT20591'
    WHERE serial_number = 'jct20591';
    debug('No of rows in csi_t_txn_line_details updated :'||sql%rowcount);
    UPDATE csi_item_instances
    SET serial_number = 'JCT20591'
    WHERE serial_number = 'jct20591';
    debug('No of rows in csi_item_instances updated :'||sql%rowcount);
    COMMIT;
    EXCEPTION
    WHEN OTHERS
    THEN
    l_return_err :='Updating in one of the script has this error:'|| substrb(sqlerrm, 1, 55);
    debug('Value of l_return_err='||l_return_err);
    END;
    Thanks
    Nagamohan

  • How do i remove a file which has attached to the outside of a window

    how do i remove a file which has attached itself to the out side of a windownext to the control tabs?

    Ah, do you mean it's showing in the header bar?
    If so, hold cmd (⌘) while you drag it off to the desktop. It'll disappear in a puff of virtual smoke.
    Don't worry, you won't lose the file; the icon in the header  (and those in the sidebar) is just an alias.

  • How to reuse the process chain which has been deleted?

    hi
    guys
                  how to reuse the process chain which has been deleted?
    your regards
    suresh

    if you want to "recover" the deleted process chain, try to check DEV / QAS / PRD. Maybe there is a copy still available
    Or check the following tables in SE11: RSPCCHAIN / RSPCCHAINATTR
    Good luck !

  • HT1420 how do i deauthorise  a computer which has crashed on me. Also I have 4 other computers which are authorised

    How do I deauthorise a computer which has crashed. Also I have five computers authorised and need to deautorise the one which has crashed and have no access so i can authorise the new iMac which I have purchased

    You cannot
    You must deauthorize all, then authorize the active computers.

  • How can i see the URL which has  length more than 255 chars in fucnction

    Hello Every body....
      I am facing one problem....I have a function module which returns URL in one table
      but in the function module display i am able to see only 255 characters,but the URL is more than 255 Characters..How can i see the URL which has the length more than 255 characters..
    In the Table the fields url length is 4000 chars.....
    but display it is showing only 255 chars.....
    Please Help me...??????????

    Hello,
    Have you tried breaking your structure into 255 chunks? I don't know what the structure you are moving from looks like, but you should be able break it back up into the SOLI structure. The end of a line in SOLI doesn't create a Carriage Return/Line Break. You have to insert these yourself like in the following:
    * Create document
          clear mail_line.
          move 'This is a test E-Mail'(d01) to mail_line.
          concatenate mail_line
                      cl_abap_char_utilities=>newline
                      into mail_line.
          append mail_line to l_mailtext.
    What kind of attachment are you wanting to create - a text tab delimited file for reading in a spreadsheet application such as excel? You might try reassembling your data table into a single string with newlines where you need them. Then use function module SCMS_STRING_TO_FTEXT to turn it back into SOLI. This is what I have done in the past. I'm afraid without knowing more about your source structure and attachment type, this is about all I can tell you.
    Vasanth

  • How do I uninstall Google Chrome which has stopped working.  I have a MacBook Air 1.6 GHz Intel Core i5 2GB memory

    How can I uninstall Google Chrome, which has stopped working.
    MacBook Air 1.6Gz Intel proccesor @GB memory OS X Maverick

    This helped me. Check it out. Start watching from 1.15
    https://www.youtube.com/watch?v=efnXbn1nC4E

  • How do I check my email which has been sent to my apple ID

    How do I check my emai; which has been sent to my apple ID. If I to mail on my settings, it says icloud account is not verified. Idf I go to mail, only my msn.com emails show up

    Apple ID ( username) is set at apple.com. If I try to change it to my msn account, it says it is already in use and cannot be done

  • Maintenance Plan which has two call dates for year

    Hi all,
    I need to create a Maintenance Plan which has two call dates for year. The dates have to be the last Sunday of March and the last Sunday of October for the same Maintenance Plan. Does anyone know the solution? Please do throw some light on it.
    Thanks
    S
    Edited by: Sara Silva on May 14, 2008 11:39 AM

    Sara,
    You could do this without user-exits...
    Create a factory calendar with two working days. Then create a maintenance plan with a package of 1 day.
    Once scheduled it should produce the required maintenance cycles.
    There are two things you need to be very careful about:
    1. Keep the factory calendars updated, say, 3 years into the future
    2. Ensure you comprehensively test the IP30 transaction
    PeteA
    [www,pjas.com]

  • How to debug a ABAP Routine which is in Infopackage Data selection Tab

    Hi ,
       Please let me know How to debug a ABAP Routine which is in Infopackage Data selection Tab.

    Hi,
    You can try to create infinite loop:
    DATA: STOP.
    WHILE STOP IS INITIAL. ENDWHILE.
    Start InfoPackage and then go to SM50 and swich on debugging for your process. Then in debugger you can change value of STOP variable to skip the loop.
    Krzys

  • Is there a way to sync my music from my ipod touch to a computer without using other computers? because i lost my computer which has all the data for my ipod touch

    is there a way to sync my music from my ipod touch to a computer without using other computers? because i lost my computer which has all the data for my ipod touch

    See also Recover your iTunes library from your iPod or iOS device.
    tt2

  • My iphone 4s was stolen. How could I destroy it so that the guy can not use it any more?

    My iphone 4s was stolen. How could I destroy it so that the guy can not use it any more? system IOS 6
    or just lock the phone forever?
    Could it be possible?
    Thanks

    if you want to erase all data in the phone do this
    If the phone is connected to the Internet and contains your account you can erase the phone by
    1 Going to ( www.icloud.com) and sign in With your account (the account you use in the stolen phone)
    2 go to Find My iPhone
    3 if the phone connected to internet you will see the phone on the map
    4 choose the phone and click  (erase everything)
    i wish this help you  
      Brother

  • How to set a date string in a textbox which bind to a Date type datasource

    Hi,
    I found i can't set a default date value in a textbox which bind to a Date type datasource. Even i tried copying a date string which is picked by the calendar date picker and copy the exactly same string into my source code. It just doesn't work and gives me error said "Invalid date value".
    My source code is like this:
                    oEditText = (SAPbouiCOM.EditText)oItem.Specific;
                    oEditText.DataBind.SetBound(true, "", "dtFrom");
                    oEditText.Value = "09/08/2010"; //DateTime.Now.ToString("dd/MM/yyyy");
    Any suggestion?
    Thanks!
    Lan

    Hi,
    oItem = oForm.Items.Item("10")
    oEdit = oItem.Specific
    oEdit.String = Format(Today.Date, "dd/MM/yyyy")
    or
    datestring = oForm.Items.Item("10").Specific.value
    datepass = Left(datestring, 4) & "/" & Mid(datestring, 5, 2) & "/" & Mid(datestring, 7, 2)
    dtDocDate = Date.Parse(datepass)
    Thanks,
    Mahesh

Maybe you are looking for

  • Scheduling Crystal Reports to produce a PDF

    When I schedule a Crystal Reports report in Business Objects XI R2 to produce the report as a PDF the reports fails with the following error. Object failed to run due to an error while processing on the Job Server. The report runs successfully when s

  • BPS retraction RFC destination conversion

    Hello everybody, I m surprised not having met a discussion about RFC destination conversion between systems for BPS retraction? What is the common recommendation for BPS retraction to have your customizing adapted and to retract to your QUAL R/3 from

  • Solid State Drive Specs

    Group; I'm looking to get the new 17" MacBook Pro with a 256 GB SSD and I want to find out what the read and write speeds are. Does anyone know where I can find this out? Does anyone know who manufactures the hard drive? Thanks in Advance Eddie

  • Order type PM03 Not allowed in IW31 to create

    Hello, I need to stop creating in order type PM03 in IW31 since it is created in background job. and i have another order type and assigned to roles so I am not able to use the role control for this. is there any other user exit for this? Shri

  • How to enable color printing setting in R/3

    Hi, We have configured HP COLOR Laster jet 2650DN printer at r/3 level. but users are not getting print in color, when they give non sap print, then it prints in colors. I tried to enabled the color printer option in spad -> output attribute, but it