Calling a BOR method

Hi All,
There is a particular method in a BOR object (T-Code SWO1)which needs to be invoked from a report program .
Please tell the method of declaring the same in the program and calling the same in the report program.
Urgently needed ....
Thanks in advance,
Paul.

Hi,
You should include <CNTN01>
Then you can instantiate the BO by macro swc_create_object passing the business object and the key
With swc_call_method you can call the method. Just as in SWO1.
Kind regards, Rob dielemans

Similar Messages

  • Using the transaction launcher to call a BOR method to display a PDF

    Hello gurus,
    I have created a PDF icon and an onclick action to open a pdf, that displays on every row of an assignment block in the actions column, but I do not know the technical process to determine how to get a PDF from the IXOS system from the line selected. (even if I know it depends on an ID attribute of that assignment block) I want to to call a transaction launcher with the url for the pdf in the IXOS that has an ID that identifies which line in the assignment block the user has clicked the pdf icon for (does that make sense?)
    In CRM 4, in the collection factsheet assignment block, the link was coded into an XSLT which is then displayed in the GUI and you would have a clickable link for a pdf file in a row in a table. That link would be as follows:
             <xsl:variable name="ev_key">SAPEVENT:?OBJTYPE=<xsl:value-of select="attributes/OBJTYPE"/>&amp;OBJKEY=<xsl:value-of select="@KEY"/>&amp;LOGSYS=<xsl:value-of select="attributes/LOGSYS"/></xsl:variable>
                 <a href="{$ev_key}"></a>
    This will get the file in IXOS and display it, in CRM 4. In CRM 7, the link is an icon in every line of an assignment block.
    Here are some questions I have now for the functional side in the meantime:
    1) Can we fetch the PDF in IXOS for each line of an assignment block and have it open? If so, how? Transaction launcher, function modules (like ARCHIVOBJECT_DISPLAY) in the OPTA package? (the package for all IXOS related function modules..)
    2) Which URL should I call with the transaction launcher? a URL link to the PDF on the IXOS system?? or sapevent:xxx?
    3) Do we have to configure a transaction in the IMG to be launched with the attributes listed there? Do we have to link it to any classes/ objects?
    4) Do we have to have the code to the logical link dynamically to call the right PDF for each table line? Is it right to put this code in my event handler?? Usually transaction launchers are just in the nav bar.....
    5) Are there any existing examples of this or a similar functionality/ logic that I could refer to, preferably in CRM 7 WebUI?
    6) Do you have any code to just display a PDF in a new window? Or prompt a download?
    One possible way I thought of would be for me to have a logical link defined in the IMG for the transaction launcher, and have the attributes defined for my BOR object that I would call, and pass it different attributes (eg. objtype, objkey, logsys...) and then return the PDF and display it in the UI in a new browser window by itself. (There is a BOR method for my BOR object named  'display_pdf'!!!!)
    What do you think would be the optimal solution here? Does my theory of calling a BOR object with a transaction launcher to display a PDF make ANY sense whatsoever???
    Please do not hesitate to propose any potential solution. Any partial answers/ links to wikis/ other threads, anything would be much appreciated.
    Thank you in advance.
    Best regards,
    Jonathan Laplante
    Edited by: Jonathan Laplante on Jul 2, 2011 4:50 AM

    Hi Any help on this....I am still awaiting the response.
    Requirement: My requirement is to launch the SE38 transaction on WEBUI using transaction luncher tool and set the parameter on the selection screen.
    Issue: The issue is that I am able to lunch the transaction but unable to set the parameter
    Steps Performed:
    I want to list down all the steps I performed to launch an SE38 transaction using transaction launcher on the WEBUI
    1) Defined logical system in tcode CRMS_IC_CROSS_SYS
    -The logical link looks like this
    http://<server>:<port>/sap/bc/gui/sap/its/webgui/!?transaction=IC_LTXE&okcode=ICEXECUTE ?sap-client=300
    2) Defined URL & paratemeter wherein the request method is "GET", opted for NON-BSP URL
    URL link here is
    http://<server>:<port>/sap/bc/gui/sap/its/webgui/!?transaction=SE38&okcode=ONLI
    -Note: My selection screen okcode os ONLI*
    -The logical system ref is provided here
    3) Defined the parameter by giving the screen name like for SE38 selection screen name is "RS38M-PROGRAMM"
    4) Configured the transaction launcher of type B - URL type and provided the reference of the URL ID, choose the relevant parameter from the drop down and have hardcoded the value, cheked the box "Save Data in Activity Clipboard
    5) Added this in the NAvlink/Bus Role etc
    6) Now in the handler class of the TL the code looks like this:
    IF_CRM_IC_ACTION_HANDLER~PREPARE_DATA_FLOW
    __gdc ?=
    cl_crm_ui_data_context_srv=>get_instance( gv_view_controller ).
    __value
    =
    'ZC_TEST'.
    add_parameter(
       iv_name =
    'RS38M-PROGRAMM'
    iv_value = __value ).
    However, after performing the above steps I am unable to set the parameter. Please suggest where am I missing out on. An early response would really be appreciated.

  • BOR method

    Hi,
    How to call a BOR method in Report?
    MY object type is MKPF
    and the methods are create,
    Createfromdata.
    Please provide me the procedure.
    Regards,

    Hi
    You can use macro SWC_CALL_METHOD from include <CNTN01> or directly a FM called SWO_INVOKE.
    Rgds
    Mat

  • How to call a standard BOR method in a program.

    Hi All,
    How to call a standard BOR method in a program. For example I have to call BOR method ISUSMORDER.Release in my program but don't know how to call.
    Also, plz tell me how to capture the Exceptions in case of BOR method.
    Plz help me out in this.
    Thanks,
    Mithilesh

    Would be easier (however not always possible), to determine the functionality of this method and call that in your program. I mean, normally this method calls a BAPI, or function module (or a transaction). Have a look at the coding inside of the method, and try and use this.

  • Best way to call screen in BOR method

    Hi,
    I'm new to BOR objects. I have a requirement to create to a screen to accept values and perform validation on the value.
    As I'm using FOP(EWBC), So in the steps the best way looks like using BOR objects.
    Can any body please guide me what is the best way to create and call a screen in the BOR method?
    Thanks in advance
    Rohan

    IMO the best way is to create a Function Module and call it from your BOR method

  • Error in BOR Method

    Hi Experts,
    I need to update Infotype 2002 (Employee Attendance) in travel request approval work flow.
    For that I  am using set of standard BAPI 's
    "BAPI_EMPLOYEE_ENQUEUE"
    "HR_INFOTYPE_OPERATION"
    "BAPI_EMPLOYEE_DEQUEUE"
    But I am getting the error
    The exception 'CX_HRPA_INVALID_PARAMETER' was raised, but it was not caught
    anywhere along
    the call hierarchy.
    Since exceptions represent error situations and this error was not
    adequately responded to, the running ABAP program
    'CL_HRPA_RESOLVE_EXCEPTION=====CP' has to be
    terminated.
    When I am using same code in program, It's working fine without any error.
    can anyone suggest me , why this error is in BOR method and how to solve it.
    Thanks in advance.
    Regards,
    Priya

    Dear Vimal,
    I checked Note 1087428.
    That note says :
    You try to use transaction PA30 to create infotype 0706. In the run up, you did not use transaction PA40 to plan for the relevant personnel number. Therefore, infotype 0710 does not exist.
    Upto my understanding, transaction PA40 is for employee action, PA30 for employee master data maintainance and PA20 for employee master data display. so i have to use PA30 transaction for master data maintanance.
    For master data maintainance there is group of SAP standard function modules,
    BAPI_EMPLOYEE_ENQUEUE
    HR_INFOTYPE_OPERATION
    BAPI_EMPLOYEE_DEQUEUE
    If we use these function modules, they are same as PA30 transaction.
    When I used these FMs in my report program, they are working fine as their behaviour.
    But when i used these FMs in BOR method in Work Flow, FM 'HR_INFOTYPE_OPERATION' is throwing dump.
    I asked this to SAP, they reply that they didn't release FM 'HR_INFOTYPE_OPERATION' for custom programs, so they will provide any support on this problem.
    So I did work around for the same : I created one FM and inside FM i m calling BDC. That's working fine.
    Thanx to all for help.
    Regards,
    Priya

  • How to call standard SAP method in the Custom Program ?

    Hi,
    i need to call sap standard method 'OpenItemRollinout' in my custom program. For the SAP Standard method 'OpenItemRollinoun' the BOR(Business Object) is 'PAYSCHEME'. So how to call the SAP standard method in the custom program ???

    Hi,
    In the method that you have provided only one function module is being used so better use the FM and copy the remaining code based on ur requirement.
    FM is ISU_S_PAYSCHEME_ROLLIN_ROLLOUT.
    Regards,
    Vijay.

  • How to Attach a Smartform to a BOR method

    Hi Friends,
    I had a query How to Attach a Smartform to BOR method.To attach a customized Smartform to a Customized BOR Object.

    Hi,
    In the BOR object, create a method say display_SF. Now in the ABAP properties for that method give "OTHER" option.
    Now in the BOR object, you can find the program which is used. Inside that program, You need to write the code to fetch the required data (ONLY BASIC REQUIRED DATA WILL BE ENOUGH) and call the smartform by passing all the print parameters and all the required data for that smartform.
    Now inside the smartform, with imported required data, you can write all the logic and data fetch etc for the printouts.
    The following sysntax can be used to fetch the required data into the method and can use to pass the same while calling the smartform.
    SWC_GET_ELEMENT CONTAINER 'Plant' PLANT.
    Regards,
    Harish

  • How to find a caller of a method

    hi all,
    i have a method in a class and that method is being called from many different classes.
    Inside that method , I want to know who is the caller of the method.
    how can i find that. any help would be appreciated.
    Thanks,
    Dhanasekaran Vivekanandhan

    look at the method Thread.currentThread.getStackTrace(), and the class StackTraceElement. you can work out the rest yourself, hopefully
    but if your code depends on this knowledge, I reckon you've got design problems

  • How to call a C function calling a Java Method from another C function ?

    Hi everyone,
    I'm just starting to learn JNI and my problem is that I don't know if it is possible to call a C function calling a Java Method (or doing anything else with JNI) from another C function.
    In fact, after receiving datas in a socket made by a C function, I would like to create a class instance (and I don't know how to do it too ; ) ) and init this instance with the strings I received in the socket.
    Is all that possible ?
    Thank you very much for your help !

    Hard to understand the question, but by most interpretations the answer is going to be yes.
    You do of course understand that JNI is the "API" that sits between Java and C and that every call between the two must go through that. You can't call it directly.

  • Why cant I call a getResultSet method more than 1

    Why cant I call the getRSS method more than 1 time from my page?
    I have a class called methods class, here is the code:
    public class methodsClass {
        public java.sql.Connection objConn = null;
        public String query = null;
        public java.sql.PreparedStatement statement = null;
        public java.sql.ResultSet objRS = null;
        /** Creates a new instance of methodsClass */
        public methodsClass() {}
         public ResultSet getRSS(String sql)
            String strSQL = sql;
            try
                Class.forName("oracle.jdbc.driver.OracleDriver");
                objConn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:CCD","system", "Abcd1234");
                statement = objConn.prepareStatement(strSQL,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
                objRS = statement.executeQuery();
            catch (Exception e)
                System.err.println("Error in getRSS method");
                e.printStackTrace();
            return objRS;
        public void killConn()
            try
                    objRS.close();
                    System.out.println("Resultset is closed");
                    statement.close();
                    System.out.println("Statement is closed");
                    objConn.close();
                    System.out.println("Connection is closed");
                catch(Exception e)
                System.err.print("Unable to kill all objects");
                e.printStackTrace();
    //END OF CLASS***************************************** I call the method from the following jsp:
    <%
    String eqCat = "Tracked Vehicle";
    String strSQL = "SELECT DISTINCT * FROM robert WHERE eqcategory = '"+eqCat+"'";
    methodsClass mc = new methodsClass();
    ResultSet objRS = mc.getRSS(strSQL);
    java.lang.System.out.println(strSQL);
    %>
         <select name="selectBox">
         <% while(objRS.next()){
             out.println("<option value='"+objRS.getString("eqtype")+"'>"+objRS.getString("eqtype")+"</option>");
               mc.killConn();
    %> The above works fine.
    If I try to call the getRSS function again on this page I get the following error:javax.servlet.ServletException: Exhausted Resultset
    I tried to call it like so:
    newNameSQL = "Select * from robert where eqtypes = 'someVariable'";
    newNameRS = mc.getRSS(strSQL);
    <%=newNameRSS.getString("something");%>I cant understand why I get this error, I am closing the rs,conn and statement in the killConn method.
    TIA!

    I did that but still the same error. The problem is when I attempt to open up another resultset on the same page I get the Exhausted ResultSet error. I have even eliminated the class file altogether by doing this:
      String eqCat = "Tracked Vehicle";
      String strSQL = "SELECT DISTINCT eqtype FROM robert WHERE eqcategory = '"+eqCat+"'";
      Class.forName("oracle.jdbc.driver.OracleDriver");
      Connection objConn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:CCD","system", "Abcd1234");
      PreparedStatement statement = objConn.prepareStatement(strSQL,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
      ResultSet objRS = statement.executeQuery();
      System.out.println(strSQL);
    //The above works fine and then below I add this and the error comes back
         <select name="cs_popup_name_1" onchange="CSURLPopupShow(/*CMP*/'cs_form_name_1', /*CMP*/'cs_popup_name_1', 'Main');">
         <% while(objRS.next()){
            String eq = objRS.getString("eqtype");
             out.println("<option value='"+eq+"'>"+eq+"</option>");
    objRS.close();
    objConn.close();
    statement = null;
    strSQL = null;
    strSQL = "SELECT * FROM robert";
      Class.forName("oracle.jdbc.driver.OracleDriver");
      objConn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:CCD","system", "Abcd1234");
      statement = objConn.prepareStatement(strSQL,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
      ResultSet rs = statement.executeQuery();
      System.out.println(strSQL);
    //If I leave the field below commented out I get no errors, but if I comment it out I get the error
    <a href="#" onmouseover="showImg('<%=rs.getString("img1")%>')">                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How can i call a main method  from a different class???

    Plzz help...
    i have 2 classes.., T1 and T2.. Tt2 is a class with a main method....i want to call the main method in T2......fromT1..is it possibl..plz help

    T2.main(args);

  • How can i call a taskflow methode from backing bean ??

    Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660
    i like to call a Methode (taskflow) from backing bean!
    my bean code :
        public void imageLinkActionListner(ActionEvent actionEvent) {
            String              id      = actionEvent.getComponent().getId();
            int                 linkID  = Integer.parseInt(id.substring(4));
            DCBindingContainer  bc      = (DCBindingContainer)ADFUtils.getBindingContainer();
            DCTaskFlowBinding   tf      = null;
            System.out.println("Region Change...."+id+" INT "+linkID);
            switch (linkID) {
                case LINK_CALENDAR_REGION:
                    tf = (DCTaskFlowBinding)bc.findExecutableBinding("calendartaskflowPage");                   
                break;
                case LINK_MAIL_REGION:
                    tf = (DCTaskFlowBinding)bc.findExecutableBinding("mailtaskflowPage");                   
                break;
              case LINK_ADDRESS_REGION:
                  tf = (DCTaskFlowBinding)bc.findExecutableBinding("addresstaskflowPage");                   
              break;
              case LINK_BLOGS_REGION:
                  tf = (DCTaskFlowBinding)bc.findExecutableBinding("blogstaskflowPage");                   
              break;
              case LINK_MAPS_REGION:
                  tf = (DCTaskFlowBinding)bc.findExecutableBinding("mapstaskflowPage");                   
              break;
            default:
                return;
            if (tf != null){
                uiMainRegion.setRegionModel(tf.getRegionModel());
                uiMainRegion.setValue(tf.getRegionModel());
                tf.getExecutableBindings();
                AdfFacesContext.getCurrentInstance().addPartialTarget(uiMainRegion);
        }i like to call *#{backingBeanScope.mapBean.initMap}*
    my taskflow source
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <task-flow-definition id="map-task-flow">
        <default-activity id="__1">map</default-activity>
        <view id="map">
          <page>/map/map.jsff</page>
        </view>
        <method-call id="initMap">
          <method>#{backingBeanScope.mapBean.initMap}</method>
          <outcome id="__7">
            <fixed-outcome>init</fixed-outcome>
          </outcome>
        </method-call>
        <control-flow-rule id="__2">
          <from-activity-id id="__3">initMap</from-activity-id>
          <control-flow-case id="__5">
            <from-outcome id="__6">init</from-outcome>
            <to-activity-id id="__4">map</to-activity-id>
          </control-flow-case>
        </control-flow-rule>
        <use-page-fragments/>
      </task-flow-definition>
    </adfc-config>

    Hi,
    to call the bean, use the EL in Java and reference #{backingBeanScope.mapBean.initMap} as a method expression. If you try and access the bean directly then chances are that the instance is not available. Using EL from Java always guarantees this
    Frank

  • How to call a bean method from javascript event

    Hi,
    I could not find material on how to call a bean method from javascript, any help would be appreciated.
    Ralph

    Hi,
    Basically, I would like to call a method that I have written in the page java bean, or in the session bean, or application bean, or an external bean, from the javascript events (mouseover, on click, etc...) of a ui jsf component. I.e., I would like to take an action when a user clicks in a column in a datatable.
    Cheers,
    Ralph

  • How to call a bean method through a javascript function

    I dont discover any problems calling the bean method in this maner:
    <%= helpdesk.data() %>
    But, when I use a Button Onclick= to call the script function and which then is going call my bean method
    an error on the page is reported!
    I have include som code which gives you the idea of what Iam searching for. And is it possible to call
    the bean method without doing from a new jsp page?
    If you have any suggestions to why it doesnt work, please let me know.
    I use Apache Tomcat 4.0
    Best regards Micah.
    <jsp:useBean id='helpdesk' scope='application'
    class='helpdesk.testdb'/>
    <html>
    <head>
    <script language="javascript">
    function broadcast()
    helpdesk.data();
    </script>
    </head>
    <body>
    <input type="button" value="Broadcast" onclick= broadcast()>
    </body>
    </html>

    It's actually quite simple:
    Beans run server-side
    Javascript runs client-side
    So you will never be able to run server-side-code thru the client...

Maybe you are looking for