Fire background taks from webdynpro

Hi everyone, I just want to know if I can access an EJB  to create a background task from a WDynpro app, the requierement is something like this and I only can think in a EJB.
"the user enter data in a webdynpro app and click "send", the user don't wait for the post process, event if the explorer closes"
the post process =  wsdl consumption and a ARFC SAP backsystem call
I don't know really if a EJB will help me to do that, any suggestions ?

>
Isaac Mena wrote:
> Hi everyone, thanks for your replies, but I have some questions about the possible way to do this, if I make a new thread, if the user close de IE the webdynpro app and the thread may dead , and if I call a webservice, what kind of webservice do I need to call if the IE explorer and the webdynpro app were closed. :S thanks
No matter what is happening thread will continue to do its job (Thread will stop if it has finished its work, if someone stops it or if jvm is stopped and closing the client web browser will not raise any of these situations). But the problem as I understand, is you are afraid that if you execute some code and the execution takes for example one minute, if you close the browser before the execution ends (within the minute) you think it will be interrupted?
Regards,
Anton

Similar Messages

  • How do I remove background images from a PDF?  Using Adobe Acrobat 6.0 Standard.

    I have a file I need to print off, but the document is 100 pages lond and each page as a very obnoxious background image that makes it difficult to read the content, and I really don't want to waste the ink.
    I have tried a few things with no luck:
    -Tried replacing document background color in the 'Accessibility' tab in preferences.
    -Tried unchecking the 'Display large images' field in the 'Page Display' tab in preference - this leaves a dark gray background that I can't get rid of, which is almost as bad as the original image.
    -Tried several combinations under the 'Color Management' tab in preference to lessen the gray background achieved from the previous step.  I can only brighten the shade slighty, but there is still a fair amount of gray background.
    I just want a white background, or a clear background, and I have not seen any article or help topic on how to accomplish this.  Please help!
    Mike

    You might want to see if you can select the background with the object touchup tool. If so, can you then just delete the selected object. May take a while to go through the document, but if it solves the problem you are ahead. You may be able to select it with JavaScript and repeat the process. My point of using the object touchup tool is that it may not be a background set by Acrobat, but something that is simply labeled as an image from the Acrobat viewpoint.

  • Creation of background job from SE38

    hello all...
    In the selection screen of my report program, there are two radiobuttons - read mode or update mode.
    In read mode, the program reads an excel file and gives the output in teh form of errors, if at all, after some chekcs on this excel file.
    In update mode, the program should check the excel file, get an internal table with errors from the excel file as well as run BDC for the correct records in excel file. So the output here has two blocks, first one - errors in excel file, second one - errors in BDC update.
    But this update mode should run in background.
    HOW TO CALL THE BACKGROUND JOB FROM THIS REPORT PROGRAMME when the update mode is selected??
    Advance Thanks
    omkar

    Hi Vishal,
    1. How are u running the BDC ?
    2. If u are using call transaction syntax,
       then there is an extension to it.
        MODE mode
      (See help F1 on call transaction)
    The processing mode can take the following values:
    'A' Display screen
    'E' Display only if an error occurs
    'N' Do not display
    'P' Do not display; debugging possible
    3. We can use N
    4. N means, it won't display any screens
       of that BDC transaction.
    5. It does not exactly mean the BACKGROUND JOB
       generated thru sm36.
    Regards,
    Amit M.
    Message was edited by: Amit Mittal

  • Calling a Report/Transaction iview from Webdynpro..

    Hi all,
              Our first issue is we have a scenareio, where we need to execute reports(ABAP Program) from webdynpro. Is it possibile to execute a standard report from webdynpro? using JCO. Also tell me how to pass the input/output parameters.I am not allowed to create RFC.I can use only standard BAPI.
              Our second issue is we created one transaction type callable object, and we want to call this transaction callable object from webdynpro, in another callable object in GP. Is this Possibile in webdynpro. We tried using portal navigation, but it is working for normal webdynpro iviews only, not for url iviews also.
              Does any body know the answer for the above issues. please let us know.
             Thanks in advance.

    hi,
    1) it is not possible in web dynpro to call abap reports, what you can do is creating wrapper of Remote enabled FM around the report. But you dont have authorisation to create BAPI, so gotta take use of standard BAPIs.
    ABAP Report in WebDynpro
    this link will help you out for that(calling standard bapi in WD)
    https://www.sdn.sap.com/irj/sdn/downloaditem?rid=/webcontent/uuid/f0b0e990-0201-0010-cc96-d7ecd2e51715 [original link is broken]
    2) go thru this links
    WebDynpro Application as callable object in GP?
    Webdynpro callable object - RFC model
    implenting webdynpro as a Calable Object with GP Interface
    hope it helps
    regards

  • How to import Table from Webdynpro to RFC?

    In my application there is one RFC that has one import parameter String and a Table for import/export data from webdynpro.
    The context of model node and attributes is as follows
    A (Root Model Node for RFC)
    |....B (Model Sub Node for Output)
        |....C (Model Sub Node for Table)
            |....x (Model attribute)
            |....y (Model attribute)
    Table structure in RFC is same as Model node C.
    Before Executing RFC using
    wdContext.currentAElement().modelObject().execute();
    In Java end how to set or add data to x,y attribute so that RFC can get those values from table and insert into the ABAP table.

    Hi SBS,
    Try this code.
    IWDMessageManager msg = wdComponentAPI.getMessageManager();
    try {
    String empid = 10020;
    //or you can take empid from UI field also
    // String empid = wdContext.currentValueNodeElement().getEmployeeID();
    Bapi_Employee_Getdata_Input input = new Bapi_Employee_Getdata_Input();
    input.setEmployee_Id(empid);
    wdContext.nodeBapi_Employee_Getdata_Input().bind(input);
    // Calls remote function module BAPI_EMPLOYEE_GETDATA
    wdContext.currentBapi_Employee_Getdata_InputElement().modelObject().execute();
    // Synchronise the data in the context with the data in the model
    wdContext.nodePersonal_Data().invalidate();
    } catch (Exception e) {
    // TODO Auto-generated catch block
    msg.reportSuccess(“Message : “+e.getMessage());
    Re: RFC Issue - Cardinality and Selection problem
    Regards,
    Mithu

  • Removing background "noise" from an interview recording

    Hello!
    I was wondering if it was possible on Soundtrack Pro to remove continuous background "noise" from a recorded interview? An example would be someone clicking a pen or a tapping his foot during the duration of the interview. Any advice would be extremely helpful.
    Thanks so much!
    Ted

    It can, but what you are describing are not continuous, but points of sound. Continuous refers more to hums and vibrations, things like air conditioner noise or the sound of traffic. That said you can still give it a try. You can also try running the click and pop filter and see what you get.
    Regarding these point sources I have better luck removing them with Adobe's Soundbooth. Their cascading frequency display allows you to draw irregular shapes around sounds like these and then extract them without disturbing the other sounds around them.
    Take a look at the manual.
    Good luck

  • Fire out plug from InterfaceView

    Hello,
    i want to check authorization for my WebDynpro-Components.
    I want to use an Authorization component, so that other components can use this component. If authorization is ok, the authorization component should fire an out plug for the using component. The out plug is created in the interface view, because the using components can plug this component only via the interface view (am i wrong?). I find no way to fire the out plug of the authorization component, because i cannot access the interface view from inside the component. Can anyone helps me?
    Thanks and regards,
    Matthias

    Hi,
    I dont think you can fire a plug from the child component to some view of the parent component.
    What you can do is, create an event in Child component. which has a authrization parameter (boolean).
    After the authorization check is done , raise the event from the child component with authorization status (success(true)or failure(false)) as the parameter to this event.
    Read this in the parent component.. and then fire the plug to the approprite view from the parent component itself.
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/24/243ca46e1c334f8a6f8b0792656bc7/content.htm">Check this for more details on implementation</a>
    Regards
    Bharathwaj

  • Debugging is not working in R/3 from WebDynpro-ABAP developed webpage input

    Dear Friends,
    We are facing a serious problem for debugging. Expecting valuable input for the same.
    Debugging is not working in R/3 from WebDynpro-ABAP developed webpage input in Production Server.
    The debugging (for WebDynpro-ABAP application) is working in Dev. Server for
    1st ] Within R/3
    Ex. debug for bapi within R/3. i.e. value enter as input in R/3 only.
    2nd ] From webpage to R/3
    Ex. Some input given on the internet web page developed through WebDynpro and external breakpoint set in R/3 it works. It directs to R/3 code through debugging.
    In Prod. Server the 1st case above is working but the 2nd case is not working.
    In Prod. Server the WebDynpro developed applications are running successfully through internet explorer webpage inputs. So running the application is not a problem in prod. Server but debugging of the same is the problem.
    The setting which are done in Prod. server are,
    1] RZ10 in parameters are set for port and host name.
    2.1] In SMICM check for ICM.
    2.2] Host file updated in Windows-System 32.
    3] In SICF following services are active,
    3.1] default_host/sap/bc/webdynpro
    3.2] default_host/sap/public/bc
    3.3] default_host/sap/public/bc/webdynpro/viewdesigner
    3.4] default_host/sap/bc/wdvd
    3.5] default_host/sap/public/icman
    3.6] default_host/sap/bc/gui/sap/its/webgui
    3.7] default_host/sap/public/ping
    3.8] default_host/sap/bc/error
    3.9] default_host/sap/bc/echo
    4] In SE80
    4.1] Internet services-System-are published
    4.2] Internet services-WEBGUI-are published
    4.3] Utilities-Setting-ABAP Editor-Debugging-Username & New Debugger set.
    4.4] Utilities-Setting-ABAP Editor-Editor-Front-End Editor(New) set.
    5] In Su01 for user profiles sap_all & sap_new is assigned and role  SAP_BC_WEBSERVICE_DEBUGGER is assigned.
    6] The support packages are also updated to latest level.
    7] Gone through following links but not getting any clues.
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/74d50bd1431b5ae10000000a42189c/frameset.htm
    http://help.sap.com/saphelp_nw04s/helpdata/EN/77/3545415ea6f523e10000000a155106/frameset.htm
    Thanks in Advance.
    Best Regards,
    Abhijit.

    No cross posting
    Read the "Rules of Engagament"
    Regards
    Juan

  • Error when Interative Adobe Form is called from Webdynpro ABAP.

    Hi Experts,
    I trying to call a Interactive adobe form from ABAP Webdynpro application but I am facing the below error.
    Line: -
    The following error text was processed in the system GJD : User session (HTTP/SMTP/..) closed after timeout
    The error occurred on the application server az18u021_GJD_01 and in the work process 0 .
    The termination type was: ERROR_MESSAGE_STATE
    The ABAP call stack was:
    Method: PREPROCESS_REQUEST of program CL_WDR_CLIENT_ABSTRACT_HTTP===CP
    Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program CL_WDR_MAIN_TASK==============CP
    Method: EXECUTE_REQUEST_FROM_MEMORY of program CL_HTTP_SERVER================CP
    Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
    Module: %_HTTP_START of program SAPMHTTP
    Line: -
    When I uncheck the enabled property of the Interactive From in the Page of the WebDynpro I am able to execute the application successfully.But the Adobe form behaves as a Static Form when I uncheck the enabled property.
    So kindly provide your valuable suggestions to avoid the above error when I am calling a Interactive adobe form from Webdynpro ABAP.
    Thanks in Advance.
    Regards,
    Arun.

    Hello,
    Hello, are you sure you have your ADS credentials configured correctly and valid? I guess you know that is the only difference between clicking enabled on true or false. If you are not sure, you can use SE38, search for FP_* and pick some reports to check the licencing. The names of the reports are good enough to recognize the right one.
    Or maybe that is a security problem? Have you checked the ADS_ERROR string? Did you use the ADS trace?
    check: http://help.sap.com/saphelp_nw70/helpdata/en/2c/241a427ff6db2ce10000000a1550b0/content.htm
    and especially note 999998
    Regards, Otto

  • Update data in r/3 from webdynpro using bapi

    Hi ,
    i am new to webdynpro.
    i want to update data say sales order in r/3 backend from webdynpro.
    can i have some links for the same.
    i have seen previous forums in following link, but couldn't open.do i need to register to have some extra rights.
    /thread/12846 [original link is broken]
    thanks in advance

    Hi Satya
    In order to update data in R/3 from web dynpro you need to use RFC or BAPI
    The Adaptive Remote Function Call (Adaptive RFC) is a technology that enables the Web Dynpro application developer to use the business functions encapsulated in Business APIs (BAPIs) even after a structure modification, without having to provide the new data using a second back end or a new structure with subsequent regeneration of the proxies.
    Procedure for Importing Adaptive RFC model is as follows
      1. Choose the context menu entry Create Model on the Models node of the relevant Web Dynpro component.
    2. In the model wizard, choose Import Adaptive RFC Model followed by Next.
    3. Make the required entries – for example, to specify where the generated RFC model instances and RFC metadata are to be stored.
    4. In the next wizard window, you enter your user data for the SAP System that contains the BAPIs from which you want to generate the proxies. You use it to log on to the SAP System online.
    To be able to log on to the SAP System, it must be entered in the logon group.
    5.  Next select the BAPIs for which you want to create Java proxies in a generation process. Then choose Next to proceed to the next wizard window.
    6.The import log provides information about the generated model classes, properties, and model relations. Choose Finish to start the generation process.
    Now add this model in "Used Model" for your application
    Now for graphic display you create view,for the progarm control create controller and used this model to retrieve & update data.
    For more information about web dynpro for Java refer
    http://help.sap.com/saphelp_nw2004s/helpdata/en/14/c897427f18d06ae10000000a155106/frameset.htm
    For information about RFC & BAPI
    http://help.sap.com/saphelp_nw2004s/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm
    Regards
    Gauri

  • How can I get the background music from iMovie trailer, "Romance"to be used in another imovie?

    Is there any way to download the background music from the  iMovie trailer template "Romance" to be used in another iMovie of greater length than that of a trailer?

    In addition to Tom's good advice, another method is to access the audio file in iMovie's package contents folder.
    In Finder, in the Applications folder, right-click (or control-click) on iMovie.app and select Show Package Contents from the pop-up menu. Open the folder Contents>Resources. In that folder you will find components for each Trailer, including the soundtrack. The file you are seeking is named "SoundTrack - Romance.m4a".
    Copy then paste the file to your Desktop (don't otherwise mess with items in package contents folders!). Open the file in QuickTime - it is titled "Love Story FC2". Opening the Inspector in QuickTime (Window>Show Movie Inspector) reveals it as AAC format. If you wish, as Tom indicated, you can Export the file from QuickTime in other sound formats, such as AIFF. If preferred, you can import either the AAC file or the converted file to iTunes (or other audio apps) for use as required.
    John

  • Passing Parameters via Post Method from Webdynpro Java to a web application

    Hello Experts,
    I want to pass few parameters from a web dynpro application to an external web application.
    In order to achieve this, I am referring to the below thread:
    HTTP Post
    As mentioned in the thread, I am trying to create an additional Suspend Plug parameter (besides 'Url' of type String) with name 'postParams' and of type Map.
    But when I build my DC, I am getting the same error which most of the people in the thread have mentioned:
    Controller XXXCompInterfaceView [Suspend]: Outbound plug (of type 'Suspend') 'Suspend' may have at most two parameters: 'Url' of type 'string' and 'postParams' of type 'Map'.
    I am using SAP NetWeaver Developer Studio Version: 7.01.00
    Kindly suggest if this is the NWDS version issue or is it something else that I am missing out.
    Also, if it is the NWDS version issue please let me know the NWDS version that I can use to avoid this error.
    Any other suggestion/alternative approach to pass the parameters via POST method from webdynpro java to an external web application apart from the one which is mentioned in the above thread is most welcome.
    Thanks & Regards,
    Anurag

    Hi,
    This is purely a java approach, even you can try this for your requirement.
    There are two types of http calls synchronous call or Asynchronous call. So you have to choose the way to pass parameters in post method based on the http call.
    if it is synchronous means, collect all the values from users/parameters using UI element eg: form and pass all the values via form to the next page is nothing but your web application url.
    If it is Asynchronous  means, write a http client in java and integrate the same with your custom code and you can find an option for sending parameters in post method.
    here you go and find the way to implement Asynchronous  scenario,
    http://www.theserverside.com/news/1365153/HttpClient-and-FileUpload
    http://download.oracle.com/javase/tutorial/networking/urls/readingWriting.html
    http://digiassn.blogspot.com/2008/10/java-simple-httpurlconnection-example.html
    Thanks & Regards
    Rajesh A

  • Data not getting inserted in R/3 System from Webdynpro

    Hi,
    We were trying to insert some data into r/3 z-table using a Custom BAPI using RFC.
    But the data is not getting inserted.
    Through I commit is being performed explicity.
    Please help:
    Below is the code :
    Controllor code :
    public void wdDoInit()
        //@@begin wdDoInit()
         try{
            Z_Bapi_Rfq_Test_Input objStatus = new Z_Bapi_Rfq_Test_Input();
            wdContext.nodeZ_bapi_rfq_test().bind(objStatus);
    //        Create a new element in node Bapi_Transaction_Commit_Input
          Bapi_Transaction_Commit_Input inputCommit =
          new Bapi_Transaction_Commit_Input();
          wdContext.nodeBAPI_TRANSACTION_COMMIT()
          .bind(inputCommit);
            //Bapi_Transaction_Commit_Input obj;
           // wdContext.nodeZ_Bapi_Quo_Salesrep_Status_Input().invalidate();
            //wdContext.nodeOutput().invalidate();
            //wdContext.nodeRfq_Status().invalidate();
              } catch(Exception rfqException){
                        wdComponentAPI.getMessageManager().reportException("rfqException="+rfqException.getMessage(),true);
        //@@end
    public void executeBapi( )
        //@@begin executeBapi()
         try{
                   Z_Bapi_Rfq_Test_Input  obj = wdContext.currentZ_bapi_rfq_testElement().modelObject();
                   AbstractList   objAbBapiPartner = new Bapiparnr.Bapiparnr_List();
                   Bapiparnr objBapiPartner = new Bapiparnr();
                   objBapiPartner.setPartn_Numb("0000001046");
                   objBapiPartner.setPartn_Role("AG");
                   //obj.addPartner(objBapiPartner);
                   objAbBapiPartner.add(objBapiPartner);
                  obj.setPartner(objAbBapiPartner);
                  Bapisdhd1 objBapisdhd1 = new Bapisdhd1();
                   objBapisdhd1.setSales_Org("2500");
                   objBapisdhd1.setDistr_Chan("30");
                   objBapisdhd1.setDivision("20");
                   objBapisdhd1.setDoc_Type("ZRFQ");
                 obj.setHeader(objBapisdhd1);
                 obj.execute();
    //             Synchronise the data in the context with the data in the model
                   wdContext.nodeZ_bapi_rfq_test().invalidate();
              wdContext.nodePartner().invalidate();
                   wdContext.nodeHeader().invalidate();
                   wdContext.nodeOutput().invalidate();
                   wdContext.nodeReturn().invalidate();
    //               Z_Bapi_Quo_Salesrep_Status_Output outPut= obj.getOutput();
    //               if(outPut!=null){
    //                    List materialList=outPut.getRfq_Status();
    //                    if(materialList!=null){
    //                      wdComponentAPI.getMessageManager().reportSuccess("materialList="+materialList.size());
              } catch(Exception rfqException){
                   wdComponentAPI.getMessageManager().reportException("rfqException="+ rfqException.toString(),true);
        //@@end
    public void executeBapi_Commit( )
        //@@begin executeBapi_Commit()
         try {
    //       Calls remote function module BAPI_Transaction_Commit
         wdContext.currentBAPI_TRANSACTION_COMMITElement().modelObject().execute();
         wdContext.nodeBAPI_TRANSACTION_COMMIT().invalidate();
         wdContext.nodeOutput1().invalidate();
         wdContext.nodeReturn().invalidate();
         wdContext.nodeReturn1().invalidate();
         } catch (WDDynamicRFCExecuteException ce) {
              wdComponentAPI.getMessageManager().reportException(ce.getMessage(), false);
        //@@end
    View Controlloer Code:
    public void wdDoInit()
        //@@begin wdDoInit()
         wdThis.wdGetCControllerController().executeBapi();
         wdThis.wdGetCControllerController().executeBapi_Commit();
                 IWDApplication wedDynApplication=wdComponentAPI.getApplication();
                 IWDApplicationInfo applicationInfo=wedDynApplication.getApplicationInfo();
                 Collection collection=applicationInfo.getApplicationProperties();
        //@@end

    Hi Gareth,
    I was not getting enough time to reply, so replying late.
    Actaully the problem was with r/3 BAPI Code itself.
    There was condition in the begining of the code to check the data in the workare of R/3, so this condition was failing here.
    But when we try to invoke that bapi from r/3 workbench it works fine because the data first comes to R/3 workarea then to R/3 Tables.
    But when we insert data from Webdynpro framework , the data directly goes to R/3 Tables rather than the R/3 Workarea. So in Bapi the first condition was failing and no data was getting inserted.
    So this was the problem, and we solved it.
    Thanks,
    Regards,
    Aditya metukul

  • How to get the complete data from Webdynpro using a RFC

    hi guys,
    A form is created in the webdynpro, when that pdf form is called the user have to provide the key field ie the employee number in the form and then when he press the 'go' button a rfc is called and it gives all the details of the employee in the form. Then the user have to input some fields in the form and he have press the submit button. My problem is here, when the user is going to press the submit button that form will be converted to a stream (binary) of data and it is sent to one of the import parameter used in the RFC.
    I have created a RFC and created a import parameter of data type XSTRING, since i want to see what exactly R3 is receiving from web dynpro i am writing this contant in the sever as a text file. When i saw that text file i cant see the complete data.
    And when i searched in R3 the capacity of xstring is 1024 CHAR, so i dont know how to capture the entire data from webdynpro into my R3.
    I give the code what i worte please tell me am i missing anything in my code, or is there any data type which can hold more than 500kb of data which is coming from webdynpro.
    FUNCTION ZSEND_MAIL_ATTACHMENT.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(OUT_PLACE_LEVEL) TYPE  XSTRING OPTIONAL
    *"     VALUE(BIN_DATA) TYPE  INDX_CLUST OPTIONAL
    *"  TABLES
    *"      IT_MESSAGE STRUCTURE  SOLISTI1
    Data Declaration
      DATA: gd_cnt TYPE i,
          gd_sent_all(1) TYPE c,
          gd_error TYPE sy-subrc,
          tab_lines LIKE sy-tabix.
    Structure Declaration
      DATA : BEGIN OF it_file OCCURS 0,
              row(255),
             END OF it_file.
      DATA : BEGIN OF i_split OCCURS 0,
      row(50),
      END OF i_split.
    Internal Table Declaration
      data : it_receivers like table of SOMLRECI1 with header line."occurs 0.
      DATA : objbin LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE. "sOLIX
      DATA : it_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE.
      data : wa_receiver like table of SOMLRECI1 with header line.
      data : it_receiver like table of SOMLRECI1 with header line.
      data : v_bin_data like SOLISTI1 occurs 0 with header line.
      DATA : gd_doc_data LIKE sodocchgi1 OCCURS 0 WITH HEADER LINE.
    *data bin_data1 like table of solix with header line.
      REFRESH : objbin, it_packing_list, it_receivers, wa_receiver.
      CLEAR   : objbin, it_packing_list, wa_receiver, it_receivers.
      DATA V_SUBJECT(255) VALUE 'HI'.
      gd_doc_data-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( it_message ).
      gd_doc_data-obj_langu = sy-langu.
      gd_doc_data-obj_name = 'SENDFILE'.
      gd_doc_data-obj_descr = v_subject.
      gd_doc_data-sensitivty = 'O'.
      APPEND GD_DOC_DATA.
    Appending The Internal Table it_packing_list
      it_packing_list-head_start = 1.
      it_packing_list-head_num = 0.
      it_packing_list-body_start = 1.
      it_packing_list-doc_type = 'RAW'.
      it_packing_list-body_num = tab_lines.
      APPEND it_packing_list.
    *CALL FUNCTION 'GUI_UPLOAD'
    *EXPORTING
    *filename = V_FILE_PATH
    *filetype = 'BIN'
    *TABLES
    *data_tab = BIN_DATA.
      move bin_data to v_bin_data.
      append v_bin_data.
    *move soli to bin_data.
      LOOP AT V_BIN_DATA into objbin.
    MOVE v_bin_data TO objbin-line.
        APPEND objbin.
      ENDLOOP.
      CLEAR it_packing_list.
      DESCRIBE TABLE objbin LINES tab_lines.
      it_packing_list-transf_bin = 'X'.
      it_packing_list-head_start = 1.
      it_packing_list-head_num = 1.
      it_packing_list-body_start = 1.
      it_packing_list-doc_type = 'PDF'.
      it_packing_list-body_num = tab_lines.
      it_packing_list-doc_size = tab_lines * 255.
      APPEND it_packing_list.
    data file(255) value '/tmp/bali.txt'.
    *Appending The Internal Table it_receivers
    close dataset '/tmp/bali.txt'.
    open dataset '/tmp/bali.txt' for output in text mode encoding default.
    if sy-subrc = 0.
    loop at objbin.
    transfer objbin to '/tmp/bali.txt'.
    endloop.
    else.
    write 'hi'.
    close dataset '/tmp/bali.txt'.
    endif.
      it_receiver-receiver = '[email protected]'.
      it_receiver-rec_type = 'U'.
      it_receiver-com_type = 'INT'.
    APPEND wa_receiver.
    move wa_receiver[] to it_receiver[].
      append it_receiver.
    *Move wa_receiver[] to it_receivers[].
    Clear it_receivers.
    if i_OUT_PLACE_LEVEL NE 0.
    loop at it_receivers into wa_receiver.
       loop at it_receivers into wa_receiver.
    **Function Module To Post The Message To Externa Mail
         CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
           EXPORTING
             document_data              = gd_doc_data
             put_in_outbox              = 'X'
             commit_work                = 'X'
           TABLES
             packing_list               = it_packing_list
             CONTENTS_TXT               = objbin
             receivers                  = it_receivers
           EXCEPTIONS
             too_many_receivers         = 1
             document_not_sent          = 2
             document_type_not_exist    = 3
             operation_no_authorization = 4
             parameter_error            = 5
             x_error                    = 6
             enqueue_error              = 7
             OTHERS                     = 8.
         clear wa_receiver.
    ENDFUNCTION.

    You have to convert your long string to a table of shorter strings.
    There may be other ways, but one possibility is to use a loop to process you string.
    while (there is something left)
       put the next e.g. 1024 characters in a new row of your table
    endwhile
    If you need to reconstruct your string from the table, don't use simple concatenation since it will remove blanks at the end of lines. Believe me (from experience) sooner or later this will happen.
    Instead you need to either set the subsections of your long string, or insert from the end of your table and keep shifting the contents (probably less efficient) right

  • Not able to open pdf file ( smart form from webdynpro )

    Dear friends,
    while trying to download pdf file from webdynpro i am getting the following error ( pls check the screen shot and also my  code )
    could any one please let me know what's the issue
    Thanks
    Vijaya
    data    v_bin_filesize           TYPE i,
               st_job_output_info       TYPE ssfcrescl,
                bin_pdfx TYPE xstring,
    data  : it_docs     TYPE STANDARD TABLE OF docs,
              it_lines    TYPE STANDARD TABLE OF tline.
    data : lv_file_name type string.
              lv_file_name = 'PDFSMARTFORM.PDF'.
    CALL FUNCTION 'CONVERT_OTF_2_PDF'
    * EXPORTING
    *   USE_OTF_MC_CMD               = 'X'
    *   ARCHIVE_INDEX                =
         IMPORTING
           bin_filesize           = v_bin_filesize
         TABLES
           otf                    = st_job_output_info-otfdata
           doctab_archive         = it_docs
           lines                  = it_lines
         EXCEPTIONS
           err_conv_not_possible  = 1
           err_otf_mc_noendmarker = 2
           OTHERS                 = 3.
       cl_wd_runtime_services=>attach_file_to_response(
       i_filename = lv_file_name
       i_content = bin_pdfx
       i_mime_type = 'application/pdf'
       i_in_new_window = abap_false
       i_inplace       = abap_false ).

    Hi,
    I think the binary file conversion was not done properly( you haven't filled bin_pdfx, its the otf_data ). OR, Use CONVERT_OTF FM and pass format as PDF. Check this document for reference: Opening a Smartform in Web Dynpro ABAP
    Hope this helps u,
    Regards,
    Kiran

Maybe you are looking for