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

  • Excise invoice not generating

    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.
    thanks

    Dear 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 PM

    Hi,
    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
    Mohan

    Hi 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.
    Archana

    Kindly 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 & Regards

    Hi ,
    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
    LVK

    Dear 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
    munichandrababu

    Hi 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,
    Dharmveer

    Hi
    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 reply

    Go 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,
    Afzal

    Hi 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, 94612

    I 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#CACHDCAD

    Make 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 Zanini

    Determinaçã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