Calling another BSP from a BSP using bsp:call having a Problem.

Hi All,
I have a BSP (page1.bsp), within Page1.bsp I am calling another BSP (Page2.bsp)
But I need to Call Page2.bsp from Page1.bsp 'N' number of times depending upon an internal table, code is mentioned below ( Problem is mentioned after the code ) :
LOOP AT mr_plan_comparison->mt_selected_plans ASSIGNING <fs_selected_plan>.
     CLEAR lr_plan.
     lr_plan = zcl_zpr_s_model_pool=>load_new_plan( iv_plan_id = <fs_selected_plan>-plan_id ).
     lr_plan->mr_phases = lr_plan->get_phases( ).
     lt_phases_of_a_plan = mr_plan_comparison->mt_selected_phases.
     DELETE lt_phases_of_a_plan WHERE plan_id <> <fs_selected_plan>-plan_id.
     lr_plan->mr_phases->mt_phases = lt_phases_of_a_plan.
     lv_comp_id_str = zcl_zxa_str=>conc( iv_1 = sy-tabix
                                         iv_2 = 'xyz' ).
     CONDENSE lv_comp_id_str NO-GAPS.
  %>
  <tr>
  <td>
<htmlb:textView text="<b><%= zcl_zrm_s_data_manager=>get_name_from_id( iv_table_name = 'ZPR_PROGRAM'
                                                                     iv_field_name = 'PRG_ID'
                                                                     iv_field_value_id = <fs_selected_plan>-prg_id  ).%></b>" />
     <bsp:call   url     = "<%= zcl_zrm_co=>sc_bsp_rpphachart %>"
                 comp_id = "<%= lv_comp_id_str %>" >
<%-- same subcontroller n times: use different component IDs --%>
    <bsp:parameter name  = "mr_plan"                  value = "<%= lr_plan %>" />
    <bsp:parameter name  = "mr_plan->MR_PHASES"       value = "<%= lr_plan->mr_phases %>" />
    <bsp:parameter name  = "mv_show_current_version"  value = "<%= abap_true %>" />
    <bsp:parameter name  = "mv_show_version_nr"       value = "<%= SPACE %>" />
</bsp:call>
I am able to display the Page1.bsp with no problem having Page2.bsp as well on it,
But I have a radio button or a dropdown on Page2.bsp and when the event triggers it goes to the DO_HANDLE_EVENT of Page2.bsp whcih is correct but after DO_HANDLE_EVENT it does not go to DO_REQUEST of Page2.bsp and rather goes to Page1.bsp at the LOOP, by this what ever selection I did I am loosing those values.
What changes should I make so that after Do_HANDLE_EVENT of Page2.bsp it should call it's Do_Request?
I guess it might be related to the reference or something?
Regards,
Abhinav

Hi Abhinav,
the flow of nested controllers is as follows:
contr1->do_request (here dispatch_input triggers data and event handling)
  -->contr1->do_handle_data
  -->contr2_1->do_handle_data
  -->contr2_2->do_handle_data
  -->contr2_3->do_handle_data
..... for all controllers in the hierarchy
  -->contrXXX->do_handle_event (the controller instance where the event was triggered)
contr1->do_request continued
call view for contr1
  -->contr2_1->do_request
  -->contr2_2->do_request
  -->contr2_3->do_request
.... for all subcontrollers called by your logic
the dispatch_input in the subcontroller does not have any effect as within the method it is checked whether the controller is a root controller or not.
In case you call the subcontroller with the same component ID's than you called them before, the same instances are reused. So if you reuse the instances and set an attribute within the instance that handled the event you should be able to "remember" the values.
Another option is to write the event back either to the application class or to the parent controller (is available via attribute m_parent) and hand it back over to the controller during the calling loop.
Hope that helps.
Best Regards
Michael

Similar Messages

  • Calling another program from the current program

    Hi all,
    In our requirement we are calling another program from our current program .
    In the current program( from which we are calling ) we are giving file name in the selection screen
    and when we run the current program we are successfully going to other program but our main requirement is to higlight the file name which we had given earlier .
    Note :  The called program doesnt have any selection screen.

    HI
    use EXPORT and IMPORT key words for passing data from one program to another program.
    as the called program is available in the same session you can use above key words which means you are accessing ABAP MEMORY.
    You can also use SET and GET key words which means SAP memory
    take F1 help there are examples tooo and detailes explanation abou the same
    Regards
    Ramchander Rao.K
    Edited by: Ramchander Krishnamraju on Dec 24, 2008 7:05 AM

  • Can we call another transaction from the Userexit

    Hi all,
            Can we call another transaction from the Userexit?
    Thanks,
    Balaji

    Hi
    Because the statament CALL TRANSACTION triggers the end of the LUW so COMMIT WORK, so you should be sure not to insert that statament while some updating actions are been doing.
    So that exit shouldn't be triggered while updating
    Max

  • How to transfer range parameter from vb when using bapi calling

    Hi,everyone.how to transfer range parameter from vb when using BAPI calling?

    Did you get the solution to your problem?  Can you please share it with me. I have a similar problem. I have a VB program that calls RFC function. It works with a single parameter but not with a range of parameters. If you have the solution, could you please share sample codes with me? Thank you so much.

  • HT201401 my home button is not working don't know why.my mobile phone is in warranty so please repair it or give me another phone so i can use it.please solve my problem i am in tension because of this problem

    my home button is not working don't know why.my mobile phone is in warranty so please repair it or give me another phone so i can use it.please solve my problem i am in tension because of this problem

    either you can call apple care
    or
    alternatively take it back to the reseller and have them give you new phone . unless obviously the button broke down due to mishandling

  • I updated my iPhone to iOS 7.0.5 and I lost my messages and camera app and other apps i downloaded from app store. I was having the problem of losing apps since before I updated to the latest IOS. What should i do?

    I updated my iPhone to iOS 7.0.5 and I lost my messages and camera app and other apps i downloaded from app store. I was having the problem of losing apps since before I updated to the latest IOS. I have tried enable and disable restriction, connecting my phone to my laptop and sync from my computer and none of them is working. What should i do?

    Often when this type of thing occurs with missing default apps it is due to a situation where you are unable to 'see' the apps. If you will go to your front display of your device go to settings>General>Reset>Reset Home Screen layout.
    This reset allows for your apps that have for whatever reason been hidden in such an area as you arn't able to find them now to be returned to the area as which they were when you first had the device.
    As far as the missing Apps that were purchased through the Apps Store if you will go to settings>itunes and Apps store and click where it reads about automatcally downloading apps clicking on the toggle switch AND clicking on the toggle switch which allows for cellular data to be enabled this then will effectively automatically download all apps to your device that was purchased from the App Store.
    Good luck friend.

  • I got my iphone sent from germany and now i am having reception problems, but it comes wiv a full warranty.can i be able to get a replacement one in the uk?

    i got my iphone sent from germany and now i am having reception problems, but it comes wiv a full warranty.can i be able to get a replacement one in the uk?

    Well, you learn something everyday don't you

  • Calling another module from designer

    Please help,
    When i call a module from another module through designer, I get frm-40010 - can't not read from the "module name". It can't find the form because the directory path is not generated in the calling form. I know this, because if i put the path on the generated form using "Form builder" it works.
    How do I make designer find called form(modules)
    thanks

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by floresr:
    Please help,
    When i call a module from another module through designer, I get frm-40010 - can't not read from the "module name". It can't find the form because the directory path is not generated in the calling form. I know this, because if i put the path on the generated form using "Form builder" it works.
    How do I make designer find called form(modules)
    thanks <HR></BLOCKQUOTE>
    resolution
    Go to the registry
    hkey_local_machine
    software
    oracle
    forms60_path and add the directory where designer is putting the forms
    null

  • Calling another servlet from a servlet

    I'm working on a servlet and would like to know how to
    call another servlet, by clicking on a form button
    or a hyperlink that was generated from the first servlet,
    is it only possible if the second servlet is called
    in an shtml page? Can you please give me an example
    of how to do this not using shtml pages?
    (I'm working with JDeveloper 2.0)
    When will the book be out for JDeveloper 2.0?
    We're also having problems deploying the servlet
    to the Java Web Server (1.1.3)
    It seems to have a problem connecting to the database.
    We get the first page of the servlet but the
    second page is generated from the doPost()
    and connects to the database using oracle JDBC thin
    gives a http 500 internal server error ,
    and we followed the instructions from JDeveloper
    can the problem be caused from the connection string that
    I used in the servlet:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    DriverManager.registerDriver(
    new oracle.jdbc.driver.OracleDriver());
    con = DriverManager.getConnection(
    "jdbc:oracle:thin:@(description=(address=
    (host=10.10.10.53)(protocol=tcp)(port=1521))
    (connect_data=(sid=OR8A)))",
    "im_dev","im_dev");
    or the configuration of the web server?
    (web server: Solaris 2.7 running on Intel)
    null

    Hi
    The sample acme video demo in JDeveloper does something similar.
    It has main Servlet "WebAppServlet.java" which overides the
    doPost and doGet methods and this methods calls someother java
    classes do perform some specific business logic which return a
    html page in a String format to "WebAppServlet.java".
    Open the samples directory in JDEveloper 2.0 with WebApp_81.jws
    to look at the source code.
    Steps to run the sample are included in the help system.
    regards
    argyro (guest) wrote:
    : I'm working on a servlet and would like to know how to
    : call another servlet, by clicking on a form button
    : or a hyperlink that was generated from the first servlet,
    : is it only possible if the second servlet is called
    : in an shtml page? Can you please give me an example
    : of how to do this not using shtml pages?
    : (I'm working with JDeveloper 2.0)
    : When will the book be out for JDeveloper 2.0?
    : We're also having problems deploying the servlet
    : to the Java Web Server (1.1.3)
    : It seems to have a problem connecting to the database.
    : We get the first page of the servlet but the
    : second page is generated from the doPost()
    : and connects to the database using oracle JDBC thin
    : gives a http 500 internal server error ,
    : and we followed the instructions from JDeveloper
    : can the problem be caused from the connection string that
    : I used in the servlet:
    : Class.forName("oracle.jdbc.driver.OracleDriver");
    : DriverManager.registerDriver(
    : new oracle.jdbc.driver.OracleDriver());
    : con = DriverManager.getConnection(
    : "jdbc:oracle:thin:@(description=(address=
    : (host=10.10.10.53)(protocol=tcp)(port=1521))
    : (connect_data=(sid=OR8A)))",
    : "im_dev","im_dev");
    : or the configuration of the web server?
    : (web server: Solaris 2.7 running on Intel)
    null

  • Calling another report from a report

    just wanna explore the possibility...
    i have a.bat which will call a.rep.
    in a.rep, a function will loop and call b.rep.
    is this possible?

    Hi KLC
    This is prasanth again. In reports we can call a report from another report which is called "drilleddown reports"
    If ur requirement is this one, then we can do this by using SRW builtin called srw.run_report.
    syntax is srw.run_report(reportname,<arguements if any)
    Place a push button in report 'a' and put this code in that button.
    I think this will solve your problem. I dont know exactly what requirement you have. Because for ur last question regarding distribution not clearly understood, so i suggestion is incorrect. any way i am trying to distribute the date based on sql model and i will suggesst you soon, Since i am also a developer,please try my suggestion but i am not sure that will work 100% correctly.
    thans and regards
    prasanth a.s.

  • Calling Stored Procedure from Oracle DataBase using Sender JDBC (JDBC-JMS)

    Hi All,
    We have requirement to move the data from Database to Queue (Interface Flow: JDBC -> JMS).
    Database is Oracle.
    *Based on Event, data will be triggered into two tables: XX & YY. This event occurs twice daily.
    Take one field: 'aa' in XX and compare it with the field: 'pp' in YY.
    If both are equal, then
         if the field: 'qq' in YY table equals to "Add" then take the data from the view table: 'Add_View'.
         else  if the field: 'qq' in YY table equals to "Modify"  then take the data from the view table: 'Modify_View'.
    Finally, We need to archive the selected data from the respective view table.*
    From each table, data will come differently, means with different field names.
    I thought of call Stored Procedure from Sender JDBC Adapter for the above requirement.
    But I heard that, we cannot call stored procedure in Oracle through Sender JDBC as it returns Cursor instead of ResultSet.
    Is there any way other than Stored Procedure?
    How to handle Data Types as data is coming from two different tables?
    Can we create one data type for two tables?
    Is BPM required for this to collect data from two different tables?
    Can somebody guide me on how to handle this?
    Waiting eagerly for help which will be rewarded.
    Thanks and Regards,
    Jyothirmayi.

    Hi Gopal,
    Thank you for your reply.
    >Is there any way other than Stored Procedure?
    Can you try configuring sender adapter to poll the data in intervals. You can configure Automatic TIme planning (ATP) in the sender jdbc channel.
    I need to select the data from different tables based on some conditions. Let me simplify that.
    Suppose Table1 contains 'n' no of rows. For each row, I need to test two conditions where only one condition will be satisfied. If 1st condition is satisfied, then data needs to be taken from Table2 else data needs to be taken from Table3.
    How can we meet this by configuring sender adapter with ATP?
    ================================================================================================
    >How to handle Data Types as data is coming from two different tables?
    If you use join query in the select statement field of the channel then whatever you need select fields will be returned. This might be fields of two tables. your datatype fields are combination of two diff table.
    we need to take data only from one table at a time. It is not join of two tables.
    ================================================================================================
    Thanks,
    Jyothirmayi.

  • Calling another application from a java program

    Hi, Java ppl.
    I wanted to know how can I call another program say a help application or an exe from a java program. anyone with any advice or a piece of code would help.
    Thanks
    Pradeep

    I had the same situation and I tried the code that you sugested and it works. I was wondering, what am I expecting in the while loop that appears after the int inp; statement? Is some data going to be displayed on the screen? How essential is to have that while loop after the calling the exec() method?
    Sorry for the amount of questions, I never tried this before.
    Best regards,
    Luis E.

  • How to call another program from LabVIEW?

    Hi!
    Is there anyone that can answer my question? I have found a similar thread where the user needed to call labVIEW from some program but I want to do the opposite.
    I made a program in labVIEW that communicates via COM-ports (serial communication) with the processor I use at the job (Ubicom´s IP2022).
    Now I want to add more funcionality to this program. I want to be able to program re-program IP2022 through this LabVIEW application.
    The programming is done via an Ethernet-dongle. I start a program called IP2kProg, I write the ip-address of the dongle and the program-file (.elf) downloads at this address. But how can I do this from
    LabVIEW, do I need to open IP2kProg or can I send some values to it via LabViEW?
    Ant suggestions?
    Thanks, Amir

    Amir,
    There are couple of options:
    1.  If your IP2kProg program has a command-line interface, you can use LabVIEW's System Exec.vi and send the commands and parameters to it. 
    2.  If the IP2kProg has an API / exported functions, you can call them from LabVIEW using the Call Library Function Node. 
    Hope this gives you some ideas. 
    -Khalid

  • Call Another DC from one DC.

    Hi,
    I have a scenario where I have an application DC. In that, I have a button which is suppose to call another DC. On click of the button a View in the second DC should appear as a pop-up. How to I go about it?
    Thanks,
    Prasanna

    Hi prasanna
    1) In the  dc1 (popup dc)
    Component controller
    Create a pop up calling method
    //@@begin javadoc:Callpopup()
    /** Declared method. */
    //@@end
    public void Callpopup(  )
    //@@begin Callpopup()
    //popup steps
    //@@end
    2) component interface controller
    Add the usage of component controller of model dc component
    create a method in interface controller for calling the method Callpopup in component controller
    //@@begin javadoc:Interfa_ctl_mthd()
    /** Declared method. */
    //@@end
    public void Interfa_ctl_mthd( )
    //@@begin Interfa_ctl_mthd()
    wdThis.wdGet<modeldc>Controller().Callpopup();
    //@@end
    3) Open the DC Metadata>Public Part>New public part
    Give a name and Select the API and in the Select Entity type, select the web dynpro component and in the select entity which is at the bottom of select entity select the dc1/component (Ie component inside the web dynpro component)
    4) Build and deploy the  dc1
    DC2
    1) Expand the DC metedata > used DC >right click and select add used dc and select the  dc1 and select the build type in dependency tab
    2) Expand the web dynpro component structure and Select the Used web dynpro component and right click and select used webdynpro component and browse the component and give a name ie popupcomp
    3)In the view of project dc define the usage of the component popupcomp
    In any action of button , call the popupcomp comp like this
    //@@begin javadoc:onActionGo(ServerEvent)
    /** Declared validating event handler. */
    //@@end
    public void onActionGo(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
    //@@begin onActionGo(ServerEvent)
    wdThis.wdGetpopupcompInterface().Interfa_ctl_mthd();
    //@@end
    for popup code look at this thread
    Re: How to create pop up window ?
    Hope this helps,
    Regards,
    Arun

  • In Captivate 7, how can I call another action from within an action?

    I have a conditional action called FakeSuccessRewind. Now I need to call another function called ShowGrayBalloons02 from within its Else statement, but I couldn't find something like "Execute Advanced Action." Can anybody share some tips here? Thanks!
    Below are screenshots of my two actions:
    1) FakeSuccessRewind (if/else). Here I need to call the 2nd action from the Else statement, underneath the statement Go to the next slide.
    2) ShowGrayBalloons02. Note this function has five seperate runs when the variable is decrementing from 5-1.
    Thanks a lot!
    Melissa

    You can't, you need to add the other action into the first one.

  • Calling another form from current form

    Hello everyone,
    After entering information into a form, I want to call another form then I want to return to the previous form without loosing the information I entered into it....
    Whats the pl/sql code to do this...how do i do it?
    Thank u...
    Edited by: user10746194 on Jan 16, 2010 9:30 AM

    You should put this code at the place where you want to appear the called form. that is the child/first form.
    if you want to call the form on button click, place the code in when-button-pressed trigger of the respective button in the first form.
    Edited by: Dora on Jan 17, 2010 10:54 AM

Maybe you are looking for