2 Replies Latest reply on Dec 13, 2017 1:31 AM by Bhuvaneswaran Ekanathan

    Incoming event information could not be parsed

    Baskar Gajendran

      Hello All,

       

      Incoming event from SCOM integration through msend is showing parse error.

       

      I have created  new event class, event slots and refine rule.

       

      error_message='BMC_TS-IMC031001E: Error at line 2, column 81: BMC_TS-IMC031142E: Expected "="';

      SCOM_HOST=Pxxxxx;Pxxxxx.;

      END';

       

      The problem is sometime the host fields comes with in the format  "Pxxxxxxx;Pxxxxxx;" separated by semi colon (;) and that's when this problem occurs.

       

      I wrote a refine rule like this, but still the issue persists.

       

      refine get_host_name : SCOM($EV)

      where [ $EV.SCOM_HOST contains ';' ]

       

      {

      strtolist($EV.SCOM_HOST, ';' , $FLDS);

      $hostname = strip(listgetelt($FLDS,1));

      $EV.mc_host = lower($hostname);

      }

      END

       

      Thanks & Regards,

      Baskar Gajendran

        • 1. Re: Incoming event information could not be parsed
          Philippe Plomteux

          Hi Baskar,

          If the event is not correctly formatted when it hits the cell, rules won't fix it.

          You should protect the value  for the slot SCOM_HOST (using quotes) at the moment it is generated (using msend ?) , else the cell will use the semicolumn as a slot/value pair separator.

          Philippe

          4 of 4 people found this helpful
          • 2. Re: Incoming event information could not be parsed
            Bhuvaneswaran Ekanathan

            Hi Baskar,

             

            Slot and value pair are separated by Semi-colon. For example,

             

            In your scenario, SCOM_HOST is defined as STRING. When it contains semi-colon, cell understands SCOM_HOST slot has value 'Pxxxxx' and value after the semi-colon as next slot whereas it is not the case.

             

            Use single quote when there is a semi-colon in slot value or for all slot values enclose with single quote, SCOM_HOST='Pxxxxx;Pxxxxx.'; If not, use any other special character as separator, for example '$' '&' etc., and rule would work fine SCOM_HOST=Pxxxxx&Pxxxxx.;

             

            Thanks,

            Bhuvan

            3 of 3 people found this helpful