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?
ThanksIT0008
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...
DinakarHi 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.GHi,
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 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 advanceHi,
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 PMthanks 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.
VenkatHi,
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
PoojaHi 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.
RashmiHi,
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
-
When someone calls me, all my devises ring together in my family.
When someone calls me, all my devises ring together in my family.
-
I have a cracked screen, does anyone know the cost and time it take apple to repair?
I have a cracked screen, does anyone know the cost and time it take apple to repair?
-
Compilation error: Failed to read wsdl
Dear Experts, I am getting issue during deployment of BPEL process. I have created a BPEL process with schema named TD_Init.xsd and I get deployed. Later I have changed my xsd content in the sense I have added some more elements on the same xsd and u
-
Problem with a multisourced dimension
Hi Guru's I have a problem with a multisourced dimension. Some of the values that are in the tables are not visible when I create a filter and choose all choices, but when facts are set against the dimension these values do show. This is the situatio
-
No tengo tarjeta Mastercard ni Visa, no me deja continuar el trámite de ID antes iTunes
Como hago para continuar con los pasos. No puedo. Alguna Solución?