Tom Parsons

Forum Replies Created

Viewing 8 replies – 1 through 8 (of 8 total)
  • Author
    Replies
  • in reply to: SCHEDULING A THREAD STOP/START #85131
    Tom Parsons
    Participant

      Hi Jim,

      Thanks very much !

      For some reason my brain did not see the TIME WINDOW option.

      Will give that a try.

      Tom

      []

      in reply to: MISSING TPS PROC #84531
      Tom Parsons
      Participant

        Yes, they did go to the ERR DB.  I forgot about being able to setup an alert.

        I’ll try that.

        Thanks!

        Tom

        []

        in reply to: CL6 PURGE CACHES, REINDEX, RELOAD COMMANDS #84294
        Tom Parsons
        Participant

          FYI…

          I ran a test (CL 6.1.2.0) with an active thread using a tps proc that called a TABLE (tbllookup).  

          Simply changing the TABLE itself DID NOT pickup the REFRESHED TABLE for any subsequent calls to the tps proc.  

          Then I ran a PURGE CACHES (GUI) from the still active thread and then it DID pickup the REFRESHED TABLE.

          Thanks,

          Tom

          []

          in reply to: CL6 PURGE CACHES, REINDEX, RELOAD COMMANDS #84287
          Tom Parsons
          Participant

            Does the PURGE CACHES function work to refresh a TABLE called from a tps proc ?

            Thanks,

            Tom

            []

            in reply to: Question: FRONT-END TPS TCL PROC PERFORMS 99% OF THE WORK #82180
            Tom Parsons
            Participant

              Hello All,

              To be clear, re my post from 3/9/15…

              Actually, I was just referring to 3 of my interfaces (out of 50+) that

              I should have coded 100% TCL from the beginning, back in 2010.  

              All of them have a common source/destination and are manipulated similarly.

              These 3 are extremely complex (in my opinion) with complicated

              msg filtering, modifications, and transformations.

              Plus I wanted to “externalize” a lot of the future/anticipated msg-handling to be more “table-driven”, so I do not have to dive back into the code in

              6 months for a minor change.

              And btw, so far it has worked out well in production (past 2 weeks) even though I’m still on an old godforsaken version (CL 5.4 w TCL 8.3).  

              Hoping to upgrade very soon.

              Yes, I agree, it does not make sense to go 100% TCL for ALL interfaces, especially for those that can be coded/tested/implemented in a day or two with just a page-full of XLATE code and a couple of lightweight “tps procs” for filtering.

              And taking advantage of the built-in development components and GUI to “hold your hand” is definitely worthwhile (even on old versions).

              But for those rare “outlier cases”, PURE TCL does make a lot of sense.  

              And whether all that complex-code resides in a couple XLATEs or in a

              single/stand-alone TCL proc does not really matter that much (IMO).

              You will still need the appropriate programming staff to support it.

              BUT BEWARE, NOT FOR THE FAINT-OF-HEART !

              Raw coding of a complex “pure TCL” interface requires a thorough understanding of the language and CL commands.

              Plus it requires LOTS of time testing/debugging.

              You must run thru all the code paths to make sure it works the way you expect and has no typos.  

              Typos are incredibly easy to make and can be extremely subtle.

              Runtime is the only time you can validate your code.  

              Suggestions-

              Test snippets of code at a time if possible

              (always copy/paste back and forth).

              Use TCL command line and “mini offiline-procs” to play/test with.

              Build separate TCL procs (subroutines) when you can (reusable code).

              Use REGEXs wherever you can.  

              Test REGEXs for false positives.

              If you don’t know REGEX, learn it !

              Quite frankly, if you don’t know REGEXs, you probably should not be

              writing a “pure TCL” interface to begin with.

              Final suggestion-

              Use LOTS AND LOTS AND LOTS of msgs during the testing process.  

              TEST TEST TEST.

              You will be glad you did.

              Thanks to all responders !

              Tom

              []

              Tom Parsons
              Participant

                Hi Richard,

                Thanks for trying to share !

                I do already have TCL written to handle my interface.

                TPS TCL procs are so much less of a hassle and as Michael mentioned-

                no variants.

                Hi Michael,

                Thanks for your insight !

                Yes, I should have done 100% TCL long ago too but old habits die hard.

                I do try to build multiple procs for later code-reuse wherever I can.

                And I should be able to hack the main pretty easily for my other interfaces.

                Thank you both !

                Tom

                []

                in reply to: SIMPLE XLATE CONCAT/COPY USING TEMP VARIABLES #79898
                Tom Parsons
                Participant

                  Jim,

                  Good idea!

                  Thank you.

                  At least in my version of CL if I add =x20 to every other line on the CONCAT input side, it changes it to “= “, which makes it non-obvious.

                  in reply to: SIMPLE XLATE CONCAT/COPY USING TEMP VARIABLES #79896
                  Tom Parsons
                  Participant

                    Hi Carson and Jim,

                    I attached the original XLATE module.

                    I did not have a SPACE char between the CONCAT literals.

                    But per your suggestion Jim, I added =x20 between the items and the result was what is expected and solves my problem !

                    Thanks,

                    Tom

                    Before/original (without =x20 between CONCAT items)-


                    a


                    xlateOutVals


                    b


                    xlateOutVals


                    concat


                    xlateInVals


                    concat


                    xlateOutVals


                    copy


                    xlateInVals


                    copy


                    xlateOutVals

                    After (with =x20 between CONCAT items)-


                    a


                    xlateOutVals


                    b


                    xlateOutVals


                    concat


                    xlateInVals


                    concat


                    xlateOutVals


                    copy


                    xlateInVals


                    copy


                    xlateOutVals

                    []

                  Viewing 8 replies – 1 through 8 (of 8 total)