Почему мой веселый код не захватывает код из каждого сегмента DG1? - PullRequest
0 голосов
/ 14 октября 2018

Я написал этот код в радость, чтобы захватить код из каждого сегмента 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 Ответ

0 голосов
/ 17 октября 2018

В вашем коде много синтаксических и логических ошибок.Если вы намереваетесь использовать их в модуле записи базы данных, вам придется сохранить их в переменной Map (здесь будет иметь смысл channelMap или connectorMap.) Если вы хотите захватить DG1.3.1 из первого и второго вхождения сегмента DG1Вы можете избежать шагов Javascript в своем преобразователе и попробовать заменить код двумя шагами Mapper, где:

  1. Первый шаг
    • Переменная: = vPriCode
    • Mapping: = msg ['DG1'] [0] ['DG1.3'] ['DG1.3.1']. toString ()
  2. Второй шаг
    • Переменная: = vSecCode
    • Отображение: = msg ['DG1'] [1] ['DG1.3'] ['DG1.3.1']. toString ()

Эти переменные теперь должны быть доступны в разделе перетаскивания в Destination Mappings вашей программы записи в базу данных.Это делает предположение, что SetID появляются по порядку.

(Я собирался опубликовать скриншоты, но моя репутация недостаточно высока.)

...