SPAU  applying modifications

Dear Experts,
While applying patchs by BASIS people, they got SPAU warning.
i.e some programmes were not modified automatically.
So, it say (warning window) you to login to SPAU T-code and apply modifications.
BASIS people ignored that warining and continued with patch application.
Now, we need to apply the modifications mannually by going to SPAU.
i have no idea about SPAU.
it is showing in split screen, saying that left side is with new modification.
and on right side the old one(which is to be modified).
I request you to give your input in understading this SPAU, and
procedure to accecpt those modification.
and Why this is necessary.
thanking you in advance.
Points assured
by
Raghav

Hi
see the links and info related to SPAU and SPDD
http://www.sap-img.com/bc018.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c6/068d380be34e6ce10000009b38f842/content.htm
http://help.sap.com/saphelp_46c/helpdata/EN/60/d6ba7bceda11d1953a0000e82de14a/content.htm
1.What objects will come in SPAU and SPDD?
Ans: All the objects which are modified, after tansporting to the current system,
will be listed in SPAU and SPDD. SPDD contains the list of all modified Data Dictionary objects, like tables, dataelements, domains,view...etc. The rest of all the modified repository objects will be listed in SPAU.
What happens to the modifications done in the older version when we upgrade the version? (with Modification assistant and w/o)
Ans: After the initial upgrade happens, we have to do adjustments from SPAU/SPDD to maintain or reset the changes. That is, from the list of objects in SPAU/SPDD, you have to either carry forward the changes to the new version, by choosing the option ADOPT CHANGES (available on right click) or RESET TO ORIGINAL (available on right click).
Will they come in these transactions?
Ans: yes, they will be listed in these transactions, after the BASIS updgrade activity.
And what if we apply some patches(Notes) to the system? What is the impact of these patches to the SPAU transaction?
Ans: Patches will be supported by the version upgrade. In case of notes, we have to verify whether these notes are supported by the new version (you can go into http://www.service.sap.com/notes to verify this. Also, we have to analyze whther the code in the note is already incorporated in the new version. In this case you can ignore the chanes choosing RESET TO ORIGINAL option
http://help.sap.com/saphelp_erp2005vp/helpdata/en/2e/6d66587d9011d396b60000e82de14a/frameset.htm
<b>Reward points for useful Answers</b>
Regards
Anji

Similar Messages

  • Spau without modification assistant

    Hye all,
    Im into upgradation project, In spau tcode > without modification assistant> programs, when im going for version management its displaying some 10 modified versions of tht program, now my Q is that from tht versions which i have to keep in my new version?
    Full points will be rewarded.
    Thanks,
    Vibha

    hi,
        you have to compare with the version which is existed currently in Production(old version) and the latest one.
    sudheer.A

  • SPAU issues with: Without Modification Assistant: No versions found

    Hi,
    We have upgraded from SAP 4.7 to SAP ECC 6 with Unicode.
    After the upgradation we have started working with SPAU objects.
    Currently I am working on SPAU: Without Modification Assistant.
    I have gone though some docs in those they have asked to compare the versions using Version Management options.
    But when I am tiring to check the Version Management for many of the objects I am getting the message: No versions found
    Some of the objects are for which I am getting the message No versions found are as follows :
    Selection Views :     SAPBRFSTANDARD                 100789       23.12.2010 ABCK900506
    Programs :RM06BF00                       Collective Release of Purchase Requisitions
    Transactions          FEBA                 A_1234     13.07.2006 XYZK906487           Postprocess Electronic Bank Statmt
    Transaction Variants          O4_TIGER1                      D_ABCD      18.06.2005 AB5K901250
    Screen Variants           O4_TIGER1_0999                 D_ABC      18.06.2005 AB5K901250
    Message Classes    38                   General Basis: ABAP Runtime Environment
    Maintenance and Transport Objects          J_1IEWT_ACKNS                  D_ABCDE 27.06.2008 ABC3910542
    Request you to check and let us know how to proceed.
    Thanks and Regards,
    Prem.
    <personal information removed by moderator>
    Edited by: Thomas Zloch on Jan 18, 2011 12:43 PM

    Hi,
    in SPAU you will be getting three things..
    1>Green light 2>yellow light and 3>Red light
    when the upgrade takes place if you see any object under Green that means the changes are automatically carried to the new version from older version
    for yellow it has done partially and for red you need to do manually copying the code to the new version.
    You have an option is "RESET to original" if you do this , the code will be reset to what SAP provided in the new version. Your old code won't be there.
    Please go through the below link to understand about SPAU and SPDD.
    http://help.sap.com/saphelp_nw04s/helpdata/en/60/d6ba7bceda11d1953a0000e82de14a/content.htm
    Regards,
    Nagaraj

  • Help required in running SPAU and SPDD transactions for post upgrade

    Hi All,
    We are doing a system upgrade to EHP1.
    We need help in SPAU and SPDD runs and why are they required in upgrade activity.
    Kindly respond.
    Thanks in advance
    Regards
    Rashmi

    Hi Rashmi,
    SPDD and SPAU are modification adjustments that you need to adjust after upgrade. This is a situation where the upgrade has to enhance some structures and elements that was available in previous version (probably 3.x). The system can not determine whether to overwrite the structures or to retain the old version. If the structures are custom structures, the system might overwrite any enhancements that you have done. In this kind of situations, the system puts any such structures and elements that it can not make a decision into these 2 lists. SPDD is for dictionary objects and SPAU is for configurations. You have to fix all the issues that are produced in these transactions. You need to first fix the ones in SPDD list and then the SPAU list. Once you drill down in those lists, it asks you to take actions like "change it", "keep the old version" or "ignore the changes" (I think these are the options). You need to chosse these options based on your analysis and turn all the yellow and red ones into green. Hope this gives you some idea.
    Thanks and Regards
    Subray Hegde

  • Close the Programs that are opened by OSS Note

    Hi,
      We had opened some of the standard programs (With access key) and made the modifications as per the OSS note some time back, the programs that were modified are still open for editing even now and the client is concerned about the sanctity of the standard programs as they are open for everyone any one can make changes to the programs, how one can make sure that the object once opened should be closed immediately afer applying modifications, does SAP has any kind of mechanism using which we can track this,
    Any help would be highly appreciated,
    Rgds,

    Hi Sailatha,
    Once you have modified an SAP Object using an access key it becomes a custom Object. It can be modified at any time by any developer in the development system. If you have used the Modification Assistant or SNOTE while making the changes the first time, you will be prompted to retain your changes or reset to original in SPAU during upgrades / support packs.
    Regards
    Suresh Datti

  • Pricing, Modifiers in Sales Order Form

    Hi Gurus,
    Please help me to resolve the issue with Pricing, Modifier to Sales Order:
    I have created Master price List for Item A - $40
    Modifer 1 - Dealer Discount Price is 20% (Created Modifier as Dealer Discount - 20%)
    Modifer 2 - Order Header discount is 10% on total Order Value (Created Modifer with Discount : Level - Order; Modifer Type - Discount; Pricing Phase - Header Level Adjustments, Application Method - Percentage; Value - 10%
    Assgined to respective Qualifers (Customers), set as Automatic
    Ran Build Attribute mapping values concurrent program in Pricing Module. Status : sucess
    After doing All above steps created Sales order for respective Customer, system is applying Modifer 1 Automatically but MODIFIER 2 not able to apply at order header leverl, Not able to see this Modifier list under SO form
    Action->View Adjustment.
    Can you please check and let me know the problem to achieve this issue.
    Highly appreciate your response.
    Regards
    AK

    Check below options in sequence
    1) Is your order qualifies for both the modifiers ?
    2) If you need to apply both modifiers put them in different incompatibility level.

  • IPhoto 09 not recognising locations for geo-tagged photos

    I've been geotagging my photos in iPhoto for over a year now, using HoudahGeo. This works really well and integrates great with sites such as Flickr that support geo-tagged photos.
    When I installed iPhoto 09, it only recognises about 30 photos out of several thousand as geo-tagged. These are mainly photos taken with my iPhone, but also some taken with my Sony camera and geotagged with HoudahGeo.
    I've checked a sample of the ones it does not put in a location (all taken with the same Sony camera) and the Exif data is there with the correct latitude and longitude but iPhoto 09 sees these fields as blank when I do a Photos > Shows Extended Photo Info, the latitude and longitude fields are blank.
    Anyone any ideas what I am doing wrong / how I get the photos to show on the map in iPhoto 09?

    I usually import the photos direct to iPhoto from my camera and then use HoudahGeo to geo-tag the original copies of iPhoto in my library. Prior to iPhoto 9 this is not a big issue as it did not use the geo-tag information directly but with iPhoto 9 it's a big issue for users like me as I'd rather not have to export from the camera to a folder, geo-tag and then import to iPhoto 9 as it's messy to say the least.
    As I noted - this will not work - iPhoto is a database and it keeps data about the photo in its database - as all database programs do - and changing the data elsewhere will not update the database
    Anytime you apply modifications directly to the data in the iPhoto database you are risking corruption and it is recommended that you not ever modify the contents of the iPhoto library
    I use an ATP Photo Finder - http://www.atpinc.com/p2-4a.php?sn=00000414 - which applies the Geocodeing data directly to my photos so when I import them they are complete - it simplifies my work flow a lot
    Surely Apple will have thought of users like me who geo-tag using a GPS external to the camera and provided some easy method of re-reading the Exif data in the photos in real time?
    iPhoto menu ==> provide iPhoto feedback
    LN

  • Clarification about  Database_Buffer_cache workings

    Hi All,
    Clarification about Database_Buffer_cache workings:(This statement from my course material)
    *1.The information read from disk is read a block at a time,not a row at a time,because a database block*
    is the smallest addressable storage space on disk.
    Before answering, my please check whether my above statement is correct or not,becoz i get this from My course material.
    If i am querying ,
    select * from emp;
    Whether server_process bring the whole block belongs to EMP table right or it just bring the table itself?
    Thank you,
    Regards,
    DB
    Edited by: DB on May 30, 2013 3:19 PM
    Edited by: DB on May 30, 2013 4:35 PM

    Both happens, the LGWR may call the DBWR to write dirty blocks from the buffer cache to disk. Dirty in this context means, that the blocks in the buffer cache have been modified and not yet written to disk, i.e. their content differs from the on disk image. Conversely the DBWR can also call LGWR to write redo records from the redo log buffers (in memory) to the redo log files on disk.
    To understand why both is possible, you need to understand the mechanics how Oracle does recovery, in particular REDO and UNDO and how they play together. The excellent book "Oracle Core" from Jonathan Lewis describes this in detail.
    I'll try to sketch each of the two cases. I am aware that this is only an overview which leaves out many details. For a complete description please look at the various Oracle books and documentation that cover this topic.
    1. LGWR posts DBWR to write blocks to disk
    As you probably know, any modifications done by DML (which modify data blocks) are recorded in the redo. In case of recovery this redo can be used to bring the data blocks to the last committed stated before failure by re-applying modifications that are recorded in the redo. Redo is written into redo log files and the redo log files are used in a round robin fashion. As the log files are used in a round robin fashion, old redo data is overwritten at some point in time - thus the corresponding redo records are not longer available in a recovery scenario (they may be in the archived redo logs, which may however not exist if your database runs in NOARCHIVELOG mode and even if your database runs in ARCHIVELOG mode, the archived redo log files may not be accessible to the instance without manual intervention by the DBA).
    So before overwriting a redo log file, the Oracle instance must ensure, that the redo records being overwritten will not be used in a potential instance recovery (which the instance is supposed to do automatically, without any action by the DBA, after instance failure, e.g. due to a power outage). The way to ensure this is to have the DBWR write all modifications to disk that are protected by the redo records being overwritten (i.e. all data blocks where the first modification that has not yet been written to disk is older than a certain time) - this is called a "Thread checkpoint".
    2. DBWR posts LGWR to write redo records to disk
    Oracle uses a write ahead protocol (see http://en.wikipedia.org/wiki/Write-ahead_logging and Write Ahead Logging.... This means, that for any modification the corresponding redo records must been written to disk before the actual modification to the data blocks is written to disk (into the data files). The purpose of this I believe is, to ensure that for any data block modification that makes it to disk, the corresponding UNDO information can be restored (from redo) in case of recovery, in order to reverse uncommitted changes in a recovery scenario.
    Before writing a data block to disk, the DBWR must thus make sure, that all redo for modifications affecting this block has already been written to disk by the LGWR. If this is not the case, the DBWR will post the LGWR and only write the data block to the datafile once the redo has been written to the redo log file by LGWR.

  • One R/3 system, two BW systems

    Hi all BW experts,
    we have two BW systems connected to one R/3 system.
    One of the two BW systems is not in maintenance by our development team.
    In the User-Exit EXIT_SAPLRSAP_001 the code implemented for the extractors is valid for both BW systems.
    My question is : it is possible in this EXIT to know which
    BW system is involved in the extraction?
    If i can know it, i can divide the ABAP code in two parts and to apply modifications only for the BW system developed by us.
    Thank you to everyone.
    Fabrizio

    Hallo Fabbrizio
    In your case you have to use SY-SYSID which is giving you the system ID.
    for example:
    Data: syst like SY-SYSID.
    syst = SY-SYSID.
    if syst = ...
    else.
    endif.
    the field SY-UNAME is returning the SAP USER which is suppose you are not interested.
    I hope this can help you
    Mike

  • Transaction for a Zreport not working properly

    Hi all gurus,
    I developed a report which extracts some data from the system based on an user selection via select-option.
    A simple schema of execution:
    - the user completes a selection mask;
    - F8 to execute;
    - the report extracts required data and performs some check filling a return table containing the desiderata info;
    - ALV to show the results.
    The report works fine; the problem is the transaction I created over it.
    I simply created a transaction (ZCHECKPRiCE) for the report, but it doesn't work properly. Once the tx is called, the selection mask is properly shown and the user can fill it. So far, everything seems to be fine. But when the user presses F8 to start the process, the report suddenly quits and the SAP welcome screen is shown. What could it be the cause of this strange behaviour? I guess there's something I missed creating the transaction, but now I can access the tx property and don't see anything wrong. Can you please help me solving this problem? Thanks in advance.

    Hi all and thanks for your help.
    I don't remember exactly which selections I made in order to create the transaction; since it's a work I've done many times, I did it quite quickly. Now, what I can see in the transaction property is what follows:
    Transaction code        ZCHECKPRICE                                 
    Package                 ZSRM                                                                               
    Transaction text      Report di verifica prezzi                    
    Program                   Z_CHECK_PRICEI                         
    Screen number        1000                                         
    Authorization object (blank)
    X Maintanance of standard transaction variant allowed
    Transaction classification:
    Professional User Transaction (radiobutton: selected)
    Easy Web transaction (radiobutton: not selected)
    GUI support:
    all the check are active (but seems irrilevant in this case)
    I'd prefer to apply modifications on the current transaction (ZCHECKPRICE) and not to create a new one from scratch.
    Any idea?
    Thanks again

  • Skip archive log on logical standby

    hi ,
    I want to skip archive log from nmber 1150 to 1161 on logical standby dtbs.
    I knw , we can skip ddl , dml on logical standby .
    How can archive this ??
    (oracle 10g entreprise edition )

    Hello;
    I do not believe this is an option. The closest to this would be "applying modifications to specific tables"
    See :
    9.4.3 Using DBMS_LOGSTDBY.SKIP to Prevent Changes to Specific Schema Objects
    Data Guard Concepts and Administration 10g Release 2 (10.2) B14239-05
    While this is not the answer you want the skip Archive would create a Gap and cause many other issues you don't want.
    Best Regards
    mseberg

  • Table Maintenance using Editable ALV

    Hi all,
    Could anyone give me the code for doing the ZTable maintenance (like Insert, Modify, Append, Delete records) using Editable ALV. I referred all BCALV_EDIT* programs but there  is no code for saving the details in database after the changes. Please help it is urgent, will surely reward points.
    thanks in advance

    Pl. see this sample code. May be it will help u.
    REPORT zmodtab NO STANDARD PAGE HEADING.
    TYPE-POOLS: rsds.
    DATA: is_x030l  TYPE x030l,
          it_dfies  TYPE TABLE OF dfies,
          is_dfies  TYPE dfies,
          it_fdiff  TYPE TABLE OF field_dif,
          is_fdiff  TYPE field_dif.
    DATA: w_selid   TYPE rsdynsel-selid,
          it_tables TYPE TABLE OF rsdstabs,
          is_tables TYPE rsdstabs,
          it_fields TYPE TABLE OF rsdsfields,
          it_expr   TYPE rsds_texpr,
          it_ranges TYPE rsds_trange,
          it_where  TYPE rsds_twhere,
          is_where  TYPE rsds_where,
          w_active  TYPE i.
    DATA: it_content TYPE REF TO data,
          it_modif   TYPE REF TO data,
          it_fcat    TYPE lvc_t_fcat.
    DATA: w_okcode   TYPE sy-ucomm.
    FIELD-SYMBOLS: <itab> TYPE STANDARD TABLE,
                   <ntab> TYPE STANDARD TABLE.
    Macros
    DEFINE table_error.
      message e398(00) with 'Table' p_table &1.
    END-OF-DEFINITION.
    DEFINE fixed_val.
      is_fdiff-fieldname = is_dfies-fieldname.
      is_fdiff-fixed_val = &1.
      is_fdiff-no_input  = 'X'.
      append is_fdiff to it_fdiff.
    END-OF-DEFINITION.
    Selection screen
    SELECTION-SCREEN: BEGIN OF BLOCK b01 WITH FRAME.
    PARAMETERS: p_table TYPE tabname OBLIGATORY                    "table
                                     MEMORY ID dtb
                                     MATCHCODE OBJECT dd_dbtb_16.
    SELECTION-SCREEN: BEGIN OF LINE,
                      PUSHBUTTON 33(20) selopt USER-COMMAND sel,
                      COMMENT    55(15) selcnt,
                      END OF LINE.
    SELECTION-SCREEN: SKIP.
    PARAMETERS: p_rows  TYPE i.                                    "rows
    SELECTION-SCREEN: END OF BLOCK b01,
                      SKIP,
                      BEGIN OF BLOCK b02 WITH FRAME.
    PARAMETERS: p_displ TYPE c AS CHECKBOX.                        "display
    SELECTION-SCREEN: END OF BLOCK b02.
    Initialization
    INITIALIZATION.
      MOVE '@4G@ Filter records' TO selopt.
    PBO
    AT SELECTION-SCREEN OUTPUT.
      IF w_active IS INITIAL.
        CLEAR: selcnt.
      ELSE.
        WRITE w_active TO selcnt LEFT-JUSTIFIED.
      ENDIF.
    PAI
    AT SELECTION-SCREEN.
      IF p_table NE is_x030l-tabname.
        CALL FUNCTION 'DDIF_NAMETAB_GET'
             EXPORTING
                  tabname   = p_table
             IMPORTING
                  x030l_wa  = is_x030l
             TABLES
                  dfies_tab = it_dfies
             EXCEPTIONS
                  OTHERS    = 1.
        IF is_x030l IS INITIAL.
          table_error 'does not exist or is not active'.
        ELSEIF is_x030l-tabtype NE 'T'.
          table_error 'is not selectable'.
        ELSEIF is_x030l-align NE 0.
          table_error 'has alignment - cannot continue'.
        ENDIF.
      Default values for system fields
        REFRESH: it_fdiff.
        is_fdiff-tabname = p_table.
        LOOP AT it_dfies INTO is_dfies.
          IF is_dfies-datatype = 'CLNT'.
            fixed_val sy-mandt.
          ELSEIF is_dfies-rollname = 'ERDAT'
              OR is_dfies-rollname = 'ERSDA'
              OR is_dfies-rollname = 'AEDAT'
              OR is_dfies-rollname = 'LAEDA'.
            fixed_val sy-datum.
          ELSEIF is_dfies-rollname = 'ERTIM'
              OR is_dfies-rollname = 'AETIM'.
            fixed_val sy-uzeit.
          ELSEIF is_dfies-rollname = 'ERNAM'
              OR is_dfies-rollname = 'AENAM'.
            fixed_val sy-uname.
          ENDIF.
        ENDLOOP.
      Prepare free selection on table
        REFRESH it_tables.
        is_tables-prim_tab = p_table.
        APPEND is_tables TO it_tables.
        CLEAR: w_selid.
      ENDIF.
      IF sy-ucomm = 'SEL'.
        IF w_selid IS INITIAL.
        Init free selection dialog
          CALL FUNCTION 'FREE_SELECTIONS_INIT'
               EXPORTING
                    expressions  = it_expr
               IMPORTING
                    selection_id = w_selid
                    expressions  = it_expr
               TABLES
                    tables_tab   = it_tables
               EXCEPTIONS
                    OTHERS       = 1.
        ENDIF.
      Display free selection dialog
        CALL FUNCTION 'FREE_SELECTIONS_DIALOG'
             EXPORTING
                  selection_id            = w_selid
                  title                   = 'Selection'
                  status                  = 1
                  as_window               = 'X'
             IMPORTING
                  expressions             = it_expr
                  field_ranges            = it_ranges
                  number_of_active_fields = w_active
             TABLES
                  fields_tab              = it_fields
             EXCEPTIONS
                  OTHERS                  = 1.
      ENDIF.
    Start of processing
    START-OF-SELECTION.
      PERFORM f_create_table USING p_table.
      PERFORM f_select_table.
      PERFORM f_display_table.
          FORM f_create_table                                           *
    FORM f_create_table USING in_tabname.
      FIELD-SYMBOLS: <fcat> TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
           EXPORTING
                i_structure_name = in_tabname
           CHANGING
                ct_fieldcat      = it_fcat
           EXCEPTIONS
                OTHERS           = 1.
      IF sy-subrc = 0.
      Complete field catalog
        LOOP AT it_fcat ASSIGNING <fcat>.
          <fcat>-tabname = in_tabname.
        ENDLOOP.
        CALL FUNCTION 'LVC_FIELDCAT_COMPLETE'
             CHANGING
                  ct_fieldcat = it_fcat
             EXCEPTIONS
                  OTHERS      = 1.
      ELSE.
        WRITE: 'Error building field catalog'.
        STOP.
      ENDIF.
    Create dynamic table for data
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = it_fcat
        IMPORTING
          ep_table        = it_content.
      IF sy-subrc = 0.
        ASSIGN it_content->* TO <itab>.
      ELSE.
        WRITE: 'Error creating internal table'.
        STOP.
      ENDIF.
    Create dynamic table for modif
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = it_fcat
        IMPORTING
          ep_table        = it_modif.
      IF sy-subrc = 0.
        ASSIGN it_modif->* TO <ntab>.
      ELSE.
        WRITE: 'Error creating internal table'.
        STOP.
      ENDIF.
    ENDFORM.
          FORM f_select_table                                           *
    FORM f_select_table.
      IF w_active = 0.
        SELECT * FROM (p_table)
                 INTO CORRESPONDING FIELDS OF TABLE <itab>
                UP TO p_rows ROWS.
      ELSE.
      Selection with parameters
        CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_WHERE'
             EXPORTING
                  field_ranges  = it_ranges
             IMPORTING
                  where_clauses = it_where.
        READ TABLE it_where INTO is_where WITH KEY tablename = p_table.
        SELECT * FROM (p_table)
                 INTO CORRESPONDING FIELDS OF TABLE <itab>
                UP TO p_rows ROWS
                WHERE (is_where-where_tab).
      ENDIF.
      IF sy-dbcnt = 0.
        WRITE: 'No record selected'.
        STOP.
      ENDIF.
    ENDFORM.
          FORM f_display_table                                          *
    FORM f_display_table.
      DATA: l_answer TYPE c,
            l_eflag  TYPE c.
      CLEAR: w_okcode.
      REFRESH: <ntab>.
    Display table contents
      CALL FUNCTION 'STC1_FULLSCREEN_TABLE_CONTROL'
           EXPORTING
                header       = p_table
                tabname      = p_table
                display_only = p_displ
                endless      = 'X'
                no_button    = space
           IMPORTING
                okcode       = w_okcode
           TABLES
                nametab      = it_dfies
                table        = <itab>
                fielddif     = it_fdiff
                modif_table  = <ntab>
           EXCEPTIONS
                OTHERS       = 1.
      IF sy-subrc = 0.
        IF p_displ IS INITIAL AND w_okcode = 'SAVE'.
        Confirm update
          CALL FUNCTION 'POPUP_TO_CONFIRM'
               EXPORTING
                    titlebar              = p_table
                    text_question         = 'Do you want to update table ?'
                    default_button        = '2'
                    display_cancel_button = ' '
               IMPORTING
                    answer                = l_answer
               EXCEPTIONS
                    OTHERS                = 1.
          IF l_answer = '1'.
          Apply modifications
            IF NOT <ntab>[] IS INITIAL.
              PERFORM f_add_system USING space.
              MODIFY (p_table) FROM TABLE <ntab>.
              IF sy-subrc NE 0.
                l_eflag = 'X'.
              ENDIF.
            ENDIF.
          Apply deletions
            IF l_eflag IS INITIAL.
              REFRESH: <ntab>.
              CALL FUNCTION 'STC1_GET_DATA'
                   TABLES
                        deleted_data = <ntab>
                   EXCEPTIONS
                        OTHERS       = 1.
              IF NOT <ntab>[] IS INITIAL.
                DELETE (p_table) FROM TABLE <ntab>.
                IF sy-subrc NE 0.
                  ROLLBACK WORK.
                  l_eflag = 'X'.
                ENDIF.
              ENDIF.
            ENDIF.
          Apply creations
            IF l_eflag IS INITIAL.
              REFRESH: <ntab>.
              CALL FUNCTION 'STC1_GET_DATA'
                   TABLES
                        new_data = <ntab>
                   EXCEPTIONS
                        OTHERS   = 1.
              IF NOT <ntab>[] IS INITIAL.
                PERFORM f_add_system USING 'X'.
                INSERT (p_table) FROM TABLE <ntab>.
                IF sy-subrc NE 0.
                  ROLLBACK WORK.
                  l_eflag = 'X'.
                ENDIF.
              ENDIF.
            ENDIF.
            IF l_eflag IS INITIAL.
              COMMIT WORK.
              MESSAGE s261(53).
            ELSE.
              MESSAGE s075(3i).
              PERFORM f_select_table.
            ENDIF.
          ENDIF.
        Display table again
          PERFORM f_display_table.
        ENDIF.
      ENDIF.
    ENDFORM.
          FORM f_add_system                                             *
    FORM f_add_system USING new TYPE c.
      FIELD-SYMBOLS: <irec> TYPE ANY,
                     <upd>  TYPE ANY.
      LOOP AT it_fdiff INTO is_fdiff.
        READ TABLE it_dfies INTO is_dfies
                        WITH KEY fieldname = is_fdiff-fieldname.
        LOOP AT <ntab> ASSIGNING <irec>.
          ASSIGN COMPONENT is_fdiff-fieldname OF STRUCTURE <irec> TO <upd>.
          IF is_dfies-datatype = 'CLNT'.
            <upd> = sy-mandt.
          ELSE.
            CASE is_dfies-rollname.
              WHEN 'AENAM'.
                <upd> = sy-uname.
              WHEN 'AEDAT' OR 'LAEDA'.
                <upd> = sy-datum.
              WHEN 'AETIM'.
                <upd> = sy-uzeit.
              WHEN OTHERS.
            ENDCASE.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    ENDFORM.
    Regards,
    Joy.

  • Create Table Control using Dynamic Internal Table.

    Hi,
       I have requirement in which I will create a Dynamic Internal Table and then I need to create a Table Control Using that Internal Table. Now this can't be done using Screen Editor as it requires a pre-defined internal table or a DDIC Object.
      Please Help.

    This should be correct answer(I am not author of code below):
    REPORT ztablemaintace NO STANDARD PAGE HEADING.
    TYPE-POOLS: rsds.
    DATA: is_x030l TYPE x030l,
    it_dfies TYPE TABLE OF dfies,
    is_dfies TYPE dfies,
    it_fdiff TYPE TABLE OF field_dif,
    is_fdiff TYPE field_dif.
    DATA: w_selid TYPE rsdynsel-selid,
    it_tables TYPE TABLE OF rsdstabs,
    is_tables TYPE rsdstabs,
    it_fields TYPE TABLE OF rsdsfields,
    it_expr TYPE rsds_texpr,
    it_ranges TYPE rsds_trange,
    it_where TYPE rsds_twhere,
    is_where TYPE rsds_where,
    w_active TYPE i.
    DATA: it_content TYPE REF TO data,
    it_modif TYPE REF TO data,
    it_fcat TYPE lvc_t_fcat.
    DATA: w_okcode TYPE sy-ucomm.
    FIELD-SYMBOLS: <itab> TYPE STANDARD TABLE,
    <ntab> TYPE STANDARD TABLE.
    * Macros
    DEFINE table_error.
      message e398(00) with 'Table' p_table &1.
    END-OF-DEFINITION.
    DEFINE fixed_val.
      is_fdiff-fieldname = is_dfies-fieldname.
      is_fdiff-fixed_val = &1.
      is_fdiff-no_input = 'X'.
      append is_fdiff to it_fdiff.
    END-OF-DEFINITION.
    * Selection screen
    SELECTION-SCREEN: BEGIN OF BLOCK b01 WITH FRAME.
    PARAMETERS: p_table TYPE tabname OBLIGATORY "table
    MEMORY ID dtb
    MATCHCODE OBJECT dd_dbtb_16.
    SELECTION-SCREEN: BEGIN OF LINE,
    PUSHBUTTON 33(20) selopt USER-COMMAND sel,
    COMMENT 55(15) selcnt,
    END OF LINE.
    SELECTION-SCREEN: SKIP.
    PARAMETERS: p_rows TYPE i. "rows
    SELECTION-SCREEN: END OF BLOCK b01,
    SKIP,
    BEGIN OF BLOCK b02 WITH FRAME.
    PARAMETERS: p_displ TYPE c AS CHECKBOX. "display
    SELECTION-SCREEN: END OF BLOCK b02.
    * Initialization
    INITIALIZATION.
      MOVE '@4G@ Filter records' TO selopt.
    * PBO
    AT SELECTION-SCREEN OUTPUT.
      IF w_active IS INITIAL.
        CLEAR: selcnt.
      ELSE.
        WRITE w_active TO selcnt LEFT-JUSTIFIED.
      ENDIF.
    * PAI
    AT SELECTION-SCREEN.
      IF p_table NE is_x030l-tabname.
        CALL FUNCTION 'DDIF_NAMETAB_GET'
          EXPORTING
            tabname   = p_table
          IMPORTING
            x030l_wa  = is_x030l
          TABLES
            dfies_tab = it_dfies
          EXCEPTIONS
            OTHERS    = 1.
        IF is_x030l IS INITIAL.
          table_error 'does not exist or is not active'.
        ELSEIF is_x030l-tabtype NE 'T'.
          table_error 'is not selectable'.
    *    ELSEIF is_x030l-align NE 0.
    *      table_error 'has alignment - cannot continue'.
        ENDIF.
    * Default values for system fields
        REFRESH: it_fdiff.
        is_fdiff-tabname = p_table.
        LOOP AT it_dfies INTO is_dfies.
          IF is_dfies-datatype = 'CLNT'.
            fixed_val sy-mandt.
          ELSEIF is_dfies-rollname = 'ERDAT'
          OR is_dfies-rollname = 'ERSDA'
          OR is_dfies-rollname = 'AEDAT'
          OR is_dfies-rollname = 'LAEDA'.
            fixed_val sy-datum.
          ELSEIF is_dfies-rollname = 'ERTIM'
          OR is_dfies-rollname = 'AETIM'.
            fixed_val sy-uzeit.
          ELSEIF is_dfies-rollname = 'ERNAM'
          OR is_dfies-rollname = 'AENAM'.
            fixed_val sy-uname.
          ENDIF.
          CALL FUNCTION '/SAPDMC/DATAELEMENT_GET_TEXTS'
            EXPORTING
              name        = is_dfies-rollname
            IMPORTING
              text_middle = is_dfies-reptext
            EXCEPTIONS
              not_found   = 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.
          MODIFY it_dfies FROM is_dfies.
      ENDLOOP.
    * Prepare free selection on table
      REFRESH it_tables.
      is_tables-prim_tab = p_table.
      APPEND is_tables TO it_tables.
      CLEAR: w_selid.
    ENDIF.
    IF sy-ucomm = 'SEL'.
      IF w_selid IS INITIAL.
    * Init free selection dialog
        CALL FUNCTION 'FREE_SELECTIONS_INIT'
          EXPORTING
            expressions  = it_expr
          IMPORTING
            selection_id = w_selid
            expressions  = it_expr
          TABLES
            tables_tab   = it_tables
          EXCEPTIONS
            OTHERS       = 1.
      ENDIF.
    * Display free selection dialog
      CALL FUNCTION 'FREE_SELECTIONS_DIALOG'
        EXPORTING
          selection_id            = w_selid
          title                   = 'Selection'
          status                  = 1
          as_window               = 'X'
        IMPORTING
          expressions             = it_expr
          field_ranges            = it_ranges
          number_of_active_fields = w_active
        TABLES
          fields_tab              = it_fields
        EXCEPTIONS
          OTHERS                  = 1.
    ENDIF.
    * Start of processing
    START-OF-SELECTION.
      PERFORM f_create_table USING p_table.
      PERFORM f_select_table.
      PERFORM f_display_table.
    * FORM f_create_table *
    FORM f_create_table USING in_tabname.
      FIELD-SYMBOLS: <fcat> TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name = in_tabname
        CHANGING
          ct_fieldcat      = it_fcat
        EXCEPTIONS
          OTHERS           = 1.
      IF sy-subrc = 0.
    *   Complete field catalog
        LOOP AT it_fcat ASSIGNING <fcat>.
          <fcat>-tabname = in_tabname.
        ENDLOOP.
        CALL FUNCTION 'LVC_FIELDCAT_COMPLETE'
          CHANGING
            ct_fieldcat = it_fcat
          EXCEPTIONS
            OTHERS      = 1.
      ELSE.
        WRITE: 'Error building field catalog'.
        STOP.
      ENDIF.
    * Create dynamic table for data
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = it_fcat
        IMPORTING
          ep_table        = it_content.
      IF sy-subrc = 0.
        ASSIGN it_content->* TO <itab>.
      ELSE.
        WRITE: 'Error creating internal table'.
        STOP.
      ENDIF.
    * Create dynamic table for modif
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = it_fcat
        IMPORTING
          ep_table        = it_modif.
      IF sy-subrc = 0.
        ASSIGN it_modif->* TO <ntab>.
      ELSE.
        WRITE: 'Error creating internal table'.
        STOP.
      ENDIF.
    ENDFORM.                    "f_create_table
    * FORM f_select_table *
    FORM f_select_table.
      IF w_active = 0.
        SELECT * FROM (p_table)
        INTO CORRESPONDING FIELDS OF TABLE <itab>
        UP TO p_rows ROWS.
      ELSE.
    * Selection with parameters
        CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_WHERE'
          EXPORTING
            field_ranges  = it_ranges
          IMPORTING
            where_clauses = it_where.
        READ TABLE it_where INTO is_where WITH KEY tablename = p_table.
        SELECT * FROM (p_table)
        INTO CORRESPONDING FIELDS OF TABLE <itab>
        UP TO p_rows ROWS
        WHERE (is_where-where_tab).
      ENDIF.
      IF sy-dbcnt = 0.
        WRITE: 'No record selected'.
        STOP.
      ENDIF.
    ENDFORM.                    "f_select_table
    * FORM f_display_table *
    FORM f_display_table.
      DATA: l_answer TYPE c,
      l_eflag TYPE c.
      CLEAR: w_okcode.
      REFRESH: <ntab>.
    * Display table contents
      CALL FUNCTION 'STC1_FULLSCREEN_TABLE_CONTROL'
        EXPORTING
          header       = p_table
          tabname      = p_table
          display_only = p_displ
          endless      = 'X'
          no_button    = space
        IMPORTING
          okcode       = w_okcode
        TABLES
    *      nametab      = it_dfies
          table        = <itab>
    *      fielddif     = it_fdiff
          modif_table  = <ntab>
        EXCEPTIONS
          OTHERS       = 1.
      IF sy-subrc = 0.
        IF p_displ IS INITIAL AND w_okcode = 'SAVE'.
    * Confirm update
          CALL FUNCTION 'POPUP_TO_CONFIRM'
            EXPORTING
              titlebar              = p_table
              text_question         = 'Do you want to update table ?'
              default_button        = '2'
              display_cancel_button = ' '
            IMPORTING
              answer                = l_answer
            EXCEPTIONS
              OTHERS                = 1.
          IF l_answer = '1'.
    * Apply modifications
            IF NOT <ntab>[] IS INITIAL.
              PERFORM f_add_system USING space.
              MODIFY (p_table) FROM TABLE <ntab>.
              IF sy-subrc NE 0.
                l_eflag = 'X'.
              ENDIF.
            ENDIF.
    * Apply deletions
            IF l_eflag IS INITIAL.
              REFRESH: <ntab>.
              CALL FUNCTION 'STC1_GET_DATA'
                TABLES
                  deleted_data = <ntab>
                EXCEPTIONS
                  OTHERS       = 1.
              IF NOT <ntab>[] IS INITIAL.
                DELETE (p_table) FROM TABLE <ntab>.
                IF sy-subrc NE 0.
                  ROLLBACK WORK.
                  l_eflag = 'X'.
                ENDIF.
              ENDIF.
            ENDIF.
    * Apply creations
            IF l_eflag IS INITIAL.
              REFRESH: <ntab>.
              CALL FUNCTION 'STC1_GET_DATA'
                TABLES
                  new_data = <ntab>
                EXCEPTIONS
                  OTHERS   = 1.
              IF NOT <ntab>[] IS INITIAL.
                PERFORM f_add_system USING 'X'.
                INSERT (p_table) FROM TABLE <ntab>.
                IF sy-subrc NE 0.
                  ROLLBACK WORK.
                  l_eflag = 'X'.
                ENDIF.
              ENDIF.
            ENDIF.
            IF l_eflag IS INITIAL.
              COMMIT WORK.
              MESSAGE s261(53).
            ELSE.
              MESSAGE s075(3i).
              PERFORM f_select_table.
            ENDIF.
          ENDIF.
    * Display table again
          PERFORM f_display_table.
        ENDIF.
      ENDIF.
    ENDFORM.                    "f_display_table
    * FORM f_add_system *
    FORM f_add_system USING new TYPE c.
      FIELD-SYMBOLS: <irec> TYPE ANY,
      <upd> TYPE ANY.
      LOOP AT it_fdiff INTO is_fdiff.
        READ TABLE it_dfies INTO is_dfies
        WITH KEY fieldname = is_fdiff-fieldname.
        LOOP AT <ntab> ASSIGNING <irec>.
          ASSIGN COMPONENT is_fdiff-fieldname OF STRUCTURE <irec> TO <upd>.
          IF is_dfies-datatype = 'CLNT'.
            <upd> = sy-mandt.
          ELSE.
            CASE is_dfies-rollname.
              WHEN 'AENAM'.
                <upd> = sy-uname.
              WHEN 'AEDAT' OR 'LAEDA'.
                <upd> = sy-datum.
              WHEN 'AETIM'.
                <upd> = sy-uzeit.
              WHEN OTHERS.
            ENDCASE.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    ENDFORM.                    "f_add_system

  • Displaying XML in WebView...

    Hi,
    Quick question...I have an url to an XML with no associated style...webview just display's this as wrapped text. How can I get webview to display it as a document tree (like in IE and Chrome)?
    example url...
    http://datamarket.com/api/v1/information.xml?ds=173b
    Nuwanda

    This is a JavaFX CodeMirror based syntax highlighting code editor for Java: https://gist.github.com/1463485
    You could modify it to display syntax highlighted xml.
    By changing the template used from the Java template to an xml template then you would get output such as this: http://codemirror.net/mode/xml/index.html
    As you don't need all of the editing capabilities, you could disable the editing functions.
    You could place a listener on the webEngine's document property to know when a document had been loaded, somehow detect the content as xml (maybe from file extension, file content or mime type) and apply modifications to the dom to apply your modified CodeMirror html template to get xml formatting on the document.
    Alternately, but probably less palatably from a development standpoint, by adding your own url handler you could trap the content sent over the wire, then make the appropriate tranformations to the content to get formatted output from your url handler by having the url handler function as a transforming filter.
    Or you could trap the content by monitoring the document property as noted above and when you have xml, layer a stackpane over the webview and dump the xml content into an expanded JavaFX TreeView node.

  • Lightroom workflow slows down after modifying an image

    Hi fellow users,
    Lightroom 4.3 runs smoothly if I work on unmodified images.
    However, if I apply modifications on an image, retouching it afterwards becomes much slower, even if I render a preview AFTER I made modifications on the image.
    I tell you an example: I import a raw file to the program and I render it`s preview. Then I retouch the image - it works very fast, no waiting time, no Loading overlay.
    Where the problem starts: I import a raw file, I apply some modifications on it (for example a preset), then I render it`s preview - then I want to do more modifications on the image, which becomes very slow.
    I was monitoring the cpu usage of the computer. In the first case, the cpu usage during modifying the image is normal.
    In the second case, it goes up to 100%.
    It seems that applying modifications on an image makes working on it slow, no matter if you have the most up-to-date preview or not.
    Anyone knows if it is normal or not?
    Is there any solution to this?
    Thanks,
    Tamas
    My configuration:
    Windows 7 64 bit (up to date)
    Lightroom 4.3 64 bit
    Fast PC
    lightroom settings:
    camera raw cache: 20gb
    video cache: 10gb

    First of all, you can forget about the preview rendering, that's irrelevant. Previews are only used by the Library module, not the Develop module. In Develop, it's handled by the ACR cache.
    Now, as for slowing down after initial adjustments, that's a variable I haven't looked out for. But it could well be correct (it would explain some weird results I got across two machines recently).
    In general, Lightroom 4 performs well below expected standards on some systems, while others fly along, and it seems nobody can explain why. Long story, do a search on this forum and you'll come up with several lengthy threads. The problem is that there are so many variables in this that it's almost impossible to even define what "slow" means. And now you've added another (interesting) one...

Maybe you are looking for

  • Path in non-login shells

    I just installed using the 0.7-beta cd.  When running X i noticed that my path for non-login shells only includes :/bin:/usr/bin:/usr/X11R6/bin:/usr/ucb This really confuses me :? EDIT: nevermind, it seems to be fixed now.  Logging out hadnt fixed an

  • Updating Read-Only Field

    All, We have some read-only fields (configured @ the page layout settings) in OnDemand edit form As per the business rule, the values for these fields has to be set externally using a weblink in the same form We are able set back the externally selec

  • Can I create streams on data guard?

    I just want to know can streams source database is physical standby or logical standby? 11g r2 thanks Edited by: user482784 on 2011-2-26 下午6:25

  • Bug : Illustrator won't launch

    Hi, When lauching illustrator i have a windo saying : "Impossible to define the maximum number of files to open" (in french : "Impossible de définir le nombre maximal de fichiers à ouvrir"), then i click "Ok" and illustrator is shut down ! Any idea ?

  • Iphone restore Fail

    Ok, I need to restore my iphone. Ive tried restoring it ALOT. is there a nother way i can get it back and running up?