Lock the report changed by USER

Hi All,
I have created queries in BEx for the end user . now i want to lock these report so that no one can change it 
( Display Only).
What are the steps to do that ?
Regards,
Komik Shah

Hi,
what about a authorization concept? Have a look at the possibilities you have in there and come back with specific questions.
Lock the thread created by USER.
Siggi

Similar Messages

  • Unable to Schedule the Report with a user with Author Role.

    Hi,
    I tried to Schedule the Report using weblogic user(which has admin role) it worked perfectly. But when i try to login using User(which has author role) and when i try to schedule a report i am getting the following error. It is clustered Environment.
    [nQSError: 77006] Oracle BI Presentation Server Error: A fatal error occurred while processing the request. The server responded with: Authentication Failure.
    Error Codes: IHVF6OM7:OPR4ONWY:U9IM8TAC
    Location: saw.connectionPool.getConnection, saw.securitysubsystem.checkauthentication.runimpl, saw.securitysubsystem.checkauthentication, saw.delivers.rpc.getDeviceContent, saw.rpc.server.responder, saw.rpc.server, saw.rpc.server.handleConnection, saw.rpc.server.dispatch, saw.threadpool.socketrpcserver, saw.threads
    Odbc driver returned an error (SQLDriverConnectW).
    State: 08004. Code: 10018. [NQODBC] [SQL_STATE: 08004] [nQSError: 10018] Access for the requested connection is refused.
    [nQSError: 43113] Message returned from OBIS.
    [nQSError: 13039] The impersonator does not exist in the BI Security Service. (08004)
    Error Codes:
    Location: saw.delivers.rpc.getDeviceContent, saw.rpc.server.responder, saw.rpc.server, saw.rpc.server.handleConnection, saw.rpc.server.dispatch, saw.threadpool.socketrpcserver, saw.threads
    Error Codes: AGEGTYVF
    AgentID: /users/richard/Test Mail Report
    ...Trying Agent Get Response Content loop again.... Sleeping for 8 seconds.[nQSError: 77006] Oracle BI Presentation Server Error: A fatal error occurred while processing the request. The server responded with: Authentication Failure.
    Error Codes: IHVF6OM7:OPR4ONWY:U9IM8TAC
    Location: saw.connectionPool.getConnection, saw.securitysubsystem.checkauthentication.runimpl, saw.securitysubsystem.checkauthentication, saw.delivers.rpc.getDeviceContent, saw.rpc.server.responder, saw.rpc.server, saw.rpc.server.handleConnection, saw.rpc.server.dispatch, saw.threadpool.socketrpcserver, saw.threads
    Odbc driver returned an error (SQLDriverConnectW).
    State: 08004. Code: 10018. [NQODBC] [SQL_STATE: 08004] [nQSError: 10018] Access for the requested connection is refused.
    [nQSError: 43113] Message returned from OBIS.
    [nQSError: 13039] The impersonator does not exist in the BI Security Service. (08004)
    Error Codes:
    Location: saw.delivers.rpc.getDeviceContent, saw.rpc.server.responder, saw.rpc.server, saw.rpc.server.handleConnection, saw.rpc.server.dispatch, saw.threadpool.socketrpcserver, saw.threads
    Error Codes: AGEGTYVF
    AgentID:/users/richard/Test Mail Report
    ...Trying Agent Get Response Content loop again.... Sleeping for 6 seconds.[nQSError: 77006] Oracle BI Presentation Server Error: A fatal error occurred while processing the request. The server responded with: Authentication Failure.
    Error Codes: IHVF6OM7:OPR4ONWY:U9IM8TAC
    Location: saw.connectionPool.getConnection, saw.securitysubsystem.checkauthentication.runimpl, saw.securitysubsystem.checkauthentication, saw.delivers.rpc.getDeviceContent, saw.rpc.server.responder, saw.rpc.server, saw.rpc.server.handleConnection, saw.rpc.server.dispatch, saw.threadpool.socketrpcserver, saw.threads
    Odbc driver returned an error (SQLDriverConnectW).
    State: 08004. Code: 10018. [NQODBC] [SQL_STATE: 08004] [nQSError: 10018] Access for the requested connection is refused.
    [nQSError: 43113] Message returned from OBIS.
    [nQSError: 13039] The impersonator does not exist in the BI Security Service. (08004)
    Error Codes:
    Location: saw.delivers.rpc.getDeviceContent, saw.rpc.server.responder, saw.rpc.server, saw.rpc.server.handleConnection, saw.rpc.server.dispatch, saw.threadpool.socketrpcserver, saw.threads
    Error Codes: AGEGTYVF
    AgentID: /users/richard/Test Mail Report
    Exceeded number of request retries for method GetResponseContent.
    Can any one help me with this.
    Thanks
    Rondo.
    Edited by: RONDO on Dec 12, 2012 4:07 PM

    Check the Doc ID 1446877.1
    As per this doc Fix to apply patch 13553428:
    The fix to this issue is to apply patch for the following unpublished bug.
    Bug 13553428 - QA:BLK:DELIVER TO CORP. OID LDAP USERS FAILED WITH IMPERSONATOR DOES'NT EXIST.
    Patch 13553428: QA:BLK:DELIVER TO CORP. OID LDAP USERS FAILED WITH IMPERSONATOR DOES'NT EXIST.
    The patch is available on MOS and can be applied to all platforms.
    Or access via this link:
    https://updates.oracle.com/Orion/Services/download/p13553428_111160_Generic.zip?aru=14732325&patch_file=p13553428_111160_Generic.zip
    Please refer to the Readme. It is important to Stop the System before applying the patch. Then restart.
    During restart Weblogic should automatically detect that bimiddleware.ear has changed in the OH and automatically redeploy the application
    If helps pls mark as correct
    Edited by: Srini VEERAVALLI on Dec 12, 2012 7:39 PM

  • 'File in Use' message is received when one user is in the report and another user tries to open the Excel template

    ‘File in Use’ message is received when one user is in the report and another user tried to open the excel template. how to make excel template shared for multiple users so the users don’t see the ‘File in Use’ message?

    Hi Febin,
    In addition to others’ replies, we can create a shared workbook and place it on a network location where several people can
    edit the contents simultaneously. For example, if the people in your work group each handle several projects and need to know the status of each other's projects, the group can use a shared workbook to track the status of the projects. All persons involved
    can then enter the information for their projects in the same workbook.
    Regarding how to do this,
     the following article can be referred to reference.
    Use a shared workbook to collaborate
    http://office.microsoft.com/en-in/excel-help/use-a-shared-workbook-to-collaborate-HP010096833.aspx
    Best regards,
    Frank Shen

  • What are the reporting changes in BI 7.0 and sap 3.5

    Hi,
    what are the reporting changes in BI 7.0 and sap 3.5.
    can anybody know the other name of BI 7.0.
    what are the min,max no of load times.
    what is the load timings if the onsite office is at USA.
    Thanks & Regards,
    cheta.

    Hi Cheta,
    New Features in BI:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/910aa7a7-0b01-0010-97a5-f28be23697d3
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4487dd91-0b01-0010-eba1-bcd6419
    /people/michael.eacrett/blog/2006/06/07/whats-new-in-sap-netweaver-702004s--an-introduction-to-the-functionality-deltas-and-major-changes
    BI 7.0 reporting features
    http://searchsap.techtarget.com/cgi-bin/rd.pl/ftID-1121728-ctID-1064004?//expert/KnowledgebaseAnswer/0,289625,sid21_gci1064004,00.html
    http://help.sap.com/saphelp_nw04s/helpdata/en/9d/24ff4009b8f223e10000000a155106/content.htm
    Some features of BI 7 are
    1. In Infosets now you can include Infocubes as well.
    2. The Remodeling transaction helps you add new key figure and characteristics and handles historical data as well without much hassle. This is only for info cube.
    3. The BI accelerator (for now only for infocubes) helps in reducing query run time by almost a factor of 10 - 100. This BI accl is a separate box and would cost more. Vendors for these would be HP or IBM.
    4. The monitoring has been imprvoed with a new portal based cockpit. Which means you would need to have an EP guy in ur project for implementing the portal !
    5. Search functionality hass improved!! You can search any object. Not like 3.5
    6. Transformations are in and routines are passe! Yess, you can always revert to the old transactions too.
    check these link's
    http://help.sap.com/saphelp_nw04s/helpdata/en/a4/1be541f321c717e10000000a155106/content.htm
    In this one - check out slides 28-34
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4487dd91-0b01-0010-eba1-bcd64196ec6b
    Check this link to get PDF doc on SAP BI
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5ee3725b-0401-0010-e381-ac323362ce91
    Here is a powerpoint overview with illustrations of the differences between NW2004s (BI 7.0) and BW 3.5.x
    http://csc-studentweb.lrc.edu/swp/Berg/Articles/NW2004s_what_is_new.ppt
    check the presentaion
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5c46376d-0601-0010-83bf-c4f5f140e3d6
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5ee3725b-0401-0010-e381-ac323362ce91
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5c46376d-0601-0010-83bf-c4f5f140e3d6
    http://csc-studentweb.lrc.edu/swp/Berg/BB_index_main.htm
    http://csc-studentweb.lrc.edu/swp/Berg/articles/NW2004s_what_is_new.ppt
    Web Blogs & Threads in SDN
    /message/502929#502929 [original link is broken]
    /people/sap.user72/blog/2006/01/27/sap-netweaver-bi-versus-sap-bw-the-sequel
    Refer these links
    There is lot of Info Reg BI7.0 including Reporting also.
    Regards
    Karthik

  • Dynamically change the time value in the report used on user's locale?

    Hello
    Just a question as I have been thinking about a lot of new scenarios in OBIEE. This is an open discussion and I'd like to learn from you experts on this...
    Let's say I have a report that has date, time, and stock.
    The date and time are stored in a time dimension in the DB.. I also have a user table in the DB that stores user's information for authentication purpose.. The stock comes from a fact table..
    So let's say it is 9am in NYC when the stock market is opened, and my company's stock value is $10/share at 9am est, April 20th.
    Then I have a user who is in California, he logs on to his system at 9am pst, he show see the stock value at 9am pst, which is actually 12pm est. Then I can have a user from India, or Japan or UK that their local time may be the next day already..
    If they are all coming to the same stock report and select the date and time filter say "April 20th", "9am", the resulting stock value should not be $10 like it would be for NYC users. It should be a different value corresponding to the stock value at a different est time after converting the local time zone to est..
    If I want to implement this, how would i go about it?
    Should The data loaded into the date dimension be kept at 1 standard time zone?
    How would the system automatically know what time zone when an user logged in to the system?
    Where does the conversion take place?
    In summary, what would be an overall process at a high level to implement such thing?
    Please share your thoughts..
    Thank you

    Hi Careen,
    You have to go for Controller extension and add a firePartialAction event for that item,
    get the handle of that event then get the bean handle where you want to set the value
    and set the value to that bean.
    Or you can get the VO handle and set the field's attribute(may be name) and its Form attribute(may be id).
    Thanks,
    With regards,
    Kali.
    OSSi.

  • How do I get a list of the reports that a user has access to?

    <p>I need to be able to determine which reports a specified user has access to.  This is for an application where users will be able to search and view reports that have been archived through a separate process.  </p><p>I&#39;ve searched through the developer library, but I can&#39;t find this specific information.  Can I use the ObjectPrinicpals class to get this info?</p><p>Thanks!</p><p>-Dell<br /></p>

    Hi Robert!
    Yes, the presentation went well. It was a lot of fun to do and I had a great time at the conference.
    Your suggestion works great if I'm walking down through the reports looking to see who has access to them.Â
    However, I need to do this starting from the User object. When I use the ObjectPrincipals of the User, I get a list of the users who have the rights to modify the user. I did a lot of work on this last week and it boils down to I'm going to have to actually log in as the user (I can use trusted authentication to do this without having the user's password) and then run a query to select all of the reports in the system - this should give me just the reports that the user has access to. Not the most efficient way to get the data from my perspective, but it should work.
    This would be a great feature to have added to future versions of the SDK. I need it for a couple of purposes:
    1. To gather information to set up the security in my archive viewer application.
    2. For auditing purposes - we currently have only Professional licenses so I don't have access to the internal auditing functionality. Plus, I'm not sure that that includes the kind of info I'm looking for so I'm building an app that extracts information to XML which is then used by a couple of reports so that I can provide the audit info as needed.
    -Dell
    Â - A computer only does what you told it to, not what you thought you told it to!</p>

  • Is there a way to lock the lens-change-button on 5D Mark III ?

    Hey! I just got the 5D Mark III, and after that I got the 70-200 f2.8 IS II
    Lens is so good im thinking ill just stick that permanent on the 5D3. But I have a serious problem with the button that releases the lens, I keep hitting it without trying when I remove the camera from camerabag, etc. So the lens falls of. So every time I now have to check if the lens is on properly when I retrieve my camera. I dont know how this happens so easily, I never had that problems with my 350D, 40D or 5D mark II.
    Is there a way to lock this button, does anyone have a smart physical block idea to it. Must be something I later can unblock if I want to change lenses.
    Right Now its tempting to gaffa tape it somehow but recon I'd ask here first.

    Something is not right here. Accidentally depressing the lens release button does not cause the lens to 'fall off'. When de-mounting a lens, there's at least 50º of axial rotation after lock release, with the first 40º offering a degree of stiffness. Removing a lens does involve some degree of deliberate action.
    There was a debate about this across at POTN [url=http://photography-on-the.net/forum/showthread.php?t=961169]LINK[/url] some months ago; the consensus was that, for those who insist their lenses DO fall off, there must be a degree of user error. But you're here for advice - a one-second precautionary twist of the lens before use'll provide reassurance the lens is locked down properly. Or send both lens and body to Canon for a check-up.

  • Changing Portal Role after the status change of user status at the CRM end.

    Hi,
    I have Portal with Java database as the default and CRM is connected to it using SSO.The database in both the case in separate.The users that are created in Portal will have a BP status in CRM sytsem.
    Now my requirement is that if the status of the BP gets changed at the backend simultaneoulsy its Portal role should also gets changed.How shall i facilitate this procedure of changing the Portal Role?
    Is there any RFC ,BAPi or Webservices required for this?
    Regards,
    Amarys
    Edited by: amarys on Sep 13, 2011 11:20 AM

    Hello,
    Since the status has no number it will appear under statuses W/O number bottom right in status overview window.
    These status will appear as additional text beside current user status. For example if user staus is BUG and status without number is DFL and sets when deletion flag is set and gets deleted when it is revoked than user status will appear as
    BUG DFL -
    Deletion flag set.
    BUG -
    When deletion flag revoked.
    You have to live with it. I don't think there is a way out for that.
    Thanks
    Saikishore Ganga.

  • Is there a way I can lock the Trash on a User's account?

    An elderly friend suffers from dementia and it is more and more difficult to keep his computer working.
    In confusion, he will for no apparent reason, drag an application into the Trash, then empty the Trash.
    I have now set up his computer so he is a Standard User and I am the Administrator. This allowed me to put Parental Controls on his account so he can no longer alter or move applications to the trash. I can see no way, however, of preventing him from moving files or folders ito the Trash.
    Since the OS does seem to have a way to accomplish this, is there any 3rd-party software which will?

    There are several third-party utilities that provide greater control over and add features to Trash. Look for them at VersionTracker or MacUpdate.
    Additionally there are some utilities that provide some other useful features you may wish to examine: Hazel and Automaton.

  • [Forum FAQ] How do I send an email to users when the data in the report have been changed in Reporting Services?

    Introduction
    There is a scenario that the data in the report changes infrequently, so the users want to be informed and get the most updated data once the data changes. By default, report server always run the report with the most recent data. Is there a way that we
    can subscribe the report, so that we can send an email to users when the data in the report has been changed?
    Solution
    To achieve this requirement, we can create a subscription for the report, then create a trigger in the table which including the report data. When this table has data insert, update or delete, it will be triggered and execute the subscription to send email
    to users.
    In the Report Manager, create a subscription for the report and make it only execute one time.
    When we create a subscription, a corresponding SQL Agent job will be created. Then we can use the query below to find out the job based on ScheduleId:
    -- List all SSRS subscriptions
    USE [ReportServer];  -- You may change the database name.
    GO 
    SELECT USR.UserName AS SubscriptionOwner
          ,SUB.ModifiedDate
          ,SUB.[Description]
          ,SUB.EventType
          ,SUB.DeliveryExtension
          ,SUB.LastStatus
          ,SUB.LastRunTime
          ,SCH.NextRunTime
          ,SCH.Name AS ScheduleName   
              ,RS.ScheduleId
          ,CAT.[Path] AS ReportPath
          ,CAT.[Description] AS ReportDescription
    FROM dbo.Subscriptions AS SUB
         INNER JOIN dbo.Users AS USR
             ON SUB.OwnerID = USR.UserID
         INNER JOIN dbo.[Catalog] AS CAT
             ON SUB.Report_OID = CAT.ItemID
         INNER JOIN dbo.ReportSchedule AS RS
             ON SUB.Report_OID = RS.ReportID
                AND SUB.SubscriptionID = RS.SubscriptionID
         INNER JOIN dbo.Schedule AS SCH
             ON RS.ScheduleID = SCH.ScheduleID
    ORDER BY USR.UserName
             ,SUB.ModifiedDate ;
    Create a trigger in the table which including the report data.
    CREATE TRIGGER reminder
    ON test.dbo.users
    AFTER INSERT, UPDATE, DELETE
    AS
    exec [ReportServer].dbo.AddEvent @EventType='TimedSubscription', @EventData='b64ce7ec-d598-45cd-bbc2-ea202e0c129d'
    Please note that the command ‘exec [ReportServer].dbo.AddEvent @EventType='TimedSubscription', @EventData='b64ce7ec-d598-45cd-bbc2-ea202e0c129d'’ is coming from the job properties. We can go to SQL Server Agent Jobs, right-click the corresponding job to open
    the Steps, copy the step command, and then paste it to the query.
    Then when the user table has data insert, update or delete, the trigger will be triggered and execute the subscription to send email to users.
    References:
    Subscriptions and Delivery (Reporting Services)
    Internal Working of SSRS Subscriptions
    SQL Server Agent
    Applies to:
    Reporting Services 2005
    Reporting Services 2008
    Reporting Services 2008 R2
    Reporting Services 2012
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    Thanks,
    Is this a supported scenario, or does it use unsupported features?
    For example, can we call exec [ReportServer].dbo.AddEvent @EventType='TimedSubscription', @EventData='b64ce7ec-d598-45cd-bbc2-ea202e0c129d'
    in a supported way?
    Thanks! Josh

  • Changes are not applying to the reports

    hi all
    i have moved the RPD and catalog file to UAT there i got few changes
    i did the changes in DVE and again i moved the changed reports to UAT ,but the report changes are not applied in UAT
    so i again i copied same RPD and catalog to UAT now it is working fine,
    why the changes are not applied to the reports that i have moved to UAT
    is it mandatory to move RPD and catalog to the other environment ??
    Thanks

    Hi,
    if you change even the filters and column names you cant modify only reports and place them in UAT,if you want to cnahge that way there is a tool CAF follow this link how to do that process
    http://debaatobiee.wordpress.com/category/obiee/setup-and-environment/
    If not you need to deploy RPD and catalog into UAT.
    By,
    KK

  • Format of the analytic reports changed in OBIEE11g after restart.

    Hi all,
    After restarting the BI server, the format of the reports changed.
    The analytic reports header font sizes has been increased and the report is not showing in tabular view instead it is showing results as in a notepad.
    What might be the issue which caused these changes?
    Please help me in regarding this..
    Thanks & Regards,
    Kalyan.

    as such we cant say it is an error from BI.....not sure what might be going wrong or is the tool acting upon.
    Once bounce all services and look at it.
    UPDATED POST
    No need of changing any config files as such for that behaviour.....might be something wrong going with the BI tool.
    Never i faced such issue as i was working on BI 11g
    Cheers,
    KK
    Edited by: Kranthi on Feb 23, 2011 11:36 PM

  • Unable to print the report after SP2 (CR 2008 / VS 2008)?

    I'm developing an ASP.NET application using VS 2008 (Framework 3.5). I have installed CR 2008 with SP (0, 1, and 2).
    I created an invoice report and I printed it as test for the report and it works okay. I needed to change the page size of the report to a user defined size and reset all of the margins to zero.
    After I did that I was unable to print the report again and every time I tried to print the report nothing gets printed.
    I checked my environment to find the cause of this problem but I found nothing except that I'm using CR runtime for SP1 and I'm currently using SP2. So I did remove CR runtime for SP1 and install CR runtime for SP2.
    The problem didn't go away and I faced one more problem.
    Usually I'm using a dataset as a data source for my reports. After installing the CR runtime for SP2 I couldn't see any date column in my report data source (Dataset). All other types of columns appear except date fields! Why I have no Idea?
    After I do some more testing regarding my issue I found out the following
    1.     When I add a new report to my web application and I don't change the page setting the report work fine.
    2.     When I change the page setup settings (Page Margins, horizontal width and vertical height) the report show up okay but never gets printed.
    Why I don't know?
    Addition to that the report dataset (Data Source) showing in the field explorer never shows any date type field?
    All of the above issues happened with me after installing SP2.
    OS: WindowsXP Pro SP3
    CR 2008 (SP 0, 1, 2)
    VS 2008 SP1
    Please I need your help.
    Edited by: Sami Aljafer on Oct 12, 2009 8:35 PM
    Edited by: Sami Aljafer on Oct 12, 2009 8:38 PM

    Hi, Sami;
    Are you printing from the Crystal preview window, or in code?
    If you are printing from the preview window, try printing via code, such as:
    An example of print to printer:
    crReportDocument = New ReportDocument
    crReportDocument.Load("h:\labels2.rpt")
    ''Use error handling in case an error occurs
    Try
    ''Set the printer name to print the report to. By default the sample
    ''report does not have a defult printer specified. This will tell the
    ''engine to use the specified printer to print the report. Print out
    ''a test page (from Printer properties) to get the correct value.
    crReportDocument.PrintOptions.PrinterName = "
    dwcb12003\ZDesigner ZM400 200 dpi (ZPL)"
    ''Start the printing process. Provide details of the print job
    ''using the arguments.
    crReportDocument.PrintToPrinter(1, True, 1, 1)
    Please post your question about the dataset as a new post.
    Regards,
    Jonathan
    Edited by: Jonathan Parminter on Oct 12, 2009 2:28 PM

  • How to Block Account member in input reporting for some users?

    Hi experts, i need to know if is possible to block input of values for some Users in the Account Dimension so that some users can input value in the report but other user cant do it.
    I try to do this from "member access profile" but this option only allow you to define access right for one specifict parent o member.
    I mean, is posible to asigned to Account Dimension a Propertie type "OWNER" like ENTITY?
    For example: one user must to input value for the Account member "CASH", but other user dont, however i have to show the same input reporting for both users.
    I hope understand the question, im sorry about my english
    thank you in advance
    Ignacio Vazquez

    I would think you could do one of the following:
    Either set account as a secured dimension.  You would then define security profiles for all account groups and assign those to your users / teams as appropriate.  Would take a while to setup initially, but if your users don't change that much it shouldn't be too difficult to manage once it's done.
    Setup different input templates that only showed the accounts you wanted each group of users to see.  Put the templates in different site folders and assign access to those sites as required.  users would then only have access to open the template applicable to them.  Would require that you basically make duplicate copies or your current template, modify and save to different site folders which could become a pain if the template requires changes (since you would now have to make the same change multiple times).
    Setup a macro in the current template so that you need to enter a password to unlock the send commands for the respective accounts.  I don't know if it can be setup to support multiple passwords - assuming it can, password 1 would unlock all accounts, password 2 would only unlock CASH accounts, password 3 would only unlock LIABILITY accounts, etc.  You then distribute the passwords to the users as appropriate.
    Hope that helps.

  • How to download the report output  into PDF format

    Hi friedns
    from the report output when user clicks download button
    it has to download to PDF format
    how to do this
    thanks in advance
    venu

    hi venu,
    check this sample code
    Save Report Output to a PDF File
    This report takes another report as input, and captures the output of that report. The output is then converted to
    PDF and saved to a local file. This shows how to use some of the PDF function modules, as well as an easy way to
    create PDF files.
    Source Code Listing
    report zabap_2_pdf.
    *-- Enhancements: only allow to be run with variant. Then called
    *-- program will be transparent to users
    *-- TABLES
    tables:
    tsp01.
    *-- STRUCTURES
    data:
    mstr_print_parms like pri_params,
    mc_valid(1) type c,
    mi_bytecount type i,
    mi_length type i,
    mi_rqident like tsp01-rqident.
    *-- INTERNAL TABLES
    data:
    mtab_pdf like tline occurs 0 with header line,
    mc_filename like rlgrap-filename.
    *-- SELECTION SCREEN
    parameters:
    p_repid like sy-repid, " Report to execute
    p_linsz like sy-linsz default 132, " Line size
    p_paart like sy-paart default 'X_65_132'. " Paper Format
    start-of-selection.
    concatenate 'c:\'
    p_repid
    '.pdf'
    into mc_filename.
    *-- Setup the Print Parmaters
    call function 'GET_PRINT_PARAMETERS'
    exporting
    authority= space
    copies = '1'
    cover_page = space
    data_set = space
    department = space
    destination = space
    expiration = '1'
    immediately = space
    in_archive_parameters = space
    in_parameters = space
    layout = space
    mode = space
    new_list_id = 'X'
    no_dialog= 'X'
    user = sy-uname
    importing
    out_parameters = mstr_print_parms
    valid = mc_valid
    exceptions
    archive_info_not_found = 1
    invalid_print_params = 2
    invalid_archive_params = 3
    others = 4.
    *-- Make sure that a printer destination has been set up
    *-- If this is not done the PDF function module ABENDS
    if mstr_print_parms-pdest = space.
    mstr_print_parms-pdest = 'LOCL'.
    endif.
    *-- Explicitly set line width, and output format so that
    *-- the PDF conversion comes out OK
    mstr_print_parms-linsz = p_linsz.
    mstr_print_parms-paart = p_paart.
    submit (p_repid) to sap-spool without spool dynpro
    spool parameters mstr_print_parms
    via selection-screen
    and return.
    *-- Find out what the spool number is that was just created
    perform get_spool_number using sy-repid
    sy-uname
    changing mi_rqident.
    *-- Convert Spool to PDF
    call function 'CONVERT_ABAPSPOOLJOB_2_PDF'
    exporting
    src_spoolid= mi_rqident
    no_dialog = space
    dst_device = mstr_print_parms-pdest
    importing
    pdf_bytecount = mi_bytecount
    tables
    pdf = mtab_pdf
    exceptions
    err_no_abap_spooljob = 1
    err_no_spooljob = 2
    err_no_permission = 3
    err_conv_not_possible = 4
    err_bad_destdevice = 5
    user_cancelled = 6
    err_spoolerror = 7
    err_temseerror = 8
    err_btcjob_open_failed = 9
    err_btcjob_submit_failed = 10
    err_btcjob_close_failed = 11
    others = 12.
    call function 'DOWNLOAD'
    exporting
    bin_filesize = mi_bytecount
    filename = mc_filename
    filetype = 'BIN'
    importing
    act_filename = mc_filename
    tables
    data_tab = mtab_pdf.
    FORM get_spool_number *
    Get the most recent spool created by user/report *
    --> F_REPID *
    --> F_UNAME *
    --> F_RQIDENT *
    form get_spool_number using f_repid
    f_uname
    changing f_rqident.
    data:
    lc_rq2name like tsp01-rq2name.
    concatenate f_repid+0(8)
    f_uname+0(3)
    into lc_rq2name separated by '_'.
    select * from tsp01 where rq2name = lc_rq2name
    order by rqcretime descending.
    f_rqident = tsp01-rqident.
    exit.
    endselect.
    if sy-subrc ne 0.
    clear f_rqident.
    endif.
    endform." get_spool_number
    Regards,
    Naveen

Maybe you are looking for