Calling smartform application in ITS

Hi all,
I am workin on SRM 5.0 with integrated ITS.I have created a custom report and assigned a tcode to it as well as created an internet service for it.
Now i have added the tcode for the report in my SRM roles so that it is displayed as link in the ITS screen.However in my report i have a custom icon on the screen on click of which i call a custom smartform.I need to display this smartform in ITS.(In ITS.all forms are displayed in PDF format).However when i click on the custom icon in ITS,it doesnt open the smartform application.
Can anyone pls explain me the steps for calling a smartform in ITS?
ALL suggestions will be appreciated and rewarded.
BR,
SRM Tech

Hi,
Yes, you can do this like this:
      call function 'BBP_OUTPUT_SC_PREVIEW_SMART'
        exporting
          iv_guid                 = lv_guid
          iv_smartform            = 'ZBBP_SC_PREV'
          iv_html                 = space
        importing
          ev_pdf                  = lv_pdf
          ev_bin_filesize         = lv_bin_filesize
        exceptions
          no_smartform            = 1
          no_partner              = 2
          no_data                 = 3
          psf_error               = 4
          otf_error               = 5
          its_error               = 6
          no_printer              = 7
          others                  = 8.
- LV_GUID - SC GUID
- ZBBP_SC_PREV - name of smartform document
- lv_pdf - content of PDF document in XSTRING
- lv_bin_filesize - size of generated PDF document
Now when you get lv_pdf content you can do something like this:
*FROM BSP CALL
data: cached_response type ref to if_http_response,
        guid            type guid_32,
        display_url type string.
  create object cached_response type cl_http_response exporting add_c_msg = 1.
  lv_bin_filesize = xstrlen( lv_pdf ).
  cached_response->set_data( data   = lv_pdf
                             length = lv_bin_filesize ).
  cached_response->set_header_field( name  = if_http_header_fields=>content_type
                                     value = 'application/pdf' ).
  cached_response->set_status( code = 200 reason = 'OK' ).
  cached_response->server_cache_expire_rel( expires_rel = 180 ).
  call function 'GUID_CREATE'
    importing
      ev_guid_32 = guid.
  concatenate runtime->application_url '/' guid '.pdf' into display_url.
  cl_http_server=>server_cache_upload( url      = display_url
                                       response = cached_response ).
  navigation->exit( display_url ).
For ITS call you can user FM CALL_BROWSER.
Regards,
Marcin

Similar Messages

  • Submit Statement for calling smartform and using its data in another report

    Hello Everybody
    There is one report which display smartform as an output.  My requirement is to call that report and return back without showing its output and use its data for futher use in the report. i Hope i m clear with my query. Plzz reply its urgent.
    Currectly i m using this statement :
    SUBMIT  ZPOPRINT  WITH PO_NUM EQ IT_EKKO1-EBELN exporting list to memory and return.
    while executing the program, after this statement i m getting an output.  but i need to store it in memory, not to display the output.
    Waiting for ur reply..
    Thanks and Regards
    Virendra

    Hi.
    I have not done this kind of requirement. What i said was just an option which came to my mind. Also not sure whether it will work for you. While submitting ,instead of exporting list to memory do submit to SAP-SPOOL. Then later read the spool content to internal table.
    I am referring you two links for this.
    [Submit to SAP-SPOOL|http://help.sap.com/abapdocu_70/en/ABAPSUBMIT_LIST_OPTIONS.htm]
    [Spool to Internal table|spool file data to internal table].
    Also search for related topic in SCN.
    Regards
    Kesav

  • Calling portal application via it 's url from R/3 (with authentication)?

    Hello,
    how to call portal application by its url from R/3 (using ABAP)? How to avoid authentication screen?
    Best regards,
    Josef Motl

    <i>What I want is to call portal application on background (not to call browser).</i>
    you can use CL_HTTP_CLIENT class or HTTP_GET or HTTP_POST function modules for the same. (but you need to pass the user id /pwd in the program) (ITS doesnt fit your case)
    check out the demo programs.
    for CL_HTTP_CLIENT
    RSHTTP01
    HTTP_GET/POST
    RSHTTP20  
    RSHTTP70  
    RSHTTP90  
    Regards
    Raja
    Message was edited by: Durairaj Athavan Raja

  • Calling Smartform in WD application?

    Hi,
       Is it possible to call Smartform in WD application?
    Thanks

    Yes it is. Check out the thread [Displaying Smartforms in Webdynpro ABAP   |Re: Displaying Smartforms in Webdynpro ABAP; and check the code as Vikrant Trivedi suggested.
    Also check the SAP document [How to Display a Smartform as PDF document in Web Dynpro for ABAP|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0de1eb8-0b98-2910-7996-8a3c2fcf6785].
    Hope it helps.

  • The difference in calling an application module from a backing bean

    Hello everybody!
    I don't understand exactly, where is the difference in calling an application module from a backing bean in the following ways.
    Example 1
    FacesContext context = FacesContext.getCurrentInstance();
    ValueBinding vb = context.getApplication().createValueBinding("#{data}");
    BindingContext bc = (BindingContext)vb.getValue(context);
    DCDataControl dc = bc.findDataControl("AppModuleDataControl");
    AppModuleImpl appModule = (AppModuleImpl)dc.getDataProvider();Example 2
    String amDef = "model.services.AppModule";
    String config = "AppModuleLocal";
    AppModuleImpl appModule = (AppModuleImpl)Configuration.createRootApplicationModule(amDef, config);Example 3 (the same like Example 1???)
    String EL = "#{data.AppModuleDataControl.dataProvider}";
    FacesContext fc = FacesContext.getCurrentInstance();
    ValueBinding vb = fc.getApplication().createValueBinding(EL);
    AppModuleImpl appModule = (AppModuleImpl)vb.getValue(fc);Please can anybody explain, what the three examples do? Which example is preferred to call an application-module-method from a backing bean?
    Thanks and regards
    Majo
    Edit: I am using ADF BC 10g in JDev10 :)

    Hi :)
    >
    This could work, but can you describe the use case for which you need to get the ApplicationModule?
    Maybe we can find a better way to implement your functionality.
    >
    Sure, i know a lot of better ways to implement the same functionality too but its a huge project, its not my code and we have no time to reimplement this functions ;)
    Frank, i don't understand the first line of your code.
    DCBindingContainer bindings = ... resolve #{bindings}Where do i get the bindingContainer, if I don't have the "JSFUtils"- or "ADFUtils"-classes?
    Regards
    Majo
    Edit:
    Sorry, i have answer, before i think about it ;)
    FacesContext context = FacesContext.getCurrentInstance();
    Application app = context.getApplication();
    DCBindingContainer bindings = (DCBindingContainer)app.getVariableResolver().resolveVariable(context, "bindings");
    BindingContext bctx = bindings.getBindingContext();
    DCDataControl dc = bctx.findDataControl("AppModuleDataControl");
    AppModuleImpl am = (AppModuleImpl)dc.getDataProvider();or in my backing bean, when i add the property to the faces-config.xml
    DCBindingContainer bindings = this.getBindings();
    BindingContext bctx = bindings.getBindingContext();
    DCDataControl dc = bctx.findDataControl("AppModuleDataControl");
    AppModuleImpl am = (AppModuleImpl)dc.getDataProvider();Is this right?

  • Calling BSP Application from Business Object?

    Hi,
    Can any one tried to call BSP Application from Business Object for showing in the Portal.
    I have the following Scenario:
    1. BSP Page: User will input the Date and Submit to store in the Database. and in this page the Workflow will be truggered and a Work item will be sent to the Next Level User.
    2. When he executes the Work Item it has to trigger the BSP Application and has to show in the Enterprise Portal.
    All this has to happen in the Enterprise Portal.
    If any one knows how to triggere from business object, please let me know.
    Thanks & Regards
    Sumanth

    Hi Vijay,
    Thanks for the information. Its long back i was working on this, but not successful,
    Now the similar requirement i need to develope in R/3.
    I checked the mentioned class in R/3 4.7, This class is not available. I hope this is only in CRM because of PC-UI.
    Any Suggesions how can i achieve this execution of BSP.
    In one of the document i saw the Business Object BUS1006 as an example but i could not locate the way to reutilize the similar way.
    Thanks & Regards
    Sumanth

  • Calling Portal Application Components

    Due to formatting restrictions w/in Portal Application building, I need to be able to create (for example) a report where all headings are blank.
    I'd like to then embed the invocation of the report from a Dynamic Page, where the page will contain all of the formatting for the column headings.
    I've tried embedding the call two ways:
    1) <ORACLE>call RPT_0717092052.show()</ORACLE>
    2) <ORACLE>CALL PORTAL30.RPT_0717092052.show (
    p_arg_names => PORTAL30.wwv_standard_util.string_to_table2('_show_header:_max_rows:_portal_max_rows'),
    p_arg_values => PORTAL30.wwv_standard_util.string_to_table2('YES:25:25'))</ORACLE>
    Neither seems to work.
    Anyone have any ideas how to make this work??

    <i>What I want is to call portal application on background (not to call browser).</i>
    you can use CL_HTTP_CLIENT class or HTTP_GET or HTTP_POST function modules for the same. (but you need to pass the user id /pwd in the program) (ITS doesnt fit your case)
    check out the demo programs.
    for CL_HTTP_CLIENT
    RSHTTP01
    HTTP_GET/POST
    RSHTTP20  
    RSHTTP70  
    RSHTTP90  
    Regards
    Raja
    Message was edited by: Durairaj Athavan Raja

  • Calling struts application within a portlet

    Can anyone explain step wise procedure to call struts application within a portlet.or refer any tutorial for this.

    Amir,
    this might be because you are using the plain struts taglibs. you should use the pdk-struts taglibs. more specifically, you should use the pdk-struts-html taglib instead of the struts-html lib, as the latter renders URLs for a struts application whereas you need portal-enabled urls, which are provided by the pdk-struts-html lib.
    You can either change the taglib reference in your web.xml file to map the plain sruts-html.tld to the pdk-struts-html.tld (don't forget to include it and its jarfile in your deployment file), or you can add the library to every jsp page and replace the <html:whatever> tags by <pdk-html:whatever> tags. (or your other favourite prefix).
    Regards,
    Benjamin

  • Call ADF applications inside EBS.

    We are in the process of implementing couple of ADF applications with EBS security realm. I created a simple test app with a simple page and trying to use the EBS JAAS authentication, but its not authorizing for the pages. It looks like its authenticating fine.
    HEre are our Server configuration.
    Webloogic version - 10.3.6.0
    JDeveloper Version - 11.1.2.1
    Middleware version : 11.1.1.5 + interim patches
    p12917525_111150_Generic.zip
    p12979653_111150_Generic.zip
    The security model works fine in the Jdev Integrated WLS.
    I went through serveral documents including Oracle document E28169-01 (note 974949.1). We don't want to call ADF applications inside EBS. Basically we just want to use the EBS Authentication and Authorization for our ADF applications.
    As I mentioned earlier, its definitely authenticating my credentials, but its not authoring the page.

    User,
    I've done something like what Timo describes. We have deployed an application that exposes links to an external BI server to serve up reports/Discoverer workbooks. The URL is obviously different for dev/test/prod - so, what we did was to have a configuration table in the DB that defines such type of configuration parameters. We then have an application-scoped managed bean that sources its attributes from the database table and we refer to that managed bean using EL to construct the URLs. I didn't use web.xml/properties files for this because I wanted to have an EAR deployment artifact that could be deployed to any environment with no change.
    John

  • Calling web applications from another web application

    Hi everyone,
    I direly need your suggestions on how to implement the following requirements:
    I have a web application (i.e. App A). Then I have other web applications (i.e. App B, App C, App D, etc.) .
    For each of the other apps (App B, App C, App D), I need to have 2 variable/attribute settings whose values are to be set (pre-defined) per user.
    Meaning one user's values are different from another user.
    In App A, I need to call App B, App C, & App D one by one to get the values of the 2 variables/attributes for a particular user accessing App A.
    How should I implement this whole scenario such that I can set the values for 2 variables/attributes in App B, C, & D on a per user basis?
    Please help me get ideas on what methods or work-arounds to implement in order to achieve this.
    Thanks.
    blm

    Assuming this is running on a server, how about placing your data in application scope?
    All applications have access to it. Just make sure every object put in application scope is uniquely named
    and that your other application knows its name. One suggestion is to put a collection object (such as a List) in application scope and add items to it. This way, every application will know the collector's name. They can then search through the collection for any object addressed to itself. Just make sure you send data into and out of the collection in a thread safe way. such as by synchronization.
    Here is an example of an object that you can store in the collection:
    MessageObject{
    String fromApplication;
    String toApplication;
    String message;
    }

  • How do I call an Application Module method from a EntityImpl class?

    Guys and Gals,
    Using Studio Edition Version 11.1.1.3.0.
    I've got a price update form, that when submitted, takes the part numbers and prices in the form and updates the corresponding Parts' price in the Parts table. Anytime this Parts view object's ReplacementPrice attribute is changed, an application module method needs to be called which updates a whole slew of related view objects. I know you can modify view objects via associations (How do I call an Application Module method from a ViewObjectImpl class? but that's not what I'm trying to do. These AppModuleImpl methods are the hub for all price updates, as many different operations may affect related pricing (base price lists, price buckets, etc) and hence, call the updatePartPricing(key) method.
    For some reason, the below code does not call / run / activate the application module's method. The AppModuleDataControl exists and recordPartHistory(key) is registered and public. At runtime, the am.<method> code is simply ignored, and as a weird side-effect, I cannot navigate out of my current page flow.
      public void setReplacementPrice(Number value)
        setAttributeInternal(REPLACEMENTPRICE, value);
        AppModuleImpl am = (AppModuleImpl)this.getDBTransaction().findApplicationModule("AppModuleDataControl");
        Key key = new Key(new Object[]
            { getPartNumber() });
        am.recordPartHistory(key);  // AppModuleImpl method which records pricing history
        am.updatePartPricing(key); // AppModuleImpl method which updates a whole slew of related pricing tables
      }Any ideas?

    Thanks Timo.
    Turns out the code provided was correct, but the AppModuleImpl method being called was not. A dependent ViewObject wasn't returning the row I was expecting. I then tried to perform some operations on that row, which in turn ... just stopped everything, but didn't give me an error.
    It was the lack of the error that threw me off. I had never messed with calling an AppModuleImpl method from the EntityImpl so I assumed that's what was messing up.
    You are correct. It is available from the ViewRow, but I thought it better to put it in the EntityImpl. This method will be called every time the replacement cost is modified. If I didn't put it in the EntityImpl, I'd have to remember to call it every time a replacement cost changed.

  • How do we call smartforms in abap program or web services

    how do we call smartforms in abap program or web services
    How many types of smartforms are there?
    points will be rewarded

    Hi
    See this sample program
    Using the fun module smartform is called from the program
    Calling SMARTFORMS from your ABAP program
    REPORT ZSMARTFORM.
    Calling SMARTFORMS from your ABAP program.
    Collecting all the table data in your program, and pass once to SMARTFORMS
    SMARTFORMS
    Declare your table type in :-
    Global Settings -> Form Interface
    Global Definintions -> Global Data
    Main Window -> Table -> DATA
    http://sapr3.tripod.com
    TABLES: MKPF.
    DATA: FM_NAME TYPE RS38L_FNAM.
    DATA: BEGIN OF INT_MKPF OCCURS 0.
    INCLUDE STRUCTURE MKPF.
    DATA: END OF INT_MKPF.
    SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
    SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
    MOVE-CORRESPONDING MKPF TO INT_MKPF.
    APPEND INT_MKPF.
    ENDSELECT.
    At the end of your program.
    Passing data to SMARTFORMS
    <b>call function 'SSF_FUNCTION_MODULE_NAME'
    exporting
    formname = 'ZSMARTFORM'</b>
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    FM_NAME = FM_NAME
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    if sy-subrc <> 0.
    WRITE: / 'ERROR 1'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    call function <b>FM_NAME</b>
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    GS_MKPF = INT_MKPF
    EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5.
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Calling BSP application from CRM PCUI framework

    Hi All,
    We are using the CRM PCUI for channel partner management. Since CRM PCUI framework has some limitations as to how the data is formatted in the layout such as no multiple value selection ( since it is a generic framework using the blueprint tables we have to use the predefined layout settings) we want to call a standalone BSP application to maintain some of the data such as marketing attributes. We want to do this by providing a link to the standalone BSP application where the data can be maintained. Since we will be calling this application in the create mode of a new BP, is it possible to integrate the whole application as one logical unit ? I mean we want to commit the marketing attributes within the same 'save' methods of the pcui framework. Is this possible to do ? Any ideas or input is greatly appreciated.
    Thanks.

    Hi,
    we've already done a rework of the marketing attributes screen by using the technique I've described in my Weblog <a href="/people/gregor.wolf3/blog/2005/05/27/use-crm-pcui-html-viewer-to-call-a-custom-url">Use CRM PCUI HTML viewer to call a custom URL</a>. But it has one drawback: You can't use the Save button of the PC-UI applicaiton. You have to provide your own. But the usability enhanchement is rearly great.
    Regards
    Gregor

  • How to call smartform FM after using SSF_FUNCTION_MODULE_NAME?

    Hi Experts,
    How to call smartform FM after using SSF_FUNCTION_MODULE_NAME?
    I mean, in driver program i called SSF_FUNCTION_MODULE_NAME to get the related FM  for my smart form. after that How do I call it(smartform fm) . I tried to call by pressing PATTERN button in Report. but it is showing FM is not exist error.
    Call function SSF_FUNCTION_MODULE_NAME
    Export
    formname = 'zsmartform'
    import
    fm_name = function_name.
    function_name is stored the corresponding smartform fm. then How do i call it to process my smartform?
    thanks in advance.

    hi,
    Chk this sample.
    DATA: p_output_options TYPE ssfcompop, "occurs 0 with header line
    p_control_parameters TYPE ssfctrlop. "occurs 0 with header line
    p_output_options-TDCOPIES = 3. "number of copies.
    p_output_options-tddest = 'LP01'. "def
    p_control_parameters-no_dialog = 'X'. "no dilog box
    p_control_parameters-preview = 'X'. "no preview
    DATA : v_form_name TYPE rs38l_fnam.
    *---- Function to get the function module name of the    ----
    *---- specified Smart form.                              ----
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    formname = 'GIVE YOUR SMART FORM NAME'   
    * VARIANT = ' '
    * DIRECT_CALL = ' '
    IMPORTING
    fm_name = v_form_name
    EXCEPTIONS
    no_form = 1
    no_function_module = 2
    OTHERS = 3 .
    *---- Function Module to call the Smart Form          ----
    *step 1 - go to ur smart form
    *step2 - take environment
    *step3-take function module name
    *copy that unique number.
    *step4 -come back to ur driver program.
    *step5 - place ur cursur here. take patter,.give that unique number.
    *at that time u will get the below code.
    *step6 - rename that unique number with 'v_form_name' in the code generated by pattern.
    CALL FUNCTION v_form_name
    EXPORTING
    * ARCHIVE_INDEX =
    * ARCHIVE_PARAMETERS =
    control_parameters = p_control_parameters
    * MAIL_APPL_OBJ =
    * MAIL_RECIPIENT =
    * MAIL_SENDER =
    output_options = p_output_options
    user_settings = ' '
    * ARCHIVE_INDEX_TAB =
    * IMPORTING
    * DOCUMENT_OUTPUT_INFO =
    * JOB_OUTPUT_INFO =
    * JOB_OUTPUT_OPTIONS =
    EXCEPTIONS
    formatting_error = 1
    internal_error = 2
    send_error = 3
    user_canceled = 4
    OTHERS = 5
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    for any clarifiaction pls revert.
    regards,
    Reshma

  • Calling error/application logs in CRM inbound proxy

    Hi All,
    In inbound proxy of CRM, I have to call Error/Application logs (for eg:SLG1) whenever an integration process throws some error. Has anyone worked on this kind of scenario to call different application logs in CRM or R3 side inbound proxy.
    If so, please give some ideas on this.
    Thanks
    Deno

    Hi Deno,
    did you have a look at my blog in which I describe it ?
    /people/michal.krawczyk2/blog/2006/09/20/xi-abap-mapping-logs--more-standard-better-visibility
    Regards,
    michal

Maybe you are looking for