Adding new global variables

 4 Replies
 0 Subscribed to this topic
 52 Subscribed to this forum
Sort:
Author
Messages
Erikw
Basic Member
Posts: 4
Basic Member
    Hi all,

    I've been trying to add new global environment wide variables to our PFI system without succes.

    I've tried adding them in the menu.do interface definitions which resulted in adding them in the logan database, but when I tried to retreive de variable in a flow it returned as 'not defined'.

    Also I tried to add them to the enter.cmd file where I found the LAWDIR and GENDIR variables, but I guess these are only used during install.

    Is there any way to add global variables to PFI, other then LAWDIR and GENDIR?

    Many thanks,
    Erik (Fetim - Europe)
    Rob Conrad
    Veteran Member
    Posts: 73
    Veteran Member
      Hi Erik -

      2 ways - most people add the global variables at the beginning of your flow in the Start Node, like a Global.asa file is used in ASP.

      You can also store the information in your own SQL table - that's what we did here for all of our flows. We created a table called PFINTERFACES in a Utility DB which contains key PFI information (mostly source/target ETL) relative to a specific flow. The SQL approach represents a potential point of failure in your flow (vs. declaring the variable in the start node), but either approach will work. Be careful about this approach - you do not want ALL of your variables stored there, just key global settings that you want to call from any flow or from any Environment (DEV/TEST/PROD etc.)

      Hope that helps you out...are you on S3 or M3?
      RC.
      Erikw
      Basic Member
      Posts: 4
      Basic Member
        Hi Rob,

        First of all, many thanks for your reaction!

        We are on M3.
        I already use the startnodes but a drawback about this is that you can't change the settings per environment.
        We have two PFI environments now, one TEST and one PROD.
        What I am aiming for is a solution that would automatically load the correct environment variables (M3 Libraries, companies database link information etc.) depending on where a PFI is run, so that I don't have to change anything in the PFI's (startnodes) when they are approved after developement and ready to move to the PROD environment.
        Your second solution might work but it would have quite a big impact to the PFI's already created (around 55).
        Is there realy no other way to add global variables that are automatically available to all PFI's?

        Regards,
        Erik
        ryand
        Veteran Member
        Posts: 51
        Veteran Member
          Erik, did you try in your queries? That is a variable that you do not have to declare globally but it just exists there pulling from your product line/data area field under the Tools-->Options bar in pf designer. That way you do not have to declare anything that will change depending on your environment.
          Erikw
          Basic Member
          Posts: 4
          Basic Member
            For anyone who is still interested in this:
            I found a way to add global variables by creating them in the ProcessFlow Administration Tool (Menu.do) under Configuration -> Interface Definition.
            You can add an interface definition by adding a fieldname and value, using the System name = Global.
            For example:
            System name = GLOBAL
            Field name = COMPANY
            Field value = 20
            This can then be retreived in any of you flows by using the variable.
            This doesn't seem to work for all versions of PFI, later versions have a fix for this.

            Enjoy!