GRC Process Control Tables - Specially tables Related to CONTROLS
Could anybody please let me know the naming convention of tables related to the CONTROLS in SAP GRC Process controls.
Also could anybody please let me know in which document (source) can I find the tables related to Controls and I am also looking for relation behind these tables.
HRP1001 and HRP1000 are the master data tables. go to tcode GRFN_STR_CHANGE to see your org structure. hope this helps
Similar Messages
-
GRC AC 5.3 and GRC Process Control on the same server
Hello,
Can we install SAP GRC AC 5.3 and GRC Process Control 3.0 and GRC Risk Management 3.0 on the same box/ same server.
Is there a OSS Note, which talks about having the above 3 components on one box?
Thanks,
ImranHello Imran,
1- My 3 question ARE do I need a separate JAVA Stack for GRC Process Control and seperate JAVA Stack for GRC Access Control
-> No, you can have them installed on save Java stack.
OR
Can I use the same JAVA Stack for GRC Process Control & GRC Access Control?
-> Yes, you can. You have to make sure that you are on SP10 or above for Access Control as only then it will support NW Java 7.01.
2- Can I use EP 7.0.1 installed on same server for both GRC PC 3.0 and GRC AC 5.3?
-> Yes, you can.
3- Can 1 single AS JAVA Database contain both GRC Access Control VIRSA Tables and GRC Process control tables at the same time?
-> For process Control the tables reside on the backend SAP as it is webdynpro ABAP application and for access control the tables reside on the Java database as it is java and webdynpro JAVA application.
Regards, Varun -
GRC Process Control 2.5 - Custom Reports
We need to develop few custom reports on GRC Process control 2.5. For this we need to identify the Table & Column names associated with WEB Dynpro component.
For example, I need to know the Table & Column names for web dynpro component:GRPC_MANU_TEST.
Please help me.
Thanks
SankarHi Sankar,
Officially, there is no support for custom development of reports in PC 2.5. I will suggest to wait till PC 3.0.
Best Regards,
Jennifer Cha
Process Controls - Americas/APJ
Regional Implementation Group
SAP Governance, Risk and Compliance -
Module Pool - Table Control - Data not getting displayed in Control
Hi,
I have a table contol in my module pool program. In my processing I am filling an internal table & then in my PBO I am linking the internal table to table control. The issue is that even though the internal table is getting filled correctly (found through debugging), the data is not getting populated in table control. Nothing is populated on screen. I am writing part of code below
Declaration:
Types: begin of ty_control,
SELECTED TYPE C,
TEXT TYPE DPR_CAUSE_T-TEXT,
end of ty_control.
CONTROLS : TBL_CONT TYPE TABLEVIEW USING SCREEN '9001'.
DATA: lt_table_cont type TABLE OF ty_control with header line.
Fields in TBL_CONT:
TBL_CONT-SELECTED
TBL_CONT-TEXT
PBO Flow Logic:
MODULE STATUS_9001.
MODULE fill_data.
LOOP AT lt_table_cont WITH CONTROL TBL_CONT cursor TBL_CONT-top_line.
ENDLOOP.
PAI Flow Logic:
Loop at lt_table_cont.
MODULE UPDATE_DATA.
endloop.
MODULE USER_COMMAND_9001.
PLZ let me know what might be the problem. I have been trying to figure out but cant.
Thanks.Hi Sonali,
When ever you need to do anything with the table control, i mean if u want to display data in table control or you want to validate the data entered in table control Should be done within Loop and Endloop.(PBO or PAI's which ever is appropriate)
Here the data is not bieng displayed in ur table control because you have not used the MODULE fill_data between
LOOP AT lt_table_cont WITH CONTROL TBL_CONT cursor TBL_CONT-top_line.
ENDLOOP.
so do it like this
LOOP AT lt_table_cont WITH CONTROL TBL_CONT cursor TBL_CONT-top_line.
MODULE fill_data
ENDLOOP.
this will solve your problem.
Regards,
Syed -
Copy selected values from a table control into another table control
hi there,
as seen in the subject i need to copy selected values from a table control into another table control in the same screen. as i dont know much about table controls i made 2 table controls with the wizard and started to change the code... right now im totally messed up. nothing works anymore and i don't know where to start over.
i looked up the forums and google, but there is nothing to help me with this problem (or i suck in searching the internet for solutions)
i have 2 buttons. one to push the selected data from the top table control into the bottom tc and the other button is to push selected data from the bottom tc into the top tc. does somebody has a sample code to do this?you're funny
i still don't get it... can't believe, there is no tutorial or sample code around how to copy multiple selected rows from a tc.
here's my code, maybe you can tell me exactly were i have to change it:
tc1 = upper table control
tc2 = lower table control
SCREEN 0100:
PROCESS BEFORE OUTPUT.
MODULE status_0100.
MODULE get_nfo. --> gets data from the dictionary table
MODULE tc1_change_tc_attr.
LOOP AT it_roles_tc1
INTO wa_roles_tc1
WITH CONTROL tc1
CURSOR tc1-current_line.
ENDLOOP.
MODULE tc2_change_tc_attr.
LOOP AT it_roles_tc2
INTO wa_roles_tc2l
WITH CONTROL tc2
CURSOR tc2-current_line.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT it_roles_tc1.
CHAIN.
FIELD wa_roles_tc1-agr_name.
FIELD wa_roles_tc1-text.
ENDCHAIN.
FIELD wa_roles_tc1-mark
MODULE tc1_mark ON REQUEST.
ENDLOOP.
LOOP AT it_roles_tc2.
CHAIN.
FIELD wa_roles_tc2-agr_name.
FIELD wa_roles_tc2-text.
ENDCHAIN.
FIELD wa_roles_tc2-mark
MODULE tc2_mark ON REQUEST.
ENDLOOP.
MODULE ok_code.
MODULE user_command_0100.
INCLUDE PAI:
MODULE tc1_mark INPUT.
IF tc1-line_sel_mode = 2
AND wa_roles_tc1-mark = 'X'.
LOOP AT it_roles_tc1 INTO g_tc1_wa2
WHERE mark = 'X'. -
> big problem here is, that no entry has an 'X' there
g_tc1_wa2-mark = ''.
MODIFY it_roles_tc1
FROM g_tc1_wa2
TRANSPORTING mark.
ENDLOOP.
ENDIF.
MODIFY it_roles_tc1
FROM wa_roles_tc1
INDEX tc1-current_line
TRANSPORTING mark.
ENDMODULE. "TC1_MARK INPUT
MODULE tc2_mark INPUT.
IF tc2-line_sel_mode = 2
AND wa_roles_tc2-mark = 'X'.
LOOP AT it_roles_tc2 INTO g_tc2_wa2
WHERE mark = 'X'. -
> same here, it doesn't gets any data
g_tc2_wa2-mark = ''.
MODIFY it_roles_tc2
FROM g_tc2_wa2
TRANSPORTING mark.
ENDLOOP.
ENDIF.
MODIFY it_roles_tc2
FROM wa_roles_tc2
INDEX tc2-current_line
TRANSPORTING mark.
ENDMODULE.
thx for anybody who can help with this! -
How to find the level of each child table in a relational model?
Earthlings,
I need your help and I know that, 'yes, we can change'. Change this thread to a answered question.
So: How to find the level of each child table in a relational model?
I have a relacional database (9.2), all right?!
O /* This is a child who makes N references to each of the follow N parent tables (here: three), and so on. */
/↑\ Fks
O"O O" <-- level 2 for first table (circle)
/↑\ Fks
"o"o"o" <-- level 1 for middle table (circle)
↑ Fk
"º"Tips:
- each circle represents a table;
- red tables no have foreign key
- the table in first line of tree, for example, has level 3, but when 3 becomes N? How much is N? This's the question.
I started thinking about the following:
First I have to know how to take the children:
select distinct child.table_name child
from all_cons_columns father
join all_cons_columns child
using (owner, position)
join (select child.owner,
child.constraint_name fk,
child.table_name child,
child.r_constraint_name pk,
father.table_name father
from all_constraints father, all_constraints child
where child.r_owner = father.owner
and child.r_constraint_name = father.constraint_name
and father.constraint_type in ('P', 'U')
and child.constraint_type = 'R'
and child.owner = 'OWNER') aux
using (owner)
where child.constraint_name = aux.fk
and child.table_name = aux.child
and father.constraint_name = aux.pk
and father.table_name = aux.father;Thinking...
Let's Share!
My thanks in advance,
Philips
Edited by: BluShadow on 01-Apr-2011 15:08
formatted the code and the hierarchy for readbilityJustin,
Understood.
Nocycle not work in 9.2 and, even that would work, would not be appropriate.
With your help, I decided a much simpler way (but there is still a small problem, <font color=red>IN RED</font>):
-- 1
declare
type udt_roles is table of varchar2(30) index by pls_integer;
cRoles udt_roles;
begin
execute immediate 'create user philips
identified by philips';
select granted_role bulk collect
into cRoles
from user_role_privs
where username = user;
for i in cRoles.first .. cRoles.count loop
execute immediate 'grant ' || cRoles(i) || ' to philips';
end loop;
end;
-- 2
create table philips.root1(root1_id number,
constraint root1_id_pk primary key(root1_id)
enable);
grant all on philips.root1 to philips;
create or replace trigger philips.tgr_root1
before delete or insert or update on philips.root1
begin
null;
end;
create table philips.root2(root2_id number,
constraint root2_id_pk primary key(root2_id)
enable);
grant all on philips.root2 to philips;
create or replace trigger philips.tgr_root2
before delete or insert or update on philips.root2
begin
null;
end;
create table philips.node1(node1_id number,
root1_id number,
node2_id number,
node4_id number,
constraint node1_id_pk primary key(node1_id)
enable,
constraint n1_r1_id_fk foreign key(root1_id)
references philips.root1(root1_id) enable,
constraint n1_n2_id_fk foreign key(node2_id)
references philips.node2(node2_id) enable,
constraint n1_n4_id_fk foreign key(node4_id)
references philips.node4(node4_id) enable);
grant all on philips.node1 to philips;
create or replace trigger philips.tgr_node1
before delete or insert or update on philips.node1
begin
null;
end;
create table philips.node2(node2_id number,
root1_id number,
node3_id number,
constraint node2_id_pk primary key(node2_id)
enable,
constraint n2_r1_id_fk foreign key(root1_id)
references philips.root1(root1_id) enable,
constraint n2_n3_id_fk foreign key(node3_id)
references philips.node3(node3_id) enable);
grant all on philips.node2 to philips;
create or replace trigger philips.tgr_node2
before delete or insert or update on philips.node2
begin
null;
end;
create table philips.node3(node3_id number,
root2_id number,
constraint node3_id_pk primary key(node3_id)
enable,
constraint n3_r2_id_fk foreign key(root2_id)
references philips.root2(root2_id) enable);
grant all on philips.node3 to philips;
create or replace trigger philips.tgr_node3
before delete or insert or update on philips.node3
begin
null;
end;
create table philips.node4(node4_id number,
node2_id number,
constraint node4_id_pk primary key(node4_id)
enable,
constraint n4_n2_id_fk foreign key(node2_id)
references philips.node2(node2_id) enable);
grant all on philips.node4 to philips;
create or replace trigger philips.tgr_node4
before delete or insert or update on philips.node4
begin
null;
end;
-- out of the relational model
create table philips.node5(node5_id number,
constraint node5_id_pk primary key(node5_id)
enable);
grant all on philips.node5 to philips;
create or replace trigger philips.tgr_node5
before delete or insert or update on philips.node5
begin
null;
end;
-- 3
create table philips.dictionary(table_name varchar2(30));
insert into philips.dictionary values ('ROOT1');
insert into philips.dictionary values ('ROOT2');
insert into philips.dictionary values ('NODE1');
insert into philips.dictionary values ('NODE2');
insert into philips.dictionary values ('NODE3');
insert into philips.dictionary values ('NODE4');
insert into philips.dictionary values ('NODE5');
--4
create or replace package body philips.pck_restore_philips as
procedure sp_select_tables is
aExportTablesPhilips utl_file.file_type := null; -- file to write DDL of tables
aExportReferencesPhilips utl_file.file_type := null; -- file to write DDL of references
aExportIndexesPhilips utl_file.file_type := null; -- file to write DDL of indexes
aExportGrantsPhilips utl_file.file_type := null; -- file to write DDL of grants
aExportTriggersPhilips utl_file.file_type := null; -- file to write DDL of triggers
sDirectory varchar2(100) := '/app/oracle/admin/tace/utlfile'; -- directory \\bmduhom01or02
cTables udt_tables; -- collection to store table names for the relational depth
begin
-- omits all referential constraints:
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'REF_CONSTRAINTS', false);
-- omits segment attributes (physical attributes, storage attributes, tablespace, logging):
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SEGMENT_ATTRIBUTES', false);
-- append a SQL terminator (; or /) to each DDL statement:
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SQLTERMINATOR', true);
-- create/open files for export DDL:
aExportTablesPhilips := utl_file.fopen(sDirectory, 'DDLTablesPhilips.pdc', 'w', 32767);
aExportReferencesPhilips := utl_file.fopen(sDirectory, 'DDLReferencesPhilips.pdc', 'w', 32767);
aExportIndexesPhilips := utl_file.fopen(sDirectory, 'DDLIndexesPhilips.pdc', 'w', 32767);
aExportGrantsPhilips := utl_file.fopen(sDirectory, 'DDLGrantsPhilips.pdc', 'w', 32767);
aExportTriggersPhilips := utl_file.fopen(sDirectory, 'DDLTriggersPhilips.pdc', 'w', 32767);
select d.table_name bulk collect
into cTables -- collection with the names of tables in the schema philips
from all_tables t, philips.dictionary d
where owner = 'PHILIPS'
and t.table_name = d.table_name;
-- execution
sp_seeks_ddl(aExportTablesPhilips,
aExportReferencesPhilips,
aExportIndexesPhilips,
aExportGrantsPhilips,
aExportTriggersPhilips,
cTables);
-- closes all files
utl_file.fclose_all;
end sp_select_tables;
procedure sp_seeks_ddl(aExportTablesPhilips in utl_file.file_type,
aExportReferencesPhilips in utl_file.file_type,
aExportIndexesPhilips in utl_file.file_type,
aExportGrantsPhilips in utl_file.file_type,
aExportTriggersPhilips in utl_file.file_type,
cTables in out nocopy udt_tables) is
cDDL clob := null; -- colletion to save DDL
plIndex pls_integer := null;
sTableName varchar(30) := null;
begin
for i in cTables.first .. cTables.count loop
plIndex := i;
sTableName := cTables(plIndex);
* Retrieves the DDL and the dependent DDL into cDDL clob *
* for the selected table in the collection, and writes to file.*
begin
cDDL := dbms_metadata.get_ddl('TABLE', sTableName, 'PHILIPS');
sp_writes_ddl(aExportTablesPHILIPS, cDDL);
exception
when dbms_metadata.object_not_found then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('REF_CONSTRAINT', sTableName, 'PHILIPS');
sp_writes_ddl(aExportReferencesPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('INDEX', sTableName, 'PHILIPS');
sp_writes_ddl(aExportIndexesPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('OBJECT_GRANT', sTableName, 'PHILIPS');
sp_writes_ddl(aExportGrantsPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('TRIGGER', sTableName, 'PHILIPS');
sp_writes_ddl(aExportTriggersPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
end loop;
end sp_seeks_ddl;
procedure sp_writes_ddl(aExport in utl_file.file_type,
cDDL in out nocopy clob) is
pLengthDDL pls_integer := length(cDDL);
plQuotient pls_integer := null;
plRemainder pls_integer := null;
begin
* Register variables to control the amount of lines needed *
* for each DDL and the remaining characters to the last row. *
select trunc(pLengthDDL / 32766), mod(pLengthDDL, 32766)
into plQuotient, plRemainder
from dual;
* Join DDL in the export file. *
* ps. 32766 characters + 1 character for each line break. *
-- if the size of the DDL is greater than or equal to limit the line ...
if plQuotient >= 1 then
-- loops for substring (lines of 32766 characters + 1 break character):
for i in 1 .. plQuotient loop
utl_file.put_line(aExport, substr(cDDL, 1, 32766));
-- removes the last line, of clob, recorded in the buffer:
cDDL := substr(cDDL, 32767, length(cDDL) - 32766);
end loop;
end if;
* If any remains or the number of characters is less than the threshold (quotient = 0), *
* no need to substring. *
if plRemainder > 0 then
utl_file.put_line(aExport, cDDL);
end if;
-- record DDL buffered in the export file:
utl_file.fflush(aExport);
end sp_writes_ddl;
begin
-- executes main procedure:
sp_select_tables;
end pck_restore_philips;<font color="red">The problem is that I still have ...
When creating the primary key index is created and this is repeated in the file indexes.
How to avoid?</font> -
"Table Name" in customizing SUS:"make field control settings for tables"?
Hi Gurus,
In the following customizing node, I can find the table name such as :
ORDER.DET.EDIT
+ ORDER.DET.VIEW+
+ ORDER.HISTORY.DETAIL+
+ ORDER.ITEM.EDITH+
+ ORDER.ITEM.EDITL+
+ ORDER.ITEM.EDITL.WO.OR+
+ ORDER.ITEM.EDITM+
+ ORDER.ITEM.EDITM.WO.OR+
+ ORDER.ITEM.EDITS+
+ ORDER.ITEM.EDITS.WO.OR+
+ ORDER.ITEM.VIEWH+
+ ORDER.ITEM.VIEWL+
+ ORDER.ITEM.VIEWL.WO.OR+
+ ORDER.ITEM.VIEWM+
+ ORDER.ITEM.VIEWM.WO.OR+
+ ORDER.ITEM.VIEWS+
+ ORDER.ITEM.VIEWS.WO.OR+
+ ORDER.LIST+
+ ORDER.SDLN.EDIT+
+ ORDER.SDLN.VIEW+
It's difficult to know the difference for these so-called "table name"...
"SAP implementaion --> supplier relationship management --> supplier self-service --> settings for user interface --> make field control settings for tables"+
What's actual meaning for these table names? Where can I find related document and actual corresponding transparent tables for these so-called talbes?
Thanks and best regards
JackHi Neelima,
Thanks a lot.
Checked the SAP note, but I could not find corresponding infomation about that, kindly please advise again.
Best regards
jack -
In tabstrip control to display table control
Hi,
I want to to display a table control under tabstrip tab , How can i write the programm.
if any one knows pls reply me.hi Sridevi,
-->create sub screen with 100 with some screen number.
-->Create Table control..
--> append table control screen to Tab Strip.
--------------------- . . . . > > > > see the example below
Scenario:
Screen 601 has a table control named CTRL_ANVSTED.
The table should be filled with records from the table zanvstedm
For this purpose you use an internal table called TBL_ANVSTED
* Declare the table control
CONTROLS CTRL_ANVSTED TYPE TABLEVIEW USING SCREEN 601.
*Internal table used to hold data
DATA: TBL_ANVSTED LIKE ZANVSTEDM OCCURS 100 WITH HEADER LINE,
* Flag for initial reading
Data: FLAG_INITIAL TYPE I VALUE 0.
PROCESS BEFORE OUTPUT.
* Read data into the table control and the internal table
* PF status etc.
MODULE INITIALIZE_601.
* Read data from table anvstedm into internal table tbl_anvsted.
MODULE INIT_TBL_ANVSTED.
* Fill control with data from ythe internal table
LOOP WITH CONTROL CTRL_ANVSTED.
MODULE FILL_CTRL_ANVSTED.
ENDLOOP.
MODULE INIT_TBL_ANVSTED OUTPUT.
* Read data from table anvstedm into internal table tbl_anvsted.
IF FLAG_INITIAL = 0.
FLAG_INITIAL = 1.
SELECT * FROM ZANVSTEDM INTO TABLE TBL_ANVSTED.
ENDIF.
ENDMODULE.
MODULE FILL_CTRL_ANVSTED OUTPUT.
* Fill control with data from the internal table
READ TABLE TBL_ANVSTED INDEX CTRL_ANVSTED-CURRENT_LINE.
IF SY-SUBRC NE 0.
EXIT FROM STEP-LOOP.
ENDIF.
ENDMODULE.
PROCESS AFTER INPUT.
* Write changes in table control to internal table
LOOP WITH CONTROL CTRL_ANVSTED.
MODULE CTRL_ANVSTED.
ENDLOOP.
MODULE CTRL_ANVSTED INPUT.
* Write changes in table control to internal table
MODIFY TBL_ANVSTED INDEX CTRL_ANVSTED-CURRENT_LINE.
ENDMODULE.
Regards,
Prabhudas -
Hello experts,
I wanted to ask a question regarding the constraints of a source table. So I made a constraint where I check 'where varA > 0'. When I test this constraint it gives me 1 error and that's good. But in my Control tab of my interface there are only target table constraints displayed. So when there is a constraint violation in the source table, how do I get this error in the $E table and thus in the snp_check_tab, because I want to do an integration of this check_tab to my own table for logging purposes.
Thanks a lot
YvesHi,
In ODI error processing happen on I$ table which in turn gets data from source table(s) .
So if you put a filter then it will not flow into I$ table and hence not in E$ table as well .
At first I was using a filter source side: where result.code > '0000'. This was working fine but not inserting the 'bad' records into the error table. So I was trying to find a solution with a target side constraint, but this doesn't work.
Instead of fileter at source , you can create a constraint at the target side .
Go to model ----> your target table ----> constraint ----> Insert a new condition
Specify code > '0000'
If any record comes with code <='0000' then the same will get captured in the E$ table
Thanks,
Sutirtha -
How to make the table scalable inside a tap control?
Hi,
Does anyone know how to make the table scalable inside a tap control in LabWindow CVI? I see that there is option for a panel to scale contents on resize, but not available for a tab control. Any ideas?
Thanks a lot!
Weiming
Solved!
Go to Solution.Hi SGIE,
you have posted a LV-related question to the LabWindows/CVI forum: you should post it in the LabVIEW forum instead.
Proud to use LW/CVI from 3.1 on.
My contributions to the Developer Zone Community
If I have helped you, why not giving me a kudos? -
Migration MIC to GRC Process Control
Dear colleagues,
Does anyone have experience in migrating MIC 1.0 or 2.0 to GRC Process Control?
I got different information from the same company (...don't ask) regarding the possibility to migrate, so I just wonder who really knows.
Thank you in advance.
RRLet me be more specific. I am relating to the product currently available:
A migration path from MIC to Process Control is not available yet. A migration from MIC to Process Control has not been done yet.
However as both applications have similar objectives a migration may be feasible as a project solution. SAP may also offer such a migration. -
Help me find tables and the relation at CRM_DNO_MONITOR
hi...
Could anyone help me finding transparent tables of CRM_DNO_MONITOR (transaction code at solution manager)?
So far i've found
>CRMD_ORDERADM_H
>DNOD_NOTIF
>DNOD_NOTIF_S
>BUT000
is there any other tables?
what i really want to find is the relations between those tables.
i've already found relation between the three top, but i couldn't find relation the three top with BUT000.
i think there is (are) other table(s) that related them.
Could anyone help me?
Thanks..Thanks Ram for answering my question...
I've tried to check using SE36, i still don't get what i want.
Actualy what i want to do is, determine the business partner for a certain GUID(or OBJECT ID).
I've searched in this forum, some said that i had to connect it through CRMD_ORDER_INDEX.
It didn't work. Although CRMD_ORDERADM_H and CRMD_ORDER_INDEX both had GUID field, i can't find same data at those field.
Some also said that i had to use FM 'COM_PARTNER_CONVERT_GUID_TO_NO'.
Aparently i can only found that this FM just for converting PARTNER to PARTNER_GUID (or PARTNER_GUID to PARTNER) that both are on the same table, that is BUT000.
I've tried to match BUT000-PARTNER_GUID with CRMD_ORDERADM_H-GUID or BUT000-PARTNER_GUID with CRMD_ORDER_INDEX-GUID, the result is the same, there aren't match data.
Did i miss some step here?
My next question is, i want to find which field and table that stores message status (New, In Process, Customer Action, Sent to SAP, Solution Proposed, and Confirmed) and how to connect those table to CRMD_ORDERADM_H.
Thanks... -
Role of functional consultants in GRC Process Control
Can anybody provide his/her thoughts on the role played by functional consultants (especially FI, MM) in GRC Process Control assignments/projects?
Hi Abhijeet,
Process Control means controls to be implemented in a given Process.
Now what is the Process?
Flow of activities which can be tracked one end to other. Best example:: Procure- to- Pay or Order- to- Cash.
Procure to Pay is one process which starts with Procurement and involves MM-Purchase, and FI-AP mainly. Similarly , Order to Cash cycle starts from SD and stops at FI-AR.
Controls in these processes has to be built at several stages,i.e., at sub-process levels. For Instance, in Procur-to-Pay , more controls are required for Vendor related Transactions.- Person allowed to create vendor should not be allowed to process the Vendor. Internal control on Duplicate Invoices . Payment maintenace of vendor like Bank details changes in Vendor Master should be cross checked by two tier Authorisation or Composite Role method via Basis.
Henceforth the functinal consultants has more role to identify/design/implement the controls.
There is no readymade tool so far to guide us as to what are the Processes where we need the Controls in SAP. It calls for pure expertise in the domain and vast exposure in building the controls.
Most of the people are embedding controls today to Comply with various Regulations (SOX/J-SOX/COSO guidelines, etc.). Few are exercising it to avoid Frauds.
Let me know what is <i>your</i> actual concern and where exactly you are looking for the GRC Process Controls? Is it for Audit or for Implentation ? May be then this forum can be more helpful.
Regards,
Sudhanshu
My points....
Message was edited by:
Sudhanshu Shekhar Tiwary -
How to do parallel processing with dynamic internal table
Hi All,
I need to implement parallel processing that involves dynamically created internal tables. I tried doing so using RFC function modules (using starting new task and other such methods) but didn't get success this requires RFC enabled function modules and at the same time RFC enabled function modules do not allow generic data type (STANDARD TABLE) which is needed for passing dynamic internal tables. My exact requirement is as follows:
1. I've large chunk of data in two internal tables, one of them is formed dynamically and hence it's structure is not known at the time of coding.
2. This data has to be processed together to generate another internal table, whose structure is pre-defined. But this data processing is taking very long time as the number of records are close to a million.
3. I need to divide the dynamic internal table into (say) 1000 records each and pass to a function module and submit it to run in another task. Many such tasks will be executed in parallel.
4. The function module running in parallel can insert the processed data into a database table and the main program can access it from there.
Unfortunately, due to the limitation of not allowing generic data types in RFC, I'm unable to do this. Does anyone has any idea how to implement parallel processing using dynamic internal tables in these type of conditions.
Any help will be highly appreciated.
Thanks and regards,
Ashintry the below code...
DATA: w_subrc TYPE sy-subrc.
DATA: w_infty(5) TYPE c.
data: w_string type string.
FIELD-SYMBOLS: <f1> TYPE table.
FIELD-SYMBOLS: <f1_wa> TYPE ANY.
DATA: ref_tab TYPE REF TO data.
CONCATENATE 'P' infty INTO w_infty.
CREATE DATA ref_tab TYPE STANDARD TABLE OF (w_infty).
ASSIGN ref_tab->* TO <f1>.
* Create dynamic work area
CREATE DATA ref_tab TYPE (w_infty).
ASSIGN ref_tab->* TO <f1_wa>.
IF begda IS INITIAL.
begda = '18000101'.
ENDIF.
IF endda IS INITIAL.
endda = '99991231'.
ENDIF.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
pernr = pernr
infty = infty
begda = '18000101'
endda = '99991231'
IMPORTING
subrc = w_subrc
TABLES
infty_tab = <f1>
EXCEPTIONS
infty_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
subrc = w_subrc.
ELSE.
ENDIF. -
Data retrieve from one table control to another table control
Hi all,
I had an requirement like to create Two table controls.
for first Table control i had an sel field defined as 'MARK'.
when i check the row in the first table control think it is header data for sales order .
all the item details have to retrieve in the second table control.
This is my requirement, i am not able to trigger when selecting the row in table control.
will anybody had an experience like this.
Regards,
MadhaviHi Madhavi,
If we need the case to display header and item as mentioned in 2 table controls....
we can display in table control 2/item only (the line items of the one selected in the table control 1 or the header )...so ,at a time we need to display line items for only 1 header ....
so ...first disable the selections/multiple selections to disable the row selector
We have already declared a field type C to capture the value for the field selector...so we can convert this field to a radio button and then assign a function code to the radio button at screen level
Whenever you click on the radio button ..immediately the function code is triggered..then in PAI ..we can check and find the header record with 'X' and populate the data for the table control 2
Hope it helps
Regards
Byju
Maybe you are looking for
-
Scaling video without dithering pixels
Hello, I've performed some screen capture that I've imported into my Premiere CS4 project. Occasionally I want to zoom in, but Premiere chooses to dither (or "smooth" or "interpolate") the image whenever it's scaled. I'd prefer it not to resample,
-
What is the best way to process a dataset of 2000 records...
I have a problem where I get a collection of 2000 records. Using these rows I need to look for matches amongst existing rows in a table. Currently the procedure each row and scans the table for a match. Is there a way I can scan the table once for al
-
Validating non key fields in table maintenance generator
Hi, I ma using events for table maintenance generator event 05 ,there i want to validate non key fields ......i am throwing error message ....all the non key fields are getting in display mode ...i need them to enable to enter values .... please sugg
-
HELP! Error message during rendering
With only 1 hr. left of an almost 3 hr. process to create the DVD, I got an error message and the process was cancelled! I've started it again but I'm really worried that the same thing will happen. I have to deliver this DVD later this afternoon and
-
Can't specify DHCP DNS server ip with a 255 in it
I tried to add 64.102.255.44 a valid ip addres and a public DNS server to my DHCP configuration but the web interface says ip must be in the range 0-254. How can I report this bug?