Error Can't encode arguments on IcString in InConcert program.

Error Can't encode arguments on IcString in InConcert program.

book

Article ID: KB0091722

calendar_today

Updated On:

Products Versions
TIBCO InConcert -
Not Applicable -

Description

Resolution:
Description: CxxIcString holdPeriodAttr("NUM_DAYS");
              CxxIcInteger holdPeriodVal(
atoi(denyInfo.getHoldPeriod().data()) );
              icHoldTask.setAttribute(holdPeriodAttr, holdPeriodVal);
// This works!

              // Get calendar name from deny info table
              CxxIcString calendarNameAttr("CALENDAR_TYPE");
              CxxIcString
calendarNameVal(denyInfo.getCalendarName().data());
              cout << "CALENDAR_TYPE: " << calendarNameVal << endl;

    The cout looks like CALENDAR_TYPE: CALENDAR             which is
correct.

              status = icHoldTask.setAttribute(calendarNameAttr,
calendarNameVal);

              status.translate(511, statbuf);
              TraceLog(TRACE_INFORMATION, "icHoldTask.setAttribute: %s %s",
                   (const char*)icTaskName, statbuf);

The following is the output from the call to TraceLog.

10/22/99 13:39:33 : agent_OrderLetter - icHoldTask.setAttribute: Order
Letter RPC: Can't encode arguments

The setAttribute method will not set an icTask string attribute of 256 characters.
It is a limitation on IcString and affects any objects which have string attributes.

For certain databases such as Oracle the maximum string length was increased
to 2000 starting in TIBCO InConcert 6.0.

Issue/Introduction

Error Can't encode arguments on IcString in InConcert program.

Environment

Product: TIBCO InConcert Version: All OS: All --------------------