Hi, I have a main process that calls a sub process.The main process passes

Hi,
I have a main process that calls a sub process.The main process passes many input parameters to the sub process and few of them are passed by reference. The application worked fine for a long period of time, but suddenly it started to give me this kind of exception: "There is a problem with the process Vacation Request. ERROR:EVAL:@reason=Function datetime: EVAL:@reason=A null parameter has been passed to the function (types Date in parameter position(s) 1); please check that the function's inputs are valid."
The thing is - the sub process pauses itself and stays like that...I just need to resume the sub process, and the process flow continues like it should. I have a rule that is used (in the exception of a user input task) in the sub process that checks the date input parameter (that is part of a CDT passed from the main process by reference). It appears that the variable is not passed fast enough, and the rule throws en exception because it t...

OriginalPostID-97893

OriginalPostID-97893

  Discussion posts and replies are publicly visible

  • ...hinks the date variable is empty. I have to use (execute) this rule because it is part of an exception (timer event -> skip this node after...) of the user input form.
    I am very curious why this happens now, because till now everything worked fine. We are using Appian 7.0.
    Any help would be much appreciated...
    Thank you in advance...
  • You mention that you are passing a CDT by reference. Passing a CDT by reference is not a best practice due to the affects of changing the CDT (especially to process instances that may be in progress).
    It is possible that you are seeing this due to cdt changes over time.
    I would recommend making this change first and see if the problem still persists since it is against best practice. Then it will be easier to troubleshoot.
    Hope that helps
  • I don't know if this is the reason, because I also have a process model (in a different application) that does the same thing (without using "by reference" when passing a CDT to a sub process). The same thing happens in that application also - the sub process suddenly pauses... Strange thing is that both of these applications throw the same exception now...but till now - everything worked OK (the applications have been active for a long time...)
    Also, I have to mention that in the first application (described in my first post - where I pass CDT to a sub process with by reference), the process flow pauses not only when the sub process is called, but also when the sub process finishes - then the main process pauses, and I also have to manually resume it in order for the process flow to continue.
    Thank you for your advice...If you have any other idea, I would much appreciate it...Best Regards
  • 0
    Certified Lead Developer
    Change your end event in the sub-process to have the terminate process option, this should resolve the issue of the sub-process not handing back to the parent which I have seen before when nodes in the sub-process have been manually started.
    Doesn't help your main issue I know...
  • it is set to terminate.Strange is that from unknown reasson this start to happend very offen when starting and completing process instance.So I think that the alert that is shown is not the real problem.Any other idea or should I open a ticket to appian support?
  • Here is the full log that is geneareted:

    2014-01-29 08:07:40 [PX021] {pe2450.kdb 5394594} (Default) ERROR .a.p.PROCESS.i "Event Mapping Runtime 13514, attached to Node instance 644917: 'Approval for Vacation Request for Svetlana Saveska', Process 539390707: 'Approval&Validation for Vacation Request bySvetlana Saveska'" "Timer absolute schedule expression (=if(pv!RequestDetails.To_Date > now(), #"_a-0000d7d9-8130-8000-d3f4-680000680000_14322"( pv!RequestDetails.From_Date ), #"_a-0000d7d9-8130-8000-d3f4-680000680000_14322"( now() ))): ERROR:EVAL:@reason=Function datetime: EVAL:@reason=A null parameter has been passed to the function (types Date in parameter position(s) 1); please check that the function's inputs are valid."
  • Is it possible that we are using now() as part of Rule expression for exception and maybe using of pp!start will be better ? Other thing does using of exception is best practise for appian or should I find any oher way to complete this ?