5 Replies Latest reply on Jan 10, 2019 6:08 AM by Mark Francome


    Rishika Shetty

      Hi Team,


      I just wanted to know the advantages and disadvantages of Libmemsym as well as why it needs to be used?



        • 1. Re: Libmemsym
          Roland Pocek



          is that contol-m related? please tell us or move the thread to the correct community, and a search for libmemsym does return lots of results on bmc communities


          eg Does anyone have experience at using %%LIBMEMSYM variable?


          cheers rop

          1 of 1 people found this helpful
          • 2. Re: Libmemsym
            Rishika Shetty

            Thanks Roland.

            • 3. Re: Libmemsym
              Mark Francome

              Ooh, now you are getting down to the real nitty-gritty.


              Libmemsym is really for your "static" variables and, furthermore, self-defined variables (which may also be constructed from other variables, e.g. system variables).


              I would think a lot of people get by with simply using ctmvar or the variable definition in the jobdef but Libmemsym can really help in certain scenarios;


              1. Using standard jobdefs (best run as command job types) where you have different levels (prod/uat/dev) but want to use Libmemsym to control the environment. E.g. you have a Windows-based application with prod and so on and you want to have standardised jobs, the command field is so;


              cd %%Cds_Path && CADISProcessAgent.exe /component:Solution /process:"1000 Load AIM Limit Check" /platform:SQL /server:%%Cds_Srvr.\%%Cds_Drv /db:%%Cds_DB /integrated:Yes


              We run this job in Prod and UAT. The executable path is updated whenever there is a new release, so that's a lot of jobs to update (yes, I know we can do mass updates but the releases are often in the middle of our processing day). By using Libmemsym my jobs can have one Libmemsym for the Prod values, another for UAT -


              PROD Libmemsym -





              %%Cds_Path="C:\Program Files\Markit Group\Markit EDM_11_0_5_1\"


              UAT Libmemsym -





              %%Cds_Path="C:\Program Files\Markit Group\Markit EDM_11_0_5_1\"


              So we have identical jobs but the Libmemsyms point to different files on the Control-M server and we can update the executable locations (%%Cds_Path) whenever we want.


              2. Constructing "system" variables is also handy. I know you can do this via utilities but the Libmemsym gives you a useful central location. E.g. make dates in the format you want -




              One point to note, it's often best to split the Libmemsyms into application specific files; you can echo out the values and you might not want them visible to every corner of the Control-M environment.

              4 of 4 people found this helpful
              • 4. Re: Libmemsym
                Rishika Shetty

                Thanks Mark:)

                • 5. Re: Libmemsym
                  Mark Francome

                  One final point, the Libmemsym is usually administered by the Control-M Admin - this is not always to the liking of users!

                  2 of 2 people found this helpful