VWM
/* 2011/2024 MCS */
/* REXX */
/* NAO ALTERAR POR FAVOR */
/* ----------------------------------------------------------------- */
/* VWM
MACRO EDIT - VIEW ELEMENTO POR PESQUISA NUM CONJUNTO DE
DATASETS PREDEFINIDOS, COM BASE NA POSICAO
DO CURSOR
(OPTIMIZADO SE UTILIZADO EM TECLA DE FUNCAO)
TECLA DE FUNCAO RECOMENDADA: PF04
*/
/* NAO ALTERAR POR FAVOR */
/* ----------------------------------------------------------------- */
"ISREDIT MACRO "
/* */
"ISPEXEC CONTROL ERRORS RETURN"
/*--------------------------------------------------------------------*/
"ISREDIT (ROW,COL) = CURSOR"
"ISREDIT (LINHA) = LINE " ROW
CND = 0
DO N = COL TO (COL - 8) BY -1 UNTIL CND > 0
IF N > 0 THEN
DO
AUX = SUBSTR(LINHA, N , 1)
IF AUX = " " | AUX = "(" | AUX = ")" THEN CND = 1
IF AUX = "|" | AUX = '"' | AUX = "'" THEN CND = 1
IF AUX = "." | AUX = "<" | AUX = ">" THEN CND = 1
IF AUX = "+" | AUX = "-" | AUX = "_" THEN CND = 1
IF AUX = ";" | AUX = "," | AUX = ":" THEN CND = 1
IF CND = 1 THEN
DO
CND = N + 1
LINHA = SUBSTR(LINHA, CND)
END
END
ELSE
DO
CND = N + 1
LINHA = SUBSTR(LINHA, CND)
END
END
IF CND > 0 THEN CND = 0
DO N = 1 TO 9 UNTIL CND > 0
IF N < 9 THEN
DO
AUX = SUBSTR(LINHA, N , 1)
IF AUX = " " | AUX = "(" | AUX = ")" THEN CND = 1
IF AUX = "|" | AUX = '"' | AUX = "'" THEN CND = 1
IF AUX = "." | AUX = "<" | AUX = ">" THEN CND = 1
IF AUX = "+" | AUX = "-" | AUX = "_" THEN CND = 1
IF AUX = ";" | AUX = "," | AUX = ":" THEN CND = 1
IF CND = 1 THEN
DO
CND = N - 1
LINHA = SUBSTR(LINHA, 1, CND)
END
END
ELSE
DO
CND = N - 1
LINHA = SUBSTR(LINHA, 1, CND)
END
END
MEM = STRIP(LINHA)
IF LENGTH(MEM) > 8 THEN
DO
IF SUBSTR(MEM, 1, 1) <> '#' THEN
DO
ZEDSMSG = 'ELEMENTO INVALIDO'
ZEDLMSG = 'ELEMENTO NA POSICAO DO CURSOR COM MAIS DE 8 CHAR'
"ISPEXEC SETMSG MSG(ISRZ001)"
"ISREDIT CURSOR = " ROW COL
EXIT
END
END
CALL VEX 'V' MEM
/* */
"ISREDIT CURSOR = " ROW COL
EXIT
/* 2011/2024 MCS */
/* REXX */
/* NAO ALTERAR POR FAVOR */
/* ----------------------------------------------------------------- */
/* VWM
MACRO EDIT - VIEW ELEMENTO POR PESQUISA NUM CONJUNTO DE
DATASETS PREDEFINIDOS, COM BASE NA POSICAO
DO CURSOR
(OPTIMIZADO SE UTILIZADO EM TECLA DE FUNCAO)
TECLA DE FUNCAO RECOMENDADA: PF04
*/
/* NAO ALTERAR POR FAVOR */
/* ----------------------------------------------------------------- */
"ISREDIT MACRO "
/* */
"ISPEXEC CONTROL ERRORS RETURN"
/*--------------------------------------------------------------------*/
"ISREDIT (ROW,COL) = CURSOR"
"ISREDIT (LINHA) = LINE " ROW
CND = 0
DO N = COL TO (COL - 8) BY -1 UNTIL CND > 0
IF N > 0 THEN
DO
AUX = SUBSTR(LINHA, N , 1)
IF AUX = " " | AUX = "(" | AUX = ")" THEN CND = 1
IF AUX = "|" | AUX = '"' | AUX = "'" THEN CND = 1
IF AUX = "." | AUX = "<" | AUX = ">" THEN CND = 1
IF AUX = "+" | AUX = "-" | AUX = "_" THEN CND = 1
IF AUX = ";" | AUX = "," | AUX = ":" THEN CND = 1
IF CND = 1 THEN
DO
CND = N + 1
LINHA = SUBSTR(LINHA, CND)
END
END
ELSE
DO
CND = N + 1
LINHA = SUBSTR(LINHA, CND)
END
END
IF CND > 0 THEN CND = 0
DO N = 1 TO 9 UNTIL CND > 0
IF N < 9 THEN
DO
AUX = SUBSTR(LINHA, N , 1)
IF AUX = " " | AUX = "(" | AUX = ")" THEN CND = 1
IF AUX = "|" | AUX = '"' | AUX = "'" THEN CND = 1
IF AUX = "." | AUX = "<" | AUX = ">" THEN CND = 1
IF AUX = "+" | AUX = "-" | AUX = "_" THEN CND = 1
IF AUX = ";" | AUX = "," | AUX = ":" THEN CND = 1
IF CND = 1 THEN
DO
CND = N - 1
LINHA = SUBSTR(LINHA, 1, CND)
END
END
ELSE
DO
CND = N - 1
LINHA = SUBSTR(LINHA, 1, CND)
END
END
MEM = STRIP(LINHA)
IF LENGTH(MEM) > 8 THEN
DO
IF SUBSTR(MEM, 1, 1) <> '#' THEN
DO
ZEDSMSG = 'ELEMENTO INVALIDO'
ZEDLMSG = 'ELEMENTO NA POSICAO DO CURSOR COM MAIS DE 8 CHAR'
"ISPEXEC SETMSG MSG(ISRZ001)"
"ISREDIT CURSOR = " ROW COL
EXIT
END
END
CALL VEX 'V' MEM
/* */
"ISREDIT CURSOR = " ROW COL
EXIT
/* 2011/2024 MCS */
Comentários
Enviar um comentário