Forums

ForumTopicsPostsLast post
Wide ranging discussion
The Data Dictionary (DD) is actually two tables, TIDDDELE and TIDDDMST. Theoretically there are PassPort Duty Free utilities to unload and format the DD for use in the Analyst Workbench. Reality is messier.
13by webmaster
Asset Suite / PassPort originated on IBM MVS mainframes with the online environment running under CICS, a high volumn transaction processing environment, and the database being DB2. At some point a decision was made to go multi-operating system and multi-database and PassPort was ported to work on various flavors of Unix and the Oracle database. Maintaining the business logic in one place was paramount and to accomplish this Indus (now Ventyx) created psuedo-CICS environments for Unix. It allows the same .ccp and .csm programs, containing most of the business logic, to execute on HP-Unix and on MVS. This is what makes Asset Suite / PassPort so warm and fuzzy.

Knock on effects of this include an Indus custom CICS precompiler when compiling for Unix and an Indus custom SQL precompiler when compiling for Oracle. (See why you want those compiler listings!) Indus developers must restrict themselves to CICS commands supported by the psuedo-CICS environment and to using SQL common to both DB2 and Oracle, I believe it's a POSIX standard. Developers customizing Asset Suite / PassPort can use Oracle or DB2 specific SQL.


PassPort's Graphical User Interface (GUI) has gone through several generational changes and for the time being has settled on Portal/J. Portal/J, i.e., the GUI written in Java, far outshines its predecessors and if you can migrate to it, you should. Asset Suite version 7 works with Foundation Architecture and does not support Portal/J

Portal/97. The MicroSoft Visual Basic (VB) interface. It's arguable that this allowed the most user friendly interaction. Indus programmers had a difficult time keeping the settings of the VB Integrated Developement Environments (IDE) sychronized.

Portal/G. The C (or Paradox fat client?) interface. It has some very nice debugging capabilities, like being able to emulate the Portal/RF (Radio Frequency, using hand held computers in a warehouse connected to PassPort via a Wi-Fi, 802.11b/g connection).
15by Anonymous
Foundation Architecture
12by webmaster
00n/a
1220by Anonymous
For PassPort / PeopleSoft shops without a lot of other PassPort interfacing requirements, this is probably the way to go for the most cost effective solution. FI Connect is pretty straight forward, with a lot of the logic contained in the .xsl and .xsd mappings.

It is necessary to push to get access to the underlying java code containing the business logic. Without access to the business logic code the project will founder.

When interfacing with PeopleSoft, getting a handle on the PeopleSoft component interfaces will be a hurdle, but the payoffs are huge. All new inbound interfaces into PeopleSoft should endeavor to use the component interfaces - the tool to provide PeopleSoft the xml doesn't matter so much.

I was floored to find this write up from IBM. IBM Global Services is still tops with me.

http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/indusconnect/indus11.htm

78by webmaster
You got 'em, you hate 'em, and the programmers roll their eyes everytime the subject comes up, but there's got to be pay off to move away from them. No interface tool takes away the hard slog of figuring out the business logic.

PeopleSoft threatened to not certify installations that access their database (as in PassPort's database having a database link defined into PeopleSoft and updating views of the PeopleSoft tables), but last heard, it's an empty threat because not many companies could pull off all of the inbound interfaces using PeopleSoft Component Interfaces and all of the outbound working with PeopleSoft published data structure in xml. (Why didn't PeopleSoft conform to some kind of 3rd party standard like xCBL?) To work with the published data structure, you have to have an intimate knowledge of what it's trying to tell you about the PeopleSoft business entity (try figuring out a published vendor with it's effective dating and pointers to addresses). It's hard, like being the president.
00n/a
DataGlance, www.dataglance.com, is an example of an integration framework that allows for the integration of disparate applications. When it comes to the mapping of fields depending on this or that business rule, DataGlance provides a structured implementation. The messiest work involving cross reference tables, database access, and calls to application routines can be implemented in one application. For new PassPort installs or PassPort having to integrate with large applications besides PeopleSoft, or many applications, an integration framework is the way to go.
00n/a
Everything Portal/J
Portal/J via Web Start has a few potential problems you might encounter when attempting to launch URLs via a web browser (URL alias icon TIG16061).
612by webmaster
Use the URL alias icon, data dictionary element TIG16061, to invoke a Java servlet and have the .ccp panel program know when the web browser has been closed (URL-TRANSFER-IN-PROGRESS-COM(STACK-TOP-COM)). Define the URL alias on X108 to be something like: http://server:port/fixml/servlet/servSomething? to use a Java servlet that you've defined to the Indus FI Connect product.

The FI Connect product is providing a lot of services for you to use like database access (servlet code: Connection dbconn = PPUtil.getDbConnection();), and a working directory (servlet code: String workdir = PPSAPConfig.getDocumentDirectory() + "/work";).

Note that this is a one-way invokation of the servlet, that is, it's possible to send parameters to the servlet, but not possible to send data back to the .ccp program. The servlet could update a database table that the .ccp would read, similar to the way IndusBuyDemand processes a shopping cart.
34by Anonymous
Pop up box with title "Portal/J-TigPJOLE" displays message "Linked Document not found .Create a new document? when user attempts to access the pdf which is attached by others .
11by webmaster
The actual JRE that will load on a PC when it first accesses PassPort is retained on the Portal/J server in a directory similar to ../tomcat/webapps/PJ/plugin. It is the actual JRE executable from Sun.
The JRE that Portal/J will run with is specified on the Portal/J server in a directory similar to ../tomcat/webapps/PJ/html/runtime, file PJPanelFrame.html. Look for "codebase". It's possible to change the JRE version to match a version installed on a PC that is not on the Portal/J server. This can be useful for debugging. It actually occurred with Portal/J 9.2 that originally was certified with JRE version 1.4.1 which had a problem with ATI RADEON video card drivers. Sun acknowledged the problem (bugs 4713003 and 4749817) and fixed it in JRE 1.4.2.
12by webmaster
Miscellaneous topics about Portal/J.
512by Anonymous
Everything to do with MicroFocus COBOL
Compile program for Animation with ../region/tools/dfcn -a full/directory/path/program.csm
Define shell variable COBAIF.
export COBAIF=$PASSPORT/region/$REGIONDEV/dbin
cd ../region
BATCHANIM region script

This should break within Animator at the top of the program executed by the script. No script changes should be necessary. Animator works very well for batch jobs and there should be no data mapping issues.

PP ver 10.x Animating batch on Unix ppjobvars' DBINDIR entry chains through PassPort's libint directory, then the development region's dbin directory, then the bin directory, then the int directory, then the test region's dbin directory and so on through the baseline directories.
00n/a
Need to set up Unix shell for running Animator and a PassPort session to debug.

Unix shell
Create a script defined to override region directory path to pick up the modules created by the compile for Animate.

Script used in Unix shell to start Animation executes ppjobvars which in turn executes both ../tools/dforavars and ../tools/dfcobvars. dfcobvars defines LD_LIBRARY_PATH which chains through ../region where libpparch.so exists.

export term=vt100
Start Animator in shell: cd /home/directory/user
/home/directory/user/animate-script region port

In PassPort
go to a panel one level before the one you're interested in Animating. Define the port that will allow PassPort to communicate with the shell in File, Preferences, Diagnostics, Port. Now navigate to the panel you're interested in.

Animate running in the shell should by now have given some indication that it's communicating with the PassPort region.

Notes:
1. Around the time of PassPort ver 9.x or 10.x, or perhaps it's because of MicroFocus Server Express, it has become difficult to view the values of some variables. Animator displays bogus data. Two ideas: a) National Language Support and the introduction of PIC I (eye) variables (PIC I is not COBOL) which are converted by the Indus precompiler depending upon how many bytes are needed to support a character, b) change in paragraph 1000- to use pointers. It's leaning towards the PIC I's. The load module works fine, but the mapped over program being stepped through is misaligned.

2. Animating a .csm program called by a .ccp program requires Animating the calling .ccp program and stepping into the .csm program THE FIRST TIME ITS CALLED. Set a break at the top of both the .ccp and the .csm programs and you should be OK to Zoom through the .ccp and break in the .csm upon subsequent calls. This all comes into play when Animating a .csm that first opens a cursor and then fetches from it.
23by Anonymous
MicroFocus COBOL and Oracle LOB data
11by webmaster
Quirky things about MicroFocus COBOL and Sun Java
33by webmaster
Compile listings are helpful when using Animator (MicroFocus debugger), checking STACK-ARG length <= 128 (old architecture restriction still needed), just how many bytes does a PIC 9(9) COMP use, figuring out what all the -COM variables passed along in linkage do, seeing Indus pre-compiler CICS and SQL output, etc.

COBOL compile listings end up in dbin directory as *.lst.
23by Anonymous
00n/a
00n/a
Object Linking and Embedding in Asset Suite from Marlon Brando to quotidien. Thanks to Steve for the insights into what the TIDBLOB data is.

MicroSoft Office 2007 has driven home the point that it's better to talk about embedded and linked objects rather than "OLE" since OLE technology is being supplanted by, well, "MicroSoft Open Office XML Format" which is probably as meaningful as an open door policy.

Apologies for being USA centric and not coding for double byte languages. I've done what I can with my time.
MicroSoft Word 2007 default saving in docx format:

http://msdn2.microsoft.com/en-us/library/bb266220.aspx



Working on a kludgy solution for sites with mixed MicroSoft Office versions. If it might be useful, please provide feedback. forum -March 2008


Looks like it's going to be a problem for sites with mixed MicroSoft Office versions. When Portal/J executes on a PC with MicroSoft Word 2007, new embedded objects appear to be saved in docx format wrapped in an OLE. TIDOBLOK.OLE_OBJECT_CLASS = Word.Document.12. TIDBLOB.OLE_OBJECT_TYPE = b.

Side note: Word 2007 files are saved in "MicroSoft Open Office XML Format" with file extension docx. They can be renamed by adding extension ".zip" and WinZip can be used to see their content.

The PassPort object (contents of TIDBLOB) can be read out of the database and into a file (use OleTypeBRead.java with a minor modification).

There are a couple of things that can be done with the file.

1. Rename the file with extension ".docx" and Word 2007 complains, but will open it. Word 2007 is probably complaining about the OLE definition which it seems to ignore.

2. Open the file with a hex editor like UltraEdit. Delete all data:

a) before "PK" (zip file magic number) following a bunch of xFF's or x00's.

b) after the last occurence of "PK" plus 20 bytes.

Save the file and rename the file with extension ".docx". It is now a Word 2007 file.


For Portal/J 10.0.3 and 10.0.7, there does not appear to be any way that a previous version of MicroSoft Office can open embedded objects created by Office 2007. Even with the Compatibility Pack installed and user prompt "Convert file from" containing "Word 2007", it fails with Word popping message: "There was an error opening the file." and Portal/J hangs.

It appears MicroSoft's intent is that older versions of Word will be forward compatible with Word 2007. This forward compatibility works when Word 2007 creates a document and an older version opens the ".docx" file with Word prompting with a drop down list of formats including Word 2007. PassPort not involved.

When PassPort is involved, that is Word invoked by Portal/J is attempting to open an embedded object, the older versions of Word, even with "Word 2007" being a valid possible format, cannot open a Word 2007 object. The most likely problem is the MicroSoft compatibility pack cannot be correctly invoked. The good news is that Word 2007 embedded objects can be opened by Portal/J version 10.0.3 when it is executing on a PC with Word 2007.


A possible solution is to use Portal/J settings to force embedded documents into OLE format (as opposed to "docx" and "xlsx") in the Portal/J Administration, Configure Passport Regions, Edit Server Definitions (can also do Global), select the server, Define Param...
Application Name: RichText, Parameter Value: Word.Document.8.
Application Name: SpreadSheet, Parameter Value: Excell.Sheet.8.

Pro: Consistent embedded objects as OLEs. Mixed MicroSoft Office's on client machines will work.

Con: Users cannot use new Office 2007 features. They are warned upon saving their document that features will be lost.

Linked Word 2007 objects work. TIDOBLOK.OLE_OBJECT_CLASS = Word.Document.12. TIDBLOB.OLE_OBJECT_TYPE = b. TIDBLOB.OLE_OBJECT_BLOB is an OLE link.

Side Note: An OLE icon on a PassPort panel is used for one document type (word processor, spreadsheet, others) and is defined within the panel sym and changed via Analyst Work Bench.
11by webmaster
As far as embedded objects have been picked apart the following seems to hold true.

1. Text (TIDBLOB.Ole_Object_Type='T'). When created within PassPort, always paired with a Compressed. Can be created outside of PassPort and PassPort will create the Compressed when the OLE is accessed.

Java code attached: OleTypeTRead.java, OleTypeTWrite.java

2. Compressed (TIDBLOB.Ole_Object_Type='b'). Lempel-Ziv-Welch algorithm with the magic number, leading 2 bytes, removed. The third byte denotes the "bits per code" and is 12, i.e., x8C (9 is x89, 10 is x8A, etc) for Asset Suite / PassPort for all installations that I've seen.

Java code OleTypeBRead.java with a little modification will work. I should have written it with a parameter, I know, I know.
Following URL is a great reference for a Java implementation of the LZW algorithm for uncompressing. The code needs a little modification. Specifically remove the reading in and checking of the magic number (1st 2 bytes) in method parse_header.

http://www.unidata.ucar.edu/support/help/MailArchives/netcdf/msg03482.html


Another method of uncompressing the data after it has been read out of TIDBLOB and written to a file is to a) use a hex editor like UltraEdit (Edit, Hex Functions, Hex Insert) and add 2 bytes with the values of 0x1F and 0x9D to the beginning of the file, b) use Unix uncompress. You might have to suffix the file name with ".Z". I've tried this on Solaris and Linux with success.

3. Uncompressed (TIDBLOB.Ole_Object_Type='B').

Java code attached: OleTypeBRead.java, OleTypeBWrite.java

4. Package (TIDBLOB.Ole_Object_type='b' and TIDOBLOK.Ole_Object_Class='Package'). Used for linked OLEs.

When working with OLE's it's necessary to think in terms of a stream of bytes. An excellent source of information is the Apache project's Jakarta, component codec. The following URL is right into the heart of the matter.

http://svn.apache.org/viewvc/jakarta/commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Hex.java?revision=480406&view=markup




For PassPort to open the OLE, the OLE's TIDOBLOK.Ole_Object_Class must be an entry in the MS Windows registry on the PC accessing PassPort via Portal/J. Access the registry via the Windows command prompt (DOS prompt) and the regedit command. Ole_Object_Class must exist under HKEY_CLASSES_ROOT. The entry must have a key of CLSID and there has to be a value in the Data identifying an existing application registered to MS Windows. "Word.Document" and "ExcelWorksheet" are pretty standard (Portal/J expects them to exist) and are a good place to start.

I'm not positive about this... before creating hex encoded data utilizing the Apache codec (aka Compression Decompression) and writing it into an EBCDIC database (DB2), the ASCII values have to be translated to EBCDIC. When reading from an EBCDIC database, the hex encoded data is changed to decimal by using the Apache codec decodeHex and then translated to ASCII.
811by webmaster
Be aware when using linked objects that logical drive names are saved as logical drive names and not Universal Naming Convention (UNC). What it means is that if user #1 has W mapped to \\server1\docs and links an OLE to W:\important.doc, user #2 with W mapped to \\server1\otherdir will not be able to access important.doc through the OLE.

Ventyx should create a preference driven option of saving linked OLEs by their UNC, unmapping logical drives if necessary.

Linked OLEs are usually Packages of type little b.
12by Anonymous
829by Robin Bailes
Reading TIDBLOB entries where OLE type is T.
Very informative posting at:

http://www.experts-exchange.com/Databases/Oracle/Product_Info/Q_20673467.html

00n/a
1. Within PassPort create a new Standard & Procedure. Use the following SQL to find the OLE ID:
select * from tidoblok
order by time_stamp desc

2. Use OleTypeBWrite to create a new TIDBLOB entry, for example an Excel Spreadsheet.

3. Create a new TIDOBLOK entry for the new S&P using SQL modeled on the following:

insert into tidoblok (
ole_object_id
,ole_object_len
,ole_object_class
,ole_object_owner
,ole_object_status
,last_updated_by
,last_updated_date
,time_stamp)
values (
'OLE ID used for OleTypeBWrite'
,0
,'Excel.Sheet'
,'PassPort ID'
,'U'
,'PassPort ID'
,'20060101'
,'2006-01-01-00.00.00.000000');

4. Update the S&P with the OLE ID used for OleTypeBWrite:
update tidspmst
set ole_object_id = 'OLEID used for OleTypeBWrite'
where ole_object_id = 'original OLE ID';

5. Clean up.
delete from tidblob where ole_object_id = 'original OLE ID';
delete from tidoblok where ole_object_id = 'original OLE ID';

6. Accessing and updating the S&P via PassPort saves the OLE back as Tidblob.Ole_Object_Type's = T & B.
Tidoblok.Ole_Object_Class does not change.
00n/a
Ole_Object_Id is a random number (as much as random numbers can reasonably be random). It can be populated with any 12 character string as long as it is unique.
00n/a
The tools around PassPort, the Duty Free, like Analyst Workbench.
Analyst WorkBench topics.
310by leoslovinit
Systems Administration Guide for PassPort ver 10, around page 2-107 describes tigaudit. Tigaudit writes before and after data into table TIDAUDIT on a panel level or at the I/O subroutine level, example: tigcnmst.csm for tracking Contract status changes.

Systems Administration panel X085 turns on and off the panel auditing. Adding a line of code to the I/O subroutine turns on I/O auditing via the panel's .ccp program accessing the I/O subroutine via tigcurs, for example, whatever subroutine is accessed in paragraph A000- or one of the other A###- paragraphs of the .ccp.

The TIDAUDIT table is similar to the OLE TIDBLOB table in that the before and after data is stored as hexidecimal. Make things a bit easier by redefining table TIDAUDIT so that column Audit_Data is of data type BLOB instead of LONG RAW. Oracle version 9 provides built in BLOB functionality. For example the below SQL can be used to look at entries. Note that UTL_RAW was introduced with Oracle 9. Be aware that this will return hexadecimal values and it's highly likely to screw up a GUI SQL tool like DBArtisan. If you're Oracle on Unix, run sqlplus in a shell and redirect standard output to a file.

select cursor_manager
,function_code
,passport
,panel_id_7
,time_stamp
,UTL_RAW.CAST_TO_VARCHAR2(audit_data)
from passport.tidaudit
where cursor_manager= 'TIGCNMST'
and function_code = 'UPDATE-B'
and time_stamp = '2006-01-09-17.03.31.456008'
;
00n/a
See forum MicroFocus COBOL, topic MicroFocus COBOL compiling with listing for changing dfcn to output compilation listing.

What copy libraries (Unix directories) are used for compiling via dfcn is determined by the PassPort region's dfconfig file's "INC_DIR= " entry. INC_DIR should be defined as a chain of directories starting with the development region's gencopy directory, then the copy directory, then the test region's gencopy directory, then the copy directory and so on through the baseline directories.

00n/a
Create a file (dd.sql) with the following SQL. Works for Oracle and DB2.
11by webmaster
Handy when database refreshes wipe out the test or development PassPort IDs.

insert into tidppopt values ('PPID8chr','999','A',' ',' ','99990',' ','LASTNAME','FIRSTNAME','I','LOCAL',' ',' ','Y',' ',' ','Y',' ','Y','Y','A',' ',' ',' ',' ',' ',' ','F',' ',current timestamp,'2006-01-30-00.00.00.000000') ;

insert into tidprefs values ('PWD-EXPIRE-DATE','U','PPID8chr',' ','20301231','PPID8chr','20060130','2006-01-30-00.00.00.000000') ;
Password expiration is set to 2030-12-31.
00n/a
How to use dftbunld and dftbld to move Oracle data between Oracle instances.
11by webmaster
PeopleSoft related forums
decodePC.sqr as written by David L. Price has been rewritten to decodePC.java and expanded. It's general purpose is decoding PeopleCode stored as BLOB. The PeopleSoft database is accessed via a JDBC connection therefore there is no need to use Application Designer to look at PeopleCode, Application Engine programs, SQL, and XSLT. decodePC.java can read Application Engine programs and Application Packages and output them to a text file so you can get on with solving business problems.

Example of compiling decodePC.java with Oracle JDBC on a Unix box from a command prompt in the directory where decodePC.java exists:

javac -classpath /directorypath/ojdbc14.jar ./decodePC.java

Example of running decodePC.class with Oracle JDBC on a Unix box from a command prompt in the directory where decodePC.class exists:

java -classpath .:/directorypath/ojdbc14.jar decodePC

Example of compiling decodePC.java with MySQL JDBC on a Unix box from a command prompt in the directory where decodePC.java exists:

/usr/local/src/jdk1.6.0/bin/javac -classpath /directorypath/jars/mysql-connector-java-5.0.4-bin.jar ./decodePC.java

Example of running decodePC.class with MySQL JDBC on a Unix box from a command prompt in the directory where decodePC.class exists:

/usr/local/src/jdk1.6.0/bin/java -classpath .:/directorypath/jars/mysql-connector-java-5.0.4-bin.jar decodePC
210by rsandoz
User saves Project in Application Designer using Tools, Copy Project, To File.

Within the saved .xml file <peoplecode_text> is XML text of the PeopleCode, but this is not what ends up in PSPCMPROG.PROGTXT. Note that this text has XML escape characters, e.g., double quote (ASCII hex 22) is represented as &quot;.

<peoplecode_blob> is very similar to what ends up in table PSPCMPROG column PROGTXT, but not exactly. For example, object references in <peoplecode_blob> refer to <lpPnt> <row> entries in the XML which will become references to entries in table PSPCMNAME.
00n/a
Following message appears when attempting to delete or rename the message: "Object is in use by the Publish / Subscribe system". Tools, Copy Project From File cannot update the message object.
1) Need to purge message data from PS region with DataMover script AppMsgPurgeAll.dms.
2) Need to uncheck the Done indicator in the Project's Upgrade tab if attempting to bring in project data again.
00n/a
Some of the slickest technology around allowing all of the business logic to exist in one place. OK, PeopleSoft can be absurdly hard to change, but the one little piece of logic to do what you want it to do is generally in one place.
12by Anonymous
When populating api messages that contain dates, it's not possible to use select *, instead in Application Designer use Meta-SQL %DateOut to convert dates to format CCYY-MM-DD.
00n/a
Create a new Effective Date Publish utility, EOP_PUBLISHE for PS ver 8.8, (it's an Application Engine process) so that full message is published when any data becomes effective, else PeopleSoft publishes a partial message and FI Connect is not designed to handle it.

EOP_PUBLISHE is a scheduled process viewable via PeopleTools > Process Scheduler > Process Monitor. EOP_PUBLISHE can be run one time via: (PS 8.8) Enterprise Components > Integration Definitions > Initiate Processes, Effective Date Publish. (PS 8.4) Define Integration Rules FDM > Request Processes > Effective Date Publish.

24by webmaster

http://sfs.doit.wisc.edu/support/

Entity Relationship Diagrams.

Helpful for those times when you need to know about PeopleSoft tables, but haven't been given database access.
00n/a
PeopleSoft (PS) carries a lot more information about a vendor than PP therefore it makes sense that it is the master application. PS's vendor maps to PP vendor and the PS vendor location maps to the PP vendor suffix. 1
00n/a
SendMaster utility is a basic tool for sending xml messages to a server:port:service and displaying the xml response.

Attached is a Java program that does the same thing as SendMaster.
12by webmaster
Java client program using SAAJ to build OASIS "WS-Security Core Specification 1.1" SOAPHeader to provide the Oracle PeopleSoft Integration Broker header with <IBInfo><From><ExternalUserName>
22by webmaster
This is related to api messages being published and subscribed to by the PeopleSoft Integration Broker.
24by Anonymous
Quirky things about batch processing
Bitmaps used by PassPort go in the Portal/J gifs directory at ../portalj/webdocs/gifs. Within this directory you'll find PASSPORT.BMP and PASSPORT.gif. The file names are case sensitive, including the file extension (BMP and gif). Update these 2 files for an universal change.

To put an unique bitmap on the Purchase Orders, place the bitmap in the gifs directory. In Analyst Workbench open the .syr file, find the cross hatched field and open it. It should be TIG00544 BITMAP. Change the Bitmap value to an exact match of what's in the gif directory.
17by Anonymous
Topics concerning interfacing with Microsoft Project
11by webmaster
ppjobvars' SLIBDIR entry chains through the development region's slib directory, then the mslib directory for migration scripts, then the test region's slib directory and so on through the baseline directory.

PP batch parameter files ppjobvars' BTCHPRM defines one specific region's batch parameter files directory. Enclose it in double quotes without using shell variables. BTCHPRM cannot be defined as a chain of directories because more directories are later tagged on.
13by Anonymous
Most scripts invoke the korn shell on the very first line. Change this to: #!/bin/ksh -xv from: #!/bin/ksh. Standard output will be echoed.
00n/a
Using dynamic Oracle SQL in a csm program.
11by webmaster
Quirky things about the online environment
In general all online accounting validation is done via calls to tigckacp.csm. CKACP in turn calls CKACT and CKACT can call PSSEG.
11by webmaster
Error occured during handshake 501 Metho com.iint.pjbasic.util.ICGenException: Error during handshake 501 Metho at com.iint.pj.ui.core.TCPPPConnection.hostHandShake2(TCPPPConnection.java:453) ...
11by webmaster
Fix D951 Run Number. Logic needs a valid "seed number" in table TIDJEBJB.

update passport.tidjebjb set je_batch_run_nbr = '00000001' where time_stamp = (select max(time_stamp) from passport.tidjebjb)
00n/a
For PassPort versions 8.x and 9.x, set maxtrans=1 in the development region. This will insure that the latest compilation is what executes.

Within $PPDIR/region.INI, add line "maxtrans=1". The listener run s one transaction in a process, getting a fresh connection and clean up of resources (including cached executables by the operating system) for each transaction. In PassPort ver 8.x and 9.x 0, up to 99 transactions can run through the same process with the same Oracle connection in order to improve performance by re-using the database connection and system resources. In PassPort ver 10.x maxtrans became obsolete.
12by webmaster
ICGenException Type: -2 Might be seen when attempting print or transfer data from a query. Example: N300 Contract field prompt navigates to N30A. Fill in block 1 filter fields that select a lot of data. Click File, Results of Query..., and Export displayed data to a Target File. At one client site the export of data failed when more than approximately 5.5 MB of data was attempted.
11by webmaster
Portal/J Handshake Error
Handshake Failed. Connection Reset- ICGenException Type: -8

Occurs when Portal/J user has the region taken out from under them.
11by webmaster
Usually this is seen in a Portal/J Fatal Exception panel. A Java failure might also show "IOException [Connection reset]". "Connection reset" is trying to tell you that Portal/J lost its connection to the application server. Most likely Portal/J was fine and this is a down stream symptom. Look in the region's abend log for information about what first caused a problem. On Unix boxes the region abend log is on the application server in ../REGION/res/ABND.tdq. Frequently this problem is caused by Asset Suite thinking a concurrent update has occurred, i.e., when a SQL update is executed, the TIME_STAMP has changed due to a previous update.
00n/a
Not good. These are a bugger to resolve.
16by webmaster
The directory chain that PP searches through to find online load modules is defined in the REGION.INI file. The [region] entry's COBPATH defines the chain of bin directories. This chain of directories is overridden for Animation to include the libint directory (once), and the following directories for each region: dbin, bin, int. DBINDIR and COBPATH are defined identically.
00n/a
I020 panel hangs when user inputs Facility, Warehouse, and open PO without Receipts.
13by webmaster
Miscellaneous topics about the online environment.
713by webmaster
Most likely is the application server not being available.
00n/a
3rd party interface to Asset Suite via Integration Framework Business Objects (IFBO) receives message ICGenException Type: -4 when application server is not available.
00n/a
Posting "Picklist and Packing Guide print together" describes how multiple selections on panel IA61 submit individual batch jobs to print the Picklist and Packing Guides together. A problem came up when a user selected 8 Picklists and Packing Guides to print, but the first 6 printed only some header information and no data. The thinking is that this is caused by the batch job executing before online panel IA61 has committed data to the database. A possible solution is to add a sleep to tigsia61.scr. Notice that baseline scripts tigsia63.scr, tigsia81.scr, and tigsia91.scr contain Unix shell sleep commands. Cannot find Ventyx documentation describing why it exists.
11by webmaster
Electronic Records Management Systems
SharePoint
00n/a
Curator
12by Anonymous
Everything to do with IBM COBOL (looking for input)
Stuff about the Inventory product.
July 2008
Panels D200 and D204 sporatically (unable to determine pattern) display message about duplicate key and highlight in red the panel key fields.
Seen in Asset Suite ver 6.0.
Cause unknown. Suspect architecture program tigcurs is incorrectly setting special return codes.

Has anyone else seen this behaviour?
tigd200.ccp (similar in tigd204.ccp, tigd209.ccp) paragraph 6100-CURSOR-ERRORS contains statement: MOVE RETCODE-CAFAC-V (LINE-SUB) TO RETCODE.
RETCODE-CAFAC-V is defined in copy tvccafac.
Unix searches through baseline source code seem to indicate that values are determined within an architecture program.
baseline/as60/source/csm> find . -type f -print | xargs egrep "RETCODE-CAFAC-V|SYSTEM-RSVD-CAFAC-V" Returns nothing.
baseline/as60/source/ccp> find . -type f -print | xargs egrep "RETCODE-CAFAC-V|SYSTEM-RSVD-CAFAC-V" ./tigd200.ccp: MOVE RETCODE-CAFAC-V (LINE-SUB) TO RETCODE

Another thought:
im_specs_b047.pdf, 1-D200-8 has a desciption of keywords in the D200 Unique Description. Might "keywords" be used to determine uniqueness and "keywords" messing up with "/", ".", ",", etc? Keyword search works by entering a Category, up to 5 words in Unique Description, and F10.
00n/a
Material Requests
22by webmaster
33by webmaster
Selection of multiple rows on IA61 can result in jumbled prints of Pick Lists and Packing Guides. Here's how to insure the Pick List and Packing Guide will print together. Unix specific.
11by webmaster
E-commerce product running on WebMethods. Formerly known as IndusBuyDemand or IBD.
Based on Ventyx putting much of the logic in Java and Ventyx jar files as opposed to using WebMethods, er... methods, IBD appears to have been intended to run with multiple integration products; WebMethods, WebLogic, etc. When customizing, it's understandable if the developer wants to use straight WebMethods for maintaining the pipe and limiting the Java to interfaces with PassPort / Asset Suite.

In general the interfacing between PassPort / Asset Suite and BD is "throw it over the wall". By this it's meant that PP/AS will finish its work, by for example writing a Purchase Order in "Indus XML" to table TIDPPXML, commit it to the database and its done with it. BuyDemand periodically looks for, or "polls", Purchase Orders in TIDPPXML, reads them out and deletes them from TIDPPXML.

In a similar manner, BD processes a shopping cart by writing it to TIDCATMP and committing it to the database. The closing of the child web browser running BD, which was initially launched on the I010 panel and invoked BD running on WebMethods, returns control to program tigi010.ccp which recognizes that a return from a URL has occurred (don't know if more than 1 URL icon on a panel would work), does some checking and calls tigmrbak.csm. Tigmrbak.csm processes the shopping cart off of TIDCATMP and into the current Material Request.
11by webmaster
Miscellaneous topics about working with BuyDemand.
810by webmaster
Working with BuyDemand and WebMethods
34by webmaster
Tried many approaches to doing a HTTP POST from a Java 1.4.2 program. Resolved problems of data size, WebMethods URL needing ?$xmldata=, no carriage controls, no line feeds, etc., but could not work around the ampersand. An ampersand within the data continually resulted in Http response code 403. Tried &amp; and &amp;amp;.

Resolved by using WebMethods Integration Server service to do:

pub.file:getFile
pub.string:bytesToString
custom.custom:inboundFlow (XML data in $xmldata)
00n/a
How you learn about a problem can be a large determinate of the time it'll take to solve it.
26by Anonymous
Red herring and the delicacies of problem solving
11by webmaster
A few difficult problems... 1. Searching via the Toolbar binocular icons. Animating the *c.csm search routine shows scrambled CURSOR-ARG-* values. Indicates a possible configuration problem involving National Language Support or possibly an architecture problem.
One thing to check is that the panel's Query Set matches the search routine's SEARCH-ARG-ORG and SEARCH-ARG-END definitions. The panel Query Set is an ordered combination of all fields used in search definitions and can be seen by opening the panel in Analyst Work Bench then click Keys, Query Set. A box labelled Define Query will appear, but what you're interested in are the fields that highlight. From panel top left to bottom right each highlighted field is an ordered member of the Query Set. When the user clicks the Toolbar binoculars the architecture passes the Query Set to tigfind and on to the search routine (*sc.csm).
2. Prompting. Problems prompting simple codes and prompts that bring up prompt panels might be an indication of a configuration problem involving NLS.

3. Online submission of batch jobs. Symptoms of architecture problem: a) no output or only in /tmp, i.e., "root tmp", b) online submission doesn't work from any launch panel; examples: IA61, I080, MA32, c) online submission works when online is hooked to an Animator session (File, Preferences, Diagnostics, Animator Settings, Port Number).

When doing an upgrade a "Ventyx baseline" region must exist, i.e., baseline code with Ventyx delivered data. In this way you can step the Ventyx Help Desk through problems so that they are quickly able to duplicate it.
11by webmaster
Action Awareness Alert, AAA, topics
13by Anonymous
22by passport_user_87158
Allow online users to create skeleton SQL, do variable substitution, SQL submission, and log tracking.
00n/a
33by prodx recruiting