Skip to main content

Hi,

I would like to know how is the extension of file determined. When I download a PL1 program (SRC type in ZMF with language PL1) it nicely ends up with the extension PLI

the included copybooks receive the extension INC

When I download a component of lib type ERX (which are REXX components) it receives the extension TXT

Where can I direct a lib type to a specific file extension when needed

Thank you

Johan


#Fileextension
#VSCode
#ChangeManZMF
#ZMFExplorer

Hi,

I would like to know how is the extension of file determined. When I download a PL1 program (SRC type in ZMF with language PL1) it nicely ends up with the extension PLI

the included copybooks receive the extension INC

When I download a component of lib type ERX (which are REXX components) it receives the extension TXT

Where can I direct a lib type to a specific file extension when needed

Thank you

Johan


#Fileextension
#VSCode
#ChangeManZMF
#ZMFExplorer

The ZMF Explorer retrieves a component using the Get /component REST api with an additional parameter passed - explorerFormat = Y .This invokes further internal REST api calls to Get  /history/language to retrieve the language and pass that back is an additional variable "standardLanguage" in the returned Component data. 

For a non-source component (like an interpreted REXX component) the following conversions are employed:

  • libtype=Cxx => language=COBOL
  • libtype=Jxx => language=JCL
  • libtype=Pxx => language=JCL
  • libtype=Hxx => language=C
  • libtype=Ixx => language=PLI
  • libtype=Rxx => language=REXX

If none of these assignments are applicable, then the default language is TEXT  - as in your case with a libtype of ERX

You can either make use of an assembler exit CMNEX038 or HLL exits SYSL00XL or SYSL01XL to set the correct value.


The ZMF Explorer retrieves a component using the Get /component REST api with an additional parameter passed - explorerFormat = Y .This invokes further internal REST api calls to Get  /history/language to retrieve the language and pass that back is an additional variable "standardLanguage" in the returned Component data. 

For a non-source component (like an interpreted REXX component) the following conversions are employed:

  • libtype=Cxx => language=COBOL
  • libtype=Jxx => language=JCL
  • libtype=Pxx => language=JCL
  • libtype=Hxx => language=C
  • libtype=Ixx => language=PLI
  • libtype=Rxx => language=REXX

If none of these assignments are applicable, then the default language is TEXT  - as in your case with a libtype of ERX

You can either make use of an assembler exit CMNEX038 or HLL exits SYSL00XL or SYSL01XL to set the correct value.

OK, I modified HLLX SYSL00XL and activated it :

It changes correctly the language for the type ERX :

- X#SSLXL0 - start - 12 May 2023 12:02:54 --------------------------------------
function : SYSL00XL
hllxExitType : 0
externalName : X#SSLXL0
callOrigin : XML
zmfSubs : T
userid : ECSLJA
proceed : YES
dataChanged : NO
dataLocked : NO
xDsc : 0
xUid : ECSLJA
xSys : T
------------------------------------------------------------------------------
INPUT
componentType : ERX
language :
-I- InitializeWorkVariables
------------------------------------------------------------------------------
OUTPUT
componentType : ERX
language : REXX

But nevertheless the extension remains TEXT


OK, I modified HLLX SYSL00XL and activated it :

It changes correctly the language for the type ERX :

- X#SSLXL0 - start - 12 May 2023 12:02:54 --------------------------------------
function : SYSL00XL
hllxExitType : 0
externalName : X#SSLXL0
callOrigin : XML
zmfSubs : T
userid : ECSLJA
proceed : YES
dataChanged : NO
dataLocked : NO
xDsc : 0
xUid : ECSLJA
xSys : T
------------------------------------------------------------------------------
INPUT
componentType : ERX
language :
-I- InitializeWorkVariables
------------------------------------------------------------------------------
OUTPUT
componentType : ERX
language : REXX

But nevertheless the extension remains TEXT

Just to be clear, the tag dataChanged was correctly set to 'YES' when leaving the exit


Just to be clear, the tag dataChanged was correctly set to 'YES' when leaving the exit

OK, it had to be SYSL01XL, so my mistake, but even then the extension remains TXT

After restarting the VSCode workbench, all works fine :-)

So big thank you


OK, it had to be SYSL01XL, so my mistake, but even then the extension remains TXT

After restarting the VSCode workbench, all works fine :-)

So big thank you

I meant, it changes correctly :-)