Tracing Changes in Material Data

Hi,
How can you trace changes in a material given that the only data you have is the previous value? For example, I have changed the EAN/UPC number of a material from 4800000000001 to 480000000002. Now, the only data I have is the EAN 480000000001 (not knowing the material num or new EAN) is it possible to search or trace this change given the old value?
Thanks,
Lee

Hi,
From your question I understand that you have only the old value of the changes & want to find the material & the new value.
Hope the following steps will solve your issue.
The changes history are maintained in SAP tables.
CDHDR - Header Information
CDPOS - Item details.
Here are the steps to get the details from the above tables:
1. Goto SE16 & give the table name as CDPOS and click ENTER.
2. Enter the old value in the field VALUE_OLD and execute (F8).
3. You will get an entry corresponding to the old value.
4. In the output list note the value against the field CHANGENR.
5. Goto SE16 & give the table name as CDHDR and click ENTER.
6. Enter the CHANGENR value of CDPOS in the field CHANGENR and execute (F8).
7. In the output list you will get the following:
   TCODE - Transaction code in which the changes have been done.
   OBJECTCLAS - Material.
   OBJECTID - Material Number.
kind regards,
Thangesh

Similar Messages

  • How to manually change the material staging date

    Hi All,
    Please help me to manually change the material staging date in MF60?....
    Problem iam facing is planned order created for 30.06.2011, but when i do staging today it is not staging due to period for july not openned...
    so I manually planned to change the material staging date in MF60...
    Please help me on this...
    Thanks,
    Manikandan.P

    Hi
    Please find the code below for changoing the status in the delivery  and the standard program for updating the status  RVDELSTA
    SELECT SINGLE * from vbfa  where VBTYP_N = 'U' and vbelv = ' '.
    if sy-subrc = 0.
    UPDATE  vbfa  SET PLMIN = ' ' where vbelv = ' '  and vbtyp_n = 'U'.
    endif.
    please go through the bote  445763   if the  problem is in inter company billing proforma
    Regards
    Damu

  • Changing of material avilable date

    where i change the material avilable date in the sales order or any other place plz tell me the solution
    with regard ,
    phani

    Dear Phani,
    Logistics -> Sales and Distribution -> Sales ->Order -> Create
    Transaction Code: VA01
    Order type
    Sales organization
    Distribution Channel
    Division
    You do not need to specify the sales area at this point. The system derives the sales area when you enter the sold-to-party. If the sold-to-party has been defined in more than one sales area, the system requests you to select the appropriate sales area.
    Sold to pary
    PO (Please ensure that you use capital letters when you enter the PO number)
    Purchase order date
    Req Del Date
    Pricing Date
    Material and Quantity
    In the dialog box, you are requested to select an unloading point. Select one of the defaulted options, then choose Copy.
    If the goods ordered by the customer are not available on the requested delivery date, an availability check screen automatically appears. Here you can choose one of the delivery options, for example, Delivery proposal. The overview screen appears.
    If the system displays a dialog box, Click on the Tick mark
    On the overview screen, select the first item, then choose.
    On the Create Standard Order: Item Data screen, select the schedule line with the confirmed order quantity, then choose. Search icon
    Choose the Shipping tab page.
    Make a note of the Material availability date, as you will need this as a selection criterion to create the delivery. If the Transport planning date is earlier than the material availability date, you can create the delivery on this date.
    Choose (back icon) until the Create Standard Order: Overview screen appears.
    Select the first item and choose Goto  Item  Billing.
    You now see detailed sales, shipping, and billing data for the first item.
    Note that payment terms (ZB01) have been determined for this item.
    On the Create Standard Order: Item Data screen, to display the data for the second item, choose next.
    To view the pricing conditions for the second item, choose the Conditions tab page.
    Select the line for condition type PR00, then choose Condition rec.
    You now see the price agreed with the customer. The calculated price is less than the standard price for this pump. This is a special price for this customer.
    On the Display Price Condition: Condition Supplements screen, select the line with condition type PR00, then display additional data.
    On the Display (Price): Additional Sales Data screen, you can see that ZB02 was entered in the Payment terms field. These payment conditions are determined if an order item is processed with tis product for this customer.
    Click to Create Standard Order: Overview screen appears.
    Save
    Make a note of the order number.
    • Selct or view the overview tree
    • If a dialog box appears, choose No
    Visit the following link:
    http://help.sap.com/saphelp_crm40/helpdata/en/dd/5607e7545a11d1a7020000e829fd11/content.htm
    Creating a sales order(VAO1)
    http://help.sap.com/saphelp_46c/helpdata/en/e6/4a75329e0311d189b70000e829fbbd/frameset.htm
    Delivering a Sales order:(VLO1N)
    http://help.sap.com/saphelp_46c/helpdata/en/e6/4a75329e0311d189b70000e829fbbd/frameset.htm
    Billing the Sales order: (VFO1)
    http://help.sap.com/saphelp_46c/helpdata/en/e6/4a75329e0311d189b70000e829fbbd/frameset.htm
    Displaying the Document Flow: (VFO5)
    http://help.sap.com/saphelp_46c/helpdata/en/e6/4a75329e0311d189b70000e829fbbd/frameset.htm
    Regards,
    Naveen.

  • Change Individual Material - What are the required parameters?

    All,
    I've just started using ES Workplace to test out some of the packaged SAP services.  I've been able to successfully use the "Find Material Basic Data by Elements" service to search for materials.  But now I'm having trouble with the "Change Individual Material" service and getting it to do anything.  Specifically, I can invoke the service from WS Navigator and it says that it executed successfully but the fields that I was attempting to chagne are not changed on the material. 
    So, I have two questions:
    1.) Where is the documentation for each service which defines which fields are reqruied for the service method to execute successfully?  I don't see it anywhere.
    2.) For this service in particular, what fields are required for the service to execute?  Say, for example, that I want to change the volume of a material.  Which fields need to be populated?

    I can see some sample test data is also given there, please see link posted in previous post (but for ERP).
    Regarding your question about so many fields required to update certain data then please remember these services are created to be very generic so you pass lot of data which you may not want to update but only change field which you want to update and it should work.
    Same service you can use to update different attributes of Individual Material.
    One more thing, you are reading data using material service and trying to update individual material, is it correct? i thought they are two different thing.
    Regards,
    Gourav

  • How to change the posting date in UD stock posting for a HU managed item?

    Hi,
    We are using Handling Unit managed items with QM activation. For a specific HU managed material, we wanted to post the stock on a previous date. We have created PO on a back date and made GR also on a back date. Now the problem is, the system has generated an inspection lot. Now while trying to do UD and stock posting, I do not see the "Doc" tab which we normally see in UD stock posting for normal inspection lots (non-HU managed items) for changing the date.
    I don't see any other way to change the posting date for the HU managed item in UD stock posting. Anyone can help please?
    Thanks & Regards,
    Madhavan Krishnamoorthy.

    I don't think you can.
    Craig

  • Error message while changing the delimit date of a job in ppome

    Hi experts,
    I have delimited a job in ppome to date 11.05.2011. But now i want to remove that delimit date and change it to unlimited(31.12.2999). when iam trying to change the delimit date it is showing a popup message 'select a date between 15.11.2008 and 11.05.2011'. Can anyone say why it is showing this message. how can i delimit that job again to 31.12.2999.? Same problem with the position also.
    Pls help...

    Dear Priaynka,
    Thanx for ur reply, I am again furnishing below the details:-
    I have to change the Valuation Class of the material :-
    7 POS for which Goods Receipt & Invoice Receipt have been done from period 1 to 7.
    1 PO for which Goods Receipt & Invoice Receipt have not been made.
    All the material reced in period 1-7 have been consumed by MFBF. Now no material is available in the material in that plant.
    Should I change the valuation class by deleting the line item of all the PO's  7 POs + 1 PO.
    Please advise, as the fresh PO will be made with new val class and GR/IR and Consyumption will happen after the change is made.
    Please advise if I am wrong in the procedure.
    Regards,
    Alok

  • Costing error while change the mrp data

    Hi dears,
    This is Rem process. when i try to change the material master MRP data ex. ( mrp type M1 to M0)
    system not allow to change and show the error as
    Product cost collector 000000750122 is still active (assigned to PrCtr 50601-025)
    pls give some hints to clear
    Any program is there to change the MRP data for the material master in production server directly
    thanks

    Dear ,
    Did you try MASS or MM70 Transction ?
    If you do not want to go for Deletion flag of PCC  , you need to settle the REM qty  .You need to do product cost for semi finished product and finsihed product in KKF6N and after that you have to do mark and release in CK24N .For standard cat Estimate create std Cost estimation(CK11n)  and std cost Estimation Mark & release(CK24) .
    1.Backflush (confirmation) the Planned order - MFBF. Results planned order will Reduced and GR,GI, activity cost will be posted. U need not convert the planned order to production order, Confirmation for planned order only.
    2.To see Backflushed documents MF12
    3.Then Goto KKF6n to see the Manufaturing cost.
    4.Over head calculation - (Co42)
    5. Variance calculation (KKS6)
    6.Settlement(KK87)
    Try and revert back
    Regards
    JH

  • Change Mrp Element Data of Production Order in MD04

    Dear guru ,
    In the mrp element data of the stock/requirement list for the production order I see the
    Production order number , the order type , and the system add /RE if production order is released or
    /PD if production  order is partial delivered. No other information about others production order status.
    How can I change mrp element data using Customizing or ABAP in order to recognize in MD04 if production order is confirmed or partial confirmed ?
    Thanks.

    Dear Cris ,
    I am not sure if CNF/PCNF will show up in the MRP Element data in MD04.I have checked PO which are also CNF/PCNF and i looked the same order in md04.It is not showing .U may need some ABAP help .
    But if you really intersted to see the list PO status together , then go to COOIS and give plant , order type .It will give you all the order under that plant irrespective of material and also Status.U ave lot of option to filter the PO status under Status Profile or System status ok.
    Hope this will fullfill your requirement
    Reward point if useful
    Regars
    Jia

  • Printing of Material desc on change of material no in the ADOBE form

    Hi Experts,
    I want to print material description on change of material no. if there is 4 line item in same matnr then it will show only one desc for
    this. And on change of matnr it will change and total will print over there. for the 2nd MATNR desc will change and total will also print there for 2nd material no. Plz do suggest hw can i do this?
    Thanx in Advance.
    regards.
    sunil

    Hi Sunil,
      You can achive that by using the nested table concepts. Say you have two internal tables. One having all the line items data and the other the Description and totals for different material. Now you can loop the 2nd internal table inside the first one with where clause. In the context of the Form, add the 2nd internal table inside the 1st one and then in form use nested subforms.
    I hope you have got the idea how to do it.
    Regards,
    Susanta

  • Mass Change in Material Master

    How to do mass Change of material group (say from 1HA TO 1HB) in material master in basic data 1 tab.
    Plz explain steps.

    Hi Rohit,
    Follow the Steps  SPRO - SAP Reference IMG - Production - Material
    Requirement Planning - Planning - Define Storage location MRP per plant - Enter
    the plant - Check for which Storage locations has got the indicator 1 - Storage
    Location stock excluded from MRP - Now remove that or choose the values.
    if you give me brief i can help you out more.
    Thank you .
    Regards
    Ram

  • Unable to create a billing document , have to change the posting date

    Dear All,
                      I have performed the following steps:
                     1. I have created Customer
                     2. Created a material.
                     3. Linked the customer to the material
                     4. Post initial stock for the material.
                     5. Create a Sales/Order.
                     6. Displayed the sales order and recorded the scheduled delivery date.
                     7. Created the delivery for the sales order.
                     8. Transfer the stock from the warehouse management
                     9. And update the order.
    While updating the order I selected post goods issue and it would not go ahead because the posting date is not there in the posting period. Where do I change the posting date. I could not find it anywhere. I did not enter the date anywhere.
    Thank you,
    Sandhya

    Hello Sandhya
    Here is how MMPV works.
    Lets say I am at the end of the May month 05.31.2009 so lets say period corrresponding to this is 05/2009.
    Now if you want to post data in June perios 06/2009 should be opened.
    Here is what I will do in MMPV
    Enter my company code
    Instead of using periods I will use date which will be 06/01/2009 (mm/dd/yy format in my example)
    Check radio button check and close period
    Click on remaining checkboxes.
    Execute
    The effect of this will be that the previous periods will be closed and June will be opened.
    In your case since no one has opened periods after 2006 so may be you will have to repeat this step for each month until you reach current period if that is the one in which you want to post goods issue.
    Thanks
    Vikas

  • To Change Delivery Schedule Dates coming from Purchase Order

    Hi Gurus,
    My requirement is i need to change the Delivery dates( Picking date, Transp Planning date, Loading date and Planned GI date ) . The delivery is being made by the Purchase Order through transaction VL10B .The source dates are the dates from the PO. The dates are to be copied for the condition that the order should be of ZDL type and delivery ZXN1. Now there is a routine 301 for this condition .
    I tried to change the dates in this routine but these dates are overwritten by a function module SD_SCHEDULING .
    So is there any other method or exit or any other routine for this.
    I would like to have a  copy of the following dates :
    u2022     Mat. Staging(PO) = Picking
    u2022     Transp. Planning(PO) = Transp. Planning
    u2022     Loading(PO) = Loading
    u2022     Goods Issue(PO) = Planned GI
    u2022     GR End(PO) = Delivery
    Please advise.

    Hi,
    Following are the Exits for VB10B
    V02V0001            Sales area determination for stock transport order
    V02V0002            User exit for storage location determination
    V02V0003            User exit for gate + matl staging area determination (headr)
    V02V0004            User Exit for Staging Area Determination (Item)
    V50PSTAT     Delivery: Item Status Calculation
    V50Q0001            Delivery Monitor: User Exits for Filling Display Fields
    V50R0001            Collective processing for delivery creation
    V50R0002       Collective processing for delivery creation
    V50R0004      Calculation of Stock for POs for Shipping Due Date List
    V50S0001      User Exits for Delivery Processing
    V53C0001      Rough workload calculation in time per item
    V53C0002      W&S: RWE enhancement - shipping material type/time slot
    V53W0001     User exits for creating picking waves
    VMDE0001     Shipping Interface: Error Handling - Inbound IDoc
    VMDE0002     Shipping Interface: Message PICKSD (Picking, Outbound)
    VMDE0003     Shipping Interface: Message SDPICK (Picking, Inbound)
    VMDE0004     Shipping Interface: Message SDPACK (Packing, Inbound)

  • In PM order, can we change the material description for item category N?

    Hi,
    In Plant Maintenance work order, is there a way to change the material description while purchasing material (item category N) using a material master number? In config. the material description field is open for input. However on the work order components screen it becomes grey as soon as one enters a material master number.
    Background: We want to maintain generic material master records in the system and use them for purchasing materials (item category N) on work orders so that the purchasing data defaults from the material master. But we need to be able to change the description per the specific requirement.
    Similar functionality works on sales orders. Are we missing anything?

    Hi there,
    One solution would be to have some generic materials created and used them during work order processing. These generic materials needs to be extended to all the required plants.
    Hope this works,
    Cheers !!!

  • ALV- Changing the output data and saving in database

    hi friends,
    I have to change the material description in the output and have to save the changes in database..
    For changing the description I have to raise a pop-up, then I have to give the required change and then save..
    How to do it?
    My code is as follows:
    TABLES : vbrk,vbrp,vbpa,adrc.
    TYPE-POOLS : slis.
    DATA: w_report_id  LIKE sy-repid.
    DATA: w_title    TYPE lvc_title VALUE      'DIPLAY CUSTOMER BILLING DOCUMENT'.
    DATA: w_layout   TYPE slis_layout_alv.
    DATA: w_fieldcat TYPE slis_t_fieldcat_alv.
    DATA: w_events   TYPE slis_t_event.
    DATA: w_header   TYPE slis_t_listheader.
    DATA: sum LIKE vbrk-netwr.
    SELECT-OPTIONS:
         erdat FOR vbrk-erdat,
         vkorg FOR vbrp-vkorg_auft,
         kunag FOR vbrk-kunag.
    DATA : BEGIN OF itab OCCURS 0,
           fkdat TYPE vbrk-fkdat,
           kunrg TYPE vbrk-kunrg,
           name1 TYPE adrc-name1,
           vbeln TYPE vbrk-vbeln,
           augru_auft TYPE vbrp-augru_auft,
           netwr TYPE vbrk-netwr,
           waerk TYPE vbrk-waerk,
           vbtyp TYPE vbrk-vbtyp,
           fkart TYPE vbrk-fkart,
           END OF itab.
    DATA itab1 LIKE STANDARD TABLE OF itab.
    SELECT vbrkfkdat vbrkkunrg adrcname1 vbrkvbeln vbrp~augru_auft
           vbrknetwr vbrkwaerk
           INTO TABLE itab1
           FROM ( ( ( vbrk INNER JOIN vbrp ON vbrkvbeln = vbrpvbeln )
           INNER JOIN vbpa ON vbpavbeln = vbrkvbeln )
           INNER JOIN adrc ON adrcaddrnumber = vbpaadrnr )
           WHERE vbtyp = 'O'
           AND vbrk~erdat IN erdat
           AND vbrp~vkorg_auft IN vkorg
           AND vbrk~kunag IN kunag.
    w_report_id = sy-repid.
    PERFORM i_layout CHANGING w_layout.
    PERFORM i_fieldcat CHANGING w_fieldcat.
    SORT itab1 BY waerk fkart .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
        i_callback_program = 'ZTRAINING2'
        i_grid_title       = w_title
        is_layout          = w_layout
        it_fieldcat        = w_fieldcat
        i_save             = 'A'
      TABLES
        t_outtab           = itab1
      EXCEPTIONS
        program_error      = 1
        OTHERS             = 2.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    *&      Form  i_fieldcat
          text
         -->P_W_FEILDCAT  text
    FORM i_fieldcat  CHANGING p_w_feildcat.
      DATA: l_line_fieldcat TYPE slis_fieldcat_alv.
      CLEAR l_line_fieldcat.
      l_line_fieldcat-fieldname = 'FKDAT'.
      l_line_fieldcat-ref_tabname = 'ITAB1'.
      l_line_fieldcat-edit_mask  = '__-__-____'.
      l_line_fieldcat-seltext_m = 'Billing Document date '.
      APPEND l_line_fieldcat TO w_fieldcat.
      CLEAR l_line_fieldcat.
      l_line_fieldcat-fieldname = 'KUNRG'.
      l_line_fieldcat-ref_tabname = 'ITAB1'.
      l_line_fieldcat-seltext_m = 'Cust no'.
      APPEND l_line_fieldcat TO w_fieldcat.
      CLEAR l_line_fieldcat.
      l_line_fieldcat-fieldname = 'NAME1'.
      l_line_fieldcat-ref_tabname = 'ITAB1'.
      l_line_fieldcat-seltext_m = 'Name of the reseller'.
      APPEND l_line_fieldcat TO w_fieldcat.
      CLEAR l_line_fieldcat.
      l_line_fieldcat-fieldname = 'VBELN'.
      l_line_fieldcat-ref_tabname = 'ITAB1'.
      l_line_fieldcat-seltext_m = 'Billing document number'.
      APPEND l_line_fieldcat TO w_fieldcat.
      CLEAR l_line_fieldcat.
      l_line_fieldcat-fieldname = 'AUGRU_AUFT'.
      l_line_fieldcat-ref_tabname = 'ITAB1'.
      l_line_fieldcat-seltext_m = 'Order reason'.
      APPEND l_line_fieldcat TO w_fieldcat.
      CLEAR l_line_fieldcat.
      l_line_fieldcat-fieldname = 'NETWR'.
      l_line_fieldcat-ref_tabname = 'ITAB1'.
      l_line_fieldcat-seltext_m = 'Amount'.
      APPEND l_line_fieldcat TO w_fieldcat.
      CLEAR l_line_fieldcat.
      l_line_fieldcat-fieldname = 'WAERK'.
      l_line_fieldcat-ref_tabname = 'ITAB1'.
      l_line_fieldcat-seltext_m = 'Currency'.
      APPEND l_line_fieldcat TO w_fieldcat.
    ENDFORM.                    "i_fieldcat
    *&      Form  i_layout
          text
         -->P_W_LAYOUT text
    FORM i_layout  CHANGING p_w_layout.
      CLEAR w_layout.
      w_layout-colwidth_optimize = 'X'.
      w_layout-edit = 'X'.
    ENDFORM.                    " i_layout
    Thanks,
    Revathi Raju.

    Check out the following link for top_of_page event in OOPs ALV.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907
    You can also check out the following program.
    DATA: save_ok LIKE sy-ucomm,
    g_container TYPE scrfname VALUE 'CC1',
    g_grid TYPE REF TO cl_gui_alv_grid,
    g_custom_container TYPE REF TO cl_gui_custom_container,
    gt_fieldcat TYPE lvc_t_fcat,
    g_max TYPE i VALUE 100.
    * declarations for top of page event
    Data: gv_c_split type ref to cl_gui_splitter_container,
    gv_c_ptv type ref to cl_gui_container,
    gv_alv_ptv type ref to cl_gui_alv_grid,
    o_dd_doc TYPE REF TO cl_dd_document,
    text TYPE sdydo_text_element,
    o_split type ref to cl_gui_easy_splitter_container,
    o_top type ref to cl_gui_container,
    o_bot type ref to cl_gui_container,
    gv_c_vp type ref to cl_gui_container.
    * end of declaration for top of page.
    CLASS lcl_event_receiver DEFINITION DEFERRED.
    *class lcl_application_dc definition deferred.
    DATA: o_event_receiver TYPE REF TO lcl_event_receiver.
    * g_dc type ref to lcl_application_dc.
    DATA: gt_outtab TYPE TABLE OF sbook.
    * CLASS lcl_event_receiver DEFINITION
    CLASS lcl_event_receiver DEFINITION.
    PUBLIC SECTION.
    METHODS: handle_f4 FOR EVENT onf4 OF cl_gui_alv_grid
    IMPORTING e_fieldname
    es_row_no
    er_event_data
    et_bad_cells
    e_display,
    handle_top_of_page FOR EVENT top_of_page OF cl_gui_alv_grid
    IMPORTING e_dyndoc_id.
    METHODS: reset.
    METHODS: show_f4.
    PRIVATE SECTION.
    * attributes for creating an own F4-Help
    * (using a second ALV Grid Control
    DATA: f4_grid TYPE REF TO cl_gui_alv_grid,
    f4_custom_container TYPE REF TO cl_gui_custom_container.
    TYPES: BEGIN OF ty_f4.
    TYPES: value TYPE s_class.
    TYPES: descr(20) TYPE c.
    TYPES: END OF ty_f4.
    DATA: f4_itab TYPE TABLE OF ty_f4.
    DATA: f4_fieldcatalog TYPE lvc_t_fcat.
    * attributes to store event parameters
    * (after the CALL SCREEN command, the event parameters
    * are not accessible)
    TYPES: BEGIN OF onf4_event_parameters_type.
    TYPES: c_fieldname TYPE lvc_fname.
    TYPES: cs_row_no TYPE lvc_s_roid.
    TYPES: cr_event_data TYPE REF TO cl_alv_event_data.
    TYPES: ct_bad_cells TYPE lvc_t_modi.
    TYPES: c_display TYPE char01.
    TYPES: END OF onf4_event_parameters_type.
    DATA: f4_params TYPE onf4_event_parameters_type.
    * Methods to create own F4-Help
    * (This is done using a second ALV Grid Control)
    METHODS: init_f4.
    METHODS: build_fieldcatalog.
    METHODS: fill_f4_itab .
    METHODS: on_double_click FOR EVENT double_click OF cl_gui_alv_grid
    IMPORTING es_row_no.
    ENDCLASS. "lcl_application_f4 DEFINITION
    * CLASS lcl_event_receiver IMPLEMENTATION
    CLASS lcl_event_receiver IMPLEMENTATION.
    *§2. Implement an event handler method for event ONF4.
    METHOD handle_f4.
    * Save event parameter as global attributes of this class
    * (maybe solved differently if you use a function module!)
    f4_params-c_fieldname = e_fieldname.
    f4_params-cs_row_no = es_row_no.
    f4_params-cr_event_data = er_event_data.
    f4_params-ct_bad_cells = et_bad_cells.
    f4_params-c_display = e_display.
    *§3. Call your own f4 help. To customize your popup check
    * first if the cell is ready for input (event parameter E_DISPLAY).
    * (parameter E_DISPLAY is checked later in method on_double_click)
    * (Probably, you would call a function module at this point,
    * pass the needed event parameter and call the popup screen
    * within that function module. This is not done in this example
    * to avoid scattering its code).
    CALL SCREEN 101 STARTING AT 10 10.
    *§7. Inform the ALV Grid Control that an own f4 help has been processed
    * to suppress the standard f4 help.
    er_event_data->m_event_handled = 'X'.
    ENDMETHOD. "on_f4
    METHOD show_f4.
    * DATA: ls_outtab TYPE sbook.
    * initialize own f4 help if needed
    IF f4_custom_container IS INITIAL.
    CALL METHOD init_f4.
    ENDIF.
    CALL METHOD fill_f4_itab.
    * refresh list of values in f4 help and show it
    CALL METHOD f4_grid->refresh_table_display.
    * CAUTION: Do not use method REFRESH_TABLE_DISPLAY for
    * your editable ALV Grid instances while handling events
    * DATA_CHANGED or ONf4. You would overwrite intermediate
    * values of your output table on frontend.
    * 'f4_grid' is a non-editable ALV Grid Control for the
    * application specific F4-Help. Therefore, calling
    * REFRESH_TABLE_DISPLAY for this instance has no
    * negative effect.
    CALL METHOD cl_gui_cfw=>flush.
    ENDMETHOD. "show_f4
    METHOD init_f4.
    DATA: ls_f4_layout TYPE lvc_s_layo.
    * build fieldcatalog entries for f4
    CALL METHOD build_fieldcatalog.
    * create controls
    CREATE OBJECT f4_custom_container
    EXPORTING container_name = 'CC_ONF4'.
    CREATE OBJECT f4_grid
    EXPORTING i_parent = f4_custom_container.
    * hide toolbar
    ls_f4_layout-no_toolbar = 'X'.
    CALL METHOD f4_grid->set_table_for_first_display
    EXPORTING
    is_layout = ls_f4_layout
    CHANGING
    it_fieldcatalog = f4_fieldcatalog
    it_outtab = f4_itab.
    * register event double click on backend
    SET HANDLER me->on_double_click FOR f4_grid.
    * flush since 'ls_layout' is local!
    CALL METHOD cl_gui_cfw=>flush.
    ENDMETHOD. "init_f4
    METHOD fill_f4_itab.
    DATA ls_f4_itab TYPE ty_f4.
    * Delete all entries in f4_itab to determine
    * offered values dynamically
    CLEAR f4_itab[].
    ls_f4_itab-value = 'C'.
    ls_f4_itab-descr = text-t03. "Business Class
    APPEND ls_f4_itab TO f4_itab.
    ls_f4_itab-value = 'Y'.
    ls_f4_itab-descr = text-t04. "Economie Class
    APPEND ls_f4_itab TO f4_itab.
    ls_f4_itab-value = 'F'.
    ls_f4_itab-descr = text-t05. "First Class
    APPEND ls_f4_itab TO f4_itab.
    ENDMETHOD. "fill_f4_itab
    METHOD build_fieldcatalog.
    DATA: ls_fcat TYPE lvc_s_fcat.
    CLEAR ls_fcat.
    ls_fcat-fieldname = 'VALUE'.
    ls_fcat-coltext = text-t02.
    * ls_fcat-inttype = 'S_CLASS'.
    ls_fcat-outputlen = 5.
    APPEND ls_fcat TO f4_fieldcatalog.
    CLEAR ls_fcat.
    ls_fcat-fieldname = 'DESCR'.
    ls_fcat-coltext = text-t01.
    ls_fcat-inttype = 'C'.
    ls_fcat-outputlen = 20.
    APPEND ls_fcat TO f4_fieldcatalog.
    ENDMETHOD. "build_fieldcatalog
    METHOD on_double_click.
    *§5. If not already caught by your own f4 help, check whether
    * the triggered cell was ready for input by using E_DISPLAY
    * and if not, exit.
    IF f4_params-c_display EQ 'X'.
    LEAVE SCREEN.
    ENDIF.
    *§6. After the user selected a value, pass it to the ALV Grid Control:
    *§ 6a. Define a field symbol of type: LVC_T_MODI and a structure of
    * type LVC_S_MODI to pass the value later on.
    FIELD-SYMBOLS <itab> TYPE lvc_t_modi.
    DATA: ls_modi TYPE lvc_s_modi,
    ls_f4_itab TYPE ty_f4.
    *§ 6b. Dereference attribute M_DATA into your field symbol and add
    * the selected value to the table to which this symbol points to.
    ASSIGN f4_params-cr_event_data->m_data->* TO <itab>.
    ls_modi-row_id = f4_params-cs_row_no-row_id.
    ls_modi-fieldname = f4_params-c_fieldname.
    READ TABLE f4_itab INTO ls_f4_itab INDEX es_row_no-row_id.
    ls_modi-value = ls_f4_itab-value.
    APPEND ls_modi TO <itab>.
    LEAVE TO SCREEN 0.
    ENDMETHOD. "on_double_click
    METHOD reset.
    FIELD-SYMBOLS <itab> TYPE lvc_t_modi.
    ASSIGN f4_params-cr_event_data->m_data->* TO <itab>.
    CLEAR <itab>[].
    ENDMETHOD. "reset
    METHOD handle_top_of_page.
    text = 'Top of page for program ZAMIT_SPLIT_CONTAINER'.
    CALL METHOD e_dyndoc_id->add_text
    EXPORTING text = text
    sap_fontsize = 'LARGE'
    sap_style = 'HEADING'.
    CALL METHOD e_dyndoc_id->display_document
    EXPORTING parent = o_top.
    ENDMETHOD. "handle_top_of_page
    ENDCLASS. "lcl_application_f4 IMPLEMENTATION
    END-OF-SELECTION.
    CALL SCREEN 100.
    * MODULE PBO OUTPUT *
    MODULE pbo OUTPUT.
    SET PF-STATUS 'MAIN100'.
    SET TITLEBAR 'MAIN100'.
    IF g_custom_container IS INITIAL.
    PERFORM create_and_init_alv CHANGING gt_outtab[]
    gt_fieldcat.
    ENDIF.
    ENDMODULE. "pbo OUTPUT
    * MODULE PAI INPUT *
    MODULE pai INPUT.
    save_ok = sy-ucomm.
    CLEAR sy-ucomm.
    CASE save_ok.
    WHEN 'EXIT' OR 'BACK' OR 'CANCEL'.
    PERFORM exit_program.
    WHEN 'SWITCH'.
    PERFORM switch_edit_mode.
    WHEN OTHERS.
    * do nothing
    ENDCASE.
    ENDMODULE. "pai INPUT
    * FORM EXIT_PROGRAM *
    FORM exit_program.
    LEAVE PROGRAM.
    ENDFORM. "exit_program
    *& Form build_fieldcat
    * text
    * -->PT_FIELDCAT text
    FORM build_fieldcat CHANGING pt_fieldcat TYPE lvc_t_fcat.
    DATA ls_fcat TYPE lvc_s_fcat.
    CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
    i_structure_name = 'SBOOK'
    CHANGING
    ct_fieldcat = pt_fieldcat.
    LOOP AT pt_fieldcat INTO ls_fcat.
    * Exchange smoker field with invoice field - just to
    * make the dependance between SMOKER and CLASS more transparent
    * (Smoking is only allowed in the first class).
    IF ls_fcat-fieldname EQ 'SMOKER'.
    ls_fcat-col_pos = 11.
    ls_fcat-outputlen = 10.
    ls_fcat-edit = 'X'.
    * Field 'checktable' is set to avoid shortdumps that are caused
    * by inconsistend data in check tables. You may comment this out
    * when the test data of the flight model is consistent in your system.
    ls_fcat-checktable = '!'. "do not check foreign keys
    MODIFY pt_fieldcat FROM ls_fcat.
    ELSEIF ls_fcat-fieldname EQ 'INVOICE'.
    ls_fcat-col_pos = 7.
    MODIFY pt_fieldcat FROM ls_fcat.
    ELSEIF ls_fcat-fieldname EQ 'CLASS'.
    ls_fcat-edit = 'X'.
    ls_fcat-outputlen = 5.
    ls_fcat-checktable = '!'. "do not check foreign keys
    MODIFY pt_fieldcat FROM ls_fcat.
    ENDIF.
    ENDLOOP.
    ENDFORM. "build_fieldcat
    *& Form create_and_init_alv
    * text
    * -->PT_OUTTAB text
    * -->PT_FIELDCAT text
    FORM create_and_init_alv CHANGING pt_outtab TYPE STANDARD TABLE
    pt_fieldcat TYPE lvc_t_fcat.
    DATA: lt_exclude TYPE ui_functions,
    ls_layout TYPE lvc_s_layo.
    CREATE OBJECT g_custom_container
    EXPORTING container_name = g_container.
    * CREATE OBJECT g_grid
    * EXPORTING i_parent = g_custom_container.
    CREATE OBJECT gv_c_split
    EXPORTING
    * link_dynnr = lv_dynnr
    * link_repid = lv_repid
    parent = g_custom_container
    rows = 2
    columns = 1
    EXCEPTIONS
    cntl_error = 1
    cntl_system_error = 2
    others = 3 .
    CALL METHOD gv_c_split->set_border
    EXPORTING
    border = space.
    CALL METHOD gv_c_split->get_container
    EXPORTING
    row = 1
    column = 1
    RECEIVING
    container = gv_c_ptv.
    CALL METHOD gv_c_split->set_row_height
    EXPORTING
    id = 1
    height = 20
    EXCEPTIONS
    cntl_error = 1
    cntl_system_error = 2
    OTHERS = 6 .
    CALL METHOD gv_c_split->get_container
    EXPORTING
    row = 2
    column = 1
    RECEIVING
    container = gv_c_vp .
    CALL METHOD gv_c_split->set_row_height
    EXPORTING
    id = 2
    height = 10
    EXCEPTIONS
    cntl_error = 1
    cntl_system_error = 2
    OTHERS = 3 .
    CREATE OBJECT o_split
    EXPORTING
    parent = gv_c_ptv
    with_border = 1
    EXCEPTIONS
    cntl_error = 1
    cntl_system_error = 2
    others = 3.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    o_top = o_split->top_left_container.
    o_bot = o_split->bottom_right_container.
    CREATE OBJECT gv_alv_ptv
    EXPORTING
    i_parent = o_bot
    EXCEPTIONS
    error_cntl_create = 1
    error_cntl_init = 2
    error_cntl_link = 3
    error_dp_create = 4
    others = 5 .
    CREATE OBJECT g_grid
    EXPORTING
    i_parent = gv_c_vp
    EXCEPTIONS
    error_cntl_create = 1
    error_cntl_init = 2
    error_cntl_link = 3
    error_dp_create = 4
    others = 5 .
    PERFORM build_fieldcat CHANGING pt_fieldcat.
    * Optionally restrict generic functions to 'change only'.
    * (The user shall not be able to add new lines).
    PERFORM exclude_tb_functions CHANGING lt_exclude.
    PERFORM build_data CHANGING pt_outtab.
    ls_layout-grid_title = 'F4 help implemented for field CLASS'.
    CREATE OBJECT o_event_receiver.
    SET HANDLER o_event_receiver->handle_top_of_page FOR gv_alv_ptv.
    SET HANDLER o_event_receiver->handle_top_of_page FOR g_grid.
    CREATE OBJECT o_dd_doc EXPORTING style = 'ALV_GRID'
    no_margins = 'X'.
    CALL METHOD gv_alv_ptv->set_table_for_first_display
    EXPORTING
    is_layout = ls_layout
    CHANGING
    it_outtab = pt_outtab[]
    it_fieldcatalog = pt_fieldcat
    EXCEPTIONS
    invalid_parameter_combination = 1
    program_error = 2
    too_many_lines = 3
    OTHERS = 4.
    CALL METHOD g_grid->set_table_for_first_display
    EXPORTING
    it_toolbar_excluding = lt_exclude
    is_layout = ls_layout
    CHANGING
    it_fieldcatalog = pt_fieldcat
    it_outtab = pt_outtab[].
    CALL METHOD gv_alv_ptv->list_processing_events
    EXPORTING
    i_event_name = 'TOP_OF_PAGE'
    i_dyndoc_id = o_dd_doc.
    * register f4 for field CLASS
    PERFORM register_events.
    * Set editable cells to ready for input initially
    CALL METHOD g_grid->set_ready_for_input
    EXPORTING
    i_ready_for_input = 1.
    ENDFORM. "CREATE_AND_INIT_ALV
    *& Form exclude_tb_functions
    * text
    * -->PT_EXCLUDE text
    FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions.
    * Only allow to change data not to create new entries (exclude
    * generic functions).
    DATA ls_exclude TYPE ui_func.
    ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
    APPEND ls_exclude TO pt_exclude.
    ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row.
    APPEND ls_exclude TO pt_exclude.
    ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row.
    APPEND ls_exclude TO pt_exclude.
    ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
    APPEND ls_exclude TO pt_exclude.
    ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row.
    APPEND ls_exclude TO pt_exclude.
    ENDFORM. " EXCLUDE_TB_FUNCTIONS
    *& Form build_data
    * text
    * --> p1 text
    * <-- p2 text
    FORM build_data CHANGING pt_outtab TYPE STANDARD TABLE.
    DATA: ls_sbook TYPE sbook,
    l_index TYPE i.
    SELECT * FROM sbook INTO TABLE gt_outtab UP TO g_max ROWS.
    IF sy-subrc NE 0.
    PERFORM generate_entries CHANGING pt_outtab.
    ENDIF.
    LOOP AT pt_outtab INTO ls_sbook.
    l_index = sy-tabix.
    CLEAR ls_sbook-class.
    * Alternate between smoker and non smoker to make
    * it more obvious what this example is about
    l_index = l_index MOD 2.
    IF l_index EQ 1.
    ls_sbook-smoker = 'X'.
    ELSE.
    ls_sbook-smoker = ' '.
    ENDIF.
    MODIFY pt_outtab FROM ls_sbook.
    ENDLOOP.
    ENDFORM. " build_data
    *& Form generate_entries
    * text
    * -->PT_SBOOK text
    FORM generate_entries CHANGING pt_sbook TYPE STANDARD TABLE.
    DATA: ls_sbook TYPE sbook,
    l_month(2) TYPE c,
    l_day(2) TYPE c,
    l_date(8) TYPE c,
    l_prebookid TYPE i.
    ls_sbook-carrid = 'LH'.
    ls_sbook-connid = '0400'.
    ls_sbook-forcurkey = 'DEM'.
    ls_sbook-loccurkey = 'USD'.
    ls_sbook-custtype = 'B'.
    DO 110 TIMES.
    l_prebookid = sy-index.
    ls_sbook-forcuram = sy-index * 10.
    ls_sbook-loccuram = ls_sbook-loccuram * 2.
    ls_sbook-customid = sy-index.
    ls_sbook-counter = 18.
    ls_sbook-agencynum = 11.
    l_month = sy-index / 10 + 1.
    DO 2 TIMES.
    l_day = 3 + l_month + sy-index * 2.
    l_date+0(4) = '2000'.
    l_date+4(2) = l_month.
    l_date+6(2) = l_day.
    ls_sbook-fldate = l_date.
    SUBTRACT 3 FROM l_day.
    ls_sbook-order_date+0(6) = l_date+0(6).
    ls_sbook-order_date+6(2) = l_day.
    ls_sbook-bookid = l_prebookid * 2 + sy-index.
    IF sy-index EQ 1.
    ls_sbook-smoker = 'X'.
    ELSE.
    ls_sbook-smoker = space.
    ENDIF.
    ls_sbook-luggweight = l_prebookid * 10.
    IF ls_sbook-luggweight GE 1000.
    ls_sbook-wunit = 'G'.
    ls_sbook-class = 'C'.
    ELSE.
    ls_sbook-wunit = 'KG'.
    ls_sbook-class = 'Y'.
    ENDIF.
    IF ls_sbook-bookid > 40 AND ls_sbook-wunit EQ 'KG'.
    ls_sbook-invoice = 'X'.
    ENDIF.
    IF ls_sbook-bookid EQ 2.
    ls_sbook-cancelled = 'X'.
    ls_sbook-class = 'F'.
    ENDIF.
    APPEND ls_sbook TO pt_sbook.
    ENDDO.
    ENDDO.
    ENDFORM. " generate_entries
    *& Form register_events
    * text
    FORM register_events.
    *§1. Register event ONF4 at frontend using method
    * register_f4_for_fields. For this purpose, you pass a table
    * with all fields, for which you want to implement your own
    * f4 help.
    * remark: If you want to use an own f4 help for fields where
    * no standard f4 help exists set field F4AVAILABL for
    * this field in the fieldcatalog.
    DATA: lt_f4 TYPE lvc_t_f4 WITH HEADER LINE.
    CLEAR lt_f4.
    lt_f4-fieldname = 'CLASS'.
    * If you would like to deregister the field again,
    * pass value SPACE with field 'register'.
    lt_f4-register = 'X'.
    *§ 1b. If the value range in your f4 help depends on other
    * values of cells that are input enabled, set the
    * GETBEFORE parameter.
    * The consequence is that the ALV Grid Control raises
    * event DATA_CHANGED before the f4 help is called to
    * check values that the f4 help depends on.
    lt_f4-getbefore = 'X'.
    * The next parameter is used to change values after onf4 has
    * been processed. The ALV Grid Control will raise
    * event DATA_CHANGED afterwards, if you set it.
    lt_f4-chngeafter = space.
    INSERT TABLE lt_f4.
    CALL METHOD g_grid->register_f4_for_fields
    EXPORTING
    it_f4 = lt_f4[].
    * register events for abap objects (backend)
    SET HANDLER o_event_receiver->handle_f4 FOR g_grid.
    ENDFORM. " register_events
    * MODULE status_0101 OUTPUT
    MODULE status_0101 OUTPUT.
    SET PF-STATUS 'POPUP'.
    SET TITLEBAR 'POPUP'.
    CALL METHOD o_event_receiver->show_f4.
    ENDMODULE. " STATUS_0101 OUTPUT
    *& Module USER_COMMAND_0101 INPUT
    * text
    MODULE user_command_0101 INPUT.
    PERFORM user_command.
    ENDMODULE. " USER_COMMAND_0101 INPUT
    *& Form user_command
    * text
    FORM user_command.
    DATA: save_ok TYPE sy-ucomm.
    save_ok = sy-ucomm.
    CLEAR sy-ucomm.
    CASE save_ok.
    WHEN 'CANCEL'.
    CALL METHOD o_event_receiver->reset.
    LEAVE TO SCREEN 0.
    ENDCASE.
    ENDFORM. "user_command
    *& Form switch_edit_mode
    * text
    FORM switch_edit_mode.
    IF g_grid->is_ready_for_input( ) EQ 0.
    * set edit enabled cells ready for input
    CALL METHOD g_grid->set_ready_for_input
    EXPORTING
    i_ready_for_input = 1.
    ELSE.
    * lock edit enabled cells against input
    CALL METHOD g_grid->set_ready_for_input
    EXPORTING
    i_ready_for_input = 0.
    ENDIF.
    ENDFORM. "switch_edit_mode
    For popup try this
    reward if helpfull
    Regards
    Pavan

  • Change default document date ?

    Hi guru,
    When posting material docs in t-code such as MB1A, MB1C, document date is defaulted from current system date.
    I want to change the document date to be suggested from an add-on table.
    I've investigated MB* enhancements without fruitful results.
    Any good idea ?
    Regards
    Mankyoo Kim

    Hi,
    We can assign ship-to party to selection screen.
    IMG>SD>Sales>Lists>Set Updating Of Partner Index
    Click on new entries 
    Transaction group "0", partner function "SH" and save it.
    Goto VA05 T.Code, click on partner functions tab. you will get pop-up window. choose "SH" and press enter
    you will get ship-to party filed in selection screen.
    Regards,
    Chandra
    Edited by: chandra sekhar S on Sep 17, 2008 2:15 PM

Maybe you are looking for

  • Planned order and Purchase requistion both is generating in MRP

    Dear All, At the time of MRP explosion for Finished material, system is generating Planned order and purchase requistion, both,  for detailed material, (e.g. the BOM is a single level BOM). Whereas, I want to generate Purchase requistion for all. I a

  • Process Order cannot be reversed

    Hi PP Gurus, When reversing process order for confirmed scrap quantity using tcode CORS. System will prompt an error message. Please advice if confirmed operation scrap quantity for process order can be reverse? Thanks, Sodacracker Edited by: sodacra

  • Updated to Mavericks now my Toshiba External HDD 3.0 won't mount need help what to do

    I recently updated to mavericks now my toshiba external hard drive wont connect and i have some important data need help to get drivers im assuming its the drivers but need help to locate the drivers

  • HTML to PDF Conversion in Linux env

    Dear all, Do you have any idea how to convert HTML to PDF using java in Linux environment. Thanks SS

  • Migration of OWB

    Hi, I have to migrate OWB 9i from Solaris to OWB 10g R2 Linux. On Linux server 64 bit I have to install OWB 10g R2. Which version I have to install to migrate from OWB 9i? I found this version in oracle site OWB 10g R2(10.2.0.1). Is it right one to i