The most comprehensive Oracle applications & technology content under one roof The most comprehensive Oracle applications & technology content under one roof
Include Work Centre Error Messages in Logs When Impor9ng
Transac9ons Via "Z" Tables Peter Bruce
University of Wollongong
The most comprehensive Oracle applications & technology content under one roof
The University of Wollongong (UOW) aims to enrich people, communities and the environment, both locally and globally, by making original and creative connections.
• Research
• Innovation
UOW holds an international reputation for excellence as result of an uncompromising striving for excellence in all that we do:
• Teaching
• Development
The most comprehensive Oracle applications & technology content under one roof
UOW continually performs well in rankings:
• The 2011 Good Universities Guide marks the 11th year UOW has achieved the maximum five stars in the categories of Getting a Job and Positive Graduate Outcomes.
• For the fourth year in a row, UOW is ranked in the Top 2% of universi;es in the world by its performance in the 2010 Shanghai Jiao Tong Academic Ranking of World Universi;es.
The most comprehensive Oracle applications & technology content under one roof
History With JDE • 1996 – First went live with World on AS400 plaPorm • August 1999 – Moved to OneWorld (732.2) • June 2000 – upgraded to 733.2 • November 2002 – Upgraded to Xe (7333) (SP 19.1 UPDATE 6) • October 2006 – Upgraded to E8.11 sp1 Tools 8.96_C1 • November 2008 – Upgraded to Tools 8.97.2.1 • 2012 – Planned Upgrade to E9.1 Tools 8.98
The most comprehensive Oracle applications & technology content under one roof
Why Are You Here? Why did you come to this presenta;on?
It is inconvenient and ;me consuming going through mul;ple Work Centre levels to find the “real” error message telling you what is actually wrong.
The informa;on required to locate and fix the problem can be spread out over mul;ple levels in the Work Centre.
The most comprehensive Oracle applications & technology content under one roof
Include Work Centre Error Messages in Logs When Impor;ng Transac;ons Via "Z" Tables
Go from this: To this:
The most comprehensive Oracle applications & technology content under one roof
So, What’s In The Box?
What are the types of errors and what reference informa9on do Work Centre messages provide?
The most comprehensive Oracle applications & technology content under one roof
Import Errors – the informa9on they provide
Example 0069 -‐ Pos9ng Edit Code Does Not Allow Entry CAUSE: The pos;ng edit code does not allow transac;ons to be posted to this account. RESOLUTION: Blank -‐ all pos;ngs are allowed. 'N' -‐ the Account or Business Unit does not allow pos;ng. 'B' -‐ only budgets may be entered for an account. 'S' or 'L' -‐ a subledger and type must be entered for all transac;ons. 'X' -‐ a subledger and type are not allowed for any transac;ons. 'I' -‐ the account is inac;ve, pos;ng is not allowed. 'K' -‐ the final budget is “Locked” or frozen and budget changes must be entered using journal entries. 'U' -‐ units are required for all transac;ons. 'M' -‐ only machine generated transac;ons are allowed for this account. The pos;ng edit code is defined for business units in the Business Unit Master file (F0006) using Single Business Unit Revisions or Job Master Setup. The pos;ng edit is defined for accounts in the Account Master file (F0901) using G/L Account Structure programs and Job Cost Basic/Speed Budget Setup.
Generally only the “boqom” error provides the detail required to fix the problem.
The most comprehensive Oracle applications & technology content under one roof
Import Errors – the informa9on they provide
Subs;tu;on values, denoted by “&n” provide values to trace the problem lines in the ‘Z’ table(s) and can make it easier to find the line(s) in ques;on. But the lines need to s;ll be in the ‘Z’ table(s). The “&n” values are completed at run;me.
Example: LM0006 -‐ &1 &2 &3 &4 Line Item In Error. Cause. . . . . Voucher line item &1 &2 &3 &4 contains errors. Resolu9on . Review the detail errors for voucher line item &1 &2 &3 &4 .
&1 = EDI User (EDUS) &2 = EDI Batch (EDBT) &3 = EDI Transac;on (EDTN) &4 = EDI Line Number (EDLN)
In most ‘Z’ tables EDUS, EDBT, EDTN and EDLN are the table keys
The most comprehensive Oracle applications & technology content under one roof
How Work Centre Errors are stored
From: Oracle Document ID 626538.1 – Frequently Asked Ques;ons on Work Centre Messages
The message data is in the following tables with the records having the same SERK.
SERK – Key Value Serial Number: Used internally to iden;fy a messages.
• F01131 Message Control Table • F01133 Message Detail Table • F01131T Message Aqachment Tag File • F01131M JDEM Mul; Level Message
The most comprehensive Oracle applications & technology content under one roof
From: Oracle Document ID 626538.1 – Frequently Asked Ques;ons on Work Centre Messages – con;nued
How Work Centre Errors are stored
Mul;level messages have a parent/child type of rela;onship.
Stored in the F01131M Mul; Level Message Table. The first F01131M record that is wriqen will have a parent PSRK value the same as SERK in the parent F01131 record. That same F01131M record has an addi;onal SERK number. This second SERK number is the "child" and points to the next F01131M parent PSRK. It is this recursive rela;onship that makes it possible to have one F01131 record and many F01131M records.
The most comprehensive Oracle applications & technology content under one roof
How Work Centre Errors are stored From: Oracle Document ID 626538.1 – Frequently Asked Ques;ons on Work Centre
Messages – con;nued For example: A UBE has an error and it creates a F01131 record with the number 100 as its SERK number.
Table F01131 (Column Prefix: ZZ) Level 1: Record 1 = ZZSERK 100
Table F01131M (Column Prefix: ZM) Level 2: Record 1 = Parent ZMPSRK 100 (Child) ZMSERK 200 Level 3: Record 2 = Parent ZMPSRK 200 (Child) ZMSERK 300 Level 4: Record 3 = Parent ZMPSRK 300 (Child) ZMSERK 400 Level 5: Record 4 = Parent ZMPSRK 400 (Child) ZMSERK 500
The most comprehensive Oracle applications & technology content under one roof
How Work Centre Errors are stored In addi;on there is a PPSRK column in the F01131M for the top level parent. This column contains either the Level 1 or the Level 2 SERK. Obviously the PPSRK for Level 2 will be the SERK from Level 1. For example: Table F01131 (Column Prefix: ZZ) Level 1: Record 1 = ZZSERK 100
Table F01131M (Column Prefix: ZM) Level 2: Record 1 = Top Parent ZMPPSRK 100 Parent ZMPSRK 100
(Child) ZMSERK 200 Level 3: Record 2 = Top Parent ZMPPSRK 100 (or 200 ) Parent ZMPSRK
200 (Child) ZMSERK 300 Level 4: Record 3 = Top Parent ZMPPSRK 100 (or 200 ) Parent ZMPSRK
300 (Child) ZMSERK 400 Level 5: Record 4 = Top Parent ZMPPSRK 100 (or 200 ) Parent ZMPSRK
400 (Child) ZMSERK 500
The most comprehensive Oracle applications & technology content under one roof
How Work Centre Errors are stored General use of levels:
Level 1 – Message Template LM0022 – Provides UBE and Version Level 2 – Message Template LM0012 – Provides EDI Batch Number Level 3 – Message Template varies – Provides EDI User, EDI Batch Number
and EDI Transaction Number Level 4 – Message Template varies – Provides EDI User, EDI Batch Number,
EDI Transaction Number and EDI Line Number
Level 5 – Message Template varies – Provides Error information
The most comprehensive Oracle applications & technology content under one roof
F01131 – PPAT Message Control File F01131M – JDEM Mul; Level Message F01131T – Message Aqachment Tag File F01133 – PPAT Message Detail File
Tables For Work Centre Messages:
F01131 – PPAT Message Control File F01131M – JDEM Mul9 Level Message F01131T – Message Aqachment Tag File F01133 – PPAT Message Detail File
Tables we will use:
How Work Centre Errors are stored In summary:
Work Centre messages are held in a number of different tables in parent-‐child format.
They use a serial number to reference and associate with child/parent messages.
The informa;on required to fix errors is oxen held in the “boqom” level, but other levels contain detail poin;ng to the loca;on of the error.
The most comprehensive Oracle applications & technology content under one roof
LM0012 -‐ &1 &2 Batch In Error. Cause. . . . . Batch &1 &2 contains errors. Resolu;on . Review the detail errors for batch &1 &2 .
&1 = EDI Batch
How to retrieve errors Two Steps: Step 1: Look up the F01131 joined to the F01131M to retrieve the message serial numbers for levels 1 and 2:
Join: F01131M.ZMPSRK = F01131.ZZSERK F01131.ZZMBDS = ‘01’ (‘Personal In Basket’ mailbox) F01131.ZZSTSM <> ‘B’ (marked for dele;on) F01131.ZZDTI = Tickler Date – Run Date F01131.ZZTMPI = LM0022 (Message Template – Data Dic;onary Error Messages) F01131.ZZTSV = UBE|Version|0|
F01131M.ZMLV = 2 F01131M.ZMTSV = EDI Batch Number (from ‘Z’ Table.??EDBT, Lex jus;fied and padded with spaces to 15 characters)
F01131M.ZMTMPI = LM0012 (Message Template – Data Dic;onary Error Messages)
LM0022 -‐ Job &1 &2 Completed With Errors Job Completed with Errors
&1 = UBE &2 = UBE Version
The most comprehensive Oracle applications & technology content under one roof
How to retrieve errors Using the first (F01131.ZZSERK) and second level (F01131M.ZZSERK) serial numbers retrieved above, look up the F01131M to find the rest.
F01131M.ZMPPSRK = (first or second level message serial number) Order the returned data by serial number to get the “cascading” levels (parent – child – parent – child).
Step 2:
The most comprehensive Oracle applications & technology content under one roof
Addi9onal Informa9on for the log Set the EDI Batch processing so that it does NOT delete processed rows from the ‘Z’ table(s). You’ll need these rows for addi;onal informa;on.
• Batch number(s) and type(s) • Document number(s) and type(s) • Line number(s)
Using the EDI values from certain error messages in the F01131M, look up the lines in the ‘Z’ table(s) to retrieve:
The most comprehensive Oracle applications & technology content under one roof
Reference Informa9on in Messages Page 1
LM0002 &1 &2 &3 Voucher In Error. Cause. . . . . Voucher &1 &2 &3 contains errors. Resolu;on . Review the detail errors for voucher &1 &2 &3 . &1 = EDI User &2 = EDI Batch &3 = EDI Transac;on
LM0006 &1 &2 &3 &4 Line Item In Error. Cause. . . . . Voucher line item &1 &2 &3 &4 contains errors. Resolu;on . Review the detail errors for voucher line item &1 &2 &3 &4 . &1 = EDI User &2 = EDI Batch &3 = EDI Transac;on &3 = EDI Line
LM0007 &1 &2 &3 Voucher JE In Error. Cause. . . . . Voucher journal entry &1 &2 &3 contains errors. Resolu;on . Review the detail errors for voucher journal entry &1 &2 &3 . &1 = EDI User &2 = EDI Batch &3 = EDI Transac;on
LM0008 &1 &2 &3 &4 Voucher JE Line In Error Cause. . . . . Voucher journal entry line item &1 &2 &3 &4 contains errors. Resolu;on . Review the detail errors for voucher journal entry line &1 &2 &3 &4 &1 = EDI User &2 = EDI Batch &3 = EDI Transac;on &4 = EDI Line
The most comprehensive Oracle applications & technology content under one roof
Reference Informa9on in Messages Page 2
LM0009 &1 &2 &3 Journal Entry In Error. Cause. . . . . Journal entry &1 &2 &3 contains errors. Resolu;on . Review the detail errors for journal entry &1 &2 &3 . &1 = EDI User &2 = EDI Batch &3 = EDI Transac;on
LM0010 &1 &2 &3 &4 JE Line Item In Error. Cause. . . . . Journal entry line item &1 &2 &3 &4 contains errors. Resolu;on . Review the detail errors for journal entry line item &1 &2 &3 &4 . &1 = EDI User &2 = EDI Batch &3 = EDI Transac;on &4 = EDI Line
LM0012 &1 &2 Batch In Error. Cause. . . . . Batch &1 &2 contains errors. Resolu;on . Review the detail errors for batch &1 &2 . &1 = EDI Batch &2 = undefined/null
LM0022 Job &1 &2 Completed With Errors Job Completed with Errors &1 = UBE &2 = UBE Version
The most comprehensive Oracle applications & technology content under one roof
Reference Informa9on in Messages Page 3
LM0026 &1 &2 &3 Invoice In Error. Cause. . . . . Invoices &1 &2 &3 contains errors. Resolu;on . Review the detail errors for invoices &1 &2 &3 . &1 = EDI User &2 = EDI Batch &3 = EDI Transac;on
LM0028 &1 &2 &3 Invoice JE In Error. Cause. . . . . Invoice journal entry &1 &2 &3 contains errors. Resolu;on . Review the detail errors for invoice journal entry &1 &2 &3 . &1 = EDI User &2 = EDI Batch &3 = EDI Transac;on
The most comprehensive Oracle applications & technology content under one roof
Reference Informa9on in Messages Page 4
LM0011 * Invoice &1 &2 &3 &4 &5 In Error. Cause. . . . . Invoice line item &1 &2 &3 &4 &5 contains errors. Resolu;on . Review the detail errors for invoice line item &1 &2 &3 &4 &5 . &1 = EDI User &2 = EDI Batch &3 = EDI Transac;on &4 = EDI Line &5 = ????
LM0029 * &1 &2 &3 &4 Invoice JE Line in Error Cause. . . . . Invoice journal entry line item &1 &2 &3 &4 contains errors. Resolu;on . Review the detail errors for invoice journal entry line &1 &2 &3 &4 &1 = EDI User &2 = EDI Batch &3 = EDI Transac;on &4 = EDI Line
* Assump;ons. No examples on which to base subs;tu;on values
The most comprehensive Oracle applications & technology content under one roof
Addi;onal Message Informa;on From Data Dic;onary Tables
Fetch the Un-‐subs9tuted Data Dic9onary Message header F9203.FetchSingle [Index: Data Item Alpha Descrip;ons] Template ID [TMPI] = TK Data Item Blank [LNGP] = TK Language Blank [SYR] = TK Product Code/Repor;ng Text Variable [DSCA] <-‐ TK Alpha Descrip;on Blank [SCRN] = TK Screen/Report Name
The most comprehensive Oracle applications & technology content under one roof
Addi;onal Message Informa;on From Data Dic;onary Tables
Fetch the Un-‐subs9tuted Data Dic9onary Message detail Media Objects(GT92002, <Get Text>, Large Text Variable [ISTDATA2], Template ID [TMPI], Blank [LNGP], Blank [SYR], Blank [SCRN])
The most comprehensive Oracle applications & technology content under one roof
Addi;onal Message Informa;on From Data Dic;onary Tables
Determine Error or Warning F9200.FetchSingle [Index: Data Item Name] Template ID [TMPI] = TK Data Item Glossary Group Variable [GG] <-‐ TK Glossary Group If Glossary Group Variable [GG] = 'E‘ F9207.FetchSingle [Index: Data Item Name] Template ID [TMPI] = TK Data Item Character Variable [ERLV] <-‐ TK Error Level UDC 98/EL
1 Error Message 2 Warning Message 3 Informa;ve Message
The most comprehensive Oracle applications & technology content under one roof
The Process
Master/Driver UBE
‘Z’ Table(s)
Load ‘Z’ Table(s) (Driver UBE Sec;on or separate UBE)
Work Centre Tables
EDI Batch Processor (separate Custom or
Standard UBE)
Report/Email
Comple;on (Driver UBE Sec;on or separate UBE)
Sec;on on WC Tables
The most comprehensive Oracle applications & technology content under one roof
The Process – Load ‘Z’ Table(s)
Store/keep the date and ;me that the process started and all EDI details as these will be required to access work centre message serial numbers or data from ‘Z’ tables:
Load ‘Z’ Table(s) (Driver UBE Sec;on or separate UBE)
The EDI Batch will be needed to search for any Work Centre messages and errors.
Both EDI User and EDI Batch will be required to retrieve processed data informa;on like AP Voucher and/or AR Invoice and/or GL Journal batch numbers and types.
where required Edit/scrub/check data, wri;ng informa;on to log, before inser;on into ‘Z’ table(s).
The most comprehensive Oracle applications & technology content under one roof
The Process – Calling The EDI Batch Processor
Take note of the UBE and version used to process EDI batches as these will be used to retrieve any Work Centre error messages. Call EDI batch processor (eg. R09110Z Version ZJDE00001) If required write log entries.
Master/Driver UBE
The most comprehensive Oracle applications & technology content under one roof
Check for and retrieve any Work Centre error messages. Write log. Collect ‘Z’ table informa;on for processed rows.
The Process – Comple9on Comple;on (Driver UBE Sec;on or separate UBE)
Sec;on on WC Tables
The most comprehensive Oracle applications & technology content under one roof
Check for and retrieve any Work Centre error messages. Sec9on on V550113M (UOW -‐ F01131M All Columns)
Sec9on Init ER V5501131.Select ‘01’ [MBDS] = TK Mail Box Designator (F01131) Run Date [DTI] = TK Date - Tickler (F01131) Run Time [UPMT] <= TK Time - Last Updated (F01131) SL UserID = TK User ID (F01131) ‘B’ <> TK Status - Electronic Mail Message (F01131) ‘LM0022’ [TMPI] = TK Template ID (F01131) ‘1’ [LV] = TK Level of Indention (F01131) UBE|Version|0| [TSV] = TK Template Substitution Values (F01131) ‘2’ [LV] = TK Level of Indention (F01131M) User Address Book Number [AN8] = TK Address Number (F01131M) EDI Batch Number* [TSV] = TK Template Substitution Values (F01131M) ‘LM0012’ [TMPI] = TK Template ID (F01131M)
* Lej jus9fied and padded with spaces to 15 characters
The Process – Comple9on Comple;on (Driver UBE Sec;on or separate UBE)
Sec;on on WC Tables
The most comprehensive Oracle applications & technology content under one roof
The Process – Comple9on
Sec9on on V550113M (UOW -‐ F01131M All Columns) Sec9on Init ER (Con9nued) V5501131.FetchNext Level 1 serial Number [SERK] <- TK Key Value Serial Number (F01131) Level 2 serial Number [SERK] <- TK Key Value Serial Number (F01131M)
Comple;on (Driver UBE Sec;on or separate UBE)
Sec;on on WC Tables
The most comprehensive Oracle applications & technology content under one roof
The Process – Comple9on Business View: V5501131 (Custom - F01131/F01131M)
Tables: F01131 - PPAT Message Control File F01131M - JDEM Multi Level Message Joined: F01131.SERK Simple(==) = F01131M.PSRK
ALIAS DESCRIPTION TYPE SIZE TABLE SERK Key Value Serial Number Math Numeric 15(0) F01131(0) Primary Index PSRK Key Value Serial Number Math Numeric 15(0) F01131M(0) SERK Key Value Serial Number Math Numeric 15(0) F01131M(0) MBDS Mail Box Designator String 2(0) F01131(0) DTI Date - Tickler Date 6(0) F01131(0) UPMJ Date - Updated Date 6(0) F01131(0) UPMT Time - Last Updated Math Numeric 6(0) F01131(0) JOBN Work Station ID String 10(0) F01131(0) MSGP PPAT - Brief Message String 40(0) F01131(0) USER User ID String 10(0) F01131(0) STSM Status - Electronic Mail Message Char 1(0) F01131(0) TMPI Template ID String 10(0) F01131(0) LV Level of Indention Math Numeric 5(0) F01131(0) TSV Template Substitution Values VarString 1024(0) F01131(0) MSGP PPAT - Brief Message String 40(0) F01131M(0) DTI Date - Tickler Date 6(0) F01131M(0) LV Level of Indention Math Numeric 5(0) F01131M(0) AN8 Address Number Math Numeric 8(0) F01131M(0) TSV Template Substitution Values VarString 1024(0) F01131M(0) TMPI Template ID String 10(0) F01131M(0) PPSRK ParentKeyValueSerialNumberA Math Numeric 15(0) F01131M(0)
Comple;on (Driver UBE Sec;on or separate UBE)
Sec;on on WC Tables
The most comprehensive Oracle applications & technology content under one roof
The Process – Comple9on Business View: V550113M (Custom - F01131M All Columns)
Tables: F01131M - JDEM Multi Level Message
ALIAS DESCRIPTION TYPE SIZE TABLE PSRK Key Value Serial Number Math Numeric 15(0) F01131M(0) Primary Index SERK Key Value Serial Number Math Numeric 15(0) F01131M(0) Primary Index MSGP PPAT - Brief Message String 40(0) F01131M(0) DTI Date - Tickler Date 6(0) F01131M(0) LV Level of Indention Math Numeric 5(0) F01131M(0) AN8 Address Number Math Numeric 8(0) F01131M(0) PA8 Address Number - Parent Math Numeric 8(0) F01131M(0) TSV Template Substitution Values VarString 1024(0) F01131M(0) TMPI Template ID String 10(0) F01131M(0) FRMI Form ID - EnterpriseOne ID 11(0) F01131M(0) EAP Application ID String 10(0) F01131M(0) VERS Version History String 10(0) F01131M(0) FCTNM Name - Function String 32(0) F01131M(0) LNBR Source Line Number String 7(0) F01131M(0) FMNM Form Name String 10(0) F01131M(0) PPSRK ParentKeyValueSerialNumberA Math Numeric 15(0) F01131M(0)
Comple;on (Driver UBE Sec;on or separate UBE)
Sec;on on WC Tables
The most comprehensive Oracle applications & technology content under one roof
Standard Business Functions Used: F01131GetBriefMessage(B0200040)
This returns the message heading Note: This only returns 40 characters so you may have to
substitute the values yourself. ErrorMsgTextSubstitution(B0125031)
This returns the message detail
Custom Business Function Used: ParseTextToLine(N55PRSTX)
This breaks up text to a maximum predefined line length.
The Process – Comple9on
Retrieve addi9onal informa9on from ‘Z’ table(s) (eg. batch numbers etc.). This can be for either or both general informa;on to be sent to user(s) and for logging purposes. Write log entries
Comple;on (Driver UBE Sec;on or separate UBE)
Sec;on on WC Tables
The most comprehensive Oracle applications & technology content under one roof
The Process – Email Select UDC 57/IE to retrieve email address or address book number. If address book number look up email address using custom NER (N57EMAIL). Email log and/or other information using standard business functions or using the host O/S via the ExecuteExternalProgram standard business function.
Report/Email
The most comprehensive Oracle applications & technology content under one roof
The Process – Email UDC 57/IE – Interface Email Addresses System Code (DRSY): 57 Code Type (DRRT): IE - Interface Email Addresses Code (DRKY): REQUIRED Idiot number just needs to be unique. Description 1 (DRDL01): REQUIRED An Identifier that identifies the interface and purpose. This would normally be the UBE name that uses the email address. The UBE name could have a suffix added after a "/" that could identify the use, if emails are use for multiple purposes by the one UBE. For example "R5543E03/TO" for to addresses and "R5543E03/CC" for cc addresses. Description 2 (DRDL02): REQUIRED The actual email address or the Address Book Number to look up. Special Handling Code (DRSPHD): REQUIRED EMAIL or ABNO. If the value is ABNO description 2 holds an address book number. If the value is not ABNO description 2 holds the actual email.
Report/Email
The most comprehensive Oracle applications & technology content under one roof
The Process – Email Custom Business Function Used: PrimaryEmailForAddress(N57EMAIL)
This returns the email address for a given address book number
Report/Email
The following methodology used: a) F0111.WWREM1 (Remark 1) where WWIDLN (Who's Who Line) = 0
b) F01151.EAEMAL (Email Address) where EAIDLN (Who's Who Line) = 0 and EAETP (Email Type) = ‘E’ – If there is more than one entry returned, us the one with the lowest EARCK7 (Line Number) value.
c) F0111.WWREM1 (Remark 1) where WWIDLN (Who's Who Line) = 1
d) F01151.EAEMAL (Email Address) where EAIDLN (Who's Who Line) = 1 and EAETP = (Email Type) ‘E’ – If there is more than one entry returned, us the one with the lowest EARCK7 (Line Number) value.
The most comprehensive Oracle applications & technology content under one roof
N57EMAIL – PrimaryEmailForAddress
Data Structure: D57EMAIL Data Structure for N57EMAIL -‐ Primary Email For Address Number
Type: BSFN Structure mnAddressNumber AN8 szEmailAddressow EMAL
Report/Email
PLEASE NOTE: If you use the following, it is on an “all care and no responsibility” basis. Please test thoroughly on your systems before pu�ng it into produc;on.
The most comprehensive Oracle applications & technology content under one roof
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 1
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Level Variables evt_mnAddressNumber_AN8 [AN8] evt_szEmailAddressOW_EMAL [EMAL] evt_mnWhosWhoLine_IDLN [IDLN] evt_mnElctrnicAddrssLine_RCK7 [RCK7] evt_szElctronicAddressType_ETP [ETP] evt_cEmailFound_EV01 [EV01] evt_mnTestLine_RCK7 [RCK7] evt_szTestEmailAddressOW_EMAL [EMAL] evt_cF01151Success_EV01 [EV01] evt_cAtSignFound_EV01 [EV01] evt_cDotFound_EV01 [EV01] evt_cSpaceFound_EV01 [EV01] evt_mnLength_RCK7 [RCK7] evt_mnCharCount_RCK7 [RCK7] evt_cChar_EV01 [EV01] evt_szLogUDCSystemCode_SY [SY] evt_szLogUDCCodeType_RT [RT] evt_szLogUDCCodeValue_KY [KY] evt_szLogText_ENTRVLU [ENTRVLU] evt_mnLogLineID_TSKID [TSKID] evt_szLogProgramId_PID [PID] evt_cLogUDCErrorCode_EV01 [EV01] evt_cLogSwitchOnYN_EV01 [EV01] evt_szEmailAddressOWFound_EMAL [EMAL]
Report/Email
The most comprehensive Oracle applications & technology content under one roof
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 2
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules 00001 // 00002 // =========================================================================== 00003 // START: Created by P Bruce August 2003 00004 // =========================================================================== 00005 // 00006 VA evt_cEmailFound_EV01 = "N" 00007 VA evt_mnAddressNumber_AN8 = BF mnAddressNumber 00008 VA evt_szElctronicAddressType_ETP = "E" 00009 VA evt_mnWhosWhoLine_IDLN = "0" 00010 VA evt_mnElctrnicAddrssLine_RCK7 = "0" 00011 // 00012 VA evt_cF01151Success_EV01 = "N" 00013 // 00014 F01151.Select [Index: Address Num, Line ID] evt_mnAddressNumber_AN8 [AN8] = TK Address Number evt_mnWhosWhoLine_IDLN [IDLN] = TK Who's Who Line Number - ID evt_szElctronicAddressType_ETP [ETP] = TK Electronic Address Type 00015 F01151.FetchNext [Index: Address Num, Line ID] evt_mnTestLine_RCK7 [RCK7] <- TK Line Number ID - 5.0 evt_szTestEmailAddressOW_EMAL [EMAL] <- TK Electronic Address 00016 While SV File_IO_Status is equal to CO SUCCESS 00017 // 00018 If evt_cF01151Success_EV01 [EV01] is equal to 'N' Or evt_mnElctrnicAddrssLine_RCK7 [RCK7] is greater than evt_mnTestLine_RCK7 [RCK7] 00019 //
Report/Email
The most comprehensive Oracle applications & technology content under one roof
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 3
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules – Continued 00020 VA evt_szTestEmailAddressOW_EMAL = ltrim(rtrim([VA evt_szTestEmailAddressOW_EMAL],' '),' ') 00021 VA evt_mnLength_RCK7 = length([VA evt_szTestEmailAddressOW_EMAL]) 00022 VA evt_cSpaceFound_EV01 = "N" 00023 VA evt_cDotFound_EV01 = "N" 00024 VA evt_cAtSignFound_EV01 = "N" 00025 VA evt_mnCharCount_RCK7 = "0" 00026 // 00027 While evt_mnCharCount_RCK7 [RCK7] is less than evt_mnLength_RCK7 [RCK7] 00028 // 00029 VA evt_cChar_EV01 = substr([VA evt_szTestEmailAddressOW_EMAL],[VA evt_mnCharCount_RCK7],1) 00030 // 00031 If evt_cChar_EV01 [EV01] is equal to '@' 00032 VA evt_cAtSignFound_EV01 = "Y" 00033 End If 00034 // 00035 If evt_cAtSignFound_EV01 [EV01] is equal to 'Y' And evt_cChar_EV01 [EV01] is equal to '.' 00036 VA evt_cDotFound_EV01 = "Y" 00037 End If 00038 // 00039 If evt_cChar_EV01 [EV01] is equal to <Blank> 00040 VA evt_cSpaceFound_EV01 = "Y" 00041 End If 00042 // 00043 VA evt_mnCharCount_RCK7 = [VA evt_mnCharCount_RCK7]+1 00044 // 00045 End While
Report/Email
The most comprehensive Oracle applications & technology content under one roof
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 4
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules – Continued 00046 // 00047 If evt_cAtSignFound_EV01 [EV01] is equal to 'Y' And evt_cDotFound_EV01 [EV01] is equal to 'Y' And evt_cSpaceFound_EV01 [EV01] is not equal to 'Y' 00048 // 00049 VA evt_mnElctrnicAddrssLine_RCK7 = VA evt_mnTestLine_RCK7 00050 VA evt_szEmailAddressOWFound_EMAL = VA evt_szTestEmailAddressOW_EMAL 00051 VA evt_cF01151Success_EV01 = "Y" 00052 VA evt_cEmailFound_EV01 = "Y" 00053 // 00054 End If 00055 // 00056 End If 00057 // 00058 F01151.FetchNext [Index: Address Num, Line ID] evt_mnTestLine_RCK7 [RCK7] <-‐ TK Line Number ID -‐ 5.0 evt_szTestEmailAddressOW_EMAL [EMAL] <-‐ TK Electronic Address 00059 // 00060 End While 00061 // 00062 If evt_cEmailFound_EV01 [EV01] is not equal to 'Y' 00063 // 00064 VA evt_mnWhosWhoLine_IDLN = "0" 00065 //
Report/Email
The most comprehensive Oracle applications & technology content under one roof
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 5
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules – Continued 00066 F0111.FetchSingle [Index: Address Number, Line Number] evt_mnAddressNumber_AN8 [AN8] = TK Address Number evt_mnWhosWhoLine_IDLN [IDLN] = TK Who's Who Line Number -‐ ID evt_szEmailAddressOW_EMAL [EMAL] <-‐ TK Remark 1 00067 If SV File_IO_Status is equal to CO SUCCESS 00068 // 00069 VA evt_szTestEmailAddressOW_EMAL = ltrim(rtrim([VA evt_szEmailAddressOW_EMAL]," "), " ") 00070 VA evt_mnLength_RCK7 = length([VA evt_szTestEmailAddressOW_EMAL]) 00071 VA evt_cSpaceFound_EV01 = "N" 00072 VA evt_cDotFound_EV01 = "N" 00073 VA evt_cAtSignFound_EV01 = "N" 00074 VA evt_mnCharCount_RCK7 = "0" 00075 // 00076 While evt_mnCharCount_RCK7 [RCK7] is less than evt_mnLength_RCK7 [RCK7] 00077 // 00078 VA evt_cChar_EV01 = substr([VA evt_szTestEmailAddressOW_EMAL],[VA evt_mnCharCount_RCK7],1) 00079 // 00080 If evt_cChar_EV01 [EV01] is equal to '@' 00081 VA evt_cAtSignFound_EV01 = "Y" 00082 End If 00083 // 00084 If evt_cAtSignFound_EV01 [EV01] is equal to 'Y' And evt_cChar_EV01 [EV01] is equal to '.' 00085 VA evt_cDotFound_EV01 = "Y" 00086 End If 00087 //
Report/Email
The most comprehensive Oracle applications & technology content under one roof
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 6
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules – Continued 00088 If evt_cChar_EV01 [EV01] is equal to <Blank> 00089 VA evt_cSpaceFound_EV01 = "Y" 00090 End If 00091 // 00092 VA evt_mnCharCount_RCK7 = [VA evt_mnCharCount_RCK7]+1 00093 // 00094 End While 00095 // 00096 If evt_cAtSignFound_EV01 [EV01] is equal to 'Y' And evt_cDotFound_EV01 [EV01] is equal to 'Y' And evt_cSpaceFound_EV01 [EV01] is not equal to 'Y' 00097 // 00098 VA evt_szEmailAddressOWFound_EMAL = VA evt_szTestEmailAddressOW_EMAL 00099 VA evt_cEmailFound_EV01 = "Y" 00100 // 00101 End If 00102 // 00103 End If 00104 // 00105 End If 00106 //
Report/Email
The most comprehensive Oracle applications & technology content under one roof
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 7
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules – Continued 00107 If evt_cEmailFound_EV01 [EV01] is not equal to 'Y' 00108 // 00109 VA evt_mnWhosWhoLine_IDLN = "1" 00110 VA evt_cF01151Success_EV01 = "N" 00111 VA evt_mnElctrnicAddrssLine_RCK7 = "0" 00112 // 00113 F01151.Select [Index: Address Num, Line ID] evt_mnAddressNumber_AN8 [AN8] = TK Address Number evt_mnWhosWhoLine_IDLN [IDLN] = TK Who's Who Line Number -‐ ID evt_szElctronicAddressType_ETP [ETP] = TK Electronic Address Type 00114 F01151.FetchNext [Index: Address Num, Line ID] evt_mnTestLine_RCK7 [RCK7] <-‐ TK Line Number ID -‐ 5.0 evt_szTestEmailAddressOW_EMAL [EMAL] <-‐ TK Electronic Address 00115 While SV File_IO_Status is equal to CO SUCCESS 00116 // 00117 If evt_cF01151Success_EV01 [EV01] is equal to 'N' Or evt_mnElctrnicAddrssLine_RCK7 [RCK7] is greater than evt_mnTestLine_RCK7 [RCK7] 00118 // 00119 VA evt_szTestEmailAddressOW_EMAL = ltrim(rtrim([VA evt_szTestEmailAddressOW_EMAL],' '),' ') 00120 VA evt_mnLength_RCK7 = length([VA evt_szTestEmailAddressOW_EMAL]) 00121 VA evt_cSpaceFound_EV01 = "N" 00122 VA evt_cDotFound_EV01 = "N" 00123 VA evt_cAtSignFound_EV01 = "N" 00124 VA evt_mnCharCount_RCK7 = "0" 00125 //
Report/Email
The most comprehensive Oracle applications & technology content under one roof
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules – Continued 00126 While evt_mnCharCount_RCK7 [RCK7] is less than evt_mnLength_RCK7 [RCK7] 00127 // 00128 VA evt_cChar_EV01 = substr([VA evt_szTestEmailAddressOW_EMAL],[VA evt_mnCharCount_RCK7],1) 00129 // 00130 If evt_cChar_EV01 [EV01] is equal to '@' 00131 VA evt_cAtSignFound_EV01 = "Y" 00132 End If 00133 // 00134 If evt_cAtSignFound_EV01 [EV01] is equal to 'Y' And evt_cChar_EV01 [EV01] is equal to '.' 00135 VA evt_cDotFound_EV01 = "Y" 00136 End If 00137 // 00138 If evt_cChar_EV01 [EV01] is equal to <Blank> 00139 VA evt_cSpaceFound_EV01 = "Y" 00140 End If 00141 // 00142 VA evt_mnCharCount_RCK7 = [VA evt_mnCharCount_RCK7]+1 00143 // 00144 End While 00145 //
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 8
Report/Email
The most comprehensive Oracle applications & technology content under one roof
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules – Continued 00146 If evt_cAtSignFound_EV01 [EV01] is equal to 'Y' And evt_cDotFound_EV01 [EV01] is equal to 'Y' And evt_cSpaceFound_EV01 [EV01] is not equal to 'Y' 00147 // 00148 VA evt_mnElctrnicAddrssLine_RCK7 = VA evt_mnTestLine_RCK7 00149 VA evt_szEmailAddressOWFound_EMAL = VA evt_szTestEmailAddressOW_EMAL 00150 VA evt_cF01151Success_EV01 = "Y" 00151 VA evt_cEmailFound_EV01 = "Y" 00152 // 00153 End If 00154 // 00155 End If 00156 // 00157 F01151.FetchNext [Index: Address Num, Line ID] evt_mnTestLine_RCK7 [RCK7] <-‐ TK Line Number ID -‐ 5.0 evt_szTestEmailAddressOW_EMAL [EMAL] <-‐ TK Electronic Address 00158 // 00159 End While 00160 // 00161 End If 00162 //
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 9
Report/Email
The most comprehensive Oracle applications & technology content under one roof
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules – Continued 00163 If evt_cEmailFound_EV01 [EV01] is not equal to 'Y' 00164 // 00165 VA evt_mnWhosWhoLine_IDLN = "1" 00166 // 00167 F0111.FetchSingle [Index: Address Number, Line Number] evt_mnAddressNumber_AN8 [AN8] = TK Address Number evt_mnWhosWhoLine_IDLN [IDLN] = TK Who's Who Line Number -‐ ID evt_szEmailAddressOW_EMAL [EMAL] <-‐ TK Remark 1 00168 If SV File_IO_Status is equal to CO SUCCESS 00169 // 00170 VA evt_szTestEmailAddressOW_EMAL = ltrim(rtrim([VA evt_szEmailAddressOW_EMAL]," "), " ") 00171 VA evt_mnLength_RCK7 = length([VA evt_szTestEmailAddressOW_EMAL]) 00172 VA evt_cSpaceFound_EV01 = "N" 00173 VA evt_cDotFound_EV01 = "N" 00174 VA evt_cAtSignFound_EV01 = "N" 00175 VA evt_mnCharCount_RCK7 = "0" 00176 //
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 10
Report/Email
The most comprehensive Oracle applications & technology content under one roof
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules – Continued 00177 While evt_mnCharCount_RCK7 [RCK7] is less than evt_mnLength_RCK7 [RCK7] 00178 // 00179 VA evt_cChar_EV01 = substr([VA evt_szTestEmailAddressOW_EMAL],[VA evt_mnCharCount_RCK7],1) 00180 // 00181 If evt_cChar_EV01 [EV01] is equal to '@' 00182 VA evt_cAtSignFound_EV01 = "Y" 00183 End If 00184 // 00185 If evt_cAtSignFound_EV01 [EV01] is equal to 'Y' And evt_cChar_EV01 [EV01] is equal to '.' 00186 VA evt_cDotFound_EV01 = "Y" 00187 End If 00188 // 00189 If evt_cChar_EV01 [EV01] is equal to <Blank> 00190 VA evt_cSpaceFound_EV01 = "Y" 00191 End If 00192 // 00193 VA evt_mnCharCount_RCK7 = [VA evt_mnCharCount_RCK7]+1 00194 // 00195 End While
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 11
Report/Email
The most comprehensive Oracle applications & technology content under one roof
Named Event Rule N57EMAIL – PrimaryEmailForAddress
Event Rules – Continued 00196 // 00197 If evt_cAtSignFound_EV01 [EV01] is equal to 'Y' And evt_cDotFound_EV01 [EV01] is equal to 'Y' And evt_cSpaceFound_EV01 [EV01] is not equal to 'Y' 00198 // 00199 VA evt_szEmailAddressOWFound_EMAL = VA evt_szTestEmailAddressOW_EMAL 00200 VA evt_cEmailFound_EV01 = "Y" 00201 // 00202 End If 00203 // 00204 End If 00205 // 00206 End If 00207 // 00208 // 00209 If evt_cEmailFound_EV01 [EV01] is not equal to 'Y' 00210 BF szEmailAddressow = "" 00211 Else 00212 BF szEmailAddressow = ltrim(rtrim([VA evt_szEmailAddressOWFound_EMAL],' '),' ') 00213 End If 00214 // 00215 // =========================================================================== 00216 // END: Created by P Bruce August 2003 00217 // =========================================================================== 00218 //
N57EMAIL – PrimaryEmailForAddress Event Rules – Page 12
Report/Email
The most comprehensive Oracle applications & technology content under one roof
Freebies
Thanks to Alex Pastuhov -‐ Everest Sojware Interna9onal, a custom Work Centre Report and a custom NER Business func;on to parse text are available in Boomerang Packages. Boomerang Lite, which is free, can be downloaded t from Everest Soxware Interna;onal website (hqp://www.everestsoxint.com) to install the Boomerang Package(s) on your development Client.
PLEASE NOTE: If you use the following, it is on an “all care and no responsibility” basis. Please test thoroughly on your systems before pu�ng it into produc;on.
The most comprehensive Oracle applications & technology content under one roof
Freebies Custom Work Centre Report Download Work Centre Report zip file. hqp://www.jdelist.com/ubb/download.php?Number=144180 The download zip file contains:
WorkCentreReport.txt -‐ Containing some notes WorkCentreReport_UNICODE.BG2 -‐ Unicode Boomerang Package (tested 8.11 sp1
and E812 but not E9/E810, so there could poten;ally be some minor issues) WorkCentreReport.BG1 -‐ Non Unicode Boomerang Package for XE/ERP8 (tested) Work Centre Processing Notes.doc -‐ previously aqached Work_Centre ER.txt -‐ previously aqached Work_Centre Note.txt -‐ Addi;onal informa;on for an ER line
Each Boomerang Package includes: UBE: R55012503 -‐ Work Centre Report UBE Version: R55012503|CUSTOM0001 -‐ Work Centre report Business View: V550113M -‐ UOW-‐F01131M All Columns
Everest Sojware Interna9onal®
The most comprehensive Oracle applications & technology content under one roof
Freebies Text Parsing NER Business Func9on – Parse text without breaking a word. Download zip file containing Unicode Boomerang package called ParseTextToLines.BG2 hqp://www.jdelist.com/ubb/download.php?Number=155542
Download zip file containing Non-‐unicode Boomerang package called ParseTextToLines.BG1 hqp://www.jdelist.com/ubb/download.php?Number=156064 In the download zip files each Boomerang package includes. The Boomerang package includes: Data Structure: D55PRSTXT NER: N55PRSTX Data Dic9onary Messages: PRSTXT0001 -‐ No Text to Parse Found PRSTXT0002 -‐ Line Length of Parsed Text Too Large PRSTXT0003 -‐ Parsed Text Line No Found PRSTXT0004 -‐ Parsing Text Star;ng Posi;on Invalid
Tes9ng: The NER has been tested and works on both windows and unix. Before using it in produc;on test it thoroughly on your installa;on first.
Tested configura9on is: Oracle JD Edwards EnterpriseOne, E8.11sp1 8.97.2.1, ES Sun Solaris 10, Oracle DB 9207 Compiler is Sun Studio 12
I welcome any comments and/or ques9ons (especially improvements I can incorporate and use myself).
Everest Sojware Interna9onal®
The most comprehensive Oracle applications & technology content under one roof
Freebies Text Parsing NER Business Func9on – Parse text without breaking a word. Purpose: N55PRSTX is designed to parse a large text object, which may contain mul;ple lines (new line or end of line character or character combina;ons), and break it up into smaller, strings of text. It will always end an output line at a new line (or end of line character or character combina;ons) and exclude the new line from the output. If the output line contains a space "-‐" or "_" it will break at that point instead of breaking in the middle of a word, if the output length is reached before a new line is reached. If the line break occurs at a "-‐" or "_" it will be included in the output line. If the line break occurs at a space, the space will be omiqed from the output line.
The most comprehensive Oracle applications & technology content under one roof
Freebies Text Parsing NER Business Func9on – Parse text without breaking a word. Inputs: BF szFullText_ISTDATA2 – Required. The text which is to be broken up into lines. BF mnLineLength_IDROW The maximum number of characters in the line to return. Maximum is 500. Default 80. BF mnLineNumToReturn_IDROW The line number of the lines produced to return. Default First (1). If BF cSuccessiveLines_EV01 is set to '1‘ then this will be ignored and the default of the first line will be returned. This will allow successive calls to this func;on to return successive lines in the most efficient way. BF mnStartCharacterNum_IDROW The character posi;on in BF szFullText_ISTDATA2 to start breaking up text. 0 is the first character posi;on. Default 0. BF cSuccessiveLines_IDROW A flag indica;ng that successive calls to this func;on will return successive lines from BF szFullText_ISTDATA2. If this is set to '1' then BF mnStartCharacterNum_IDROW will have an output value equal to BF mnLastCharacterNum_IDROW plus one. If this is set to '1' then BF mnLineNumToReturn_IDROW will be ignored and the default of the first line will be returned. This will allow successive calls to this func;on to return successive lines in the most efficient way.
The most comprehensive Oracle applications & technology content under one roof
Freebies Text Parsing NER Business Func9on – Parse text without breaking a word. Outputs: BF mnStartCharacterNum_IDROW The input value or default (0) unless: If BF cSuccessiveLines_EV01 is set to '1' then this will have an output value equal to BF mnLastCharacterNum_IDROW plus one. This will allow successive calls to this func;on to return successive lines in the most efficient way. BF szLineOut_AGEN – required. The line to output. BF mnLastCharacterNum_IDROW The last character posi;on in BF szFullText_ISTDATA2 that was read last, coun;ng from 0 as the first character posi;on. BF szErrorID_DTAI The message ID to iden;fy the error that has occurred. This is a Data Dic;onary Workflow item (Glossary Group Y). The value returned is the Data Item value of the message.
The most comprehensive Oracle applications & technology content under one roof
Ques;ons And
Comments Peter Bruce Email: [email protected]
The most comprehensive Oracle applications & technology content under one roof
Thank You