Итак, я только недавно начал писать код в мэйнфреймах, и у меня было очень мало предварительных контактов с коболом. Я пытаюсь проверить историю элемента, чтобы убедиться, что с ним манипулировали, и если им манипулировали, то я хочу установить флаг COBOL в TRUE, чтобы предотвратить запуск программы, в которой я работаю.
Сейчас я работаю с:
05 HV-ACTION-SW PIC X(01)
88 DO-ACTION VALUE 'Y'
05 HV-HIST-EMPTY PIC X(01)
88 IS-EMPTY VALUE 'Y'
05 HV-MANUAL-OVRRD-SW PIC X(01).
88 MANUAL-ACTION VALUE 'Y'.
EXEC SQL
DECLARE HIST_CHECK CURSOR WITH HOLD FOR
SELECT DISTINCT
LOG.ORD_I AS Order_Number
,LOG.CLL_TYP AS Order_Status
FROM
ALI.CMN_LOG LOG
WHERE 1=1
AND LOG.ORD_I = :HV-ORD-I
AND LOG.CLL_TYP = 'EMPTY'
WITH UR
END-EXEC
IF HV-MANUAL-OVRRD-SW = 'Y' THEN
SET DO-ACTION TO TRUE
ELSE
IF CODE THEN
**This is where I'd like to insert a check on the cursor to see if it's null, and
if it's NOT null then I'd like to SET IS-EMPTY TO TRUE.**
IF HV-HIST-EMPTY = 'Y' THEN
CONTINUE
ELSE
SET DO-ACTION TO TRUE
END-IF
ELSE
SET DO-ACTION TO TRUE
END-IF
END-IF
РЕДАКТИРОВАТЬ: Могу ли я сделать выборку на курсоре, и если он возвращает SQLCODE 100, тогда установить is-empty на true?