Search This Blog

SBL-DAT-00410: The '%1 ' function requires '%2' parameters. You supplied '%3'

Applies to:

Product Release: V7 (Enterprise)
Version: [16061]
Database: Oracle
Application Server OS: Sun Solaris 8
Database Server OS: Sun Solaris 8

This document was previously published as Siebel SR 38-1638376381.



while setting up EAI within Siebel we can't find a way to implement data translations under Integration Administration – Data Map Editor – Integration Field Map -> Source Expression.

IfNull ([Home Phone #], [Cellular Phone #])

If( [Type] = 'Home', '1', (If( [Type] = 'Billing', '2', (If( [Type] = 'Delivery', '4', (If( [Type] = 'Business', '5', (If( [Type] = "", '-6')))))))))

If ([Email Address] = "", "", "1")

If ([Home Phone #] = "", "", "1")

If ([Serial Number] = "", "", "1")

Can you advise us on what coding to use to apply above translations for the Integration Field mapping ?
Thanks for your help.

Kind regards,
Stefan Mulder


Message 1


Thank you for using the Siebel SupportWeb.

For the benefit of other readers, the customer received the following error when attempting to use the EAI Data Mapper to transform an integration object instance :-

The 'iif' function requires '3' parameters. You supplied '2'

On reviewing the Source Expression in the Data Map, it can be seen that the last iif statement only has two arguments (split across multiple lines here for clarity) :-

iif( [Type] = 'Home', '1',
(iif( [Type] = 'Billing', '2',
(iif( [Type] = 'Delivery', '4',
   (iif( [Type] = 'Business', '5',
    (iif( [Type] = "", '-6')))))))))

After amending this to include the 3rd parameter (for the case where [Type] is not = “”), the transform worked as expected. For example :-

(iif( [Type] = "", '-6', ‘0’)))))))))

Another related question was the requirement to re-format the date output by Siebel, to the required format for the external application. The Siebel date format is MM/DD/YYYY HH:MM:SS (e.g. ‘25/12/2004 10:31:07’). The required format was YYYYMMDDHHMMSS, so it was suggested to use a Source Expression to re-format the date as follows :-

mid([Created],7,4) + left([Created],2) + mid([Created],4,2) + mid([Created],12,2) + mid([Created],15,2) + mid([Created],18,2)

1 comment:

  1. This post helped me fix some syntax I was struggling with. Thanks!