EBS script error while sending workflow emails

Options

Hi Experts,

I am seeing below error when my custom EBS script is trying to send email.

dmbasic: Exceed limit of 40 parameters
dmExec::ForkLaunch() process exit code: 0
dmExec::ForkLaunch() returning value: 0

Below are my findings:

In the docbase logs I see below line (note there is more to this line I have cropped it as an example)

./dmbasic -f/cfo/Documentum/docoffice/myc_html_sender.ebs -eMail -- -docbase_name "m_corpdocbase" -due_date "none" -event_name "dm_startedworkitem" …..

Total parameters passing here is more than 40 as mentioned in error above. I am not sure from where these parameters are coming. In DA's Methods tab I just see that we pass argument upto -eMail. From where are other parameter getting added ?

Is there a way for me to increase the parameter size? If not from where can I control parameters?

Best Answer

  • AJCan
    AJCan Member
    #2 Answer ✓
    Options

    I was able to resolve this issue. The server config object was invoking Java based dm_event_sender method while it was supposed to invoke dmbasic based method. Updated the value in dm_server_config object that resolved the error of 40 parameters.

Answers

  • Michael McCollough
    Michael McCollough E Community Moderator
    Options

    Going from memory here so I could be wrong BUT anything passed to the method argument with a space will be a new parameter. For example:

    /dmbasic -f/cfo/Documentum/docoffice/myc_html_sender.ebs -eMail -- -docbase_name "m_corpdocbase" -due_date "none" -event_name "dm_startedworkitem" -message this is my message that has not quotes

    The -message parts that follow woud EACH be parameter/value pairs so:

    message = this

    is=my

    message=that

    has=not

    quotes = null

    Most likely you may be passing an argument that has values that are not quoted and are being consider as seperate key/value pairs.

  • Michael McCollough
    Michael McCollough E Community Moderator
    Options

    Otherwise, provide the full arguments and it might be better determined why this is happening.

  • AJCan
    AJCan Member
    Options

    Thank you Michael for you response. From what I investigated the ebs file is treating -docbase_name(i.e. argument name) as one parameter and docbase name as another. For example in below line

    /dmbasic -f/cfo/Documentum/docoffice/myc_html_sender.ebs -eMail -- -docbase_name "m_corpdocbase" -due_date "none" -event_name "dm_startedworkitem"

    -docbase_name, "m_corpdocbase", -due_date, "none", -event_name and "dm_startedworkitem" everything after -eMail is considered as parameter making count as 6 instead of 3.

    In one of our other env emails are working fine because these argument names (-docbase_name, -due_date and -event_name) are not getting passed to ebs file. But I am not able to find from where these arguments are coming.

    I tried running the ebs file from command prompt removing these additional arguments (argument names) it script is working fine.

  • Francois Dauberlieu
    Options

    How do you run your method?

    If it is called by a job, then it could be enough to uncheck the Pass standard arguments in the job'd definition Method tab. You might want to check on the working env hos the job is defined…..

  • AJCan
    AJCan Member
    Options

    Francois,

    dm_event_sender (dmbasic) method is not called from a job. And I checked that same set of arguments are passed in default ebs script as well. But somehow those argument names don't come in them.

  • AJCan
    AJCan Member
    #8 Answer ✓
    Options

    I was able to resolve this issue. The server config object was invoking Java based dm_event_sender method while it was supposed to invoke dmbasic based method. Updated the value in dm_server_config object that resolved the error of 40 parameters.