Запрос на заполнение параметров команды на основе условий

#ibm-midrange

Вопрос:

Я хочу заполнить параметры в условной форме в командной строке в *Создание CMD в as400.

допустим, у нас есть 3 парма (A B C)

ПАРМ KWD(A) ТИП (*СИМВОЛ) ЗНАЧЕНИЕ(A1 A2) LEN(11) МИН(1)

PARM KWD(B) ТИП (*СИМВОЛ) ЗНАЧЕНИЕ(B1) LEN(11) МИН(1)

PARM KWD(C) ТИП (*СИМВОЛ) ЗНАЧЕНИЕ(C1) LEN(11) МИН(1)

Здесь я ввел первое значение A1 в Parm A. Теперь я хочу продемонстрировать только одно поле, которое является полем B.

Итак, далее, если я ввел значение A2 в поле A.so теперь я хочу продемонстрировать, что поле C.so как я могу создать логику, основанную на этих условиях.

Комментарии:

1. Какое это имеет отношение к [ibm-integration-bus] и [ibm-mobilefirst]?

2. Боюсь, у меня возникли проблемы с пониманием вопроса. Пожалуйста, попробуйте отредактировать свой вопрос так, чтобы он включал примеры того, как вы хотели бы вызвать эту команду. Не просто описывайте это словами, пожалуйста, дайте команде имя, а затем приведите реальные примеры реальных входных данных, которые мы бы ввели в командной строке, если бы вы могли создать такую команду.

3. Не могли бы вы привести пример желаемого результата в psuedocode?

Ответ №1:

используйте PMTCTL команду для определения условия. Затем используйте PMTCTL параметр в PARM команде, чтобы указать условие, при котором запрашивается параметр.

              CMD        PROMPT('conditional paramters')

             PARM       KWD(A) TYPE(*CHAR) LEN(11) RSTD(*YES)        
                          VALUES(A1 A2) PROMPT('parm a') 
             PARM       KWD(B) TYPE(*CHAR) LEN(11) RSTD(*YES)        
                          VALUES(B1) PMTCTL(COND_A1) PROMPT('parm b')
             PARM       KWD(C) TYPE(*CHAR) LEN(11) RSTD(*YES)        
                          VALUES(C1) PMTCTL(COND_A2)                 
                          PROMPT('parm c')
  COND_A1:   PMTCTL     CTL(A) COND((*EQ A1)) 
  COND_A2:   PMTCTL     CTL(A) COND((*EQ A2)) 
 

Комментарии:

1. Да, сэр, все работает нормально, большое вам спасибо !

Ответ №2:

Доброе утро, если я вас правильно понял, вы хотите заполнить параметры на основе ввода другого поля ввода, как в savobj ниже. САВОБЖ (немецкий) Честно говоря, я не знаю, как добиться этого с помощью cmd, но я также не знаю, был ли способ, который вы описали, способом IBM. Я бы скорее предположил, что это обычная программа, которая работает с *noPass и *omit. Если это вас устраивает, вы можете найти дополнительную информацию здесь: