How to treat returned goods from customers

Hi,
How do I treat returned from customers in SAP FICO? The example I have in mind is if company decides to break down raw materials from the finished goods and re-use it Maybe anyone of you have other examples. But in any case, what I want to know is how we treat it in Finance? What are the accounting entries upon return and upon re-use?
Thanks,
Josef

Hi Josef
Quite an interesting question!!
1. when you receive the returned goods,
           Stock Dr
              Change in Stock Cr
2. Assume your material returned is FG A and it has components B and C... Now you want to cannibalize A and retrieve B and C out of it
This process is more like a rework.. Process steps could be as below
a. Create a Production order for B - Planned Qty = 1 (Separate order type)
b. Component in the Production order will be FG A (1 Qty)
c. Add Component C as a By Product in the Production order BOM i.e. with Qty =  - 1 (Negative)
d. If you wanna add any Labor or machine hrs, you can aadd manually in the Production order operations
Now, when FG is consumed in the Prod order,
    Consumption of FG   Dr
           Stock   Cr
When stock of B and C will be received,
     Stock of RM   Dr
             Change in stock / COGM  Cr
Br. Ajay M

Similar Messages

  • Returnable packaging from customers

    Hi,
    how Returnable packaging from customers is handled in sd module... in sales order, delivery.... etc.
    could someone explain with the help of a business scenario with config.
    regards
    sachin

    Hi..
    When you sell goods to a customer, you may send the goods in returnable packaging. During sales order processing, you simply enter the returnable packaging as an item in your order. You can process returnable packaging either as main items or as sub-items. For example, if you sell drinks in bottles and want the empty bottles to be returned, you can enter the bottles as sub-items for the drinks in the sales order. The item category group LEIH must be assigned to the bottles in the material master record so that they are processed as returnable packaging. During processing, the system recognizes that it is dealing with returnable packaging because the item category group LEIH is assigned to the material. The system then determines another item category in the sales order to allow the material to be processed as returnable packaging. As a result of entering returnable packaging in a sales order, the system carries out the following actions.
    If special stock does not yet exist in your inventory for the customer (or special stock partner), the system creates it when goods issue is posted
    The relevant quantity is removed from regular inventory in your plant and is added to the special stock for the customer. The total valuated stock for the plant remains the same.
    The transaction is not relevant for pricing since the consignment stock remains the property of your company.
    Returnable Packaging Pick-Up
    If the customer returns the returnable packaging to you, you record the transaction in the system by creating a returnable packaging pick-up order (order type LA). As a result, the system carries out the following actions:
    When goods issue is posted, the relevant quantity is deducted from the customeru2019s special stock and is added back into your regular stock at the plant where the goods are returned. Your total valuated stock remains the same since the returned stock was regarded as part of your own inventory even while it was at the customeru2019s premises.
    This transaction is not relevant for billing.
    Returnable Packaging Issue
    In the following situations, you can create a returnable packaging issue order (order type LN):
    The customer decides to keep the returnable packaging
    The customer damages the returnable packaging and you decide to charge the customer
    The customer sells the returnable packaging to a third party
    As a result of processing a returnable packaging issue, the system carries out the following actions:
    When goods issue is posted, the relevant quantity is deducted from both the customeru2019s special stock and your own total valuated stock.
    The transaction is relevant for billing since the goods have become the property of the customer.
    Sales Order Types
    The following table provides an overview of the order types used in the standard system for processing returnable packaging:
    Transaction
    Sales order type
    Returnable packaging pick-up
    LA
    Returnable packaging issue
    LN
    When you ship returnable packaging to the customer, you do not need to use a special order type. The transaction is a normal business transaction and you can use either a standard sales order or, if appropriate, a free of charge delivery.
    Pricing and Availability Check
    Whether pricing is carried out for the individual transactions depends on the item category. The schedule line category controls the availability check and the transfer of requirements in each of the transactions. The schedule line category itself is determined by the item category and the MRP type of the material. The order types LN and LA check against returnable packaging for the relevant customer. Requirement records for returnable packaging stock are stored as individual requirements, independently of the setting in the material master record.
    For more info please visit the thread-
    Returnable packing material
    Regds
    MM

  • How can i return object from oracle in my java code using pl/sql procedure?

    How can i return object from oracle in my java code using pl/sql procedure?
    And How can i returned varios rows fron a pl/sql store procedure
    please send me a example....
    Thank you
    null

    yes, i do
    But i can't run this examples...
    my problem is that i want recive a object from a PL/SQL
    //procedure callObject(miObj out MyObject)
    in my java code
    public static EmployeeObj callObject(Connection lv_con,
    String pv_idEmp)
    EmployeeObj ret = new EmployeeObj();
    try
    CallableStatement cstmt =
    lv_con.prepareCall("{call admin.callObject(?)}");
    cstmt.registerOutParameter(1, OracleTypes.STRUCT); // line ocurr wrong
    //registerOutParameter(int parameterIndex, int sqlType,String sql_name)
    cstmt.execute();
    ret = (EmployeeObj) cstmt.getObject(1);
    }//try
    catch (SQLException ex)
    System.out.println("error SQL");
    System.out.println ("\n*** SQLException caught ***\n");
    while (ex != null)
    System.out.println ("SQLState: " + ex.getSQLState ());
    System.out.println ("Message: " + ex.getMessage ());
    System.out.println ("Vendor: " + ex.getErrorCode ());
    ex = ex.getNextException ();
    System.out.println ("");
    catch (java.lang.Exception ex)
    System.out.println("error Lenguaje");
    return ret;
    Do you have any idea?

  • How do you return items from the trash can to their original locationn

    how do you return items from the trash can to their original location

    Welcome to the Apple Support Communities
    To restore a file on the Trash to its original location, open Trash, right-click the file or press it with Command key, and select Put Back

  • How to deduct return goods amount directly in invoice

    Dear Experts,
    Customer return the goods now, after six months he will raise an sales order.
    Now client requirement is the return goods amount deduct from this this invoice.
    they want to show in billing,total amount and deducted amount with reason.
    Regards,
    Amar Reddy

    hi
    Customer return the goods now, after six months he will raise an sales order
    I am sorry but this requirment dosen't make any sence.
    If customer is returning goods now, then there must be some document (sales order or invoice for these goods)
    But if invoice is cleared i.e. posted to accounting then you can not do anything.
    Now coming to your scenario.
    Customer returns goods QTY = 100
    and after 6 months placing order for= 200
    You can add 2 line items with 100 and 200 qty for same material and one of material can have '-' pricing condition type
    in V/06 make the positive/negative as blank for this condition type
    And to deduct amount you can give negative value
    But again how you will handle stock??
    so best way is to go for Credit / debit memo and keep system sync

  • How to get return value from java and read by other application?

    i want to read return value from java and the other application read it.
    for example:
    public class test_return {
        test_return(){
        public int check(){
            return 1;
        public static void main(String args[]){
           new test_return().check();
    }from that class i make as jar file. How to read the return value (1) by other application?
    thx..

    If your installer is requiring some process it invokes to return a particular value on failure, then the installer is seriously broken. There are a bazillion commands your installer could invoke, and any of them could fail, which in turn could invalidate the entire install process, and any of them could return any value on failure. The only value that's consistent (in my experience) is that zero means success and non-zero means failure, with specific non-zero values being different in different programs.
    About the only control you have over the JVM's exit code is that if your main method completes without throwing an exception, the JVM will have an exit code of 0, and if main throws an exception (either explicitly or by not catching one thrown from below), it will be non-zero. I'm not even sure if that's guaranteed, but I would guess that's the case.
    EDIT: I'm kind of full of crap here. If you're writing the Java code, you can call System.exit(whatever). But nonetheless, if your installer requires certain exit codes from any app--java or otherwise--you have a problem.
    Edited by: jverd on Oct 29, 2009 1:27 AM

  • How to get return value from Java runtime.getRuntime.exec?

    I'm running shell commands from an Oracle db (11gr2) on aix.
    But, I would like to get a return value from a shell comand... like you get with "echo $?"
    I use a code like
    CREATE OR REPLACE JAVA SOURCE NAMED common."Host" AS
    import java.io.*;
    public class Host {
      public static int executeCommand(String command) {
        int retval=0;
        try {
            String[] finalCommand;
            finalCommand = new String[3];
            finalCommand[0] = "/bin/sh";
            finalCommand[1] = "-c";
            finalCommand[2] = command;
          final Process pr = Runtime.getRuntime().exec(finalCommand);
          pr.waitFor();
       catch (Exception ex) {
          System.out.println(ex.getLocalizedMessage());
          retval=-1;
        return retval;
    /but I do not get a return value... because I don't know how to get return value..
    Edited by: user9158455 on 22-Sep-2010 07:33

    Hi,
    Have your tried pr.exitValue() ?
    I think you also need a finally block that destroys the subprocess
    Regards
    Peter

  • How to get return values from stored procedure to ssis packge?

    Hi,
    I need returnn values from my stored procedure to ssis package -
    My procedure look like  and ssis package .Kindly help me to oget returnn value to my ssis package
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author: <Author,,Name>
    -- Create date: <Create Date,,>
    -- Description: <Description,,>
    -- =============================================
    ALTER PROCEDURE [TSC]
    -- Add the parameters for the stored procedure here
    @P_STAGE VARCHAR(2000)
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    -- Insert statements for procedure here
    --SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
    truncate table [INPUTS];
    INSERT
    INTO
    [INPUTS_BASE]
    SELECT
    [COLUMN]
    FROM [INPUTS];
    RETURN
    END
    and i am trying to get the return value from execute sql task and shown below
    and i am taking my returnn value to result set variable

    You need to have either OUTPUT parameters or use RETURN statement to return a value in stored procedures. RETURN can only return integer values whereas OUTPUT parameters can be of any type
    First modify your procedure to define return value or OUTPUT parameter based on requirement
    for details see
    http://www.sqlteam.com/article/stored-procedures-returning-data
    Once that is done in SSIS call sp from Execute SQL Task and in parameter mapping tabe shown above add required parameters and map them to variables created in SSIS and select Direction as Output or Return Value based on what option you used in your
    procedure.
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Re: Issue in Returning Goods from Production..!!!

    Dear SAP Experts,
    Good Day..!!!
    I want to take a return quantity say 145 from Receipt from Production.When we click the add button it shows error msg as cannot add # without incomplete selection of batch/serial numbers. How to resolve from this issue..
    I have an idea of taking the return from Goods Receipt but i don't know whether it works fine or not..Plz Help me to resolve from this issue..
    With Regards,
    Revathy

    Hi Revathy......
    Check this thread out.......
    Hope you get some clue.....
    Re: Cannot add row # without complete selection of batch/serial numbers
    Regards,
    Rahul

  • Please help how to get return array from rpg program on java code?

    Hi
    I have created a rpg program that returns 2 parameter 1 is the id and another one is list of array, when I called this program I passed two programparameter from my java code (see the code below) but when i checked what value would be return it is returned only first value of array. how will i get all array values ?
    please suggest me regarding this issues I amn't so much aware on java & AS400.
    try
    ProgramParameter[] parmList = new ProgramParameter[2];
    AS400Text p1 = new AS400Text(10);
    AS400Text p2 = new AS400Text(30);
    try
    parmList[0] = new ProgramParameter(10);
    parmList[1] = new ProgramParameter(30);
    parmList[0].setParameterType(ProgramParameter.PASS_BY_REFEREN CE);
    parmList[1].setParameterType(ProgramParameter.PASS_BY_REFEREN CE);
    parmList[0].setInputData(p1.toBytes("Pune"));
    parmList[1].setInputData(p2.toBytes(" "));
    catch(Exception ex)
    ProgramCall pgm = new ProgramCall(o);
    pgm.setProgram("/QSYS.LIB/XXX/XXX.PGM",parmList);
    if (pgm.run())
    byte s[] = parmList[1].getOutputData(); // HERE I got only first value of returning array.
    parmList[1].getOutputDataLength();
    //String sts = ((String) (new AS400Text(10,o).toBytes(s[0])));
    else
    AS400Message[] messageList = pgm.getMessageList();
    for (int msg = 0; msg < messageList.length; msg++) {
    catch(Exception ex)
    AS400Message[] messageList = null;
    finally
    o.disconnectAllServices();
    Reply With Quote

    Try this :
    try
    ProgramParameter[] parmList = new ProgramParameter[2];
    AS400Text p1 = new AS400Text(10);
    AS400Text p2 = new AS400Text(30);
    AS400Array arrP2 = new AS400Array(p2, 4);
    try
    parmList[0] = new ProgramParameter(10);
    parmList[1] = new ProgramParameter(30);
    parmList[0].setParameterType(ProgramParameter.PASS_BY_REFEREN CE);
    parmList[1].setParameterType(ProgramParameter.PASS_BY_REFEREN CE);
    parmList[0].setInputData(p1.toBytes("Pune"));
    parmList[1].setInputData(arrP2.toBytes({"","","",""}));
    catch(Exception ex)
    ProgramCall pgm = new ProgramCall(o);
    pgm.setProgram("/QSYS.LIB/XXX/XXX.PGM",parmList);
    if (pgm.run())
         Object[] objArr =  (Object [])arrP2.toObject( parmList[1].getOutputData() );
         for(int i =0; i<objArr.length;i++){
                System.out.println( " SKU " + i +" : " + objArr.toString());
    else
    AS400Message[] messageList = pgm.getMessageList();
    for (int msg = 0; msg < messageList.length; msg++) {
    catch(Exception ex)
    AS400Message[] messageList = null;
    finally
    o.disconnectAllServices();

  • How to get return values from a button to main program.

    hello,
    I have a main program which has a button Authenticate. On click of authenticate open a form for auth which has USERNAME FIELS AND PASSWORD.
    If entered fields are true then enable editing of jtable in main program..
    Basically something like this :
    //main program
    Authenticate.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent ae)
    UpdateAuth ua=new UpdateAuth();// opens form which has username and pass for authentication
    ua.setVisible(true);
    //need code here for enabling table
    if(s=="mactus")
    enable table editing
    //table.repaint();
    // form open for auth..(class UpdateAuth )
    private String SigninMouseClicked(java.awt.event.MouseEvent evt) {
    String aname=Aname.getText();
    String apass=Apassword.getText();
    if(aname.equals("") && apass.equals(""))
    JOptionPane.showMessageDialog(null,"Enter login name or password","Error",JOptionPane.ERROR_MESSAGE);
    if(!(aname.equals("") && apass.equals("")))
    if(aname.equals("harshil") && apass.equals("harshil123"))
    String s="mactus"; /// if username and password is success enable table editing in main program
    return s;
    else if (!aname.equals("mactus") && !apass.equals("mactus123"))
    Aname.setText("");
    Apassword.setText("");     
    return null;
    }

    986154 wrote:
    hello,
    I have a main program which has a button Authenticate. On click of authenticate open a form for auth which has USERNAME FIELS AND PASSWORD.
    If entered fields are true then enable editing of jtable in main program..Well, you might be in over your head.
    //need code here for enabling table
    if(s=="mactus") If you don't know how to correctly test for String equality, you will have no chance of getting this to work.
    You need to hit the tutorials. First the basic one, then the Swing one.

  • How to get return values from task flow in af:region ?

    Hi!
    I'm working with a taskFlow that is rendered inside a popup using the "popup inside a region pattern" (http://www.oracle.com/technology/products/adf/patterns/popupregionpattern.pdf), but now this taskFlow has an input parameter and a return value definition. So the question is how to get a value returned by this taskFlow thas is called inside a region?
    Any suggestion?
    Thanks in advance!

    Hi,
    write the value to a shared memory scope like session and read it in the regionNavigation listener. If you follow the paper you refer to then the listener determines of the viewId is null, this a return happens. It wuld then look in the memory scope for the return value.
    Another option would be to use an object that you pass as an argument to the task flow you open in the popup. Then you change the object you passed in, which then makes the return information available in teh calling flow. The object you pass in would have to be in a shared scope too
    Frank

  • Transaction Launcher : How to get return parameters from an external URL

    Hello,
    We need to launch an external URL in the Web Client UI. After the URL is launched, the user does some processing which results in some output values. These value have to be passed back to the Web Client UI and become a part of the quotation he is creating.
    We are able to launch the URL using the Transaction Launcher. But we are not able to find a way to get the output values from the external URL to the Web client UI.
    Please suggest any approach for this. It is OK even if we need to use an intermediate BSP to launch the external URL.
    Regards
    Ajay

    hi ajay
    I had a similar requirement , when the user clicks on button I want to launch the  External URL , can you please let me know how to launch the external url when the user cliks on button
    Thanks & Regards
    madhu

  • How to get return values from region?

    I add a page flow as region into a page. The page flow has a return parameter. How to get the return value in parent page?

    I have been also intrigued by this question.
    There is however a workaround that you can set the values in requestScope.
    We can have a regionNavigationListener on the region and catch the end of taskflow if viewid is null.
    regionNavigationEvent.getNewViewId() == null
    Here we can read the request values and set wherever to be used.
    maniesh (sid)

  • How to use return value from TestComplete ( using COM) as a variable in the conditional statement (e.g. while loop) in TestStand

    Hi,
    I have setup a COM interface for TestStand(TS) to run certain scripts in TestComplete (TC).  Normally, when TestComplete finishes executing the script, it returns a 0 or 1 to denote pass/fail in the TestStand step (e.g String value test step).  This worked fine.
    However, now I need TestComplete to return a vaule( e.g 32) to TS, and TS need to evalue this value in a while statement. So if TC return value is 32, I'd have some statement in TS ike :                                                                                                 
    While (return value != 30)
    Do something..
    Thanks,
    Solved!
    Go to Solution.

    There are a hundred ways to implement what you are asking.  The hard part is deciding which one would be the best for you.
    What adapter are you using to communicate with TestComplete?  ActiveX?  Is TestComplete running asynchronously (in parallel)?  If so then how is the data getting back to TestStand?
    So here are some options:
    1. You can use the While Step type.  It's in the Flow Control folder in your Step Types pallette.  Look in your examples under UsingFlowControlSteps.seq in the SequenceFlow
    2. You can loop on a step and have the termination for the loop be (return value == 30).  Look in the Step Properties under Looping.  Also in the TestStand help
    3. You could do Post Actions based on a condition and have it jump to another step.  Read about it in the TestStand Reference Manual.
    4. You could use a GoTo step.  I don't really recommend this one.  It makes code hard to maintain.  Also an example in SequenceFlow called gotobeep.seq.
    Hopefully this gets you thinking.  Let me know if you have specific questions about any of these methods.
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

Maybe you are looking for

  • After setting the reverse proxy, SSO doesn't work

    Hi, We are facing a problem after setting a reverse proxy. ITS&SSO is working fine for internal users but the problem is with the external users;ITS is working fine for external users but SSO is not working. Does anyone can help us out with this prob

  • Can anyone recommend any good books on leaning actionscript for flash?

    Can anyone recommend any good books on leaning actionscript for flash? Intermediate level I have been using flash for about 2 years more as a hobby than anything else, some websites etc but now I realise I am going to need to learn more actionscripti

  • Error in workflow : Record has links

    Hi, One of the record went into error at last step of workflow (step name :stop where it checks in the record). Now the record is still checked out and when I try to cancel /roll back/delete, every time it shows error "record has links". I have verif

  • Unable to update Genius - "required file cannot be found" error

    I am getting an error "Genius results can't be updated right now. The required file cannot be found. Please try again later" when I try to update Genius. I get this error in Step 3: Delivering your Genius results. It gets passed first 2 steps fine. S

  • To get information before one month

    Hi, All, I have 10.2.0.3 database on AIX. I try to create AWR report but there no snapshot available there. what are other alternative to get information before a month. Thanks, Vishal