Difference between cenvat reversal and cenvat canceling

hi
i wanted know what is the difference between cenvat reversal and cenvat cancel.
give me the account posting details also in both the cases.

Hi,
Sorry  by mistake i wrote wrong question..
It should be:
Hi,
What is the difference between GR reversal and Return delivery?
As per my understanding,
1) We can do GR w.r.t PO Mvt type 101
2) Now i did GR w.r.t PO Mvt type 102.
Result quantity got reversed..
Now ,
1) I did GR w.r.t PO Mvt type 101.
2) Now I selected " return delivery" and " material document"
Result quantity got reversed..
Then What is the difference between GR reversal and Return delivery?
Is there any differnce of accounting entry in between them?
Tx
Uts

Similar Messages

  • Difference between Regular Reversal and out-of-sequence reversal

    Can anyone help me understand the difference between Regular Reversal and out-of-sequence reversal? How does the system behave differently i these two reversals?
    Thanks
    Charlene

    Sorry for the long reply, as here's some information that I have on Voids and Out-of-Sequence reversals.
    On occasion, SAP payroll results can be created in error. In these cases, the payment never goes to the employee and the payroll result should never have been created. These cases are considered “reverse payments” in the off cycle workbench.
    There are two forms of “reverse payments”: voids and out of sequence reversals. Notes 160515, 159701 and 337626 should be reviewed carefully.
    An out of sequence reversal occurs when third party remittance has been run for the payroll result, or when the payroll result is not the most recent result in the cluster directory for the employee. Wage type /568 (total reversal amount) is created in the reversed result for posting purposes. Wage type /571 replaces any /559 wage types in the reversed result and the BT cluster is cleared.
    Wage type /568 is created for posting purposes and it will not appear in any retros over the reversed result.
    An out of sequence reversal should not occur when the employee receives the money unless the actual check is returned or the direct deposit is reversed by the bank.  Because of the tax when paid principle, even if an employee writes a check back to the company for the overpaid amount, this should be processed by retro master data changes and the employee check should be used to relieve any claims in the most recent period.  The claims processing guide gives details on how to relieve claims. Out of sequence reversals depend on third party remittance but not on posting to FI.
    /568 - Total reversal amount - If you cancel a payroll result that A. Has had payments made to third parties or B. is other than the last one.  This is considered an out of sequence reversal.  If these two conditions do not apply, a true void occurs.     Wage type /568 is the total reversal amount.  Should be the sum of /569, /570 and /571.
    /571 - Reversal of /559 - Wage type /571 is the reversal of /559 (bank transfer).  /571 will record the amount from wage types /559.  The /559 wage types will be deleted from the cluster that was reversed.  Wage type /571 will have the same sign as wage      type /559. 
    In payroll reporting, the reversal amounts are evaluated in the next payroll period. The same is true for posting to FI.
    The out of sequence reversal should have been accompanied by a master data change that forced a retro via infotype 0003.
    This retro will fix FI postings in the posting process that accompanies the retro run.For this reason, out of sequence reversals do not need an entry in table T52OCG for processing by the off cycle batch process.
    Regardless of if a ‘reverse payment’ is a void or an out of sequence reversal, there should be an associated master data change to perform this process properly. There had to be a reason that the payment should not have been made and this reason needs to be reflected in the employee’s master data. Both voids and out of sequence reversals can occur before or after the master data change, but the safest method is to perform the master data change first to ensure it occurs before the next payroll is processed.
    In payroll reporting, voids are bypassed in the period for which they were originally paid. This means that if a payroll report is run for a specific period containing a void, the voided result will not be picked up. In FI, voids are bypassed in the period in which they were voided. This is possible because the off cycle batch process already reconciled any incorrect posting that occurred before the payroll result was voided.
    A voided payroll result occurs when no money was given to the employee and no money was remitted through third party remittance.  A void is simply a check or direct deposit that was created in error.  The payroll control record was already exited and the check or direct deposit was already processed, therefore the payroll result can not be recalculated in the original period.
    A void can only occur if the payroll result is the most recent result for the employee.
    If the payroll result is not the most recent result, an out of sequence reversal occurs by default. It is irrelevant whether the transfer to FI has occurred or not with relation to voids.  Some OSS notes state that posting to FI does matter and these notes are in error.

  • Difference between return delivery and cancellation

    What is the difference between return delivery and cancellation in  MIGO transaction.
    Can any one explain how to use them and where to use them.
    thanks

    HI there
    I will make it simple with figures,,
    Return Delivery
    PO- 100 nos
    GR-100 nos in to QI stock,,,
    After the Inspection- 95 nos Accepted, 5 nos Rework
    1. Return Delivery - Expecting the Subsequent Delivery- post the 5 nos into 122 (Return to Vendor), he will do the rework and provide the component back after the inspection if the qulaity is ok receive into 101
    2.Return Delivery- Not expecting the delivery back- post the 5 nos into 122 (Return to Vendor) and close the PO, if the payment already create the Credit memo for the 5 nos,,,
    Cancellation
    Ex:
    1. GR for the 100 nos into 103 instead of 101, so cancel the document through 104
    At the time of cancel the document, Always use the origin material document, so that
    1. All the data will be copied automatically
    2. Reversal Movement type will be defaulted
    3. Material Cost will be picked on the last material document,, if not it will pick the price from PO/Order.
    Hope it helps you
    Thanks
    Senthil

  • Difference between the reversing journal and auto reversal journal in HFM?

    Hi! all
    This is sandeep. I was posted journals but I'm not able to understand the difference between the reversing journal and auto reversal journal could you please help me to know the difference between them
    Thank you,
    SANDEEP

    Hi Sandeep,
    As per my understanding, reversing and auto revering journal entries are same:-
    1) Reversing journal entries are the entries which are made for the adjustment for the preceding periods.
    2) For Understanding Auto Reversal entries, please refer HFM user guide, you can refer page number 182
    http://docs.oracle.com/cd/E17236_01/epm.1112/hfm_user.pdf
    Regards,
    Ajay

  • Difference between open loop and closed loop mode when finding the index on a stepper motor axis.

    I have a test system which uses a PXI-7352 motion controller with a MID-7602 stepper motor drive to position a 200 step/revolution stepper motor with an attached 1000 line encoder.  The MID-7602 is configured for 64 microsteps per step, giving 12,800 microsteps and 4000 encoder counts per revolution.  The system is controlled using LabView 7.1 and NI-Motion 6.13.  To home the motor, I've defined a sequence in MAX which first finds the reverse limit switch and then moves forward to the encoder index pulse.
    When finding its reference in open loop mode, the system its reference at the same microstep each time.  When findings its reference in closed loop mode, the system finds its reference somewhere within about a 20 microstep wide range.
    I hope somebody out there with more experience with this controller can describe the difference between finding the encoder index in open loop mode and finding the encoder index in closed loop mode. 
    Thanks,
    Mark Moss

    Hello Mark,
    I suspect that the behavior you are experiencing has today
    with the resolution difference between your encoder and your
    microstepping.  Let me illustrate with an
    example:
    Example Setup
    Stepper
    Motor
    NI
    Motion Controller
    10
    steps per encoder pulse (Every 10 steps the controller gets an encoder
    pulse, therefore positions 0-9 all appear to be 0 to the controller)
    The
    system has a maximum of 3 pull in moves set
    Open Loop Scenario
    The
    system is commanded to go to position 9.
    The
    controller sends out 9 pulses.
    The
    motor moves to position 9.
    Closed Loop Scenario
    The
    system is commanded to go to position 9.
    The
    controller sends out 9 pulses.
    The
    motor moves to position 9.
    The
    controller checks its position and sees that it is still at position 0
    because it has not received an encoder pulse.
    Because
    the controller thinks it is still at position 0, it sends another 9 pulses
    as its first pull in move.
    The
    motor moves to position 18.
    The
    controller checks its position and sees that it is at position 10 because
    it has only received one encoder pulse.
    Because
    the controller thinks it is still at position 10, it sends1 reverse pulse
    as its second pull in move.
    The
    motor moves to position 17.
    The
    controller checks its position and sees that it is at position 10 because
    it has only received one encoder pulse.
    Because
    the controller thinks it is still at position 10, it sends and additional
    single reverse pulse as its third pull in move.
    The
    motor moves to its final position of 16.
    I believe something similar is happening with your
    application as it looks for the index pulse. 
    Because the controller does not compensate for what it perceives as
    position error in open loop mode, the motor always goes to the same commanded
    position.  In closed loop mode, the motor
    is bouncing around inside the single index encoder pulse trying to find a
    certain position.
    There are several recommendations I can make towards
    correcting this behavior.  These
    recommendations are in order of effectiveness:
    Setup
    your system so that there are more encoder counts per revolution than
    steps per revolution.
    Turn
    off pull-in moves by setting them to 0 in MAX.
    Use an
    open loop configuration.
    Play
    around with the pull in window in MAX.
    Regards,
    Luke H

  • Difference between post-capitalization and write-up of an asset

    Dear Experts,
    Kindly explain the difference between post-capitalization and write-up of an asset in SAP.
    Regards
    Komal

    Hi Komal,
    Post Capitalization means correction of the value of an asset, which is either set too low due to not carrying out a capitalization in the past, or which is treated entirely as expense.
    where as Write up is the reversal of past depreciation and write-up is necessary either when the depreciation posted was too high or when the reasons for unplanned depreciation no longer exist.
    Regards,
    Venkata Raju

  • What is the difference between Category Mgmt and Spend Analysis?

    Hi Friends
    What is the difference between Category Mgmt and Spend Analysis?
    Regards
    Chinna Krishna

    Hi Chinna
    Here are my two cents on this questions
    1. Catagory Management : It pertains to all sourcing activities that a purchasing group does for a specific catagory of items ( say tyres, bearings, etc. in automobile industry scenario OR steel sheets, electric motor, etc. in consumer durables industry scenario) in order to meet companies strategic goals like cost, quality, delivery and new product introduction. It also involves the strategic sourcing piece for that category. Typically it can include following activities for a category which is being managed
    - Identifying current and future business & technical requirements
    - Constant vigilence and analysis of supply market for that category ( and also identifying new sources)
    - Lauching various projects within category focussed on cost reduction, quality improvement, delivery improvement. This may include some of activities like supplier analysis. RFx, Reverse auctions, contract negotiation, etc.
    - Monitoring the category specific supplier performance
    Category Management team typically consists of cross functional team and it is iterative process (continuous improvement).
    Category Management in covered to some extent in E-Sourcing application and its analysis is covered in Spend Analytics application. Fully blown category management is on road map of SAP but none of the current functionalities addresses it fully.
    2. Spend Analysis: This involves analysis of the spend at highest level of organization. To improve the data quality, it typically involves spend data standardization & enrichment, supplier normalization and spend categorization. Once you have clean data, one can slice and dice the data to gain insight into the spend and identify opportunities for launching the various initiatives focussed on cost, quality and delivery.
    SAP Spend Analytics application covers this spend analysis capability.
    Its a long answer and hope it helps you.
    Bhushan

  • Hi Friends ....Difference between SAP memory and ABAP memory

    Hi Friends,
    I faced a interview and they ask this question
    What is the difference between SAP Memory and ABAP memory..

    conti
    SAP Memory
    SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program using the SET PARAMETER statement.
    Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens.
    ABAP Memory
    ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements. Data within this area remains intact during a whole sequence of program calls. To pass data to a program which you are calling, the data needs to be placed in ABAP memory before the call is made. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory. If control is then returned to the program which made the initial call, the same process operates in reverse.
    A simple example of ABAP memory is using the EXPORT/IMPORT statements.
    Here in this program, I get the data, export it to memory,
    clear out the internal table in my progam, then reimport the data into it and write out the data.
    You probably wounldn't do this in a normal program,
    but this is how you can pass data from program a to program b when A Submits program B.
    report zxy_0002 .
    data: it001 type table of t001 with header line.
    select * into table it001 from t001.
    export it001 = it001 to memory id 'ZXY_TEST'.
    clear it001. refresh it001.
    import it001 = it001 from memory id 'ZXY_TEST'.
    loop at it001.
    write:/ it001-bukrs, it001-butxt.
    endloop.
    SAP Memory
    SAP memory is a memory area to which all main sessions within a SAPgui have access.
    You can use SAP memory either to pass data from one program to another within a session,
    or to pass data from one session to another.
    Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters).
    These parameters can be set either for a particular user
    or for a particular program using the SET PARAMETER statement.
    Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement.
    The most frequent use of SPA/GPA parameters is to fill input fields on screens
    ABAP/4 Memory
    ABAP memory is a memory area that all ABAP programs within the same internal session can access
    using the EXPORT and IMPORT statements.
    Data within this area remains intact during a whole sequence of program calls. To pass data
    to a program which you are calling,
    the data needs to be placed in ABAP memory before the call is made.
    The internal session of the called program then replaces that of the calling program.
    The program called can then read from the ABAP memory.
    If control is then returned to the program which made the initial call, the same process operates in reverse.
    SAP memory
    The SAP memory, otherwise known as the global memory,
    is available to a user during the entire duration of a terminal session.
    Its contents are retained across transaction boundaries as well as external and internal sessions.
    The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory.
    ABAP/4 memory
    The contents of the ABAP/4 memory are retained only during the lifetime of an external session
    (see also Organization of Modularization Units).
    You can retain or pass data across internal sessions.
    The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory.
    ABAP Memmory & SAP Memmory
    http://www.sap-img.com/abap/difference-between-sap-and-abap-memory.htm
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    Set
    http://www.geocities.com/SiliconValley/Campus/6345/set_para.htm
    GET
    http://www.geocities.com/SiliconValley/Campus/6345/get_para.htm
    EXPORT
    http://www.geocities.com/SiliconValley/Campus/6345/export01.htm
    Other Imp Help
    http://www.geocities.com/SiliconValley/Campus/6345/abapindx.htm

  • Difference between editing stopped and stopCellediting

    Hai Friends,
    What is the difference between editingstopped and editingCancelled.
    and I would like to know the difference between
    (editing stopped and stopCellEditing).
    also
    the difference between
    (editing cancelled and cancelCellEditing);
    Pls help me....
    Regards,
    Ciya...

    editingstoppedThe value in the editor was saved to the TableModel
    editingCancelledThe value in the editor was NOT saved.
    stopCellEditinginitiates the Action of saving the data and removing the editor from display on the table.
    editing stoppedThe above Action has been completed.

  • Difference between WEP, WPA, and WPA2 and better suggestion to use for shared family users

    What is the difference between WEP, WPA, and WPA2? My router is set up on my family PC and connected to a modem so I access Wi-fi through my laptop and my sister has a laptop too and uses our family network to get internet. I just set up a WPA today, so will we all be able to get internet (along with my family using the pc, and my sis on her laptop, even at the same time) protected? (like nobody else using our network)

    Wired Equivalent Privacy, commonly called WEP is 802.11's first hardware form of security where both the WAP and the user are configured with an encryption key of either 64 bits or 128 bits in HEX. So when the user attempts to authenticate, the AP issues a random challenge. The user then returns the challenge, encrypted with the key. The AP decrypts this challenge and if it matches the original the client is authenticated. The problem with WEP is that the key is static, which means with a little time and the right tool a hacker could use reverse-engineering to derive the encryption key. It is important to note that this process does affect the transmission speed.
    WPA builds upon WEP, making it more secure by adding extra security algorithms and mechanisms to fight intrusion.
    WiFi Protected Access (WPA) is the new security standard adopted by the WiFi Alliance consortium. WiFi compliance ensures interoperability between different manufacturer’s equipment.WPA delivers a level of security way beyond anything that WEP can offer, bridges the gap between WEP and 802.11i networks, and has the advantage that the firmware in older equipment may be upgradeable.
    WPA2 is based upon the Institute for Electrical and Electronics Engineers’ (IEEE) 802.11i amendment to the 802.11 standard, which was ratified on July 29, 2004. The primary difference between WPA and WPA2 is that WPA2 uses a more advanced encryption technique called AES (Advanced Encryption Standard), allowing for compliance with FIPS140-2 government security requirements. 

  • Difference between transactions MIGO and MBST

    Hi,
    Can someone help me understand  the difference between transactions MIGO and MBST for Material doc. cancellation ?
    Thanks.....

    Hi,
    As far as movement type 102 is concerned there is no difference in MIGO & MBST.  
    MIGO is en Enjoy transaction it is a replcement for the trnasactions MB1A,MB1B,MB1C,MBST,MB01 and MB0A etc.
    In CIN, excise records are not updated if material document is cancelled with MBST. It will be updated only if it is cancelled with MIGO.
    regards,
    JP

  • Difference between subsequent adjustment and return delivery ...?

    Dear all ,
    Provide difference between subsequent adjustment and return delivery ...?
    sri....

    Hi,
    Subsequent delivery means you have to reverse the goods receipts after
    entering corresponding invoice and you want to post another goods receipt
    than use subsequent delivery in MIGO with reference to old goods receipt
    number.
    Subsequent adjustment means updating the price difference in the quantity
    already supplied.
    Ex: Original invoice price is 100 for quantity of
    10 nou2019s, i.e., Invoice amount is 1000 after doing MIRO for amount
    1000 you get another supplementary Invoice for amount
    100 towards price revision. In this case  you have to adjust through subsequent
    adjustment.
    If your question was on posting logic for alternative posting of exchange rate differences. then,
    Subsequent adjustment*
    When you make a subsequent adjustment, the system posts all values with the exchange rate at the time of the goods receipt.
    Return Delivery
    If there is a return delivery, the posting date is based on the time of the goods receipts. The system converts the stock value using the average exchange rate with reference to the purchase order.
    Regards,
    Sadiq.

  • Difference between backup, sync and transfer?

    I've read the iPad book and a few Apple tech notes on this but am still not 100% clear on the differences. It seems we can sync, backup and transfer our iPad data to our computers.
    Frankly, I don't understand why there isn't just one process that "backs up" your iPad to your computer so there is a mirror copy of data in case you need to restore your iPad, existing or new one if lost.
    Can some one summarize the difference between the 3 and a strategy to have ALL your iPad info on your computer? I use MobileMe BTW so my contacts and calendar are always synced using Push.
    Thanks. Steven

    A backup only backs up up certain items. Other items are synced from your library and other places. See the following for what is in a backup:
    http://support.apple.com/kb/HT4079
    The transfer only transfers/copies iTunes purchases to a computer. It is useful when you buy items directly from the itunes store from your iPad. It is also very useful when your computer crashed and you do not have a backup. Thus, you can transfer music (which you can't redownload for free unlike app where your can).
    Unless you cancel it, a backup is made every time you sync. Doing a backup alone is useful if you computer crashed and you do not have a backup. That way you can, along with doing other things like transferring purchases, get your iPad back to syncing with a "new" computer.

  • Difference between 102, 122 and 161

    Hi,
    Can anybody expain to me in detail the difference between 102, 122 and 161.
    Regards
    Deepak

    Hi
    102 - Canceelation of 101 movment , there is no Partial Cancellation possible.
    You cannot directly use this Movment type , The sytem Picks up the movment when you cancel a material Doucment
    122 Return delivery to supplier or to production
    Using movement type 122, you can distinguish real return deliveries for a purchase order or order from cancellations (102).
    In the standard version, you must enter a reason for the return delivery if you are using movement type 122. This enables you to carry out evaluations for return deliveries.
    The effects of movement type 122 correspond to a cancellation of movement type 101.
    Possible special stock indicators:
    K, O, E, Q
    161 Return for purchase order
    If a purchase order item is marked as a returns item, the returns to vendor are posted using movement type 161 when the goods receipt for purchase order ( 101) is posted.
    Movement type 161 has the same effects as movement type 122.
    Possible special stock indicators:
    K, O, E, Q
    Thanks & Regards
    Kishore

  • DIFFERENCE between Tabstrip control and tabstrin(with wizard)

    difference between table control and table control wizard.
    and what is all about custom control
    give simple examples

    Hi
    Table Control
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/d1/802338454211d189710000e8322d00/frameset.htm
    Table Control Wizard
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/d1/802338454211d189710000e8322d00/frameset.htm
    Tab Strip
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/04/10f2469e0811d1b4700000e8a52bed/frameset.htm
    Tab Strip wizard
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/04/10f2469e0811d1b4700000e8a52bed/frameset.htm
    http://www.sapmaterial.com/tablecontrol_sap.html
    Custom Controls
    A custom control is an area on a screen. You create them in the Screen Painter, and, like all other screen objects, they have a unique name. You use custom controls to embed controls. A control is a software component on the presentation server, which can be either an ActiveX control or a JavaBean, depending on the SAPgui you are using. They allow you to perform tasks, such as editing texts, locally on the presentation server. The control is driven by the application logic, which still runs on the application server.
    The SAP Control Framework
    The controls on the presentation server and the ABAP application programs on the application server communicate using the Structure link SAP Control Framework. This is programmed in ABAP Objects, and contains a set of global classes that you can find in the Class Browser under Basis ® Frontend services. These classes encapsulate the communication between the application server and presentation server, which is implemented using Remote Function Call.
    All application controls are encapsulated in a global class. You can find the SAP Basis controls in the Class Browser under Basis ® Frontend Services or Basis ® Component Integration. Programs that use controls on a screen work with the methods and events of the global classes that encapsulates them.
    Container Controls
    Before you can work with a custom control on a screen, you must assign a Structure link SAP Container Control to it. Container controls are instances of special global classes from the SAP Control Framework. The global class for custom controls is called CL_GUI_CUSTOM_CONTAINER. To link a custom control to a container control, pass the custom control name to the CONTAINER_NAME parameter of the container control constructor when you instantiate it.
    As well as using custom containers, you can link controls to a screen using a SAP Docking Container. This is encapsulated in the global class CL_GUI_DOCKING_CONTAINER. The SAP Docking Container does not place the control within a screen. Instead, it attaches it to one of the four edges. You can nest containers. For example, you can use the SAP Splitter Container (classes CL_GUI_EASY_SPLITTER_CONTAINER or CL_GUI_SPLITTER_CONTAINER) within other containers. This allows you to split a custom control or docking control into more than one area, allowing you to embed more than one control.
    One example,
    program z.
    Constants *
    constants: c_me like trdir-cnam value 'VNDOVV',
    c_myurl type scarr-url value
    'http://www.brainbench.com/transcript.jsp?pid=147699',
    c_width type i value 260,
    c_height type i value 130.
    Types *
    types: begin of t_pgm,
    year(4) type c,
    name like trdir-name,
    end of t_pgm,
    begin of t_pgmkey,
    id type i,
    name like trdir-name,
    end of t_pgmkey.
    Data *
    data: it_pgmkey type table of t_pgmkey.
    Classes *
    Definitions *
    class screen_init definition create private.
    public section.
    class-methods init_screen returning value(this)
    type ref to screen_init.
    methods constructor.
    private section.
    class-data a_id type i.
    data: splitter_h type ref to cl_gui_splitter_container,
    splitter_v type ref to cl_gui_splitter_container,
    picture type ref to cl_gui_picture,
    tree type ref to cl_gui_simple_tree.
    methods: fill_tree,
    fill_picture.
    endclass.
    class screen_handler definition.
    public section.
    methods: constructor importing container
    type ref to cl_gui_container,
    handle_node_double_click
    for event node_double_click
    of cl_gui_simple_tree
    importing node_key,
    handle_picture_double_click
    for event picture_dblclick
    of cl_gui_picture.
    private section.
    data: html_viewer type ref to cl_gui_html_viewer,
    editor type ref to cl_gui_textedit.
    methods: fill_html,
    fill_src importing programid type trdir-name.
    endclass.
    Implementations *
    class screen_init implementation.
    method init_screen.
    data screen type ref to screen_init.
    create object screen.
    this = screen.
    endmethod.
    method constructor.
    data: events type cntl_simple_events,
    event like line of events,
    event_handler type ref to screen_handler,
    container_left type ref to cl_gui_container,
    container_right type ref to cl_gui_container,
    container_top type ref to cl_gui_container,
    container_bottom type ref to cl_gui_container.
    create object splitter_h
    exporting
    parent = cl_gui_container=>screen0
    rows = 1
    columns = 2.
    call method splitter_h->set_border
    exporting border = cl_gui_cfw=>false.
    call method splitter_h->set_column_mode
    exporting mode = splitter_h->mode_absolute.
    call method splitter_h->set_column_width
    exporting id = 1
    width = c_width.
    container_left = splitter_h->get_container( row = 1 column = 1 ).
    container_right = splitter_h->get_container( row = 1 column = 2 ).
    create object splitter_v
    exporting
    parent = container_left
    rows = 2
    columns = 1.
    call method splitter_v->set_border
    exporting border = cl_gui_cfw=>false.
    call method splitter_v->set_row_mode
    exporting mode = splitter_v->mode_absolute.
    call method splitter_v->set_row_height
    exporting id = 1
    height = c_height.
    container_top = splitter_v->get_container( row = 1 column = 1 ).
    container_bottom = splitter_v->get_container( row = 2 column = 1 ).
    create object picture
    exporting parent = container_top.
    create object tree
    exporting parent = container_bottom
    node_selection_mode =
    cl_gui_simple_tree=>node_sel_mode_single.
    create object event_handler
    exporting container = container_right.
    event-eventid = cl_gui_simple_tree=>eventid_node_double_click.
    event-appl_event = ' '. "system event, does not trigger PAI
    append event to events.
    call method tree->set_registered_events
    exporting events = events.
    clear: event, events[].
    event-eventid = cl_gui_picture=>eventid_picture_dblclick.
    event-appl_event = ' '. "system event, does not trigger PAI
    append event to events.
    call method picture->set_registered_events
    exporting events = events.
    set handler: event_handler->handle_node_double_click for tree,
    event_handler->handle_picture_double_click for picture.
    call method: me->fill_picture,
    me->fill_tree.
    endmethod.
    method fill_picture.
    call method:
    picture->load_picture_from_sap_icons exporting icon = '@J4@',
    picture->set_display_mode
    exporting display_mode = picture->display_mode_fit_center.
    endmethod.
    method fill_tree.
    data: node_table type table of abdemonode,
    node type abdemonode,
    w_pgm type t_pgm,
    w_cdat type rdir_cdate,
    it_pgm type table of t_pgm,
    w_pgmkey type t_pgmkey.
    clear: a_id, it_pgmkey[].
    select distinct name cdat from trdir into (w_pgm-name, w_cdat)
    where cnam = c_me.
    w_pgm-year = w_cdat(4).
    append w_pgm to it_pgm.
    clear w_pgm.
    endselect.
    sort it_pgm.
    node-hidden = ' '. " All nodes are visible,
    node-disabled = ' '. " selectable,
    node-isfolder = 'X'. " a folder,
    node-expander = ' '. " have no '+' sign for expansion.
    loop at it_pgm into w_pgm.
    at new year.
    node-node_key = w_pgm-year.
    clear node-relatkey.
    clear node-relatship.
    node-text = w_pgm-year.
    node-n_image = ' '.
    node-exp_image = ' '.
    append node to node_table.
    endat.
    at new name.
    add 1 to a_id.
    node-node_key = w_pgmkey-id = a_id.
    w_pgmkey-name = w_pgm-name.
    node-relatkey = w_pgm-year.
    node-relatship = cl_gui_simple_tree=>relat_last_child.
    node-text = w_pgm-name.
    node-n_image = '@0P@'.
    node-exp_image = '@0P@'.
    append w_pgmkey to it_pgmkey.
    endat.
    append node to node_table.
    endloop.
    call method tree->add_nodes
    exporting table_structure_name = 'ABDEMONODE'
    node_table = node_table.
    endmethod.
    endclass.
    class screen_handler implementation.
    method constructor.
    create object: html_viewer exporting parent = container,
    editor exporting parent = container
    wordwrap_mode =
    cl_gui_textedit=>wordwrap_at_fixed_position
    wordwrap_position = 72.
    call method: fill_html,
    editor->set_readonly_mode exporting readonly_mode = 1.
    endmethod.
    method handle_node_double_click.
    data: w_name type programm,
    w_id type i,
    w_year(4) type c,
    w_pgmkey type t_pgmkey.
    w_name = node_key+4.
    w_id = w_name.
    clear w_name.
    read table it_pgmkey into w_pgmkey with key id = w_id
    binary search.
    if sy-subrc = 0.
    w_name = w_pgmkey-name.
    endif.
    w_year = node_key(4).
    if w_name is initial.
    call method: fill_html,
    html_viewer->set_visible exporting visible = 'X',
    editor->set_visible exporting visible = ' '.
    else.
    call method: fill_src exporting programid = w_name,
    editor->set_visible exporting visible = 'X',
    html_viewer->set_visible exporting visible = ' '.
    endif.
    call method cl_gui_cfw=>flush.
    endmethod.
    method handle_picture_double_click.
    call method: fill_html,
    html_viewer->set_visible exporting visible = 'X',
    editor->set_visible exporting visible = ' '.
    call method cl_gui_cfw=>flush.
    endmethod.
    method fill_html.
    call method html_viewer->show_url exporting url = c_myurl.
    endmethod.
    method fill_src.
    types t_line(72) type c.
    data src type table of t_line.
    read report programid into src.
    call method: editor->delete_text,
    editor->set_text_as_r3table exporting table = src[].
    endmethod.
    endclass.
    Data *
    data this_screen type ref to screen_init.
    Program execution *
    load-of-program.
    call screen 100.
    Dialog Modules PBO *
    module status_0100 output.
    set pf-status 'SCREEN_100'.
    set titlebar 'TIT_100'.
    this_screen = screen_init=>init_screen( ).
    endmodule.
    Dialog Modules PAI *
    module cancel input.
    leave program.
    endmodule.
    Reward if usefull

Maybe you are looking for

  • Account Visibility using Access Restrictions in an Enterprise Environment

    At my company we have 6 main divisions all on the same tenant, and they all have their own customers.  For one division, they have a need to have all accounts with read/write access across their entire sales team.  However, they should not have visib

  • Issue with fields of a database table

    Hi All, While browsing through database table T2515, i have observed that in 'fields' tab, there are only 2 fields visible ie MANDT and WWSSN. When we see the contents of table, there will be one more additional field called BEZTEK. Now my requiremen

  • Forms 10gR2 on Windows 7 ultimate

    Hi, So i have installed Developer Suite 10gR2 (10.1.2.0.2). OS is Windows 7 ultimate (32bit). I have configured Forms to run with JRE plugin (version is 1.6.0_34).. so not with Jinitiator (i have made changes in formsweb.cfg). Everything goes OK, unt

  • Need of Tables names that link Purchase Order and the Confirmation Number

    Hi All, Can any one help me please regarding EBP tables. I am new to EBP so not aware of data flow in the EBP data dictionary.   Please can anyone explain the tables which link the Purchase order number and the Confirmation(Goods Receipt). Please do

  • Database host string problem

    When I connect with an oracle database using DriverManager.getConnection() I have to use the database name for example orcl. I'd like to use the host string, the same as in SQLPlus. How can I do it? And what is the difference between thick driver and