Transaction and DriverManagerXADataSource
Hello everyone,
I am new to J2EE container and am trying to find out how to use transaction handling within the same. Now within the datasource.xml file. I have got something like this
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="OracleDS"
location="jdbc/OracleCoreDS"
source-location = "c:\orion\j2ee\home\orion.jar"
xa-location="jdbc/xa/OracleXADS"
ejb-location="jdbc/OracleDS"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="scott"
password="tiger"
url="jdbc:oracle:thin:@192.168.0.5:1521:dcom"
inactivity-timeout="30"
/>
In this case when I am using the code in the client as
InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup("jdbc/OracleDS");
Connection con = ds.getConnection();
then the pooled connection happens. As I understand there is a place where the transactions can be rolled back if an
'EJBException' is thrown by the container. Now the doubt is that this does not happen with the OracleDS.
So I thought that I should use the
class="com.evermind.sql.DriverManagerXADataSource" in the xml file
and in the client code use
DataSource ds = (DataSource)ic.lookup("jdbc/xa/OracleXADS");
The problem is that the server does not start saying that it needs the source-location. can anyone
help me out on this? Thanks
i would also like to know how to say 'transaction' required for one of the function of my EJB in orion.
I could do this in the J2EE RI using the deploytool, but I am totally lost here.
Thanks in advance
Regards
Aby
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by Reji Mathew ([email protected]):
Hello everyone,
I am new to J2EE container and am trying to find out how to use transaction handling within the same. Now within the datasource.xml file. I have got something like this
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="OracleDS"
location="jdbc/OracleCoreDS"
source-location = "c:\orion\j2ee\home\orion.jar"
xa-location="jdbc/xa/OracleXADS"
ejb-location="jdbc/OracleDS"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="scott"
password="tiger"
url="jdbc:oracle:thin:@192.168.0.5:1521:dcom"
inactivity-timeout="30"
/>
In this case when I am using the code in the client as
InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup("jdbc/OracleDS");
Connection con = ds.getConnection();
then the pooled connection happens. As I understand there is a place where the transactions can be rolled back if an
'EJBException' is thrown by the container. Now the doubt is that this does not happen with the OracleDS.
So I thought that I should use the
class="com.evermind.sql.DriverManagerXADataSource" in the xml file
and in the client code use
DataSource ds = (DataSource)ic.lookup("jdbc/xa/OracleXADS");
The problem is that the server does not start saying that it needs the source-location. can anyone
help me out on this? Thanks
i would also like to know how to say 'transaction' required for one of the function of my EJB in orion.
I could do this in the J2EE RI using the deploytool, but I am totally lost here.
Thanks in advance
Regards
Aby<HR></BLOCKQUOTE>
Can't help with your first question, but can with the second:
In your ejb-jar.xml file(s) there is a section called <assembly-descriptor>
and within that, you can set up security roles on methods, etc but can also
define container transactions in a section called (you guessed it)
<container-transaction> which looks like this:
<assembly-descriptor>
<container-transaction>
<description> Give this a required transaction </description>
<method>
<ejb-name>YourEJBName</ejb-name>
<method-intf>Remote</method-intf>
<method-name>deposit</method-name>
</method>
<method>
</method>
List all of your methods for which you want a 'required transaction'
<trans-attribute>Required<trans-attribute>
</container-transaction>
Check out the ejb specs at java.sun.com as they describe all of this quite well.
The GUI tools often hide what is going on! (good & bad)
null
Similar Messages
-
What is difference between enjoy transactions and Normal transactions
What is difference between enjoy transactions and Normal transactions
Ex:- ME22 & ME22N
What is difference between these two.hi ,
the transaction code with 'N' are created with help of object concept.
In your case ME22 is obsolete one and ME22N is the tcode created with object concept.
pls Reward helpful points
Thanks
Siva -
Open AR transaction and Receipts
Can you let me know the standard concurrent programs which list all the Receivables Open AR Transaction and Open AR Receipts
The table ar_payment_Schedules_all gives you the outstanding information as on date. For eg. if the system date is 13th April and if you query the ar_payment_schedules_all table, the amount_due_remaining column will give you the open amount as on that date.
However if you want the oustanding as on some previous date, lets say as on 31st March, in that case you have to rollback all the applications that would have occured from 1st april to 13th april.
Find below the script that I used to get the oustanding as on any previous date. Pls. note that I am using a temp table here to populate the details.
declare
v_cash_receipt NUMBER;
v_adjustment NUMBER;
v_credit_memo NUMBER;
v_as_of_outstanding NUMBER;
v_cash_receipt_acctd NUMBER;
v_adjustment_acctd NUMBER;
v_credit_memo_acctd NUMBER;
v_credit_memo_acctd_1 NUMBER;
v_as_of_outstanding_acctd NUMBER;
p_as_of_date DATE;
cursor cs_get_trx (p_as_of_date1 IN Date) is
SELECT ps.customer_id CUST_ACCOUNT_ID
, trx.creation_date INV_CREATION_DATE
, ps.trx_number INVOICE_NUMBER
, trx.trx_date INVOICE_DATE
, ps.gl_date GL_DATE
, NVL(ps.amount_due_original,0) INVOICE_AMOUNT
, NVL(ps.tax_original,0) TAX_AMOUNT
, NVL(ps.acctd_amount_due_remaining,0) ACCTD_OUTSTANDING_AMOUNT
, ps.due_date
, CEIL(sysdate - ps.due_date) DAYS_OUTSTANDING
, ps.payment_schedule_id
, ps.number_of_due_dates INSTALLMENT_NUMBER
, trx.customer_trx_id
, CEIL(p_as_of_date1 - ps.due_date) DAYS_LATE_AS_OF
FROM ra_customer_trx TRX
, ar_payment_schedules PS
WHERE
trx.customer_trx_id = ps.customer_trx_id
AND ps.gl_date <= p_as_of_date1
AND ps.gl_date_closed > p_as_of_date1 ;
CURSOR cs_get_receipt(p_as_of_date2 IN DATE ) IS
SELECT ps.customer_id CUST_ACCOUNT_ID
, ps.payment_schedule_id
, CEIL(p_as_of_date - ps.GL_DATE) days_late_as_of_r
, ps.gl_date
, cr.receipt_number
, app.cash_receipt_id
, sum(app.acctd_amount_applied_from) ACCTD_AMOUNT_APPLIED
FROM ar_receivable_applications app
, ar_cash_receipts cr
, ar_payment_schedules ps
WHERE app.cash_receipt_id = cr.cash_receipt_id
AND app.payment_schedule_id = ps.payment_schedule_id
AND app.status in ('ACC', 'UNAPP', 'UNID', 'OTHER ACC' )
AND NVL(app.confirmed_flag,'Y') = 'Y'
AND app.gl_date <= p_as_of_date2
AND ps.gl_date <= p_as_of_date2
AND ps.gl_date_closed > p_as_of_date2
AND ( ( app.reversal_gl_date IS NOT NULL AND ps.gl_date <= p_as_of_date2 )
OR app.reversal_gl_date IS NULL
GROUP BY ps.customer_id
, cr.receipt_number
, app.cash_receipt_id
, ps.payment_schedule_id
, ps.gl_date
HAVING
sum(app.acctd_amount_applied_from) <> 0 ;
Begin
delete zxc_aging_cust1 ;
p_as_of_date := to_date('&Enter_as_of_date','DD-MON-RRRR') ;
For invoice in cs_get_trx(p_as_of_date)
LOOP
/* cash applied after p_as_of_date */
SELECT NVL(SUM(NVL(acctd_amount_applied_to, 0.0) +
NVL(acctd_earned_discount_taken,0.0) +
NVL(acctd_unearned_discount_taken,0.0)),0.0)
INTO v_cash_receipt_acctd
FROM ar_receivable_applications
WHERE TRUNC(gl_date) > p_as_of_date
AND status||'' = 'APP'
AND NVL(confirmed_flag,'Y') = 'Y'
AND applied_payment_schedule_id = invoice.payment_schedule_id
AND application_type LIKE 'CASH%';
/* adjustments applied after p_as_of_date */
SELECT NVL(SUM(ar_adjustments.acctd_amount), 0.0)
INTO v_adjustment_acctd
FROM ar_adjustments
WHERE TRUNC(gl_date) > p_as_of_date
AND status = 'A'
AND payment_schedule_id = invoice.payment_schedule_id;
/* invoice credited after p_as_of_date */
SELECT nvl(sum(nvl(acctd_amount_applied_to, 0.0)), 0.0)
INTO v_credit_memo_acctd
FROM ar_receivable_applications
WHERE applied_payment_schedule_id = invoice.payment_schedule_id
AND nvl(confirmed_flag,'Y') = 'Y'
AND status||'' = 'APP'
AND TRUNC(gl_date) > p_as_of_date
AND application_type LIKE 'CM%';
/*added new by anil patil 7/7/7 */
/* credit memo applied after p_as_of_date */
SELECT nvl(sum(nvl(acctd_amount_applied_to, 0.0)), 0.0)
INTO v_credit_memo_acctd_1
FROM ar_receivable_applications
WHERE payment_schedule_id = invoice.payment_schedule_id
AND nvl(confirmed_flag,'Y') = 'Y'
AND status||'' = 'APP'
AND TRUNC(gl_date) > p_as_of_date
AND application_type LIKE 'CM%';
/* calculate actual outstanding amount */
v_as_of_outstanding_acctd := invoice.acctd_outstanding_amount + v_cash_receipt_acctd - v_adjustment_acctd +
v_credit_memo_acctd - v_credit_memo_acctd_1 ;
insert into zxc_aging_cust1
( customer_id ,
invoice_number ,
invoice_date ,
gl_date ,
invoice_amount ,
tax_amount ,
acctd_outstanding_amount ,
due_date ,
days_outstanding ,
installment_number ,
days_late_as_of ,
current_os_amt ,
cash_receipt_amt ,
adj_amt ,
credit_memo_amt ,
credit_memo_amt_1
values
(invoice.cust_account_id ,
invoice.invoice_number ,
invoice.invoice_date ,
invoice.gl_date ,
invoice.invoice_amount ,
invoice.tax_amount ,
v_as_of_outstanding_acctd ,
invoice.due_date ,
invoice.days_outstanding ,
invoice.installment_number ,
invoice.days_late_as_of ,
invoice.acctd_outstanding_amount ,
v_cash_receipt_acctd ,
v_adjustment_acctd ,
v_credit_memo_acctd ,
v_credit_memo_acctd_1
END LOOP ;
COMMIT;
FOR receipt in cs_get_receipt (p_as_of_date )
LOOP
INSERT INTO zxc_aging_cust1( customer_id
, invoice_number
, trx_type
, acctd_outstanding_amount
, gl_date
VALUES( receipt.cust_account_id
, receipt.receipt_number
, 'RECEIPT'
, -1 * receipt.acctd_amount_applied
, receipt.gl_date );
END LOOP;
COMMIT ;
END;
Hope this helps.
Thanks,
Anil -
Material Transaction and Move Transaction Managers are Going Inactive
hi
it was running previously but currently it becomes inactive.can any one tell in which table to look for the error related to this problem?
Kind Regards
SayantanHi;
What is your OS and EBS?
It was working before? If yes what have you been changed on your system(patch etc)
Please check below note:
Material Transaction And Move Transaction Managers Are Going Inactive [ID 93507.1]
Material Transaction and Move Transaction Managers are Going Inactive [ID 98757.1]
Regard
Helios -
Re: Transactions and Locking Rows for Update
Dale,
Sounds like you either need an "optimistic locking" scheme, usually
implemented with timestamps at the database level, or a concurrency manager.
A concurrency manager registers objects that may be of interest to multiple
users in a central location. It takes care of notifying interested parties
(i.e., clients,) of changes made to those objects, using a "notifier" pattern.
The optimistic locking scheme is relatively easy to implement at the
database level, but introduces several problems. One problem is that the
first person to save their changes "wins" - every one else has to discard
their changes. Also, you now have business policy effectively embedded in
the database.
The concurrency manager is much more flexible, and keeps the policy where
it probably belongs. However, it is more complex, and there are some
implications to performance when you get to the multiple-thousand-user
range because of its event-based nature.
Another pattern of lock management that has been implemented is a
"key-based" lock manager that does not use events, and may be more
effective at managing this type of concurrency for large numbers of users.
There are too many details to go into here, but I may be able to give you
more ideas in a separate note, if you want.
Don
At 04:48 PM 6/5/97 PDT, Dale "V." Georg wrote:
I have a problem in the application I am currently working on, which it
seems to me should be easily solvable via appropriate use of transactions
and database locking, but I'm having trouble figuring out exactly how to
do it. The database we are using is Oracle 7.2.
The scenario is as follows: We have a window where the user picks an
object from a dropdown list. Some of the object's attributes are then
displayed in that window, and the user then has the option of editing
those attributes, and at some point hitting the equivalent of a 'save'button
to write the changes back to the database. So far, so good. Now
introduce a second user. If user #1 and user #2 both happen to pull up
the same object and start making changes to it, user #1 could write back
to the database and then 15 seconds later user #2 could write back to the
database, completely overlaying user #1's changes without ever knowing
they had happened. This is not good, particularly for our application
where editing the object causes it to progress from one state to the next,
and multiple users trying to edit it at the same time spells disaster.
The first thing that came to mind was to do a select with intent to update,
i.e. 'select * from table where key = 'somevalue' with update'. This way
the next user to try to select from the table using the same key would not
be able to get it. This would prevent multiple users from being able to
pull the same object up on their screens at the same time. Unfortunately,
I can think of a number of problems with this approach.
For one thing, the lock is only held for the duration of the transaction, so
I would have to open a Forte transaction, do the select with intent to
update, let the user modify the object, then when they saved it back again
end the transaction. Since a window is driven by the event loop I can't
think of any way to start a transaction, let the user interact with the
window, then end the transaction, short of closing and re-opening the
window. This would imply having a separate window specifically for
updating the object, and then wrapping the whole of that window's event
loop in a transaction. This would be a different interface than we wanted
to present to the users, but it might still work if not for the next issue.
The second problem is that we are using a pooled DBSession approach
to connecting to the database. There is a single Oracle login account
which none of the users know the password to, and thus the users
simply share DBSession resources. If one user starts a transaction
and does a select with intent to update on one DBSession, then another
user starts a transaction and tries to do the same thing on the same
DBSession, then the second user will get an error out of Oracle because
there's already an open transaction on that DBSession.
At this point, I am still tossing ideas around in my head, but after
speaking with our Oracle/Forte admin here, we came to the conclusion
that somebody must have had to address these issues before, so I
thought I'd toss it out and see what came back.
Thanks in advance for any ideas!
Dale V. Georg
Indus Consultancy Services [email protected]
Mack Trucks, Inc. [email protected]
>
>
>
>
====================================
Don Nelson
Senior Consultant
Forte Software, Inc.
Denver, CO
Corporate voice mail: 510-986-3810
aka: [email protected]
====================================
"I think nighttime is dark so you can imagine your fears with less
distraction." - CalvinWe have taken an optimistic data locking approach. Retrieved values are
stored as initial values; changes are stored seperately. During update, key
value(s) or the entire retieved set is used in a where criteria to validate
that the data set is still in the initial state. This allows good decoupling
of the data access layer. However, optimistic locking allows multiple users
to access the same data set at the same time, but then only one can save
changes, the rest would get an error message that the data had changed. We
haven't had any need to use a pessimistic lock.
Pessimistic locking usually involves some form of open session or DBMS level
lock, which we haven't implemented for performance reasons. If we do find the
need for a pessimistic lock, we will probably use cached data sets that are
checked first, and returned as read-only if already in the cache.
-DFR
Dale V. Georg <[email protected]> on 06/05/97 03:25:02 PM
To: Forte User Group <[email protected]> @ INTERNET
cc: Richards* Debbie <[email protected]> @ INTERNET, Gardner*
Steve <[email protected]> @ INTERNET
Subject: Transactions and Locking Rows for Update
I have a problem in the application I am currently working on, which it
seems to me should be easily solvable via appropriate use of transactions
and database locking, but I'm having trouble figuring out exactly how to
do it. The database we are using is Oracle 7.2.
The scenario is as follows: We have a window where the user picks an
object from a dropdown list. Some of the object's attributes are then
displayed in that window, and the user then has the option of editing
those attributes, and at some point hitting the equivalent of a 'save' button
to write the changes back to the database. So far, so good. Now
introduce a second user. If user #1 and user #2 both happen to pull up
the same object and start making changes to it, user #1 could write back
to the database and then 15 seconds later user #2 could write back to the
database, completely overlaying user #1's changes without ever knowing
they had happened. This is not good, particularly for our application
where editing the object causes it to progress from one state to the next,
and multiple users trying to edit it at the same time spells disaster.
The first thing that came to mind was to do a select with intent to update,
i.e. 'select * from table where key = 'somevalue' with update'. This way
the next user to try to select from the table using the same key would not
be able to get it. This would prevent multiple users from being able to
pull the same object up on their screens at the same time. Unfortunately,
I can think of a number of problems with this approach.
For one thing, the lock is only held for the duration of the transaction, so
I would have to open a Forte transaction, do the select with intent to
update, let the user modify the object, then when they saved it back again
end the transaction. Since a window is driven by the event loop I can't
think of any way to start a transaction, let the user interact with the
window, then end the transaction, short of closing and re-opening the
window. This would imply having a separate window specifically for
updating the object, and then wrapping the whole of that window's event
loop in a transaction. This would be a different interface than we wanted
to present to the users, but it might still work if not for the next issue.
The second problem is that we are using a pooled DBSession approach
to connecting to the database. There is a single Oracle login account
which none of the users know the password to, and thus the users
simply share DBSession resources. If one user starts a transaction
and does a select with intent to update on one DBSession, then another
user starts a transaction and tries to do the same thing on the same
DBSession, then the second user will get an error out of Oracle because
there's already an open transaction on that DBSession.
At this point, I am still tossing ideas around in my head, but after
speaking with our Oracle/Forte admin here, we came to the conclusion
that somebody must have had to address these issues before, so I
thought I'd toss it out and see what came back.
Thanks in advance for
any
ideas!
Dale V. Georg
Indus Consultancy Services [email protected]
Mack Trucks, Inc. [email protected]
------ Message Header Follows ------
Received: from pebble.Sagesoln.com by notes.bsginc.com
(PostalUnion/SMTP(tm) v2.1.9c for Windows NT(tm))
id AA-1997Jun05.162418.1771.334203; Thu, 05 Jun 1997 16:24:19 -0500
Received: (from sync@localhost) by pebble.Sagesoln.com (8.6.10/8.6.9) id
NAA11825 for forte-users-outgoing; Thu, 5 Jun 1997 13:47:58 -0700
Received: (from uucp@localhost) by pebble.Sagesoln.com (8.6.10/8.6.9) id
NAA11819 for <[email protected]>; Thu, 5 Jun 1997 13:47:56 -0700
Received: from unknown(207.159.84.4) by pebble.sagesoln.com via smap (V1.3)
id sma011817; Thu Jun 5 13:47:43 1997
Received: from tes0001.macktrucks.com by relay.macktrucks.com
via smtpd (for pebble.sagesoln.com [206.80.24.108]) with SMTP; 5 Jun
1997 19:35:31 UT
Received: from dale by tes0001.macktrucks.com (SMI-8.6/SMI-SVR4)
id QAA04637; Thu, 5 Jun 1997 16:45:51 -0400
Message-ID: <[email protected]>
Priority: Normal
To: Forte User Group <[email protected]>
Cc: "Richards," Debbie <[email protected]>,
"Gardner," Steve <[email protected]>
MIME-Version: 1.0
From: Dale "V." Georg <[email protected]>
Subject: Transactions and Locking Rows for Update
Date: Thu, 05 Jun 97 16:48:37 PDT
Content-Type: text/plain; charset=US-ASCII; X-MAPIextension=".TXT"
Content-Transfer-Encoding: quoted-printable
Sender: [email protected]
Precedence: bulk
Reply-To: Dale "V." Georg <[email protected]> -
Transactions and Locking Rows for Update
I have a problem in the application I am currently working on, which it
seems to me should be easily solvable via appropriate use of transactions
and database locking, but I'm having trouble figuring out exactly how to
do it. The database we are using is Oracle 7.2.
The scenario is as follows: We have a window where the user picks an
object from a dropdown list. Some of the object's attributes are then
displayed in that window, and the user then has the option of editing
those attributes, and at some point hitting the equivalent of a 'save' button
to write the changes back to the database. So far, so good. Now
introduce a second user. If user #1 and user #2 both happen to pull up
the same object and start making changes to it, user #1 could write back
to the database and then 15 seconds later user #2 could write back to the
database, completely overlaying user #1's changes without ever knowing
they had happened. This is not good, particularly for our application
where editing the object causes it to progress from one state to the next,
and multiple users trying to edit it at the same time spells disaster.
The first thing that came to mind was to do a select with intent to update,
i.e. 'select * from table where key = 'somevalue' with update'. This way
the next user to try to select from the table using the same key would not
be able to get it. This would prevent multiple users from being able to
pull the same object up on their screens at the same time. Unfortunately,
I can think of a number of problems with this approach.
For one thing, the lock is only held for the duration of the transaction, so
I would have to open a Forte transaction, do the select with intent to
update, let the user modify the object, then when they saved it back again
end the transaction. Since a window is driven by the event loop I can't
think of any way to start a transaction, let the user interact with the
window, then end the transaction, short of closing and re-opening the
window. This would imply having a separate window specifically for
updating the object, and then wrapping the whole of that window's event
loop in a transaction. This would be a different interface than we wanted
to present to the users, but it might still work if not for the next issue.
The second problem is that we are using a pooled DBSession approach
to connecting to the database. There is a single Oracle login account
which none of the users know the password to, and thus the users
simply share DBSession resources. If one user starts a transaction
and does a select with intent to update on one DBSession, then another
user starts a transaction and tries to do the same thing on the same
DBSession, then the second user will get an error out of Oracle because
there's already an open transaction on that DBSession.
At this point, I am still tossing ideas around in my head, but after
speaking with our Oracle/Forte admin here, we came to the conclusion
that somebody must have had to address these issues before, so I
thought I'd toss it out and see what came back.
Thanks in advance for any ideas!
Dale V. Georg
Indus Consultancy Services [email protected]
Mack Trucks, Inc. [email protected]
[email protected]------------------I have a problem in the application I am currently working on, which it
seems to me should be easily solvable via appropriate use of transactions
and database locking, but I'm having trouble figuring out exactly how to
do it. The database we are using is Oracle 7.2.
The scenario is as follows: We have a window where the user picks an
object from a dropdown list. Some of the object's attributes are then
displayed in that window, and the user then has the option of editing
those attributes, and at some point hitting the equivalent of a 'save' button
to write the changes back to the database. So far, so good. Now
introduce a second user. If user #1 and user #2 both happen to pull up
the same object and start making changes to it, user #1 could write back
to the database and then 15 seconds later user #2 could write back to the
database, completely overlaying user #1's changes without ever knowing
they had happened. This is not good, particularly for our application
where editing the object causes it to progress from one state to the next,
and multiple users trying to edit it at the same time spells disaster.
The first thing that came to mind was to do a select with intent to update,
i.e. 'select * from table where key = 'somevalue' with update'. This way
the next user to try to select from the table using the same key would not
be able to get it. This would prevent multiple users from being able to
pull the same object up on their screens at the same time. Unfortunately,
I can think of a number of problems with this approach.
For one thing, the lock is only held for the duration of the transaction, so
I would have to open a Forte transaction, do the select with intent to
update, let the user modify the object, then when they saved it back again
end the transaction. Since a window is driven by the event loop I can't
think of any way to start a transaction, let the user interact with the
window, then end the transaction, short of closing and re-opening the
window. This would imply having a separate window specifically for
updating the object, and then wrapping the whole of that window's event
loop in a transaction. This would be a different interface than we wanted
to present to the users, but it might still work if not for the next issue.
The second problem is that we are using a pooled DBSession approach
to connecting to the database. There is a single Oracle login account
which none of the users know the password to, and thus the users
simply share DBSession resources. If one user starts a transaction
and does a select with intent to update on one DBSession, then another
user starts a transaction and tries to do the same thing on the same
DBSession, then the second user will get an error out of Oracle because
there's already an open transaction on that DBSession.
At this point, I am still tossing ideas around in my head, but after
speaking with our Oracle/Forte admin here, we came to the conclusion
that somebody must have had to address these issues before, so I
thought I'd toss it out and see what came back.
Thanks in advance for any ideas!
Dale V. Georg
Indus Consultancy Services [email protected]
Mack Trucks, Inc. [email protected]
[email protected]------------------ -
Error : Excise modvat accounts not defined for GRPO transaction and U1 exci
I have Created Impot PO, After Planned Delivery cost MIRO I am trying to Perform GR then its giving Error "Excise modvat accounts not defined for GRPO transaction and U1 excise group
Message no. 8I402"
I have already maintained GL account in "Specify G/L Accounts per Excise Transaction" for Excise group U1
This problem is coming when Additional Duty on custom condition type JADC is maintained in "Maintain Excise Defaults" node in the column "ADC Cond" . If I remove JADC condition type from this place the this error is not coming but AED column is not fetching any value while doing GR.
Please help me in this issue , still No answer
Edited by: shiwanshu singh on Jan 28, 2009 10:26 AMDear sir
For GRPO have you maintained sub transaction Type IP for your excise group U1. If you not maintained pl maintain . and assign G/L account to modvat clearing account , the G/l account should be same as company code CVD account.
Regards
jrp -
Excise modvat accounts not defined for GRPO transaction and 58 Excise group
Hi Experts,
When i am doing Goods receipts for Depot for Subcontracting
i am getting this error message .Excise modvat accounts not defined for GRPO transaction and Excise group. For Depot no modvat. is there any configuration setting for depot. Please do needful.Hi,
Please maintain
Hi,
go to SPRO
Specify G/L Accounts per Excise Transaction
SPROLogistics u2013 GeneralTax on Goods MovementsIndia Account Determination Specify G/L Accounts per Excise Transaction
Enter excise group -58
ETT_ GRPO
and G/L account
G.Ganesh Kumar -
Excise modvat accounts not defined for DLFC transaction and excise group
Dear Experts,
Iam raising this question after checking all the contents related to Sub Transaction type in SDN.
My prob is: for raw material sales scenario i have created order delivery and invoice. For Invoice i have done account determination with a different G/L in VKOA. Now i have to create an excise invoice and the accounting entry for central ED on sales should go to different G/L account. for account determination i have done the following settings:
Maintained Sub transaction type in
IMG -> Logistics - General -> Tax on Goods movement -> India -> Basic Settings
->Maintain Sub Transaction types
IMG -> Logistics - General -> Tax on Goods movement -> India ->
Account determination -> Specify Excise Accounts per Excise Transaction.
Here against DLFC sub transaction Type is maintained..
Also
IMG -> Logistics - General -> Tax on Goods movement -> India -> Account determination -> Specify G/L Accounts per Excise Transaction
Here maintained Excise group with DLFC Company Code subtransaction type, chart of accounts and all required GL Account .
But when the iam creating Excise Invoice in J1IIN and clicking on Subtransaction type-F4, no entries are shown. No values found is the message in green. Message no. DH801
If i use subtransaction type and enter billing document and enter, the following error message comes:
"Excise modvat accounts not defined for DLFC transaction and excise group"
Iam unable to understand why the subtransaction type maintained is not showing in TCODE J1IIN?
RegardsFor the error message DH801, please check note 840911
Excise modvat accounts not defined for
DLFC transaction and excise group"
Please check your G/L assignments "Specify G/L Accounts per Excise Transaction"
thanks
G. Lakshmipathi -
Excise modvat accounts not defined for CAPE transaction and TS excise group
Hi Guys,
Suddenly we are facing issue during exicse invoice capturing with MIGO
system is giving following error
"Excise modvat accounts not defined for CAPE transaction and TS excise group
Message no. 8I402
While in Excise account assignment table CAPE is Linked to Modvat Clearing Account which is further liked to correct GL
Can any one explain the cause of this issue Points will be awarded
Regards,
AshishHi
Pls maintain the following:
1. SPRO->Logistics General -> Tax on Goods Movements -> India -> Account Determination -> Specify Excise Accounts per Excise Transaction
Pls note the Sub Tansaction type is IP for ETT CAPE.
ETT <b>Sub Trn Type</b> DC Ind Account Name
CAPE IP CR Credit ONHOLD CENVAT on hold account
CAPE IP DR Debit ONHOLD CENVAT on hold account
CAPE IP DR Debit RG23AED RG 23 AED account
CAPE IP DR Debit RG23BED RG 23 BED account
CAPE IP DR Debit RG23SED RG 23 SED account
CAPE IP DR Debit RG23ECS RG 23 ECS account
2. SPRO->Logistics General -> Tax on Goods Movements -> India -> Account Determination -> Specify G/L Accounts per Excise Transaction
Check the G/L accounts for Excise Transaction Type CAPE and maintain the same G/L accounts for ETT CAPE with <b>Sub Trn Type IP</b>.
Hope this clarifies.
Thanks -
Error - Excise modvat accounts not defined for DLFC transaction and 01 exci
Dear All,
Getting below error while doing J1IIN - Posting Excise invoice for Sale.
"Excise modvat accounts not defined for DLFC transaction and 01 excise group"
I checked with the settings GL are assigned to for DLFC and 01 excise group.
Is anywhere else I need to mantain the modvat GL
Regards,
RakeshCheck if you are using any subtransaction type along with excise transaction type.
Excise group, ETT, company code, sub transaction type (if any), Chart of account, Modvat account (pls maintain all the entries over here) search for modavat clearing field and maintain it.
BR
Edited by: Sujoy on Jan 15, 2010 9:45 AM -
Transactions and database locks
Hi,
We use Weblogic 4.5.1 on Windows NT 4.0 with Oracle 8.0.5. Our database
isolation is set to TRANSACTION_READ_COMMITTED. I have an entity bean with
TX_REQUIRED & TRANSACTION_READ_COMMITTED settings. If my client creates a
transaction, and starts calling methods on this entity bean, is the
corresponding database row locked for the duration of the transaction? We
have concurrent SQl-plus sessions going on and we want make sure there is
no data corruption. If the row is not locked, is it ok for me to explicitly
lock it from inside my entity bean?
Thanks,
Srini.
Hi. This should have been posted to the EJB or JDBC group, but I'll take it.
This is an Oracle question. If you have a transaction as you've described,
then the behavior will be exactly as if you had multiple SQL-PLUS sessions,
and in one of them, you did:
SQL> BEGIN;
-- do what your bean would do;
SQL> COMMIT;
You can test this there. In general, you'll find that Oracle's optimistic locking
will allow any number of simutaneous transactions to access a given row
at one time. Oracle does not lock the real data while a transaction is ongoing,
instead making a copy for the client to work off of. At commit time, depending
on the isolation level semantics, some or all of the transactions may fail when
Oracle tries to update the real data from the per-session private data.
I would council against running with SERIALIZABLE mode because there
is a serious bug in Oracle, where serializable transactions may fail silently.
Details on request.
Joe
Srini wrote:
> Hi,
> We use Weblogic 4.5.1 on Windows NT 4.0 with Oracle 8.0.5. Our database
> isolation is set to TRANSACTION_READ_COMMITTED. I have an entity bean with
> TX_REQUIRED & TRANSACTION_READ_COMMITTED settings. If my client creates a
> transaction, and starts calling methods on this entity bean, is the
> corresponding database row locked for the duration of the transaction? We
> have concurrent SQl-plus sessions going on and we want make sure there is
> no data corruption. If the row is not locked, is it ok for me to explicitly
> lock it from inside my entity bean?
>
> Thanks,
> Srini.
PS: Folks: BEA WebLogic is in S.F., and now has some entry-level positions for
people who want to work with Java and E-Commerce infrastructure products. Send
resumes to [email protected]
The Weblogic Application Server from BEA
JavaWorld Editor's Choice Award: Best Web Application Server
Java Developer's Journal Editor's Choice Award: Best Web Application Server
Crossroads A-List Award: Rapid Application Development Tools for Java
Intelligent Enterprise RealWare: Best Application Using a Component Architecture
http://weblogic.beasys.com/press/awards/index.htm
-
MDB Container Managed Transaction and Log4J
Hi,
I'm programming and MDB that reads and updates a database then sends out an HTTP Post and logs using log4j. I've read that when an MDB is configured as CMT or container managed transaction and the OnMessage method executes without errors, the transaction is implicitly commited. You can rollback the transaction by explicitly calling setRollbackOnly() or when a RuntimeException has been thrown. My worry is that after I have sent out an HTTP POST (a transaction has been completed) I would have to log a transaction completion using log4j. My problems is if log4j throws a RuntimeException thereby rolling back my transaction which shouldn't be the case. What I have done is to catch all Exceptions (and swallow them) whenever I log using log4j after I have sent out an HTTP POST succesfully (since my transaction should be complete by then). Is this a correct workaround?
Thanks :)Your approach is correct. If you think, Log4J might throw errors, swallow the exceptions and try not to roll back.
-
How to create bdc for fbs1 using both call transaction and session
Hi Friends,
i have one problem with tcode FBS1, i need to create a bdc program for both call transaction and session method using subroutine.
first call transaction needs to execute if there is an error sesion has to execute. if u have code please forward.
thanks in advance.
chandramouli pothuguntawhere as in call transaction we can do error handling explictly.those errors are stored in one file .this file will send to the error log(session method),i.e session log.
in the above case we use both call transaction n session method at time in one program.sample code is below ,go through it .
data : begin of itxk01 occurs 0,
end of itxk01.
data : bdcdata like itbdcdata occurs 0 with header line.
data : itbdcmsgcoll like itbdcmsgcoll occurs 0 with header line,
itxk01 like itxk01-dup occurs 0 with header line.
call gui-upload.
loop at itxk01.
refresh itxk01.
perform bdc-dynpr0 using 'prg' 'scr'
perform bdc-dynfld using fnam fval
call transaction 'xk01' using bdcdata mode 'a' update 's' messages into itbdcmsgcoll.
if sy-subrc ne 0.
append itxk01 into itxk01-dup.
endif.
endloop.
if not itxk01-dup[] is initial.
refresh itck01.
call bdc_open_group
itxk01 = itxk01-dup.
loop at itxk01.
refresh itxk01.
perform bdc-dynpr0 using 'prg' 'scr'
perform bdc-dynfld using fnam fval
call bdc-insert.
endloop.
call bdc-close-group.
form bdc-dynpr0 using pr sc
endform .
form bdc-field using fnam faval
endform.
this will help u.
reward points for me
kiran -
Call transaction and skip first screen
Hi,
I have a little but I think difficult problem
I have a selection screen and after that I call my dnypro. In this dynpro I can open a dynpro which looks like a popup where I have the possibility to call the same transaction with other input paramters.
the problem is when I make call transaction and want to go back I see the pop up dynpro which calls the transaction. so how can I close this popup dynpro by calling again transaction?I think I can't eyplain it.
Following. I have:
call transaction trans: selection screen calls dynpro 100, in dynpro 100 button with dynpro 200 with starting parameters.
dynpro 200 calls again transaction trans with skip first screen.
now I have displayed again dynpro 100 with new values. When I now want to go back I can see dynpro 200 which called the transaction. So how can I achieve this that dynpro 200 isn't shown when I go back ?
Maybe you are looking for
-
Sound blaster not installing correc
I just installed a new X-Fi XtremeGamer Fatalty Pro. It seemed to install smoothly, no error, windows lists it as functioning, and?I even have sound (though it only comes out of my front speakers, Not sure if thats related)?However Creative's softwar
-
Hello In our scenario we are entering data into a BSP and want to call a smartform and archive the smartform output as PDF on the click of a button. The displaying of the PDF file in the browser works fine. What I cannot get working is for the smartf
-
Hi Experts, I am looking for the ASAP Q&A database for MM and PP modules. Can anyone send me the documentation please? Fotso
-
I am getting a bit fed up with the "Flex View' pop-up ads popping up in my face every time I log into my Verizon e-mail. Is there any way to have Verizon STOP these annoying ads if I don't want them?
-
I'v used idvd many a time but this time idvd goes right through it's process (rendering etc) and as its starts to burn to dvd a window scroll's down saying "BURNING FINISHED, Errors were found during the burning process. The Error -34506 was reported