cancel
Showing results for 
Search instead for 
Did you mean: 

SAP BPA Variant

0 Kudos

Hi All,

In SAP BPA, We have a requirement to run an SE38 program, we have imported the program and variant, we need to populate the variant with the below requirement . Like to know expression, =Time.format(Time.expressionNow('add 15 day'),'dd.MM.yyyy') so that we can pass it as a store variant before we run a the job

From = 1st day of next year i.e. 01.01.2019

To = Date ID + 2 years ( end date of next year i.e. 31.12.2020)

Regards,

Ram

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

Hi,

Basically when we try to run it we are getting below message

we are trying for the following SAP program - REATERM1

schrec.png

ERROR 2018-10-16 12:47:36,690 Europe/London [Redwood Action Component worker 0] log - -- JOB PRE-RUNNING ACTION FAILED - FAILING JOB --
java.lang.RuntimeException: Exception when preparing runtime parameter Parameter PAR_ABRDATV for process 327402
	at com.redwood.scheduler.action.impl.AbstractPreExecutingActionProcessor$1.performWork(AbstractPreExecutingActionProcessor.java:191)
	at com.redwood.scheduler.apiint.model.UnitOfWorkManager.a(UnitOfWorkManager.java:22)
	at com.redwood.scheduler.apiint.model.UnitOfWorkManager.perform(UnitOfWorkManager.java:63)
	at com.redwood.scheduler.apiint.model.UnitOfWorkManager.perform(UnitOfWorkManager.java:54)
	at com.redwood.scheduler.action.impl.AbstractPreExecutingActionProcessor.execute(AbstractPreExecutingActionProcessor.java:154)
	at com.redwood.scheduler.action.ActionWorker.doWork(ActionWorker.java:87)
	at com.redwood.scheduler.action.ActionWorker.doWork(ActionWorker.java:54)
	at com.redwood.scheduler.infrastructure.workqueue.Worker.run(Worker.java:80)
	at java.lang.Thread.run(Thread.java:812)
Caused by: JCS-122021: Could not evaluate default value for parameter: Parameter PAR_ABRDATV for process 327402
	at com.redwood.scheduler.model.method.impl.JobParameterMethodImpl.evaluateDefaultValueInt(JobParameterMethodImpl.java:1001)
	at com.redwood.scheduler.model.method.impl.JobParameterMethodImpl.setInValueToDefault(JobParameterMethodImpl.java:334)
	at com.redwood.scheduler.model.method.impl.JobParameterMethodImpl.prepareInt(JobParameterMethodImpl.java:132)
	at com.redwood.scheduler.model.JobParameterImpl.prepareInt(JobParameterImpl.java:1153)
	at com.redwood.scheduler.action.impl.AbstractPreExecutingActionProcessor$1.performWork(AbstractPreExecutingActionProcessor.java:185)
	... 8 more
Caused by: com.redwood.scheduler.script.api.ScriptEngineEvaluationException: Target exception
	at com.redwood.scheduler.script.rel.impl.RELScript.evaluate(RELScript.java:90)
	at com.redwood.scheduler.apiint.model.script.ScriptRunner.runScript(ScriptRunner.java:40)
	at com.redwood.scheduler.apiint.model.script.ScriptRunner.runREL(ScriptRunner.java:55)
	at com.redwood.scheduler.model.method.impl.JobParameterMethodImpl.evaluateDefaultValue(JobParameterMethodImpl.java:1032)
	at com.redwood.scheduler.model.method.impl.JobParameterMethodImpl.evaluateDefaultValueInt(JobParameterMethodImpl.java:997)
	... 12 more
Caused by: com.redwood.scheduler.script.rel.impl.RELTargetException: Target exception
	at com.redwood.scheduler.script.rel.impl.RELEvaluateVisitor.visit(RELEvaluateVisitor.java:456)
	at com.redwood.scheduler.script.rel.parser.ASTFunctionCall.jjtAccept(ASTFunctionCall.java:24)
	at com.redwood.scheduler.script.rel.impl.RELEvaluateVisitor.visitChildrenAsArray(RELEvaluateVisitor.java:157)
	at com.redwood.scheduler.script.rel.impl.RELEvaluateVisitor.visit(RELEvaluateVisitor.java:402)
	at com.redwood.scheduler.script.rel.parser.ASTParameterList.jjtAccept(ASTParameterList.java:21)
	at com.redwood.scheduler.script.rel.impl.RELEvaluateVisitor.visit(RELEvaluateVisitor.java:413)
	at com.redwood.scheduler.script.rel.parser.ASTFunctionCall.jjtAccept(ASTFunctionCall.java:24)
	at com.redwood.scheduler.script.rel.impl.RELEvaluateVisitor.visitChildren(RELEvaluateVisitor.java:136)
	at com.redwood.scheduler.script.rel.impl.RELEvaluateVisitor.visit(RELEvaluateVisitor.java:304)
	at com.redwood.scheduler.script.rel.impl.RELScript.evaluate(RELScript.java:82)
	... 16 more
Caused by: java.lang.RuntimeException: Illegal specifier year in operator truncate at 'truncate year '
	at com.redwood.scheduler.infrastructure.text.ExpressionTokenizer.newException(ExpressionTokenizer.java:59)
	at com.redwood.scheduler.api.date.TimeExpression.specifier(TimeExpression.java:368)
	at com.redwood.scheduler.api.date.TimeExpression.truncate(TimeExpression.java:299)
	at com.redwood.scheduler.api.date.TimeExpression.evaluate(TimeExpression.java:159)
	at com.redwood.scheduler.script.rel.impl.functions.TimeExpression.evaluate(TimeExpression.java:14)
	at com.redwood.scheduler.script.rel.impl.functions.BaseTime.expressionNow(BaseTime.java:112)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.redwood.scheduler.script.api.DirectArgsMethod.callMethod(DirectArgsMethod.java:54)
	at com.redwood.scheduler.script.api.SimpleFunctionRegistry.callFunction(SimpleFunctionRegistry.java:158)
	at com.redwood.scheduler.script.rel.impl.RELScriptEvaluationContextImpl.callFunction(RELScriptEvaluationContextImpl.java:139)
	at com.redwood.scheduler.script.rel.impl.RELEvaluateVisitor.visit(RELEvaluateVisitor.java:438)
	... 25 more
0 Kudos

Thanks for your help.. Gerben

gmblom
Active Contributor
0 Kudos

Hello,

Add the parameters for the variant to the Definition. Lookup the technical names of the variant parameters and add the prefix PAR_ or SEL_ (for single value or multiple value selection parameter). I think you need PAR_ here.

So add parameter PAR_FROM_DATE (if the technical parameter name is FROM_DATE) with value =Time.format(Time.expressionNow('truncate year add 12 months'),'yyyyMMdd') - for 1st of next year, yyyyMMdd is the most save date format to pass to SAP

And parameter PAR_TO_DATE with value =Time.format(Time.expressionNow('truncate year add 24 months subtract 1 day'),'yyyyMMdd') - for last day of the year after.


Regards Gerben