Syntax for retrieving data from a task container

Hello Workflow Fans !
I have a Task with the following configuration:
BASIC DATA - Object Method :
Object Category: BOR Object Type
Object Type: ZBusObj1
Method: 022_Data_Upd
CONTAINER :
I have added a second BOR Object in the container called ZBusObj2
In conclusion, when the task is executed within my WF run, the method ZBusObj1.022_Data_Upd is executed and both business objects (ZBusObj1 and ZBusObj2) should be available in my Task container.
My question:
How, in my method 022_Data_Upd, can I retreive (get) the value of the ZBusObj2 key field (Customer No)?
Here is what I tried... obviously... without any success:
BEGIN_METHOD O22_Data_Upd CHANGING CONTAINER.
  break-point.
* Variable declarations
  DATA: lva_Risk_Cat    TYPE ZTCOMP_PDV-CTLPC.
  DATA: lva_Montant_V TYPE ZTCOMP_PDV-MONTANT_V.
  DATA: lva_Custno       TYPE KNA1-KUNNR.
* Data retreival from the task container 
  SWC_GET_PROPERTY self 'RiskCategory' lva_Risk_Cat.
  SWC_GET_PROPERTY self 'MONTANT_V'    lva_Montant_V.
  SWC_GET_ELEMENT container 'ZBUSOBJ2.Customerno' lva_Custno.
The last line (SWC_GET_ELEMENT...) is the one I'm strugling with...
Any help will be appreciated.
Thanks in advance.
José

So, my understading is that you need an instance of the second object OBJ2 inside the method of the first object OBJ1.
First, if you only need the customer number, I recommend that you only pass the number itself. Here is what you need to do:
1- Add an "Import" parameter to method 022_DATA_UPD and call it anything (I'll use PARAM): the parameter can be either an object or a field. You specify the type when you define the parameter. Parameters are added by "single" clicking the method name in SWO1 so that the pointer is on the method name then clicking the "Parameters" button.
2- Inside the method, add the following code
Case 1: parameter is an object
DATA: lvo_custobj  TYPE swc_object.
DATA: lva_custno TYPE KNA1-KUNNR.
swc_get_element container 'PARAM' lvo_custobj.
swc_get_property lvo_custobj '<CUSTOMER_NUMBER_PROPERTY_NAME>' customer_number.
Case 2: parameter is just a field
DATA: lva_custno TYPE KNA1-KUNNR.
swc_get_element container 'PARAM' lva_custno.
As you can see, adding only the customer number is easier to read. The method should work when you test it in SWO1 before you proceed into the next steps.
3- Make sure the standard task calling the method is updated with the new parameter. Basically open the task in change mode and type an extra space in the description field then hit Enter. The system will ask you if you want to update the list of parameters.
4- Update the binding of the task in the workflow template to pass either the customer object or customer number.

Similar Messages

  • Problem while executing app for retrieving data from EXCEL Sheet

    hi
    i have this exception while running my application of retrieving data from a Excel sheet through java application , i had also set theclasspath for jxl. jar file but where its going wrong i dont know heres my code
    import java.util.Date;
    import java.io.*;
    import jxl.*;
    import javax.swing.*;
    import java.awt.*;
    import jxl.read.biff.BiffException;
    public class testExcel2
    public static void main(String args[]) throws jxl.read.biff.BiffException
    try
    File f=new File("move.xls");
    jxl.Workbook workbook=null;
    jxl.Sheet sheet=null;
    workbook=jxl.Workbook.getWorkbook(f);
    sheet=workbook.getSheet(0);
    Cell a1 = sheet.getCell(0,0);
    String stringa1 = a1.getContents();
    System.out.println("stringshaddddddddjk "+stringa1);
    workbook.close();
    }catch(IOException ex){
    System.out.println("Error" + ex);
    catch (BiffException ex2){
    System.out.println("Error" + ex2);
    catch(IndexOutOfBoundsException ex1){
    System.out.println("Error" + ex1);
    compilation is sucees but while running its giving an EXCeption
    MicrosoftXP[Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    G:\mysfw\pgms>java testexcel2
    Exception in thread "main" java.lang.NoClassDefFoundError: testexcel2 (wrong nam
    e: testExcel2)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)

    Java is case sensitive. testexcel2 is different from testExcel2.
    G:\mysfw\pgms>java testexcel2
    Exception in thread "main" java.lang.NoClassDefFoundError: testexcel2 (wrong name: testExcel2)

  • Unable to retrieve data from a Associative Array (?)

    Hi!!!! :)))
    i've a problem!!!
    this is the oracle's code:
    Package GEST_REPORT
    IS
    type rec_url is record(
    TIBCDCON TBISD_30.TIBCDCON%TYPE,
    etc...
    SETDEL VARCHAR2(10)
    type tab2 is table of rec_url index by binary_integer;
    FUNCTION MAIN_SELECT
    ( CPLAS IN VARCHAR2)
    RETURN tab2;
    END;
    ...and a java code:
    String storedProcedure = "{? = call GEST_REPORT.MAIN_SELECT(?)}";
    String result = "";
    try{
    if (connection != null) {
    CallableStatement callableStatement = null;
    callableStatement = preprepareCall(storedProcedure);
    // preparo parametri di input.
    callableStatement.setString(2, "OM");
    callableStatement.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.ARRAY, "tab2");
    and so on...
    In the last line of code throws an 'invalid name pattern'
    or
    "ORA-21700: object does not exist or is marked for delete"
    if registerOutParameter(1, oracle.jdbc.driver.OracleTypes.ARRAY, "ISDSV.GEST_REPORT").
    Where TAB2: IS THE MY ARRAY (OR NESTED TABLE?);
    GEST_REPORT: THE NAME OF PACKAGE;
    ISDSV: THE USER.
    do u have suggestion for retrieve data from TAB2 in JAVA??
    THKS!!!!!!

    Hi
    Use fully qualified type name: schema_name.type_name. For your case that would be "ISDSV.tab2"
    Cherrs :))

  • Basic TableUI element to Retrieve Data from DB in WEbDynPro For Java

    Hi Experts,
    I am new to WebDynPro for java.Can any body please help me out from this issue.
    I am trying to display records from DataBase by Using Table UI element.
    DBTable Contains 10 rows.
    I have created a Node and Attributes(for every column) .
    I am using JDBC code to retrieve data from database and assigning to Attributes.
    But in Table UIElement its displaying only last record from database as first row in UIElement.
    Its over writing previous rows.
    Can any body please help me the correct procedure to retrieve data from DataBase.
    Thanks and Regards,
    Shashikiran.B

    Hi,
    Iterate through the result set object
    populate the context node
    Ex:Replace the context nodeName with that of yours.
    ResultSet resultSet = stmt.getResultSet();
           //Iterate through the resultset
           while(resultSet.next())
                //Create element of the context node
               IWDNodeElement nodeElement = wdContext.nodeOrders().createElement();
               //assign value from the database to the context attribute
               //Replace attributeName with your attribute name
               //Replace value with resultSet.getShort("<ColumnName>")
               nodeElement.setAttributeValue(attributeName, value);
               //Add the element to your node
               wdContext.nodeOrders().addElement(nodeElement);
    Regards
    Ayyapparaj

  • Error :Unable to retrieve data from iHTML servlet for Request2 request

    I open bqyfile to use HTML in workspace.
    When I export report to excel in IR report.
    Then I press "back" button I get error"Unable to retrieve data from iHTML servlet for Request2 request "
    And I can not open any bqyfiles in workspace.
    Anybody gat the same question? Thanks~

    Hi,
    This link will be helpful, the changes is made in the TCP/IP parameter in the registry editor of Windwos machine. I tried the 32 bit setting for my 64 bit machine (DWORD..) and it worked fine for me..
    http://timtows-hyperion-blog.blogspot.com/2007/12/essbase-api-error-fix-geeky.html
    Hope this helps..

  • Process and Code for writing an RFC to retrieve data from IT0006 and IT0655

    Hi,
    Can some body tell me the process and code for creating an RFC to retrieve data from IT0006 and IT0655.
    Its very urgent........
    Waiting for an early reply.....
    Many thanks

    Hello Krishna,
          The process for creating an entry in infotype is as follows.
    1.First you get the personal number lock for upating.You can use function 
        module ' BAPI_EMPLOYEE_ENQUEUE ' or ENQUEUE_EMPREL.
    2.Pass the records to function module ' HR_INFOTYPE_OPERATION' with
       OPERATION - 'INS'.
    3.Unlock the Employee by using function moule 'BAPI_EMPLOYEET_DEQUEUE'.
    Regards,
    Manoj.

  • Process and Code for writing an RFC to retrieve data from IT

    Hi,
    Can some body tell me the process and code for creating an RFC to retrieve data from IT0006 and IT0655.
    Its very urgent........
    Waiting for an early reply.....
    Many thanks

    Inside your RFC you can directly use select on PA0006 & PA0655
    or use FM: HR_READ_INFOTYPE
    if you wan for multiple pernrs then cal the FM inside a loop or you can use the select query for multiple pernrs
    reward points if helpful

  • Retrieving data from XML containing namespaces?

    Hi,
    I am using Yahoo Local Search Service which returns the XML
    response. I want to retrieve data from the XML that I received. I
    stuck at this point and unable to retrieve the response in to
    datagrid. Does the namespaces in XML matter while retrieving data?
    The response XML is as follows
    <ResultSet xsi:schemaLocation="urn:yahoo:lcl
    http://api.local.yahoo.com/LocalSearchService/V3/LocalSearchResponse.xsd"
    totalResultsAvailable="224" totalResultsReturned="1"
    firstResultPosition="1" xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance"
    xmlns="urn:yahoo:lcl">
    <ResultSetMapUrl>
    http://maps.yahoo.com/broadband/?q1=San+Jose%2C+CA+95112&amp;tt=starbucks&amp;tp=1</Result SetMapUrl>
    <Result id="21590724">
    <Title>Starbucks</Title>
    <Address>145 W Santa Clara St</Address>
    <City>San Jose</City>
    <State>CA</State>
    <Phone>(408) 288-8803</Phone>
    <Latitude>37.335236</Latitude>
    <Longitude>-121.892765</Longitude>
    <Rating>
    <AverageRating>4</AverageRating>
    <TotalRatings>3</TotalRatings>
    <TotalReviews>2</TotalReviews>
    <LastReviewDate>1198029377</LastReviewDate>
    <LastReviewIntro>My previous review had incorrect
    data. That was not true, I am sorry, I didn't know. As far as food
    and drink goes, Starbucks is pretty good.</LastReviewIntro>
    </Rating>
    <Distance>0.96</Distance>
    <Url>
    http://local.yahoo.com/info-21590724-starbucks-san-jose</Url>
    <ClickUrl>
    http://local.yahoo.com/info-21590724-starbucks-san-jose</ClickUrl>
    <MapUrl>
    http://maps.yahoo.com/maps_result?q1=145+W+Santa+Clara+St+San+Jose+CA&amp;gid1=21590724</M apUrl>
    <BusinessUrl>
    http://www.starbucks.com/</BusinessUrl>
    <BusinessClickUrl>
    http://www.starbucks.com/</BusinessClickUrl>
    <Categories>
    <Category id="96926219">Cafes</Category>
    <Category id="96926236">Restaurants</Category>
    <Category id="96926169">Coffee Houses</Category>
    </Categories>
    </Result>
    </ResultSet>
    The code that I am writing to get Title and Address is as
    follows.
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="vertical"
    backgroundAlpha="0" backgroundColor="#FFFFFF">
    <mx:HTTPService
    id="weatherService"
    url="
    http://local.yahooapis.com/LocalSearchService/V3/localSearch"
    resultFormat="e4x"
    result="resultHandler(event);"/>
    <mx:Script>
    <![CDATA[
    import mx.collections.ArrayCollection;
    import mx.rpc.events.ResultEvent;
    [Bindable]
    private var myResult:XML ;
    private var temp:XMLNode;
    private var list:ArrayCollection;
    public function requestWeather():void {
    weatherService.cancel();
    var params:Object = new Object();
    params.appid = "YahooDemo";
    params.query = "starbucks";
    params.zip = "95112";
    params.results = "1"
    weatherService.send(params);
    public function resultHandler(event:ResultEvent):void {
    myResult = XML( event.result);
    temp = myResult.Result;
    list = ArrayCollection(event.result);
    ]]>
    </mx:Script>
    <mx:Form width="400">
    <mx:FormItem label="Get Local Data">
    <mx:Button label="Get Data"
    click="requestWeather();"/>
    </mx:FormItem>
    <mx:FormItem label="Address">
    <mx:Text text="{myResult.Result.Address}"/>
    </mx:FormItem>
    <mx:FormItem label="Title">
    <mx:Text text="{myResult.Result.Title}"/>
    </mx:FormItem>
    </mx:Form>
    <mx:DataGrid
    dataProvider="{myResult.Result}"
    x="80" y="141" width="262" height="92"
    id="shippingOptionsList" editable="false" enabled="true">
    <mx:columns>
    <mx:DataGridColumn headerText="Title" dataField="Title"
    />
    <mx:DataGridColumn headerText="Address"
    dataField="Address" />
    </mx:columns>
    </mx:DataGrid>
    <mx:Label text="Response as it is"/>
    <mx:TextArea id="resultFld" text="{myResult}" width="400"
    height="152"/>
    </mx:Application>
    Can somebody help me to find where I am going wrong?
    Thank you
    -Pranay

    Hi Pranay,
    It looks like your problem is indeed to do with the XML
    namespace being used.
    Try adding this line after the import statements:
    namespace yahoo = "urn:yahoo:lcl";
    (This is the namespace URI defined in the returned XML)
    The result handler should then look like this:
    public function resultHandler(event:ResultEvent):void {
    use namespace yahoo;
    myResult = XML( event.result);
    temp = myResult.Result;
    list = ArrayCollection(event.result);

  • Retrieve data from a synonym in oracle database through db connect

    Hi Everyone,
    I have created certain synonym for some tables in oracle. I want to retrieve data from it through db connect but where through source system and then selecting database tables, only tables and views are available.
    Synonyms are not available to create data sources and retrieve the data from it. Why is it so. Is this a limitation of db connect.
    Can anyone please let me know about it.
    Thanks,
    Joshua.

    Hi,
    You want to import data from an external Oracle database into your BW 3.X. To do this, you can connect the external database to the BW 3.X release as a source system using the external database connect. BW 3.X here represents BW 3.0, BW 3.1 and BW 3.5 because in other (DB relevant) parts, all 3 versions are based on the same source code.
    General information
    The above function allows you to load data from an external Oracle database (not a BW database) into your BW 3.0 system.
    There may also be constellations which cannot be used directly through the DB Connect access. However, it should be possible to find an adequate, customer-specific solution for most of these scenarios.
    In such situations, the resulting work falls into the area of Consulting and cannot be handled via Support.
    Successful implementation of a connection requires corresponding expertise and experience in the use of the source database in the areas:
                    - Tools
                    - SQL syntax
                    - DB-specific functions
    Corresponding knowledge of the source application is also required to ensure that semantically relevant data arrives in the BW system.
    Procedure
    You should execute the following steps to connect the source system (Q) to the BW system (BW):
    Installing the client software on an BW application server
                         Of course, you only need to install the client software if you are using BW with a non-Oracle database.
                         Use the Oracle setup program on the database CD (runInstaller on Unix) to start the OracleInstaller. Follow the program instructions and the DB installation instructions to install the Oracle Client software on BW.
    Testing connection setup from BW to Q
                         After you install the client software on BW, try to set up a connection from BW to the server on Q. You may need to adjust the tnsnames.ora or sqlnet.ora files for this, to introduce the Oracle systems (to which contact should be made) to BW. You can test the connection by executing the command "tnsping QDB" on BW to check whether the client has established contact to the QDB database on the Q system.
    Creating a separate U user in Q
                         We recommend that you create a separate U user in Q for connection to BW. This means that authorization and administration questions can be solved centrally.
    Displaying data sources in Q for the U user
                         To provide U data for users other than U, you can create views on other user tables as user U:
                         CREATE OR REPLACE VIEW viewname AS
                           SELECT * FROM QDB.tablename
                         You may have to grant SELECT privileges to user U in the QDB schema:
                            GRANT select ON QDB.tablename TO U
                         Of course, you can also restrict or reformat data in the view arrangement (for example, change from internal date format into the SAP date format). JOIN operations using several tables are also available.
                         !!! Synonyms do not yet work!!!
                         Synonyms that you can create as described below are another option for providing a complete table for the user U:
                           CREATE SYNONYM synoname FOR QDB.tablename
                         !!! Synonyms do not (yet) work!!!
                         After you have displayed the require data for user U, you can simply use
                           SELECT * FROM <view or table>
                         on the Q system to check which data is returned.
                         You can now open a link to Q as user U in the BW system with SQLPLUS and check, using the same SELECT, whether this data is also seen in the Oracle client. If this is not the case, there is probably a connection problem.
    Creating a connection from BW to Q in BW
    Including data sources of user U user in Q in BW.
    Solution
    Supported BW, Basis and BW 3.0B database versions, Basis 6.20 Support Package 2 (or higher)
          Oracle 8.1 (or higher, see below)
    Possible problems
    - Synonyms do not (yet) work!
    Up to now, only tables and views have been used as data sources for the DB Connect from the R3 Basis. As soon as synonyms are also used in the Basis, you will be able to convert created views (or even replicated tables) to synonyms as a workaround.
    With Basis 6.40 at the earliest, therefore as of BW 3.5, you will also be able to use synonyms. Until then, the following will help:
      CREATE VIEW <view_on_synonym> AS SELECT * FROM <synonym>
    - The source DB must have at least the release version of the BW DB.
    Oracle only ensures the support of client-server links if the version of the client is not higher than that of the server. So if BW has Oracle version 8.1 and, as in the case of Dbconnect, is run as a client against the server of the source database, the source database must have at least release Oracle 8.1 or higher.
    Of course, you have the option to install the Oracle client software of a lower version and then use this for the DB connect. This is also the procedure used to work with a DB connect on external databases of other vendors.
    Furthermore, the implementation of the DBconnect function in BW uses SAP Basis functions. Specifications of Oracle 8.1 database catalogs are used here. The source database must therefore have at least Version 8.1.
    - Oracle Client Software Version
    If you want to connect from an Oracle BW DB to an Oracle source DB, for the DB connect you naturally use the client software that you already installed on each application server.
    If you want to connect from a non-Oracle BW DB to an Oracle source DB, check item 3 of note 521230 to see which Oracle client software version is released with your BW R3 kernel and use this version.
    - Date and time fields in Oracle and their conversion into SAP-compatible column formats
    Example with a DATE field:
    Since a SAP table does not have a DATE field (date values are NUMC(8) and time specifications are NUMC(6)), we will use the Oracle DBA_TABLES system table as an example.
        SQL> desc dba_tables;
    The Oracle DBA_TABLES system table has a LAST_ANALYZED field. This is a DATE type field and is recognized as a date field of 7 characters by DBA_CONNECT. However, the import does not work because the DATE is a 7-byte conglomerate of "...century, year, month, date, hour, minute and second." (extract from the Oracle documentation).
    To make this DATE field legible for DB connect, you must use the TO_CHAR function in a VIEW. This should display the following examples:
    SQL> select LAST_ANALYZED from dba_tables
          where table_name like 'RS%' and rownum < 10 ;
    The formatting used here is the default used implicitly by SQLPLUS.
    SQL> select  to_char(LAST_ANALYZED,'YYYYMMDD') as dat from dba_tables where table_name like 'RS%' and rownum < 10 ;
    The result now has the SAP compatible format YYYYMMDD and should be loaded correctly by the DB connect as a date.
    SQL> select  to_char(LAST_ANALYZED,'HH24MISS') as tim from dba_tables where table_name like 'RS%' and rownum < 10 ;
    The result now has the SAP compatible format HHMMSS and should be loaded correctly by the DB connect as a time.
    You can use the following example for more detailed experiments:
    SQL> select  to_char(
           TO_DATE('03-FEB-2001 04:05:06','DD-MON-YYYY HH24:MI:SS'),
           'YY-MM-DD HH24-MI-SS') as datim from dual;
    with the result:
      DATIM
      01-02-03 04-05-06
    When you create a VIEW and use the TO_CHAR function (or other functions), you should easily be able to avoid problems with the interpretation of date/time specifications (and other reformatting).
    Details about the functions and the formats are contained in the Oracle documentation.
    - Special characters
    A words that contain special characters can only be imported correctly if the code pages in BW and in the source system are identical. If the code pages are not the same, DB Connect can be used if the characters to be imported appear under the first 127 characters of the character set.
    The use of multibyte code pages in the source system for saving data using character sets with more than 256 characters (Kanji, Katakana, Hiragana, Korean, Chinese, Tagalog, Khmer, Arabic, Cherokee, and so on) can cause the characters to become corrupt.
    For questions concerning the code pages, also refer to the FAQ note 606359 and question/answer 19 that appears there.

  • NEED HELP IN USING ALL_TAB_COLUMNS FOR RETRIEVING DATA???

    A table say T1 contains column like Emp_id,Code.
    and there are several Code like C1,C2,C3.
    Another table say T2 contains column like
    Emp_id,C1,C2,C3.Here the value of the code field of the
    T1 table is now column of the T2 table.And the amount of
    each code of T1 table is equal to column value of T2
    table.
    Now I want to retrieve data from T2 table like
    C1 200
    C2 300
    C3 140
    I cannot retrieve data like this using all_tab_columns.
    I can only getting the column_name but cannot its value.
    PLEASE HELP ME...
    Edited by: user630863 on Apr 8, 2009 11:37 AM

    emp_id | code
    001 | C1
    001 | C2
    005 | C3
    005 | C1
    002 | C2
    002 | C3
    Table T1
    emp_id | C1 | C2 | C3
    001 | 10 | 15 |
    002 | | 7 | 12
    005 | 45 | | 94
    Table T2
    I have written a query
    select column_name from all_tab_columns a,T1 b
    where a.column_name=b.code
    and table_name='T2'
    OUTPUT:
    C1
    C2
    C3
    But I Need data for each employee like
    001 C1 10
    001 C2 15
    002 C2 7
    002 C3 12
    005 C1 45
    005 C3 94
    Edited by: user630863 on Apr 8, 2009 1:28 PM

  • How to retrieve data from a field of CLOB datatype?

    How can I retrieve data from a field of CLOB datatype in Oracle
    8 being called from an ASP or VB application? The recordset
    object in ASP or VB doesn't support the CLOB datatype.
    Thank you in advance for your help.

    How can I retrieve data from a field of CLOB datatype in Oracle
    8 being called from an ASP or VB application? The recordset
    object in ASP or VB doesn't support the CLOB datatype.
    Thank you in advance for your help. Hello.. were you able to solve your problem? I'm faced with pretty much the same task.. I have a VBA application that needs to pull various pieces of data(CLOBs, BLOBs, etc..) from an Oracle8i db.

  • Problem retrieving data from a JTable.

    Hi All,
    I've just searched to 45th page of this forum but I heven't found a topic containing infos that can help me.
    Well, my problem is: I have to retrieve data from a JTable. I use getValue() method but it seems to work well on all cells of a row but the last cell. I use the TAB to move focus on the row and when it is on the last cell, using TAB, the focus jumps on the next row & 1st column.
    Using TAB moving on system, I can retrieve all data but data on the last cell data.
    I add another info hoping someone has a solution for my problem: If the focus goes back on the last cell of a row just edited, in this case the data retrieving work as well.
    Thank you for your attention!
    Bye.

    I don't understand your question. I don't understand what using Tab and getValueAt(...) have to do with one another. If you want data from a cell then just use getValueAt(...).
    If you want to know what cell currently has focus you use
    getSelectedRow()
    getSelectedColumn()

  • Retrieving data from 3 tables

    Hi,
    I am working on a report where I have to retrieve data from 3 tables(marc,mara,makt).For this I have used 3 select statements for retriving data from 3 tables.There r some fields which r not present in marc table where as present in mara and makt tables.So added thos fields in marc internal table t_marc.I have looped at marc table and used the read statement to read the data from mara table using the key field matnr from both the tables.This read statement is giving the sy-subrc value as 4.Could u pls tell me why this is happening?I am sending my code.
    SELECT matnr
           werks
           pstat
           lvorm
    FROM  marc
    INTO  TABLE t_marc
    PACKAGE SIZE 500
    WHERE matnr IN s_matnr
    AND   werks IN s_werks.
    IF NOT t_marc[] IS INITIAL.
    SELECT matnr
            ersda
            laeda
            meins
       FROM mara
       INTO TABLE t_mara
       FOR ALL ENTRIES IN t_marc
       WHERE matnr = t_marc-matnr
       AND   ersda IN s_ersda
       AND   laeda IN s_laeda.
      IF NOT t_mara[] IS INITIAL.
         SELECT matnr
                maktx
         FROM  makt
         INTO  TABLE t_makt
         FOR ALL ENTRIES IN t_mara
         WHERE matnr = t_mara-matnr.
       LOOP AT t_marc INTO wa_marc.
         READ TABLE t_mara INTO wa_mara WITH KEY matnr = t_marc-matnr.
         IF sy-subrc IS INITIAL.
            wa_marc-meins = wa_mara-meins.
            MODIFY t_marc.
            APPEND wa_marc TO t_output.
          ENDIF.
          READ TABLE t_makt INTO wa_makt WITH KEY matnr = t_marc-matnr.
          IF sy-subrc IS INITIAL.
            wa_marc-maktx = wa_makt-maktx.
            MODIFY t_marc.
            APPEND wa_marc TO t_output.
          ENDIF.
        ENDLOOP.

    hi hema,
    Dont use three select stements for this scenario.
    Just use innerjoin and join all the three tables.
    Three tables should contain  MATNR (material number).
    By using that retrieve data from 3 tables by using a single select statement.
    Eg:
    SELECT DISTINCT a~matnr    "MATERIAL NUMBER
             a~ersda    "CREATED ON
             a~mtart    "MATERIAL TYPE
             a~meins    "BASE UNIT OF MEASURE
             a~bstme    "ORDER UNIT
             b~maktx    "MATERIAL DESCRIPTION
             c~bwkey    "VALUATION AREA
             c~lbkum    "TOTAL VALUED STOCK
             c~salk3    "VALUE OF TOTAL VALUED STOCK
             c~stprs    "STANDARD PRICE
             c~peinh    "PRICE UNIT
             c~bklas    "VALUATION CLASS
             INTO TABLE it_matdetails
             FROM mara AS a INNER JOIN makt AS b ON a~matnr = b~matnr
                            INNER JOIN mbew AS c ON a~matnr = c~matnr
                            INNER JOIN marc AS d ON a~matnr = d~matnr
                            INNER JOIN mard AS e ON a~matnr = e~matnr
             WHERE b~spras = sy-langu AND a~matnr IN matnr AND d~werks IN werks AND e~lgort IN lgort.
    pls reward if helpful.

  • How to retrieve data from database to the structure(complicated)

    Hello everyone:
           I want to retrieve data from database to the structure. but the structure defined like this below:
    TOLERANZOB LIKE QAMV-TOLERANZOB
    TOLERANZOB1 LIKE QAMV-TOLERANZOB
    so how can I retrieve the data from the database ? make sure that the two fields contain data both.
    Thanks in advance .
    Regards
    Nick

    Hi Nick,
    To retreive data for TOLERANZOB from QAMV,
    If you know the key fields then use
    SELECT SINGLE TOLERANZOB FROM QAMV INTO TOLERANZOB WHERE keyfields.
    else, you can use
    SELECT TOLERANZOB FROM QAMV UPTO ONE ROWS INTO TOLERANZOB WHERE....
    Once you retreive the data using the select query, you can check if it is initial and if not move the data from TOLERANZOB to TOLERANZOB1.
    <b>Reward points for helpful answers.</b>
    Best Regards,
    Ram.

  • Failed to retrieve data from the database.DB Vendor Code 156

    Hi,
    We recently migrated our scheduled Crystal Reports from BO XI R2 platform to BO XI 3.1, and are having issues with select reports that pull from the same SQL database.  The tables and fields exist in the database - and I ran the SQL in a different tool and the syntax is correct.  When I try to run an on-demand or schedule one of these reports in 3.1 Infoview I receive the following error:
    Failed to retrieve data from the database. Details: [Database Vendor Code: 156 ]
    Running:
    CR 2008 SP2
    BO XI 3.1 SP2 (FP 2.7)
    Please advise!  Thanks!

    Hi LuAnn,
    Not really clear what he said but I believe this is correct. The BOE servers are typically running under the local System Account. So when it passed the report job from the BOE Server it is the Local System account that the database is getting. We only do single hop for security. Which means if you are logged into InfoView under your local domain account and try to run a report BOE will not, unless specified in the custom database connection options in the CMC, pass your credentials to the DB but will pass the local system account credentials which is likely why these reports are failing.
    As A TEST only Ask your Administrator to set up a user account in MS SQL Server that has rights to run all reports. Or when you create the report check on the option to use Trusted Authentication. Then when the reports are published to BOE your log on credentials should get passed to the DB server through BOE.
    You'll have to more testing to find a Use account that you can run BOE Servers under and still maintain DB security and report level security that works for you. I also suggest you post your security questions to the BOE Administrator forum to get help configuring all of this and what others are doing.
    Thank you
    Don

Maybe you are looking for

  • Query using where clause

    I am not able to run a SQL query using where clause. the query is as follows: I extract the text input by the user in a text field say 'a' and store it in string 'y'. String y= a.getText(); //running the query Select A from B where B.x=y; how do we r

  • Global db authentication on Standard Edition DB

    Hi everybody, is there a way to configure global db authentication (authentication of a db user against an ldap server, such as AD), without Oracle Advanced Security (we have a Standard Ed. DB)? Thanks in advance

  • NAT TYPE: TYPE 3 ERROR

    I have a WRT160 RM version 2.  I cannot play games on my playstation 3 because I get a Nat Type: Type 3 message.  I thought it was my playstation 3, however tech support at Sony told me that it was a router problem.  He states that the router is rest

  • OSB 11g - Apache Webserver - WSDL location redirecting to OSB server

    Hi, In our case we have a OSB server running on a dev machine and a Apache server is installed which receives the requests from the vendor and forwards the requests to the OSB. I have a Proxy Service on the OSB which is WSDL based and this is accesse

  • Notification center tweet function 140 character bug

    Hi, I have noticed a minor issue with the Notification Center 'tweet' function. It doesn't seem possible to send a 140-character message. If you use all 140 characters, and try to send the message, it reports a Twitter connection failure. I have only