Gen EDGE

 View Only
  • 1.  Action Diagram Launch Function

    Posted Jul 31, 2020 10:06 AM
    Edited by STACY PICKETT Jul 31, 2020 10:06 AM
    ​I want to execute a .bat file from a pushbutton click event in a windows C client.  I see the "launch" function in the documentation / online help but when I add a FUNCTION statement in the action diagram, "launch" isn't one of the functions that appears in the list to choose from.

    What am I missing ? .......  or is there another / better way to do what I need to do ?​


  • 2.  RE: Action Diagram Launch Function

    Posted Jul 31, 2020 10:23 AM
    If you cannot see the Gen functions then try re-registering the type libraries for your toolset.

    As for whether Launch is appropriate or not, it depends on whether you want to 'fire and forget' the launched bat file or want to wait for it to complete and test the return value.

    Launch is OK for fire and forget but if you want more control, or if you do not want to see a command window visible for the launched bat file, then using C functions like CreateProcess (either in inline code or an EAB) might be a better way of doing it.

    ------------------------------
    Darius Panahy
    Information Engineering Technology Ltd
    ------------------------------



  • 3.  RE: Action Diagram Launch Function

    Posted Jul 31, 2020 11:20 AM
    ​Thanks Darius ........ ​The Functions have always shown up in the window to select when I try to add the FUNCTION action diagram statement but the Launch function isn't listed.  I went ahead and re-registered the 2 TLB files in the Gen folder on the machine, restarted Gen and the Launch function still doesn't appear unfortunately.  Was trying to avoid dropping down into writing C code but might have to I can't get the Launch function to appear.




  • 4.  RE: Action Diagram Launch Function

    Broadcom Employee
    Posted Jul 31, 2020 06:01 PM
    Edited by Lynn Williams Aug 02, 2020 08:13 PM

    Hi @STACY PICKETT
    You seem to be missing more than just Launch from your list.
    Compared to what I see below from both 8.5 and 8.6 toolsets you have 11 functions missing between GetWidth and OpenExcelDocument.
    Not sure what is causing that after the WROF0000.TLB re-registration as Darius advised
    I am wondering if all your Function Objects are missing:
    https://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-mainframe-software/devops/ca-gen/8-6/developing/designing/using-the-toolset/ole-object-browser-dialog.html
    If you use AD statement "Invoke" instead of "Functions" and then choose "Function Object" do you see anything listed?

    You could run the Process Monitor utility filtering on toolset.exe and search for WROF0000 to see if anything comes up:
    https://docs.microsoft.com/en-us/sysinternals/downloads/procmon

    I will check next week if this has come up before or you might need to create a support case with us.

    Regards,

    Lynn

    "Functions" statement


    "Invoke" statement + "Function Object" 



    ------------------------------
    Lynn Williams
    Senior Principal Support Engineer
    Broadcom
    Australia
    ------------------------------



  • 5.  RE: Action Diagram Launch Function
    Best Answer

    Broadcom Employee
    Posted Aug 02, 2020 09:44 PM

    Hi @STACY PICKETT​,
    The fact that you can see the Application Objects listed and are just missing the Function Objects would indicate that the other TLB file WROA0000.TLB registered correctly and they can be accessed OK by the Toolset.

    The high-level registry keys for the 2 TLBs are as follows with a sub-node for each Gen version installed 
    [HKEY_CLASSES_ROOT\TypeLib\{0C8F36F1-848E-11CE-9C08-02608CDA5EE3}]  - "Application Library"
    [HKEY_CLASSES_ROOT\TypeLib\{EBD084A1-E46C-11CE-8F94-0020AF9B5FED}] - "Functions Library"

    Pre 8.x file WROAF.REG was supplied but is no longer distributed because the TLBs are registered at install time and registration should not be needed again after that. The 8.6 equivalent of that file would be:
    ===
    REGEDIT
    HKEY_CLASSES_ROOT\TypeLib\{0C8F36F1-848E-11CE-9C08-02608CDA5EE3} = CA Gen 8.6 Application Library
    HKEY_CLASSES_ROOT\TypeLib\{0C8F36F1-848E-11CE-9C08-02608CDA5EE3}\8.6 = CA Gen 8.6 Application Library
    HKEY_CLASSES_ROOT\TypeLib\{0C8F36F1-848E-11CE-9C08-02608CDA5EE3}\8.6\0\win32 = C:\Program Files (x86)\CA\Gen86\Gen\WROA0000.TLB
    HKEY_CLASSES_ROOT\TypeLib\{0C8F36F1-848E-11CE-9C08-02608CDA5EE3}\8.6\HELPDIR = C:\Program Files (x86)\CA\Gen86\Gen
    HKEY_CLASSES_ROOT\TypeLib\{EBD084A1-E46C-11CE-8F94-0020AF9B5FED} = CA Gen 8.6 Functions Interface Type Library
    HKEY_CLASSES_ROOT\TypeLib\{EBD084A1-E46C-11CE-8F94-0020AF9B5FED}\8.6 = CA Gen 8.6 Functions Library (8.6)
    HKEY_CLASSES_ROOT\TypeLib\{EBD084A1-E46C-11CE-8F94-0020AF9B5FED}\8.6\0\win32 = C:\Program Files (x86)\CA\Gen86\Gen\WROF0000.TLB
    HKEY_CLASSES_ROOT\TypeLib\{EBD084A1-E46C-11CE-8F94-0020AF9B5FED}\8.6\HELPDIR = C:\Program Files (x86)\CA\Gen86\Gen
    ===

    As a test I deleted my 2 TLB registry keys and after Toolset startup, I see no "Functions" statement available. Also, the "Invoke" lists no objects when choose "Application Object" or "Function Object". So that is all as expected.
    I registered just WROF0000.TLB (using last 4 lines of above) and after Toolset startup, I now see a "Functions" statement available and can see the objects including Launch.  Also, the "Invoke" lists the same objects when choose "Function Object". 
    The fact that you have a "Functions" statement available therefore seems to indicate registration was successful but accessing the object list access is having a problem.
    It may be something security/permissions related in which case Process Monitor (procmon) might show something
    You might also want to try running the toolset with "Run as administrator", just to see if there is any difference.
    I have tested with a non-admin user running Gen 8.x toolsets and I see all the Function Objects.

    What version of the toolset and what PTF level are you using?

    Thanks,

    Lynn



    ------------------------------
    Lynn Williams
    Senior Principal Support Engineer
    Broadcom
    Australia
    ------------------------------



  • 6.  RE: Action Diagram Launch Function

    Posted Aug 03, 2020 08:13 AM
    ​Thanks Lynn !  As you stated apparently the Applications typelib was registered but not the functions typelib.  Once I created and ran the WROAF.REG file using the statements you provided, both were registered and the functions began showing up in the lists on my machine.  I had looked up the C code for how to execute a program or batch file and had got that to work using inline code on Friday afternoon so now I have both options to choose from.

    Thanks again to both you and Darius for the help !


  • 7.  RE: Action Diagram Launch Function

    Broadcom Employee
    Posted Aug 03, 2020 06:59 PM
    Hi @STACY PICKETT,
    Thanks for the update.
    Good to hear that you resolved the problem and were able to progress with your .bat file execution requirement.

    Regards,

    Lynn​

    ------------------------------
    Lynn Williams
    Senior Principal Support Engineer
    Broadcom
    Australia
    ------------------------------