cancel
Showing results for 
Search instead for 
Did you mean: 

RAR: Error message while running role risk analysis.

Former Member
0 Kudos

Hi All,

We are implementing RAR 5.3. When running permission level risk analysis we get the following error message:

"Error while executing the Job:Cannot assign a blank-padded string to host variable 1.u201D

This happens only at permission level for just one single role and for all the composite roles that contain this one.

The rules were generated without any issue and we cannot find anything unusual on that particular single role.

Any ideas of what could be the cause of this error?

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi Iliya,

We could finally find the problem. We had uploaded (in RAR) SAP standar functions containing some actions without values in some of their authorization object fields. These functions were included in a risk definition. Then, defective rules with nule values were generated by GRC for that risk.

By disabling the empty fields in the functions, we regenerated the rules without empty values. Then risk analysis was successfully performed.

Regards.

Leandro.

Former Member
0 Kudos

Hi Iliya,

Thanks a lot for your help. Anyway, we'll keep on searching how to solve this error and we'll let you know as soon as we get it.

Regards.

Leandro.

Former Member
0 Kudos

Hi Iliya:

Please find below the job log with the detailed error description:


Mon Dec 15 10:06:37 GMT-02:00 2008 : -----------------------Scheduling Job =>233---------------------------------------------------------------
Mon Dec 15 10:06:37 GMT-02:00 2008 : --- Starting Job ID:233 (RISK_ANALYSIS_ADHOC) - mm:user10
Mon Dec 15 10:06:37 GMT-02:00 2008 : ----------- Background Job History: job id=233, status=1, message=mm:user10 started
Mon Dec 15 10:06:37 GMT-02:00 2008 :  Job ID:233 : Exec Risk Analysis
Mon Dec 15 10:06:37 GMT-02:00 2008 : Start Analysis Engine->Risk Analysis .....  memory usage: free=1571M, total=1962M
Mon Dec 15 10:06:38 GMT-02:00 2008 : Rule Loader Syskey => *
Mon Dec 15 10:06:38 GMT-02:00 2008 : No of Systems=1
Mon Dec 15 10:06:51 GMT-02:00 2008 : Action rules cache loaded: memory used in cache=56M, free=1512M, total=1962M
Mon Dec 15 10:06:51 GMT-02:00 2008 :  Job ID:233 : Rules loaded,  elapsed time: 13694 ms 
Mon Dec 15 10:06:57 GMT-02:00 2008 :  Job ID:233 : 
Mon Dec 15 10:06:57 GMT-02:00 2008 :  Job ID:233 : Analysis starts: MM:USER10
Mon Dec 15 10:07:16 GMT-02:00 2008 : Auth Map cache reloaded successfully
Mon Dec 15 10:07:32 GMT-02:00 2008 : Cannot assign a blank-padded string to host variable 1.com.sap.sql.log.Syslog.createAndLogOpenSQLException(Syslog.java:85)
com.sap.sql.log.Syslog.createAndLogOpenSQLException(Syslog.java:124)
com.sap.sql.types.VarcharResultColumn.setString(VarcharResultColumn.java:66)
com.sap.sql.jdbc.common.CommonPreparedStatement.setString(CommonPreparedStatement.java:511)
com.sap.engine.services.dbpool.wrappers.PreparedStatementWrapper.setString(PreparedStatementWrapper.java:355)
com.virsa.cc.xsys.util.ObjTextReader.lookupByKey(ObjTextReader.java:353)
com.virsa.cc.xsys.util.ObjTextReader.getFieldValueDesc(ObjTextReader.java:261)
com.virsa.cc.xsys.riskanalysis.AnalysisEngine.insertPermReportLines(AnalysisEngine.java:2286)
com.virsa.cc.xsys.riskanalysis.AnalysisEngine.outputPermissionViolation(AnalysisEngine.java:1858)
com.virsa.cc.xsys.riskanalysis.AnalysisEngine.performActPermAnalysis(AnalysisEngine.java:1182)
com.virsa.cc.xsys.riskanalysis.AnalysisEngine.riskAnalysis(AnalysisEngine.java:243)
com.virsa.cc.xsys.riskanalysis.AnalysisEngine.riskAnalysis(AnalysisEngine.java:207)
com.virsa.cc.xsys.bg.BgJob.runJob(BgJob.java:305)
com.virsa.cc.xsys.bg.BgJob.run(BgJob.java:183)
com.virsa.cc.xsys.riskanalysis.AnalysisDaemonBgJob.scheduleJob(AnalysisDaemonBgJob.java:154)
com.virsa.cc.xsys.riskanalysis.AnalysisDaemonBgJob.start(AnalysisDaemonBgJob.java:81)
com.virsa.cc.comp.BgJobInvokerView.wdDoModifyView(BgJobInvokerView.java:434)
com.virsa.cc.comp.wdp.InternalBgJobInvokerView.wdDoModifyView(InternalBgJobInvokerView.java:1223)
com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doModifyView(DelegatingView.java:78)
com.sap.tc.webdynpro.progmodel.view.View.modifyView(View.java:337)
com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:480)
com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doModifyView(WindowPhaseModel.java:551)
com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:148)
com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:711)
com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:665)
com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:232)
com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:152)
com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
java.security.AccessController.doPrivileged(Native Method)
com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Mon Dec 15 10:07:32 GMT-02:00 2008 : Cannot assign a blank-padded string to host variable 1.com.virsa.cc.xsys.bg.BgJob.runJob(BgJob.java:309)
com.virsa.cc.xsys.bg.BgJob.run(BgJob.java:183)
com.virsa.cc.xsys.riskanalysis.AnalysisDaemonBgJob.scheduleJob(AnalysisDaemonBgJob.java:154)
com.virsa.cc.xsys.riskanalysis.AnalysisDaemonBgJob.start(AnalysisDaemonBgJob.java:81)
com.virsa.cc.comp.BgJobInvokerView.wdDoModifyView(BgJobInvokerView.java:434)
com.virsa.cc.comp.wdp.InternalBgJobInvokerView.wdDoModifyView(InternalBgJobInvokerView.java:1223)
com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doModifyView(DelegatingView.java:78)
com.sap.tc.webdynpro.progmodel.view.View.modifyView(View.java:337)
com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:480)
com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doModifyView(WindowPhaseModel.java:551)
com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:148)
com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:711)
com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:665)
com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:232)
com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:152)
com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
java.security.AccessController.doPrivileged(Native Method)
com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Mon Dec 15 10:07:32 GMT-02:00 2008 : Job ID: 233 Status: Error
Mon Dec 15 10:07:32 GMT-02:00 2008 : ----------- Background Job History: job id=233, status=2, message=Error while executing the Job:Cannot assign a blank-padded string to host variable 1.
Mon Dec 15 10:07:32 GMT-02:00 2008 : -----------------------Complted Job =>233---------------------------------------------------------------

Regards.

Leandro.

Former Member
0 Kudos

Hi Leandro,

I expected the log to be more specific about its error alert, but unfortunately it is not telling us much more than the short message.

I was thinking what could be the reason for this, after your confirmation that you don`t have empty fields for auth. objects in virsa_cc_funcprm table and that you did not leave space after the role name in the query screen, there is not much left to be doubted for this kind of error.

Do you expect the analyzed role to trip on certain risk? If you know the risks that the role should trip, try to simulate with test role (create test role that will trip the risk) analysis against those risks. The other thing is to copy this role in the SAP system and to run analysis against the new copied role, make sure everything with the role seems fine, but that`s more random shooting.

Now I think is more up to you to figure out the problem, I really can`t give any valuable advise, but I`ll be gratefull if you share what was the problem after you resolve it:)

One last thing you could try. For I am uncertain which exactly were the tables that are used when populating the virsa_cc_funcprm table (generating the rules), by the way you can query on DB level and find those out, but it`ll be easier to download the ruleset from Rule Architect tab >Utilities>Export rules and then search for empty fields there. It has to be something like this, from my experience I know two reasons for such message - the empty field (instead of space) and the space after the role name in the query selection screen.

If this struggle does not produce result - the last option is message to SAP.

Goodluck:)

Iliya

Former Member
0 Kudos

Thank you Iliya for your response. We followed the suggested steps and confirmed via rule architect that all seemingly empty fields actually contain a space character.

We also double checked by querying table VIRSA_CC_FUNCPRM in the CCDebugger looking for null field values and got no matches.

Do you have other tests we can run?

Thanks again, regards.

Leandro.

Edited by: Leandro Perdomo on Dec 12, 2008 8:02 PM

Former Member
0 Kudos

Hi Leandro,

please open the job log and paste the detailed message here. You can do that from the "view log" button on the configuration->background jobs.

Regards,

Iliya

Former Member
0 Kudos

I forgot to mention in my previous post that this error only happens when we run Ad Hoc permission level risk analysis and not when running a Full Batch permission level risk analysis.

Any ideas would be greatly appreciated.

Former Member
0 Kudos

Hi Leandro,

make sure you don`t have empty field in your table for the function permission table. The one that defines the objects and their field values. The table is VIRSA_CC_FUNCPRM. In the fields where you have no value you should have space. Most probably the role that you are trying to analyze hits a rule which is for risk that has function, whose tcode is checking object for which you have empty value for some of the fields.... wow that is confusing. You try to open the file that you`ve loaded for functions permissions in excel and search for empty cells. When you find the object, go in the tool, and make sure you put space on that field, then regenerate all risks that use the respective funciton. Now run the report again.

Also make sure you don`t put space after the role name in the field in the risk analysis selection screen.

Goodluck

Iliya