Конкатенация массивов в IBM Filenet P8 Expression Builder?
В построителе выражений для Workplace Process Designer у меня есть переменная вложения типа String[] (массив строк). Я хотел бы добавить к нему некоторые элементы с помощью Expression Builder, но не могу разобраться в синтаксисе. Кто-нибудь делал это? Можно ли даже добавить элементы в существующий массив в Expression Builder?
3 ответа
Решение arraytostring работает, только если в массиве только один элемент. Присвойте дополнительное значение с помощью следующего выражения:
stringarray[elementcount(stringarray) + 1] = value
Ожидаемое исключение "массив из связанной" и изменение размера массива обрабатываются во время присваивания.
Первоначально я думал, что это не возможно, что нам пришлось прибегнуть к использованию собственного компонента Java, чтобы выполнить эту работу, однако я провел небольшой эксперимент, который должен послужить в качестве обходного пути для вашего случая.
Предположим, у вас есть String[] arrayType={"string1, string2"}
, вы можете использовать следующее выражение в качестве значения для вашего обновленного массива:
{(arraytostring(arrayType, " ", " ,", ","))+"string3"}
Я сделал это,
- Во-первых, я использовал
arraytostring
функция для преобразования массива в строку, разделенную запятой с запятой, оставленной в конце. Мой вывод похож наstring1,string2,
- Во-вторых, я добавил строку, которую хочу добавить в конец строки, чтобы мой вывод
string1,string2,string3
- Наконец, я присвоил значение выше моему массиву, используя формат выражения массива {}, поэтому моя последняя оценочная строка
{string1,string2,string3}
Для получения дополнительной информации о функциях массива, пожалуйста, перейдите по ссылке ниже:
https://www.ibm.com/support/knowledgecenter/SSNW2F_5.2.1/com.ibm.p8.pe.user.doc/bpfe003.htm
У меня был такой случай, вот что я сделал:
Я получаю массив из вложения, используя CE-операцию, и сохраняю свойство массива в рабочем процессе.
Затем я использовал следующее
{(arraytostring(workflowArray, " ", " ,", ","))+workflowStringProp}
снова используя CE-Operation для установки массива во вложении с помощью workflowArray.