About transactional Triggers
Hai All,
Can any one tell me what is transactional trigger and when to use it???
Thanks
Sriram.
Is it possible for you to start with an Oracle Forms 10g Starters-Course at Oracle University? 5 days and after that you know Forms very good. If you do the course here in cologne - then I'm your trainer :-)
if it's not possible we well help you as good as we can...
have fun
Gerd
Similar Messages
-
Transactional triggers and commit processing
I have only been an active member of this thread for a couple of weeks and have tried to contribute to a few postings. But I have also noticed lots of postings relating to the use of DML statements inside what I would call non commit time triggers.
What I mean here is, for example, a WHEN-BUTTON-PRESSED trigger that does inserts, updates, deletes, followed by the COMMIT_FORM procedure.
I thought it might be useful to draw attention to the possible pitfalls of this approach. I'm not saying that this approach is wrong - far from it, but sometimes it means that people aren't leveraging the functionality that you get "for free" from Forms.
By coding some DML followed by a Commit_Form, you are not getting any rollback functionality from Forms. For example:
INSERT INTO A
INSERT INTO B
COMMIT_FORM;
Let's imagine that the insert into A worked but the insert into B failed for some reason. The user gets an unhandled exception. Now imagine that the cause of the error is cleared up, and the user presses the button (or whatever the invokation action was) again, and the commit works. You will have 2 records in A and 1 in B. You may not have expected that, and without coding your own rollback/savepoint that's what you would get.
You also (1) don't get a Working... message without coding it yourself, and (2) get the "No changes to commit" message; removing this is the subject of many threads on this site.
If you have a block which is based over a table which you need to update, then all of the DML statements ought to be coded inside PRE/POST/ON INSERT/UDPATE/DELETE statements, or other Forms transactional triggers (pre-database-commit etc..). If you need to change other tables then put the DML for them inside those triggers. Then you don’t have to worry about which records the user changed – if the user didn’t touch them then Forms won’t fire the triggers. And when you call the COMMIT_FORM procedure, Forms will fire the triggers for you and if any of them fail, it will rollback back to where the COMMIT_FORM started.
An example in 1 thread I saw this morning, was a Delete button, which was to delete the current record in a multi-record block. This button performed the “DELETE FROM <table> WHERE <key=:block.key>” followed by a Commit. Then of course the block needed to be re-queried to reflect the fact that the record had gone. Using the power of Forms to simply call the DELETE_RECORD procedure would have achieved the same result without needing to requery the block. And Forms would do the delete by ROWID, the fastest way of doing it.
If you don’t have a block based over a table, then you can consider creating a dummy block which uses Transactional Triggers. Code an ON-INSERT on that block which includes the DML you want to execute. Then in the trigger initiating the commit processing you would do something like:
:DUMMY_BLOCK.ITEM1 := ‘X’;
COMMIT_FORM;
IF (NOT FORM_SUCCESS) OR :SYSTEM.FORM_STATUS != ‘QUERY’ THEN
-- the commit failed
END IF;
Then you’ll get a nice Working.. message and full rollback control.
I think the moral of what I’m trying to get across is to use the power of Forms in the way it handles the transactions. Whilst we moan about it, it is actually quite good at that!
I hope this posting is taken in a positive light, I am certainly not trying to teach anyone to “suck eggs”.
PS. I find it ironic that you were prevented from coding DML statements outside of commit time triggers, in Forms 2.3!Thank you, Kevin. Very informative.
-
Use of transactional triggers in Forms 4.5.
Hi All,
Can any body help me in using transactional triggers?
It 'll be best if anybody send me a text version (.fmt) of
ttrig.fmb**, which is a demo provided by Oracle, with D2K
release 1.x. This form 'll solve my purpose, since it
demonstrates all the functionality of transactional
triggers.
Help 'll be greatly appreciated.
Regards,
Vimal Kaushik
nullMr. Duncan Mills and other Oracle experts,
I am currently working on an upgrade of numerous SQL*Forms version 2.3 to 6i.
I have a few questions:
Is there a detailed checklist to follow for the migration from SQL*Forms 2.x to 6i?
Do you have any examples that show the proper syntax to follow for this conversion?
Some of our colleagues have stated that a migration from SQL*Forms version 2.3 to 3.0 is required?
Just to verify, if migrating from SQL*Forms v.2.3 to 6i - I need to first migrate the SQL*Forms v.2.3 .inp file to
version 4.5 using the F45GEN program of Developer 2000, this will generate a version 4.5 .fmb file which I then need to
migrate to 6i using the IF60CMP program of Developer6i
Please let me know if there are any additional undocumented steps that I need to follow.
Does anyone have an electronic copy of the Duncan Mills presentation 'Migrating Character Mode Applications
to the Web '? If so, Can you email me a copy?
Thank you, in advance, for your assistance. -
TS1702 Got problem about transaction Purchase Gold in games
I can't buys more gold from infinityblade2 it always said please contact iTunes about transaction but I always check my account no any problem I still have a lot money In my credit card
These are user-to-user forums, you can contact iTunes support here and ask them what the issue is : http://www.apple.com/support/itunes/contact/ - click on Contact iTunes Store Support on the right-hand side of the page
-
I want to know more about transaction(Container-managed).
i want to know more about transaction,how to use Container-managed
transaction?
can someone give me an example?
fish
That is not part of Firefox. It is either an add-on for Firefox which you installed, or it is a separate program you have.
Also, is '''Sanapshot tool''' the correct name? Or did you mean '''''Snapshot'''''? -
Hi,
I'm new in oracle forms. I've been reading different documents/online help etc. But i'm confuse with the Transactional Triggers like On-Insert, On-Update, On-Delete. I mean when we should use On-Insert/On-Update/On-Delete? We can use regular insert/update procedure to achieve the task. So can someone please explain the differnece? Can someone please give me a sample example of how to create a block based on a transactional triggers and another one based on procedure.
Thanks
timt
Message was edited by:
timtHello,
Create a block base on a table and create a On-Insert trigger on that block. Put null in the On-Insert trigger. Run the form and enter some data into the item and commit it.
Do the same thing without the On-Insert trigger.
You are able to get the difference.
Cheers
SUN -
Can you tell me about transaction log space? how does it gets full? How is it related to performance?
Hi,
Monitoring the SAP Log Disk
Use
The size of the transaction log must be checked regularly to work out how much free space is available on the log disk. There should always be enough free space to allow the next file extension. When the SAP system has been installed the autogrow increment is set. At least the size of this increment should be available on the log disk to permit the next file extension. If less space is available and the transaction log file fills up, the SAP system will come to a standstill.
Ideally, the transaction log should never be filled to more than 60-70%. If the transaction log regularly exceeds this level between 2 transaction log backups, the transaction log must be saved at more frequent time intervals.
The size of the log can be assessed on the basis of information given for completed backups in the SAP transaction for Backup and Restore Information.
Procedure:
1. To access the transaction for Backup Restore Information choose CCMS ® DB Administration ® Backup logs.
Alternatively, enter the transaction code DB12.
The initial screen of the monitor CCMS Monitoring Tool u2013 DB12 (Backup Restore Information) appears.
2. Choose Backup history and then Logs Backup.
3. A result list appears. Find the largest transaction log backup of the past week. Select a row and then History info to find out the number of pages that were processed during the backup. To work out the amount of space used in the transaction log, multiply the number of dumped pages by 8 KB. You can then work out how much free space is left on the transaction log disk.
If you use a RAID1 disk system exclusively for the SAP transaction log and create hourly log backups, you will rarely encounter space problems. The SAP log file is initially created with a size of 1 GB. The smallest disk normally has 9 GB space and the log file can therefore grow to 9 GB.
Hope it Helps
Srini -
I would like to know about transactional infocube.
i would like to know about transactional infocube.
Hi satish pattanayak,
Transactional InfoCubes differ from Basic InfoCubes in their ability to support parallel write accesses. Basic InfoCubes are technically optimized for read accesses to the detriment of write accesses.
Use
Transactional InfoCubes are used in connection with the entry of planning data. See also Overview of Planning with BW-BPS. The data from this kind of InfoCube is accessed transactionally, meaning data is written to the InfoCube (possibly by several users at the same time). Basic InfoCubes are not suitable for this. You should use Basic InfoCubes for read-only access (for example, when reading reference data).
transactional infocubes can be filled with data using two different methods: using the transaction of BW-BPS to enter planning data and using BW staging, whereas planning data then cannot be loaded simultaneously.
Anyway, the data from this kind of infocube is accessed transactionally, meaning data is written to the infocube (possibly by several users at the same time); basic infocubes are not suitable for this. I think this is the only proper use of this type of cube...
We have an option to switch the Tranasaction cube such as "Loding allowed and Planning not allowed" and "Planning allowed and loading not allowed".
please check these links,
http://help.sap.com/saphelp_nw04/helpdata/en/39/100c38e15711d4b2d90050da4c74dc/frameset.htm
function module to read and write to a transactional infocube
read and write to transactional infocube
read and write to a transactional infocube
Thanks,
kiran. -
Query about transactions over the whole chart of accounts
hi, i'm a beginner with the SAP SDK, so pleaase be patient , i 'm working to do a SQL-query (yeah, i'm not allowed to use the COM objects) for all the transactions made on every account and also to retrieve their profit centers, so i have a few questions/validations that i need about the SAP bd-model:
as far as i know, the tables involved with this query i need are:
OJDT - journal entry
JDT1 - journal entry rows
OOCR - Distribution rules
OACT - Accounts
OPRC - Profit Centers
..¿or can i just skip the OOCR table and join the tables JDT1 and OPRC using the PrCode field? (the reference says this field is a FK of the OOCR table so that's why i'm not sure about this, even if the field name is fool-proof )
thanxs for your time!!
EDIT: this is the query so far, i have my doubts about the use of PrcCode(JDT1) as a FK for the OPRC table (because like i was mentioning before, the documentation says it isn't, it's a FK for the OORC table)
also the DI API Help file says there is also another 4 FK fields (ocrcode2,ocrcode3,ocrcode4,ocrcode5) for the OOCR table, so i'm wondering if this SQL query is fine like this or if i'm missing something else please help mee!
SELECT
je1.TransId
,je1.Debit
,je1.Credit
,acc.AcctCode
,acc.AcctName
,prc.PrcName
,prc2.PrcName
,prc3.PrcName
,prc4.PrcName
,prc5.PrcName
,je.Memo
FROM
JDT1 as je1
left join OPRC as prc on je1.ProfitCode = prc.PrcCode
left join OPRC as prc2 on je1.OcrCode2 = prc2.PrcCode
left join OPRC as prc3 on je1.OcrCode3 = prc3.PrcCode
left join OPRC as prc4 on je1.OcrCode4 = prc4.PrcCode
left join OPRC as prc5 on je1.OcrCode5 = prc5.PrcCode
inner join OACT as acc on je1.Account = acc.AcctCode
inner join OJDT as je on je1.TransId = je.TransId
and je.RefDate <= '20101028 00:00'
GROUP BY
je1.TransId
,je1.Credit
,je1.Debit
,acc.AcctCode
,acc.AcctName
,prc.PrcName
,prc2.PrcName
,prc3.PrcName
,prc4.PrcName
,prc5.PrcName
,je.MemoWhen u have created your company that time u should create with copy anuway
but it's look to me your COA is not generated with depending accounts -
Confused about transaction, checkpoint, normal recovery.
After reading the documentation pdf, I start getting confused about it's description.
Rephrased from the paragraph on the transaction pdf:
"When database records are created, modified, or deleted, the modifications are represented in the BTree's leaf nodes. Beyond leaf node changes, database record modifications can also cause changes to other BTree nodes and structures"
"if your writes are transaction-protected, then every time a transaction is committed the leaf nodes(and only leaf nodes) modified by that transaction are written to JE logfiles on disk."
"Normal recovery, then is the process of recreating the entire BTree from the information available in the leaf nodes."
According to the above description, I have following concerns:
1. if I open a new environment and db, insert/modify/delete several million records, and without reopen the environment, then normal recovery is not run. That means, so far, the BTree is not complete? Will that affact the query efficiency? Or even worse, will that output incorrect results?
2. if my above thinking is correct, then every time I finish commiting transactions, I need to let the checkpoint to run in order to recreate the whole BTree. If my above thinking is not correct, then, that means that, I don't need to care about anything, just call transaction.commit(), or db.sync(), and let je to care about all the details.(I hope this is true :>)
michael.http://www.oracle.com/technology/documentation/berkeley-db/je/TransactionGettingStarted/chkpoint.html
Checkpoints are normally performed by the checkpointer background thread, which is always running. Like all background threads, it is managed using the je.properties file. Currently, the only checkpointer property that you may want to manage is je.checkpointer.bytesInterval. This property identifies how much JE's log files can grow before a checkpoint is run. Its value is specified in bytes. Decreasing this value causes the checkpointer thread to run checkpoints more frequently. This will improve the time that it takes to run recovery, but it also increases the system resources (notably, I/O) required by JE.
""" -
Info about transaction SNRO.
Hi Experts,
I need some info abt the SNRO Transaction and also the standard function module NUMBER_GET_NEXT - Internal number generation.
Regards,
SunithaSNRO is for number range buffering
Check this thread.
About SIDS
NUMBER_GET_NEXT - *NUmber range: Assigns next free number
r*The function module assigns the next free numbers of a number range. A number is assigned as a default if no larger number is demanded in the parameter QUANTITY. If more than one number is demanded and not enough numbers are available up to the interval limit, the numbers are only assigned up to the interval limit. If the last number was assigned, the first interval number is provided again during the next call.
The length of the number depends on the definition of the number range object. However, the length is not determined from the definition when allocating, but is calculated from the length of th from-number of the number range.
Check the more details from Function Module documentation in SE37.
Regards,
Maha -
Hi,Please guide about the use of transaction FS00.I have to upload GL account master data from legacy system.
Hi
Pls follow the process of creating GL
Goto FSOO tcode
Enter the following data
G/L Account No
Company Code
then press create button
type/description :
Enter the control of chart acct details
Account group
Select P&L statment acct or balance statement.
group acct number:
Enter control data information
Account currency
Recon. account for acct type
Alternative account no.
Sort key
Enter create/bank/interest
Field status group
Commitment item
Key word translation; based on the language want to traslation
Enter information (CA)
Enter information abt co/cd
Thanks
Sridhar -
Question about Transactions... Part 1 (Urgent)
Hi all!
Is there a transaction that I can use to check the status of ALL the objects that I activated in the BI system. If there is, what is it? Can this transaction return data about who activated it, when and what is wrong with it if ever?
Is there a transaction that can return a list of unactivated objects in the system (tables, datasources, infosources and infoproviders)? Can this transaction tell me why the selected object cannot be activated?
Thank you!
PhilipsSomething NEW to learn in nw2004s
<b>Content Analyzer</b> is available in SAP NetWeaver 2004s from BI Content Add-On Version 2.
The program provides tools to monitor and enforce project quality standards. Content Analyzer (transaction RSBICA) checks for inconsistencies and errors of customer-defined objects throughout your entire landscape .
This provides a way to analyze the objects and flush out hard-to-find problems. This tool assists BI project teams in identifying many problems that they need to address, such as InfoObjects that were created and not assigned to an InfoObject Catalog, or objects still in the temporary development class.
In the past, it was nearly impossible to analyze and find all the issues that Content Analyzer now can unearth for you. BI users just did not have the tools or techniques to handle all the issues that surfaced. As a result, BI teams often did not thoroughly address and resolve all problems. You can run Content Analyzer across the entire BI landscape to research possible errors. In some cases, the produced report provides data and directions for resolving the problem.
You configure Content Analyzer in transaction RSBICA
<b>
Content Analyzer allows you to check for the following errors:</b>
1)InfoObjects not assigned to an InfoObject catalog
2)Objects that do not comply with the configured naming convention
3)Objects that are in the temporary development class
4)Query elements that have multiple global unique identifiers (GUIDs)
5)Object status with inconsistencies between A (active) and D (delivered) versions
Hope it Helps
Chetan
@CP.. -
About transaction /event keys
hi
mm gurus
for what type of transactions we will use GBB Transaction/event key and can u explain about the use of this
thanks
subbuHi
Offsetting entry for stock posting (GBB)
Offsetting entries for stock postings are used in Inventory Management. They are dependent on the account grouping to which each movement type is assigned. The following account groupings are defined in the standard system:
AUA: for order settlement
AUF: for goods receipts for orders (without account assignment)
and for order settlement if AUA is not maintained
AUI: Subsequent adjustment of actual price from cost center directly
to material (with account assignment)
BSA: for initial entry of stock balances
INV: for expenditure/income from inventory differences
VAX: for goods issues for sales orders without
account assignment object (the account is not a cost element)
VAY: for goods issues for sales orders with
account assignment object (account is a cost element)
VBO: for consumption from stock of material provided to vendor
VBR: for internal goods issues (for example, for cost center)
VKA: for sales order account assignment
(for example, for individual purchase order)
VKP: for project account assignment (for example, for individual PO)
VNG: for scrapping/destruction
VQP: for sample withdrawals without account assignment
VQY: for sample withdrawals with account assignment
ZOB: for goods receipts without purchase orders (mvt type 501)
ZOF: for goods receipts without production orders
(mvt types 521 and 531)
regards
Srinivas -
Hi friends..
At Application level, i've to customize the screen ( eg. adding/editing the field option in application).
As we know that there r options such as BADIs, Screen-exits.
But i came to know about another options as "Transaction Variant"
Can anyone suggest me regarding this.
Thanks
SurenHi,
we can create Transaction Variants Using SHD0 Transaction.
Transaction Variants and Screen Variants
Transaction variants can simplify transaction runs as they allow you to:
Preassign values to fields
Hide and change the 'ready for input' status of fields
Hide and change table control column attributes
Hide menu functions
Hide entire screens
In particular, hiding fields in connection with screen compression, and hiding screens, can result in greater clarity and simplicity.
Transaction variants are made up of a sequence of screen variants. The field values and field attributes for the individual screens found in transaction variants are stored in screen variants. Each of these variants is assigned to a specific transaction, can, however, also contain values for screens in other transactions if this is required by transaction flow. The transaction that the variant is assigned to serves as initial transaction when the variant is called.
There are both client-specific and cross-client transaction variants. All screen variants are cross-client, but may be assigned to a client-specific transaction variant.
A namespace exists for cross-client transaction variants and screen variants and both are automatically attached to the Transport Organizer. Client-specific transaction variants must be transported manually.
In principle, transaction and screen variants can be created for all dialog and reporting transactions. There are, however, certain Restrictions that apply to certain transactions, depending on their internal structure.
No transaction variants are possible with transactions already containing preset parameters (parameter transactions and variant transactions).
Please check the links.
http://help.sap.com/saphelp_nw04/helpdata/en/7d/f639fb015111d396480000e82de14a/content.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/67/232037ebf1cc09e10000009b38f889/frameset.htm
Reward if useful.
Maybe you are looking for
-
I purchased black ops zombies and I can not get it to load to play it. How can I get a refund or get to run so that I can play it?
-
SQLLoader issues of Oracle RAC with ASM
One of our client wants to use Oracle RAC with ASM for our application, i just want to know if there would be any two-phased commit transactions and SQL*Loader issues in ASM. Database is Oracle 10g
-
Everytime I try to export an InDesign file to a PDF file, the pictured dialogue box shows up and it won't export the PDF. Does anyone know how to get around that? I am just barely learning how to use InDesign so that might be the problem.
-
Hello, I might missed it but I did not find any support for Object ID externalization in JDO specs. I believe it is a much needed feature to be able to externalize Object ID to lets say char array and being able to re-create Object ID from its extern
-
[SOLVED]New PHP documents directory
Hi Now I have to save my files in /srv/http directory if I wanna display page. I would like change this directory to /home/rlk120/php/. Changed line open_basedir=/srv/http/:/home/:/tmp/:/usr/share/pear/:/path/to/documentroot didn't result. Any ideas