Hi Experts,
We are going to install SAP CPS in my landscape , we don't have any idea about SAP CPS By REDWOOD, so can any one help me for how install and how to use, send complete guidance for SAP CPS by REDWOOD .
Thanks & regards
J JANA
Hi Experts,
We are going to install SAP CPS in my landscape , we don't have any idea about SAP CPS By REDWOOD, so can any one help me for how install and how to use, send complete guidance for SAP CPS by REDWOOD .
Thanks & regards
J JANA
Hello,
I wrote a script which should create one job per each row in a table. The table has two columns (key and parameter).
The script works only for the first value. Afterwards the job goes to error with the error message "Trying to use non-attached object TableValue".
May you help me to find the failure?
Source code:
import java.util.Iterator;
import com.redwood.scheduler.api.model.*;
import com.redwood.scheduler.api.model.enumeration.*;
import com.redwood.scheduler.api.scripting.variables.ScriptSessionFactory;
{
String vTableName = "TABLE1";
SchedulerSession session = ScriptSessionFactory.getSession();
Table importTable = session.getTableByName(vTableName);
if(importTable == null)
{
jcsOut.println("Table " + vTableName + " does not exist");
return;
}
// Iterator for looping through the table
Iterator iterTV = importTable.getTableValues();
while(iterTV.hasNext())
{
// Get the single table value
TableValue tv = (TableValue)iterTV.next();
// Check, if the table value belongs to a specific column
if (tv.getColumnName().equals("PARAMETER"))
{
// Get the key to identify the table row
String vkey = tv.getKey();
String strParameter = importTable.getTableValueBySearchKeySearchColumnName(vkey,"PARAMETER").getColumnValue();
// Get the job definition
JobDefinition jd = jcsSession.getJobDefinitionByName("TEST_JOBDEFINITION");
// Prepare a job based on the job definition
Job job = jd.prepare();
// Provide the other parameter values to the job
jcsOut.println("JOBNAME: " + strParameter);
job.getJobParameterByName("p_JobName").setInValueString(strParameter);
job.getJobParameterByName("jdpName").setInValueString("PRINT_PDEST");
job.getJobParameterByName("replaceValue").setInValueString("");
job.getJobParameterByName("p_ChangeJobDef").setInValueString("Y");
job.getJobParameterByName("p_TestRun").setInValueString("Y");
jcsOut.println("");
jcsSession.persist();
jcsSession.waitForJob(job);
jcsSession.refreshObjects(new SchedulerEntity[]{jd});
}
}
jcsOut.println("All requests from Table " + vTableName + " processed.");
}
Best regards
Dana
Hi Experts,
During audit of CPS,we have provided some screen shots of the jobs ran in our system.
In the screen shots,some of the jobs are having blue color over normal black color of other jobs.
Please find the screen shot.
Is anyone having any idea about the blue color significance for only some of the job/job chain's are having?
Hi All,
Tool Used : Redwood explorer V7 sp5
I have a similar issue where i need to check job status ( running, completed , erred etc) of several jobs daily which eats a lot of my time. I was thinking is there a way to , lets say , i need to check 10 jobs ,can i run a query by giving job names and i can get the details ( starttime, endtime, status etc) , if possible i would then export this output to my email so that every time i don't have to check every job again n again.
PS: i tried google for this stuff , not really helpful.
Looking forward for your expertise advise on this, any pointers will be helpful.
Thanks,
Ashish Sharma
Hi,
We are looking for the script which can change the user/owner of the job definition, by default when ever we create/import any job definition in CPS it adds the user in "Security Tab" along with Grant-All and Grantable-All permissions and it will be grayed out and no changes allowed to that object owner/user.
We have requirement to change the owner/user of the job definitions. Can any one provide the cps script logic to update user/owner.
Thanks
Nidhish
Hi,
We are running on M33 -61 .Is this version capable of sending files through SFTP .Has any one tried ? Any inputs would be greatly helpful.
Regrads
Balaji Natarajan
Hi All,
I am using the below query to extract all the job chains which are event dependent.
"select jc.* from JobChain jc,JobDefinition jd,JobDefinitionWaitEvent jw"
+ " where jc.JobDefinition = jd.UniqueId"
+ " and jd.UniqueId = jd.MasterJobDefinition"
+ " and jd.UniqueId = jw.JobDefinition"
+ " and jd.UniqueId not in (select distinct JobChainCall.JobDefinition from JobChainCall)";
Can anyone please help me how to modify the above query to extract only file aware jobs.
Regards,
Nanak.
Hi All,
I am trying to generate report for errored or killed jobs. Please help me how to modify the query in the attached screenshot to get the list of jobs belonging to only a specific application say 'FICA'.
2. Also how to modify the query in the screenshot to get only the list of jobs starting from a specific date.
I tried to create a query filter in the job monitor and use that filter to extract the job but it is not listing the child jobs of a job chain.
Thanks,
Tinku
Hi All,
In our company we have plans of migrating SQL DB of CPS to HANA DB(Multitenant DB). Can anyone please explain me the roadmap of CPS upgrade to BPA.
-->Is BPA is new installation or just it is upgrade of CPS component ETPRJSCHEDULER ?
-->Which Version of Netweaver will support BPA?
Regards,
Renu
I have a job that runs every 5 minutes in cps. I have had times when the job has not started when it should and does not start until late, due to system issues or something. I would like to know, is there something I can setup to have it alert me, when this job hasn't started within 15 minutes from the 5 minutes Submit frame I am using now? Thanks in advance for any sugguestion if this is possible.
Hi All,
Can anyone please help me how to pass parameter in a Redwood script.
For example:
jobdefparam.setDefaultExpression("BTCHWM");
How can I pass "BTCHWM" as a parameter.
Also please help me how to pass a chain level parameter in "post running action" of a script.
Regards,
Lohit
Hi All,
I am trying to generate report for errored or killed jobs. Please help me how to modify the query in the attached screenshot to get the list of jobs belonging to only a specific application say 'FICA'.
2. Also how to modify the query in the screenshot to get only the list of jobs starting from a specific date.
I tried to create a query filter in the job monitor and use that filter to extract the job but it is not listing the child jobs of a job chain.
Thanks,
Tinku
Hello All,
When we are trying to change the timezone or anything in user setting, we are getting below error message:
JCS-122035: Unable to persist: JCS-102200: Registry entry Locale, full path /user/userid@abc/ui/configuration/Locale already exists
at com.redwood.scheduler.model.SchedulerSessionImpl.writeDirtyListLocal(SchedulerSessionImpl.java:1012)
at com.redwood.scheduler.model.SchedulerSessionImpl.persist(SchedulerSessionImpl.java:938)
at com.redwood.scheduler.ui.model.impl.FormImpl.modelActions(FormImpl.java:855)
at com.redwood.scheduler.ui.model.impl.LifeCycle.run(LifeCycle.java:285)
at com.redwood.scheduler.ui.servlet.Servlet.handleRequest(Servlet.java:165)
at com.redwood.scheduler.ui.servlet.Servlet.doPost(Servlet.java:104)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.redwood.scheduler.security.filter.ChannelFilter.doFilter(ChannelFilter.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.redwood.scheduler.module.impl.ModuleFilter.doFilter(ModuleFilter.java:157)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.redwood.scheduler.security.filter.SecurityFilter.doFilter(SecurityFilter.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.redwood.scheduler.security.filter.HttpMethodFilter.doFilter(HttpMethodFilter.java:74)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.redwood.scheduler.servlet.RequestCharsetFilter.doFilter(RequestCharsetFilter.java:200)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:203)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at com.redwood.platform.context.RPValve.invoke(RPValve.java:30)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.redwood.scheduler.model.exception.UniqueConstraintViolatedException: JCS-102200: Registry entry Locale, full path /user/userid@abc/ui/configuration/Locale already exists
at com.redwood.scheduler.model.ModelSQLExceptionMappingImpl.wrapUniqueConstraintViolatedException(ModelSQLExceptionMappingImpl.java:46)
at com.redwood.scheduler.persistence.helper.PostgresGenericSQLExceptionWrapper.throwWrappedSQLExceptionIfRequired(PostgresGenericSQLExceptionWrapper.java:54)
at com.redwood.scheduler.persistence.helper.RecoverySQLExceptionWrapper.wrapSQLException(RecoverySQLExceptionWrapper.java:53)
at com.redwood.scheduler.persistence.impl.OuterPersistenceUnitOfWorkManager.rethrowException(OuterPersistenceUnitOfWorkManager.java:91)
at com.redwood.scheduler.persistence.impl.OuterPersistenceUnitOfWorkManager.execute(OuterPersistenceUnitOfWorkManager.java:43)
at com.redwood.scheduler.persistence.impl.LowLevelPersistenceImpl.writeDirtyObjectList(LowLevelPersistenceImpl.java:197)
at com.redwood.scheduler.cluster.persistence.ClusteredLowLevelPersistence.writeDirtyObjectList(ClusteredLowLevelPersistence.java:67)
at com.redwood.scheduler.model.SchedulerSessionImpl.writeDirtyListLocal(SchedulerSessionImpl.java:987)
... 44 more
Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "jcs_registry00"
Detail: Key (a_name, f_parent)=(Locale, 550505025) already exists.
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
We are using redwood version 9 (9.0.14.3)
Regards,
Abhishek
Hello ,
I have daily job which runs at X:00 time in Redwood CPS and i want to change the time only for that 1 day of execution.
Then again to normal time. Is it possible to change . Any suggestions.
Regards,
Krishna
The challenge is job name of the transport job varies each time you schedule. For instance
TMS_0000000022TMS_TP_IMPORT
TMS_0000000023TMS_TP_IMPORT
I would like to schedule transports regularly every 30 minutes instead of manually importing into QAS. The job should checks whether any transports are released from DEV and import them. I hope I am clear in my query.
Is there any possibility. Thanks for your input in advance.
I need to clear the event before raising it otherwise it will lead to two events raised and that's not the requirement so is there any redwood script or expression to check the status of event (i.e. whether it's raised or clear ) and accordingly I can clear please help.
waitEvents.EVT_RAISE_MG.raiser comment not providing the comment .
Please suggest
I am using the below code to get the event and then clear it but it's working for some of the event and for the other it's giving below error. { EventDefinition ed1 = jcsSession.getEventDefinitionByName(Event_Name); { ed1.clear(); jcsSession.persist(); jcsOut.println(ed1.getName()); jcsOut.println(ed1.getName() + "Events Cleared"); } }
Caused by: java.lang.NullPointerException: while trying to invoke the method com.redwood.scheduler.api.model.EventDefinition.clear() of a null object loaded from local variable 'ed1' at com.redwood.scheduler.custom.JD_CLEAR_EVENT_MGexecute(JD_CLEAR_EVENT_MG.java:user code 7) at com.redwood.scheduler.custom.JD_CLEAR_EVENT_MGStub.jcsExecute(JD_CLEAR_EVENT_MGStub.java:30) ... 13 more
Hi
I have created a parameter which is used to pass the event name in the redwood script. But I want to have all the events display as drop down when we click on that parameter.
I do not know how to pass the value in constraint.
Something similar to what we get when we click on job definition as shown below
Please help.
Hello All,
We got an epic requirement to auto submit the jobs without manual intervention or Submit the job first time (either with Submit frame)
e.g. We want to run a job A at 22:00 Monday - Sunday but user want to submit the jobs manually with submit frame. We have been asked to do the configuration so it will always auto submit the jobs. I have no idea about what will the best way to do it.
Could you please advice does can we do it-
1) With calender, time window or submit frame.
2) Triggers
3) With Redwood scripts
What is best way doing it and what is limitation and disadvantage doing it (if any advantages also please let me know, the whole idea behind this that they don't operator to submit any jobs)
Many thanks,
Regards,
Abhishek
Hello,
I wrote a script which should create one job per each row in a table. The table has two columns (key and parameter).
The script works only for the first value. Afterwards the job goes to error with the error message "Trying to use non-attached object TableValue".
May you help me to find the failure?
Source code:
import java.util.Iterator;
import com.redwood.scheduler.api.model.*;
import com.redwood.scheduler.api.model.enumeration.*;
import com.redwood.scheduler.api.scripting.variables.ScriptSessionFactory;
{
String vTableName = "TABLE1";
SchedulerSession session = ScriptSessionFactory.getSession();
Table importTable = session.getTableByName(vTableName);
if(importTable == null)
{
jcsOut.println("Table " + vTableName + " does not exist");
return;
}
// Iterator for looping through the table
Iterator iterTV = importTable.getTableValues();
while(iterTV.hasNext())
{
// Get the single table value
TableValue tv = (TableValue)iterTV.next();
// Check, if the table value belongs to a specific column
if (tv.getColumnName().equals("PARAMETER"))
{
// Get the key to identify the table row
String vkey = tv.getKey();
String strParameter = importTable.getTableValueBySearchKeySearchColumnName(vkey,"PARAMETER").getColumnValue();
// Get the job definition
JobDefinition jd = jcsSession.getJobDefinitionByName("TEST_JOBDEFINITION");
// Prepare a job based on the job definition
Job job = jd.prepare();
// Provide the other parameter values to the job
jcsOut.println("JOBNAME: " + strParameter);
job.getJobParameterByName("p_JobName").setInValueString(strParameter);
job.getJobParameterByName("jdpName").setInValueString("PRINT_PDEST");
job.getJobParameterByName("replaceValue").setInValueString("");
job.getJobParameterByName("p_ChangeJobDef").setInValueString("Y");
job.getJobParameterByName("p_TestRun").setInValueString("Y");
jcsOut.println("");
jcsSession.persist();
jcsSession.waitForJob(job);
jcsSession.refreshObjects(new SchedulerEntity[]{jd});
}
}
jcsOut.println("All requests from Table " + vTableName + " processed.");
}
Best regards
Dana