Почему мой весёлый код не захватывает код из каждого сегмента DG1?
Я написал этот код в веселье, чтобы захватить код из каждого сегмента DG1, но он захватывает "неопределенный" и вставляет в БД
for each (seg in msg.children()){
if(seg.name().toString()=="DG1"){
var vSET_ID =msg['DG1']['DG1.1'].toString();
if(vSET_ID==1){
var vPriCode = msg['DG1']['DG1.3']['DG1.3.1'].toString(),50);
if(vSET_ID==2){
var vSecCode1 = msg['DG1']['DG1.3']['DG1.3.1'].toString(),50);
Спасибо
1 ответ
В вашем коде много синтаксических и логических ошибок. Если вы намереваетесь использовать их в модуле записи базы данных, вам придется сохранить их в переменную Map (здесь имеет смысл использовать channelMap или connectorMap.) Если вы хотите захватить DG1.3.1 из первого и второго вхождения сегмента DG1 вы можете избежать шагов Javascript в вашем преобразователе и попробовать заменить код двумя шагами Mapper, где:
- Первый шаг
- Переменная:= vPriCode
- Сопоставление:= msg['DG1'][0]['DG1.3']['DG1.3.1']. ToString()
- Второй шаг
- Переменная:= vSecCode
- Сопоставление:= msg['DG1'][1]['DG1.3']['DG1.3.1']. ToString()
Эти переменные теперь должны быть доступны в разделе перетаскивания в Destination Mappings вашей программы записи в базу данных. Это делает предположение, что SetIDs появляются в порядке.
(Я собирался опубликовать скриншоты, но моя репутация недостаточно высока.)