Modvat Utilization
Hi,
I have created an order, delivery and billing document. Billing doc has been released to accounting. However though the accounting doc has been generated, the excise invoice is not generated and also BED, EDCESS & VAT amount not disable. When I was doing the Excise invoice (T code: j1iin) I got the following error
Modvat utilization done already for XXXXXX of Delivery No: XXXXX
Message no. 8I446
Diagnosis
Modvat utilization done already for mentioned billing document
Procedure
Check the billing document entered
If I click on display button after that I got error like
Document not found. Excise posting not done or document is archived.
Message no. 8I301
Diagnosis
The entered document number could not be found either because it is not
correct or the document has been archived
Procedure
Please check the entered document number
*I checked at table J_1IEXCHDR in SE16N and found no entry for that billing doc no.*
How to solve this issue. Pl share ur suggestions.
Regards
Sankar.
You may check in J1I7 where you can see excise invoice reference, billing document and delivery reference. As per your indication, some excise invoice should have been generated against the said billing document.
Alternatively, go to J1IIN, click from top menu bar "Exc inv for delivery > Display". There key in the delivery reference and check whether you could see the excise invoice reference.
thanks
G. Lakshmipathi
Similar Messages
-
Dear all,
I have created an order, delivery and billing document. Billing doc has been released to accounting. However though the accounting doc has been generated, the excise invoice is not generated.
Plz help me what cud be the reason for that.
thanksDear bvdv,
I have checked that as well but it is showing:
"Document not found. Excise posting not done or document is archived"
and in J1iin it is showing as
"Modvat utilization done already for <billing doc> of Delivery <delivery doc no.>"
Very contradictory statements.
Thanks
Sapshed -
Excise Invoice got cancelled automatically
Dear Gurus,
When we create an Invoice in VF01 (No. 531) through Delivery document No. 322 and an Excise Invoice (25200) has to be separately created in J1IIN w.r.t. the commercial invoice no. 531.
But when we cancelled the commercial invoice, system automatically reversed the Excise Invoice account postings.
Now we made another Commercial Invoice (No. 532) and tried to make another Excise Invoice, the system is giving a error message saying "Modvat utilization done already for 532 of Delivery 322".
This is not supposed to happen. Where and how can I stop the automatic cancellation of Excise Invoice when we cancel a commercial invoice (VF11)? Or, how to post my Excise value to the Registers?
Edited by: yajee venkat on Mar 25, 2010 3:38 PMHi,
Are you sure excise invoice is also calcelled??? Since when you cancel the commercial invoice using VF11 its only the commercial invoice that is cancelled and not the Excise invoice. System gives the error message as "Modvat utilised XXXX" when the excise invoice is already created for the referenced document"
Pls check whether the Excise invoice is cancelled or not. If it is not cancelled you can try to cancel the Excise invoice using J1IIN.
When we create an Invoice in VF01 (No. 531) through Delivery document No. 322 and an Excise Invoice (25200) has to be separately created in J1IIN w.r.t. the commercial invoice no. 531.
Is the excise invoice created automatically when u save Billing Document???? If yes, and if you want to make the creation of excise invoice manually, then in Customizing of your Excise group you need to uncheck the indicator "Excise invoice during Billing".
Please update your observations.
Regards
Vamsi Javaji -
Error in creating Excise Invoice
Hi,
While trying to create an excise invoice from a billing document, I am getting the following error
"Modvat utilization done already for 2510002498 of Delivery 2501000872"
Please tell me how to rectify this problem.
Regards
MohanHi Lakshmipathi,
Thanks for your answer. I checked in the table and excise invoice has laready been created.
The problem is that for this order ther are two billing document. For one billing document the excise invoice has been created.
But while creating the excise invoice for another this error message is coming.
How could we rectify this error??
Regards
Mohan -
Error in excise invoice creation for differncial price invoice
Dear all,
When i am going to create outgoing excise invoice for differncial price invoice
i am having the error - "Reference document of 10006893 is not delivery document
Message no. 8I681"
Can somebody give me solution where to make settings in configration or else.
ArchanaKindly refer following SAP Note
Note 1251126 - Excise Invoice created for Billing document wrt Sales order
Symptom as suggested by the above SAP Note is:
In the scenario where billing document is created with reference to the Sales order, the reference document for billing document is not delivery and it is possible to create multiple billing documents wrt the same Sales Order.
In such a case, the excise invoice should not be allowed to be created with respect to such a billing document through the transaction J1IIN.
However, current the system is allowing excise invoice to be created wrt the first billing document for the sales order and then for the subsequent billing documents, the following error message is displayed - Modvat utilization done message no 8I 446. This is incorrect.
This note contains the corrections for not allowing the creation of the excise invoice for these billing documents.
Hope it assist your cause.
Thanks & Regards
JP -
Excise Invoice- Based on Billing Plan
Dear All,
Here in my client's place, we have a requirement like,
For a project-XYZ we create one sales order with materials A,B & C.
For this sales order we maintain billing plan 50% = X1 Rupees ,
25% = X2 Rupees ,
and 25% = X3 Rupees.
When project is finished 50% we create billing with X1 amount with reference of sales order and then we create excise invoice based on this billing document (NO delivery) and send it with material.
And for second billing for X2 amount SAP is not allowing to create excise invoice and throws message like modvat utilization has been done already.
Kindly suggest how to proceed and how to create excise invoice for remaining two amounts.
Thanks & RegardsHi ,
Thanks for your responce...
Is there any transaction code for removing the billing block automatically in the sales order and how can i indentify the date category as per billing plan..
Thank you very much..
Thanks in advance.
Regards,
KV -
Document not found. Excise posting not done or document is archived.
Hi,
I have created an order, delivery and billing document. Billing doc has been released to accounting. However though the accounting doc has been generated, the excise invoice is not generated and also BED, EDCESS & VAT amount not disable. When I was doing the Excise invoice (T code: j1iin) I got the following error
Modvat utilization done already for XXXXXX of Delivery No: XXXXX
Message no. 8I446
Diagnosis
Modvat utilization done already for mentioned billing document
Procedure
Check the billing document entered
If I click on display button after that I got error like
Document not found. Excise posting not done or document is archived.
Message no. 8I301
Diagnosis
The entered document number could not be found either because it is not
correct or the document has been archived
Procedure
Please check the entered document number
Plz help me what cud be the reason for that.
Regards
LVKDear LVK
Go to SE16, input Table J_1IEXCHDR and execute. There input the excise invoice number and execute. Check whether system is showing a document. Alternatively, without giving any data in the above table, just give the excise invoice date and execute. Check whether the said excise invoice is stored in the table.
thanks
G. Lakshmipathi -
Multiple Excise invoice against single outbound delivery
Dear Experts,
I have created single sales Order, Single OBD, Two billing documents against singel OBD and successfully created excise invoice against first billing document. while created excise invoice against second billing document system issues following eror message.
Modvat utilization done already for 22730123 of Delivery 9630331
Message no. 8I446
Diagnosis
Modvat utilization done already for mentioned billing document
Procedure
Check the billing document entered.
Please help.
Thanks,
V.K.Malagi.hi
check your excise related setting whether allowed for multiple excise document for a multiple billing document.
check the already created excise document for the value. if its fully matched. you have to reverse and you have to enter the correct amount and re-create for the two billing documents -
Cin-no enough balance for utilization---excixe invoice
hi gurus,
when i am updating excise registers using t.code J1I5
i am getting the following error
*Not Enough Balance for utilisation*
Message no. 8I578
Diagnosis
The balance in the Account is not enough to carry out the current transaction.
Procedure
You need to increase the balance by either taking credit or depositing into PLA.
kindly help me
how to update the registers?
thanks and regards
munichandra babu
sloution1
Are you sure you are getting this when you do J1I5? You can deposit some amount to the register you are trying to update the material into through J1IH > Additional excise.
Please check if you have set any default in the table "Utilisation determination" (SPRO >LG >India > Business transaction > Outgoing excise > utlisation determination") If you have set 100% utilisation to happen from PLA then you have to upload some balance into PLA a/c through J1IH > TR6C , else use J1IH > Additional excise for Rg23A and C.
Sloution2
If you use J1i3 tcode for creating excis einvoice then the system will go for immediate utilization of the cenvat account and if there is no enough balance ie; cenvat from purchase is less then u will end with the above error message.
So in that case we cn go for J1iin tocde for creating exciose invoice.
Then the utilization will be done at the end of the month while submitting the returns to excise authorities.
and also just check out the procedure that is followed in ur company and go accordingly.
If they wanna go for immediate utilization then check whether they have made any TR6 challan payment and do the posting in system in tocde j1ih ---tr6 challan and increase the PLA BED balance and then do J1i3.
Sloution3
Hope u r updating the RG1 register. As there is no enough balance while creating outgoing excise , do the J1IH - TR6 Challan posting or J1IH - Additional excise to take credit entries of Cenvat.
Sloution4
Check the Configuration of CIN.
IMG >> Logistic General >> Tax on Goods Movement >> India >> Business Transaction >> Utilization ....
Sloution5
The details are very clear.
what is the balance do u want to carry out.
The error clearly mentioned the avilable balance is not enought to carry out the current transaction.
Please increase the balance by either taking credit or deposting into Personal Ledger Account.
hi gurus,
while creating excise in voice using the t code j1iin
i am getting the following error
Excise modvat accounts not defined for TR6C transaction and 2 excise group
Message no. 8I402
kindly help me
munichandra babu
sloution1
hi,
go to this path : Logistic Genral==> Tax on Goods Movement ==>India ==> Account determination == > Specify GL Acounts per excise transaction..
here u have to maintain ur Excise Grp, TR6C, Company code, chat of A/C and correct GL account.
I created a excise invoice for factory sale. While updating the register
J1I5 Update the RG 1 and Part I registers
it is not simulating. Why is there any customization setting i have to do or what?
kindly help in this matter
Sloution1
Hi,
You need to set the movement types that are relevant for various registers.
spro -> Logistics general ->Tax on goods movement -> India -> Business transaction -> Incoming excise invoices ->Specify which movement types invoilves excise invoices.
Please check that.
Sloution2
First create receipt entry for Classification Key "RMA" for movement type 101 and then create for Goods Issue with Key "IDH" for movement type 601
Also check in SPRO > Logistics - General > Tax on Goods Movements > India > Business Transactions > Incoming Excise Invoices > Specify Which Movement Types Involve Excise Invoices > Here specify 101 and 601 for RG1 Register.
While creating excise invoice. the invoice not picking up the value aed,bed . In billing document the condition is appearing
I put H in PR00 still it is happening like that
kindly help in this matter
Sloution1
pls check the condition type defined at the step, is it the same as used in Billing doc where the excise value is coming.
SPRO > Logistics - General > Tax on Goods Movements > India > Determination of Excise Duty > Maintain Excise Defaults
Sloution2
You need to check two things if condition values are not copied to the excise invoice.
1. Go to Logistics General>Tax on Goods movements>India >Basic Settings>Determination of Excise Duty>Maintain Excise Defaults
Here you need to maintain your condition types of your BED, Ecess, SHE cess in A/R BED cond, A/R Ecess cond and A/R AT1 cond. Then try to cerate excise invoice.
2. Go to Logistics General>Tax on Goods movements>India >Basic Settings>Determination of Excise Duty>Condition-Based Excise Determination>Classify Condition Types
Here you need to assign your condition types of BED total Ecess total and SHE cess total if you are using totals condition types. Otherwise you leave it blank.
Let me know still you have peoblem in this.
Sloution3
All Excise Component and Cess Totals (JEXT,JEAT,JEST and JECT) must have Statistical Checkbox marked in V/08.For the Condition records totals, select the Key Combination: Sales Organization with value: 100%.
Can you specify what Key combination for Basic Excise Duty (JEXP) you are using? I prefer the Country/Plant/Control Code/Material combination.
It is not out of context to mention here, that whatever your Condition Type for Basic Price (PR00 - ZPRI in my case) is, it must have the 'Condition Category' as H - Basic Price in V/06. This is an extremely important setting until made this setting,all Excise Calculations will go into a tizzy.
Check out the above and let me know.
Best regards,
Sloution4
The condition type which you are using as base value should have the condition category as H.....check this out and let me know...
Cheers
Sloution5
pls also check the configuration setting done at :
SPRO > Logistics - General >Tax on Goods Movements > India > Basic Settings
Sloution6
Thats means you need to have a balance for utilisation.
To solve this you can do one of the two things.
Create some puchase orders in MM. Whenever you purchase the excise duty is credited into your Rg23A part2. This will show in your utilisation balances in J2iun.
Or else you can post some amounts into PLA accounts in J1IH transaction using JVs.
I hope your configuration on all these accounts in LG- Tax on goods - Account determination is in place. If not you may have to do that before this.
Sloution7
If you use J1i3 tcode for creating excis einvoice then the system will go for immediate utilization of the cenvat account and if there is no enough balance ie; cenvat from purchase is less then u will end with the above error message.
So in that case we cn go for J1iin tocde for creating exciose invoice.
Then the utilization will be done at the end of the month while submitting the returns to excise authorities.
and also just check out the procedure that is followed in ur company and go accordingly.
If they wanna go for immediate utilization then check whether they have made any TR6 challan payment and do the posting in system in tocde j1ih ---tr6 challan and increase the PLA BED balance and then do J1i3.
Sloution8
are you sure you are getting this when you do J1I5? You can deposit some amount to the register you are trying to update the material into through J1IH > Additional excise.
Please check if you have set any default in the table "Utilisation determination" (SPRO >LG >India > Business transaction > Outgoing excise > utlisation determination") If you have set 100% utilisation to happen from PLA then you have to upload some balance into PLA a/c through J1IH > TR6C , else use J1IH > Additional excise for Rg23A and C.
Sloution9
Hope u r updating the RG1 register. As there is no enough balance while creating outgoing excise , do the J1IH - TR6 Challan posting or J1IH - Additional excise to take credit entries of Cenvat.
Please maintain the customizing settings for automatic utilization
Excise modvat accounts not defined for TR6C transaction and 2 excise group
Message no. 8I402
Sloution1
Go to IMG Path -- Logistics-General --> Tax on Goods Movements --> India --> Basic Settings --> Maintain Series Groups.
Here for the combination of your Series Group and Excise Registration, select the box Imm util This will solve your first issue
For your second issue, again select the next tab Account Determination and click on Specify Excise Accounts per Excise Transaction. There maintain as follows:-
ETT::SubTmTy::::DC Ind:::::::::::Account Name
TR6C::::::::::::CR Credit::::::PONHLD PLA on hold account
TR6C::::::::::::DR Debit:::::::PLAAT1 PLA AT1 Account
TR6C::::::::::::DR Debit:::::::PLABED PLA BED account
TR6C::::::::::::DR Debit:::::::PLAECS PLA ECS Account
TR6C::::IP::::::CR Credit::::::ONHOLD CENVAT on hold account
TR6C::::IP::::::CR Credit::::::PONHLD PLA on hold account
TR6C::::IP::::::DR Debit:::::::PLAAT1 PLA AT1 Account
TR6C::::IP::::::DR Debit:::::::PLABED PLA BED account
TR6C::::IP::::::DR Debit:::::::PLAECS PLA ECS Account
TR6C::::IP::::::DR Debit:::::::RG23BED RG 23 BED account
TR6C::::IP::::::DR Debit:::::::RG23ECS RG 23 ECS Account
Once you maintained the above, click on next level Specify G/L Accounts per Excise Transaction. Here for the combination of Excise Group, Excise Transaction Type (TR6C) and Company Code, maintain the relevant G/Ls and save.
Sloution2
Create the Excise Group and assign the Modvat a/cs.
Sloution3
go to this path : Logistic Genral==> Tax on Goods Movement ==>India ==> Account determination == > Specify GL Acounts per excise transaction..
here u have to maintain ur Excise Grp, TR6C, Company code, chat of A/C and correct GL account.
Sloution4
go to this path : Logistic Genral==> Tax on Goods Movement ==>India ==> Account determination == > Specify GL Acounts per excise transaction..
here u have to maintain ur Excise Grp, TR6C, Company code, chat of A/C and correct GL account.
STILL I AM GETTING THE SAME PROBLEM
KINDLY HELP ME
WHERE I HAVE TO MAINTAIN THE BALANCE FOR PLA A/C
t.code or path
THANKS AND REGARDS
munichandrababuHi Munichandra Babu,'
Goto J1IH and select TR6C and then select the accounts for which you want to post the amount. Enter the amount and Save. Before saving dont forget to post the cumulative accounts amount in PLA on Hold Account.
Best Regards
Sri -
How to transfer 50% modvat credit in next fiscal year
Hi,
Please tell me how to transfer 50% credit next year for capital goods-RG23C-Part-II regarding modvat/cenvat
Thanks,
DharmveerHi
you have to run J2I8 t-code to transfer 50% modvat credit in next fiscal year.
After execute that t-code select excise invoice and click on Transfer Credit button .
After Transfer Credit you can find those amount in J2IUN (monthly Utilization)
Regards
Tanmoy -
Excise modvat accounts not defined for GRPO transaction and 21 excise group
Hello SD Gurus,
I am getting Following message while process of reversing ARE1
I have followed following step to reverse .
1. go to transaction code J1ia101
2. select at reversal screen
3.give the created ARE1 doc no.
4. given the reson for reversal
5 go to utilization tab
6. give the payable amount in PLA bed Account
7. click on item display
8 click on balances
system gives following error message
Excise modvat accounts not defined for GRPO transaction and 21 excise group
Message no. 8I402
I have checked in SPRO for acount assignment in following path
Tax on Goods Movements --> Account Determination --> Specify G/L Accounts per Excise Transaction
Thanks for promt replyGo to IMG --> Logistics General --> Tax on Goods Movements --> India --> Account Determination --> Specify Excise Accounts per Excise Transaction.
Here maintain Excise Transaction Type GRPO with respective G/L accounts
thanks
G. Lakshmipathi -
Report for calculating capacity utilization and Efficency
Hi,
We are following REM in our company. The production line is defined in the production version. While backflushing the production line is called automatically and hence backflushing is done.
We calculate the capacity utilization by using the formulae.
Capacity Utilization = (Backflushed Qty/ Available capacity)*100.
My queries are:
1. Is there any standard report to determine the capacity utilization of a production line.
2. Is there any standard report to calcualte the efficency of a production line.
waiting for reply.
With regards,
AfzalHi afzal
1. you have mentioned ; Available capacity = Std.time per piece * no. of working hrs
Let me explain with example
suppose per piece if it takes 10 mins, now according to your formula
A.C = 10* 24 * 60 = 14400 per day, but which is not correct
normally if 10 mins/ peice means 6 peices/hr and for 24 hrs 24*6 = 144.
so it must be A.C = no. of working hrs / Std.time per piece.
2. You have mentioned = capacity utlilised = total Backflushed qty per day., which means you are caluculating capacity utilization based on input material.
3. Utilization = (Avaliable capacity/ Capacity utilised) * 100
suppose let us consider Available capacity per day =100
capacity utilized = 50
Utilization = (100/50) * 100 = 200%, which is not correct it should be only 50%
Here my main doubt is why You are caluculating capacity based on input material.
Please explanin me you business process and whats the exact requirement so that I can help you out.
Please check the formulae -
Follow up on an old thread about memory utilization
This thread was active a few months ago, unfortunately its taken me until now
for me to have enough spare time to craft a response.
From: SMTP%"[email protected]" 3-SEP-1996 16:52:00.72
To: [email protected]
CC:
Subj: Re: memory utilization
As a general rule, I would agree that memory utilzation problems tend to be
developer-induced. I believe that is generally true for most development
environments. However, this developer was having a little trouble finding
out how NOT to induce them. After scouring the documentation for any
references to object destructors, or clearing memory, or garbage collection,
or freeing objects, or anything else we could think of, all we found was how
to clear the rows from an Array object. We did find some reference to
setting the object to NIL, but no indication that this was necessary for the
memory to be freed.
I believe the documentation, and probably some Tech-Notes, address the issue of
freeing memory.
Automatic memory management frees a memory object when no references to the
memory
object exist. Since references are the reason that a memory object lives,
removing
the references is the only way that memory objects can be freed. This is why the
manuals and Tech-Notes talk about setting references to NIL (I.E. freeing memory
in an automatic system is done by NILing references and not by calling freeing
routines.) This is not an absolute requirement (as you have probably noticed
that
most things are freed even without setting references to NIL) but it accelerates
the freeing of 'dead' objects and reduces the memory utilization because it
tends
to carry around less 'dead' objects.
It is my understanding that in this environment, the development tool
(Forte') claims to handle memory utilization and garbage collection for you.
If that is the case, then it is my opinion that it shoud be nearly
impossible for the developer to create memory-leakage problems without going
outside the tool and allocating the memory directly. If that is not the
case, then we should have destructor methods available to us so that we can
handle them correctly. I know when I am finished with an object, and I
would have no problem calling a "destroy" or "cleanup" method. In fact, I
would prefer that to just wondering if Forte' will take care of it for me.
It is actually quite easy to create memory leaks. Here are some examples:
Have a heap attribute in a service object. Keep inserting things into
the heap and never take them out (I.E. forgot to take them out). Since
service objects are always live, everything in the heap is also live.
Have an exception handler that catches exceptions and doesn't do
anything
with the error manager stack (I.E. it doesn't call task.ErrMgr.Clear).
If the handler is activated repeatedly in the same task, the stack of
exceptions will grow until you run out of memory or the task terminates
(task termination empties the error manager stack.)
It seems to me that this is a weakness in the tool that should be addressed.
Does anyone else have any opinions on this subject?
Actually, the implementation of the advanced features supported by the Forte
product
results in some complications in areas that can be hard to explain. Memory
management
happens to be one of the areas most effected. A precise explanation to a
non-deterministic process is not possible, but the following attempts to
explain the
source of the non-determinism.
o The ability to call from compiled C++ to interpreted TOOL and back
to compiled C++.
This single ability causes most of the strange effects mentioned in
this thread.
For C++ code the location of all variables local to a method is not
know
(I.E. C++ compilers can't tell you at run-time what is a variable
and what
isn't.) We use the pessimistic assumption that anything that looks
like a
reference to a memory object is a reference to a memory object. For
interpreted
TOOL code the interpreter has exact knowledge of what is a reference
and what
isn't. But the TOOL interpreter is itself a C++ method. This means
that any
any memory objects referenced by the interpreter during the
execution of TOOL
code could be stored in local variables in the interpreter. The TOOL
interpreter
runs until the TOOL code returns or the TOOL code calls into C++.
This means
that many levels of nested TOOL code can be the source of values
assigned to
local variables in the TOOL interpreter.
This is the complicated reason that answers the question: Why doesn't a
variable that is created and only used in a TOOL method that has
returned
get freed? It is likely that the variable is referenced by local
variables
in the TOOL interpreter method. This is also why setting the
variable to NIL
before returning doesn't seem to help. If the variable in question is a
Array than invoke Clear() on the Array seems to help, because even
though the
Array is still live the objects referenced by the Array have less
references.
The other common occurrence of this effect is in a TextData that
contains a
large string. In this case, invoking SetAllocatedSize(0) can be used
to NIL
the reference to the memory object that actually holds the sequence of
characters. Compositions of Arrays and TextData's (I.E. a Array of
TextData's
that all have large TextDatas.) can lead to even more problems.
When the TOOL code is turned into a compiled partition this effect
is not
noticed because the TOOL interpreter doesn't come into play and
things execute
the way most people expect. This is one area that we try to improve
upon, but it is complicated by the 15 different platforms, and thus
C++ compilers,
that we support. Changes that work on some machines behave
differently on other
machines. At this point in time, it occasionally still requires that
a TOOL
programmer actively address problems. Obviously we try to reduce
this need over
time.
o Automatic memory management for C++ with support for multi-processor
threads.
Supporting automatic memory management for C++ is something that is
not a very
common feature. It requires a coding standard that defines what is
acceptable and
what isn't. Additionally, supporting multi-processor threads adds
its own set of
complications. Luckily TOOL users are insulated from this because
the TOOL to C++
code generator knows the coding standard. In the end you are
impacted by the C++
compiler and possibly the differences that occur between different
compilers and/or
different processors (I.E. Intel X86 versus Alpha.) We have seen
applications that
had memory utilization differences of up to 2:1.
There are two primary sources of differences.
The first source is how compilers deal with dead assignments. The
typical TOOL
fragment that is being memory manager friendly might perform the
following:
temp : SomeObject = new;
... // Use someObject
temp = NIL;
return;
When this is translated to C++ it looks very similar in that temp
will be assigned the
value NULL. Most compilers are smart enough to notice that 'temp' is
never used again
because the method is going to return immediately. So they skip
setting 'temp' to NULL.
In this case it should be harmless that the statement was ignored
(see next example for a different variation.) In more
complicated examples that involve loops (especially long
lived event loops) a missed NIL assignment can lead to leaking the
memory object whose
reference didn't get set to NIL (incidentally this is the type of
problem that causes
the TOOL interpreter to leak references.)
The second source is a complicated interaction caused by history of
method invocations.
Consider the following:
Method A() invokes method B() which invokes method C().
Method C() allocates a temporary TextData, invokes
SetAllocatedSize(1000000)
does some more work and then returns.
Method B() returns.
Method A() now invokes method D().
Method D() allocates something that cause the memory manager to look
for memory objects to free.
Now, even though we have returned out of method C() we have starting
invoking
methods. This causes us to use re-use portions of the C++ stack used to
maintain the history of method invocation and space for local variables.
There is some probability that the reference to the 'temporary' TextData
will now be visible to the memory manager because it was not overwritten
by the invocation of D() or anything invoked by method D().
This example answers questions of the form: Why does setting a local
variable to
NIL and returning and then invoking task.Part.Os.RecoverMemory not
cause the
object referenced by the local variable to be freed?
In most cases these effects cause memory utilization to be slightly
higher
than expected (in well behaved cases it's less than 5%.) This is a small
price to pay for the advantages of automatic memory management.
An object-oriented programming style supported by automatic memory
management makes it
easy to extended existing objects or sets of objects by composition.
For example:
Method A() calls method B() to get the next record from the
database. Method B()
is used because we always get records, objects, of a certain
type from
method B() so that we can reuse code.
Method A() enters each row into a hash table so that it can
implement a cache
of the last N records seen.
Method A() returns the record to its caller.
With manual memory management there would have to be some interface
that allows
Method A() and/or the caller of A() to free the record. This
requires
that the programmer have a lot more knowledge about the
various projects
and classes that make up the application. If freeing doesn'
happen you
have a memory leak, if you free something while its still
being used the
results are unpredictable and most often fatal.
With automatic memory management, method A() can 'free' its
reference by removing
the reference from the hash table. The caller can 'free' its
reference by
either setting the reference to NIL or getting another
record and referring
to the new record instead of the old record.
Unfortunately, this convenience and power doesn't come for free. Consider
the following,
which comes from the Forte' run-time system:
A Window-class object is a very complex beast. It is composed of two
primary parts:
the UserWindow object which contains the variables declared by the
user, and the
Window object which contains the object representation of the window
created in
the window workshop. The UserWindow and the Window reference each
other. The Window
references the Menu and each Widget placed on the Window directly. A
compound Window
object, like a Panel, can also have objects place in itself. These
are typically
called the children. Each of the children also has to know the
identity of it's
Mom so they refer to there parent object. It should be reasonably
obvious that
starting from any object that make up the window any other object
can be found.
This means that if the memory manager finds a reference to any
object in the Window
it can also find all other objects in the window. Now if a reference
to any object
in the Window can be found on the program stack, all objects in the
window can
also be found. Since there are so many objects and the work involved
in displaying
a window can be very complicated (I.E. the automatic geometry
management that
layouts the window when it is first opened or resized.) there are
potentially many
different reference that would cause the same problem. This leads to
a higher than
normal probability that a reference exists that can cause the whole
set of Window
objects to not be freed.
We solved this problem in the following fashion:
Added a new Method called RecycleMemory() on UserWindow.
Documented that when a window is not going to be used again
that it is
preferably that RecycleMemory() is invoked instead
of Close().
The RecycleMemory() method basically sets all references
from parent to
child to NIL and sets all references from child to
parent to NIL.
Thus all objects are isolated from other objects
that make up
the window.
Changed a few methods on UserWindow, like Open(), to check
if the caller
is trying to open a recycled window and throw an
exception.
This was feasible because the code to traverse the parent/child
relationship
ready existed and was being used at close time to perform other
bookkeeping
operations on each of the Widgets.
To summarize:
Automatic memory management is less error prone and more productive but
doesn't come totally for free.
There are things that the programmer can do that assists the memory
manager:
o Set object reference to NIL when known to be correct (this
is the
way the memory is deallocated in an automatic system.)
o Use methods like Clear() on Array and SetAllocatedSize()
on TextData to
that allow these objects to set their internal
references to NIL
when known to be correct.
o Use the RecycleMemory() method on windows, especially very
complicated
windows.
o Build similar type of methods into your own objects when
needed.
o If you build highly connected structures that are very
large in the
number of object involved think that how it might be
broken
apart gracefully (it defeats some of the purpose of
automatic
management to go to great lengths to deal with the
problem.)
o Since program stacks are the source of the 'noise'
references, try
and do things with less tasks (this was one of the
reasons that
we implemented event handlers so that a single task
can control
many different windows.)
Even after doing all this its easy to still have a problem.
Internally we have
access to special tools that can help point at the problem so that
it can be
solved. We are attempting to give users UNSUPPORTED access to these
tools for
Release 3. This should allow users to more easily diagnose problems.
It also
tends to enlighten one about how things are structured and/or point out
inconsistencies that are the source of known/unknown bugs.
Derek
Derek Frankforth [email protected]
Forte Software Inc. [email protected]
1800 Harrison St. +510.869.3407
Oakland CA, 94612I beleive he means to reformat it like a floppy disk.
Go into My Computer, Locate the drive letter associated with your iPod(normally says iPod in it, and shows under removable storage).
Right click on it and choose format - make sure to not have the "quick format" option checked. Then let it format.
If that doesnt work, There are steps somewhere in the 5th gen forum( dont have the link off hand) to try to use the usbstor.sys to update the USB drivers for the Nano/5th gen. -
How to set up notification email for Full CPU utilization on OEM12c?
I have found a Oracle Doc,Is that's the way email notifications are setup?How can i check that after setting the notifications?
4.1.2.3 Subscribe to Receive E-mail for Incident Rules
An incident rule is a user-defined rule that specifies the criteria by which notifications should be sent for specific events that make up the incident. An incident rule set, as the name implies, consists of one or more rules associated with the same incident.
When creating an incident rule, you specify criteria such as the targets you are interested in, the types of events to which you want the rule to apply. Specifically, for a given rule, you can specify the criteria you are interested in and the notification methods (such as e-mail) that should be used for sending these notifications. For example, you can set up a rule that when any database goes down or any database backup job fails, e-mail should be sent and the "log trouble ticket" notification method should be called. Or you can define another rule such that when the CPU or Memory Utilization of any host reach critical severities, SNMP traps should be sent to another management console. Notification flexibility is further enhanced by the fact that with a single rule, you can perform multiple actions based on specific conditions. Example: When monitoring a condition such as machine memory utilization, for an incident severity of 'warning' (memory utilization at 80%), send the administrator an e-mail, if the severity is 'critical' (memory utilization at 99%), page the administrator immediately.
You can subscribe to a rule you have already created.
From the Setup menu, select Incidents, then select Incident Rules.
On the Incident Rules - All Enterprise Rules page, click on the rule set containing incident escalation rule in question and click Edit... Rules are created in the context of a rule set.
Note: In the case where there is no existing rule set, create a rule set by clicking Create Rule Set... You then create the rule as part of creating the rule set.
In the Rules section of the Edit Rule Set page, highlight the escalation rule and click Edit....
Navigate to the Add Actions page.
Select the action that escalates the incident and click Edit...
http://docs.oracle.com/cd/E24628_01/doc.121/e24473/notification.htm#CACHDCADMake sure you have correct thresholds...
from target home>monitoring>"Metric and Collection Settings"
Check the incident rule for warning and critical events for host targets
Setup>Incident>Incident Rules -
Material com múltipla utilização - Determinação do CFOP
Olá experts!
Gostaria de validar aqui a solução na qual chegamos para determinação automática do CFOP para material de venda para múltipla utilização.
Ocorre que na empresa em que trabalho, o mesmo produto pode ser vendido:
1) para consumo final e para revenda
2) para industrialização e para revenda.
No mestre de materiais esta configuração está na visão de Contabilidade(2) e possibilita a identificação de apenas uma utilização. Dá a impressão que a SAP espera que criemos múltiplos materiais, porém por razão de planejamento, preço e etc isto não é possível.
Se este parâmetro estivesse na visão de vendas as coisas seriam mais fáceis e lógicas a nosso ver.
Outro ponto interessante é que na J1bTax > SD > Visão SD, a utilização cliente só está como Consumo e Industrialização. Não trás revenda, porém da visão de MM a revenda é considerada.
Pergunta: O conceito deste ponto com o do mestre de materiais é o mesmo?
Como não conseguimos configurar a determinação do CFOP por estes pontos, a ainda seguindo uma solução dentro do standard, fizemos o seguinte:
1) Configuramos uma nova utilização de material: ZL01 u2013 Resale exception
2) Criamos uma nova categoria de item ZBN e associamos à utilização ZL01
3) Em localização > Determinação do CFOP incluímos a exceção para esta nova categoria de item
4) E depois de tudo isto foi possível em Cliente/Material (VD51) fazer a associação do material com esta utilização.
O problema é que isto demandará replicar um volume grande de dados, para todos os clientes que compram na exceção. E tememos que a manutenção disto no futuro não fosse 100% confiável.
Vocês indicam outra solução?
Desde já agradeço
Emerson ZaniniDeterminação de CFOP com múltipla utilização.
Boa tarde pessoal,
Tenho um problema parecido em MM.
Hora compro o material para consumo, hora compro o mesmo material para ativo.
Gostaria de saber se alguém tem uma solução para resolver esse problema.
A criação de 2 cadastros de materiais é inviável.
Att:.
Bruno Viol
Maybe you are looking for
-
ICal Mavericks update seeing start time in month view
Is there any way to, in the Mavericks' version of iCal, get back the option to see the starting time of events in the month view?
-
The cord works, theusb port works, and when I plug my ipod into the wall charger it works, but when I plug it into the computer, nothing, not even charging. P.S. it worked before I updated it to iOS 6.1.5
-
"Confirm your payment information" is this legit or a hack?
I just tried to download a free app from the App Store, and I got a challenge question before I got to "Install", asking me to "Confirm your payment information". The question says it all. Am I the victim of a hack, or is this a legitimate question
-
Dear Experts, How can I map the following entry in Interest Rate Instrument? Interest Exp - Dr---- 10/- TDS - Cr---- 1/- Bank Outgoing - Cr---- 9/- I have created a new derived flow for TDS and I assigned the respective G/L acc
-
JSLink not working when using any list ViewStyles other than default.
Hi, I have a custom field and i am doing client side rendering of it using JSLink for ListView form. I started by applying the JSLink in custom field class. public override string JSLink get { return myJSLinkPath; } set { base.JSLink = value; } Every