tag:blogger.com,1999:blog-34020393.post1406874592096099941..comments2024-03-27T10:59:38.307-07:00Comments on Jim's PeopleSoft Journal: AppEngine Output Tricks, Reporting, Logging, EtcJim Marionhttp://www.blogger.com/profile/12995110203807924786noreply@blogger.comBlogger103125tag:blogger.com,1999:blog-34020393.post-10815797189191516872021-03-04T10:57:38.213-08:002021-03-04T10:57:38.213-08:00Your example probably would work If I had a standa...Your example probably would work If I had a standard Record to add to rowset..<br /><br />But I wish to build a temporary Derived Record , Unique name to delete when done (NoDB since it will be derived) <br /><br />So based on list of Fields create a dbrecord .. <br /> Add it to rowset. Fill and copy from andother rowset<br /> Report on new rowset.record <br /> And Drop<br /><br />I am curious if you have done something like that<br /><br />w travelingwillyhttps://www.blogger.com/profile/15325900195104882231noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-72296053819456222762021-03-01T20:19:03.539-08:002021-03-01T20:19:03.539-08:00I think you are right. Going through an object mod...I think you are right. Going through an object model is going to have a lot more memory overhead and will be a lot slower.<br /><br />As you know, a Rowset requires records, and that requires fixed columns, so that may be challenging. The only example I can think of that is different is Query's RunToRowset method.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-78674970423573364722021-02-26T07:03:49.030-08:002021-02-26T07:03:49.030-08:00Thanks...
The version I use is building a Excel f...Thanks... <br />The version I use is building a Excel file XML file that is formatted with the basic Tags so it opens up in excel .. A simple error when opening but loads.<br /><br />I was hoping that PSSpreadsheet would be more efficient , but Crazy slow . less than a minute to hours loading. I will take a look at the link.<br /><br />The other question about Creating a Record Dynamically thus I can create a rowset and work with it. travelingwillyhttps://www.blogger.com/profile/15325900195104882231noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-58403141413016951602021-02-25T16:43:12.651-08:002021-02-25T16:43:12.651-08:00@Will, I don't know if this project is faster ...@Will, I don't know if this project is faster or better than the PeopleCode PSSpreadsheet, but it does have some references to POI: https://github.com/cy2hq/CY2_SpreadSheet.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-2510293368858726352021-02-24T12:11:13.601-08:002021-02-24T12:11:13.601-08:00@Will, I would expect it to be faster by rowset, b...@Will, I would expect it to be faster by rowset, but I don't know how much faster. Yes, it would have to be modeled as a Rowset to do that, of course.<br /><br />Have you tried using POI directly? POI is the Java library that PSSpreadsheet automates. It can be challenging to use from PeopleCode because of method overloading, but certainly possible from Java running in the app server, or even from JavaScript. Sometimes I use JavaScript on the app server to act as the glue between PeopleCode and Java. Here is an example (albeit going the wrong direction) https://blog.jsmpros.com/2018/06/using-peoplecode-to-read-and-process.htmlJim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-62079694262490715902021-02-19T05:39:18.374-08:002021-02-19T05:39:18.374-08:00Jim
For the longest time I created a app package ...Jim<br /><br />For the longest time I created a app package that built Excel dynamically by creating XML Setup in a file an it Created a Excel document , I wrote some functions to split Arrays into Columns , Chang widths etc.. Worked Okay, It came up with an issue when opening but it worked...<br /><br />So I tried using (8.58.03) CreateObject("PSSpreadsheet"); It seemed simpler.. But when I had a 25k Row Dump it took Sooooo Long...<br /><br />I am loading By Array so It can be dynamic. In some cases I do not have a record or Rowset or I want to add a Additional heading info the column headings and Rows<br /> &ss = CreateObject("PSSpreadsheet");<br /> &FileStr = GetEnv("PSPRCSLOGDIR") | "/UDR_" | &Report_name | "_" | NU_UNIFIED_AET.PROCESS_INSTANCE.Value | ".xlsx";<br /> &ss.Open(&FileStr, False);<br /> &ss.SetCellString(1, 1, "Report:");<br /> &ss.SetCellString(1, 2, &Desc);<br /> &ss.SetCellString(2, 1, "Process Instance:");<br /> &ss.SetCellString(2, 2, &process_instance);<br /> &Row = 4;<br /> For &Colm = 1 To &ColArry.Len<br /> &ss.SetCellString(&Row, &Colm, &ColArry [&Colm]);<br /> End-For;<br />Then similar for data (I may have found the above from you )<br /><br />Have you seen this before...<br /><br /> But if it is faster By Rowset. <br /> 1 issue I have I am loading dynamic info I do not have a record to create a Rowset.<br /> <br /> Is there a Dynamic way to create a temporary Record with the PS fields I want , Thus Add it to a rowset . Fill it and then report Off it . And remove temporary record.<br /><br />Will<br /><br /> travelingwillyhttps://www.blogger.com/profile/15325900195104882231noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-48793963411457441992018-09-26T12:35:51.917-07:002018-09-26T12:35:51.917-07:00Hi Jim,
Greetings for the day.
Posting this query...Hi Jim,<br /><br />Greetings for the day.<br />Posting this query as I do not find any related one.<br />I have a query related to peoplecode, Can we copy only few peoplesoft objects(ex: few fields, records..etc) from a project file using an application engine peoplecode.<br />Is it possible? if so could you please provide your inputs on this.<br /><br />Thanks,<br />Shiva.Shivahttps://www.blogger.com/profile/13071613512114970964noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-15588764596938483642016-09-01T08:28:48.689-07:002016-09-01T08:28:48.689-07:00I am sorry Ayesha, I have no experience with BI Pu...I am sorry Ayesha, I have no experience with BI Publisher. You might want to ask your question on the <a href="https://community.oracle.com/community/oracle-applications/peoplesoft_enterprise/peoplesoft_general_discussion" rel="nofollow">OTN PeopleSoft Discussion Forum</a>.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-82391467071190466572016-09-01T04:10:15.000-07:002016-09-01T04:10:15.000-07:00Hi Jim,
i have a query about BI publisher RTF ...Hi Jim,<br /> i have a query about BI publisher RTF design. I have a requirement to show 3 courses per line bullet separated (As if i have 6 subjects then 3 subjects on one line and 3 on second line) how can i do this.<br /><br /><br /><br />Ayesha JaffarAnonymoushttps://www.blogger.com/profile/07401368328092930459noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-36474986709592927302016-08-31T08:23:53.300-07:002016-08-31T08:23:53.300-07:00@pranay, there are a couple of ways, some harder t...@pranay, there are a couple of ways, some harder than others... actually, none are easy. I would think the way to do it would be to either read one and update the other or read both and create a completely new sheet or workbook. My favorite is to use Apache POI. Apache POI was delivered with PeopleTools 8.54, but wasn't really visible. It is the magic behind the new BI Publisher engine that runs on Linux/Unix. It is there for you to use. I suggest using JavaScript to interface with it through the script engines also available in the Java that comes with 8.54. If you are on 8.55, then you can use the PeopleCode Excel API. If you are on earlier versions, then you will have to copy POI into your app/process scheduler directory. If your tools version has a Java that includes the JavaScript script engine (Rhino), then you are good. If your tools version is older, then you may want to think about writing custom Java to deploy to interact with POI. POI is not easy to use from PeopleCode's Java interface.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-70253619256841372962016-08-31T04:14:12.106-07:002016-08-31T04:14:12.106-07:00@jim: is there any way I can merge 2 excel file to...@jim: is there any way I can merge 2 excel file to one in peoplesoft. I have tried many solutions provided but its not working. Some solutions worked but they are giving me file in unreadable format.Anonymoushttps://www.blogger.com/profile/18053301167520441048noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-41695740393351048942016-07-01T09:23:24.857-07:002016-07-01T09:23:24.857-07:00@jim : is there any other way .If i miss any recor...@jim : is there any other way .If i miss any record to update in CI .If you remember so that i can slove this issue.I am stuck at this point to update addresses through CIAnkurhttps://www.blogger.com/profile/07021078094320264730noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-29002150201262202172016-06-28T07:48:38.876-07:002016-06-28T07:48:38.876-07:00@Ankur, interesting. I have no idea why that isn&#...@Ankur, interesting. I have no idea why that isn't working.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-55041356094050396882016-06-28T02:02:49.990-07:002016-06-28T02:02:49.990-07:00Hi Jim,
i have an question regarding Component in...Hi Jim,<br /><br />i have an question regarding Component interface .i didn't find any thread so i am posting here.<br /><br />I am working in campus solution product .I have created a CI for SCC_BIO_DEMO component but address is not getting updated . then i created CI for separate address component which is ADDRESS_MAINT but still address are not getting updated.My CI is working fine but address table is not updated. <br />My CI is running successfully but address is not updated . Any idea what went wrong? Multiple record are involved when i wrote logic for this like ADDR_FERPA_VW ,SCC_ADDR_H,SCC_ADDR_L1_H.<br /><br />i have little doubt that every record is used a subrecord (DERIVED_ADDRESS) which is causing issue.I am not sure on this. as there are secondary pages are also involved in this<br /><br />Any help is appreciatedAnkurhttps://www.blogger.com/profile/07021078094320264730noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-71445120034443436182016-06-07T08:17:31.966-07:002016-06-07T08:17:31.966-07:00Hi Jim,
Hope you are doing good.
I am trying to ...Hi Jim,<br /><br />Hope you are doing good.<br /><br />I am trying to generate the pie / bar charts using application engine at run time to embed them into HTML emails.<br /><br />But I couldn't get result, where as I can generate the same using page with chart area defined.<br /><br />Is there any way that we can generate pie charts in peoplesoft at runtime ?Viswanatha Reddyhttps://www.blogger.com/profile/10559983699943054082noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-35107871389893852442016-05-30T23:46:44.175-07:002016-05-30T23:46:44.175-07:00Hi Jim,
I have an issue with Report Posting when ...Hi Jim,<br /><br />I have an issue with Report Posting when the out put file size (.csv) is more than 30MB report not posting , if it is less than 30MB report getting posted.<br /><br />Please help me on this.<br /><br /><br />regards,<br />GiriGirihttps://www.blogger.com/profile/01655616277054752790noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-79370861284085044532016-05-08T08:20:54.634-07:002016-05-08T08:20:54.634-07:00Hi Jim,
I need your help in the the output of app...Hi Jim,<br /><br />I need your help in the the output of application engine. I am posting a bursted xmlp file to defined folder(/tmp/ for eg) using publish() method, but this method deletes the file and posts under report manager. i tried using printoutput method but it is posting without considering the bursting. please help.. i need the bursted file in the destination folder for further processing<br />IB Learnerhttps://www.blogger.com/profile/10943029963042344972noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-52461956328105941742016-02-18T07:55:28.358-08:002016-02-18T07:55:28.358-08:00Hi Jim,
I am trying to write a million rows to a ...Hi Jim,<br /><br />I am trying to write a million rows to a csv file using Application engine. But the AE runs for ever. If i limit the number of rows, the file is getting generated properly. Is there a constraint to generate a flat file with million plus rows?Aravindhttps://www.blogger.com/profile/01472201339580852898noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-17281622616680338652016-01-08T07:02:35.877-08:002016-01-08T07:02:35.877-08:00Hi Jim,
I saw this post and the one on OTN forum ...Hi Jim,<br /><br />I saw this post and the one on OTN forum of yours. Could you help me with my code? <br /><br />https://community.oracle.com/message/13624336#13624336<br /><br />Thank you very much in advance. <br /><br />TellyTellyhttps://www.blogger.com/profile/12265944250488265959noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-89888193529207638002015-11-09T12:28:17.022-08:002015-11-09T12:28:17.022-08:00@Manish, I just posted a response to a similar que...@Manish, I just posted a response to a similar question in the OTN forum <a href="https://community.oracle.com/message/13400050" rel="nofollow">Java Exception: java.lang.reflect.InvocationTargetException: during call of java.lang.reflect.Method .invoke</a>Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-8385868011305103092015-11-09T11:33:43.946-08:002015-11-09T11:33:43.946-08:00Hi Jim,
I have a below code where we have to gene...Hi Jim,<br /><br />I have a below code where we have to generate Excel file through app Engine.<br />and we are getting below Error while executing the below code through Application Engine but it worked for 1 line printing, but when doing it in Loop it throws this error.<br />Java Exception: java.lang.reflect.InvocationTargetException: during call of java.lang.reflect.Method .invoke.<br /><br /><br />Local string &xquery = "Testing Apache";<br />Local string &xquery1 = "Testing sheet";<br />Local JavaObject &XSSFWorkbook = CreateJavaObject("org.apache.poi.xssf.usermodel.XSSFWorkbook");<br />Local JavaObject &jClass = GetJavaClass("java.lang.Class");<br />Local JavaObject &jCompileArgTypes = CreateJavaObject("java.lang.Class[]", &jClass.forName("java.lang.String"));<br />Local JavaObject &jCompileMethod = &XSSFWorkbook.getClass().getDeclaredMethod("createSheet", &jCompileArgTypes);<br /> <br />Local JavaObject &sheet1 = &jCompileMethod.invoke(&XSSFWorkbook, CreateJavaObject("java.lang.Object[]", &xquery));<br />Local JavaObject &sheet2 = &jCompileMethod.invoke(&XSSFWorkbook, CreateJavaObject("java.lang.Object[]", &xquery1));<br /> <br />Local JavaObject &int = GetJavaClass("java.lang.Integer");<br />Local JavaObject &IntType = GetJavaClass("java.lang.Integer").TYPE;<br />Local JavaObject &jIntArgTypes = CreateJavaObject("java.lang.Class[]", &IntType);<br /> <br /> <br />Local JavaObject &jcreateRow = &sheet1.getClass().getDeclaredMethod("createRow", &jIntArgTypes);<br /> <br /> <br />Local number &i, &k;<br />&k = 1;<br />For &i = 1 To 40000<br /> Local JavaObject &Row = &jcreateRow.invoke(&sheet1, CreateJavaObject("java.lang.Object[]", &i));<br /> Local JavaObject &jcreatecell = &Row.getClass().getDeclaredMethod("createCell", &jIntArgTypes);<br /> Local JavaObject &cell = &jcreatecell.invoke(&Row, CreateJavaObject("java.lang.Object[]", &k));<br /> Local JavaObject &setCellValue = &cell.getClass().getDeclaredMethod("setCellValue", &jCompileArgTypes);<br /> Local JavaObject &cellvalue = &setCellValue.invoke(&cell, CreateJavaObject("java.lang.Object[]", "Interesting this is nice"));<br />End-For;<br />rem Local JavaObject &autoSizeColumn = &sheet1.getClass().getDeclaredMethod("autoSizeColumn", &jIntArgTypes);<br />rem Local JavaObject &autoSize = &autoSizeColumn.invoke(&sheet1, CreateJavaObject("java.lang.Object[]", 0));<br /> <br />Local JavaObject &out = CreateJavaObject("java.io.FileOutputStream", "/psoft/fs9devt/UserUpload/ap/comments12.xlsx", True);<br />&XSSFWorkbook.write(&out);<br />&out.close();<br /> <br />Thanks<br />ManishAnonymoushttps://www.blogger.com/profile/15553516676951667794noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-61373888167703039272015-10-23T03:04:57.622-07:002015-10-23T03:04:57.622-07:00I will convert PDF file to Microsoft word or excel...I will convert PDF file to Microsoft word or excel manually. <a href="https://www.fiverr.com/s2/f41e96f910" rel="nofollow">Convert PDF</a>Anonymoushttps://www.blogger.com/profile/02857585208634517809noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-17016339232597335652015-10-14T08:11:57.281-07:002015-10-14T08:11:57.281-07:00Umya, I don't know how you will convert all th...Umya, I don't know how you will convert all those attachments to PDF.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-16470395423572239172015-10-14T07:42:36.350-07:002015-10-14T07:42:36.350-07:00Jim,
I am trying to use the app engine to pull al...Jim,<br /><br />I am trying to use the app engine to pull all attachments out from database and put them together. These attachments are in many different file formats. Next task is to pull all of these attachments from the output folder and create a one single PDF out of it available through the report manager. Any ideas how this could be done without resolving to some outside unix tool, generator etc and staying within PeopleTools? I am stumped at putting all files in one big file and any suggestions are welcome. <br /><br />Thanks,<br /><br />UmyaAnonymoushttps://www.blogger.com/profile/01404823557977227170noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-3759003607066377692014-04-18T20:48:51.627-07:002014-04-18T20:48:51.627-07:00Hello Jim,
Nice post.
Keep up the good work!
L...Hello Jim,<br /><br />Nice post. <br /><br />Keep up the good work!<br /><br />Last year, I tried to generate a file in peoplesoft application engine using java. The reason for this thinking was that java has more feature, hence, we can handle lot of peculiarity in the file, as support for regular expression, strings and images are also available. I did try and was successful, here's the code which I generated, very basic though:<br /><br />Local JavaObject &jFile;<br />Local JavaObject &msg;<br />&msg = CreateJavaObject("java.lang.String", "Hello World!");<br /><br />Local JavaObject &buf = &msg.getBytes();<br />Local number &byteCount = &buf.length;<br />&jFile = CreateJavaObject("java.io.FileOutputStream", "C:\Temp\java.txt", True);<br />&jFile.write(&buf, 0, &byteCount);<br />&jFile.close();<br /><br />I want to further extend this, like displaying images, or handling lot of inbound files. I think java can provide powerful features to PeopleSoft Application Engine, as it uses concept of threading too.<br /><br />Thank & Regards,<br /><br />RadhaKrishna Rao Lpeterparker - Servant of BHAGWAN PARASHURAMAhttps://www.blogger.com/profile/05564653768978489866noreply@blogger.com