Low Performance in Compliance Calibrator, running backgroung jobs
Hello there
We are running backgroung jobs to analyse users against our rules and it is taking forever. At this moment, we are running a job with three risks and it's taking more than one minute per user (we've got 9.000 users in total) and I think that after that, it will start with roles.
Our feeling is that the problem lies in the R/3 backend, however we were wondering whether you could let us know what should we check / what setting do we need to verify / how to improve performance.
Any idea/suggestion will be very appreciated.
Thanks very much for your comments,
We have applied some notes and we changed some CC parameters and seen some improvements. (We have changed the size of the batch for user sincronization from 1000 to 10000 and after that, we´ve checked a good improvement in user phase).
However, when the job is analysing roles, the performance is going down. And due to we have a extremely high number of roles, we would like to know if there would be a way to improve the analisys for roles. any parameter modification in GRC / J2EE/ backend related to roles?
Details of our roles:
- we have more than 50000 roles in our system
- 70 % of the roles are not assigned to any user (is there a way to avoid these roles? these roles are not put in order so too tedious to choose roles individually or by range.
Thanks very much in advance.
Similar Messages
-
Hi;
I have submitted a job to run in Compliance Calibrator as job type = immidiate, but the job does not appear to start and sits in ready status in State column. Can anyone guess, what the problem can be?
Regards;
SumantaHello,
This is known issue with GRC AC, please stop and start application "sap.com/grc~ccxsysbgear " from Visual Administrator - then you need to wait for some time and it should be started.
Visual Administrator --> Server -->Services --> Deploy --> Choose Application --> sap.com/grc~ccxsysbgear -
> Stop and then Start.
Hope this helps.
Thanks
Davinder -
Compliance Calibrator: Background jobs didn't bring in the correct data.
Hi Gurus;
In Compliance Calibrator; background jobs were last run on 5/27/09 but the management report shows that the summary is as of 5/20/09. That should have been updated uptill 5/27/09 and the new number of conflicts should have come up, which it didn't. What can be the problem?
Thanking you;
RajaHi Harleen;
This job was actually set by the client. So when I went to check the parameters of the jobs, I found that the field MGR_ANALYSIS consists of Field value "N". Does this mean that the Management Analysis box was not ticked when this job was scheduled?
Regards;
Raja -
Issue with Compliance Calibrator 5.2 SP9 Background Jobs
Hello,
I'm having an issue with Compliance Calibrator 5.2 SP9 where If I run a role analysis as a background job that has the same parameters as a previously run role analysis background job, the second job that is run will display a failure message. It does not appear to matter if the similar background jobs were run by the same individual or separate individuals. As long as the job that was previously run is still in the background job history, than any job with the same parameters run by a user will fail.
Is this normal operation for CC?
Is there a configuration change that could allow a job to be rerun in the background multiple times?
Is there a fix for this issue in a later support pack or with upgrade to 5.3?
Thanks for the help it's much appreciated,To better clarify what is occurring, the 1st job will run and complete successfully and return/display the appropriate results correctly. The 2nd job will than be subsequently kicked off and finish same as with the previous job except when you open the background results no data is displayed and the message at the bottom reads: Failed to display result. To make more sense of what Iu2019m doing, these are the logical steps Iu2019m following:
1. Select Role Level analysis
2. Enter parameters for analysis
3. Schedule background job to run immediately
4. View background job results (successful job and correct results)
5. Select Role Level analysis (with same or any other user)
6. Enter same parameters as step 2 for analysis
7. Schedule background job to run immediately
8. View background job results (successful job, but the error message: u2018Failed to display resultu2019, instead of seeing the CC reports)
I believe the error is somewhere in the running of a job with the same parameters (Same Role and same Report Type). If I delete the previous jobs from the background history that have the parameters Iu2019m using and try the analysis again, a third time, with the same parameters as before, it will run successfully and display the correct results.
Is this normal and acceptable operation for CC5.2 SP9?
Is there a configuration change that would allow a job to be run in the background multiple times with the correct CC results?
Is there a fix for this issue in a later support pack or with upgrade to 5.3? -
How to know if system is running in 40W low performance mode ?
I experienced the same problem than described in this topic: lower performance with charger than with battery!
(But I had set everything on Maximum Performance both in BIOS and in Windows's Power settings, so I think everything was done on software-side).
How to know if the system runs with lower performance (is it a 40W max mode? btw how did you know it is called "40W mode" ? I saw this figure nowhere else than in the mentioned-above topic) , except using a soft to do some benchmarking? Is there a place in BIOS (I didn't find!) ?Benoit34 wrote:
Hi,
I have a mac book pro & a friend has an Imac, how to know if we are both running Leopard under 32 or 64 bit.
I see that Leopard support 64, but didn't find if it was actually running in 64.
Regards,
Benoit
Welcome to Apple Discussions:
if your computer is 64-bit, Leopard is running in the 64-bit mode. There are a few caveats about this but basically this is the case. -
Custom report on Compliance Calibrator Job scheduler
Currently in compliance calibrator it is not possible for a user to view the status, success or otherwise, of another users scheduled job or sync unless granting that user full administrator rights.
Please advise if it's possible to expose the underlying scheduled job table for a given system via a custom built static html web page. Can you advise of the table that results would need to be displayed from and whether there would be any drawbacks of this approach, or if others have somehow solved this problem with another solution, please share?!
What are SAP's timeframe's for finer grained security in CC?below are the tables used for CC:
VIRSA_CC_ACTRULE SAPSR3DB
VIRSA_CC_ACTRULHDR SAPSR3DB
VIRSA_CC_ACTVL SAPSR3DB
VIRSA_CC_ADMIN SAPSR3DB
VIRSA_CC_ALLASTRUN SAPSR3DB
VIRSA_CC_ALLISTDTL SAPSR3DB
VIRSA_CC_ALLISTHDR SAPSR3DB
VIRSA_CC_ALTCDLOG SAPSR3DB
VIRSA_CC_AUTHHT SAPSR3DB
VIRSA_CC_AUTHMAP SAPSR3DB
VIRSA_CC_BKGINP SAPSR3DB
VIRSA_CC_BUAPPVR SAPSR3DB
VIRSA_CC_BUMONITOR SAPSR3DB
VIRSA_CC_BUSPRC SAPSR3DB
VIRSA_CC_BUSPRCT SAPSR3DB
VIRSA_CC_BUSUNIT SAPSR3DB
VIRSA_CC_BUSUNITT SAPSR3DB
VIRSA_CC_CDHDR SAPSR3DB
VIRSA_CC_CDPOS SAPSR3DB
VIRSA_CC_CGROUP SAPSR3DB
VIRSA_CC_CONFIG SAPSR3DB
VIRSA_CC_CRACT SAPSR3DB
VIRSA_CC_CRACTT SAPSR3DB
VIRSA_CC_CRACTVL SAPSR3DB
VIRSA_CC_CRPRM SAPSR3DB
VIRSA_CC_CRPRMVL SAPSR3DB
VIRSA_CC_CRPROF SAPSR3DB
VIRSA_CC_CRPROFT SAPSR3DB
VIRSA_CC_CRROLE SAPSR3DB
VIRSA_CC_CRROLET SAPSR3DB
VIRSA_CC_CRROLEVL SAPSR3DB
VIRSA_CC_DATAEXD SAPSR3DB
VIRSA_CC_DETDESC SAPSR3DB
VIRSA_CC_FLDMAP SAPSR3DB
VIRSA_CC_FUNC SAPSR3DB
VIRSA_CC_FUNCACT SAPSR3DB
VIRSA_CC_FUNCBP SAPSR3DB
VIRSA_CC_FUNCPRM SAPSR3DB
VIRSA_CC_FUNCSYS SAPSR3DB
VIRSA_CC_FUNCT SAPSR3DB
VIRSA_CC_GENACT SAPSR3DB
VIRSA_CC_GENOBJ SAPSR3DB
VIRSA_CC_GENOBJT SAPSR3DB
VIRSA_CC_GENPRM SAPSR3DB
VIRSA_CC_GENUSR SAPSR3DB
VIRSA_CC_GPRMLIST SAPSR3DB
VIRSA_CC_GSEQ SAPSR3DB
VIRSA_CC_JOBHST SAPSR3DB
VIRSA_CC_LASTRUN SAPSR3DB
VIRSA_CC_LOCKTABLE SAPSR3DB
VIRSA_CC_LSYSGRP SAPSR3DB
VIRSA_CC_MGALERTS SAPSR3DB
VIRSA_CC_MGCRTR SAPSR3DB
VIRSA_CC_MGMTBU SAPSR3DB
VIRSA_CC_MGMTTOT SAPSR3DB
VIRSA_CC_MGRISKD SAPSR3DB
VIRSA_CC_MGRISKS SAPSR3DB
VIRSA_CC_MICCTLDTL SAPSR3DB
VIRSA_CC_MICCTLDTT SAPSR3DB
VIRSA_CC_MICEXLOG SAPSR3DB
VIRSA_CC_MICORGDTL SAPSR3DB
VIRSA_CC_MICORGDTT SAPSR3DB
VIRSA_CC_MICPRCDTL SAPSR3DB
VIRSA_CC_MICPRCDTT SAPSR3DB
VIRSA_CC_MICRMAP SAPSR3DB
VIRSA_CC_MICUMAP SAPSR3DB
VIRSA_CC_MITHROBJ SAPSR3DB
VIRSA_CC_MITMON SAPSR3DB
VIRSA_CC_MITPROF SAPSR3DB
VIRSA_CC_MITREF SAPSR3DB
VIRSA_CC_MITREFT SAPSR3DB
VIRSA_CC_MITRISK SAPSR3DB
VIRSA_CC_MITROLE SAPSR3DB
VIRSA_CC_MITRPT SAPSR3DB
VIRSA_CC_MITUSER SAPSR3DB
VIRSA_CC_MITUSRORG SAPSR3DB
VIRSA_CC_MONAPV SAPSR3DB
VIRSA_CC_MSG SAPSR3DB
VIRSA_CC_MSGPRMS SAPSR3DB
VIRSA_CC_MSGTYP SAPSR3DB
VIRSA_CC_OBJTEXT SAPSR3DB
VIRSA_CC_ORGRULE SAPSR3DB
VIRSA_CC_ORGRULEM SAPSR3DB
VIRSA_CC_ORGRULET SAPSR3DB
VIRSA_CC_ORGUSERS SAPSR3DB
VIRSA_CC_PRMRULE SAPSR3DB
VIRSA_CC_PRMVL SAPSR3DB
VIRSA_CC_RISK SAPSR3DB
VIRSA_CC_RISKFUNC SAPSR3DB
VIRSA_CC_RISKOWN SAPSR3DB
VIRSA_CC_RISKRS SAPSR3DB
VIRSA_CC_RISKT SAPSR3DB
VIRSA_CC_ROLEVL SAPSR3DB
VIRSA_CC_RTMAP SAPSR3DB
VIRSA_CC_RULESET SAPSR3DB
VIRSA_CC_RULESETT SAPSR3DB
VIRSA_CC_SAPOBJ SAPSR3DB
VIRSA_CC_SCHEDULER SAPSR3DB
VIRSA_CC_SUPP_DET SAPSR3DB
VIRSA_CC_SUPP_HDR SAPSR3DB
VIRSA_CC_SUPP_TEXT SAPSR3DB
VIRSA_CC_SYSCRACT SAPSR3DB
VIRSA_CC_SYSHMAP SAPSR3DB
VIRSA_CC_SYSRULE SAPSR3DB
VIRSA_CC_SYSSAPOBJ SAPSR3DB
VIRSA_CC_SYSTEM SAPSR3DB
VIRSA_CC_SYSTEMC SAPSR3DB
VIRSA_CC_SYSTEMT SAPSR3DB
VIRSA_CC_SYSUSR SAPSR3DB
VIRSA_CC_TEXTKEY SAPSR3DB
VIRSA_CC_THREAD SAPSR3DB
VIRSA_CC_USRMAP SAPSR3DB
VIRSA_CC_VARIANT SAPSR3DB
VIRSA_CC_VARVAL SAPSR3DB
VIRSA_CC_WFOBJ SAPSR3DB
VIRSA_CC_XSRULEMAP SAPSR3DB
VIRSA_CC_XSYSGRP SAPSR3DB
You can go and check which one contains the scheduling info (VIRSA_CC_SCHEDULER ??)
Hope this helps -
Can a long running batch job causing deadlock bring server performance down
Hi
I have a customer having a long running batch job (approx 6 hrs), recently we experienced performance issue where the job now taking >12 hrs. The database server is crawling. Looking at the alert.log showing some deadlock,
The batch job are in fact many parallel child batch job that running at the same time, that would have explain the deadlock.
Thus, i just wondering any possibility that due to deadlock, can cause the whole server to be crawling, even connect to the database using toad is also getting slow or doing ls -lrt..
Thanks
Rgds
UngKok Aik wrote:
According to documentation, complex deadlock can make the job appeared hang & affect throughput, but it didn't mentioned how it will make the whole server to slow down. My initial thought would be the rolling back and reconstruct of CR copy that would have use up the cpu.
I think your ideas on rolling back, CR construction etc. are good guesses. If you have deadlocks, then you have multiple processes working in the same place in the database at the same time, so there may be other "near-deadlocks" that cause all sorts of interference problems.
Obviously you could have processes queueing for the same resource for some time without getting into a deadlock.
You can have a long running update hit a row which was changed by another user after the update started - which woudl cause the long-running update to rollback and start again (Tom Kyte refers to this as 'write consistency' if you want to search his website for a discussion on the topic).
Once concurrent processes start sliding out of their correct sequences because of a few delays, it's possible for reports that used to run when nothing else was going on suddenly finding themselves running while updates are going on - and doing lots more reads (physical I/O) of the undo tablespace to take blocks a long way back into the past.
And so on...
Anyway, according to the customer, the problem seems to be related to the lgpr_size as the problem disappeared after they revert it back to its orignial default value,0. I couldn't figure out what the lgpr_size is - can you explain.
Thanks
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
"Science is more than a body of knowledge; it is a way of thinking" Carl Sagan -
Custom Risks in Compliance Calibrator?
Hello,
Can someone please verify this process for me?
My understanding is that once you create and configure a custom risk in Compliance Calibrator 5.2, you simply click generate and can then immediately run a risk analysis using the new custom risk.
Is there any kind of a background job required to synchronise the new custom rule prior to running a risks analysis or any steps that I'm missing?
Thanks your help is much appreciated,Hi Adamo,
This is the exact process you need to follow. Once you create main risk and generate rules, you should be able to see the risk in CC. Have you enabled the particular risk? You can go to informer and try to run a simulation or ad-hoc analysis on that particular risk.
Regards,
Alpesh -
SAP GRC Access Control - Compliance Calibrator - License Cost
Dear all,
I have some questions on Compliance Calibrator implementation.
1. Do we have to pay additional cost for the license to implement Compliance Calibrator?
2. Since SAP GRC 5.3 is just released, which one do you recommend? SAP GRC 5.2 or 5.3?
3. What would be the major difference between Compliance Calibrator in GRC 5.2 and 5.3?
Best regards,
RolandoHi Rolando-
1. Yes, there lies some license cost and the amount should not as much as taking SAP R/3 license. I am not sure of exact amount but its nominal as compared to other SAP products.
2. SAP always recommend for the latest version available and why not one would go for latest version if you are paying something for that.
Also, it depends on your existing R/3 version and its compatibility. In short run, you can choose per your existing versions but in long run everyone has to move to latest version. Say for example whoever is using SAP R/3 technology with whatever version, they all need to upgrade to ECC6.0 by 2011 with extension upto 2013. I am not sure of any such information about GRC AC though.
3. Some enhancement have been done with CC 5.3. Those features include-
1. Risk analysis for SAP Enterprise Portal and UME
2. BI integration for custom reporting
3. Reporting enhancement features include additional auditor, business manager and IT reports
4. SOD management by exception. Can be integrated with workflow.
5. Import/Export of configuration data
6. Migration scripts
7. Download and print capability on every report.
Some performance improvements-
1. Concurrent risk analysis.
2. batch mode risk analysis
3. Improved memory mgmnt etc.
Hope it gives you now some more visibility.
Cheers!
Ashok -
Configuring Role Expert Web services for Compliance Calibrator
Hi @all,
performing the configuration of Virsa Role Expert I've got a question regarding the settings for the various Web Service Info. for the Compliance Calibrator.
Apart from the Web Service URL, user name and password need to be declared. The user guide names 'sapgrc' and 'webuser' as account names.
My question: How do I setup these accounts? Is this an UME-Job - if so: what are the required roles and authorizations for these accounts?
Kind regards,
MartinHi,
the Web Services URLs are:
Web Service Info. for CC Risk Analysis: http://SERVER_NAME:PORT/VirsaCCRiskAnalysisService/Config1?wsdl&style=document
Web Service Info. for CC Transaction Usage: http://SERVER_NAME:PORT/VirsaCCActionUsageService/Config1?wsdl&style=document
Web Service Info. for CC Mitigation Control: http://SERVER_NAME:PORT/VirsaCCMitigation5_0Service/Config1?wsdl&style=document
Web Service Info. for CC Functions: http://SERVER_NAME:PORT/VirsaCCFunction5_0Service/Config1?wsdl&style=document
Web Service Info. for AE Workflow: http://SERVER_NAME:PORT/AEWFRequestSubmissionService_5_2/Config1?wsdl&style=document
Does that answer your question?
Regards,
Martin -
Upload spreadsheet into Compliance Calibrator
Hey Experts....
Does anyone know how to upload a large amount of Users and Roles into Compliance Calibrator to do a simulation for SOD analysis?
I have about 500 Users I need to run CC against in Production and don't want to do them manually.
Any help would save a lot of time/$$.
Thanks.
ChrisChris,
What version of CC do you have? What do you mean by doing it manually? If you have SAP 4.6C and above, you should be able to schedule background job to syn users, roles etc.
Please provide more details.
Regards,
Alpesh -
Re: Virsa Compliance Calibrator & Pre-defined SOD Rule Set
Hi All,
We have installed the Virsa Compliance calibrator 5.1 in our sandbox environment. When we goto the "Rule Architect" tab under Compliance calibrator using tcode /virsa/zvrat it brings up the page with Rules information.
Per the Virsa documents that i read they have mentioned that there are pre-defined SOD Rules (Transaction codes and Tcode objects) that we can use in the Rule Architect.
My question is how do i enable and use those pre-set SOD Rules that Virsa provides by default. I do not see them under the Rule architect tab though. Can someone give some pointers to use these pre-set SOD rules.
Thanks & Regards
-MuraliHi Laziz,
Thanks for your patience in replying to my CC 5.1 queries. I did follow your steps for the Generate Rule & Background Job-> Schedule Analysis and scheduled the job immediate.
However, when i looked up the status of the scheduled analysis Background Job-> Search pulls up the job i scheduled at the top it reads "Job scheduler Status: unknown error" . I clicked on "View Log" button and it shows some messages as shown below (Note: I am just posting some parts of the error msgs below. but it still goes for 1 page...)
May 16, 2007 1:09:07 PM com.virsa.cc.xsys.bg.BgJobDaemon init
INFO: *** BgJobDaemon loaded
May 16, 2007 1:11:09 PM com.virsa.cc.common.util.ConfigUtil setDefaultJ2EEParam
WARNING: Cannot get Application URL: null. PLEASE SET 'Background Daemon URL' IN CONFIGURATION TAB
java.lang.NullPointerException
at com.virsa.cc.common.util.ConfigUtil.setDefaultJ2EEParam(ConfigUtil.java:203)
at com.virsa.cc.common.util.ConfigUtil.getBgJobStartURL(ConfigUtil.java:192)
at com.virsa.cc.xsys.bg.AnalysisDaemonThread.run(AnalysisDaemonThread.java:45)
at java.lang.Thread.run(Thread.java:534)
May 16, 2007 1:24:37 PM com.virsa.cc.extreport.JarClassLoader loadClassData
FINEST: class name: com.virsa.cc.extreport.ReportPack50SP1_01.ReportPack50SP1_01 class: com/virsa/cc/extreport/ReportPack50SP1_01/ReportPack50SP1_01.class
May 16, 2007 1:24:37 PM com.virsa.cc.extreport.JarClassLoader loadClassData
FINEST: Jar Entry length=1568 compressed size=1568 actual read=1568
May 16, 2007 1:24:37 PM com.virsa.cc.extreport.JarClassLoader loadClassData
FINEST: class name: com.virsa.cc.extreport.ReportPack50SP1_01.CrtActbyRsk_Act_RskLvl class: com/virsa/cc/extreport/ReportPack50SP1_01/CrtActbyRsk_Act_RskLvl.class
May 16, 2007 1:24:37 PM com.virsa.cc.extreport.JarClassLoader loadClassData
FINEST: Jar Entry length=13210 compressed size=13210 actual read=13210
May 16, 2007 1:24:37 PM com.virsa.cc.extreport.JarClassLoader loadClassData
FINEST: class name: com.virsa.cc.extreport.ReportPack50SP1_01.CrtRolbyRsk class: com/virsa/cc/extreport/ReportPack50SP1_01/CrtRolbyRsk.class
May 16, 2007 1:24:37 PM com.virsa.cc.extreport.JarClassLoader loadClassData
FINEST: Jar Entry length=19287 compressed size=19287 actual read=19287
May 16, 2007 1:24:37 PM com.virsa.cc.extreport.JarClassLoader loadClassData
FINEST: class name: com.virsa.cc.extreport.ReportPack50SP1_01.CrtProfbyRsk class: com/virsa/cc/extreport/ReportPack50SP1_01/CrtProfbyRsk.class
May 16, 2007 1:24:37 PM com.virsa.cc.extreport.JarClassLoader loadClassData
FINEST: Jar Entry length=12807 compressed size=12807 actual read=12807
May 16, 2007 1:24:37 PM com.virsa.cc.extreport.JarClassLoader loadClassData
FINEST: class name: com.virsa.cc.extreport.ReportPack50SP1_01.UsersbyOrgLevels class: com/virsa/cc/extreport/ReportPack50SP1_01/UsersbyOrgLevels.class
May 16, 2007 1:24:37 PM com.virsa.cc.extreport.JarClassLoader loadClassData
FINEST: Jar Entry length=18557 compressed size=18557 actual read=18557
May 16, 2007 1:24:59 PM com.virsa.cc.common.util.ConfigUtil setDefaultJ2EEParam
WARNING: Cannot get Application URL: null. PLEASE SET 'Background Daemon URL' IN CONFIGURATION TAB
java.lang.NullPointerException
I am not sure whats causing this and it's been 2hrs since i scheduled the user analysis but i don't see any data still appearing in the fron-end..Any pointers again???
Thanks
-Murali -
Compliance Calibrator 5.1 Risk Categories
Hello.
Is there a difference in the way the systems reacts to a risk category i.e. if the risk is classified as High, does it stop a user from doing something? Is there any difference between medium and low or are the categories merely used in the risk analysis reports as a statistic?
Thanks.It is still preventative in that you can perform a risk analysis simulation. That is, you can test for risks <i>before</i> you grant the user access. It is also preventative in that it is testing segregation of duties controls, which are a type of preventative control.
Risk Terminator leverages from the Compliance Calibrator rule-sets and basically modifies the user maintenance and role maintenance tcodes to add a risk-analysis step in there. So, for example, if you are maintaining a role, when you go to generate, it will perform a risk analysis and you will have to document the reasons for creating/changing a risky role. Same when you assign roles to a user that combine to cause a risk. So, yes, Risk Terminator is also preventative. As is Access Enforcer. -
Compliance Calibrator 5.1 Alert File generation
Greetings,
I would like to understand how the Compliance Calibrator (CC) 5.1 Alert Generation File is created. I specify a file name in 'Configuration/Miscellaneous/Alert Log Filename & Location', and schedule the job via 'Configuration/Background Job/Alert Generation'. The file is updated daily, but where is the data pulled from? It looks like the data is sorted daily by User ID and tcode. The data looks like it could come from the Security Audit Logs on ABAP instance, but would this be required?
Any technical information would be helpful.
Thank you,
RobHi Rob,
There are different types of alerts, which can be generated by Compliance Calibrator:
a) system finds that certain mitigation reports were not run in time;
b) end users executed critical transaction, listed in one of your risks;
c) end user executed conflicting transactions, lsited in one of your risks.
So, the data is pulled from your ABAP system. And it explains why you get the list of user IDs and tcodes.
Please, advise whether it asnwers your question ? And if yes, award the points accordingly
Best regards,
Laziz -
Alv show in report but when see in spool (after run background job) there i
my program have some error when i run result alv show in report but when see in spool (after run background job) there is no data, (other program can see result in spool)
Please help
here is some example of my program
********************************declare internal table*****************************
internal table output for BDC
data : begin of t_output occurs 0,
bukrs type anla-bukrs,
anln1 type anla-anln1,
anln2 type anla-anln2,
zugdt type anla-zugdt,
result(70) type c,
end of t_output.
*****get data from loop********************************
loop at t_anla.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = t_anla-anln1
IMPORTING
OUTPUT = t_anla-anln1.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = t_anla-anln2
IMPORTING
OUTPUT = t_anla-anln2.
check record is correct or not
select single bukrs anln1 anln2 zugdt
into w_output
from anla
where bukrs = t_anla-bukrs and
anln1 = t_anla-anln1 and
anln2 = t_anla-anln2
zugdt = '00000000'
if record is correct
if sy-subrc = 0 and w_output-zugdt = '00000000'.
w_output-bukrs = t_anla-bukrs.
w_output-anln1 = t_anla-anln1.
w_output-anln2 = t_anla-anln2.
w_output-result = 'Yes : this asset can delete'.
append w_output to t_output.
if record is not correct
elseif sy-subrc = 0 and w_output-zugdt <> '00000000'.
there is error record this asset have value already
v_have_error = 'X'.
w_output-bukrs = t_anla-bukrs.
w_output-anln1 = t_anla-anln1.
w_output-anln2 = t_anla-anln2.
w_output-result = 'Error : this asset have value already'.
append w_output to t_output.
else.
there is error record this asset donot exist in table anla
v_have_error = 'X'.
w_output-bukrs = t_anla-bukrs.
w_output-anln1 = t_anla-anln1.
w_output-anln2 = t_anla-anln2.
w_output-result = 'Error : this asset doest not exist'.
append w_output to t_output.
endif.
*end of check record is correct or not
clear w_output.
endloop.
******************************show data in ALV***************************************************
show data from file in ALV
perform display_report_ALV.
*& Form display_report_ALV
form display_report_ALV.
DATA: LT_FIELD_CAT TYPE SLIS_T_FIELDCAT_ALV,
LT_EVENTS TYPE SLIS_T_EVENT,
LV_REPID LIKE SY-REPID.
PERFORM ALV_DEFINE_FIELD_CAT USING LT_FIELD_CAT.
PERFORM ALV_HEADER_BUILD USING T_LIST_TOP_OF_PAGE[].
PERFORM ALV_EVENTTAB_BUILD USING LT_EVENTS[].
LV_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = LV_REPID
IT_FIELDCAT = LT_FIELD_CAT
I_SAVE = 'A'
IT_EVENTS = LT_EVENTS[]
TABLES
T_OUTTAB = t_output
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC NE 0.
WRITE: / 'Return Code : ', SY-SUBRC,
'from FUNCTION REUSE_ALV_GRID_DISPLAY'.
ENDIF.
endform.
*& Form alv_define_field_cat
text
-->P_LT_FIELD_CAT text
FORM ALV_DEFINE_FIELD_CAT USING TB_FCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: WA_FIELDCAT LIKE LINE OF TB_FCAT,
LV_COL_POS TYPE I.
DEFINE FIELD_CAT.
CLEAR WA_FIELDCAT.
ADD 1 TO LV_COL_POS.
WA_FIELDCAT-FIELDNAME = &1.
WA_FIELDCAT-REF_TABNAME = &2.
WA_FIELDCAT-COL_POS = LV_COL_POS.
WA_FIELDCAT-KEY = &3.
WA_FIELDCAT-NO_OUT = &4.
WA_FIELDCAT-REF_FIELDNAME = &5.
WA_FIELDCAT-DDICTXT = 'M'.
IF NOT &6 IS INITIAL.
WA_FIELDCAT-SELTEXT_L = &6.
WA_FIELDCAT-SELTEXT_M = &6.
WA_FIELDCAT-SELTEXT_S = &6.
ENDIF.
WA_FIELDCAT-DO_SUM = &7.
WA_FIELDCAT-OUTPUTLEN = &8.
APPEND WA_FIELDCAT TO TB_FCAT.
END-OF-DEFINITION.
FIELD_CAT 'BUKRS' 'ANLA' 'X' '' 'BUKRS' 'Company Code' '' ''.
FIELD_CAT 'ANLN1' 'ANLA' 'X' '' 'ANLN1' 'Asset Number' '' ''.
FIELD_CAT 'ANLN2' 'ANLA' 'X' '' 'ANLN2' 'Asset Sub Number' '' ''.
FIELD_CAT 'ATEXT' 'T5EAE' 'X' '' 'ATEXT' 'Result' '' ''.
FIELD_CAT 'RESULT' '' 'X' '' 'RESULT' 'RESULT' '' ''.
ENDFORM. " alv_define_field_catHi,
Check this code..
FORM display_report_alv.
DATA: lt_field_cat TYPE slis_t_fieldcat_alv,
lt_events TYPE slis_t_event,
lv_repid LIKE sy-repid.
PERFORM alv_define_field_cat USING lt_field_cat.
PERFORM alv_header_build USING t_list_top_of_page[].
PERFORM alv_eventtab_build USING lt_events[].
lv_repid = sy-repid.
IF sy-batch EQ 'X'. ----> " System Field for Backgroud..if Background use list display
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = lv_repid
it_fieldcat = lt_field_cat
i_save = 'A'
it_events = lt_events[]
TABLES
t_outtab = t_output
EXCEPTIONS
program_error = 1
OTHERS = 2.
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = lv_repid
it_fieldcat = lt_field_cat
i_save = 'A'
it_events = lt_events[]
TABLES
t_outtab = t_output
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDIF.
IF sy-subrc NE 0.
WRITE: / 'Return Code : ', sy-subrc,
'from FUNCTION REUSE_ALV_GRID_DISPLAY'.
ENDIF.
ENDFORM. "display_report_ALV
Maybe you are looking for
-
Need help setting up my work email
I'm new to Blackberry and need help with setting up my device to receive my work email (we use Outlook). They use BES but since I purchased my Verizon Blackberry on my own, my workplace IT department will not assist me in setting it up. Since the d
-
Multiple motion paths in CS5?
Hi- I'm new to Flash and have a question. I'm creating a Helium atom for my technology class and am trying to get 2 electrons to circle the nucleus. I've successfully created a classic motion path where one electron circles the nucleus. How do I crea
-
You can set an accelerator for a JMenuItem like this: menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));Which sets the accelerator to Ctrl + C. My question is, how do you make Ctrl + Shift + C or F5 to become accel
-
Hi, When i am running T.code FAGLF101 for vendors, systems is taking credit line items also. But i want it to select only debit line items of vendor. Can any one please tell me how to avoid credit line items of vendors while running FAGLF101. Thank
-
Process to activate BI Content
Hi All I'm having issues while activating BI Content InfoObjects. Kindly endorse if the following steps are correct? 1. We have activated DataSources (RSA5) in Source System 2. We then transferred Application Hierarchy (RSA9) in Source System 3. In B