How to access Revenue records

<b>[This thread was migrated from the On Demand Developer Forum in the old Siebel Community] </b>
algocode
New Contributor
I try connecting to Revenue records with web services using the same user
ID with which I'm able to create Service Revenue Details information from
the CRM OnDeman user interface but instead, I get an error message saying
"Access denied.(SBL-DAT-00553)";(SBL-EAI-04376).
Why can't the web service read the revenue records that I am able to
create or update manually from the CRM OnDemand portal, with the same ID?
Product: General: IT Organizations and Processes
10-27-2006 11:25 AM
Re: how to access Revenue records
algocode
New Contributor
Inside a class extending System.Web.UI.Page, I use the
secure.crmondemand.com/OnDemand/user/account.wsdl?WSDLOBJ=account web
service to
1. Create a list of accounts and specify the fields returned by the
result set;
2. Create an AccountWS_AccountQueryPage_Input object;
3. Retrieve an AccountWS_AccountQueryPage_Output object;
These are the three methods involved:
protected void Page_Load(object sender, System.EventArgs e)
Account1[] objListOfAccount;
//Initialize the ListOfAccount Arrays and Sub-Arrays
objListOfAccount = createListOfAccount("";
//Specify the Account Search Criteria
objListOfAccount[0].AccountName = "LIKE '" + data["Account"] + "*'";
//Tell OnDemand What Account fileds should be returned in the result set
objListOfAccount[0].AccountId = "";
objListOfAccount[0].Location = "";
//Tell OnDemand What fields to return on the Opportunity Child
objListOfAccount[0].ListOfOpportunity[0].OpportunityId = "";
objListOfAccount[0].ListOfOpportunity[0].OpportunityName = "";
objListOfAccount[0].ListOfOpportunity[0].CurrencyCode = "";
//Tell OnDemand What fields to return on the Opportunity Service Child
objListOfAccount[0].ListOfRevenue[0].RevenueId = "";
objListOfAccount[0].ListOfRevenue[0].OpportunityName = "";
objListOfAccount[0].ListOfRevenue[0].NumberOfPeriods = "";
objListOfAccount[0].ListOfRevenue[0].Frequency = "";
objListOfAccount[0].ListOfRevenue[0].StartCloseDate = "";
//Call the Account Query
AccountWS_AccountQueryPage_Input objAccQryParam =
new
AccountWS_AccountQueryPage_Input();
objAccQryParam.ListOfAccount = objListOfAccount;
objAccQryParam.PageSize = "90";
AccountWS_AccountQueryPage_Output objQryOutput =
RetrieveQueryPageOutput(objAccQryParam, session);
public Account1[] createListOfAccount(string pstrAccountDimensions)
int intAccountCount = 1;
int intOpportunityCount = 20;
int intRevenueCount = 10;
try
Account1[] rtnListOfAccount = new Account1[intAccountCount];
for (int intAccIdx = 0; intAccIdx < intAccountCount; intAccIdx++)
rtnListOfAccount[intAccIdx] = new Account1();
rtnListOfAccount[intAccIdx].ListOfOpportunity =
new
Opportunity[intOpportunityCount];
rtnListOfAccount[intAccIdx].ListOfRevenue =
new Revenue[intRevenueCount];
for (int intOppIdx = 0; intOppIdx < intOpportunityCount;
intOppIdx++)
rtnListOfAccount[intAccIdx].ListOfOpportunity[intOppIdx] =
new Opportunity();
for (int intRevIdx = 0; intRevIdx < intRevenueCount; intRevIdx++)
rtnListOfAccount[intAccIdx].ListOfRevenue[intRevIdx] =
new Revenue();
return rtnListOfAccount;
catch (Exception objExcep)
throw objExcep;
public AccountWS_AccountQueryPage_Output RetrieveQueryPageOutput(
AccountWS_AccountQueryPage_Input qpinput,
Session session)
AccountWS_AccountQueryPage_Output qpoutput = null;
// instantiate the proxy service
Account accountProxy = new Account();
try
// set up the target URL & set the session cookie
accountProxy.Url = session.GetURL();
accountProxy.CookieContainer = session.GetCookieContainer();
qpoutput = accountProxy.AccountQueryPage(qpinput);
catch (Exception e)
Response.Write("<br/><br/>" + e.InnerException);
Response.Write("<br/><br/>" + e.Message);
Response.Write("<br/><br/>" + e.StackTrace);
return qpoutput;
10-27-2006 02:31 PM
Re: how to access Revenue records
algocode
New Contributor
I found another way to access Revenue records. Instead of accessing the
ListOfRevenue field of the Account web service, I access the ListOfProduct
field of the Opportunity web service. I also instantiate Opportunity2
objects so that the code to get a list of opportunities and products
(containing revenue fields) becomes
Opportunity2[] rtnListOfOpportunity = new
Opportunity2[intOpportunityCount];
try
for (int intOppIdx = 0; intOppIdx < intOpportunityCount;
intOppIdx++)
rtnListOfOpportunity[intOppIdx] = new Opportunity2();
rtnListOfOpportunity[intOppIdx].ListOfProduct =
new Product[intProductCount];
for (int intProdIdx = 0; intProdIdx < intProductCount;
intProdIdx++)
rtnListOfOpportunity[intOppIdx].ListOfProduct[intProdIdx] =
new Product();
return rtnListOfOpportunity;
10-28-2006 11:17 AM
Re: how to access Revenue records
Echo
Valued Contributor
Weird. I'm not a big C# programmer but the code looks right. I'm curious -
could you post some soap loads of the request. I'm wondering if there's
something weird going on with the proxy.
10-31-2006 12:00 AM

I Assume the following is your sample data
Table Name: Tab1
RegID CustID Registration_Start      Registration_End
1      1      01/04/2005           07/04/2005
2      2      01/03/2005           29/05/2005
3      1      21/03/2005           29/03/2005
4      1      01/03/2005           21/03/2005
Note : For the Regid "4" I have changed the Registration_End to 21/03/2005. It was earlier 21/04/2005.
Coming to the query, you need to generate the list of regid that have gaps.
Try the following query:
SELECT c.*
FROM tab1 c
WHERE c.reg_id NOT IN (
SELECT a.reg_id
FROM tab1 a, tab1 b
WHERE a.cust_id = b.cust_id
AND a.registration_end = b.registration_start
Note: I am sorry I didn't have access to the data base to execute my query. Correct me if I am wrong.
Regards,
Somu

Similar Messages

  • How to access next record from database on to form

    hi
    i have written the following piece of code to retrieve data from database oon to form...
    Try
                rset = oDICompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
                query = "Select * from [@TEST]  where Code =  ('" + oform.Items.Item("6").Specific.value + "') "
                rset.DoQuery(query)
            Catch ex As Exception
                SBO_Application.MessageBox(ErrorToString)
            End Try
            '  oform.Items.Item("6").Specific.value = rset.Fields.Item("Code").Value
            oform.Items.Item("7").Specific.value = rset.Fields.Item("Name").Value
            oform.Items.Item("8").Specific.value = rset.Fields.Item("U_Sal").Value
    but i can see only one record on my form controls.... i have placed on more button called " Next" so that i can access next records from DB when i click on "Next" button...
    Public Sub NextRecords()
    Try
         rset.MoveFirst()
                While Not rset.EoF
                 '   oform.Items.Item("6").Specific.value = rset.Fields.Item("Code").Value
                   oform.Items.Item("7").Specific.value = rset.Fields.Item("Name").Value
                  oform.Items.Item("8").Specific.value = rset.Fields.Item("U_Sal").Value
                   rset.MoveNext()
                End While
                rset.MoveNext()
          Catch ex As Exception
               SBO_Application.MessageBox(ErrorToString)
          SBO_Application.MessageBox("Updated")
           End Try
    End sub
    i'm not able to access next records...
    plz provide me the solution and code for this how to handle this scenario....

    From your question and code sample given, I think the problem is you are seeing only the last record when pressing the next button.
    In the Next button press, you are coded such a way that it will populate the last record.
    Try removing the do..While.. loop and simply code like
    if Not rset.EoF
    rset.MoveNext()
       oform.Items.Item("6").Specific.value = rset.Fields.Item("Code").Value
       oform.Items.Item("7").Specific.value = rset.Fields.Item("Name").Value
       oform.Items.Item("8").Specific.value = rset.Fields.Item("U_Sal").Value
    end if
    So when you click next, you can see the next record. Not the last record.
    Anoop

  • How to access a recording if forgot URL

    I recorded a role play and now I need to access it, any idea how I find it?

    It should be in the Recordings section of your meeting room in Connect Central.
    Clicking on the recording name will show the URL for accessing the recording.

  • How to access Previous Records' Data from within a Query?

    Hi All,
    I am making a report in which I need to compare my "Registration Start Date" with "Registration End Date" of previous registration of same customer. This is to check if there are gaps between any customer's registrations.
    In scenario shown below, I want to filter out RegID '1' as it comes after a gap from previous registration(RegID '3') of the same customer.
    RegID CustID Registration Start Registration End
    1 1 01/04/2005 07/04/2005
    2 2 01/03/2005 29/05/2005
    3 1 21/03/2005 29/03/2005
    4 1 01/03/2005 21/04/2005
    I created the join of this table with itself to pick previous records. it is something like:
    Current_Rec.Cust ID = Prev_Rec.CustID AND
    Current_Rec.RegStart > Prev_Rec.RegEnd
    But this gives wrong data if customer has 3 back-to-back registrations. i.e. Shows last registration in query results as their is a gap between 3rd and 1st registration. But ofcourse there was another record between these two(which was 2nd registration).
    It would be so nice of you guys if you can suggest a solution to this. Any oracle function?
    Thanks & Regards,
    Ahsan

    I Assume the following is your sample data
    Table Name: Tab1
    RegID CustID Registration_Start      Registration_End
    1      1      01/04/2005           07/04/2005
    2      2      01/03/2005           29/05/2005
    3      1      21/03/2005           29/03/2005
    4      1      01/03/2005           21/03/2005
    Note : For the Regid "4" I have changed the Registration_End to 21/03/2005. It was earlier 21/04/2005.
    Coming to the query, you need to generate the list of regid that have gaps.
    Try the following query:
    SELECT c.*
    FROM tab1 c
    WHERE c.reg_id NOT IN (
    SELECT a.reg_id
    FROM tab1 a, tab1 b
    WHERE a.cust_id = b.cust_id
    AND a.registration_end = b.registration_start
    Note: I am sorry I didn't have access to the data base to execute my query. Correct me if I am wrong.
    Regards,
    Somu

  • How to access the record data send by a procedure

    Hi I have a procedure with below code snippet..
    create package pkg
    type t_rec is recod (id number,id_name varchar2(10));
    type t_data is table of t_rec index by binary_integer;
    act_data t_data;
    procedure return_data is (o_rec out t_data,dept in number,region in number) ;
    create package body pkg
    procedue return_data is (o_rec out t_data,dept in number,region in number) is
    p_cur sys_refcursor;
    l_text varchar2(100);
    indx number:=0;
    begin
    open p_cur for 'select id,id_name from tab1'||l_text';
    loop
    fetch p_cur into o_rec(indx).id,o_rec(indx).id_name;
    exit when p_cur%notfound; --p_cur.count=0 giving error
    dbms_output.put_line('id is '||o_rec(indx).id); ---- 4
    indx:=indx+1;
    end loop;
    close p_cur;
    exception ....
    end pkg;Now ---4 is giving me values when i put value to id and id_name parameter.
    Then i try to fetch the returned value by below code
    DECLARE
    bk_data PKG.T_DATA;
    BEGIN
    PKG.RETURN_DATA(bk_data, 'parameter.pm1', 'parameter.pm2');
    dbms_output.put_line('id is '||bk_data(1).id);
    end;But it is not giving me any data and thowing error " no data found "
    Please help me how i can fetch and se the the data returned by PKG.RETURN_DATA
    Thanks in advance.
    Edited by: bp on May 31, 2012 2:56 PM

    >
    I have corrected my code as below.
    >
    No you haven't. You didn't fix the errors I mentioned.
    Worse you added new lines that have new errors.
    t_data:=&t_data -- i passed 10
    dept :&dept -- ipassd 10You added substitution variables to the package code; those are for sql*plus - not PL/SQL.
    >
    Can ypu please post the sample code that is giving you data for the sample package pkg .
    >
    If you aren't willing to post sample code why should we? The code you posted won't even compile so it can't possibly be the code you are actually using that purportedly has an error.
    exception ....That is invalid code as you undoubtedly know so what does it accomplish by adding it other than making people think your actual code was removed. But that means that the code you removed could have a problem in it that we can't see. And that means we have no hope of finding your problem because we can't see all of the code that might be causing it.
    >
    Please ignore spelling mistakes.
    >
    We can't ignore them if the code you post won't compile with them in it. The word 'procedue' you provided in the original question isn't a spelling mistake; it's because you did not cut & paste your actual code. It means that instead you manually entered text that is not code you are actually using.
    If you really want help with your problem you need to post the code that you are actually using and that is giving you the problem you are reporting.
    >
    l_text varchar2(1000):=null; -- i have built some dynamic whee clause in this variable
    >
    But are you using NULL for this value when you run your test? If not then maybe the problem is in the value that you are using. How could we possibly tell when you don't post what you are using?
    Post the code you are actually using. If you can't do that for proprietary reasons then modify it to remove the sensitive code. But the code you post has to be the code you are using and the code that is giving the problem.

  • How to access a field of an data source w/o binding a form field to it

    Hi
      This is a query regarding ADOBE print form.
      How to access a record field (of an data source.... typical multi row records) where the record is bound to a subform.
    Data is something like
    (I have used abap parlance for understanding)
    data : begin of data_tab occurs 0,
      field1 type .....,
    field2 type .....,
    fieldm type .....,
    fieldn type .....,
    end of data_tab.
    Subform is bound to
    $.DATA_TAB.DATA[*]
    How to access field1, field2,...... etc without creating subform fields and binding them to field1, field2, .... fieldn.
    I know normal approach is to define subform fields and then bind it to $.field1, $.field2 etc
    In the calculate event of a field bound to $.fieldm I have tried the following expressions to get the value of column fieldn of the same record but none of them worked.... Note that if I bind the field using $.fieldn data is displayed properly in the print form.
    $record.data_tab.fieldn.value
    $record.data_tab.data[*].fieldn.value
    $record.data_tab.data.fieldn.value
    $record.data_tab.fieldn.value
    Otherwise I would have to define hidden fields just to use these column values in the event script even though these value are not to be displayed in the ADOBE print form.
    Regards
    Abapper

    I can't remember the exact sentence, but do a little search, as that is a common question in this forum....
    How about:
    $record.data_tab.data[1].fieldn.value
    $record.data_tab.data[2].fieldn.value
    $record.data_tab.data[2].fieldn.value
    $record.data_tab.data[N].fieldn.value
    Cheers.

  • Master-details problem: How to access the parent EO/VO in child side?

    Hello
    Refer to the reply of posting
    Re: How to insert  new records in Master and detail Forms.
    I have got the following questions
    The approach for setting the master-details relationship works well, however, in this example,
    I have overriden the create(AttributeList attributeList) method of VO2, so after calling
    DCBindingContainer dcb = ADFUtils.getDCBindingContainer();
    OperationBinding oper = dcb.getOperationBinding("CreateInsertVO2");
    oper.execute();
    , it will enter the create() method of VO2, at this point, i can only access the argument attributeList
    which stored the key value that link up parent and child, however, how can i get the entire VO1
    for accessing the value of all VO1's attribute?
    Thanks

    Neon wrote:
    I have mapped a createInsert action in the blinding layerThis is OK.
    Neon wrote:
    Do you mean that i have to create createRow and insertRow action in blinding layer?No. The createInsert operation does just that
    Neon wrote:
    Or call these function in the VO overridden create() method?No. You can't do that.
    In conclusion, I don't understand why the accessor returns null. Maybe someone else can shed some light... ?:|
    One last suggestion from me is to try getting the VO1 directly from the AM instead.
    This should work - it is not a recommended practice through.
    Use the following code:
    VO1RowImpl vo1 = (VO1RowImpl)this.getVO1();
    // ensure that the VO1 VL accessor is properly initialized
    if (vo1 == null) {
       vo1 = (VO1RowImpl)((YourApplicationModuleImpl)this.getApplicationModule()).getVO1().getCurrentRow();
    }

  • How to select multiple records from a TREE in the table

    HI,
    I have a tree structure which is in the table.When I open the node of the tree,all the subnodes are coming as one-one records in the table.I want to slect multiple record from this table.I applied onLeadSelect for this table,I can select only 1 record from the table.
    Can any one plz suggest me how to select multiple records from the table so that I can get all the data of those selected record.
    Regards
    -Sandip

    Rashmi/Kukku,
    First of all, Thanks for your help!
    Is there any other way in which we can access tables other than using BAPIs or RFCs?
    In my case, there is a table structure which has to be updated with values after validating a key. i don't think there is any RFC available now. do i need to create bapi/rfc for that?
    Krishna Murthy

  • How to access Selection Attribute Filter Key on a TG through CRMD_MKTTG* ??

    Hello,
    We need to apply all the attributes filters on a TG (for instance city filter) for searching an address  that comply with the filters.
    To create a segment at CRMD_MKTSEG transaction for using it later in a campaign, it could be done by 3 ways:
    1. Create a simple profile
    2. Create a target group: create a profile and build the targe group
    3. Create a profile set: create a profile and build for profile set
    When creating first the profile, it is possible to apply attributes filters. This atributes filters are stored in BD tables of marketing. We are able to find the filters for the first and third case, but not for second case.
    I proceed to explain the first and third case:
    CRMD_MKTTG_TG_H: CRM Marketing: Target Group Header Data
         GUID: CRM Marketing: GUID of Target Group (this data I know beforehand)
         SET_H_GUID: CRM Marketing: GUID Profile Set
         SET_GUID: CRM Marketing: GUID Profile Set
         PROF_GUID: CRM Marketing: GUID of a Profile
    For the first case directly we do a select on CRMD_MKTTG_PF_S where  PF_GUID = CRMD_MKTTG_TG_H-PROF_GUID:
    CRMD_MKTTG_PF_S: CRM Marketing: Selection Criterion of a Profile
         GUID:CRM Marketing: GUID for a Target Group Selection Criterion
         PF_GUID: CRM Marketing: GUID of a Profile
    For the third case we do select on CRMD_MKTTG_PF_H where SET_GUID = CRMD_MKTTG_TG_H-SET_H_GUID and we retive GUID:
    CRMD_MKTTG_PF_H: CRM Marketing: Profile
    GUID: CRM Marketing: GUID of a Profile
    SET_GUID     :CRM Marketing: GUID Profile Set
    Then  we do select select on CRMD_MKTTG_PF_S where  PF_GUID = CRMD_MKTTG_PF_H-GUID.
    And we can obtain the filters through:
    .INCLUDE     CRMT_MKTTG_PF_S_RANGE:CRM Marketing: Selection Range
    SEL_SIGN: CRM Marketing: Component SIGN for Selection Criterion
    SEL_OPTION: CRM Marketing: Component "OPTION" for Selection Criterion
    SEL_LOW     : CRM Marketing: Component "LOW" for Selection Criterion
    SEL_HIGH     :CRM Marketing: Component "HIGH" for Selection Criterion
    But what about the second case that correspond to CRMD_MKTTG_TG_H-SET_GUID?
    Could somebody explain how to access the filters when the second case happen? ¿What relationship MKT tables is based on?
    I would appreciate any suggestion.
    Best regards,
    Rosa
    Edited by: Carlos de Cozar on Feb 15, 2008 12:13 PM
    Edited by: Rosa on Feb 20, 2008 9:42 AM

    Can you please let me know how I can find out the duplicate record.
    you need to split the records from flat file structure into your internal table ans use a delete ADJACENT duplicates comparing fields
    split flat_str into wa_f1 wa_f2 wa_f2 at tab_space.

  • Logical database PSJ:   How to access and link tables inside that???

    Hi,
    I have a requirement like :
    I have to write one report which will display project statuses (PSmodule) using the LDB PSJ.. I am using LDB because I neeed dynamic selection screen.
    I need to acees the data from table like 1. PROJ, prps_r and JCDS under the LDB PSJ.. but when I found the hirarchy of these table in the LDB , then all 3 tables are at same level.
    then How to access and link data from theses 3 tables using GET and LATE command.
    I did like below, but wrong number of records are coming
    START-OF-SELECTION.
    GET proj.
    GET prps_r.
    GET  elm_ps .
    GET jcds.
    can anyone tell me, what 's wrong here.
    points will be rewarded
    for proper answer.
    Regards,
    Mrunal

    hi ...get is like a loop in ldb. then if you use the 3 get statements then it will loop with in a loop with different data..

  • How to access my video stream on icloud from mac

    I have pictures and videos on my shared stream that I took/recorded from my iPhone 5S. I don't know how to access these files from may MacBook Pro because I want to move these files to my hard drive on my MacBook Pro. Please help. Thank you!

    iCloud requires OS X 10.7.5 or higher, and iCloud photo sharing (which includes shared videos) requires OS X Mavericks v10.9 and either iPhoto '11 version 9.5 or Aperture 3.5.  Without these, you can't access the shared stream videos on your Mac.  However, at the present time you cannot save a shared video from a shared stream anyway, you can only view it.  If you want it on your Mac you’ll need to import the video to iPhoto from your camera roll using your usb cable as explained here: http://support.apple.com/kb/HT4083.

  • How to access reference data in BPS Exit Function

    Hi Experts,
    Can any please tell me how to access reference data in BPS Exit function. I am creating a copy function using ABAP Exit Function (Std copy and fox formula doesn't work for my requirement).
    Please suggest,
    Thanks in advance,
    Shiwesh

    Hi Deepti,
    Thanks a lot for your reply. xth_data contains all the data based on package filteration. Let me explain you,
    Say, I have a characteristic char and whose value is 'A', I want to change it to 'B' in my copy function, while keeping the original record with 'A' as well. So now I want my xth_data to contain two records, one with A and other with 'B'. I mean to say from value is 'A' and to value is 'B'. Now my package contains 'B' (the to value) as the allowed value, but not A because in the package I am setting this using a BPS variable. There are two types of variables, one is to variables other is from variable. There could be two scenarios,
    1. If I set from varibale in the package: if I do so, I will have the data in xth_data containing 'A' as char value. But in this case when I change it to 'B' and try to save both the records, package won't recognize the record with value 'B' and reject it.
    2. If I set to variable in the package: In this case the xth_data itself will not contain anything and I can not loop over xth_data because there is no record with 'B'. Only record available in the system is with 'A' values.
    That is why I am thinking about having reference daya somewhere. I could loop over reference data and then pass it to xth_data. Package will contain to variable so it will allow all my modifications to get saved.
    Thanks and regards,
    Shiwesh

  • How to access host files?

    how to access host files?

    Easy and not depends on your software version:
    press Shift+cmd+G while your finder window is open and active, you will get a new window with the field where you can write /etc/hosts
    Anyway to edit hosts file you should open it with the sudo command, this can be done in terminal window, not in Finder. Also easy and can be done next way:
    press Shift+Cmd+U while Finder window is open and active, then choose Terminal.app, and after it opens enter sudo nano /etc/hosts. You will be asked for password - this is the password you enter then you installing new application. You should know few commands to edit your hosts file:
    Previoius page/Next Page of the file - Ctrl+Y/Ctrl+V
    Add record - Input the text you need on the last free line of the file and then press Ctrl+O
    Delete record - put cursor on the line you want to delete and press Ctrl+K
    Undo - Ctrl+U
    Exit - Ctrl+X
    After edit your hosts file you should update DNS records - in terminal window enter the command dscacheutil -flushcache
    But if you really don't know what are you doing, my advice is do not touch your hosts file, ask for professional to do his job. Just like I'm doing usually. )))

  • How to access Data Guard option in Oracle 10g OEM

    Hi All,
    I have Oracle 10g ENTERPRISE EDITION on Unix envoirement. I want to setup logical standby Database through Data Guard technology. But when I brows through OEM I do not find Link for DATA GUARD????
    1) How to access Data Guard option from oracle 10g OEM.
    2) Does It come with Enterprise Edition OR I have to install it separately.
    Regards,
    Darshan

    I am managing almost everything through EM Grid Control. It is easy to setup and configure.
    Anyways, if you have read the documentation on
    Oracle® Data Guard Concepts and Administration and setup your environment accordingly then you should not have any problems. Atleast I can assure you that your production database will not be affected by it.
    Just make sure that you follow each step and read thoroughly. If you have spare machines then you can test and record your configuration before performing it on your production db. This link will provide you with the information on DataGuard.
    http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14239/concepts.htm
    If you think that way then you will never be able to do any new stuff since you will always fear that something might go wrong. Go ahead pal, try it on test machines and you will know that it is not that difficult.
    There are real experts who help people like us in this forum and I know that they are doing a pretty good job.
    All the best.
    Rgds
    Adnan

  • How can i fetch records from 3 tables in a single query  without using join

    Hi.
    Can any body please tell me <b>How can i fetch records from 3 tables with a single query  without using joins</b>
    Thanx
    prabhudutta

    Hi Prabgudutta,
    We can fetch the data by using the views concept.
    Go throuth this info we can know the how to create view and same like database table only we can fetch the data.
    Views conatin the data at runtime only.
    Four different view types are supported. These differ in the
    way in which the view is implemented and in the methods
    permitted for accessing the view data.
    Database views are implemented with an equivalent view on
    the database.
    Projection views are used to hide fields of a table (only
    projection).
    Help views can be used as selection method in search helps.
    Maintenance views permit you to maintain the data
    distributed
    on several tables for one application object at one time.
    step by step creation of Maintenance view:
    With the help of the table maintenance generator, you are able to maintain the ENTRIES of the table in SM30 transaction.
    It can be set in transaction SE11 - Tools - Table maintenance generator.
    Table maintanance Generator is used to manually input values using transaction sm30
    follow below steps
    1) go to se11 check table maintanance check box under attributes tab
    2) utilities-table maintanance Generator-> create function group and assign it under
    function group input box. Also assign authorization group default &NC& .
    3) select standard recording routine radio in table table mainitainence generator to move table
    contents to quality and production by assigning it to request.
    4) select maintaience type as single step.
    5) maintainence screen as system generated numbers this dialog box appears when you click on create button
    6) save and activate table
    One step, two step in Table Maintenance Generator
    Single step: Only overview screen is created i.e. the Table Maintenance Program will have only one screen where you can add, delete or edit records.
    Two step: Two screens namely the overview screen and Single screen are created. The user can see the key fields in the first screen and can further go on to edit further details.
    SM30 is used for table maintenance(addition or deletion of records),
    For all the tables in SE11 for which Table maintenance is selected , they can be maintained in SM30
    Sm30 is used to maintain the table ,i.e to delete ,insert or modify the field values and all..
    It creates the maintenance screen for u for the aprticular table as the maintenance is not allowed for the table..
    In the SE11 delivery and maintenance tab, keep the maintenance allowed..
    Then come to the SM30 and then enter the table name and press maintain..,
    Give the authorization group if necessary and give the function group and then select maintenance type as one step and give the screen numbers as system specified..
    Then create,,,
    Then u will able to see the maintenance view for the table in which u can able to insert and delete the table values...
    We use SM30 transaction for entering values into any DB table.
    First we create a table in SE11 and create the table maintenance generator for that Table using (utilities-> table maintenance generator) and create it.
    Then it will create a View.
    After that from SM30, enter the table name and Maintain, create new entries, change the existing entries for that table.
    Hope this resolves your query.
    Reward all the helpful answers.
    Rgds,
    P.Naganjana Reddy

Maybe you are looking for