About tech specification

15.     how will u develop the tech. spec’s?

Hi,
   Its basically based on the functional spec, every organization will follow its own formats based on that you need to design the TS.
regards
dj
reward for all helpful answers.

Similar Messages

  • Rotate about a specific point

    I have a script that creates geologic map symbols, positions them, and rotates them into their proper orientation.  However, I do not know how to rotate about a specific point (not the center of the group). The portion of script in question is:
    if (dlg.symbol.bedding.value) {
    var myLine = stGroup.pathItems.add();
    myLine.stroked = true;
    myLine.setEntirePath([[posx,posy],[posx+3,posy]]);
    myLine.strokeWidth = .75;
    var myLine = stGroup.pathItems.add();
    myLine.setEntirePath([[posx,posy - 6.75],[posx,posy + 6.75]]);
    myLine.stroked = true;
    myLine.strokeWidth = .75;
    stGroup.rotate(-azi);
    and I wish to rotate around the point [posx, posy].  How do I accomplish this?

    Thanks!  That worked.  For future reference, here's the modified section of script:
    if (dlg.symbol.bedding.value) {
    var myLine = stGroup.pathItems.add();
    myLine.stroked = true;
    myLine.setEntirePath([[posx,posy],[posx+3,posy]]);
    myLine.strokeWidth = .75;
    var myLine = stGroup.pathItems.add();
    myLine.setEntirePath([[posx,posy - 6.75],[posx,posy + 6.75]]);
    myLine.stroked = true;
    myLine.strokeWidth = .75;
    mapDoc.theOrigin = mapDoc.rulerOrigin;
    mapDoc.rulerOrigin = [posx,posy];
    stGroup.rotate(-azi, undefined,undefined,undefined,undefined,Transformation.DOCUMENTORIGIN);
    mapDoc.rulerOrigin = mapDoc.theOrigin;
    Another parameter in the rotate method to specify a rotation point would be nice.  Still, this works just fine, so no complaints from me.

  • About Upgrade specification for each Firefox version

    Dear Everyone,
    I would like to ask all of you about Upgrade specification of each firefox version.
    <Platform>
    Window Vista 32bit / Windows 7 32bit
    <Target version>
    - Firefox 3.6.19
    - Firefox 4.0.1
    - Firefox 5.0.1
    <List of question>
    1. Is Firefox 3.6.19 upgraded to 5.0.1 automatically?
    *Auto update option is enabled
    My understanding is that only 4.0.1 is upgraded to 5.0.1 automatically
    2. Is there any diffrerence between Auto upgrade and Manual upgrade ( run Firefox Setup 5.0.1 ), when I upgrade Firefox to 5.0.1 from 4.0.1
    For example, once uninstallation will run then install happens by Manual upgrade, or just overwrite files and modules by Auto upgrade, etc..
    3. Which keys and value should be changed to control Auto upgrade timing in About:config option?
    For example, just after 5 mins, Auto upgrade will happen by changing from xxx to xxx in value x, etc...
    It would be very helpful if you kindly give any advice or commnet.
    Thank you very much for your support in advance.

    Hi Nick & Peter,
    Thank you for your answer. Now I have another question: Do I have to upgrade the relay server when I upgrade afaria to SP2? and again when I upgrade afaria to SP4?? or Do I have to upgrade the relay just when I get to the afaria 7 to SP4 level? For example:
    The supported upgrade path would be (scenario 1):
    Afaria 7.0 Service Pack 1 Hot Fix 17 (Current)
    Afaria 7.0 Service Pack 2 (upgrade also the relay to the versión reléase for SP2)
    Afaria 7.0 Service Pack 4 (upgrade to the versión reléase for SP4 RS 16.0.0.1324)
    Afaria 7.0 Service Pack 4 Hot Fix 3 (Recommended)
    The supported upgrade path would be (scenario 2):
    Afaria 7.0 Service Pack 1 Hot Fix 17 (Current)
    Afaria 7.0 Service Pack 2
    Afaria 7.0 Service Pack 4 (upgrade to the versión reléase for SP4 RS 16.0.0.1324)
    Afaria 7.0 Service Pack 4 Hot Fix 3 (Recommended)
    Also I would like to know, If this relay server is shared with a SMP Server (production), there would be any known issue with the RSOE running on the mobile platform???
    I'll wait for your kind answer...
    Best Regards,
    MC

  • Report info about a specific machine

    Hi,
    Does somebody have a report that gives all information in SCCM about a specific machine between a timespan (like between November 1st and November 21st)?
    We would like as much as possible info about a specific workstation that's available in the SCCM SQL database, for forensic reasons (i.e. software installed, last user logged in, etc).
    The specific workstation has been reinstalled, so checking the workstation itself is not possible anymore.
    Thanks!

    I’m absolutely sure, If the PC exists within CM07 then they data will be exposed via resource explorer.
    http://www.enhansoft.com/
    Hi Garth,
    What if the OS reinstalled machine got the SCCM Client installed now. Will it still show the old history details? or Will it show the current inventory details alone?
    ~ Räjeésh M | Blog:
    ScorpITs | Please remember to 'Mark as Answer' or 'Vote as Helpful' on the post that helps. It helps others reading the thread and recognizes useful contributions.

  • About country specific functionalities

    Hello all,
    I want to ask question about country specific functionalities. I found that when I installed fresh database. Now, let say I want to choose a country but that country is not on that list, what do I use then? The nearest neighbor country? Would there any problem with that later on?
    If I choose a country now and later on I want to change it, can I do that? If yes, how and is there any problem?
    thanks.

    i dont think you can choose the closest counrty its not like that, unless both conurty using same setup for let say HR legsalation and things like that.
    for ex. jordan is not lestad in the countries and HRMS in jordan is diffrent then Sudia so we dont choose sudia becase its close to jordan we keep the defualt
    it all depend on the functionaly that you are using
    fadi
    http://oracle-magic.blogspot.com

  • About the specification of [app.project.file] from CS6

    Hello
    There is a question about the specification from CS6.
    [app.project.file] included the project in the time when filing was held in CS5, but when it isn't preserved, null enters at CS6.
    Isn't there a way to make [app.project.file] input a project by the way which doesn't indicate the dialogue?
    In unskillful English, excuse me.

    Hi Pavan,  
    Thanks for your post.
    What’s the version of your TFS?
    How did you specific the file path in InvokeProcess activity? Where you stored this batch file, under a local path in your build agent machine?
    As the TFS Build will running on build agent machine, so you can create the batch file under a local path in your build agent machine, for example C:\BAT\test.bat, then specific in this “C:\BAT\test.bat” as the
    FileName in your InvokeProcess activity. You can refer to Hari’s reply in this similar post:
    https://social.msdn.microsoft.com/Forums/vstudio/en-US/b8bcb19f-1296-441c-8356-e701b949445a/tfs-2010-how-to-execute-a-batch-file-after-build?forum=tfsbuild. 
    Each TFS build’s drop location copied from binaries folder, you can find the binaries folder from
    C:\Builds\ID\teamprojectname\builddefinitionname\bin on build agent machine, so you can write your batch script to copy latest files form this binaries folder for each TFS Build.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Rotating an object about a specific point!

    Hello Guys!
    Have a new Problem!
    I want to rotate an object about a specific point. But up to now i only can rotate something about the x,y,z axis!
    Is this possible to rotate a scene about the point 1,1,1?
         Transform3D rotation = new Transform3D();
         rotation.setRotation(new AxisAngle4d(-x, -y, 0,((Math.PI / 2) - angle)));
    I don't handle it with Alpha because i needn't an animation!
    Please help me!
    Quh

    Hello,
    to rotate an Object A about the Point P you have to do the following:
    1. Get the Transform T which transforms P to Point (0,0,0)
    2. Apply T on A
    3. Rotate A (around (0,0,0))
    4. Transform A with the inverse of T
    leha23.

  • Who do contact about a specific Labview Driver (Stanford Research SR785)

    Hello,
    I'm not sure if this is the right place to go, but how would one find out more about a specific Labview driver if the manufacture doesn't provide support?
    In my case, I have a Labview 8 driver for a Stanford Research SRS785. The driver works great except for one thing, and I'm trying to make sure I'm using it correctly. When I contact Stanford Research, they inform me that they cannot provide support as they did not write the driver.
    How would I find out where the driver came from, where I can get more information, etc.?
    Just for your information, the driver works in every method except for one. If I want to use the "Upload Capture Buffer" (GPIB command is "CGET") it doesn't seem to work and I'm not sure why. No matter how many data points I've captured (In my case, 2 channels at 64,000 points each), when I call the "Upload Capture Buffer" VI, it returns 256,000 values of what appears to be random numbers, but exactly the same for both channels.  Sorry for giving too many details.
    All other driver functions appear to work just fine, as I've used it for other things.
    I'm just wondering, from any LV developers, how you would go about finding the author and asking questions about a driver such as this?
    Regards,
    Jeff

    I'm assuming you are talking about the driver that is available on NI's site? Then the author is someone at NI. At the download page, there is a 'Comments' link. The best forum for discussing drivers is the Instrument Control one. I'm not familiar with the instrument but if you wanted to try a little troubleshooting on your own, you might want to see what the programming manual has to say about the CGET command and what else may need to done prior to getting any valid data. The command being issued by the driver is CGET? channel#,mode and assuming that the channel number and mode are correct, the VI is returning something so it just may be a matter of doing some other inititialization to get valid data. A good way to debug instrument communication is with MAX. There you can experiment with the different commands and queries.
    Just to add a little more, Stanford Research may not provide any support for the driver but they should support the instrument and remote programming. If you say you issue the command CGET? 0,0 and get garbage data, they should be able to tell you why. You don't even need to mention LabVIEW. The commands are the same with whatever programming language you use.
    Message Edited by Dennis Knutson on 07-07-2006 07:48 AM

  • How to write the tech specification ?

    hi can any 1 tell me how to write the technical specification when a functional spec is given.
    guys i need a sample spec or format of it . any help is appreciated
    please any one send some reports with code

    Hello Selva
    The first link provided by Vijayendra provides an already quite comprehensive specification. What I like in particular is chapter "1.15 Assumptions".
    I add a similar chapter to my specifications called <b>"Assertions"</b> which I prefer to place more at the beginning of the document. This chapter contains all assertions (mainly provided by the customer) on which the application is based. For example: <i>"The receiver (of certain costs) is either a single cost center or a cost center group but never both"</i> (technically possible in the SAP transaction).
    Within the application I try to document these assertions using checkpoint groups and assertions (more about this in the informative Weblog of Claudia Dangers /people/claudia.dangers/blog/2005/09/07/how-to-instrument-your-abap-code-with-checkpoint-groups).
    Why do I place this chapter on top of the specification? The customer should see this assertions/assumptions quite early in order to find any mistakes.
    Finally, what I have missed in the specification was a chapter <b>"Authorizations".</b>
    Regards
       Uwe

  • Questions about a specific offline editing workflow with AVCHD Source

    I`m working on a imac i5 in FCS3 with ProRes422
    I got a Sony HDR XR 500 AVCHD Camera, i get the material in FCP with the Log & Transfer Window. In this way the material is going to render on the fly to the Target Codec ProRes422.
    In the editing workflow in FCP i recognize the system got a little problem with the big ProRes files which means that the workflow slows down by the data rates of ProRes in HD
    Now i think about offline Editing for months.
    I read about the workflow, but there`s is one part that i don`t understand.
    In every tutorial about this thread, they say that in the end of editing process you have to make your timeline files offline with the media manager, than recapture, reconnect from the tape with timecode.
    BUT I DON`T HAVE A TAPE !!
    My source files are AVCHD, which every one starts by tc 00:00:00:00
    are the following thoughts possible, and how do i do this in detail?
    when i do Copy my ProRes422 full hd files with media manager, so the filenames are still the same like the original ones.
    in the copied project i start media manager again and turn the whole project in ProResProxy for offline editing. The file names are still the same.
    then i edit my project in this ProResProxy Project !
    At the end, shortly before i want to render out the whole movie in Full Resolution ....how can i reconnect with the original sized full HD ProRes422 files that are sleeping in a folder on my machine??
    Can someone tell me something specific to this workflow, or a better one?

    Folks, i've Found a Workflow in the web and tested it tonight - (it Works)!
    And this Way i can Archive my Final project later on DVD or BR in AVCHD Source Files which are much smaller as pro Res 422 or HQ...
    Here's the process in a nutshell. 
    - Backup your full cards. This needs to be done no matter what you do. 
    - Log and Transfer the footage as ProRes Proxy. 
    - Edit. 
    - When you lock picture, Media Manage the sequence using the MAKE OFFLINE option, choose the codec you want to reimport this footage as...ProRes 422. You will end up with a new sequence with only the footage used in the cut, with handles (yes, give yourself like 3 second handles). 
    - Use Log and Transfer to load all of the card backup folders. Just locate them...don't transfer again. You are telling FCP where the folders are. Close L&T. 
    - Highlight the sequence in the Browser, or all the clips in the MEDIA folder that is created, and choose BATCH CAPTURE. This will bring up the Log and Capture interface, but don't worry, it will now log and transfer the footage, and ONLY the small chunks of video you choose. It will recognize the IN and OUT points. 
    Do a small test and see for yourself. I have done this with AVCIntra P2 and it works well. 

  • Question about RTMP specification

    Hello,
    I have downloaded and read the RTMP specification, and am confused about some of the wording relating to the RTMP Chunk Stream.
    Page 19 of the RTMP Chunk Stream specification states that an extended Timestamp must not be present if the timestamp field is not present, then further states that Type 3 chunks must not have this field.  The only Chunk message header that has a timestamp is the Type 0 header.  Types 1 and 2 do not have a Timestamp field (however they have a timestamp delta.)  If applicable, is the extended timestamp only included with a Type 0 chunk, or do Type 1 and Type 2 chunks also include it?
    Thanks for your time.

    Hello i noticed a difference with the 'extended timestamp' in Type 3 chunks. The 'RTMP Specification' on page 19  say 'In the Type 3 chunks MUST NOT have this field.', but i see the 'extended timestamp' in chunks from the flash player. Here my trace with same decoding comments:
    06 channelId:6 Type 0 chunk
    FF FF FF timestamp
    00 BC 48 message length
    09 message type id
    01 00 00 00 msg stream id
    01 64 3D D0 extended timestamp
    payload chunk size is 128
    12 00 00 84 02 80 9E FE 25 2A 2E F8 30 3F 99 FC
    4C AB 6E B7 2F CB CB E2 DE 62 A7 86 9E BC 3E 04
    05 73 C3 D1 F0 FB 70 45 12 80 32 CE 4C B3 44 6E
    76 37 66 62 C7 A5 84 A0 60 12 C1 80 51 55 E9 41
    80 D5 06 01 69 55 53 EB 70 18 06 10 60 1A FC C2
    BF 4C B0 03 65 1D E5 FA 6B 57 AE 91 80 C0 25 03
    00 A9 E2 EB F0 60 36 01 80 61 B6 65 1D 83 00 D0
    0C 03 82 B1 16 C0 52 89 35 7A D3 18 C2 88 F6 CD
    C6 channelId:6 Type 3 chunk
    01 64 3D D0 (I think tihs is a extended timestamp)
    00 FE 03 02 F7 28 19 50 AF F8 55 7D 8C 35 1A 33
    0E 3D EE DC F2 75 3B 10 E4 CC 21 7B CF C1 80 11
    06 00 64 BF 41 0C 18 00 F0 0C F9 7F F2 DA AC 18
    01 10 40 56 3B C5 17 3F 4B BE AD AC B6 E5 DC C1
    DC 91 EF 60 C0 4F 03 00 3E 5F B6 83 00 36 0C 00
    99 7C A0 C1 88 80 62 A5 3C C0 60 9E 81 80 10 CD
    9B 59 83 BE B0 E8 F5 40 C0 22 03 00 A9 00 D8 30
    0C 00 C0 36 97 F2 D0 60 5E 02 1D 08 39 F1 EE 03
    and the next chunk
    C6 channelId:6 Type 3 chunk
    01 64 3D D0 (I think tihs is a extended timestamp)
    04 F2 07 FB 67 07 6D F6 5B B6 9F 8E A0 C0 20 83
    00 B3 E5 14 18 0F 00 84 AF 6A AD A2 58 30 02 A0
    C0 0C 04 39 F8 A6 A9 D0 60 3E 41 80 10 2F 6B 16
    98 C0 8A E6 AF 2A 12 44 75 73 CA F6 62 90 3F FA
    58 08 52 6C 63 AB 64 E1 D8 70 43 FC 9C 2F 2F F5
    9B 66 5A 0A AD FB 48 0C 3D E8 18 0A 60 60 09 2D
    55 FF 03 00 3A 0C 00 CA 8B C5 70 4B 06 00 60 18
    00 F2 FA 8F EA 84 88 5D F9 19 6B E0 59 EF 5E 06
    Is this an error in the Flash Player or a mistake in the 'RTMP Specification' ?

  • Query about Tech specs for purchasing new Macbook Pro

    HI,
    I have an 13-inch, Late 2011 Macbook Pro and all the details are as follows:
    Processor  2.4 GHz Intel Core i5
    Memory  4 GB 1333 MHz DDR3
    Graphics  Intel HD Graphics 3000 384 MB
    Serial Number  C02HLMQRDV13
    Software  OS X 10.9.4 (13E28)
    I wanted to purchase 13-inch MacBook Pro with Retina display with the following specifications:
    2.6GHz Dual-core Intel Core i5, Turbo Boost up to 3.1GHz
    16GB 1600MHz DDR3L SDRAM
    256GB PCIe-based Flash Storage
    Intel Iris Graphics
    But, I have following some very simple(and silly?) queries:
    1. Does my current Macbook Pro have only one core and the new one is dual-core i.e. two cores? Right?
    2. Memory in my current Macbook is 4 GB DDR3, but the new one says '16GB 1600MHz DDR3L SDRAM'. I believe SDRAM is pretty old. Is it that this SDRAM is based on DDR3 technology?
    3. Should I go for 8 GB or 16 GB? I usually have iTunes, 20-25 tabs on Safari, Terminal, Xcode/ Matlab, Microsoft Word/Powerpoint running in parallel on my Macbook. Would 8 GB RAM be enough for coming 3 years?
    4. How much useful is the jump in processor, say 2.6GHz to 2.8GHz?
    Thanks.

    Thanks for your quick response. I had a few follow up questions and it'd be great if you could answer them too:
    Your 2011 model has dual cores.
    So, essentially the only difference in processor from my current Macbook to new would be 2.4GHz to 2.6GHz, as both models have dual-cores.
    The only real difference in RAM between the two is that the Retina model comes with the RAM soldered onto the logic board, making it unable to be upgraded - oh and the new model ships with 1600MHz RAM rather than the 1333MHz shipped in the 2011 model.
    So, both the models - my current and the new one that I plan to buy - have RAM based on DDR3 technology. The difference is in the jump from 4GB to 16GB and 1333MHz to 1600MHz.
    8GB would probably be sufficient in the next couple of years; however, were I you, I would go ahead and order 16GB since you can never go back and put more RAM in as you could on the 2011 model.
    Yes, if the RAM comes soldered, I'd rather buy the 16GB version. Thanks for sharing that.
    Pretty significant - the actual speed doesn't tell the whole story. The new model also ships with a newer, faster, ore energy efficient processor.
    When you say that the new model ships with a newer, faster, energy efficient processor, which new model are your referring to?
    Also, Apple has Flash drives and not SSDs. How much is there a difference between the two? Is one better than the other?

  • PROBLEM ABOUT HIDING SPECIFIC KIND OF POSITIONS TC ME23N

    HI all:
    I would like to hide automatically the positions of a purchase order when I go to transaction me23n and I try to visualize it.
    The type of positions referred are the next:
    I prefer not to se the positions whose field LOEKZ is different to space.
    What do you recommend me not modifying the standard?.
    Is there any specific user-exit?. I've tried many of them but you have to check the header or the item detail.
    Or is there any badi?
    I've tried looking for some bodies used in the transaction but for example in method:
    IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM . It is used only when you introduce a modification in the table control 1211 of transaction me23n
    Thanks in advance.
    Jose Luis.

    Hi Friend,
    To cater this specific requirement, hiding a specific field whenever some condtion mate is to be handled through enhancement spot
    This kind requirement i got in SD, no Exit or BADI is going to help you, enhancement spot (is behave like exit or BADI provided to enhance standard SAP prorgam without changing that; SAP provided this from 6.0 onwards) is the only way.
    Try to find any enhancement spot in standard SAP program which meets your requirement.
    Regards
    Krishnendu

  • Want tech. specification

    i have one abap program boss want its Technical Specification can any give me any sample Spec. and also if it is possible give me my spect. i am sending code
    Plz give me spect as soon as possible.
                      CODE
    Report           YMPCR_LD1DAILY_REPORTA                              *                                                                     *
    PROGRAM.......   YMPCR_LD1DAILY_REPORTA                              *
    TCODE.........   YP33CH1                                             *
    TITLE.........                                                       *
    AUTHORS......... Rajesh Kumar Choudhary                              *
    FUNCTIONAL....   Mr.PRADEEP BANWAR.                                  *
    DATE WRITTEN..   22.07.2006                                          *
    R/3 RELEASE...   470                                                 *
    =====================================================================*
    COPIED FROM...                                                       *
    TITLE......... <DETAILED DESCRIPTION>                                *
    =====================================================================*
    USED BY....... < user or usergroups >                                *
    =====================================================================*
    PROGRAM TYPE.. Executable Program                                    *
    PACKAGE....... YLPC.                                                 *
    REQUEST NO....                                                       *
    LOGICAL DB...                                                        *
    =====================================================================*
    SCREENS.......                                                       *
    GUI TITLE.....                                                       *
    GUI STATUS....                                                       *
    =====================================================================*
    CHANGE HISTORY                                                       *
    Date       By  Correction Number & Brief Description  Release        *
    REPORT  YMPCR_LD1DAILY_REPORTA          LINE-SIZE 255        .
    *&      Tables Declerarion.                                            *
    TABLES: YMPCT_PP03_LPCHD,         "LPC PP03 HEADER TABLE
            YMPCT_PP03LPCACT,         "Activity Table
            AUFM,                     "Goods movement for Order
            QALS,                     "Inspection lot record
            PLMK,                     "Inspection plan characteristics
            QAMR,                     "Characteristic results during inspection processing
            MCHB.
    *&      Micros Difining                                                *
    DEFINE FREE_TABLE.
      CLEAR &1.
      FREE &1.
    END-OF-DEFINITION.
    DEFINE CONVERT_MATNR.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
        EXPORTING
          INPUT  = &1
        IMPORTING
          OUTPUT = &2.
    END-OF-DEFINITION.
    *&     Internal Tables                                                 *
    DATA: BEGIN OF T_LPCHD OCCURS 100,
          TIMESTAMP LIKE YMPCT_PP03_LPCHD-TIMESTAMP,
          CHARGE LIKE YMPCT_PP03_LPCHD-CHARGE,
          PCODE_AIM LIKE YMPCT_PP03_LPCHD-PCODE_AIM,
          MATNR_AIM LIKE YMPCT_PP03_LPCHD-MATNR_AIM,
          AUFNR LIKE YMPCT_PP03_LPCHD-AUFNR,
          ROUTECODE LIKE YMPCT_PP03_LPCHD-ROUTECODE,
          BUDAT LIKE YMPCT_PP03_LPCHD-BUDAT,
          QUANTITY LIKE YMPCT_PP03_LPCHD-QUANTITY,
          PRUEFLOS LIKE YMPCT_PP03_LPCHD-PRUEFLOS,
          NO_OF_PIECES LIKE YMPCT_PP03_LPCHD-NO_OF_PIECES,
    END OF T_LPCHD.
    DATA: T_LPCHD1 LIKE T_LPCHD OCCURS 100 WITH HEADER LINE.
    DATA: BEGIN OF T_AUFM OCCURS 100,
          MBLNR LIKE AUFM-MBLNR,
          MJAHR LIKE AUFM-MJAHR,
          ZEILE LIKE AUFM-ZEILE,
          BWART LIKE AUFM-BWART,
          MATNR LIKE AUFM-MATNR,
          CHARG LIKE AUFM-CHARG,
          ERFMG LIKE AUFM-ERFMG,
          AUFNR LIKE AUFM-AUFNR,
          END OF T_AUFM.
    DATA: BEGIN OF T_AUFM_SM OCCURS 0,
          AUFNR LIKE AUFM-AUFNR,
          CHARG LIKE AUFM-CHARG,
          BWART LIKE AUFM-BWART,
          MATNR LIKE AUFM-MATNR,
          ERFMG LIKE AUFM-ERFMG,
          ACH_MATNR LIKE AUFM-MATNR,
          ACH_MAKTX LIKE MAKT-MAKTX,
          ACH_QTY   LIKE AUFM-ERFMG,
    END OF T_AUFM_SM.
    DATA: T_AUFM_SM_AR LIKE T_AUFM_SM OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF T_QALS OCCURS 0,
          PRUEFLOS LIKE QALS-PRUEFLOS,
          MERKNR LIKE QAMR-MERKNR,
          VERWMERKM LIKE PLMK-VERWMERKM,
          MITTELWERT LIKE QAMR-MITTELWERT,
          VALUE(16),
          END OF T_QALS.
    DATA: BEGIN OF T_LPCACT OCCURS 0,
          TIMESTAMP LIKE YMPCT_PP03LPCACT-TIMESTAMP,
          AUFNR LIKE YMPCT_PP03LPCACT-AUFNR,
          PROD_TIME_START LIKE YMPCT_PP03LPCACT-PROD_TIME_START,
          CHARG LIKE AUFM-CHARG,
          END OF T_LPCACT.
    DATA: BEGIN OF T_MATNR OCCURS 0,
          MATNR LIKE MARA-MATNR,
          SPRAS LIKE MAKT-SPRAS,
          END OF T_MATNR.
    DATA: BEGIN OF T_MAKT OCCURS 0,
          MATNR LIKE MAKT-MATNR,
          MAKTX LIKE MAKT-MAKTX,
          END OF T_MAKT.
    DATA: BEGIN OF T_OUTPUT OCCURS 75,
          DATE LIKE SY-DATUM,
          CHARG LIKE AUFM-CHARG,
          AUFNR LIKE AUFM-AUFNR,
          BUDAT LIKE YMPCT_PP03_LPCHD-BUDAT,
          CAR(10),
          MN(10),
          SUL(10),
          PHO(10),
          SI(10),
          AL(10),
          TI(10),
          CR(10),
          NI(10),
          MO(10),
          V(10),
          CU(10),
          MATNR_AIM LIKE AUFM-MATNR,
          MAKTX_AIM LIKE MAKT-MAKTX,
          ACH_MATNR LIKE AUFM-MATNR,
          ACH_MAKTX LIKE MAKT-MAKTX,
          ACH_QTY   LIKE AUFM-ERFMG,
          TAP_TIME  LIKE SY-UZEIT,
          AIM_QTY LIKE AUFM-ERFMG,
          ROUTE(30),
          ROUTE1 LIKE YMPCT_PP03_LPCHD-ROUTECODE,
          MATNR_ARS LIKE AUFM-MATNR,
          MAKTX_ARS LIKE MAKT-MAKTX,
          ARS_QTY LIKE AUFM-ERFMG,
          NO_PCS LIKE YMPCT_PP03_LPCHD-NO_OF_PIECES,
          PERCEN(5) TYPE P DECIMALS 2,
          CINSM LIKE MCHB-CINSM,
          PENDING(7) TYPE C,
          PROD_DATE LIKE YMPCT_PP03_LPCHD-PROD_DATE,
          END OF T_OUTPUT.
    DATA: BEGIN OF T_OUTPUT_INA OCCURS 0.
            INCLUDE STRUCTURE YMPCT_PP03_LPCIN.
    DATA:END OF T_OUTPUT_INA.
    DATA: BEGIN OF T_OUTPUT2 OCCURS 75,
          CHARG(10),
          BUDAT(10),
          CAR(10),
          MN(10),
          SUL(10),
          PHO(10),
          SI(10),
          AL(10),
          TI(10),
          CR(10),
          NI(10),
          MO(10),
          V(10),
          CU(10),
          MATNR_AIM(18),
          MAKTX_AIM(40),
          ACH_MATNR(18),
          ACH_MAKTX(40),
          ACH_QTY(12),
          TAP_TIME(10),
          AIM_QTY(12),
          ROUTE(30),
         matnr_ars LIKE aufm-matnr,
         maktx_ars LIKE makt-maktx,
         ars_qty LIKE aufm-erfmg,
          NO_PCS(9),
          PERCEN(7) ,
          PENDING(7) TYPE C,
          END OF T_OUTPUT2.
    DATA:  BEGIN OF T_OUTPUT1 OCCURS 0,
            CHARG LIKE AUFM-CHARG,
           AUFNR LIKE AUFM-AUFNR,
            MATNR_ARS LIKE AUFM-MATNR,
            MAKTX_ARS LIKE MAKT-MAKTX,
            ARS_QTY LIKE AUFM-ERFMG,
           END   OF T_OUTPUT1.
    DATA: W_TABIX LIKE SY-TABIX.
    DATA  W_MENGE1 LIKE AUFM-ERFMG .
    DATA  L_TABIX LIKE SY-TABIX.
    DATA  WERKS_1 LIKE MCHB-WERKS.
    DATA : WA LIKE LINE OF T_OUTPUT.
    DATA : INDEX LIKE SY-TABIX.
    DATA CINSM_1 LIKE MCHB-CINSM.
    *&      INITIALIZATION.                                                *
    INITIALIZATION.
      RANGES P_BUDAT FOR YMPCT_PP03_LPCHD-BUDAT.
      P_BUDAT-SIGN = 'I'.
      P_BUDAT-OPTION = 'BT'.
      P_BUDAT-LOW = SY-DATUM - 11150.
      P_BUDAT-HIGH = SY-DATUM.
      APPEND P_BUDAT.
    *&      AT SELECTION SCREEN                                            *
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF SCREEN-GROUP1 = 'WRK'.
          SCREEN-INPUT = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    *&      START OF SESECTION                                             *
    START-OF-SELECTION.
      PERFORM SELECT_DATA.
    *&      END OF SELECTION                                               *
    END-OF-SELECTION.
    *&      FEACHING DATA                                                  *
      PERFORM FORMAT_DATA.
      PERFORM WRITE_DATA.
    *&      Form  SELECT_DATA                                              *
    FORM SELECT_DATA.
      PERFORM GET_DATA_LPCHD.
      PERFORM GET_DATA_AUFM.
      PERFORM GET_MATERIAL_DESC.
      PERFORM GET_INSPECTION_VALS.
      PERFORM GET_ACTIVITY_DTLS.
    ENDFORM.                    " SELECT_DATA
    *&      Form  FORMAT_DATA                                              *
    FORM FORMAT_DATA.
      LOOP AT T_LPCHD.
        MOVE: T_LPCHD-CHARGE TO T_OUTPUT-CHARG,
              T_LPCHD-AUFNR  TO T_OUTPUT-AUFNR,
              T_LPCHD-BUDAT  TO T_OUTPUT-BUDAT,
              T_LPCHD-MATNR_AIM TO T_OUTPUT-MATNR_AIM,
              T_LPCHD-NO_OF_PIECES TO T_OUTPUT-NO_PCS.
    Route code
        READ TABLE T_LPCHD1 WITH KEY CHARGE = T_LPCHD-CHARGE
                     TRANSPORTING ROUTECODE.
        IF SY-SUBRC = 0.
          MOVE T_LPCHD-ROUTECODE TO T_OUTPUT-ROUTE1.
          CONCATENATE T_LPCHD-ROUTECODE '+'
                   T_LPCHD1-ROUTECODE INTO T_OUTPUT-ROUTE.
                  SEPARATED BY space.
        ENDIF.
    Aim material
        READ TABLE T_AUFM_SM WITH KEY AUFNR = T_LPCHD-AUFNR
                                      CHARG = T_LPCHD-CHARGE
                                      BWART = '101'.
                                     BINARY SEARCH.
        IF SY-SUBRC = 0.
         t_output-matnr_aim = t_aufm_sm-matnr.
          T_OUTPUT-AIM_QTY = T_AUFM_SM-ERFMG.
        ENDIF.
    Aim material description
        READ TABLE T_MAKT WITH KEY MATNR = T_OUTPUT-MATNR_AIM
                           BINARY SEARCH TRANSPORTING MAKTX.
        IF SY-SUBRC = 0.
          T_OUTPUT-MAKTX_AIM = T_MAKT-MAKTX.
        ENDIF.
    Achieved Material and Qty
    added by vinati on 230802
       READ TABLE t_aufm_sm WITH KEY aufnr = t_lpchd-aufnr
                                     charg = t_lpchd-charge
                                     matnr = t_lpchd-matnr_aim.
                                    bwart =  '321'.
       IF sy-subrc = 0.
             t_output-ach_qty = t_aufm_sm-erfmg / 2.
       ENDIF.
        CLEAR: W_MENGE1.
        LOOP AT T_AUFM_SM WHERE AUFNR = T_LPCHD-AUFNR
                          AND   CHARG = T_LPCHD-CHARGE
                          AND   MATNR = T_LPCHD-MATNR_AIM.
          IF ( T_AUFM_SM-BWART = '321' ) OR ( T_AUFM_SM-BWART = '322' )
          OR ( T_AUFM_SM-BWART = '349' ) OR ( T_AUFM_SM-BWART = '350' ).
            T_OUTPUT-ACH_MATNR = T_AUFM_SM-MATNR.
            CASE T_AUFM_SM-BWART.
              WHEN '350'.
                W_MENGE1 = W_MENGE1 + T_AUFM_SM-ERFMG.
              WHEN '349'.
                W_MENGE1 = W_MENGE1 - T_AUFM_SM-ERFMG.
              WHEN '321'.
                W_MENGE1 = W_MENGE1 + T_AUFM_SM-ERFMG.
              WHEN '322'.
                W_MENGE1 = W_MENGE1 - T_AUFM_SM-ERFMG.
            ENDCASE.
          ENDIF.
    Achieved Material Description
          READ TABLE T_MAKT WITH KEY MATNR = T_OUTPUT-ACH_MATNR
              BINARY SEARCH TRANSPORTING MAKTX.
          IF SY-SUBRC = 0.
            T_OUTPUT-ACH_MAKTX = T_MAKT-MAKTX.
          ENDIF.
        ENDLOOP.
        T_OUTPUT-ACH_QTY = W_MENGE1 / 2.
    Tap time
        READ TABLE T_LPCACT WITH KEY CHARG = T_LPCHD-CHARGE.
        IF SY-SUBRC = 0.
          T_OUTPUT-TAP_TIME = T_LPCACT-PROD_TIME_START.
        ENDIF.
    Arising material
        READ TABLE T_AUFM_SM_AR WITH KEY AUFNR = T_LPCHD-AUFNR
                                      CHARG = T_LPCHD-CHARGE
                                      BWART = '531'.
        IF SY-SUBRC = 0.
          T_OUTPUT1-AUFNR  = T_AUFM_SM_AR-AUFNR.
          T_OUTPUT1-CHARG  = T_AUFM_SM_AR-CHARG.
          IF T_AUFM_SM_AR-ERFMG >= 10.
            T_OUTPUT1-MATNR_ARS = T_AUFM_SM_AR-MATNR.
            T_OUTPUT1-ARS_QTY = T_AUFM_SM_AR-ERFMG.
            READ TABLE T_MAKT WITH KEY MATNR = T_OUTPUT1-MATNR_ARS
                           BINARY SEARCH TRANSPORTING MAKTX.
            IF SY-SUBRC = 0.
              T_OUTPUT1-MAKTX_ARS = T_MAKT-MAKTX.
            ENDIF.
            APPEND  T_OUTPUT1.
          ENDIF.
        ENDIF.
        PERFORM GET_VALUES_INSP USING 'C_LSA' T_LPCHD-PRUEFLOS
                               CHANGING T_OUTPUT-CAR.
        PERFORM GET_VALUES_INSP USING 'SI_LSA' T_LPCHD-PRUEFLOS
                           CHANGING T_OUTPUT-SI.
        PERFORM GET_VALUES_INSP USING 'MN_LSA' T_LPCHD-PRUEFLOS
                           CHANGING T_OUTPUT-MN.
        PERFORM GET_VALUES_INSP USING 'S_LSA' T_LPCHD-PRUEFLOS
                           CHANGING T_OUTPUT-SUL.
        PERFORM GET_VALUES_INSP USING 'P_LSA' T_LPCHD-PRUEFLOS
                           CHANGING T_OUTPUT-PHO.
        PERFORM GET_VALUES_INSP USING 'AL_LSA' T_LPCHD-PRUEFLOS
                          CHANGING T_OUTPUT-AL.
        PERFORM GET_VALUES_INSP USING 'TI_LSA' T_LPCHD-PRUEFLOS
                          CHANGING T_OUTPUT-TI.
        PERFORM GET_VALUES_INSP USING 'CR_LSA' T_LPCHD-PRUEFLOS
                          CHANGING T_OUTPUT-CR.
        PERFORM GET_VALUES_INSP USING 'NI_LSA' T_LPCHD-PRUEFLOS
                          CHANGING T_OUTPUT-NI.
        PERFORM GET_VALUES_INSP USING 'MO_LSA' T_LPCHD-PRUEFLOS
                          CHANGING T_OUTPUT-MO.
        PERFORM GET_VALUES_INSP USING 'V_LSA' T_LPCHD-PRUEFLOS
                          CHANGING T_OUTPUT-V.
        PERFORM GET_VALUES_INSP USING 'CU_LSA' T_LPCHD-PRUEFLOS
                          CHANGING T_OUTPUT-CU.
        IF T_OUTPUT-CAR = ' ' AND
           T_OUTPUT-SI  = ' ' AND
           T_OUTPUT-MN  = ' ' AND
           T_OUTPUT-SUL = ' ' AND
           T_OUTPUT-PHO = ' ' AND
           T_OUTPUT-AL  = ' ' AND
           T_OUTPUT-TI  = ' ' AND
           T_OUTPUT-CR  = ' ' AND
           T_OUTPUT-NI  = ' ' AND
           T_OUTPUT-MO  = ' ' AND
           T_OUTPUT-V   = ' ' AND
           T_OUTPUT-CU  = ' ' .
          PERFORM GET_VALUES_INSP USING 'C_TPA' T_LPCHD-PRUEFLOS
                                     CHANGING T_OUTPUT-CAR.
          PERFORM GET_VALUES_INSP USING 'SI_TPA' T_LPCHD-PRUEFLOS
                             CHANGING T_OUTPUT-SI.
          PERFORM GET_VALUES_INSP USING 'MN_TPA' T_LPCHD-PRUEFLOS
                             CHANGING T_OUTPUT-MN.
          PERFORM GET_VALUES_INSP USING 'S_TPA' T_LPCHD-PRUEFLOS
                             CHANGING T_OUTPUT-SUL.
          PERFORM GET_VALUES_INSP USING 'P_TPA' T_LPCHD-PRUEFLOS
                             CHANGING T_OUTPUT-PHO.
          PERFORM GET_VALUES_INSP USING 'AL_TPA' T_LPCHD-PRUEFLOS
                            CHANGING T_OUTPUT-AL.
          PERFORM GET_VALUES_INSP USING 'TI_TPA' T_LPCHD-PRUEFLOS
                            CHANGING T_OUTPUT-TI.
          PERFORM GET_VALUES_INSP USING 'CR_TPA' T_LPCHD-PRUEFLOS
                            CHANGING T_OUTPUT-CR.
          PERFORM GET_VALUES_INSP USING 'NI_TPA' T_LPCHD-PRUEFLOS
                            CHANGING T_OUTPUT-NI.
          PERFORM GET_VALUES_INSP USING 'MO_TPA' T_LPCHD-PRUEFLOS
                            CHANGING T_OUTPUT-MO.
          PERFORM GET_VALUES_INSP USING 'V_TPA' T_LPCHD-PRUEFLOS
                            CHANGING T_OUTPUT-V.
          PERFORM GET_VALUES_INSP USING 'CU_TPA' T_LPCHD-PRUEFLOS
                            CHANGING T_OUTPUT-CU.
        ENDIF.
        IF NOT T_OUTPUT-AIM_QTY IS INITIAL.
          T_OUTPUT-PERCEN = ( T_OUTPUT-ACH_QTY / T_OUTPUT-AIM_QTY ) * 100.
        ENDIF.
        APPEND T_OUTPUT.
        CLEAR T_OUTPUT.
      ENDLOOP.
      FREE_TABLE T_LPCHD.
      FREE_TABLE T_AUFM_SM.
      FREE_TABLE T_MAKT.
      FREE_TABLE T_LPCACT.
      FREE_TABLE T_AUFM_SM_AR.
      SORT T_OUTPUT1.
      DELETE ADJACENT DUPLICATES FROM T_OUTPUT1 COMPARING ALL FIELDS.
    ENDFORM.                    " FORMAT_DATA
    *&      Form  GET_DATA_LPCHD                                           *
    FORM GET_DATA_LPCHD.
      SELECT TIMESTAMP
             CHARGE
             PCODE_AIM
             MATNR_AIM
             AUFNR
             ROUTECODE
             BUDAT
             QUANTITY
             PRUEFLOS
             NO_OF_PIECES
             INTO TABLE T_LPCHD
           FROM YMPCT_PP03_LPCHD
           WHERE WERKS = '025'
            AND  BUDAT IN P_BUDAT.
           AND  matnr_aim IN s_matnr
           AND  routecode IN s_rtcode
           AND  CHARGE IN S_CHARG.
      IF T_LPCHD[] IS INITIAL.
       MESSAGE s333(s1) WITH 'No data selected'.
        LEAVE LIST-PROCESSING.
      ENDIF.
    Filling t_matnr for fetching material description in one shot
      LOOP AT T_LPCHD.
        W_TABIX = SY-TABIX.
        T_MATNR-MATNR = T_LPCHD-MATNR_AIM.
        APPEND T_MATNR.
       PERFORM convert_alpha_input CHANGING t_lpchd-aufnr.
        IF T_LPCHD-PCODE_AIM = 'LIQ'.
          MOVE-CORRESPONDING T_LPCHD TO T_LPCHD1.
          APPEND T_LPCHD1.
          DELETE T_LPCHD INDEX W_TABIX.
          CONTINUE.
        ENDIF.
        MODIFY T_LPCHD INDEX W_TABIX TRANSPORTING AUFNR.
      ENDLOOP.
      IF T_LPCHD[] IS INITIAL.
       MESSAGE s333(s1) WITH 'No data selected'.
        LEAVE LIST-PROCESSING.
      ENDIF.
      LOOP AT T_LPCHD1.
        READ TABLE T_LPCHD WITH KEY CHARGE = T_LPCHD1-CHARGE.
        IF SY-SUBRC <> 0.
          DELETE  T_LPCHD1.
        ENDIF.
      ENDLOOP.
      SORT T_LPCHD1 BY AUFNR CHARGE.
    ENDFORM.                    " GET_DATA_LPCHD
    *&      Form  GET_DATA_AUFM                                            *
    FORM GET_DATA_AUFM.
      DATA: L_AUFM LIKE T_AUFM_SM OCCURS 0 WITH HEADER LINE,
            L_TABIX LIKE SY-TABIX,
            L_QTY LIKE AUFM-ERFMG.
      SELECT MBLNR
             MJAHR
             ZEILE
             BWART
             MATNR
             CHARG
             ERFMG
             AUFNR
             INTO TABLE T_AUFM
          FROM AUFM
          FOR ALL ENTRIES IN T_LPCHD
          WHERE AUFNR = T_LPCHD-AUFNR
            AND  CHARG = T_LPCHD-CHARGE
           AND  BWART IN ('101','102','122','531','532','321','322','349',
                           '350').
      LOOP AT T_AUFM.
        T_MATNR-MATNR = T_AUFM-MATNR.
        APPEND T_MATNR.
        MOVE-CORRESPONDING T_AUFM TO T_AUFM_SM.
        IF T_AUFM-BWART = '102'.
          T_AUFM_SM-ERFMG = T_AUFM_SM-ERFMG * -1.
          T_AUFM_SM-BWART = '101'.
        ENDIF.
        IF T_AUFM-BWART = '532'.
          T_AUFM_SM-ERFMG = T_AUFM_SM-ERFMG * -1.
          T_AUFM_SM-BWART = '531'.
        ENDIF.
        COLLECT T_AUFM_SM.
      ENDLOOP.
      LOOP AT T_AUFM_SM WHERE BWART = '531'.
        MOVE-CORRESPONDING T_AUFM_SM TO L_AUFM.
        APPEND L_AUFM.
      ENDLOOP.
      SORT L_AUFM BY AUFNR CHARG ERFMG DESCENDING.
      LOOP AT L_AUFM.
        ON CHANGE OF L_AUFM-AUFNR OR L_AUFM-CHARG.
          MOVE-CORRESPONDING L_AUFM TO T_AUFM_SM_AR.
          APPEND T_AUFM_SM_AR.
        ENDON.
      ENDLOOP.
      SORT T_AUFM_SM BY AUFNR CHARG BWART.
      SORT T_AUFM_SM_AR BY AUFNR CHARG BWART.
      FREE_TABLE T_AUFM.
    ENDFORM.                    " GET_DATA_AUFM
    *&      Form  GET_MATERIAL_DESC                                        *
    FORM GET_MATERIAL_DESC.
      DELETE ADJACENT DUPLICATES FROM T_MATNR COMPARING MATNR.
      T_MATNR-SPRAS = SY-LANGU.
      MODIFY T_MATNR TRANSPORTING SPRAS WHERE SPRAS EQ SPACE.
    Fetch material description into t_makt.
      SELECT MATNR
             MAKTX
             INTO TABLE T_MAKT
      FROM MAKT
      FOR ALL ENTRIES IN T_MATNR
      WHERE MATNR = T_MATNR-MATNR
        AND SPRAS = T_MATNR-SPRAS.
      SORT T_MAKT BY MATNR.
      FREE_TABLE T_MATNR.
    ENDFORM.                    " GET_MATERIAL_DESC
    *&      Form  GET_INSPECTION_VALS                                      *
    FORM GET_INSPECTION_VALS.
    To fetch the quantiy of mn si etc
      SELECT QALS~PRUEFLOS
             PLMK~MERKNR
             PLMK~VERWMERKM
             QAMR~MITTELWERT
            INTO TABLE T_QALS
        FROM QALS INNER JOIN PLMK  ON
           QALSPLNTY = PLMKPLNTY AND
           QALSPLNNR = PLMKPLNNR AND
           QALSZAEHL = PLMKPLNKN
         INNER JOIN QAMR
         ON QAMRPRUEFLOS = QALSPRUEFLOS AND
            QAMRMERKNR = PLMKMERKNR
        FOR ALL ENTRIES IN T_LPCHD
        WHERE QALS~PRUEFLOS = T_LPCHD-PRUEFLOS
          AND QALS~STAT35 = 'X'.
      LOOP AT T_QALS.
        WRITE T_QALS-MITTELWERT TO T_QALS-VALUE EXPONENT 0.
        MODIFY T_QALS INDEX SY-TABIX TRANSPORTING VALUE.
      ENDLOOP.
    ENDFORM.                    " GET_INSPECTION_VALS
    *&      Form  GET_ACTIVITY_DTLS                                        *
    FORM GET_ACTIVITY_DTLS.
      DATA: L_TABIX LIKE SY-TABIX.
      SELECT TIMESTAMP
             AUFNR
             PROD_TIME_START
             INTO TABLE T_LPCACT
             FROM YMPCT_PP03LPCACT
             FOR ALL ENTRIES IN T_LPCHD1
             WHERE AUFNR = T_LPCHD1-AUFNR
             AND ARBPL = 'LD1_VSL'.
      LOOP AT T_LPCACT.
        L_TABIX = SY-TABIX.
        READ TABLE T_LPCHD1 WITH KEY AUFNR = T_LPCACT-AUFNR.
        IF SY-SUBRC = 0.
          T_LPCACT-CHARG = T_LPCHD1-CHARGE.
        ENDIF.
       PERFORM convert_alpha_input CHANGING t_lpcact-aufnr.
        MODIFY T_LPCACT INDEX L_TABIX TRANSPORTING AUFNR CHARG.
      ENDLOOP.
      SORT T_LPCACT BY AUFNR.
    ENDFORM.                    " GET_ACTIVITY_DTLS
    *&      Form  GET_VALUES_INSP                                          *
    FORM GET_VALUES_INSP USING    VALUE(P_0503)
                                  VALUE(P_LOT)
                         CHANGING P_VALUE.
      READ TABLE T_QALS WITH KEY PRUEFLOS = P_LOT
                                 VERWMERKM = P_0503.
      IF SY-SUBRC = 0.
        P_VALUE = T_QALS-VALUE.
      ENDIF.
    ENDFORM.                    " GET_VALUES_INSP
    *&      Form  WRITE_DATA                                               *
    FORM WRITE_DATA.
      SORT T_OUTPUT BY  BUDAT CHARG.
      DELETE ADJACENT DUPLICATES FROM T_OUTPUT COMPARING CHARG.
      FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
      T_OUTPUT2-CHARG  = 'Cast No'.
      T_OUTPUT2-BUDAT = 'PostingDt'.
      T_OUTPUT2-CAR = 'Carbon'.
      T_OUTPUT2-MN = 'mn'.
      T_OUTPUT2-SUL = 'S'.
      T_OUTPUT2-PHO = 'P'.
      T_OUTPUT2-SI = 'Si'.
      T_OUTPUT2-AL = 'Al'.
      T_OUTPUT2-TI = 'Ti'.
      T_OUTPUT2-CR = 'Cr'.
      T_OUTPUT2-NI = 'Ni'.
      T_OUTPUT2-MO = 'Mo'.
      T_OUTPUT2-V  = 'V'.
      T_OUTPUT2-CU = 'Cu'.
      T_OUTPUT2-MATNR_AIM = 'Aim Material'.
      T_OUTPUT2-MAKTX_AIM = 'Aim Material Desc'.
      T_OUTPUT2-ACH_MATNR = 'Ach Material'.
      T_OUTPUT2-ACH_MAKTX = 'Ach Material Desc'.
      T_OUTPUT2-ACH_QTY =  'Ach Qty'.
      T_OUTPUT2-TAP_TIME = 'Tppg Time'.
      T_OUTPUT2-AIM_QTY = 'Aim Quantity'.
      T_OUTPUT2-ROUTE  = 'Route'.
         matnr_ars LIKE aufm-matnr,
         maktx_ars LIKE makt-maktx,
         ars_qty LIKE aufm-erfmg,
      T_OUTPUT2-NO_PCS = 'No of Pcs'.
      T_OUTPUT2-PERCEN = '% Ach'.
      T_OUTPUT2-PENDING = 'Pending'.
      APPEND T_OUTPUT2.
    **added by vinati on 020902
      LOOP AT T_OUTPUT.
        L_TABIX = SY-TABIX.
        PERFORM PENDING_DECS  USING T_OUTPUT-MATNR_AIM
                                         T_OUTPUT-CHARG
                               CHANGING T_OUTPUT-CINSM .
        MODIFY T_OUTPUT INDEX L_TABIX TRANSPORTING CINSM.
        IF T_OUTPUT-CINSM > 0.
          T_OUTPUT-PENDING = 'P'.
        ENDIF.
        MODIFY T_OUTPUT TRANSPORTING CINSM PENDING.
      ENDLOOP.
      LOOP AT T_OUTPUT.
        T_OUTPUT2-CHARG  = T_OUTPUT-CHARG.
        T_OUTPUT2-BUDAT = T_OUTPUT-BUDAT.
        T_OUTPUT2-CAR = T_OUTPUT-CAR.
        T_OUTPUT2-MN = T_OUTPUT-MN.
        T_OUTPUT2-SUL = T_OUTPUT-SUL.
        T_OUTPUT2-PHO = T_OUTPUT-PHO.
        T_OUTPUT2-SI = T_OUTPUT-SI.
        T_OUTPUT2-AL = T_OUTPUT-AL.
        T_OUTPUT2-TI = T_OUTPUT-TI.
        T_OUTPUT2-CR = T_OUTPUT-CR.
        T_OUTPUT2-NI = T_OUTPUT-NI.
        T_OUTPUT2-MO = T_OUTPUT-MO.
        T_OUTPUT2-V  = T_OUTPUT-V.
        T_OUTPUT2-CU = T_OUTPUT-CU.
        T_OUTPUT2-MATNR_AIM = T_OUTPUT-MATNR_AIM.
        T_OUTPUT2-MAKTX_AIM = T_OUTPUT-MAKTX_AIM.
        T_OUTPUT2-ACH_MATNR = T_OUTPUT-ACH_MATNR.
        T_OUTPUT2-ACH_MAKTX = T_OUTPUT-ACH_MAKTX.
        T_OUTPUT2-ACH_QTY =  T_OUTPUT-ACH_QTY.
        T_OUTPUT2-TAP_TIME = T_OUTPUT-TAP_TIME.
        T_OUTPUT2-AIM_QTY = T_OUTPUT-AIM_QTY.
        T_OUTPUT2-ROUTE  = T_OUTPUT-ROUTE.
         matnr_ars LIKE aufm-matnr,
         maktx_ars LIKE makt-maktx,
         ars_qty LIKE aufm-erfmg,
        T_OUTPUT2-NO_PCS = T_OUTPUT-NO_PCS.
        T_OUTPUT2-PERCEN = T_OUTPUT-PERCEN.
        T_OUTPUT2-PENDING = T_OUTPUT-PENDING.
        APPEND T_OUTPUT2.
      ENDLOOP.
      LOOP AT T_OUTPUT.
      INDEX = SY-TABIX + 1.
        LOOP AT T_OUTPUT1 WHERE AUFNR = T_OUTPUT-AUFNR
                           AND CHARG = T_OUTPUT-CHARG.
          IF T_OUTPUT-ACH_MATNR IS INITIAL
          AND T_OUTPUT-ACH_MAKTX IS INITIAL
          AND T_OUTPUT-ACH_QTY = '0.000'.
          MOVE T_OUTPUT1-MATNR_ARS TO  T_OUTPUT-ACH_MATNR.
          MOVE T_OUTPUT1-MAKTX_ARS TO T_OUTPUT-ACH_MAKTX.
          MOVE T_OUTPUT1-ARS_QTY TO T_OUTPUT-ACH_QTY.
          T_OUTPUT-PERCEN = ( T_OUTPUT-ACH_QTY / T_OUTPUT-AIM_QTY ) * 100.
          MODIFY T_OUTPUT TRANSPORTING ACH_MATNR ACH_MAKTX ACH_QTY PERCEN
                          WHERE AUFNR = T_OUTPUT1-AUFNR
                          AND   CHARG = T_OUTPUT1-CHARG.
           ENDIF.
           IF T_OUTPUT-ACH_MATNR IS NOT INITIAL
          AND T_OUTPUT-ACH_MAKTX IS NOT INITIAL
          AND T_OUTPUT-ACH_QTY NE '0.000'.
          move-corresponding t_output1 to wa.
          MOVE T_OUTPUT1-MATNR_ARS TO  WA-ACH_MATNR.
          MOVE T_OUTPUT1-MAKTX_ARS TO WA-ACH_MAKTX.
          MOVE T_OUTPUT1-ARS_QTY TO WA-ACH_QTY.
          MOVE T_OUTPUT-MATNR_AIM TO WA-MATNR_AIM.
          MOVE T_OUTPUT-MAKTX_AIM TO WA-MAKTX_AIM.
          MOVE T_OUTPUT-AIM_QTY TO WA-AIM_QTY.
          MOVE T_OUTPUT-BUDAT TO WA-BUDAT.
          MOVE T_OUTPUT-TAP_TIME TO WA-TAP_TIME.
          MOVE T_OUTPUT-ROUTE1 TO WA-ROUTE1.
          MOVE T_OUTPUT-CHARG TO WA-CHARG.
          MOVE T_OUTPUT-CAR TO WA-CAR.
          MOVE T_OUTPUT-MN TO WA-MN.
          MOVE T_OUTPUT-SUL TO WA-SUL.
          MOVE T_OUTPUT-PHO TO WA-PHO.
          MOVE T_OUTPUT-SI TO WA-SI.
          T_OUTPUT-PERCEN = ( T_OUTPUT1-ARS_QTY / T_OUTPUT-AIM_QTY ) * 100.
          MOVE T_OUTPUT-PERCEN TO WA-PERCEN.
          MOVE T_OUTPUT-NO_PCS TO WA-NO_PCS.
          MOVE T_OUTPUT-ROUTE TO WA-ROUTE.
          MOVE T_OUTPUT-PENDING TO WA-PENDING.
          MOVE T_OUTPUT-AL TO WA-AL.
          MOVE T_OUTPUT-TI TO WA-TI.
         move t_output-BAL_QTY_VAL to wa-BAL_QTY_VAL.
          MOVE T_OUTPUT-NI TO WA-NI.
          MOVE T_OUTPUT-MO TO WA-MO.
          MOVE T_OUTPUT-V TO WA-V.
          MOVE T_OUTPUT-CU TO WA-CU.
          INSERT WA INTO T_OUTPUT INDEX INDEX.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    DELETE ADJACENT DUPLICATES FROM T_OUTPUT COMPARING ACH_MATNR ACH_QTY CHARG.
                       Added by Rajesh Kumar Choudhary                                *
    LOOP AT T_OUTPUT.
      SELECT SINGLE PROD_DATE
      INTO  T_OUTPUT-PROD_DATE
      FROM  YMPCT_PP03_LPCHD
      WHERE CHARGE = T_OUTPUT-CHARG.
    IF SY-SUBRC = 0.
      MODIFY T_OUTPUT TRANSPORTING PROD_DATE WHERE CHARG = T_OUTPUT-CHARG.
    ENDIF.
    ENDLOOP.
    PERFORM MOVE_DATAA.                  "--- Moving data from internal table t_output to t_output_in
    PERFORM INST_DATAA.                  "---  Insertin data in customized table YMPCT_PP03_LPCIN.
      IF NOT T_OUTPUT[] IS INITIAL.
      ENDIF.
    ENDFORM.                    " WRITE_DATA
    *&      Form  CONVERT_ALPHA_INPUT                                      *
    FORM CONVERT_ALPHA_INPUT CHANGING P_AUFNR.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT  = P_AUFNR
        IMPORTING
          OUTPUT = P_AUFNR.
    ENDFORM.                    " CONVERT_ALPHA_INPUT
    *&      Form  GET_VALUE                                                *
    FORM GET_VALUE.
      DATA BEGIN OF IT_POV_FIELD OCCURS 0.
              INCLUDE STRUCTURE HELP_VALUE.
      DATA END OF IT_POV_FIELD.
      DATA: BEGIN OF IT_POV_FILL OCCURS 0,
            SAV_VAL(200),
            END OF IT_POV_FILL.
      CLEAR IT_POV_FIELD.
      REFRESH IT_POV_FIELD.
      CLEAR IT_POV_FILL.
      REFRESH IT_POV_FILL.
      IT_POV_FIELD-TABNAME    = 'YMPCT_PP03_LPCHD'.
      IT_POV_FIELD-FIELDNAME  = 'ROUTECODE'.
      IT_POV_FIELD-SELECTFLAG = 'X'.
      APPEND IT_POV_FIELD.
    it_pov_field-tabname =  'ZLCIAPMST'.
    it_pov_field-fieldname = 'BUKRS'.
    it_pov_field-selectflag = ' '.
    APPEND it_pov_field.
      DATA: BEGIN OF IT_INTER OCCURS 0,
            ROUTECODE LIKE YMPCT_PP03_LPCHD-ROUTECODE,
            END OF IT_INTER.
      SELECT ROUTECODE  FROM YMPCT_PP03_LPCHD APPENDING
                            CORRESPONDING FIELDS OF TABLE IT_INTER
              WHERE ROUTECODE IN ('ZBC1','ZBC2','ZPIT','ZB1E','ZBCE').
      SORT IT_INTER BY ROUTECODE.
      DELETE ADJACENT DUPLICATES FROM IT_INTER COMPARING ROUTECODE.
      LOOP AT IT_INTER.
        IT_POV_FILL-SAV_VAL = IT_INTER-ROUTECODE.
        APPEND IT_POV_FILL.
      ENDLOOP.
    ENDFORM.                    " GET_VALUE
    *&      Form  PENDING_DECS                                             *
    FORM PENDING_DECS USING    P_T_OUTPUT-MATNR_AIM
                               P_T_OUTPUT-CHARG
                      CHANGING P_T_OUTPUT-CINSM.
      CLEAR P_T_OUTPUT-CINSM.
      SELECT   SUM( CINSM )  INTO P_T_OUTPUT-CINSM
      FROM MCHB
       WHERE MATNR = P_T_OUTPUT-MATNR_AIM
       AND   WERKS = '025'
       AND   LGORT IN ('L1C1','L1C2','L1PS','R001')
       AND   CHARG = P_T_OUTPUT-CHARG.
    ENDFORM.                    " PENDING_DECS
    *&      Form  move_dataa                                               *
    FORM MOVE_DATAA .
      LOOP AT T_OUTPUT.
        MOVE SY-MANDT TO T_OUTPUT_INA-MANDT.
        MOVE T_OUTPUT-CHARG     TO T_OUTPUT_INA-CHARG.
        MOVE T_OUTPUT-PROD_DATE TO T_OUTPUT_INA-PROD_DATE.
        MOVE T_OUTPUT-ACH_MATNR TO T_OUTPUT_INA-ACH_MATNR.
        MOVE T_OUTPUT-ACH_MAKTX TO T_OUTPUT_INA-ACH_MAKTX.
        MOVE T_OUTPUT-ROUTE1    TO T_OUTPUT_INA-ROUTE1.
        MOVE T_OUTPUT-MATNR_AIM TO T_OUTPUT_INA-MATNR_AIM.
        MOVE T_OUTPUT-MAKTX_AIM TO T_OUTPUT_INA-MAKTX_AIM.
        MOVE T_OUTPUT-AIM_QTY   TO T_OUTPUT_INA-AIM_QTY.
        MOVE T_OUTPUT-ACH_QTY   TO T_OUTPUT_INA-ACH_QTY.
    *move-corresponding t_output  to  t_output_ina.
        APPEND T_OUTPUT_INA.
      ENDLOOP.
    ENDFORM.                    " move_dataa
    *&      Form  inst_dataa                                               *
    FORM INST_DATAA .
      INSERT YMPCT_PP03_LPCIN FROM TABLE T_OUTPUT_INA  ACCEPTING DUPLICATE KEYS.
    ENDFORM.                    " inst_dataa

    Hi,
       Its basically based on the functional spec, every organization will follow its own formats based on that you need to design the TS.
    regards
    dj
    reward for all helpful answers.

  • BW func and Tech specification documents

    Hi guys
    Can any body help me in the preparation of Functional and technical specification documents of data monitoring processess and all.
    If u have any douments please mail me to
    [email protected]
    Thanks
    Mahendra D

    please send any one now
    i need very urgent
    dont avoid pls
    i am waiting

Maybe you are looking for

  • How to do custom miro for import purchase ?

    Hi All I want to know what is the process for doing custom miro for import purchase, In my case for some of the excise elements we get credit, so while doing miro how to take care of this ? Thanks Rashid.

  • How to create a .java file through a j2me program?

    I am trying to develop a small application in j2me which needs dynamic creation of a .class file. For this purpose I tried to create .java file through my j2me code, but i could not do that..I want to know whether a java file can be created on a mobi

  • Where is insert key on Mac pro as in PC?

    Where is "insert" key on Mac pro as in PC

  • Add component to a NativeWindow

    There must be a very simple solution but I can't figure it out. When I create a NativeWindow and try to add something (say a label) on it, nothing is added. var label:Label = new Label(); label.text = "I'm a label"; var opt:NativeWindowInitOptions =

  • Another Lightroom CC that won't Launch

    Bought the Photoshop/Lightroom CC combo.  First the installer downlaoded Lightroom 5.7, which worked, but wasn't what I bought. Then the installer downloaded Lightroom CC which crashes immediately at launch with the following error: Problem Event Nam