Difficult question?? Discontinued Parts with replace function????

Hi Experts
In our company ,there is a requirement very emergent , as follow example:
In the BOM of material CDE, there is a component material A.
And for some reasons(for example: product development with new technique) ,we want to replace
material A with material B in the BOM. And because the stock of A in the warehouse is not zero,so we
want to continue use material A for a period.
And when the stock of A in the warehouse is zero 0 ,means that A has use out, we want to the SAP system automatictlly replace material A with material B in the BOM.
I konw I can use "discontinued Parts" , but with "discontinued Parts",the system only can transfer
all the dependent requirements of the discontinuation material  to the follow-up material, not replace the  discontinuation material with the follow-up material in the BOM really! 
We want with "discontinued parts", the system can replace the discontinuation material with the follow-up material in the BOM really ?
How to achieve this?? Or if there is some other functions can achieve this??
Thanks for any reply!!

Dear Fei,
What's your exact doubt?
If you want to stop using a component from a certain date and instead you would like to replace the
same using another followup material which has the same unit of measure,then you can do the
necessary settings in MRP4 view of the material master.
One more concept is alternative Item concept,where in some period material A will be available for some
period and in some other period B may be available and in sometimes a combination of both will be
used.
Then in that cases in the BOM an alternative item group will be created to combinae these 2
components along with their priority,usage probability and strategy.
Regards
Mangalraj.S

Similar Messages

  • Discontinued parts with MRP type VB

    We have scenario as below :
    1.       We have material A with stock 100, open PO 50.
    2.       The material A is now planned to be phased out by replacing it with a new material B
    3.       Material A had MRP type VB now we will change it to ND
    4.       Material B will have MRP type VB
    5.       So when we run MRP for materil B it should consider stock of material A & Open PO of Material A for calculation during the MRP run and the new requirement calculation should be
    Example :
    Material B is set up with RO point 100 and max stock of 150
    So when we run MRP for Material B even though stock for material B is zero it should not generate any new requirement as stock & open PO of material A exists.

    Hello
    Please take a look on the following note, which explains the general restrictions of the discontinuation process:
    43636 - Discontinued parts
    The note provides the following explanation regarding the MRP type:
    The material is planned using an MRP procedure, for example, MRP type PD.
    Therefore, since you are using MRP type VB, which uses a reorder point procedure, the discontinuation will not happen and your system is working as designed.
    BR
    Caetano

  • Discontinued parts get no function in Plan order

    Dear experts :
         my  Problem is:
             When i creat the production order , the requirement of follow -up group replace the discont. group. but when i creat plan order,  it does not work, even after i run MRP,MPS.(Creat the PR for part "a").
            and when i tranferred the Plan order to production order, it works again.
        My scenario is:
             I set the discontinuation indicator:(1),  followed parts (b), effective-out date(in the past) in master of main item(a) for discontinuation.  and matained the Discont. group(a,a1,a2 total 3parts),Follow-up group in BOM(b,b1 total 2parts). and the mrp type, units of  these 5 parts are same.
          now part 'a' still have some stock, but are reserved.
         Can you kindly tell me the reason?
         Tks.
    Edited by: ZP Liu on Jan 9, 2009 10:23 AM

    Can anybody give me an advise?  The discontinued setting (Material and BOM) seems have no effect in Plan Order.

  • Error while replacing IF statements with DECODE function in procedure

    Hi All,
    I have created a procedure which has nested IF statements. Now I want to replace the IF statements with DECODE functions to improve performance.
    Procedure:
    IF (var_int_sev = '0')
    THEN
    var_sev := '2';
    ELSE
    SELECT sev
    INTO var_int_sev
    FROM errorconfig
    WHERE errorcode = var_errorcode;
    var_sev := var_int_sev;
    END IF;
    I converted the above IF statement into DECODE function as mentioned below:
    var_Sev := DECODE(var_int_sev,0,2,SELECT severity FROM errorconfig WHERE errorcode=var_ErrorCode)
    But it throws below error at the select statement used inside DECODE.
    Error(58,51): PLS-00103: Encountered the symbol "SELECT" when expecting one of the following: ( - + case mod new not null others <an identifier> <a double-quoted delimited-identifier> <a bind variable> avg count current exists max min prior sql stddev sum variance execute forall merge time timestamp interval date <a string literal with character set specification> <a number> <a single-quoted SQL string> pipe <an alternatively-quoted string literal with character set specification> <an alternativ
    Can someone help me in converting the IF to DECODE in the above case. Also how can we use a select statement inside decode.

    instead of trying to rewrite all your code and hoping that the performance will be better, it's a better option to investigate and find out which part of your application is slow
    read this:
    When your query takes too long ...

  • Do I have all the parts to replace my HDD with a new SSD on my Macbook (late 2008)?

    Hey everyone, I am trying to figure out if have all the parts to replace my hdd with a new ssd on my macbook (late 2008 aluminum).
    I just bought a crucial mx100 SSD and plan on replacing my mac HDD. I have the appropriate screwdrivers, and a bootable OSX on a usb drive. I also purchased a sabrent usb 2.0 to sata/ide hard drive adapter.
    How do I replace and install OSX on my new SSD?
    From what I read here are the steps I'm planning on taking.
    1) Detach the old HDD
    2) Attach new SSD.
    3) Turn on computer and use the bootable usb drive to install OS X.
    Does that work, I think I read somewhere about maybe formatting the SSD before I can use the bootable usb. Any input or help would be awesome. Thanks.
    I'd prefer to do a clean install of yosemite and not carbon copy my old HDD

    Hi Bradtk24,
    On this site you will find the requirements for the physical change that you want to make.
    These pages will give you insight into the processes required for the software side of things. It might be slightly dated, but the principles remain valid.
    Have fun
    Leo

  • Replacing Oracle pipes with host function

    Hello,
    I upgraded a app from 4.5 to 10g, where oracle pipes was used to execute OS operation, now i've to replace it with host function, does anyone knows where i can gather some documentation, information with this topics.
    Thanks
    JA

    Sorry. I didn't see that my post to him was submitted...
    Just in case here's the result from his site:
    :P3_OUTPUT_STRING := regexp_replace(
    :P3_INPUT_STRING
    ,’:([a-zA-Z0-9_]*)’
    ,’v(”\1”)’);
    Martin

  • How to make customize Replace function with Positions not pattern ?

    Hi
    Due to Repalce with patterns in  flex, i am facing issue.
    I  want to make cutomize replace function with  parameters
    1 Parameter - String to replace
    2 Parameter - Start Posion.
    3 Parameter - Last position
      which return string value.
    For Example
      replaceInWholeString(str:String, sPos:Number, lPos:Number ):String
    values like
    1st paramter - "asked"
    2nd Paramter - 11
    3rd Paramter -  15
    Original String :: I want to reply
    Output string : I want to asked
    Please Reply ,if someone having solution
    Thanks
    Sunil Rana

    You can use any number of the String methods to acomplish this.
    I would proabably go with something like: slice(...) + input + substr(...);

  • Water spill MBP, apple said they'd replace destroyed parts with refurbished ones?

    So after I spilled water under my MBP, I decided to call apple and let them know what had happened. They said that they'd replace any destroyed parts with refurbished ones. Will this cost anything? If the damage is excessive will they replace my MBP?

    since water damage is not covered by warranty, I cant imagine they would replace parts for free.  They certainally will not give you a new Mac as the damage was caused by you.  I would expect that you would have to pay, but that is up to Apple.  If they do replace parts for free, you are in the minority and should be ever thankful to them and keep liquids far away from your mac in the future.

  • Need valuable guidance to make a peformance oriented query, trying to replace unions with analytical function

    Hi,
       Please find below table structure and insert scritps. Requesting for vluable help.
    create table temp2 (col1 number,col2 varchar2(10),col3 number,col4 varchar2(20));
    insert into temp2 values (1,'a',100,'vvv');
    insert into temp2 values (2,'b',200,'www'); 
    insert into temp2 values (3,'c',300,'xxx');
    insert into temp2 values (4,'d',400,'yyy');   
    insert into temp2 values (5,'e',500,'zzz');
    insert into temp2 values (6,'f',600,'aaa');
    insert into temp2 values (7,'g',700,'bbb'); 
    insert into temp2 values (8,'h',800,'ccc');
    I am trying to get same output, what we get from below UNION query with ANALYTICAL Function.
    select * from temp2 where col1 in (1,2,3,4,5)
    union
    select * from temp2 where col1 in (1,2,5,6)
    union
    select * from temp2 where col1 in (1,2,7,8);
    I am seeking help by this dummy example to understand the concept, how can we use analytical functional over UNION or OUTER JOINS.
    In my exact query, I am using same table three times adding UNION clause. here also we scan temp2 three times, so for bulky tables using 'union'  would be hampering query's performance
    It means i go with three time scans of same table that is not performance oriented. With the help of above required concept, i will try to remove UNIONs from my exact query.
    Thanks!!

    Thanks for your time BluShadow and sorry as i think i couldn't make my query clear.
    I try it again. Below there are three queries, you may see all three queries are using same tables. Difference in all three queries are just few conditions, which makes all three queries diff with each other.
    I know, u cant run below query in your database, but i think it will convey my doubt to you. I have mentioned no. of rows with each clause and total i am getting 67 rows as my output. (Reason may be first n third query's result set are the subset of Second Query dataset)
    So i want to take all common rows as well as additional rows, if present in any of the query. This is getting easliy done with UNION clause but want to have it in other way as here my same is getting scanned again n again.
    SELECT
             START_TX.FX_TRAN_ID START_FX_TRAN_ID
            ,END_TX.FX_TRAN_ID END_FX_TRAN_ID
            ,START_TX.ENTERED_DT_TS
            ,USER
            ,START_TX.TRADE_DT
            ,START_TX.DEAL_NUMBER
            ,START_TX.FX_DEAL_TYPE
            ,START_TX.ORIENTATION_BUYSELL
            ,START_TX.BASE_CCY
            ,START_TX.BASE_CCY_AMT
            ,START_TX.SECONDARY_CCY
            ,START_TX.SECONDARY_CCY_AMT
            ,START_TX.MATURITY_DT
            ,START_TX.TRADE_RT
            ,START_TX.FORWARD_PTS              
            ,START_TX.CORPORATE_PIPS           
            ,START_TX.DEAL_OWNER_INITIALS      
            ,START_TX.CORPORATE_DEALER         
            ,START_TX.PROFIT_CENTER_CD
            ,START_TX.COUNTERPARTY_NM
            ,START_TX.COUNTERPARTY_NUMBER
      FROM
          (SELECT * FROM FX_TRANSACTIONS WHERE GMT_CONV_ENTERED_DT_TS >=  TO_DATE('20-Nov-2013 4:00:01 AM','DD-Mon-YYYY HH:MI:SS AM')) START_TX
           INNER JOIN
          (SELECT * FROM FX_TRANSACTIONS WHERE GMT_CONV_ENTERED_DT_TS <=  TO_DATE('20-Nov-2013 4:59:59 PM','DD-Mon-YYYY HH:MI:SS AM'))  END_TX
       ON START_TX.COUNTERPARTY_NM        = END_TX.COUNTERPARTY_NM         AND
          START_TX.COUNTERPARTY_NUMBER    = END_TX.COUNTERPARTY_NUMBER     AND
          START_TX.FX_DEAL_TYPE           = END_TX.FX_DEAL_TYPE            AND
          START_TX.BASE_CCY               = END_TX.BASE_CCY                AND
          START_TX.SECONDARY_CCY          = END_TX.SECONDARY_CCY           AND
          NVL(START_TX.CORPORATE_DEALER,'nullX')=NVL(END_TX.CORPORATE_DEALER,'nullX')       AND
          START_TX.ORIENTATION_BUYSELL='B'                                 AND 
          END_TX.ORIENTATION_BUYSELL='S'                                  AND
          START_TX.FX_TRAN_ID = 1850718                                  AND
         (START_TX.BASE_CCY_AMT           = END_TX.BASE_CCY_AMT          
          OR
          START_TX.SECONDARY_CCY_AMT      = END_TX.SECONDARY_CCY_AMT)        -- 10 Rows
    UNION
    SELECT
             START_TX.FX_TRAN_ID START_FX_TRAN_ID
            ,END_TX.FX_TRAN_ID END_FX_TRAN_ID
            ,START_TX.ENTERED_DT_TS
            ,USER
            ,START_TX.TRADE_DT
            ,START_TX.DEAL_NUMBER
            ,START_TX.FX_DEAL_TYPE
            ,START_TX.ORIENTATION_BUYSELL
            ,START_TX.BASE_CCY
            ,START_TX.BASE_CCY_AMT
            ,START_TX.SECONDARY_CCY
            ,START_TX.SECONDARY_CCY_AMT
            ,START_TX.MATURITY_DT
            ,START_TX.TRADE_RT
            ,START_TX.FORWARD_PTS              
            ,START_TX.CORPORATE_PIPS           
            ,START_TX.DEAL_OWNER_INITIALS      
            ,START_TX.CORPORATE_DEALER         
            ,START_TX.PROFIT_CENTER_CD
            ,START_TX.COUNTERPARTY_NM
            ,START_TX.COUNTERPARTY_NUMBER
      FROM
          (SELECT * FROM FX_TRANSACTIONS WHERE GMT_CONV_ENTERED_DT_TS >=  TO_DATE('20-Nov-2013 4:00:01 AM','DD-Mon-YYYY HH:MI:SS AM')) START_TX
           INNER JOIN
          (SELECT * FROM FX_TRANSACTIONS WHERE GMT_CONV_ENTERED_DT_TS <=  TO_DATE('20-Nov-2013 4:59:59 PM','DD-Mon-YYYY HH:MI:SS AM'))  END_TX
       ON START_TX.COUNTERPARTY_NM        = END_TX.COUNTERPARTY_NM         AND
          START_TX.COUNTERPARTY_NUMBER    = END_TX.COUNTERPARTY_NUMBER     AND
          START_TX.FX_DEAL_TYPE           = END_TX.FX_DEAL_TYPE            AND
          START_TX.BASE_CCY               = END_TX.BASE_CCY                AND
          START_TX.SECONDARY_CCY          = END_TX.SECONDARY_CCY           AND
          NVL(START_TX.CORPORATE_DEALER,'nullX')=NVL(END_TX.CORPORATE_DEALER,'nullX')  AND
          START_TX.FX_TRAN_ID = 1850718                                  AND
          START_TX.ORIENTATION_BUYSELL='B'                                 AND 
          END_TX.ORIENTATION_BUYSELL='S'                        --                                   67 Rows
    UNION 
    SELECT
             START_TX.FX_TRAN_ID START_FX_TRAN_ID
            ,END_TX.FX_TRAN_ID END_FX_TRAN_ID
            ,START_TX.ENTERED_DT_TS
            ,USER
            ,START_TX.TRADE_DT
            ,START_TX.DEAL_NUMBER
            ,START_TX.FX_DEAL_TYPE
            ,START_TX.ORIENTATION_BUYSELL
            ,START_TX.BASE_CCY
            ,START_TX.BASE_CCY_AMT
            ,START_TX.SECONDARY_CCY
            ,START_TX.SECONDARY_CCY_AMT
            ,START_TX.MATURITY_DT
            ,START_TX.TRADE_RT
            ,START_TX.FORWARD_PTS              
            ,START_TX.CORPORATE_PIPS           
            ,START_TX.DEAL_OWNER_INITIALS      
            ,START_TX.CORPORATE_DEALER         
            ,START_TX.PROFIT_CENTER_CD
            ,START_TX.COUNTERPARTY_NM
            ,START_TX.COUNTERPARTY_NUMBER
      FROM
          (SELECT * FROM FX_TRANSACTIONS WHERE GMT_CONV_ENTERED_DT_TS >=  TO_DATE('20-Nov-2013 4:00:01 AM','DD-Mon-YYYY HH:MI:SS AM')) START_TX
           INNER JOIN
          (SELECT * FROM FX_TRANSACTIONS WHERE GMT_CONV_ENTERED_DT_TS <=  TO_DATE('20-Nov-2013 4:59:59 PM','DD-Mon-YYYY HH:MI:SS AM'))  END_TX
       ON START_TX.COUNTERPARTY_NM        = END_TX.COUNTERPARTY_NM         AND
          START_TX.COUNTERPARTY_NUMBER    = END_TX.COUNTERPARTY_NUMBER     AND
          START_TX.FX_DEAL_TYPE           = END_TX.FX_DEAL_TYPE            AND
          START_TX.BASE_CCY               = END_TX.BASE_CCY                AND
          START_TX.SECONDARY_CCY          = END_TX.SECONDARY_CCY           AND
          NVL(START_TX.CORPORATE_DEALER,'nullX')=NVL(END_TX.CORPORATE_DEALER,'nullX') AND
          START_TX.ORIENTATION_BUYSELL='B'                                 AND 
          END_TX.ORIENTATION_BUYSELL='S'                                   AND
          START_TX.FX_TRAN_ID = 1850718                                  AND
            END_TX.BASE_CCY_AMT BETWEEN (START_TX.BASE_CCY_AMT - (START_TX.BASE_CCY_AMT * :PERC_DEV/100)) AND (START_TX.BASE_CCY_AMT + (START_TX.BASE_CCY_AMT * :PERC_DEV/100))        
            OR
            END_TX.SECONDARY_CCY_AMT BETWEEN (START_TX.SECONDARY_CCY_AMT - (START_TX.SECONDARY_CCY_AMT*:PERC_DEV/100) ) AND (START_TX.SECONDARY_CCY_AMT + (START_TX.SECONDARY_CCY_AMT*:PERC_DEV/100))
        );                                                       ---                              10 Rows

  • Discontinued parts - how include fixed receipts??

    In the MRP 4 view , we can set Discontinuation indicator for one material ,and defined the follow-up material.
    And the system will transfers the dependent requirements in materials planning to the follow-up material if they are no longer covered by warehouse stocks.
    In standard SAP system , When discontinuing parts, the system does not include fixed receipts such as order proposals or production orders if they are after the effective-out date. The system issues the "Please cancel and Receipt" after effective-out date exception messages in Stock/Requirement List  (MD04 View)
    But we now indeed need the system to include fixed receipts,that is affter the last fixed receipt ,the discontimuting parts begin to take effect!
    How to do this? How discontinuing parts include fixed receipts??
    Thaks for any replay!

    Hi Fei Liu,
    The thing is rather simple; the idea with discontinuation is that from a certain date on we don't want to procure material A anymore, but B instead. Nevertheless, if there's any stock left from A I want to use it first.
    In this situation, if somebody manually creates a fixed procurement element, like purchase or production order, the system will only create an exeption message for the planner, since by the normal course of the process this should not have happened.
    If you have this situation happening a lot, the question is then if you're using the right functionality for your business case.
    Regards,
    Mario

  • Hate to part with my T41 but.....

    Microsoft XP support ending April 2014 and my 23739FU T41 won't run Windows 7 or 8 and I don't like Vista so I am forced to replace my bullet-proof T41.  I don't know how to keep it and make upgrades to update O.S..  Don't know which Thinkpad to buy so starting with basic QUESTION: Has Lenovo kept the solid look and feel of the T41 keyboard?  The key relief and rock solid feel of the T41 keyboard is a favorite attribute of the model.  I don't like the "mushy" and flat feel on keyboards of some other makes like Dell.  Can anyone here tell me if and how the keyboards on newer Thinkpads compare with my 2004 vintage T41 23739FU? 
    Solved!
    Go to Solution.

    T30alive wrote:
    I wouldn't part.  The new computers are not being made as well as these old puppies.  Why  can't the T41 run Windows 7?  Seems it should be able to.   I am using two T30 laptops as my baseline.  One of them has 1.320 Terrabytes with an ultrabay SATA drive.  You can't do anything like this with the new laptops. 
    Also these old laptops can be opened and maintained, not like the sealed new ones.  Other than processor speed I don't see any reason to part. 
    Instead buy another T41 and have two duplicate machines in case one goes down.  The other thing is all your S/W apps can be preserved.
    A couple of things here...
    a) No one should part with a working ThinkPad BUT they should also be fully aware of the platform's limitations. Using a decade old T41 as one's main computer in 2014 is likely to cause headache.
    These units will run both Vista and W7. The problem is that for any remotely serious application apart from being a glorified typewriter the lack of proper graphics driver will be more than noticeable.
    b) T30 was the last ThinkPad that felt it could survive a nuclear blast. However, in real life terms it's even more outdated than T41.
    I personally own several "outdated" units such as X24, A31p and T42p. While all of them are still perfectly functional and kept in good physical and running condition none is used as a main computer...
    c) Newer machines such as T420/520 and W520 can actually utilise 3 drives at the same time - mSATA SSD in the appropriate slot, one drive in the main bay and one in the ultrabay so they can do better than the old ones in the respect of storage.
    d) I can't say much about *30 and *40 generation since I've never had any of them - and have no intentions of ever owning one - but the *20 and previous series are easy to work on and not sealed in at all.
    My advice to OP still stands - look into T61 series, preferably a 14" SXGA+ unit with Intel graphics - and you'll feel almost at home. Let the T41 enjoy its well-earned retirement. Nothing is stopping you from utilising it casually.
    Happy ThinkPadding and good luck to all.
    Cheers,
    George
    In daily use: R60F, R500F, T61, T410
    Collecting dust: T60
    Enjoying retirement: A31p, T42p,
    Non-ThinkPads: Panasonic CF-31 & CF-52, HP 8760W
    Starting Thursday, 08/14/2014 I'll be away from the forums until further notice. Please do NOT send private messages since I won't be able to read them. Thank you.

  • Does Logic Pro X include replacement functionality for Compressor, Soundtrack Pro and Waveburner from Logic Studio 9?

    Does Logic Pro X include replacement functionality for Compressor, Soundtrack Pro and Waveburner from Logic Studio 9?

    No..  You can buy the Compressor (along with Mainstage) via the App Store as a separate download but STP and Waveburner are discontinued products. Some of STP's functionality can now be found in Final Cut Pro X...
    Note: Mainstage, Compressor, Waveburner and STP were part of the full version of Logic Studio 2.0 (which also included Logic Pro 9 ) and sold for $999 compared to Logic Pro X which retails at $200...
    The Apple loops/Jam packs that came as part of Logic Studio 2.0 now come free with Logic Pro X (and did so with the Appe store version of Logic Pro 9) .. as part of the additional downlaod

  • Issue with gui_download function module

    Hi All,
             I have an issue with gui_download function module that it is creating one extra line while downloading my internal table data into text file,which i donot want.i have searched for various threads but couldnot get the proper reply.Or please provide me some other Function Module which will not create one extra line.Please help.

    part 2
    INCLUDE RPPPXD00.
    DATA : BEGIN OF COMMON PART A.
    INCLUDE RPPPXD10.
    DATA : END OF COMMON PART.
    INCLUDE PC2RXTW0.
    INCLUDE RPC2RX00.
    DATA : BEGIN OF COMMON PART B.
    INCLUDE RPC2CD00.
    DATA : END OF COMMON PART.
    INCLUDE RPPPXM00.
    INCLUDE RPCMGR00.
    AT SELECTION-SCREEN OUTPUT.
      CONCATENATE SY-DATUM2(6) SY-UZEIT0(4) INTO REF_NO.
      LOOP AT SCREEN.
        IF R1 = 'X'.
          IF SCREEN-NAME = 'FLN' OR SCREEN-NAME = '%_FLN_%_APP_%-TEXT' OR
             SCREEN-NAME = 'BTC'  OR SCREEN-NAME = '%_BTC_%_APP_%-TEXT' OR
            SCREEN-NAME = 'PY_DT' OR SCREEN-NAME = '%_PY_DT_%_APP_%-TEXT'"SOC BY ANKITA"
           OR SCREEN-NAME = 'ORG_ID' OR SCREEN-NAME = '%_ORG_ID_%_APP_%-TEXT'
           OR SCREEN-NAME = 'ORG_AC' OR SCREEN-NAME = '%_ORG_AC_%_APP_%-TEXT'
           OR SCREEN-NAME = 'DEPT_CD' OR SCREEN-NAME = '%_DEPT_CD_%_APP_%-TEXT'
           OR SCREEN-NAME = 'REF_NO' OR SCREEN-NAME = '%_REF_NO_%_APP_%-TEXT'
           OR SCREEN-NAME = 'PRS_BNK' OR SCREEN-NAME = '%_PRS_BNK_%_APP_%-TEXT'
           OR SCREEN-NAME = 'TRANS_TY' OR SCREEN-NAME = '%_TRANS_TY_%_APP_%-TEXT'
           OR SCREEN-NAME = 'TRANS_ID' OR SCREEN-NAME = '%_TRANS_ID_%_APP_%-TEXT'
           OR SCREEN-NAME = 'TRANS_RK' OR SCREEN-NAME = '%_TRANS_RK_%_APP_%-TEXT'."EOC BY ANKITA
            SCREEN-ACTIVE = 0.
          ENDIF.
        ENDIF.
        IF R2 = 'X'.
          IF SCREEN-NAME = 'FLN' OR SCREEN-NAME = '%_FLN_%_APP_%-TEXT' OR
             SCREEN-NAME = 'BTC'  OR SCREEN-NAME = '%_BTC_%_APP_%-TEXT' OR
             SCREEN-NAME = 'PREPBY' OR SCREEN-NAME = '%_PREPBY_%_APP_%-TEXT'
             OR SCREEN-NAME = 'APROBY' OR SCREEN-NAME = '%_APROBY_%_APP_%-TEXT'
             OR SCREEN-NAME = 'PY_DT' OR SCREEN-NAME = '%_PY_DT_%_APP_%-TEXT' "SOC BY ANKITA
             OR SCREEN-NAME = 'ORG_ID' OR SCREEN-NAME = '%_ORG_ID_%_APP_%-TEXT'
             OR SCREEN-NAME = 'ORG_AC' OR SCREEN-NAME = '%_ORG_AC_%_APP_%-TEXT'
             OR SCREEN-NAME = 'DEPT_CD' OR SCREEN-NAME = '%_DEPT_CD_%_APP_%-TEXT'
             OR SCREEN-NAME = 'REF_NO' OR SCREEN-NAME = '%_REF_NO_%_APP_%-TEXT'
             OR SCREEN-NAME = 'PRS_BNK' OR SCREEN-NAME = '%_PRS_BNK_%_APP_%-TEXT'
             OR SCREEN-NAME = 'TRANS_TY' OR SCREEN-NAME = '%_TRANS_TY_%_APP_%-TEXT'
             OR SCREEN-NAME = 'TRANS_ID' OR SCREEN-NAME = '%_TRANS_ID_%_APP_%-TEXT'
             OR SCREEN-NAME = 'TRANS_RK' OR SCREEN-NAME = '%_TRANS_RK_%_APP_%-TEXT'."EOC BY ANKITA
            SCREEN-ACTIVE = 0.
          ENDIF.
        ENDIF.
        IF R3 = 'X'.
          IF SCREEN-NAME = 'PREPBY' OR SCREEN-NAME = '%_PREPBY_%_APP_%-TEXT'
            OR SCREEN-NAME = 'APROBY' OR SCREEN-NAME = '%_APROBY_%_APP_%-TEXT'
            OR SCREEN-NAME = 'PY_DT' OR SCREEN-NAME = '%_PY_DT_%_APP_%-TEXT' "SOC BY ANKITA
            OR SCREEN-NAME = 'ORG_ID' OR SCREEN-NAME = '%_ORG_ID_%_APP_%-TEXT'
            OR SCREEN-NAME = 'ORG_AC' OR SCREEN-NAME = '%_ORG_AC_%_APP_%-TEXT'
            OR SCREEN-NAME = 'REF_NO' OR SCREEN-NAME = '%_REF_NO_%_APP_%-TEXT'
            OR SCREEN-NAME = 'DEPT_CD' OR SCREEN-NAME = '%_DEPT_CD_%_APP_%-TEXT'
            OR SCREEN-NAME = 'PRS_BNK' OR SCREEN-NAME = '%_PRS_BNK_%_APP_%-TEXT'
            OR SCREEN-NAME = 'TRANS_TY' OR SCREEN-NAME = '%_TRANS_TY_%_APP_%-TEXT'
            OR SCREEN-NAME = 'TRANS_ID' OR SCREEN-NAME = '%_TRANS_ID_%_APP_%-TEXT'
            OR SCREEN-NAME = 'TRANS_RK' OR SCREEN-NAME = '%_TRANS_RK_%_APP_%-TEXT'."EOC BY ANKITA
            SCREEN-ACTIVE = 0.
          ENDIF.
        ENDIF.
        IF R4 = 'X'.
          IF SCREEN-NAME = 'PREPBY' OR SCREEN-NAME = '%_PREPBY_%_APP_%-TEXT'"SOC BY ANKITA
             OR SCREEN-NAME = 'APROBY' OR SCREEN-NAME = '%_APROBY_%_APP_%-TEXT'
             OR SCREEN-NAME = 'BTC'  OR SCREEN-NAME = '%_BTC_%_APP_%-TEXT'."EOC BY ANKITA
            SCREEN-ACTIVE = 0.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    START-OF-SELECTION.
      SELECT SINGLE * FROM T549Q WHERE PERMO = '01'
                                 AND   PABRJ = PRD+0(4)
                                 AND   PABRP = PRD+4(2).
      FR_DT = T549Q-BEGDA.
      TO_DT = T549Q-ENDDA.
      CONCATENATE FR_DT0(4) FR_DT4(2) INTO FR_P.
      CONCATENATE TO_DT0(4) TO_DT4(2) INTO TO_P.
      PN-PAPER = PRD.
      PN-PERMO = '01'.
    GET PERNR.
      RP-PROVIDE-FROM-LAST P0003 SPACE PN-BEGDA PN-ENDDA.
      RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
      IF PNP-SW-FOUND EQ 1.
       SN = SN + 1.
       ITAB1-SNO = SN.
       ITCC-SNO = SN.
        ITAB1-ENO = PERNR-PERNR.
        ITAB1-NAM = PERNR-ENAME.
      ELSE.
        REJECT.
      ENDIF.
      RP-INIT-BUFFER.
      RP-SEL-CALC.
      CALL FUNCTION 'RP_EVALUATION_PERIODS'
        EXPORTING
          LAST_CALCULATED_DAY = P0003-ABRDT
          LAST_DAY_IN_PERIOD  = TO_DT
          RETROCALCULATED_DAY = RP-SEL-CALC-RRDAT
        TABLES
          DIR                 = RGDIR
          EVP                 = EVP
        EXCEPTIONS
          RGDIR_EMPTY         = 1
          INTERNAL_ERROR      = 2
          OTHERS              = 3.
      DESCRIBE TABLE EVP LINES LIN.
      IF LIN > 0.
        LOOP AT EVP.
          IF EVP-IAPER = TO_P AND EVP-PAPER = TO_P.
            RX-KEY-PERNR = PERNR-PERNR.
            UNPACK EVP-SEQNR TO RX-KEY-SEQNO.
            RP-IMP-C2-TN.
            READ TABLE BT INDEX 1.
            READ TABLE WPBP INDEX 1.
            READ TABLE TAX INDEX 1."CHANGES BY ANKITA
            ITAB1-BAC = BT-BANKN.
            ITAB1-BKEY = BT-BANKL .
            ITAB1-DEP = WPBP-KOSTL.
            ITAB1-BETRG = BT-BETRG."CHANGES BY ANKITA
            ITAB1-TAXID = TAX-TAXID."CHANGES BY ANKITA
            YEAR = VERSC-PAYDT+0(4) - 11.
            MONTH = VERSC-PAYDT+4(2).
            DAY = VERSC-PAYDT+6(2).
            CONCATENATE YEAR MONTH DAY INTO ITAB1-PDT.
           ITAB1-PDT = VERSC-PAYDT - 110000.
            ITCC-DEP = WPBP-KOSTL.
            LOOP AT RT WHERE LGART = '/559'.
              ITAB1-BTFR = RT-BETRG.
              ITCC-BTFR = RT-BETRG.
             IF EVP-SRTZA = 'P'.
               ITAB1-BTFR = ITAB1-BTFR - RT-BETRG.
             ELSE.
               ITAB1-BTFR = ITAB1-BTFR + RT-BETRG.
             ENDIF.
            ENDLOOP.
          ENDIF.
        ENDLOOP.
      ENDIF.
      APPEND: ITAB1, ITCC.
      CLEAR: ITAB1, ITCC.
    END-OF-SELECTION.
      CONCATENATE 'Prepared By:' ` ` PREPBY INTO PREPBY.
      CONCATENATE 'Approved By:' ` ` APROBY INTO APROBY.
      IF R1 = 'X'.
        FORMAT COLOR 2.
        ULINE (127).
        NEW-LINE.
        WRITE: 2 'Sr No.', 10 'Emp Num', 27 'Name'.
        WRITE: 57 'Department'.
        WRITE: 72 '  Transfer Amount' RIGHT-JUSTIFIED.
        WRITE: 92 'Bank Key', 107 'Bank AC. Number'.
        WRITE:1 '|', 8 '|', 25 '|', 55 '|', 70 '|', 90 '|', 105 '|', 127 '|'.
        NEW-LINE.
        ULINE (127).
        NEW-LINE.
        FORMAT COLOR OFF.
        LOOP AT ITAB1.
          SN = SY-TABIX.
          WRITE: 2 SN, 10 ITAB1-ENO, 27 ITAB1-NAM.
          WRITE: 57 ITAB1-DEP.
          WRITE: 72 ITAB1-BTFR.
          WRITE: 92 ITAB1-BKEY, 107 ITAB1-BAC.
          WRITE: 1 '|', 8 '|', 25 '|', 55 '|', 70 '|', 90 '|', 105 '|', 127 '|'.
          ULINE (127).
          NEW-LINE.
        ENDLOOP.
        SKIP 4.
        ULINE 90(32).
        NEW-LINE.
        WRITE: 90 PREPBY.
        SKIP 4.
        ULINE 90(32).
        NEW-LINE.
        WRITE: 90 APROBY.
      ENDIF.
      IF R2 = 'X'.
        LOOP AT ITCC.
          COLLECT ITCC INTO ITCOL.
        ENDLOOP.
        FORMAT COLOR 2.
        ULINE (44).
        NEW-LINE.
        WRITE:2 'Sr No.', 9 'Department'.
        WRITE: 27 'Transfer Amount  ' RIGHT-JUSTIFIED.
        WRITE:1 '|', 8 '|', 25 '|', 44 '|'.
        NEW-LINE.
        ULINE (44).
        NEW-LINE.
        FORMAT COLOR OFF.
        LOOP AT ITCOL.
          SN = SY-TABIX.
          WRITE: 2 SN, 9 ITCOL-DEP, 27 ITCOL-BTFR.
          WRITE:1 '|', 8 '|', 25 '|', 44 '|'.
          NEW-LINE.
          ULINE (44).
          NEW-LINE.
        ENDLOOP.
      ENDIF.
      IF R3 = 'X'.
        LOOP AT ITAB1.
          CLEAR: ITTF, P3, P11, P13, P6, V_BAC.
          LEN = STRLEN( ITAB1-BKEY ).
          IF LEN < 3.
            CONCATENATE ITAB1-BKEY '***' INTO P3.
          ELSE.
          LEN = LEN - 3.
            LEN = 3.
            P3 = ITAB1-BKEY+LEN(3).
          ENDIF.
          CLEAR LEN.
          V_BAC = ITAB1-BAC.
          REPLACE ALL OCCURRENCES OF '-' IN ITAB1-BAC WITH ''.
          CONDENSE ITAB1-BAC NO-GAPS.
          LEN = STRLEN( ITAB1-BAC )."if length of acc num > limit
          IF LEN > 11.
            IT_FAIL-EN = ITAB1-ENO.
            IT_FAIL-BA = V_BAC.
            APPEND IT_FAIL.
            CLEAR: IT_FAIL.
            CONTINUE.
          ENDIF.
          P11 = ITAB1-BAC.
          CONCATENATE P11 '***********' INTO P11.
    above step is for putting '' in place of unfilled chars of P11.
          P13 = ITAB1-BTFR * 100.
          P6 = ITAB1-PDT+2(6).
          CONCATENATE ` ` P3 P11 BTC P13 P6 INTO STR.
          ITTF-ROW = STR.
          APPEND ITTF.
        ENDLOOP.
        IF ITTF[] IS NOT INITIAL.
          CONCATENATE FLN SY-DATUM SY-UZEIT '.txt' INTO FILEPATH.
          CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
            FILENAME                        = FILEPATH
            FILETYPE                        = 'ASC'
         WRITE_FIELD_SEPARATOR           = 'X'
            TABLES
            DATA_TAB                        = ITTF
         OTHERS                          = 22
          SKIP 2.
          IF SY-SUBRC <> 0.
            WRITE:/ 'Unable to Download file at ', FILEPATH.
          ELSE.
            WRITE:/ 'File with following data downloaded at ', FILEPATH.
            NEW-LINE.
            SKIP 2.
            LOOP AT ITTF.
              WRITE:/ ITTF.
            ENDLOOP.
          ENDIF.
        ELSE.
          WRITE 'No Data, no file was downloaded'.
        ENDIF.
        IF IT_FAIL[] IS NOT INITIAL.
          SKIP 2.
          FORMAT COLOR 2.
          WRITE 'Acc. No. of following employees exceeded the length limit'.
          WRITE:/ 'So their entry was not created in the file'.
          SKIP 1.
          WRITE : 'Employee Number', 20 'Bank Acc. No.'.
          FORMAT COLOR OFF.
          LOOP AT IT_FAIL.
            NEW-LINE.
            WRITE : IT_FAIL-EN, 20 IT_FAIL-BA.
          ENDLOOP.
        ENDIF.
      ENDIF.
      IF R4 = 'X'."CHANGES BY ANKITA
        WRITE:/ 'ERROR LOG - BANK A/C NO. CONTAINS ALPHANUMERIC'.
        WRITE:/ 'EMPID' COLOR COL_POSITIVE,12 '|',15 'Receiving Bank Code' COLOR COL_POSITIVE,
                                                                      40 '|','Receiver A/C No' COLOR COL_POSITIVE.
        PERFORM EXTRACT_DATA.
        SKIP 2.
      ENDIF."EOC
      RP-READ-PAYROLL-DIR.
    Edited by: ANKITA BHARDWAJ on Dec 9, 2009 10:36 AM

  • HT3226 My iphone 4s fell down on the floor and a very very small bit on the edge of my iphone were broken. Can I insert a new iphone body panel with replace the old one

    My iphone 4s fell down on the floor and a very very small bit on the edge of my iphone were broken. Can I insert a new iphone body panel with replace the old one.. ???

    I think I had it on the iCloud, I just changed computers and had part of my old computer backed up, where are the default iTunes info saved like the pictures and I know my contacts were backed up cuz I kept getting updated stuff that I wasn't sure about, but it was contacts where some belonged to my wife's contacts....but anyway, if the cloud backed up contacts, it should have grabbed pictures too? Like I asked before, if they were backed up to the computer, is there a default iTunes folder they are saved to? I had a crap load of pictures on there that I usually could really access if I was connected to wi-fi. I turned off my data stuff as I only have 4GB and between me and my 2 kids, we seemed to use up a lot of it. My son would play music from Pandora during work, and use up all our data til I limited him to only 3GB, my daughter and I barely used 1GB. Anyway, thanks to everybody that is answering. I thought I might have done good finding the dang sim card, but pointless I guess.
    Ralph - F.Y.I. I would be happy to back up the iPhone if I could turn it on LOL......I am pretty positive I did, but what about Text messages? ANY of those saved too or not? Sorry guys, I don't know a **** of a lot about cell phones, but I do know about memory cards, but not sim cards that act like memory cards or look like them anyway. What is the purpose of a sim card if I may ask a stupid question since they don't hold any data from my phone stuff. I just hope my stuff comes back on the new replacement phone once I get it up and running. Again, thanks to everybody for the edumucation.

  • Takes patience and knowledge, but please help me with this function

    I know I am asking for a lot, but I've been sitting over this for hours and can't crack it.
    I got these two tables
    create table orders create table products
    (order_no number, (item_no number (4)
    item_no number(4), tem_name varchar2(50)
    order qta number, price number,
    order_date date supplier_id char(3));
    delivered date)
    I am trying to create a function that would give me owed amount for delayed delivery per order. Companies have 30 days to deliver the goods, otherwise they pay penalty 1% of order price for each day of delay.
    I cooked up this and it's giving me results only in case there is one row per order in orders table. Like this:
    ORDER_NO ITEM_NO ORDER_QTA ORDER_DATE RECEIVED
    1002 2 90 29.01.10 01.05.10
    but the moment there is more than one row in orders (like below) I execute the function and get the error message - ORA-01422: exact fetch returns more than requested number of rows
    ORDER_NO ITEM_NO ORDER_QTA ORDER_DATE RECEIVED
    1000 26 82 30.03.10 NULL
    1000 14 35 30.03.10 NULL
    I've written this and it contains a GROUP BY clause and sums the rows. I don't know why I am still getting the error message.PLS HELP!!
    THANKS,
    JANA
    create or replace function debts (aorder_no in number)
    return number is
    amount number;
    rec date;
    begin
    select received into rec from orders where order_no=aorder_no;
    if rec is not null then
    select (to_date(received,'DD-MM-YYYY')-to_date(order_date,'DD-MM-YYYY')-30)* sum((o.order_qta*p.price)*0.01)
    into amount
    from orders o, products p
    where p.item_no = o.item_no
    and o.order_no=aorder_no
    group by (to_date(received,'DD-MM-YYYY')-to_date(order_date,'DD-MM-YYYY')-30);
    return (amount);
    end if;
    if rec is null then
    select (to_date(sysdate,'DD-MM-YYYY')-to_date(order_date,'DD-MM-YYYY')-30)* sum((o.order_qta*p.price)*0.01)
    into amount
    from orders o, products p
    where p.item_no = o.item_no
    and o.order_no=aorder_no
    group by (to_date(sysdate,'DD-MM-YYYY')-to_date(order_date,'DD-MM-YYYY')-30);
    return (amount);
    end if;
    end;
    /

    Sorry,
    I' m new to this forum and to PL/SQL as well, so I am probably not posting these questions correctly . I am using 10g Ex edition. Here is some sample data.
    when I created the function, it was complied ok.
    I execute it on order_no 1001 and everything went fine, but if I execute it on order_no 1000, I get an error message. I think it has something to do with the SQL grouping in my statment, but I'm too unexperienced to figure it out on my own.
    insert into orders values (     1000     ,     26     ,     25     ,'     30-Mar-10     ,     4-Apr-10     );
    insert into orders values (     1000     ,     14     ,     31     ,'     30-Mar-10     ,     1-May-10     );
    insert into orders values (     1001     ,     9     ,     39     ,'     28-Feb-10     ,     null     );
    insert into orders values (     1002     ,     2     ,     95     ,'     29-Jan-10     ,     10-Dec-09     );
    insert into orders values (     1003     ,     23     ,     2     ,'     6-Apr-10     ,     null     );
    insert into orders values (     1004     ,     16     ,     70     ,'     8-Jun-04     ,     null     );
    insert into orders values (     1005     ,     4     ,     76     ,'     6-May-10     ,     null     );
    insert into orders values (     1005     ,     19     ,     86     ,'     6-May-10     ,     null     );
    insert into orders values (     1006     ,     29     ,     86     ,'     8-Apr-10     ,     null     );
    insert into orders values (     1006     ,     30     ,     55     ,'     8-Apr-10     ,     10-Mar-10     );
    insert into orders values (     1007     ,     22     ,     54     ,'     6-Apr-10     ,     null     );
    insert into orders values (     1008     ,     9     ,     54     ,'     23-Jan-10     ,     null     );
    insert into orders values (     1009     ,     16     ,     22     ,'     5-Apr-10     ,     null     );
    insert into orders values (     1010     ,     7     ,     53     ,'     2-Mar-10     ,     null     );
    insert into products values (     1     ,'     product_name1'     ,     61000     ,'     EU1'     );
    insert into products values (     2     ,'     product_name2'     ,     46000     ,'     EU1'     );
    insert into products values (     3     ,'     product_name3'     ,     80000     ,'     EU2'     );
    insert into products values (     4     ,'     product_name4'     ,     15000     ,'     EU3'     );
    insert into products values (     5     ,'     product_name5'     ,     10000     ,'     EU2'     );
    insert into products values (     6     ,'     product_name6'     ,     12000     ,'     EU1'     );
    insert into products values (     7     ,'     product_name7'     ,     73000     ,'     EU3'     );
    insert into products values (     8     ,'     product_name8'     ,     59000     ,'     EU2'     );
    insert into products values (     9     ,'     product_name9'     ,     31000     ,'     EU3'     );
    insert into products values (     10     ,'     product_name10'     ,     80000     ,'     EU1'     );
    insert into products values (     11     ,'     product_name11'     ,     66000     ,'     EU2'     );
    insert into products values (     12     ,'     product_name12'     ,     62000     ,'     US1'     );
    insert into products values (     13     ,'     product_name13'     ,     75000     ,'     EU1'     );
    insert into products values (     14     ,'     product_name14'     ,     32000     ,'     EU2'     );
    insert into products values (     15     ,'     product_name15'     ,     44000     ,'     US1'     );
    insert into products values (     16     ,'     product_name16'     ,     68000     ,'     EU1'     );
    insert into products values (     17     ,'     product_name17'     ,     28000     ,'     US1'     );
    insert into products values (     18     ,'     product_name18'     ,     10000     ,'     EU2'     );
    insert into products values (     19     ,'     product_name19'     ,     69000     ,'     US2'     );
    insert into products values (     20     ,'     product_name20'     ,     24000     ,'     US1'     );
    insert into products values (     21     ,'     product_name1'     ,     40000     ,'     US3'     );
    insert into products values (     22     ,'     product_name2'     ,     95000     ,'     US3'     );
    insert into products values (     23     ,'     product_name3'     ,     31000     ,'     US1'     );
    insert into products values (     24     ,'     product_name4'     ,     100000     ,'     US2'     );
    insert into products values (     25     ,'     product_name5'     ,     64000     ,'     US2'     );
    insert into products values (     26     ,'     product_name6'     ,     91000     ,'     US1'     );
    insert into products values (     27     ,'     product_name7'     ,     65000     ,'     US3'     );
    insert into products values (     28     ,'     product_name8'     ,     86000     ,'     US2'     );
    insert into products values (     29     ,'     product_name9'     ,     62000     ,'     US3'     );
    insert into products values (     30     ,'     product_name10'     ,     13000     ,'     US3'     );

Maybe you are looking for

  • Upgraded to Numbers 3.2 and missing some simples...

    I've searched, and when 3.x came out it seems much of what I like vanished with the older version.  I've upgraded for longevity's sake, but man.  I understand that many people like the changes, and complained about many of the features I enjoy, but t

  • Hp j4680 all-in-one printer stops before printing is completed

    Ever since windows 8.1 downloaded to my computer I've lost my scanner and have problems printing.  It stops before printing is completed and now it won't print at all.  I've tried going to H.P. to help but it now says that no printer is found.  What

  • How: poll POP3 from ISP and feed into OSX mail server (Dovecot)

    Hi all, My desire: use IMAP for all my iOS and OSX devices to forget about the synchronization nightmare when using POP. My ISP only provides POP3, and I can fetch emails from his POP3 server so they end up in my mail client on any OSX workstation. B

  • Downloading images from URL

    Hi All, I am trying to write code to download images from given URL. My application will take URLs by querying sql server, will pass that URL to my method and download images to a specific folder. There will be almost 400 images a day to download. I

  • Slideshow controls - missing in 09?

    I have used the slideshow feature in past versions of iphoto and been very pleased with the process. Is was easy to create the slide show and you could extensively tweak things like indiidual time for each slide, transitions and you could even contro