Pages

Custom Search

Opening a new window

Soure: http://peoplesoft.wikidot.com/opening-a-new-window

/*****************************************************************************
 NewWinUrl(&strUrl)

 This function modifies a URL to return a new window URL
 It allows a new state block to be generated in a separate browser instance.
 http://server:port/psp/ps/EMPLOYEE/HRMS/c/......
 turns into
 http://server:port/psp/ps_newwin/EMPLOYEE/HRMS/c/......
 which renders to the browser as
 http://server:port/psp/ps_1/EMPLOYEE/HRMS/c/......

 Input parameters:  &strUrl - a URL to manipulate
 Output parameters: &strUrlModified - New URL with _newwin parameter

 ****************************************************************************/

Function NewWinUrl(&strUrl As string) Returns string;
   Local string &sRegex, &sReplace, &Result;
   /* Declare java object */
   Local JavaObject &jUrl;
 
   /**
    * Peoplesoft Content types:
    * -------------------------
    * Component: c
    * Script: s
    * External: e
    * Homepage: h
    * Template: t
    * Query: q
    * Worklist: w
    * Navigation: n
    * File: f
   **/
 
   /* Regex strings */
   /*          psc/psp  Site      Portal    Node      Content Type */
   &sRegex = "/(ps[cp])/([^\/]*)?/([^\/]*)?/([^\/]*)?/([csehtqwnf]{1})/";
   &sReplace = "/$1/$2_newwin/$3/$4/$5/";
 
   /* Instantiate objects and replace */
   &jUrl = CreateJavaObject("java.lang.String", &strUrl);
 
   &Result = &jUrl.replaceAll(&sRegex, &sReplace);
 
   /* Return modified URL */
   Return &Result;
End-Function;

SQL.Fetch: SamFetch: [Microsoft][SQL Server Native Client 11.0]Function sequence error (SQLSTATE S1010) 0. (2,294)

This error occurs when your code is binding with Data-At-Execution.  
The function sequence error must be in SQLFetch or the next API after SQLExecute. 
SQL_NEED_DATA is returned when a parameter is bound with a StrLenOrInd value of SQL_LEN_DATA_AT_EXEC(x) or SQL_DATA_AT_EXEC.  
If you are not explicitly setting this in the SQLBindParameter call, then it is likely an uninitialized variable that is occasionally being set to these values. 
If you don't want to stream input parameters, the best way to deal with it is to fix StrLen_or_IndPtr to the appropriate value for the type.  
If you do want to send Data at exec, you need to call SQLParamData after SQLExecute.  It will return the value you passed in for "ParameterValuePtr" below.  
You can then use this to key into the stream to send with SQLPutData.  You use SQLPutData to push the data up in chunks until you are done, then call SQLParamData again to get the next parameter to fill or to finish streaming.  
The final SQLParamData will return the return code that would originally have been returned by SQLExecute.

SQLRETURN SQLBindParameter(
      SQLHSTMT        StatementHandle,
      SQLUSMALLINT    ParameterNumber,
      SQLSMALLINT     InputOutputType,
      SQLSMALLINT     ValueType,
      SQLSMALLINT     ParameterType,
      SQLULEN         ColumnSize,
      SQLSMALLINT     DecimalDigits,
      SQLPOINTER      ParameterValuePtr,
      SQLLEN          BufferLength,
      SQLLEN *        StrLen_or_IndPtr); <--- this is the value that is causing SQL_NEED_DATA to be returned

Invalid Item_Type

If you are getting invalid ITEM_TYPE, do the following steps:

1. Check the institution set.
2. Check the effective date on your item type page. It should match with your default term.
     
           Setup SACR > Product Related > Student Financials > Item Types > Item Types

      3. Check the effective date on Charge Priority list.

            Setup SACR > Product Related > Student Financials> Charges and Payments> Charge Priority List


         

FieldChange PeopleCode event won’t fire

Sometimes (on radio buttons for instance) FieldChange PeopleCode event won’t fire if the component is set to deferred processing and at the field level, the allow deferred processing checkbox is selected.

To always ensure that FieldChange (and other) PeopleCode events fire, leave the allow deferred processing checkbox unchecked for in the page-field settings.

OR 

In the component properties, change it to Interactive instead of Deferred.

Integrating population selection

Found an interesting source on how to integrate population selection into custom processes.

Source : http://www.udeps.com/Articles/Pop_Select.pdf

Download it here: http://www.udeps.com/Articles/Pop_Select.pdf