Compile from IFS

Use this board to ask questions or have discussions with other Rich Displays users.
k2R400
Profound User
Posts: 62
Joined: Sat Feb 18, 2012 12:03 pm
First Name: Patrick
Last Name: THOMAS
Company Name: Oo2
Country: France
Contact:

Compile from IFS

Post by k2R400 »

Hello,

It is really bad not being able to compile a DSPF source from an IFS file.
The CRTDSPF command is certainly not possible from a file stream, but with ProdounUI, it would be really esay and handy to do so.
Another solution would be to allow us to run our own command when the Compile the Designer button is clicked. But it will have to redo the JSON transformation in a source member.
ProfounUI is a modern product, sources members are however coming from another time.

Regards.
Scott Klement
Experienced User
Posts: 2711
Joined: Wed Aug 01, 2012 8:58 am
First Name: Scott
Last Name: Klement
Company Name: Profound Logic
City: Milwaukee
State / Province: Wisconsin

Re: Compile from IFS

Post by Scott Klement »

I'm not sure that I understand what you are saying, here. Here are some thoughts, however:
  1. Creating DDS is important when using Open Access. RPG (not Profound UI) requires an externally defined record format in order to define the proper variables in your program. It gets this from the DDS display file, so when you use Open Access, DDS is important.
  2. The "compile" button in the visual designer runs IBM's CRTDSPF command (that's all it does!). This command does not support a stream file.
  3. When the Visual Designer saves to the IFS or a Local File, it saves in pure JSON (not DDS format) so it's not possible to compile it.
  4. When using Rich Displays from CGI, PHP, Node.js, etc, you do not use Open Access. In these cases, DDS is not needed, and there's no reason to compile anything.
With this in mind, I really don't understand what you are asking for. You want Profound UI to save DDS (not just JSON) to the IFS? What good would that do when the CRTDSPF command does not support IFS files?

Or, perhaps you are saying you want to compile a display file from plain JSON instead of from DDS. That also doesn't make sense, since DDS is required to make a display file. When not using a display file, of course, there's no need to compile at all.
dieter
Experienced User
Posts: 122
Joined: Tue May 22, 2012 6:45 am
First Name: Dieter
Last Name: Schröder
Company Name: Ecclesia Holding GmbH
State / Province: Outside Canada/USA
Country: Germany
Contact:

Re: Compile from IFS

Post by dieter »

Hi Scott,
i see the restrictions, which are given by IBM. But i agree with k2R400: It would be nice, if we could configure our own compile command in the Visual Designer. E.g. RDi allows us to call our own compile commands for RPG programs. We use this to save the code in our own version control system. We can not do that when we compile the DSPF from the visual designer.
Of cource i know that it would be possible to change the CRTDSPF command in QSYS. But i think this to hard.

Dieter
Scott Klement
Experienced User
Posts: 2711
Joined: Wed Aug 01, 2012 8:58 am
First Name: Scott
Last Name: Klement
Company Name: Profound Logic
City: Milwaukee
State / Province: Wisconsin

Re: Compile from IFS

Post by Scott Klement »

Dieter,

As I said before, I don't understand what K2R400 (or you) are asking.

It sounds like you would like to configure a different compile command instead of CRTDSPF when clicking "Compile" in the Visual Designer. Is that the same thing that k2r400 was asking? It did not sound like that to me, but it is very possible that I misunderstood.

Can you give me an example of an alternative command that you might like to use? I am having a hard time understanding how this would be useful, but perhaps an example would help.

thanks
k2R400
Profound User
Posts: 62
Joined: Sat Feb 18, 2012 12:03 pm
First Name: Patrick
Last Name: THOMAS
Company Name: Oo2
Country: France
Contact:

Re: Compile from IFS

Post by k2R400 »

Hello,

I know the CRTDSPF can't open a stream file.
In fact, I would like to save my DSPF source member in the IFS like my CLLE, RPGLE and SQLRPGLE (with RDI).
I open it with the Designer (from a local drive) and I want to compile it simply without save it in a DDS file member (PUI have to do it under the cover).
PUI would just have to create a source file and member in QTEMP and to convert/save the JSON and to compile it automaticly with the CRTDSPF command. It would be very practical, and it would be the end of the PF-SRC files.
Sorry, my English is so bad...
dieter
Experienced User
Posts: 122
Joined: Tue May 22, 2012 6:45 am
First Name: Dieter
Last Name: Schröder
Company Name: Ecclesia Holding GmbH
State / Province: Outside Canada/USA
Country: Germany
Contact:

Re: Compile from IFS

Post by dieter »

I think k2R400 wants to create the display file object by using the crtdspf command. But he would like to save the source not in QDDSSRC but in a folder in the IFS.

That is not what i need. But i think for both of us it would help, if we could configure the compile command. I think, when i click the compile button in the Visual Designer, the Visual Designer creates a command string like "CRTDSPF FILE(TESTLIB/TESTD) SRCFILE(TESTLIB/QDDSSRC)" and submits this to the system to do the compile. So if i could edit this command and if the Visual Designer would give me variables, i could make my own command. E.g. like "CALL PGM(MYCREATE) PARM(&FILE &MBR &OBJLIB) ...". My programm "MYCREATE" then would do the CRTDSPF and also would save the source in our version control system. And k2R400 could to the same: He would do a CRTDSPF and the could save the source to the IFS.

I don't know the right English word for this functionality in PDM. In PDM you usually compile programs or display files with the choice "14". But you can define "user defined choices" (in the German version it is called "benutzerdefinierte Auswahl"). E.g. you can define the choice "CR". So you can use "CR" instead of "14" to do the compile. I think you know what i mean, Scott.

With such a possibility of influence on the compile comand everyone would be able to manage his display sources in his own way.

Dieter
User avatar
Glenn
Profound Logic Staff Member
Posts: 124
Joined: Mon Apr 14, 2014 4:08 pm
First Name: Glenn
Last Name: Hopwood
Company Name: Profound Logic Software
State / Province: Ohio
Country: United States
Contact:

Re: Compile from IFS

Post by Glenn »

Dieter,

While it's not a 'one step' solution, I'd like to make sure that you are aware that you can do what you are asking. Once you save the display file in the Designer you can 'flip over' to a green screen and run any command (or PDM option) you'd like on the source member you just saved.

Glenn
Scott Klement
Experienced User
Posts: 2711
Joined: Wed Aug 01, 2012 8:58 am
First Name: Scott
Last Name: Klement
Company Name: Profound Logic
City: Milwaukee
State / Province: Wisconsin

Re: Compile from IFS

Post by Scott Klement »

The English term used in PDM is "user-defined options". But, I was thinking of the compile commands in RDi -- I think that is more similar to the way the Visual Designer works. PDM provides lists of members that you can work with and put a user-defined option next to, whereas the Visual Designer does not do that, it only provides one "compile" button that you can click on one source file.

To make that work, we could provide some sort of a physical file where you define compile commands for each userid and it will fill in some details such as the source file, source member, object name, and object library.

For K2R400's request it does not seem related to this? He is asking for:

1) A way to save the full DDS details (not just the JSON) to the IFS file
2) A special command that converts the IFS file to a source member in QTEMP and runs the CRTDSPF command so that he can compile directly from the IFS from the command-line.

Or, is he really asking for a way to create a display file from the raw json file in the IFS without loading it into the Visual Designer? That would be much more difficult to do, since most of the work that creates DDS records for display files runs inside the Visual Designer in your web browser, so to create a utility that works from the command-line, all of that code would have to be rewritten so that it can run on the server.

I don't think a custom compile command would help K2R400, since you can already save to the IFS, load from the IFS, and compile into a display file without changing the compile command.
dieter
Experienced User
Posts: 122
Joined: Tue May 22, 2012 6:45 am
First Name: Dieter
Last Name: Schröder
Company Name: Ecclesia Holding GmbH
State / Province: Outside Canada/USA
Country: Germany
Contact:

Re: Compile from IFS

Post by dieter »

Glenn wrote:Dieter,

While it's not a 'one step' solution, I'd like to make sure that you are aware that you can do what you are asking. Once you save the display file in the Designer you can 'flip over' to a green screen and run any command (or PDM option) you'd like on the source member you just saved.

Glenn
Hi Glenn,
thank you for your answer. I think, with your term 'flip over' you mean, that i can run a command manually. But this is not a solution for me. We have our own compile script, which saves the compiled source in our own version control system (after successful compiling). This should work automatically, because otherwise programmers often forget to update the version control.
charles.wilt
New User
Posts: 14
Joined: Wed Nov 09, 2016 3:38 pm
First Name: Charles
Last Name: Wilt
Company Name: Dealertrack
State / Province: Utah
Country: United States
Contact:

Re: Compile from IFS

Post by charles.wilt »

This is an older message but this is something my company would like to see also.

Use case is pretty simple, we've moved to storing our source in SVN; ( and are in the process of moving from SVN to Git.)

The standard Profound UI DDS source isn't very "diff" friendly...

Code: Select all

     A                                  1  2HTML('{"screen":{"record format nam-
     A                                      e":"PD2200DB","overlay":"true","ove-
     A                                      rlay range":"1-21"},"items":[{"id":-
     A                                      "$SRCH","field type":"textbox","css-
We use a home grown python utility to transfer source between the our PC's and the source member on the i. For display files, it converts to/from a more "diff" friendly version on the PC (and SVN)

Code: Select all

^^^begin json html^^^
{
    "screen":{
        "record format name":"PD2200DB",
        "overlay":"true",
        "overlay range":"1-21"
    },
    "items":[
        {
            "id":"$SRCH",
            "field type":"textbox",
            "css class":"dtdms-input",
The same utility is run on the i when our nightly build process pulls down changed source.

However, as we move from SVN to Git, it'd be really nice to be able to get away from the python script and have a CRTPUIDSPF command that would accept a IFS path to the raw Profound UI JSON format...(perhaps with an option to save as "pretty print" that would be more diff friendly?)

Code: Select all

{ "text": "Stock Order Create", "formats": [{
  "screen": { "record format name": "PD2200DB", "overlay": "true", "overlay range": "1-21" },
  "items": [
    { "id": "$SRCH", "field type": "textbox", "css class": "dtdms-input", "value": { "fieldName": "$SRCH", "dataLength": "25", "trimLeading": "false", "trimTrailing": "true", "blankFill": "false", "rjZeroFill": "false", "dataType": "char", "formatting": "Text", "textTransform": "none", "designValue": "[$SRCH]" }, "left": "645px", "top": "60px", "height": "25px", "width": "260px", "placeholder": "SEARCH", "border radius": "3px" }, 
Thank you,
Charles Wilt
Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests