У меня есть главная таблица EKPO, присоединенная к таблицам MLGN и MLGT в качестве внешних объединений.
Я создал дополнительное поле BINALOC
в информационном наборе и хочу, чтобы оно при определенных условиях возвращало значение из таблицы MLGT:
- Если поля MLGN-LTKZE и MLGT-LGTYP совпадают, вернуть соответствующее поле MLGT-LGPLA.
- Если MLGN-LTKZE = 'R1', то вернуть только соответствующий MLGT-LGPLA, где MLGT-LGTYP = '006'.
- Если MLGN-LTKZE <> MLGT-LGTYP вернуть пустым.
В настоящее время я могу выполнить первые 2 условия, но не могу соответствоватьв третьем, поскольку это конфликтует с числом 2.
Я пробовал различные операторы IF и различные порядки для условий IF, а также различные типы соединения.
Это текущий код, который у меня естьв дополнительном поле BINALOC
раздел кодирования:
IF MLGN-LTKZE = 'R1'.
select LGPLA as LGPLA
from *MLGT into BINALOC
where *MLGT~LGTYP eq '006'.
ENDSELECT.
else.
select LGPLA as LGPLA
from *MLGT into BINALOC
where *MLGT~LGTYP eq MLGN-LTKZE.
endselect.
endif.
Я хочу, чтобы поле возвращалось пустым, когда поля, о которых я упоминал ранее, не совпадают.
В настоящее время он возвращает копию поля над ним.