Is it possible to restrict changing records in customizing table in SM30?
Hi.
Is it somehow possible to set authorizations in a way, that a user could change only certain entries in a customizing table using SM30? What I want to achieve with this - we have an internationally used system, where consultants from different countries are working often on the same customizing tables and we would like to restrict tham to be able to change records only relevant for those countries, so they cannot change the records for other countries by mistake / on purpose. The records are usually identified by a certain "grouping" field (for instance MOLGA in table T511K or MOABW in T554S).
So far I couldn't find anything apart from the S_TABU_DIS object, which is too rough for this requirement.
Or maybe is there another way to achieve security in such a scenario?
Thanks in advance for any ideas.
Hi dusan,
1. If u are talking about SM30 for standard table,
then i don't think there is any such standard feature / facility,
for restricting.
2. If its our own Z Table, then we can go for events in table maintenance
and write our code for same.
3. But if such restrictions/validations are required,
then its better to have a module pool for such thing.
SM30 is for very simple and basic table maintenance.
regards,
amit m.
Similar Messages
-
How to change records in standard tables ?
how to change records in standard tables ?
HI,
If you are asking from program..Then you can use BDC or BAPI to update the records in teh standard tables..
OR
use the corresponding tcode to update the record
Thanks
Naren -
Logging the changes of a custom table into CDHDR and CDPOS
Hi all,
What is the strucutre that is to be passed while creation of a ChangeDocument(Object Class) for the parameter
Name of Ref. tab in SCDO tcode.And what other steps are to be done for logging the changes of a custom table.How do you maintain the first table? Did you create the maintenance module yourself or did you get it generated by SAP? If you have your own maintenace module, all you have to do is get the values from the table at the time when you update it and seve the necessary values in the second table. If you have a generated maintenance module, then you would have to do this in there, problem is you will need to register the onject when you change it.
Let me know if this helps. -
ALE/IDOC Change Pointers for Custom Table
Hello all,
There is a requirement for my client, to trigger IDOC based on the Custom Table changes. The custom table has a maintenance view and will be updated/modified/deleted randomly by user. Now, i need to track the changes in that table and should trigger IDOC for the changes. The Message type i am using for this is MATMAS, as I need to incorporate changes to the same IDOC.
Is it ok to modify BDCP/BDCPS tables to update the changes from custom table? The Custom Table changes can be tracked through DBTABLOG......and i have my logic to trigger the IDOC
The question is: If i do modifications to BDCP and BDCPS, how this will impact? In future SAP upgrade/enhancements will this affect anyway? Can any one of you share your experience regarding this. Thanks.Hi Raja,
You can send IDOC based on table maintenance event
I think you can code in event 02, to generate IDOC.
Check below link:
http://help.sap.com/saphelp_nw04/helpdata/en/91/ca9f0ea9d111d1a5690000e82deaaa/frameset.htm
Regards,
Nisha Vengal. -
Update the change record in z table
Hi,
I am doing a module pool programming.If i change the particular record only changed record shd be updated in the z table.
How can i update only changed record in the database table in module pool.
RegardsHi Rasheed,
Use this code to update ztable from the module pool table control, its working.
At screen flow logic
PROCESS BEFORE OUTPUT.
MODULE STATUS_8001.
LOOP WITH CONTROL TAB.
MODULE PASS_DATA. "module to pass data into table control
ENDLOOP.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_8001.
LOOP WITH CONTROL TAB. "tab is the table control on the screen
MODULE MODIFY_DATA. "module to modify data in internal table
ENDLOOP.
MODULE SAVE_DATA. "module to save the modified data into database table
Design a PF-Status with a SAVE button with function code 'SAVE'.
In PBO
MODULE STATUS_8001 OUTPUT.
SET PF-STATUS 'Z_TABCT'. "pf-status with appropiate buttons
* SET TITLEBAR 'xxx'.
DATA : LINE_COUNT TYPE I.
DESCRIBE TABLE ITAB
LINES LINE_COUNT.
TAB-LINES = LINE_COUNT + 3. "increment the line of table control dynamically so that table control becomes scrollable
ENDMODULE. " STATUS_8001 OUTPUT
MODULE PASS_DATA OUTPUT.
SORT ITAB.
READ TABLE ITAB INDEX TAB-CURRENT_LINE.
ENDMODULE. " PASS_DATA OUTPUT
In PAI
MODULE USER_COMMAND_8001 INPUT.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'BACK'.
LEAVE TO SCREEN 8000.
ENDCASE.
ENDMODULE. " USER_COMMAND_8001 INPUT
MODULE MODIFY_DATA INPUT.
MODIFY ITAB INDEX TAB-CURRENT_LINE.
ENDMODULE. " MODIFY_DATA INPUT
MODULE SAVE_DATA INPUT.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'SAVE'.
MODIFY ITAB INDEX TAB-CURRENT_LINE. "update modifed records
UPDATE ZTABLE FROM TABLE ITAB. "update database table from internal table
ENDCASE.
ENDMODULE. " SAVE_DATA INPUT
Hope this solves your problem.
Thanks & Regards
Tarun Gambhir -
How to delete the records from custom table???
My requirement is,
I have a custom table, assume as ZABC, I have updated this by my custom program, This data having table can be extracted by BI etract program(Assume ZZZ). Here I am not writing any code for extracting data from table to BI extract program, That they will do by BI extract program. But I want to write the code for
<b>Cleanup of Z tabledelete records 30 days after the BI data extractor has run.</b>
How this is possible suggest me any method having for these???
Thanks SanjuHell Sanjana,
Ask your basis people to do the clean up after 30 days. If you want the clean up only to be done 30 days after BI extract has been done, then u need some sort of indicator to say that BI Extract has been done , like flag and date in a custom table which will be set as soon as extract is done. Then based on that info u need to delete a the records.
Regards -
How to track changes in a custom table and based on that run an interface
I have an interface. The pre-condition for running the interface is "Run the interface only if there is new entry added to the table( a custom table). Now I have created a change document object using tcode SCDO for the custom table. Now how do i proceed further. Please tell me the steps which i need to follow to check if the custom table has been changed and also the entries changed before running the interface.
Hello,
SAP has provided many changes tracking related programs for Sales order, Vendor changes etc.
They all use the standard function Module
call function 'CHANGEDOCUMENT_READ_HEADERS'
call function 'CHANGEDOCUMENT_READ_POSITIONS'
so with these you can get the changed records
Let me know if this helps you
Thanks and Regards
Pushkar Joshi -
How to track changes in a custom table
HI all,
Requirement is
1. In custom table instead of using table maintence generator ALV gird has to be display to see table entries. But where i have to write the code when user press CONTENTS button?
2. In alv gird there shuld be one button which shows the change history of selected record and modify the content of selected record. For track changes i have registered custom table name in SCDO. so that changes made will reflect in CDPOS/CDHDR.
but how can i track changes thru dis table? i didnt find field contents of custom table in CDPOS/CDHDR tables?
Please help me with these Ques.Hello,
SAP has provided many changes tracking related programs for Sales order, Vendor changes etc.
They all use the standard function Module
call function 'CHANGEDOCUMENT_READ_HEADERS'
call function 'CHANGEDOCUMENT_READ_POSITIONS'
so with these you can get the changed records
Let me know if this helps you
Thanks and Regards
Pushkar Joshi -
Displaying record from custom table
I have a custom table ztable (kunnr, vbeln, erdat, erzet, flag). Using these values I would like to display the following
Client Number (4) = '1234'
Filler (6) = space.
Record Type (1) = 'A'
Client Number (15) = vrkpa-kunnr
Customer Name (30) = adrc-name1
This information should be displayed in the following way:
1234 A0012345 Walmart
Can someone help me with this code.
Thank you!Okay, I see. Is your client number always going to be '1234'? If not, then do not assign a value to it. Otherwise, you'll want to assign the value during your selection statement because the field will be emptied each time you clear the itab line.The same thing goes for your record type 'A'. You need an address number, a date, and a nation as the key for table ADRC (so you need to put the necessary values into w_nation and w_begda). I'm not sure if your customer number corresponds to the address number. Try this:
DATA wa_ztable TYPE ztable.
DATA wa_adrc TYPE adrc.
DATA w_nation type adrc-nation.
DATA w_begda type sy-datum.
DATA: begin of itab occurs 0,
clientnumber(4) type c,
filler(2) type c,
recordtype(1) type c,
customernumber(15) type c,
customername(30) type c,
customeraddress1(30) type c,
customeraddress2(30) type c,
customercity(17) type c,
customerstate(2) type c,
customerzip(9) type c,
customercountry(17) type c,
customercountrycode(3) type c,
customerphnum(10) type c,
end of itab.
w_begda = (put your date here).
w_nation = (put your nation code here).
SELECT * FROM ztable INTO wa_ztable WHERE flag = space.
itab-clientnumber = '1234'.
itab-filler = space.
itab-rectype = 'A'.
itab-customernumber+0(10) = wa_ztable-kunnr.
itab-customernumber+10(5) = space.
SELECT SINGLE * FROM TABLE adrc INTO wa_adrc WHERE
ADDRNUMBER = wa_ztable-kunnr AND NATION = w_nation AND DATE_FROM = w_begda.
itab-customername = wa_adrc-name1.
itab-customeraddress1 = wa_adrc-
itab-customeraddress2 = wa_adrc-
itab-customercity = wa_adrc-city1.
itab-customerstate = wa_adrc-regiogroup.
itab-customerzip = wa_adrc-post_code1.
itab-customercountry = wa_adrc-
itab-customercountrycode = wa_adrc-country.
itab-customerphnum = wa_adrc-tel_number.
append itab.
clear itab.
ENDSELECT.
LOOP AT itab.
*Insert your code to display line here (can just list each itab field, or use column numbers if you want to create spaces between the fields)
ENDLOOP.
Note on the * lines: I don't see a field for the country text. For the address lines, you will probably have to concatenate values from ADRC-HOUSE_NUM1 and ADRC-STREET, and possibly also use ADRC-PO_BOX as well.
- April
Message was edited by:
April King -
How to transport records of custom table in SAP BI?
Hello,
I creeated a custom table and entered some records there. Now I would like to transport it to production.
When I select the records and press 'transport records' the system doesnt allow me to save it under transport request.
The following error message pops up :
This is customization request but you need workbench one.
But I dont see any workbench requests in this window.
ThanksGo to SE09,
Select Create Request
It will ask for selection for type of request.
Select 'Workbench Request' and try with this request.
Sankar Kumar -
Custom Oaf form inserting blank records into custom table
Hi all,
I have developed custom OAF form to insert vendor details mapped to custom table.
Oaf form is working fine without giving any error.
In back end blank records is inserting into the custom table i.e. only WHO columns (creation_Date, created_by, last_update_login etc.) values are populating correctly but the
data which i am entering in OAF form is not populating into the table.
Please help, tnx in advance.
Regards,
MohitDo you have mapping of your form fields with the view object and view attribute ?
-
Change pointers for customizing table
Hi,
Requirement is when ever a new entry is created/updated/deleted from the customized table 'ztable' an IDOC need to be generated.
Any one can help me out the proper steps to solve this.
Full points will be rewarded to the correct answer.
Urgent please !!!
Regards,
Suman1. In T-Code add all the table and its fields to a message type.
2. Create a program for triggering a Idoc.
3. In the program call the functional module 'CHANGE_POINTERS_READ' with the above message type, This FM will return those table fields that are changed to a specific date.
4. Pass read_not_processed_pointers parameter of the 'CHANGE_POINTERS_READ' as 'X' to get the latest changes. Ex:
CALL FUNCTION 'CHANGE_POINTERS_READ'
EXPORTING
message_type = gc_message_type
creation_date_high = s_erdat-high
creation_date_low = s_erdat-low
creation_time_high = gc_time_high
creation_time_low = gc_time_low
read_not_processed_pointers = 'X'
TABLES
change_pointers = lt_chgptrs_tab.
lt_chgptrs_tab will have all the table fields that are changed .
5. Trigger a Idoc with those values.
6. In the triggering is successful call FM 'CHANGE_POINTERS_STATUS_WRITE ' and pass those table fields that are sent through Idoc to write in database that the changes are already sent through Idocs. Ex:
CALL FUNCTION 'CHANGE_POINTERS_STATUS_WRITE'
EXPORTING
message_type = gc_message_type
TABLES
change_pointers_idents = gt_pointer_id.
COMMIT WORK.
gt_pointer_id will have all the change pointer if from lt_chgptrs_tab table that are send through Idocs. -
How to get changed records in a table
I have a table t1 as
create table t1( num number, name varchar2(35),code char(2));
my data looks like
num name code
1 xy c1
2 zx c2
3 qq c5
after 2 hr i have changed my value to:
1 zx c3
2 za c2
3 qq c5
i need to get a select statement which gives the changed rows:
my output looks like:
1 zx c3
2 za c2
how to get these changed rows
Thanks in advance"It's not working" - fabulous feedback.
Really any reply to that should be just left at "because you're doing it wrong" however....
The flashback query syntax doesn't work like that.
Has to be more like this:
select t1.column,t2.column
from t1 ,t2
where t1.column=t2.column
MINUS
select t1.column,t2.column
from t1 AS OF TIMESTAMP TO_TIMESTAMP('27.04.2011 10:00:00', 'DD-MM-YYYY HH24:MI:SS')
, t2 AS OF TIMESTAMP TO_TIMESTAMP('27.04.2011 10:00:00', 'DD-MM-YYYY HH24:MI:SS')
where t1.column=t2.column;The documentation is great for seeing how things should work, syntax etc.... you should try it. -
Is it possible to delete the records from LIS Table S601
We have created some errorneous/unwanted records in planning in table S601. Is there a way to delete these enties by Plant or material.
Need your help urgently.. Please help.
Thanks in Advance
RajeshHi
Once we created variant we can't delete it,
Regards,
srihari -
How to update multiple records in custom table using checkbox in APEX 4.1?
Hi,
I have a SQL report which brings up all the data records using the following query.
select
"REC_NO" AS hidden_rec_no,
"REC_NO",
APEX_ITEM.CHECKBOX (3,rec_no) AS edit,
"MEETING_TYPE",
"PAGE_NO",
"CHECKBOX"
from "XX_TEST" m
WHERE page_no = :p_page_no
Out of all records, any records which are checked, I only want to update their flag to 'Y' on the database column "Checkbox". For this, I have a SUBMIT button on the report region. The processing code on pressing the SUBMIT button is:
DECLARE.
l_row NUMBER := 1;
BEGIN
FOR i IN 1..APEX_APPLICATION.G_F03.COUNT
LOOP
FOR j IN l_row..APEX_APPLICATION.G_F01.COUNT
LOOP
IF APEX_APPLICATION.G_F01(j) = APEX_APPLICATION.G_F03(i) THEN
UPDATE xx_test
SET checkbox = 'Y', -- APEX_APPLICATION.G_F03(j)
WHERE rec_no = APEX_APPLICATION.G_F03(i);
l_row := j + 1;
EXIT;
END IF;
END LOOP;
END LOOP;
COMMIT;
END;
However, that is not happening. Please help me with this. Any solutions/suggestions are most welcome.
Regards.Hi,
Try
BEGIN
FOR i IN 1..APEX_APPLICATION.G_F03.COUNT LOOP
UPDATE xx_test
SET checkbox = 'Y'
WHERE rec_no = APEX_APPLICATION.G_F03(i);
END LOOP;
END;Code loops all checked checkbox. You do not need commit on page process.
Regards,
Jari
http://dbswh.webhop.net/dbswh/f?p=BLOG:HOME:0
Maybe you are looking for
-
Okay. here's the deal. First, I received the original Ipad for a birthday present. Now, I have the ipad 2 and my dad has my original ipad. We were able to delete all of the apps and reset most of the other items. However, I originally had the kindle
-
Best way to print an image multiple times on same sheet and not lose quality when doing so
Hello, I have the full subscription to Adobe Creative Suite, but am unfamiliar with almost all of the programs. I have used Photoshop a bit, but not too much. I have this project I do several times a year, and am sure there is a better way to do it.
-
Problem using distribute form - A recipient is ambiguous
Hello all, We prepared a form and use distribute form option to send to our coworkers and collect results. They received the email, complete the form and when they try to send back they receive "A recipient is ambiguous" message. We try to prepare th
-
Pre-create Datafiles before import or not ?
I'm facing the almost the same problem. I have empty tablespaces created in My database. I want to perform Regaular Import (imp) .When i did Full database Import..There were Errors like Not able to create Tablespaces, users does not exist. There is a
-
IDOC transfer during Contract Creation
Hi All, I have a requirement with the contract creation in SRM contract management. Do you Know which IDOCs is/are transmitted to the ERP during a contract creation? Thanks in Advance! Martin.