1 Reply Latest reply on Jan 17, 2019 9:43 AM by shawkins

    The name CARDID is the same (ignoring case) as 1 other object(s) under the same parent

    shrishailnh

      The following procedure throwing error.

      Basically the requirement is to send the CARDID to the virtual procedure and return card BALANCE and CARDID both back.

      Full script is attached just in case for reference.

       

      The errors are:

      1. TEIID30114 Cannot access procedure Loyalty_IVR_Provider.LOYALTY_IVR_BALANCE using table semantics since the parameter and result set column names are not all unique.
      2. The name CARDID is the same (ignoring case) as 1 other object(s) under the same parent

       

       

      CREATE VIRTUAL PROCEDURE LOYALTY_IVR_BALANCE (IN CARDID string(17))

      RETURNS TABLE (BALANCE long, CARDID string)

      AS

      BEGIN

      IF (CARDID LIKE_REGEX('^(700436)([0-9]{11})$'))

         BEGIN

      SELECT

         LOYALTY_IVR_PROVIDER_RU.LOYALTY_IVR_BALANCE.BALANCE,LOYALTY_IVR_PROVIDER_RU.LOYALTY_IVR_BALANCE.CARDID

      FROM

        LOYALTY_IVR_PROVIDER_RU.LOYALTY_IVR_BALANCE WHERE LOYALTY_IVR_PROVIDER_RU.LOYALTY_IVR_BALANCE.CARDID=LOYALTY_IVR_PROVIDER.LOYALTY_IVR_BALANCE.CARDID;

        END

        IF (CARDID LIKE_REGEX('^(700405)([0-9]{13})$'))

         BEGIN

      SELECT

         LOYALTY_IVR_PROVIDER_UK.LOYALTY_IVR_BALANCE.BALANCE,LOYALTY_IVR_PROVIDER_UK.LOYALTY_IVR_BALANCE.CARDID

      FROM

        LOYALTY_IVR_PROVIDER_UK.LOYALTY_IVR_BALANCE WHERE LOYALTY_IVR_PROVIDER_UK.LOYALTY_IVR_BALANCE.CARDID=LOYALTY_IVR_PROVIDER.LOYALTY_IVR_BALANCE.CARDID;

        END

      END;