Professional Documents
Culture Documents
PO Form
PO Form
Prepared By
Prepared For
Application
Moayad Kalboneh
IT Technical Team
Others
Purpose:
The purpose of this document is to present the personalization steps that are
required to make a change on the oracle forms in order to achieve business needs.
Background:
Anyone needs to modify or update any step of the applied personalization on oracle
form should have technical knowledge over oracle programming language (SQL,
PL/SQL) in addition to practical experience in using personalization forms.
Naming Standards:
There are some guides should be followed to clarify the purpose of creating the
personalization and to print this document correctly:
Name the description for each action step to clarify its job.
Common Notes:
Any function used in the form personalization must be created first in the
connected database.
About Document:
This document is printed just for one solution which means you should determine the
range of form personalization steps in addition to the form name.
General Information:
This Solution Includes 8 steps (1,2,3,4,5,7,8,9)
Solution # POXPOEPO-01
Calculate
and
distribute
discount and
Scenario
Application Others
extra charges over all items automatically
Purchasing:Purchase Orders:Purchase
Orders
Path
Form
POXPOEPO
Description
Level
Enabled
POXPOEPO-01,Calculate and
distribute discount and extra charges
over all items
automatically,Purchasing:Purchase
Orders:Purchase Orders,Change
Description Promt
Function
Condition
Processing
Mode
Conditions
Trigger
Event
Target
Object
WHEN-NEW-FORM-IN
STANCE
Not in Enter-Query
Mode
Context
Level
Site
Value
Actions
Seq
Type
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
ITEM
PO_HEADERS.COMM
ENTS
PROMPT_TEXT
Subject
Actions
Seq
Type
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
ROW_NUM
VALUE
=0
Actions
Seq
Type
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
MAX
VALUE
=select
to_char(nvl(count(LINE_
NUM),0)) from
po_lines_all
where
PO_HEADER_ID=(sele
ct PO_HEADER_ID
from po_headers_all
where
segment1=:PO_HEADE
RS.SEGMENT1)
Actions
Seq
Type
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
CALCULATE
VALUE
='Default'
Actions
Seq
Type
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
ORIGINAL
VALUE
='Default'
General Information:
Solution # POXPOEPO-01
Scenario
Path
Application
Form
Others
POXPOEPO
Description
Level
Enabled
POXPOEPO-01,Create menu
Function
Condition
Processing
Mode
Conditions
Trigger
Event
Target
Object
WHEN-NEW-FORM-IN
STANCE
Not in Enter-Query
Mode
Context
Level
Site
Value
Actions
Seq
Type
Menue
Description
Language
Enabled
All
Object
Menu
Entry
Menu
Label
Render
Line
MENU1
Actions
Seq
Type
Menue
Description
Language
Enabled
All
Object
Menu
Entry
Menu
Label
Render
Line
MENU2
Original PO Prices
General Information:
Solution # POXPOEPO-01
Scenario
Path
Application
Form
Others
POXPOEPO
Description
Level
Enabled
POXPOEPO-01,Menu Trigger
(Discount + Charges)
Function
Condition
Processing
Mode
Conditions
Trigger
Event
Target
Object
MENU1
Not in Enter-Query
Mode
Context
Level
Site
Value
Actions
Seq
Type
Description
Language
Enabled
Property
Total DISCOUNT
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
DISCOUNT
VALUE
=select
to_char(nvl(:PO_HEAD
ERS.attribute14,0)) from
po_headers_all where
segment1=:PO_HEADE
RS.SEGMENT1
Actions
Seq
Type
Description
Language
Enabled
Property
Total CHARGES
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
CHARGES
VALUE
=select
to_char(nvl(:PO_HEAD
ERS.attribute15,0)) from
po_headers_all where
segment1=:PO_HEADE
RS.SEGMENT1
Actions
Seq
Type
Description
Language
Enabled
Property
Total NET
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
NET
VALUE
=((-1 * :global.discount)
+ (:global.charges))
Actions
Seq
Type
Description
Language
Enabled
11
Property
Max
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
MAX
VALUE
=select
to_char(nvl(count(LINE_
NUM),0)) from
po_lines_all
where
PO_HEADER_ID=(sele
ct PO_HEADER_ID
from po_headers_all
where
segment1=:PO_HEADE
RS.SEGMENT1)
Actions
Seq
Type
Description
Language
Enabled
13
Property
row_num
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
ROW_NUM
VALUE
=0
Actions
Seq
Type
14
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
CALCULATE
VALUE
='Yes'
Actions
Seq
Type
15
Builtin
Description
Language
Enabled
All
Object
Builtin
Type
Argument
Go_Item
PO_LINES.LINE_NUM
Group
Name
General Information:
Solution # POXPOEPO-01
Scenario
Path
Application
Form
Others
POXPOEPO
Description
Level
Enabled
POXPOEPO-01,Menue Triger
(Original PO Prices)
Function
Condition
Processing
Mode
Conditions
Trigger
Event
Target
Object
MENU2
Not in Enter-Query
Mode
Context
Level
Site
Value
Actions
Seq
Type
Description
Language
Enabled
Property
max
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
MAX
VALUE
=select
to_char(nvl(count(LINE_
NUM),0)) from
po_lines_all
where
PO_HEADER_ID=(sele
ct PO_HEADER_ID
from po_headers_all
where
segment1=:PO_HEADE
RS.SEGMENT1)
Actions
Seq
Type
Description
Language
Enabled
Property
ROW_NUM
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
ROW_NUM
VALUE
=0
Actions
Seq
Type
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
ORIGINAL
VALUE
='Yes'
Actions
Seq
Type
Builtin
Description
Language
Enabled
All
Object
Builtin
Type
Argument
Go_Item
PO_LINES.LINE_NUM
Group
Name
General Information:
Solution # POXPOEPO-01
Scenario
Path
Application
Form
Others
POXPOEPO
Description
Level
Enabled
POXPOEPO-01,update_items
Function
Conditions
Trigger
Event
Target
Object
Condition
Processing
Mode
WHEN-NEW-ITEM-INS
TANCE
PO_LINES.LINE_NUM
to_number(:global.row_
num) <
to_number(:global.max)
and
:global.CALCULATE='Y
es'
and
:global.ORIGINAL='Defa
ult'
and
(to_number(:PO_HEAD
ERS.attribute14) <>0 or
:PO_HEADERS.attribut
e14 is null)
and
(to_number(:PO_HEAD
ERS.attribute15) <>0 or
:PO_HEADERS.attribut
e15 is null)
Not in Enter-Query
Mode
Context
Level
Site
Value
Actions
Seq
Type
Description
Language
Enabled
Property
PO Amount
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
PO_AMOUNT
VALUE
=select
to_char(nvl(sum(to_num
ber(attribute5)*QUANTI
TY),0)) from
po_lines_all
where
PO_HEADER_ID=(sele
ct PO_HEADER_ID
from po_headers_all
where
segment1=:PO_HEADE
RS.SEGMENT1)
Actions
Seq
Type
Description
Language
Enabled
Property
item_cost
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
ITEM_COST
VALUE
=(((((:PO_LINES.UNIT_
PRICE*:PO_LINES.QU
ANTITY)/:global.PO_A
MOUNT)*:global.NET)/:
PO_LINES.QUANTITY)
)
Actions
Seq
Type
Description
Language
Enabled
11
Property
All
Object
Object
Type
Target
Object
Property
Name
Value
ITEM
PO_LINES.UNIT_PRIC
E
VALUE
=select
to_char(round((:PO_LIN
ES.UNIT_PRICE+:globa
l.ITEM_COST),3)) from
dual
Actions
Seq
Type
18
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
ROW_NUM
VALUE
=(:global.ROW_NUM+1
)
Actions
Seq
Type
19
Builtin
Description
Language
Enabled
All
Object
Builtin
Type
Argument
Do_Key
NEXT_RECORD
Group
Name
General Information:
Solution # POXPOEPO-01
Scenario
Path
Application
Form
Others
POXPOEPO
Description
Level
Enabled
POXPOEPO-01,update_items (for
Original PO Prices)
Function
Conditions
Trigger
Event
Target
Object
Condition
Processing
Mode
WHEN-NEW-ITEM-INS
TANCE
PO_LINES.LINE_NUM
to_number(:global.row_
num) <
to_number(:global.max)
and
:global.ORIGINAL='Yes'
Not in Enter-Query
Mode
Context
Level
Site
Value
Actions
Seq
Type
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
ITEM
PO_LINES.UNIT_PRIC
E
VALUE
=:PO_LINES.ATTRIBU
TE5
Actions
Seq
Type
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
GLOBAL
ROW_NUM
VALUE
=(:global.ROW_NUM+1
)
Actions
Seq
Type
Builtin
Description
Language
Enabled
All
Object
Builtin
Type
Argument
Do_Key
NEXT_RECORD
Group
Name
General Information:
Solution # POXPOEPO-01
Scenario
Path
Application
Form
Others
POXPOEPO
Description
Level
Enabled
POXPOEPO-01,clear record
Function
Conditions
Trigger
Event
Target
Object
Condition
Processing
Mode
WHEN-NEW-RECORDINSTANCE
PO_LINES
:PO_LINES.ITEM_ID is
null
and
(:global.ORIGINAL='Yes
' or
:global.CALCULATE='Y
es')
Not in Enter-Query
Mode
Context
Level
Site
Value
Actions
Seq
Type
Builtin
Description
Language
Enabled
All
Object
Builtin
Type
Argument
Do_Key
PREVIOUS_RECORD
Group
Name
Actions
Seq
Type
Builtin
Description
Language
Enabled
All
Object
Builtin
Type
Argument
Do_Key
SCROLL_UP
Group
Name
General Information:
Solution # POXPOEPO-01
Scenario
Path
Application
Form
Others
POXPOEPO
Description
Level
Enabled
POXPOEPO-01,Normal
Function
Conditions
Trigger
Event
Target
Object
Condition
Processing
Mode
WHEN-VALIDATE-REC
ORD
PO_LINES
:global.CALCULATE='D
efault'
and
:PO_HEADERS.attribut
e5 is null
and
:PO_HEADERS.attribut
e14 is null
and
Not in Enter-Query
Mode
:PO_HEADERS.attribut
e15 is null
Context
Level
Site
Value
Actions
Seq
Type
Property
Description
Language
Enabled
All
Object
Object
Type
Target
Object
Property
Name
Value
ITEM
PO_LINES.ATTRIBUTE
5
VALUE
=:PO_LINES.UNIT_PRI
CE