• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

cobol copybook

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    cobol copybook

    Any help or tips on writing a .cpy file?
    I'm sorry, but I'll make no apologies for this

    Pogle is awarded +5 Xeno Geek Points.
    CUK University Challenge Champions 2010
    CUK University Challenge Champions 2012

    #2
    Find a working one and use it as a template

    Comment


      #3
      Originally posted by Pogle View Post
      Any help or tips on writing a .cpy file?
      What kind of tips? It's just COBOL.

      I suppose it's even more important to use a unique prefixing system for all field names, to avoid duplication, but you should be doing that anyway.

      Comment


        #4
        Originally posted by expat View Post
        What kind of tips? It's just COBOL.

        I suppose it's even more important to use a unique prefixing system for all field names, to avoid duplication, but you should be doing that anyway.
        Copy replacing - if supported by the compiler in question.

        Comment


          #5
          * copybook INQINTC
          * Channel name
          01 INQUIRY-CHANNEL PIC X(16) VALUE 'inqcustrec'.
          * Container names
          01 CUSTOMER-NO PIC X(16) VALUE 'custno'.
          01 BRANCH-NO PIC X(16) VALUE 'branchno'.
          01 CUSTOMER-RECORD PIC X(16) VALUE 'custrec'.
          * Define the data fields used by the program
          01 CUSTNO PIC X(8).
          01 BRANCHNO PIC X(5).
          01 CREC.
          02 CUSTNAME PIC X(80).
          02 CUSTADDR1 PIC X(80).
          02 CUSTADDR2 PIC X(80).
          02 CUSTADDR3 PIC X(80).
          IDENTIFICATION DIVISION.
          PROGRAM-ID. CLIENT1.

          WORKING-STORAGE SECTION.

          COPY INQINTC

          PROCEDURE DIVISION.
          MAIN-PROCESSING SECTION.
          VS/COBOL II
          Brexit is having a wee in the middle of the room at a house party because nobody is talking to you, and then complaining about the smell.

          Comment


            #6
            Flippin' heck! That brings back memories!

            But aren't we talking COBOL V+ these days? Even I was working in COBOL III before I finished...
            "I can put any old tat in my sig, put quotes around it and attribute to someone of whom I've heard, to make it sound true."
            - Voltaire/Benjamin Franklin/Anne Frank...

            Comment


              #7
              BTW Does anyone know what happened to JJ Le Burt? I had his bible for Cobol II and Cobol 3 but he didn't write anymore - I waited for later versions but they didn't appear...
              "I can put any old tat in my sig, put quotes around it and attribute to someone of whom I've heard, to make it sound true."
              - Voltaire/Benjamin Franklin/Anne Frank...

              Comment


                #8
                PM Sent

                Comment


                  #9
                  Originally posted by darmstadt View Post
                  * copybook INQINTC
                  * Channel name
                  01 INQUIRY-CHANNEL PIC X(16) VALUE 'inqcustrec'.
                  * Container names
                  01 CUSTOMER-NO PIC X(16) VALUE 'custno'.
                  01 BRANCH-NO PIC X(16) VALUE 'branchno'.
                  01 CUSTOMER-RECORD PIC X(16) VALUE 'custrec'.
                  * Define the data fields used by the program
                  01 CUSTNO PIC X(8).
                  01 BRANCHNO PIC X(5).
                  Those level 01s really should have been level 77s. And should that customer number really have been alphanumeric and not numeric?


                  (I've got grey sideburns. Can you tell?)
                  Last edited by RichardCranium; 28 July 2009, 08:45. Reason: numberic --> numeric
                  My all-time favourite Dilbert cartoon, this is: BTW, a Dumpster is a brand of skip, I think.

                  Comment


                    #10
                    Originally posted by RichardCranium View Post
                    Those level 01s really should have been level 77s. And should that customer number really have been alphanumeric and not numeric?


                    (I've got grey sideburns. Can you tell?)
                    From a language point of view the 01 v 77 is a valid arguable style point. However in a number of compilers there is good reason for using 01 rather than 77 related to the code that is produced.

                    Equally the first 4 items (assuming they are indeed constant) could have been defined as a level 78 (if supported by the compiler) or they could have been defined in the constant section (if supported by the compiler in question).

                    CREC should probably also be a typedef (if supported)

                    The code of the main program fails the full ANSI '85 syntax check as well for at least 1 reason (no data division - and it never was optional if any of the sections were used). If memory serves the standard did make the environment division optional.

                    Far too many bloody variations. Post 85 standard everybody has gone their own way a bit.

                    Anyway I could update it all to object cobol in no more than 250 lines of new code. There's progress.....

                    Comment

                    Working...
                    X