how can i get result from the following equation through personalizationFirst off, I was flattered that anyone reads these ramblings, especially stuff from 2011. Second I was intrigued as my immediate answer was…
K_LINES.LINE_VALUE = K_HEADER.K_VALUE/K_HEADER.PRIME_K_NUMBER
i want to know what is the syntax and what is the required steps to get the result automatically
thanx
hmmmmm… don’t know….
So I did a little tinkering around with forms personalization and found a solution. Now the context of the below solution is likely not the same as the what the commenter is looking at, but I think it should still apply to his situation as I’m just looking at 2 fields and performing some arithmetic on it. For my example, I’m using the standard Purchase Order form. I want to automatically calculate the following:
PO_LINES.ATTRIBUTE13 = PO_LINES.UNIT_PRICE / PO_LINES.QUANTITY
In this case: Attribute13 = 35/10
To make this happen, fire up forms personalization (Help -> Diagnostics -> Custom Code -> Personalization) and first decide on when you want this calculation to happen. In my case, I just want it to happen every time a new PO_LINE record is navigated to, so I made the Trigger Event be WHEN-NEW-RECORD-INSTANCE and the Trigger Object be PO_LINES:
You can make this be as complicated as you would like, it all depends on when you want the calculation to happen.
Now, the meat of the problem: how to do the actual calculation. One of the nice things about forms personalization is that you can just use a query to set item values in a form. This query can be anything (one caveat though… it has to return a charvalue!). So for our example, a query that would achieve our goal would be:
select po_lines.unit_price / po_lines.quantity from dual
Easy enough right? Well yes and no. This IS the query you need, but in order to have Forms Personalization correctly interpret it there are 2 things you need to worry about.
- Syntax
- It must return a char value -> NO NUMBERS
$(item.block.item.value}
For example:
select ${item.PO_LINES.UNIT_PRICE.value}/${item.PO_LINES.QUANTITY.value} from dual
For #2, it must return a CHAR. So use the SQL function TO_CHAR!
select TO_CHAR(${item.PO_LINES.UNIT_PRICE.value}/${item.PO_LINES.QUANTITY.value}) from dual
Now plug it all into the Forms Personalization form… and you’re done.
As you can see from the above, I’m setting PO_LINES.ATTRIBUTE13′s VALUE property to the return of the select statement that we built and voila, you have a calculated field.
No comments:
Post a Comment