Parse 2-byte UTF characters in strings correctly
That seemed to do the trick. It ran without exception and the pcode file matches the source code.
Here is a zip file with .class files for a potential fix. You know the routine...
Attached is the bytecode from PSPCMPROG.
Could you please attached the actual bytecode from PSPCMPROG (perhaps as byte array, or hex-encoded)?
ArrayIndexOutOfBoundsException and No parser for byte code 117 and 120
Files generated are using an incorrent encoding format.
StringIndexOutOfBoundsException in PeopleCodeParser
I've released v0.70, which should be able to handle some recently introduced PeopleCode bytecode. I can't test it myself, so please let me know if you run into trouble.
Write .pcode and .sql code with charset utf-8
Fix for ticket #21 - bytecodes 117/120 (#if #end-if)
Erik, I replaced the bin with the version that you provided and ran the application. The application ran fine. The pcode file created looks as good as can be expected from the PSPCMPROG table. Also the application did not thrown ArrayOutOfBoundsException.
Erik, I replaced the bin with the version that you provided and ran the application. The application ran fine. The pcode file created looks good as can be expected from the PSPCMPROG table. Also the application did not thrown ArrayOutOfBoundsException.
Kenneth, Please rename your 'bin' folder to something else and extract the attached bin.zip file in the main folder, so that the new .class files will be used. Let me know if this solves the problem (not entirely sure because I don't have access to any PeopleSoft system anymore, and I had to improvise to test your bytecode).
Erik I've attached two additional files, a txt and png,. The CNTRCT_CHIL_WK.CNTRCT_PB.FieldChange_appdesigner.txt is the text copied/pasted from application designer. CNTRCT_CHIL_WK.CNTRCT_PB.FieldChange_appdesigner.png is a screen image of the code displayed in application designer.
Eric I've attached two additional files, a txt and png,. The CNTRCT_CHIL_WK.CNTRCT_PB.FieldChange_appdesigner.txt is the text copied/pasted from application designer. CNTRCT_CHIL_WK.CNTRCT_PB.FieldChange_appdesigner.png is a screen image of the code displayed in application designer.
Hi Kenneth We'd need to have the plain-text version of this PeopleCode snippet, in order to see what the bytecode should translate to. Could you copy&paste the code from app designer please? (or run the tool with AlwaysDecode=false, so that the pcode will be extracted from the PSPCMTXT table). Thanks. Erik
ArrayIndexOutOfBoundsException and No parser for byte code 117 and 120
The problem is not so much getting the information out of the PeopleTools tables, but getting it back in... For a record definition, for example, you'd have a bunch of values representing things like field names, types and edit details. When you want to restore a record definition, you not only have to put that information back into the correct peopletools tables, but you also have to create or modify the corresponding database table. I believe the commercial Application Change Management tools (Stat,...
Hi Erik, Thank you for your response. I was hoping that maybe there is a way to do it but like you said that will be too complicated or impossible. Alphonse also said that he, and probably you, know how to extract from database other object like tables, menus... I'm sorry for bothering you but can you please explain it to me how can i improve the code to do it? Any details would be really helpful :) Minh
Hi Minh, No, there is no automated way to import the extracted files. Implementing that would involve not only compiling the plain text PeopleCode back to bytecode (which should be possible), but also writing that bytecode to the PeopleTools tables; that may be taking things too far. Or, you'd have to find a way to make the App Designer do it, but I don't know how (expect by just importing projects). Basically, this tool does version tracking, it's not really version control. Its best feature, in...
Hi Alphonse, Can you tell me if there is a way to import all extracted files to PeopleSoft? Thanks Minh
Hi Alphonse, It is more clear to me. I'll provide those information to my team and I (or they) will comeback to this discussion if any additional information is necessary. Thank you for your quick answers. Regards, Hadrien
Hi Hadrien no is also applicable to tables, screens, menus... Currently PcodeDecode extract current things : - Peoplecode of any objects - SQL of any objects (including SQL of Views And Application Engine) Nothing else. Adding a technology is not the bigest things to do. Generating a file from An element in the PeopleSoft Table are not so complicated ... For your Git use, if you want to use the Git fonctionality of DecodePcode Pcode Decode create a commit for each object modified in the database....
Hi Alphonse, Thank you for your answer. Sorry, but I'm not familiar with PeopleSoft vocabulary. I try to repeate what development team try to explain to me. Like you mention if SQR is not stored in database, I don't have the needs for SQR. However, when you say "no", is it only for SQR or it is also applicable to tables, screens, menus...? Basically, develoment team explains : because PeopleSoft is database based application, it is not possible to have the full scope of the application translate...
Hi Hadrien At this moment No. (but I know how to update the code do it ... But It's very hard to find the time to make an evolution on this program ... ) SQR I can't why you want to use DecodePcode because SQR are not stored in the database. You can ever see the SQR file on your server so DecodePcode should be useless for SQR. Regards Alphonse
Hello, I'm project manager for DXC Technology. I'm working on a DevOps transformation intiative for multiple clients. Today one of our delivery team is working on PeopleSoft with standard tools like Application Designer to develop and STAT to deliver. My understanding is that developement team also use STAT like configuration manger tool but I'm not sure thist is the best tool in DevOps chain. I would like to use PeopleCodeDecode which looks to answer my need. Development team raise a potential issue...
Hi Juan, Can you share what options or commans that you used to do this? Also, can you share your custom script? Thanks!
Hi Juan, Can you share what options or commans that you used to do this? Thanks!
Hi Erik, thanks for your response... Is working great using this option -Dfile.encoding=UTF-8 .. and in fact we are using your tool to generete a local git repository and automatically push the changes to a remote repository on gitlab, we also tested the ancestor option and it works perfect for us.. In my case, I created a custom script based on yours and I also using gitinspector to generate stats and complement your tool.. thanks you!
Regarding why generate .pcode files, I use it to make migrating PeopleCode between environments easier. If a class has some changes that need to go forward and others that need to stay behind, DecodePcode makes it trivial for me to compare. Dump the project out of the two environments and then use Beyond Compare to diff the two. Copy the changes that I want, then copy/paste into App Designer. So thank you for the awesome tool that makes my workflow possible.
As I don't have a way to test my code, it's not so easy for me to code a proper solution, but you may want to try this: add -Dfile.encoding=UTF-8 to the line in your script in which you start the program (between 'java' and the rest of the line). Incidentally, I'm always wondering why users want to generate .pcode files: I think the best use of this program is to commit files to SVN or Git.
Files generated are using an incorrent encoding format.
Hi, I'm testing this tool and until is now is working ok, but my .pcode files contain "errors" in comments, is there a way to generate .pcode files supporting encoding UTF-8 and this way show words like 'Informática' instead of 'Inform�tica' ? I guess this is relating to the encoding used to generate the files. I'll appreciated your help, thanks.
Thanks Alphonse. If anyone has bug reports or proposals, go ahead and submit them - it looks like there's someone who could apply and test changes to the code.
Hello Erik I am really interrested to continue your wonderfull project ... Regards Alphonse PROFFIT
I've left the PeopleSoft world, so I can't do any development/testing anymore. Who...
Hi John I agree that it is probably a good idea to keep your FIN and HCM systems...
Hi Eric, I can see the properties file which seems to give you the option for a production...
There actually is a problem on the PeopleSoft side, where the text in PSPCMTXT is...
PSPCMPROG order by LASTUPDDTTM DESC ?!?
Thanks for your contribution. As you've indicated, it would not be a good idea to...
Flatten directory structure
SQL not extracted if not in 1st environment
I just tried the patch and it worked for some of our HTML objects but not others...
Thanks wsx22. I've patched the code and published version RC2. Please test.
Fix character code problem
Patch by wsx22, 09/2016:
I've wrote next patch, based on available documentation. It works on 8.44 and schould...
I'd like to help develop a solution for all Tools versions but now that I've left...
I suspect it's because this is a 8.44 environment, but in our 8.54 environment, this...
Replaced deprecated File.toURL() calls
Patch contributed by user wsx22:
Options and logs, misc fixes [Patch]
Thanks! I've patched and committed the code. Unfortunately, I can't test it myself...
Support HTML and Image content from PSCONTDEFN ...
Improved formatting of plain PeopleCode (patch ...
Last version Erik H
Last version Erik H
Support HTML and Image content from PSCONTDEFN table [Patch]
I'm sorry but I don't have any other needs or ideas for this tool, nor I don't have...
Thanks for contributing code. You must have spent quite a bit of time getting these...
PeopleCode parser (from PSPCMPROG) fixes for 8.44 version [patch]
It's a feature... I deliberately included that extra loop, so that the same set of...
processing a project that is in different states in different environments
It's a feature... I deliberately included that extra loop, so that the same set of...
processing a project that is in different states in different environments
Awesome! I look forward to giving this a try tomorrow. It's a different approach...
v0.61 - combine 'custom' directive with other o...
The requested functionality is already available - I coded it weeks ago but forgot...
I'm not familiar with how SourceForge works (I use Github and Bitbucket most of the...
That appears to be a new byte code - the second time in four years that a new code...
What a great tool. I'm trying it out for the first time, but I'm getting a number...
No, it's not possible currently. I'll build it into the next release. There's a downside...
Is it possible to combine "custom" with the "since" operators? We have Decode PeopleCode...
Hi Erik, Yes, I was using version 0.55. The discrepancy is that pspcmtxt was showing...
I just published v0.60, which contains new way to process multiple environments....
v0.60 - with 'ancestor' processing
v0.60 - with 'ancestor' processing
Initial version
for v0.52
Eclipse preferences
--
--
Eclipse project
Eclipse classpath
--
sample for 0.52
Hi again Are you using a recent version of the tool? There was an issue with multi-segment...
Hi Alexei About the gitbase parameter: I wanted to store the various environments...
Hi Erik, I just found an issue that I'm not sure how to reliably identify. It seems...