Posts

Showing posts from September, 2010

How to replace system generated message names for CI web services

When creating and providing web services on PT 8.48 and later, the System generated message names are not meaningful. How can customers create meaningful names? Follow the steps below to do this. 1. Save the system generated request message to a meaningful name,eg. MTEST.V1. 2.Navigate to PeopleTools>Integration Broker>Service Utilities> Service administration's WSDL page anddelete the service. 3. Open the service operation and change the request message name to the new name, eg. MTEST.V1. Save the change. 4. Navigate to Provide Web Services page and provide the service again.

Tools tables that are used for IB Service Operations:

-- Service PSOPERATION; --all services PSOPERATIONLANG; -- language specific descriptions -- Service Operation Versions PSOPRVERDFN; -- all the service operations PSOPRVERDFNLANG; -- language specific descriptions PSOPRVERDFNPARM; -- holds request / response message information , queue -- Service Operation Handlers PSOPRHDLR; -- all the handlers PSOPRHDLRLANG; -- language specific descriptions PSOPERATIONAC; -- handler details referring to DMS application class PSOPERATIONDMS; -- handler details referring to DMS script PSOPERATIONCI; -- handler details referring to CI's -- Service Operation Routings PSIBRTNGDEFN; -- all routings PSRTNGDFNLANG; -- language specific descriptions PSIBRTNGSUBDEFN; -- routing alias information PSRTNGDFNPARM; -- routing transformation information PSRTNGDFNCONPRP; -- routings specific connector override information PSOPRGENRTGPARM; -- holds list of auto generated routings

GenerateComponentPortalURL and GenerateComponentContentURL return NULL

1. Because these functions are being called outside of PIA, certain online system variables such as %Portal and %Node will also be NULL. As such, it will be necessary to hard-code some arguments to the GenerateXXXURL functions: GenerateComponentContentURL("EMPLOYEE", "ERP", MenuName.REQUISITION_ITEMS, "GBL", Component.REQ_APPROVAL_AMT, %Page, "U", &Rec); 2. The Base URI (e.g. http://www.myserver.com/psp/mysite/) is only available automatically in the context of a web server. If a process is not signed in via the web (e.g. Application Engine), the Node definition specified in the function is checked for that Base URI. Open the Node Definition (PeopleTools > Portal > Node Definitions) and enter the Content URI (.../psc/...) and Portal URI (.../psp/...) on the Portal page. These are used by the GenerateComponentContentURL and GenerateComponentPortalURL functions, respectively. By default these fields are empty. 3. The GetLocalNode

To send HTML Email with images via PeopleSoft emailing methods

Using SendMail() function Local string &MAIL_CC, &MAIL_TO, &MAIL_BCC, &MAIL_SUBJECT, &MAIL_TITLES, &MAIL_TEXT, &MAIL_FILES, &MAIL_FROM, &REPLYTO, &SENDER; Local number &MAIL_FLAGS; &MAIL_FLAGS = 0; &MAIL_TO = "test@test.com"; &MAIL_CC = ""; &MAIL_BCC = ""; &MAIL_SUBJECT = "Testing SendMail - html?"; &CONTTYPE = "Content-type: text/html; charset=UTF-8"; &MAIL_TEXT = "<html>logo<img src= 'http://www.test.com/dm/design/new_logo.gif'></html>"; &MAIL_FILES = ""; &MAIL_TITLES = ""; &MAIL_FROM = ""; &MAIL_SEP = ";"; &REPLYTO = ""; &SENDER = ""; &RET = SendMail(&MAIL_FLAGS, &MAIL_TO, &MAIL_CC, &MAIL_BCC, &MAIL_SUBJECT, &MAIL_TEXT, &MAIL_FILES, &MAIL_TITLES, &MAIL_FROM, &MAIL_SEP, &CONTTYPE, &

How to Publish PeopleSoft WSRP Producer to 3rd Party WSRP Consumer

Please go to PeopleTools->Portal->Structure and Content, open the content reference which you want to publish as WSRP portlet. Select "WSRP Produciable" check box. WSRP Publication is available in PeopleTools, and is thus supported by any application at a sufficiently high release (8.48+ recommended as 8.47 has limitations). Then go to PeopleTools->Portal->WSRP Production, find out this published WSRP portlet. Copy "Web Service Endpoint URL" and login to your non-peoplesoft site and enter the "Web Service Endpoint URL" to the "WSRP WSDL URL". NOTE: Peoplesoft is compliant with the WSRP standard. Users should first verify they can both produce WSRP and consume WSRP in PeopleSoft. Once WSRP works in PeopleSoft, please try to produce WSRP in PeopleSoft and consume in 3rd party portal.

How To Create and Load Custom Target Connectors

To create a custom connector please refer to 1. Peoplebooks: PeopleSoft Integration Broker > Using the Integration Broker Connector SDK 2. Review the information in the " SDK API Documentation The PeopleSoft Integration Broker Connector SDK" which includes API documentation in HTML format. The documentation lists and describes Java packages that you can use to develop custom connectors and includes information about package classes, inner classes, interfaces, constructors, methods, and fields. Access the Connector API documentation in the connector SDK directory, PS_HOME\webserv\ \applications\peoplesoft\PSIGW\SDK\docs\SDK\index.html. 3. Within the same directory PS_HOME\webserv\ \applications\peoplesoft\PSIGW\SDK\docs\SDK there is ReadMe.txt that provides additional information when using WebLogic and the Class files needed as well as how to compile the java files. When compiling the java file, use the Java files on the web server and use the correct version of Java. Tool

How the PeopleSoft Integration Gateway connectors are loaded, and where the connector information is stored?

The following is what happens when a user requests to loads connectors of an Integration Broker gateway: 1. On the Integration Broker Gateways page the user presses the Load Connectors button and PIA ICPanel servlet passes that request via Jolt connection to the local application server. 2. The app server generates a special internal service operation, with external operation name "gatewayservicerequest", connector class name TargetIntrospection, and no message body. 3. The app server issues an http post of the service operation request to the local Integration Gateway listening connector. 4. If a remote gateway's connectors are being loaded, the local gateway forwards the request to the remote one. 5. The target Integration Gateway invokes the Introspection service to load all the connector properties, this is, it calls the TargetConnector.introspectConnector() method and navigates through the returned ConnectorDataCollection object to gather the data. 6. If a remote gat

Think time error while trying to call COBOL program from AE/CI:

Error:Think-time PeopleCode event (RemoteCall), but a SQL update has occurred in the commit interval. (2,148) In PT 8.4x we need to follow a certain sequence prior to invoking the PushButton field. The basics on calling COBOL from AE/CI PeopleCode are as follows. Note that "tweaking" may be necessary to get it to work. 1. AE (Application Engine) must have Restart disabled so CommitWork() can be used to force a commit of the CI data to the database. 2. Set the CI's properties, except for the "PushButton" field (usually Y/N) used to kick off COBOL. 3. Save the CI (call Save()). 4. If Save is successful, call CommitWork(). 5. Set the CI PushButton property (toggle it) to trigger the COBOL process. 6. COBOL will run asynchronously. So you usually need to put a dummy loop to wait until it's done processing. Adding a delay will help avoid having the next CI record "bump" into the COBOL process, and will give you additional time to perform post

How to cause a time delay ( sleep ) from PeopleCode in AE Program

The below code can be used in a PeopleCode Step to cause a delay of 3 minutes - effectively putting the AE to sleep for desired duration. &current_time = %Datetime; &delay_time = AddToDateTime(&current_time, 0, 0, 0, 0, 3, 0); While True If %Datetime > &delay_time Then Break; End-If; End-While This program will loop until the time has arrived and then it will go on

About Fix, Patch, Bundle,Maintennce Packs, Service Packs in Peoplesoft

PeopleSoft Application and PeopleTools maintenance releases are intended to address defects, performance enhancements, regulatory changes (such as tax updates), or security issues. In general, feature enhancements are part of new releases which require a product upgrade. Application fixes and changes are delivered in a variety of means; these include individual postings (Patches), Bundles, Maintenance Packs and Service Packs. Fixes: Fixes for specific issues with an application may be posted as a standalone fix intended to address that specific issue; these are generally referred to as Patches. Patches: Patches almost always have pre-requisites that are included in the documentation for that Patch. Patches are created by development using the most recently released bundle, this means they may list that bundle as a prerequisite. There may be other pre-requisites that are also required, all pre-requisites are clearly documented in the notes for the Patch. Bundles Bundles a

The basics in working with CIs and CI collections

Below are some of the basics in working with CIs. A. The basic steps in working with CIs 1) Set the get or create keys (set key values) 2) Execute get() or create() If get() or create() returns False do some error handling and take appropriate action such as not trying to continue processing that record. If you're going to continue processing, you'll need to call PSMessages collection's DeleteAll() method to reset the ErrorPending flag to False. Else Continue on to #3 3) set the properties 4) Execute save() 5) Execute cancel() - This releases this instance (or record that you were working with) so that you can set the get or create keys for the next record/CI instance. This step is not necessary if your code goes out of scope. 6) If you're accessing the CIs from PeopleCode: (a) Use the following syntax to get a handle to the Session object. &MySession = %Session; Avoid using the following syntax. &MySession = GetSession(); If( &am