функция as400 dds для ограничения точного заданного значения

я новичок в as400 dds. может ли кто-нибудь сказать мне функцию для получения точного заданного значения. Например, почтовый индекс состоит из 6 цифр. если пользователь не вводит значение меньше 6, должно появиться сообщение об ошибке. заранее спасибо


person Gokul Senthil    schedule 08.08.2015    source источник


Ответы (3)


Вам также потребуется ключевое слово DSPATR(MDT). Из руководства DDS для опции ME ключевого слова CHECK:

Этот код указывает, что в поле должен быть введен как минимум 1 символ данных (допустим пробел). Обратите внимание, что если ни одно поле, отображаемое в данный момент на дисплее, не было изменено, дисплейная станция не применяет обязательный ввод. Чтобы принудительно ввести обязательный ввод, укажите DSPATR(MDT) по крайней мере для одного поля в каждой записи на дисплее. Для всех остальных полей в записи применяется CHECK(ME). Однако, поскольку устройство не может определить, ввел ли пользователь данные в поле как с DSPATR(MDT), так и с CHECK(ME), следует также указать DSPATR(ND), чтобы это поле не отображалось.

person Montana    schedule 13.12.2015

Попробуйте что-то вроде этого:

A            ZIP            6Y 0I 17  4CHECK( ME MF )

Если это не то, что вам нужно, отредактируйте свой вопрос и добавьте детали.

person user2338816    schedule 09.08.2015

Любое из следующих двух определений поля примера может помочь осуществить то, что было предпринято для выражения. В любом случае можно ввести\отобразить на экране значение, содержащее менее шести цифр, но результат для программы всегда будет шестизначным [с выравниванием по правому краю, с заполнением нулями слева]:

     A            ZIPD           6D00B  9  9CHECK( ME MF    FE )
     A            ZIPDRZ         6D00B 13  9CHECK( ME    RZ FE )

Хотя спецификация Right-Adjust Zero-Fill CHECK (RZ) является необязательной, эта спецификация гарантирует, что переформатирование числа будет видно из заполнения нулями, когда используется Field Exit [но, конечно, Field Exit CHECK-спецификация (FE) также является необязательным, но поощрение его использования делает эффект правого \ нуля более заметным]. FWiW спецификация Must-Fill CHECK (MF), по-видимому, не имеет никакого эффекта [для поля числового ввода; ничего, что было очевидно в моих тестах].

person CRPence    schedule 12.08.2015
comment
Отсутствие эффекта MF оказалось верным для других полей, но не для ввода, когда я тестировал. Это потенциально проблематично. Когда это все обязательно , возможно, «B» против «I» менее значимы. Возможно, нет. - person user2338816; 13.08.2015