Как добавить логический оператор в логический исходный файл

У меня есть этот логический исходный файл:

A          S VALIDFLAG                 CMP(EQ '1') 
A          S ITEMPFX                   CMP(EQ 'PF')

Но кажется, что это работает как OR, когда я использую логический файл с помощью SQL. Где я могу поставить AND?

Я проверил эту ссылку, но там нет образца для AND. https://www.ibm.com/docs/en/i/7.1?topic=80-comp-comparison-keyword-physical-ological-files

Я попробовал это, но возникла ошибка AND.

A          S VALIDFLAG                 CMP(EQ '1') AND
A          S ITEMPFX                   CMP(EQ 'PF')

Это вопрос о IBM Information Server? Если да, отметьте это соответствующим образом.

Stephen C 27.08.2024 04:41

Простой ответ: синтаксис AND не поддерживается. Предполагая, что я правильно читаю документацию. Но я также думаю, что вы, возможно, что-то неправильно истолковываете, когда говорите: «Но кажется, что это работает как ИЛИ, когда я использую логический файл с помощью SQL». На мой взгляд, это не имеет дизайнерского смысла. Вы не проверяете правильность одного из полей файла. Вы проверяете все поля. Это предполагает наличие неявного И.

Stephen C 27.08.2024 04:53

Я пометил его как IBM-midrange, потому что делаю это в AS400. Я проверил запись, и ITEMPFX имеет «XX» и все еще находится в логическом файле. Его значение VALIDFLAG равно «1», поэтому я предположил, что это неявное ИЛИ. Я видел, что другие логические файлы могут одновременно обслуживать И/ИЛИ, просто я не могу найти их источник, чтобы использовать его в качестве ссылки.

Asymptote 27.08.2024 05:55

Но вопрос не >о< [ibm-midrange]. Это >о< [ibm-information-server]. Не так ли?

Stephen C 27.08.2024 08:26

@StephenC Нет, речь идет не о [ibm-информационном-сервере]. Речь идет о логических файлах, определенных DDS на сервере IBM i, поэтому правильный тег здесь — [ibm-midrange]. Этот вопрос не имеет ничего общего с [ibm-information-server]

jmarkmurphy 27.08.2024 22:30
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Объединение условий с OR:

 A          S VALIDFLAG                 CMP(EQ '1') 
 A          S ITEMPFX                   CMP(EQ 'PF')

Объединение условий с помощью AND:

 A          S VALIDFLAG                 CMP(EQ '1') 
 A            ITEMPFX                   CMP(EQ 'PF')

У вас есть ссылка на документацию по этому поводу? Потому что мне просто интересно, может ли он сделать что-то вроде этого: ВЫБЕРИТЕ VALIDFLAG EQ '1' И ПРОПУСТИТЕ ITEMPFX EQ 'XX'. Так как я могу заменить S на O. Хотя это всего лишь гипотетический вопрос.

Asymptote 27.08.2024 06:19

Неважно, я проверил, это неверный сценарий.

Asymptote 27.08.2024 06:21

Я лично однажды столкнулся с точно такой же проблемой. Я нашел ответ в документации «Система i Программирование DDS для физических и логических файлов». В разделе «Определение логического файла с использованием DDS» в главе «Простые и многоформатные логические файлы в DDS» говорится:

Victor Pomortseff 27.08.2024 17:13

«При использовании полей выбора/опускания укажите либо S, либо O в позиции 17. При указании либо S, либо O операторы сравнения select и omit соединяются с помощью OR. Система обрабатывает операторы сравнения select и omit, которые соединены оператором OR. независимо друг от друга.

Victor Pomortseff 27.08.2024 17:16

То есть, если условие сравнения выбора или пропуска выполнено, запись либо выбирается, либо опускается. Если условие не выполняется, система переходит к следующему сравнению. При указании пробела в позиции 17 операторы сравнения выбора и пропуска соединяются оператором AND. Комбинированные сравнения должны быть выполнены до того, как запись будет выбрана или опущена».

Victor Pomortseff 27.08.2024 17:16

Вы можете указать как select, так и опустить для одного и того же формата записи. Применяется следующая информация: v Если для формата записи вы указали и select, и опущение, то порядок, в котором вы их задаете, важен. Операторы select/omit обрабатываются в том порядке, в котором они указаны; если запись удовлетворяет оператору, запись либо выбирается, либо опускается, как указано, а остальные операторы выбора/опускания для этой записи не проверяются.

Victor Pomortseff 27.08.2024 17:16

К сожалению, ссылку на этот документ дать не могу - давно нашел его в сети и скачал в формате pdf. Попробуйте поискать. На самом деле их 4: Программирование концепций DDS; Программирование DDS для отображения файлов; Программирование DDS для физических и логических файлов; Программирование DDS для файлов принтера

Victor Pomortseff 27.08.2024 17:20

Хотя нет.. Я их залил в облако - посмотреть можно здесь: disk.yandex.ru/d/ALjgr0GzOMGD-w (смотрите другую документацию)

Victor Pomortseff 27.08.2024 17:22

Вот ссылка на официальную документацию ibm.com/docs/en/i/…

jmarkmurphy 27.08.2024 22:23

Спасибо всем за вашу помощь. Я очень ценю это.

Asymptote 28.08.2024 02:31

Другие вопросы по теме