MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

cobol find routine

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> TSO and ISPF
View previous topic :: View next topic  
Author Message
akshaj
Beginner


Joined: 30 Dec 2002
Posts: 12
Topics: 8

PostPosted: Tue Dec 31, 2002 9:37 am    Post subject: cobol find routine Reply with quote

Code:

        /*
        /* EDIT MACRO DESIGNED TO PERFORM COBOL SENSITIVE CURSOR DRIVEN SUB-EDIT FIND
        /*
        /***********************************************************************
        /*
        ISREDIT MACRO (PARM) NOPROCESS
        IF &PARM = ? THEN +
        DO
          GOTO HELP
        END
        /*
        /**********************************************************
        /*OBTAIN CURSOR LOCATION AND GO NO FURTHER IF CURSOR NOT ON
        /*DATA (I.E. ON COMMAND LINE OR OTHER NON-DATA AREA). CC
        /*IS SET TO 0 IF THIS IS THE CASE.
        /**********************************************************
        ISREDIT (CL,CC) = CURSOR
        IF &CC = 0 THEN +
        DO
        /*   SET ZERRMSG = CF001
        /*   SET ZMSG000S = XXXXXXXXXXXXXX!
        /*   SET ZERRMSG  = ISPZ000
             EXIT CODE(0)
        END
        /**********************************************************
        /*SET UP DATANAME DELIMITERS
        /*OBTAIN ENTIRE LINE CURSOR RESTS ON AND LENGTH OF LINE
        /**********************************************************
        SET DELIM = &STR(., )
        ISREDIT (LINE) = LINE .ZCSR
        ISREDIT (END)  = LRECL
        SET START      = 1
        /**********************************************************
        /* SCAN BACK FROM CURSOR POSITION TO OBTAIN START POSITION
        /**********************************************************
        DO I = &CC TO &START BY -1
           IF &SYSINDEX(&SUBSTR(&I,&STR(&LINE)),&STR(&DELIM),1) > 0 +
           THEN SET START = &I + 1
        END
        /**********************************************************
        /* SCAN FORWARD FROM CURSOR POSITION TO OBTAIN END POSITION
        /**********************************************************
        DO I = &CC TO &END
           IF &SYSINDEX(&SUBSTR(&I,&STR(&LINE)),&STR(&DELIM),1) > 0 +
           THEN SET END = &I - 1
        END
        /**********************************************************
        /* EXIT IF CURSOR WAS PLACED ON DELIMETER
        /* EXTRACT DATASET NAME FOR FIND
        /**********************************************************
        IF &START > &END THEN EXIT CODE(0)
        SET WORD = &SUBSTR(&START:&END,&STR(&LINE))
        /**********************************************************
        /* CHECK TO SEE IF PARAMETER 'PREV' USED
        /* IF YES, SET UP *TOP OF DATA REACHED* MSG JUST IN CASE.
        /**********************************************************
        IF &SYSINDEX(PREV,&PARM) = 1 THEN +
         DO
           SET ZERRMSG = ISRE166
         END
        /**********************************************************
        /* CHECK TO SEE IF PARAMETER 'PREV' NOT USED
        /* IF NOT USED, SET UP *BOTTOM OF DATA REACHED* MSG
        /* IN CASE INITIAL FIND FAILS.
        /**********************************************************
        IF &SYSINDEX(PREV,&PARM) = 0 THEN +
         DO
          SET ZERRMSG = ISRE165
    /**** FOLLOWING STATEMENT NECESSARY TO PREVENT
    /**** *BOTTOM OF DATA* MESSAGE FROM APPEARING
    /**** TWICE!!!
          ISREDIT CURSOR = &CL &EVAL(&START-1)
         END
    /*  SET ZINSTR1 = '&WORD'
        ISREDIT FIND '&WORD'  &PARM
        SET &LCC = &LASTCC
        IF  &LCC = 0 THEN +
        DO
    /*   SET ZMSG000S = &ZINSTR FOUND
         SET ZMSG000S = CHARS FOUND
         SET ZERRMSG  = ISPZ000
        END
        ISPEXEC SETMSG MSG(&ZERRMSG)
        EXIT CODE(&LCC)
  HELP: +
        WRITE
        WRITE   ISPF/PDF EDIT MACRO TO PERFORM COBOL SENSITIVE FIND.
        WRITE
        WRITE   TO RUN:
        WRITE
        WRITE    ENTER CF  ON THE COMMAND LINE AND USE MANOEVER THE CURSOR TO
        WRITE    REST ANYWHERE ON THE DATANAME OF INTEREST. HIT <ENTER>.
        WRITE
        WRITE    A PARAMETER OF FIRST CAN BE USED SINCE THIS IS A FRONT END
        WRITE    TO THE FIND COMMAND.
        WRITE
        WRITE
        EXIT CODE(0)

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> TSO and ISPF All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group