[Table access] RFC with XML

Hi everyone,
The idea is to be able to read/write a table in the backend system (would it be R/3 or BW) from the Visual Composer.
In a first attempt, I managed to do it by creating 2 RFCs: one for reading the table, another for modifying it. It works quite well.
<u>Problem</u>
1) Let's say I want to do it for a large number of tables: Do I have to build as much RFCs as there are tables ?
   In other words: Is there a way to do it generically ?
   <i>-> I did it in BSP but it is much simple since we can use reference (TYPE REF TO DATA)</i>
<u>Bad idea</u>
1) Concatenate all fields in a string
-> Read: a lot of actions have to be performed to display the string in the tableview
-> Write: ok as long as there is only string fields but as soon as there is something else, it a nightmare
<u>Good Idea ?</u>
1) Let's use XML to wrap fields up. It will be quick and easy by using CALL TRANSFORMATION on the backend
<b>Question: How do we transform our XML to fit into the VC tableview ?</b>
Thanks in advance.
Best regards,
Guillaume

Hi Guillaume,
I had the same problem a few months ago. There is no way to use a generic structure in VC. A workaround was my solution. I added a structure in SE11 with several strings. Each string for a column with values. This is not the best solution, but another isn't possible atm.
XML is an alternative, but I never read something about using it in VC with tables. I think there is also the problem with the generic structure. At designtime VC doesn't know the structure of the XML file. When you use queries you can use define/test data service -> execute -> generate for each model.
If somebody knows, if it is possible with XML, please give us a hint. I hope Mario will read this thread.
Best Regards,
Marcel

Similar Messages

  • Complete table view controller with XML

    Hello, I'm from Brazil and am new to ios.
    Today I am making an example where I use a table view controller and fill it witharray (NSMutableArray).
    However I would do the same using XML so that now, I'm having so many difficulties to the point of not knowing where to start.
    The code I use to populate this array was.
    It is possible to use something like XML?
    #pragma mark - View lifecycle
    - (void)viewDidLoad
        [super viewDidLoad];
        // Uncomment the following line to preserve selection between presentations.
        // self.clearsSelectionOnViewWillAppear = NO;
        // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
        // self.navigationItem.rightBarButtonItem = self.editButtonItem;
        registros = [NSMutableArray arrayWithObjects:@"1", @"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"11",@"12",@"13",@"14", nil];
    - (void)viewDidUnload
        [super viewDidUnload];
        // Release any retained subviews of the main view.
        // e.g. self.myOutlet = nil;
    - (void)viewWillAppear:(BOOL)animated
        [super viewWillAppear:animated];
    - (void)viewDidAppear:(BOOL)animated
        [super viewDidAppear:animated];
    - (void)viewWillDisappear:(BOOL)animated
        [super viewWillDisappear:animated];
    - (void)viewDidDisappear:(BOOL)animated
        [super viewDidDisappear:animated];
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
        // Return YES for supported orientations
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
    #pragma mark - Table view data source
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
        // Return the number of sections.
        return 1;
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
        // Return the number of rows in the section.
        return [registros count];
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
        static NSString *CellIdentifier = @"listax";//este é o identificador da celula
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        cell.textLabel.text = [registros objectAtIndex:indexPath.row];
        return cell;

    If you have a custom XML schema (not a plist), consider two approaches.
    1. Before showing your table view, use NSXMLParserto deserialize the XML document into an NSMutableArray that will be the table view data source.  Typically the array contains custom class instances; one or more class properties are used to set table cell properties in cellForRowAtIndexPath.  If you have never worked with NSXMLParser (or any other SAX parser) before, start by creating a sample app so you understand how that works.
    2. Use a 3rd-party DOM parser like GDataXML.  Load your XML document into a class property in your table view's viewDidLoad.  Then the XML document will be the table view data source since elements and attributes can be directly queried using XPath in cellForRowAtIndexPath.  If you have never worked with XML DOM and XPath before, start by creating a sample app so you understand how that works.
    If your have a lengthy complex XML document, option #1 might be more efficient because indexed array access is faster than XPath queries.  Theoretically that is why Apple's Cocoa provides DOM support on OS X but not iOS.  There are strategies to improve efficiency if necessary, including your own indexing scheme.  The best solution depends on many factors.  For example, if your XML document includes thousands of rows, but users rarely scroll past the first 10, option #1 would waste time parsing everything.
    Both of these approaches keep all data in memory, which is fast but not friendly.  Perfectly fine for reasonably sized data sets.

  • How to Create a Table in Oracle with XML data type.

    Dear ALL,
    What are the requirements for creating a table with xml datatype in Oracle: The steps would help very much to know the scripting of the table and how to query and either insert/update and remove data from that table.
    Any help, direction, advise would be highly appreciated.
    Thanks.

    Reffer to this Note.243554.1.
    In a nut shell you will need to run catqm.sql

  • Authorize table access aligned with e.g. MOLGA

    Hi everybody,
    Is there any possibility to create some R/3 standard authorization to:
    - Give access only to specific tables (e.g. T510)
         - Does this only work via authorization groups?
         - If yes, it is possible to assign more than one authorization group to SAP standard tables?
    - To let an user only maintain entires belonging to e.g. his/own MOLGA code
    Example:
    User can only maintain entries for T510 for MOLGA 04.
    Thanks a lot in advance,
    Jennifer

    Hi Jennifer,
    Please find below answers on your questions:
    - Give access only to specific tables (e.g. T510)
    Yes, via authorization group. Object S_TABU_DIS, configuration of groups in table TDDAT.
    - Does this only work via authorization groups?
    Normally, yes. But you can restrict access to tables via general transactions, like SM31, SM30, SE16, etc. and allow to maintain/view tables via custom transactions. Then you shift table access to transaction level. In this case you will have to create all those transactions and assign them in S_TCODE object.
    - If yes, it is possible to assign more than one authorization group to SAP standard tables?
    No, in table TDDAT table name is key field, so only one entry per table is allowed.
    - To let an user only maintain entires belonging to e.g. his/own MOLGA code
    Yes, this is possible. You can use standard SAP authorization abject S_TABU_LIN. Before using it you have to activate it. Please check following SAP help link for more details/
    http://help.sap.com/erp2005_ehp_02/helpdata/en/6d/56cdd3edabc14ebd1bc84dae20dec8/content.htm
    I hope it will help you.
    Cheers

  • Mapping with xml-schema XML-data to relational tables

    Hello,
    is it possible to map data from xml documents to relational tables with xml-schema?
    I mean not in nested tables but in relational tables with primary and foreign keys!
    With SQL Server 2005 it is very easy, I dont believe that Oracle couldn't do this!
    I searched but i cant find anything about that!
    Thx
    user445232

    indeed, oracle does this for xml schema based xmltype data, however, these underlying tables are not accessable to the application. Maybe It should for next version, so folks who like to use relational model can use it without mapping it manually.
    Actually, nested tables, are the same, their underlying tables (segments) are indeed relational tables, oracle manages them internally and not visiable to the application. You can find them in the user_segments, user_objects views though.

  • Dynamic Table with XML Schema

    Hi, I am new to livecycle and wondering if there is any sample for setting up the dynamic table with XML schema so I can access the data through workbench's xpath. thanks.

    Ivor,
    Take a look at the samples shipped with Designer. For 8.2.1 release take a look at
    C:\Program Files\Adobe\LiveCycle Designer ES\8.2\EN\Samples\Forms\Purchase Order\Schema\Schema\Purchase Order.xsd
    and the form samples.
    Otherwise, forward a request to [email protected] I would be happy to send you a sample XDP with a dynamic table and a schema.
    Steve

  • Filling tables with XML data

    Hi!!
    I need help with this!! I don't know the right way to implement such a problem!
    Here is the scenario:
    I do have a number of tables (relations) created in MS Access and I do have an XML document now what I'm looking for is to fill these tables with data from the XML document!
    Here are the tables that I have (IDs are auto numbered fields)
    Table Name: datee
    Fields:
    1- datee_ID
    2- datee_day
    3- datee_month
    4- datee_year
    Table Name: paragraph
    Fields:
    1- paragraph_ID
    2- paragraph_String
    Table Name: month
    Fields:
    1- month_ID
    2- month_String
    Table Name: notee
    Fields:
    1- notee_ID
    2- notee_to
    3- notee_from
    4- notee_heading
    5- notee_datee_day
    6- notee_datee_month
    7- notee_datee_year
    Table Name: year
    Fields:
    1- year_ID
    2- year_String
    Table Name: day
    Fields:
    1- day_ID
    2- day_String
    Table Name: to
    Fields:
    1- to_ID
    2- to_String
    Table Name: from
    Fields:
    1- from_ID
    2- from_String
    Table Name: heading
    Fields:
    1- heading_ID
    2- heading_String
    Table Name: notee_paragraph
    Fields:
    1- notee_paragraph_ID
    2- notee_ParentID
    3- notee_paragraph_String
    Here is the XML document
    <notee>
    <to>Jane</to>
    <from>Tom</from>
    <heading>Reminder</heading>
    <paragraph>Hi</paragraph>
    <paragraph>Don�t be late!</paragraph>
    <datee>
    <day>13</day>
    <month>May</month>
    <year>2004</year>
    </datee>
    <to>Mark</to>
    <from>Ed</from>
    <heading>Invitation</heading>
    <paragraph>Hello</paragraph>
    <paragraph>Please come</paragraph>
    <paragraph>Take care</paragraph>
    <datee>
    <day>14</day>
    <month>March</month>
    <year>2004</year>
    </datee>
    </notee>
    I used DOM to parse the XML document but my only problem is in finding an algorithm that I should follow to fill in these tables!! so HOW!! I'm a bit confused??
    Any help or advice will be highly appreciated!

    For each of your elements, build a class representing the object. All your classes should have a method
    to create an instance of the class from an XML node (i.e. public static Object fromXML(Node)), and also
    a 'full constructor' (with parameters for all members of the class.
    Then, build utility classes to hold the table access.
    Short example for table DATEE:
    public class Datee {
       private int id;
       private byte day, month, year;
       public Datee(int id, byte day, byte month, byte year) {
          this.id = id;
          this.day = day;
          this.month = month;
          this.year = year;
       public static Object fromXML(Node node) {
          NamedNodeMap attributes = node.getAttributes();
          String strid = attributes.getNamedItem("id").getNodeValue();
          String strday = attributes.getNamedItem("day").getNodeValue();
          String strmonth = attributes.getNamedItem("month").getNodeValue();
          String stryear = attributes.getNamedItem("year").getNodeValue();
          try {
             id = Integer.parseInt(strid);
             day = Integer.parseInt(strday);
             month = Integer.parseInt(strmonth);
             year = Integer.parseInt(stryear);
          catch(Exception e) {
          return new Datee(id, day, month, year);
    }Its of course the simplest example. If instance contains other object instances, just use its fromXML() method to create it.
    Hope this helped,
    Regards.

  • Export table access to oracle with Database ODBC()

    Hi,
    I export a table, access 2003, ent_tab whit  'DataBase ODBC()' to oracle.
    I open Oracle SQL Developer and i can show table ent_tab, but i go worksheet and execute:
    select * from ent_tab
    and display error: ORA-00942...
    Why??!!
    Regards
    Jomar

    Because ODBC created the table with "" which allowed lower case table name, but Oracle uses upper case table name by default. Suggest you recreate the table with upper-case name to avoid having to use "" in select statements.
    Edited by: rgeier on Oct 27, 2009 5:34 PM

  • Problem with Table Access Full

    Hi,
    Please help me how to resolve the problem of table access full, when i am executing query i facing a problem with these. all though i have create index on these is queru but execution time taking too late.
    Also please help if there any syntax to run faster execution.
    Thanks in Advance
    Sreenivas

    Hi,
    Please try to analyze your tables once with DBA's help.
    If the above does not work, try to use hints which will force use the index created on the column.
    Do not use any conversion functions on that column, in the where clause while checking any condition.
    If you are storing numbers in a character column, try to have the conditional value as character value in where clause instead of number type.
    Thanks and Regards,
    Sridhar.

  • Accessing Java webservice (XML over http) via WCF or HTTP adapter with content-type and authorization HTTP headers with POST method

    Hi Team,
    I need to access Java web service which is simple service and accepts and returns XML over HTTP. No credentials are needed to access the service. We need to pass following two HTTP headers (Content-Type and Authorization) along with XML request message:
    <GetStatus> message is being constructed in the orchestration and URI is constant to access.
    Which adapter shall I use to get the response back? I tried using WCF-WSHttp with Security Mode = Transport, and different options of client credential types but every time, error returned stating:
    System.Net.WebException:
    The HTTP request is unauthorized with client authentication scheme 'Basic'. The
    authentication header received from the server was 'Basic realm='.
    Authentication failed for principal Basic. Message payload is of type:
    String 
    In Fiddler, request looks line following
    POST <https://URL/GetServiceReopnse HTTP/1.1
    Content-Type: application/xml
    Authorization: Basic cmVmU3RhdHN2Y19kgeRfsdfs=
    Host: <Server name>
    <GetStatus XMLNS="http://server.com/.....">
    <OrgId>232323</OrgId>
    <HubId>3232342323</HubId>
    </GetStatus>
    MMK-007

    First, you should not use the HTTP Adapter because it's been deprecated and replaced by WCF.
    Start with the WCF-Custom Adapter and select the customBinding.
    You should start with the textMessageEncoder and httpTransport and go from there.

  • With query and table access

    I am using WITH query to reduce the scanning the teacher table thrice for the below query
    xe > with q as
      2  (select  teacher_id,subject_1,subject_2,subject_3 from teacher
      3  )
      4  select teacher_id,subject_1 from q
      5  union all
      6  select teacher_id,subject_2 from q
      7  union all
      8  select teacher_id,subject_3 from q
      9  /
    However, the execution plan shows that the table was scanned for twice.
    Execution Plan
    Plan hash value: 91048842
    | Id  | Operation          | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT   |         |     6 |   180 |     6  (67)| 00:00:01 |
    |   1 |  UNION-ALL         |         |       |       |            |          |
    |  2 |   TABLE ACCESS FULL| TEACHER |     2 |    60 |     2   (0)| 00:00:01 |
    |   3 |   TABLE ACCESS FULL| TEACHER |     2 |    60 |     2   (0)| 00:00:01 |
    |   4 |   TABLE ACCESS FULL| TEACHER |     2 |    60 |     2   (0)| 00:00:01 |
    Note
       - dynamic sampling used for this statement (level=2)
    Statistics
             10  recursive calls
              0  db block gets
             22  consistent gets
              0  physical reads
              0  redo size
            594  bytes sent via SQL*Net to client
            420  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              6  rows processed
    Why the table was scanned thrice?
    Thanks for your time..

    Hi,
    A SQL query describes the result set you want; it does not show how the system gets those results.  Don't expect how the query code looks to have much to do with what the system will do.  For example, the fact that the code only says "teacher" 1 time doesn't mean that the teacher table will only be scanned 1 time.
    Try
    SELECT    teacher_id, subject
    FROM      teacher
    UNPIVOT   ( subject
              FOR  subject_num IN ( subject_1  AS 1
                                  , subject_2  AS 2
                                  , subject_3  AS 3

  • Update Table with xml data

    Hi,
    I have to update Table by reading Xml data.
    I have written a procedure which is given below.
    PROCEDURE Sp_Set_File_Permission
    p_i_v_xml_data  IN VARCHAR2,
    Cur_Out_Col_Nm    OUT Typ_Icon_Out
    IS 
    XmlDataset   XMLTYPE;
      BEGIN
    /* This is my xml
    <xmldata>
    <newdataset>
    <fileid>99</fileid>
    <add>TRUE</add>
    <edit>TRUE</edit>
    <del>FALSE</del>
    <ex>FALSE</ex>
    <im>TRUE</im>
    </newdataset>
    <newdataset>
    <fileid>100</fileid>
    <add>FALSE</add>
    <edit>TRUE</edit>
    <del>FALSE</del>
    <ex>FALSE</ex>
    <im>TRUE</im>
    </newdataset>
    </xmldata>*/
    xmldataset := Xmltype.Createxml(p_i_v_Xml_Data);
    --error occured on this line while executing procedure
    FOR i IN (SELECT
                   Dt.Extract('//newdataset/fileid/text()').Getstringval() AS Fileid,
                   Dt.Extract('//newdataset/add/text()').Getstringval() AS Add,
                   Dt.Extract('//newdataset/edit/text()').Getstringval() AS Edit,
                   Dt.Extract('//newdataset/del/text()').Getstringval() AS d,
                   Dt.Extract('//newdataset/ex/text()').Getstringval() AS e,
                   Dt.Extract('//newdataset/im/text()').Getstringval() AS I
                    FROM TABLE(Xmlsequence( xmldataset.Extract('//xmldata/newdataset'))) Dt)
        LOOP
        UPDATE t_object_master
      SET add_view=i.Add
      ,edit_view=i.Edit,
      delete_view=i.D,
      export_view=i.E,
      import_view=i.I
      WHERE objct_id=i.Fileid;
      COMMIT;
      END LOOP;
      END Sp_Set_File_Permission;
    When I am trying to exceute this procedure with the above mentioned xml ,getting error ORA-00923 ,FROM keyword not found where expected.
    Please help me out in this.
    Thanks,

    Something like this (no commit inside loop, no row per row)
    create table t_object_master as
    with myxml as (
    select xmltype(
    '<xmldata>
    <newdataset>
    <fileid>99</fileid>
    <add>TRUE</add>
    <edit>TRUE</edit>
    <del>FALSE</del>
    <ex>FALSE</ex>
    <im>TRUE</im>
    </newdataset>
    <newdataset>
    <fileid>100</fileid>
    <add>FALSE</add>
    <edit>TRUE</edit>
    <del>FALSE</del>
    <ex>FALSE</ex>
    <im>TRUE</im>
    </newdataset>
    </xmldata>') doc from dual
    select
    fileid
    ,add_view
    from
    myxml
    ,xmltable('//newdataset'
    passing myxml.doc
    columns
    Fileid number      path 'fileid'
    ,add_view varchar2(5) path 'add'
    table created
    select
    from t_object_master
    FILEID
    ADD_VIEW
    99
    TRUE
    100
    FALSE
    update t_object_master t
    set add_view = (
    with myxml as (
    select xmltype(
    '<xmldata>
    <newdataset>
    <fileid>99</fileid>
    <add>FALSE</add>
    <edit>TRUE</edit>
    <del>FALSE</del>
    <ex>FALSE</ex>
    <im>TRUE</im>
    </newdataset>
    <newdataset>
    <fileid>100</fileid>
    <add>TRUE</add>
    <edit>TRUE</edit>
    <del>FALSE</del>
    <ex>FALSE</ex>
    <im>TRUE</im>
    </newdataset>
    </xmldata>') doc from dual
    , myextract as (
    select
    fileid
    ,add_view
    from
    myxml
    ,xmltable('//newdataset'
    passing myxml.doc
    columns
    Fileid number      path 'fileid'
    ,add_view varchar2(5) path 'add'
    select
    add_view
    from myextract
    where
    fileid = t.fileid
    select *
    from  t_object_master
    FILEID
    ADD_VIEW
    99
    FALSE
    100
    TRUE

  • Extracting the table access details for trans / program = RFC

    Dears,
    Is there a way to extract more table access details, when it is stated in trans. ST03, for the 'Table Access Statistics' that the table was used by 'Report / Transaction' : RFC   ?  i.e. is there a way to get the actual Report or Transaction that accessed the table ?
    Thanks.
    Reda

    I re-open the thread as it is not permitted to close it and re-open it in another forum.

  • Problem with XML SQL  JDBC adapter

    Hello All.
    I have quite strange problem with my PI.
    Whole scenario is SOAP -> JDBC, asynchronous. Everything works fine on DEV server. After transporting objects (using CTS) to QA env I'm getting this error:
    JDBC Message processing failed, due to Error processing request in sax parser:
    No 'action' attribute found in XML document
    (attribute "action" missing or wrong XML structure)
    But document seems to be correct. I've compared it to DEV server documents - they are identical. What could be wrong??
    Document looks like this:
    <ns2:BIPMessage xmlns:ns2="http://mynamespace.com/xi/sn"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <synchSlLok>
       <STATEMENTNAME>
         <SYNCH_SL_LOK ACTION="INSERT">
            <TABLE>SYNCH_SL_LOK</TABLE>
             <ACCESS>
                <ID_TRANS>22050</ID_TRANS>
                <ID_LOK>1234</ID_LOK>
                <ID_CBK>1000050911</ID_CBK>
                <NR_LOK>1234</NR_LOK>
                <OPIS_LOK>12312312312312</OPIS_LOK>
                <TYP>D</TYP>
                <OPERACJA>U</OPERACJA>
              </ACCESS>
          </SYNCH_SL_LOK>
        </STATEMENTNAME>
      </synchSlLok>
      </ns2:BIPMessage>
    TIA
    Best Regads
    Maciej

    Hi,
    i was also facing the same error few days back in a JDBC -RFC-JDBC Synchronous scenario. In that scenario, i was using 2 modules in JDBC sender module tab. It was working fine. later i change polling interval and then i started getting same error. it happened coz of sequence of Module got changed somehow.
    So please check in Receiver JDBC adapter and SOAP sender adapter CC  if anything is changed. If this scenario is working in DEV as it is then it should work after transport.
    Else have a look here
    Re: attribute "action" missing or wrong XML structure
    JDBC - No 'action' attribute found in XML document - error
    Regards
    Aashish Sinha
    Edited by: Aashish Sinha on Mar 15, 2011 10:42 AM

  • Send data to ECC table through RFC Call function from SAP B1 via  b1if

    Hi,
    I have created scenario in B1if which triggers from SAP B1, now I have to send this data in to ECC table, so I have created scenario for that with inbound SAP B1, outbound void and in process RFC Call atom is there but I am not getting data in receiver and also how to write xml to send data in RFC function. Function for RFC has configured from ECC end and have access of that function.
    So please help me to send data to ECC table through RFC Call function from SAP B1 (9.0) via b1if
    Thanks

    Solved by my own.

Maybe you are looking for

  • How do I restore iTunes media to a new folder?

    My iTunes folder was located under C:\Users\UserAccount\Music\iTunes when I backed it up.  Now that I'm restoring it on a fresh Windows 8 installation I have a different user account folder: C:\Users\UserAccount_000\Music\iTunes.  Not sure why the fo

  • [SOLVED] Too slow on 64-bit system

    As I bought a 4g mem (a tot of 6g) I upgrade my arch to 64-bit, and it goes very very slow. It takes several minutes (after download completed) to install some small software ( like vim ). And top shows pacman used 97% cpu ( i5 M430 2 core 4 threads

  • Charts - Selecting Data Source

    Hi, Can anyone help, I am combining a pivot table with a chart. I dont wish for all the items to be displayed from the pivot table on the chart. Is there a way to restrict the source data(columns) to appear on the chart? There is a page drop down opt

  • TS3297 I can't purchase in a game which's named "Tower Of Saviors"

    I used to purchase in this game, but recently I can't, everytime when I buy something, there's a message which shows "Your Purchase Could Not Be Completed For assistance, contact iTunes Support at www.apple.com/support/itunes/ww/." But I can buy Apps

  • Unexpected error I-200?

    Getting this error upon trying to login.  Yesterday it worked fine, this morning it forgot my credentials.  I get this unexpected error after entering my credentials.  And my password is not the problem, I checked that already... Help?