Securing the HR data against unauthorized ABAP program access

Dears,
Is there a way to secure HR data against unauthorized user-defined ABAP program access; in other words is there a way to prevent a the HR tables access from within a newly created ABAP program (SELECT statement) ?
Thanks.
Reda

Hi, there's no way to prevent programs from accessing db-tables. Instead, you'll have to limit access on programs.
Especially, do not allow abap developers to run programs in your productive system. Encourage developers to implement authority-checks in their code. Consider well, who and who not, is to be allowed to run which program.
regards
Jörg

Similar Messages

  • Name the infotypes we uplode using abap programs

    Hi,
    can anyboby let me know, Name the infotypes we uplode using abap programs?
    Thanks

    IT0008
    IT0045
    IT0589  ETC
    some of them can be made through LSMW also but we use BDC . the main reason is we wont find Feilds to upload those data in templates

  • How to find the start condition of a ABAP program?

    Hello Gurus!,
    Could any one please explain how to find the start condition of a ABAP program?
    like its a event based or time based?and also how to find that event and time..
    Thanks in Advance...
    Dinakar

    Hi Dinkar,
    Go to Job Schedule, put Job Step parameter as your program and see scheduled Job.
    In Schedule Job double click to see start condition. and steps to see details and variant.
    Hope it helps.
    Thanks
    CK

  • How can we create the error log in a ABAP program

    Hi all,
    How can we create the error log in a ABAP program
    Thanks,
    srinivas.

    Hi,
    Refer to FM's in the Function Group SBAL. For a change most of the FM's have been well documented. Also have a look at the DEMO pgms. Se38---->SBALDEMO & F4.
    Regards
    Raju Chitale

  • How to extend the execution time of an ABAP Program using the Process chain

    Hello Sapians,
    Our Environment has got 600seconds = 10 mintues as the execution time.
    My ABAP Program is taking more than this 600 seconds, to show the result, I found this when I tried to execute in debug mode, it shows the result.
    If I execute in background also it shows the results succesfully.
    Only issue is when I execute this report in foreground it has been taking ages and goes on Time OUT Error.
    It has been decided that we can extend the execution time only for this report, and it will reset the time back to 10mintues once the report has been executed successfully or failed in between for any other reasons.
    And we can achieve this by using the process chains.
    Can any body help me please in this regard
    Thanks,

    Hi,,,,,,,,,,
    Besides Process Chain There is another way out for this........
    Resetting time counter of dialog process so that time-out does not
    happen. Use this fm within your program at appropriate locations to
    reset time counter.
    "CALL FUNCTION 'TH_REDISPATCH'."
    Thanks
    Saurabh

  • Read the intial version of an ABAP Program

    Hi,
    I need to download the first and the last version of an ABAP Program into a flat file. I used the "read report" statement and download the current active version of the program which is the last version but I need the initial version of the program too.
    If we need to use one of the below function modules what would be the parameters to be passed into them,
    SCWB_GET_ABAP_CODE_OF_OBJECT
    RS_DETERMINE_OBJECT_SOURCE.
    Please advise.
    Regards,
    Prabaharan.G

    Hi,
    I tried passing the version number as 1 but though the function module does not give  "no versions" message, it does not give any entries in the internal tables.
    Could you please try it once and let me know the results.
    Regards,
    Prabaharan.G

  • How can i secure the mail application against my friends

    Hi, how can i secure the mail application against my friends, when they use the ipad for surfing ?
    I want to block the mailapplication with the number code, the ipad already provides for some app´s, but for mail, it doesnt work :-(

    thank you for the answer, i cant understand, why apple wont make this possible for the build in apps. For some it is working (Safari, Appstore, etc.... ) but for mail not. Why ?  This cant be a technical problem.....
    how solve other people this problem, when their ipad is walking around the table for surfing ?

  • I upgraded to the new IOS, but lost data and apps. When I try and restore the only backup I see is the one made AFTER the lost data. How can I access an older backup from the cloud?

    I upgraded to the new IOS, but lost data and apps. When I try and restore the only backup I see is the one it made AFTER the lost data. How can I access an older backup from the cloud?

    Why don't you talk to apple and find out if backup exists? That conversation with apple will stop your guessing.

  • How to find the Web AS Port from ABAP program

    Hi
    I have an ABAP program which passes an URL for a BSP page to the Alert Framework. While creating the URL I need to find out the Hostname and port number for the Web service for that server. Hostname comes from sy-host but I am not able to find the port number.
    Please help...
    Thanks in advance

    Hi,
    consider this little code snippet:
    data:  l_urls       type tihttpurls2.
    call method cl_http_server=>get_extension_info
       EXPORTING
        extension_class = 'cl_http_ext_bsp'                  
       IMPORTING
            urls            = l_urls.
    l_urls contains a table of configured ports. maybe that helps.
    regards, Ulli

  • Submit data to an ABAP program from an offline form

    Hello Forms experts,
    the requirement goes like this: I have an internal table that will be passed to the form (via interface context) in the form the data will be changed by the user and the changes must be reflected in the internal table.-
    I have to send back data from a table which data is modified inside a PDF form and send it back to an ABAP program for further process.
    So far my development goes like this
    - I have an ABAP program where I defined an internal table with the data to fill the table in the pdf form.
    - I created an Interface that has one Import parameter (other than docparams) defined as the internal table that will have the data passed from this program to the form. this context interface object is bound to the form context and is put into the form layout by dragging and dropping from the data view. so the binding are done correctly.
    - In my program I called the Function module that generates the form by using this function
        CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
            EXPORTING i_name = 'my_form_name'
           IMPORTING e_function_name = lv_function_name ....
    this gives me the name of the function module associated to the form name I am passing by.
    - I call the function module gave by the previous call
        CALL FUNCTION lv_function_name
            EXPORTING /1bcdwb/docparams = docparams
                               /1bcdwb/itable = itable
            IMPORTING
                              /1bcdwb/formoutput = formoutput
    this will raise the pdf file preview where I can modify the data of some fields (not every field, due to key contrainst)
    Now I have a problem, because in one hand the forums I read all talks about the Web Service using but to do it, I have to bind each table field to a field in the web service, loosing the bind from the internal table.
    does the IMPORTING part in the CALL FUNCTION lv_function_name can have another parameter for the modified data in the form table so in my program i can get this object and continue working with the internal table ??
    any suggestion, question, observation or comment is welcome.
    in advance, thanks a lot.
    EDIT:
    Workaround:
    download the pdf file into local computer. upload the file into the system and get the data from that pdf to update the data in the internal table... is that possible??
    other option: Is there any chance to get the context attribute that represents the table from the interface context to the function module that called this form at the first place?
    Edited by: Mauricio Poblete on Mar 23, 2010 10:17 PM

    thanks everyone who reply this thread,
    I tried several solutions: the standar one is to use the TRANSFORMATION method and modify the specifications in the ID object.
    but the solution I took to do it was this one.
      DATA: lt_file_table TYPE filetable,
            lv_rc TYPE i,
            lv_filename TYPE string,
            lv_filelength TYPE i,
         lt_rawtab type STANDARD TABLE of ZSMSC_TAB.
            lt_rawtab TYPE TABLE OF char255.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        CHANGING
          file_table              = lt_file_table
          rc                      = lv_rc
       USER_ACTION             =
       FILE_ENCODING           =
        EXCEPTIONS
          file_open_dialog_failed = 1
          cntl_error              = 2
          error_no_gui            = 3
          not_supported_by_gui    = 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.
      READ TABLE lt_file_table
           INTO lv_filename
           INDEX 1.
    *lv_filename = p_pdf.
      cl_gui_frontend_services=>gui_upload(
        EXPORTING
          filename                = lv_filename
          filetype                = 'BIN'          "Binary
        IMPORTING
          filelength              = lv_filelength
        CHANGING
          data_tab                = lt_rawtab
        EXCEPTIONS
          file_open_error         = 1
          file_read_error         = 2
          no_batch                = 3
          gui_refuse_filetransfer = 4
          invalid_type            = 5
          no_authority            = 6
          unknown_error           = 7
          bad_data_format         = 8
          header_not_allowed      = 9
          separator_not_allowed   = 10
          header_too_long         = 11
          unknown_dp_error        = 12
          access_denied           = 13
          dp_out_of_memory        = 14
          disk_full               = 15
          dp_timeout              = 16
          not_supported_by_gui    = 17
          error_no_gui            = 18
          OTHERS                  = 19 ).
    Get FP reference
      DATA: lo_fp TYPE REF TO if_fp VALUE IS INITIAL.
      lo_fp = cl_fp=>get_reference( ).
    For handling exceptions
      DATA: lo_fpex TYPE REF TO cx_fp_runtime VALUE IS INITIAL.
      TRY.
      Create PDF Object using destination 'ADS' (<-- this is how it is
      defined in SM59)
          DATA: lo_pdfobj TYPE REF TO if_fp_pdf_object VALUE IS INITIAL,
                pdf_data TYPE xstring.
          CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
        EXPORTING
          input_length       = lv_filelength
      FIRST_LINE         = 0
      LAST_LINE          = 0
       IMPORTING
         buffer             = pdf_data
        TABLES
          binary_tab         = lt_rawtab
    EXCEPTIONS
      FAILED             = 1
      OTHERS             = 2
          IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          lo_pdfobj = lo_fp->create_pdf_object( connection = 'ADS' ).
      Set document
          lo_pdfobj->set_document(
            EXPORTING
              pdfdata = pdf_data ).
      Tell PDF object to extract data
          lo_pdfobj->set_extractdata( ).
      Execute the call to ADS
          lo_pdfobj->execute( ).
          DATA: xml_data TYPE xstring,
          lt_xml_data TYPE STANDARD TABLE OF xstring,
          t_return TYPE STANDARD TABLE OF bapiret2,
          t_per_info TYPE STANDARD TABLE OF smum_xmltb,
          lfs_per_info TYPE smum_xmltb,
          ls_zcrm_oppt_info  TYPE ZCRM_OPPT_INFO,
          lt_zcrm_oppt_info type ZCRMT_OPPT_INFO,
          tag_open TYPE TDSFFLAG.
          APPEND xml_data TO lt_xml_data.
          lo_pdfobj->get_data(
            IMPORTING
              formdata = xml_data ).
          CALL FUNCTION 'SMUM_XML_PARSE'
            EXPORTING
              xml_input = xml_data
            TABLES
              xml_table = t_per_info
              return    = t_return.
      LOOP AT t_per_info INTO lfs_per_info.
        CASE lfs_per_info-cname.
          WHEN 'OPPT_ID'.
            ls_zcrm_oppt_info-OPPT_ID = lfs_per_info-cvalue.
          WHEN 'EXPORT_STAMP'. "this is the last field in the record.
            ls_zcrm_oppt_info-EXPORT_STAMP = lfs_per_info-cvalue.
            append ls_zcrm_oppt_info to lt_zcrm_oppt_info.
            clear ls_zcrm_oppt_info.
            tag_open = ''.
          WHEN OTHERS.
        ENDCASE.
      ENDLOOP.
    itable = lt_zcrm_oppt_info.
    hope i solve another question.

  • Secure the file/data transfer between XI and any third-party system

    Hi All,,
    I would like to use to "secure" SSH on OS Level the file/data transfer between XI and any third-party system Run OS Command before processing and OS command After processing. right now my XI server installed on iSeries OS.
    with ISeries we can't call the Unix commands hope we need to go for AS400 (CL) Programming. If we created the AS400 programm how i can call that in XI.
    If any one have idea pls let me know weather it will work or not.
    Thanks in adavance.
    Venkat

    Hi,
    Thanks for your reply.
    I have red some blogs like /people/krishna.moorthyp/blog/2007/07/31/sftp-vs-ftps-in-sap-pi to call the Unix Shell script in XI.
    But as i know in iSeries OS we can write the shell script we need to go for AS400 programe. If we go with AS400 how we need to call that programe and it will work or not i am not sure there i need some help please.
    Thanks,
    Venkat

  • Can i load the cube through an customised abap program??

    Hi all,
    I have loaded the ODS using the customised abap pgrm. is it possible to load the CUBES through the abap program.
    If not what is the reasons for not loading it?
    Thanks
    Pooja

    Hi Pooja,
    For me ..
    I'm afraid to upload directly by program to info cube tables .. Because, i don't know what tables it will be taken into account for uploading ..
    But ..
    If the requirement is to upload it by ABAP Program ..
    I make like this ..
    1. I create the ABAP Program to create .csv files. So all uploaded data will be written into .csv files.
    2. I create info-package, that upload data from file. And i define the path to refer to that corresponding .csv files.
    3. Beside ABAP Program is used to write .csv files, i also use it to trigger the info-package.
    So by that techniques, i'm able to upload data by ABAP Program.
    Hopefully it can help you a lot.
    Regards,
    Niel.

  • How to cancel the background job processing in ABAP programming?

    Hi,
    I have a requirement where i need to cancel the job depending on some constraint. My code is something like this:
    Select some data from the table.
    if sy-subrc = 0.
    Do nothing.
    Else
    Cancel the job
    call function 'BP_JOB_ABORT'
      exporting
       jobcount                         = number
        jobname                          = name
    EXCEPTIONS
       CHECKING_OF_JOB_HAS_FAILED       = 1
       JOB_ABORT_HAS_FAILED             = 2
       JOB_DOES_NOT_EXIST               = 3
       JOB_IS_NOT_ACTIVE                = 4
       NO_ABORT_PRIVILEGE_GIVEN         = 5
       OTHERS                           = 6
    The above code is cancelling the job but it is throwing an exception called CX_SY_DYN_CALL_PARAM_MISSING because i dint pass job count. How can we find the job count of next job that is going to run? Or How to handle the exception which it is throwing. Even if i try to handle that exception something like this:
    TRY
    call function 'BP_JOB_ABORT'
      exporting
       jobcount                         = number
        jobname                          = name
    EXCEPTIONS
       CHECKING_OF_JOB_HAS_FAILED       = 1
       JOB_ABORT_HAS_FAILED             = 2
       JOB_DOES_NOT_EXIST               = 3
       JOB_IS_NOT_ACTIVE                = 4
       NO_ABORT_PRIVILEGE_GIVEN         = 5
       OTHERS                           = 6
    RAISE EXCEPTION TYPE CX_SY_DYN_CALL_PARAM_MISSING.
    CATCH
    CX_SY_DYN_CALL_PARAM_MISSING.
    ENDTRY.
    It avoids the exception but it doesnt cancel the job.  I even tried with function modules like JOB_OPEN
    JOB_SUBMIT,BP_JOB_SELECT,BP_JOB_ABORT and tried to build some logic using status overview table (TBTCO) and TBTCP (Jobstep overview table).
    Can someone suggest me the right way to write this program ?
    Thanks in advance.
    Rashmi

    Hi,
    Problem is solved.
    Create an background job with 2 steps. The first step in the background job calls the program ZBACKJOB_STEP1.  In the variant we have a wrong material number
    If the material number is not found in Mara, the next step in the job should not get executed and the job should get cancelled..
    In the above posts i had asked how do I get the job count of the job that is currently triggering the program at the runtimeu2026..If u see the below code uu2019ll get to know.. We have to use the standard structure TBTCM which captures the properties/characteristics of the job.
    REPORT ZBACKJOB_STEP1.
    TABLES: MARA,TBTCM.
    PARAMETERS : MATNR TYPE MATNR.
    START-OF-SELECTION.
      SELECT SINGLE * FROM MARA WHERE MATNR = MATNR.
      IF SY-SUBRC IS INITIAL.
        WRITE / : 'This is the material selected on the selection-screen' , MARA-MATNR.
    ELSE.
            CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
          IMPORTING
            EVENTID                                    = TBTCM-EVENTID
            EVENTPARM                             = TBTCM-EVENTPARM
            EXTERNAL_PROGRAM_ACTIVE = TBTCM-XPGACTIVE
            JOBCOUNT                                = TBTCM-JOBCOUNT
            JOBNAME                                  = TBTCM-JOBNAME
            STEPCOUNT                              = TBTCM-STEPCOUNT
          EXCEPTIONS
            NO_RUNTIME_INFO                    = 1
            OTHERS                                     = 2.
        IF SY-SUBRC = 0.
          CALL FUNCTION 'BP_JOB_ABORT'
            EXPORTING
              JOBCOUNT                                     = TBTCM-JOBCOUNT
              JOBNAME                                       = TBTCM-JOBNAME
            EXCEPTIONS
              CHECKING_OF_JOB_HAS_FAILED  = 1
              JOB_ABORT_HAS_FAILED              = 2
              JOB_DOES_NOT_EXIST                   = 3
              JOB_IS_NOT_ACTIVE                      = 4
              NO_ABORT_PRIVILEGE_GIVEN       = 5
              OTHERS                                         = 6.
          IF SY-SUBRC <> 0.
          ENDIF.
        ENDIF.
      ENDIF.
    Regards,
    Rashmi

  • From which table could i get all the Variants of a specific ABAP program?

    Hi,
    From which table could i get all the Variants name which belong to a specific ABAP program?
    Thanks.

    Hi,
    Check the table starting with TVAR*.
    Regards,
    Atish

  • Extraction problem - selection conditions for data load using abap program

    Hi All,
           I have a problem loading data over a selected period where the selection of date range is done using ABAP routine (type 6). Here though in the request header tab in monitor screen i'm able to see the selection date range populated correctly, no records are being extracted. But if i delete the abap filter and directly give the same date range for selection we are able to extract data. if any body has faced similar problem and have a solution for it please help me with yur suggestion.
    Thanks,
    nithin.

    It seems the the data range is not properly set in the routine.
    You can check the value of selection period generated by routine in the data selection tab-> execute button is there .
    Click it to to test the selection values generated by the ABAP routine..
    If the value here seems correct one then paste the code of the routine that u have written with brief logic details that u have applied.
    Sonal.....

Maybe you are looking for