Tuesday, May 13, 2008

PSRECFIELDALL

The table stores all the fields that are part of a record. A subrecord is decomposed into its fields and show up as fields rather than subrecord.

The PSRECFIELD table contains the subrecord as added to a record without decomposing it into fields.

USEEDIT in RECFIELD

The value is really a sum of certain values based on the edits checked by the user when the record field is created:

The values added up based on how the record field is configured are:


Value
== ================
1 Key
2 Duplicate Order Key
4 System Maintained
8 Audit Field Add
16 Alternate Search Key
32 List Box Item
64 Descending Key
128 Audit Field Change
256 Required
512 Translate Table Edit
1024 Audit Field Delete
2048 Search Key
4096 Reasonable Date
8192 Yes/No Table Edit
16384 Prompt Table Edit
32768 Auto-Update
65536 Identifies field as Field in SubRecord
131072 (Reserved / Not Used)
262144 From Search Field
524288 Through Search Field

Sunday, May 11, 2008

National ID Validation

With all national ids being stored on the PERS_NID table in one field NATIONAL_ID, the format checking is performed on the field DERIVED_HD.NID_SPECIAL_CHAR by calling the function Check_NID. This in turns calls addition function based on which contry has been selected by the used.

For Canada, CheckNID_CAN is called and for US . Both are functions on FUNCLIB_HR.NATIONAL_ID ( Field Formula )

Sunday, April 27, 2008

Running Application Engine Programmes

1. Thru Peoplecode on one of the events
1. Synchronously using CallAppEngine.
Commits in the AE program are ignored.


2. Async/thru process scheduler : Using CreateProcessRequest.

Since the AE runs in its own session, commits in the AE are fired.

2. Thru Process Scheduler:
1. Submitting a request using a specials page created for the purpose.
2. Using the AE request Page. ( Used only for testing. ) However, you can indicate the MARKET. Helpful if you have a single application engine with sections catering to different markets.

3. In 2 Tier thru Application Designer. ( Cannot set values for staterecords. )

4. Command line:
1. When developing and testing.
2. For restarting.
3. Debugging

%ReturnCode

Return code of last AE step performed.
value is 0 for successful operation.

%Execute

Used to execute multiple statements in an sql action in Application engine.

for e.g.

%execute(/)
INSERT INTO mytbl1 values (1,2,3);
INSERT INTO mytbl1 values (1,2,4);
/

In above example, the separator is changed to "/" for the default separator of ";" in peoplecode.

How can values be passed between a Page and a AE called thru Application engine

While a state record can be initialized with values before calling the application engine program, the parameters passed by value and not reference.

This means that values of the state record set in the AE will not be available to the calling peoplecode on the page..
Use global variables instead.