For all users having probs with OO ALV Grid

I wanted to put this in the WIKI but it keeps bombing out when I try and save so I've put this here -- Maybe a MOD can move it for me.
This generic class should give you far more insite into using an EDITABLE ALV table than the standard documentation.
If you follow the steps you should be able to code very quickly a decent useable ALV OO program which can retrieve and manipulate data very easily.  The events are (hopefully) well documented as are all the steps.
Once you understand the basics you can add more functionality like colouring Cells, adding hyperlinks etc etc.
I've always found that stupid SEAT / AIRLINE application SAP uses for its examples far too overblown and in reality who would ever use a SAP system for Airline reservations anyway.
The class here describes a much simpler application which CLEARLY (I hope) explains how the whole thing works.
Jimbo's generic class for using the OO ALV GRID Class CL_GUI_ALV_GRID
from an application program to display and manipulate ANY table
with minimal coding needed in the Calling application program.
Handles the following EVENTS
1) TOOLBAR BUTTONS
(you can add more to the toolbar method
  if you need even more functionality).
2) DOUBLE CLICK
3) ENTER KEY PRESSED
4) DATA CHANGED
5) DATA CHANGED FINISHED
Methods available
PUBLIC METHODS  ( Can be called directly from the application program).
1) display_grid  displays grid with toolbar
   Table and FCAT are built dynamically - user only needs to
   define the table structure (can be DDIC or User fields)
2) change_title  - changes title at the top of the Grid
3) refresh_grid   - refreshes grid after table updated etc.
4) build_dynamic_structures - this method creates a dynamic table and a dynamic FCAT
   using the structure defined in the calling application program
PRIVATE METHODS (Internal Methods used within the class)
1) verwerk - returns to FORM VERWERK in calling application program
   (Via Toolbar). The application program can then do any special processing
   at this point e.g update SAP tables etc.
2) download_to_excel (via Toolbar). This creates an EXCEL spreadsheet
   directly which can be downloaded / saved to a file if required,
3) return_structure - internal method returns the structure
   of the table defined in the calling application program. This is needed in order
   to build the dynamic table and Field Catalog.
4) create_dynamic_table  - creates a dynamic table from the structure defined in
   the calling application program
5) create_dynamic_fcat  - creates the dynamic field catalog from the structure
   defined in the application program.
6) dubbleklik entered when user double clicks a cell
activated by EVENT DOUBLE_CLICK.
returns to FORM DUBBELKLIK  in the
calling application program
   COOKBOOK STEP BY STEP instructions on how to use this class
   in your application program.
   In the application program :
1) define a blank screen 100  - SE51 with a custom container
   on it called CCONTAINER1.
   you need the following logic in the screen
   The PAI is only used if you have defined a STATUS with SE41 and you exit the
   application program via the standard SAP buttons on the
   top of the Screen (NOT the GRID toolbar).
     PROCESS BEFORE OUTPUT.
      MODULE STATUS_0100.
     PROCESS AFTER INPUT.
     MODULE USER_COMMAND_0100.
2) (optional) define a STATUS with a titlebar - SE41
   you only need this if you want the standard EXIT and menu buttons on the
   top line of the screen
3) If you want to have your OWN colum names on the grid
   add the following macro to the start of your program
     DEFINE col_name.
     read  table it_fldcat into  wa_it_fldcat index &1.
     wa_it_fldcat-coltext = &2.
     modify it_fldcat from wa_it_fldcat index &1.
     END-OF-DEFINITION.
4) Define the following Field symbols
   <fs1>           TYPE  ANY,
   <fs2>           TYPE  STANDARD TABLE,
   <fs3>           TYPE ANY,
   <field_catalog> TYPE STANDARD TABLE,
   <dyn_table>    TYPE  STANDARD TABLE,
   <orig_table>   TYPE  STANDARD TABLE,
   <dyn_field>,
   <dyn_wa>.
5) After the field-symbols add the code in this class
    as an INCLUDE
    e.g INCLUDE ZZJIMBOXX_INCL.
6) define your Internal table as follows
    TYPES:  BEGIN OF s_elements,
              Your structure
            your structure etc.
            END OF  s_elements.
For example
INCLUDE  <icon>.
TABLES: VAPMA.
*TYPES:  BEGIN OF s_elements,
vbeln   TYPE vapma-vbeln,
posnr   TYPE vapma-posnr,
matnr   TYPE vapma-matnr,
kunnr   TYPE vapma-kunnr,
werks   TYPE vapma-werks,
vkorg   TYPE vapma-vkorg,
vkbur   TYPE vapma-vkbur,
status  TYPE c,
*END OF  s_elements.
7) Define the following data  IN YOUR APPLICATION PROGRAM
   (note here only data is described
   that relates to using THIS CLASS. Data purely used internally
   in the application program is NOT shown here).
DATA: z_object          TYPE REF TO zcl_dog,  "Instantiate our class
      grid_container1    TYPE REF TO cl_gui_custom_container,
      t_elements         TYPE TABLE OF s_elements, "refers to our ITAB
      wa_elements        TYPE s_elements,
      wa_dyn_table_line  TYPE REF TO DATA,
      it_fldcat          TYPE lvc_t_fcat,
      i_gridtitle        TYPE lvc_title,
      wa_it_fldcat       TYPE lvc_s_fcat,
      new_table          TYPE REF TO DATA,
      dy_table           TYPE REF TO data,
      dy_line            TYPE REF TO data,
      row_id             TYPE sy-index.
8) insert the following code at the start of the application program.
*START-OF-SELECTION.
*CALL SCREEN 100.
*END-OF-SELECTION.
*MODULE status_0100 OUTPUT.
*ASSIGN  wa_elements TO <fs1>.
*CREATE OBJECT z_object EXPORTING z_object = z_object. "Instantiate the class
*CALL METHOD z_object->build_dynamic_structures
       CHANGING it_fldcat = it_fldcat.
9) if you inserted the macro in step 3) then
   define your own column names as follws
  col_name 1 'Name1'.
  col_name 2 'Name2'.
  etc. The number is the colum number you want and the name is
  the name you want to assign to the column.
for example using the table shown above
  col_name 1 'Order Nr'.
  col_name 2 'Item'.
  col_name 3 'Material'.
  col_name 4 'Customer'.
  col_name 5 'Plant'.
  col_name 6 'Sales Org'.
  col_name 7 'Sales Office'.
  col_name 8 'Status'.
10)  perform a routine that fills your dynamic table and
     display the GRID. If you created a status with SE41 you can set
     a title etc. Further processing is dependent on the users action
     after the GRID is displayed for example if a Cell is double clicked,
     dat is entered, a toolbar button is pressed or a SAP ICON on top of the screen is pressed.
PERFORM populate_dynamic_itab.
CALL METHOD z_object->display_grid
      CHANGING it_fldcat = it_fldcat.
SET PF-STATUS '0001'.
SET TITLEBAR '000'.
ENDMODULE.
11) If you added a STATUS via SE41 you can exit the program via the
standard SAP buttons at the top of the screen
otherwise exit via the exit button on the toolbar.
You only need this piece of code if you defined a STATUS in the application program
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
   WHEN 'BACK'.
     LEAVE PROGRAM.
   WHEN 'EXIT'.
     LEAVE PROGRAM.
   WHEN 'RETURN'.
     LEAVE PROGRAM.
   WHEN OTHERS.
ENDCASE.
12)  to populate the dynamic table you only need to code something like this
remember the class has already created and structured the field-symbol <dyn_table>
so you don't have to do anything other than just select the fields you want
filled and from what data source(es).
*FORM populate_dynamic_itab.
*SELECT vbeln posnr matnr kunnr werks vkorg vkbur
      UP TO 200 rows
      FROM vapma
      INTO  CORRESPONDING FIELDS OF TABLE <dyn_table>.
if you want to keep the original table before making any changes etc code
the following
create 2nd Dyn table to hold original data. We can use
the same field catalog as for the original table
as we are just creating an identical copy here.
*CALL METHOD cl_alv_table_create=>create_dynamic_table
   EXPORTING
        it_fieldcatalog = it_fldcat
     IMPORTING
        ep_table = dy_table.
  ASSIGN dy_table->* TO <orig_table>.
CREATE DATA dy_line LIKE LINE OF <orig_table>.
ASSIGN dy_line->* TO <dyn_wa>.
<orig_table> = <dyn_table>.
ENDFORM.
13) you need these 2 processing routines in your application program.
FORM VERWERK.  "Entered from VERW on toolbar
*break-point 1.
Orig table is in dynamic table <orig_table>
ALV GRID changed table is in <dyn_table>.
*Loop at <orig_table>  into <dyn_wa>.
  Do what you want here
end
endloop.
ENDFORM.
*form dubbleklik using     "Entered when a cell is double clicked
       e_row   type LVC_S_ROW
       e_column type LVC_S_col
       es_row_no type lvc_s_roid.
       break-point 1.
Get Row id into a variable for this program.
       row_id =  e_row.
        SET TITLEBAR '001'.      "If you defined a status in SE41
       i_gridtitle = 'Grid Title Changed'.
       CALL METHOD  z_object->change_title
         EXPORTING i_gridtitle = i_gridtitle.
       PERFORM refresh.
endform.
The REFRESH routine is optional but after a double click I assume
you want to do some processing
and re-display the data
so as a sample code something like
*FORM refresh.
data: ord_nr  TYPE vapma-vbeln.  "Your data
*READ TABLE  <dyn_table> index row_id into wa_elements.
   ord_nr = wa_elements-vbeln.
You've now got the Row double clicked so pick out the data element(s)
you wnat to process and do your processing
*set parameter id 'AUN'  field ord_nr.
*CALL TRANSACTION  'VA02' AND SKIP FIRST SCREEN.
You can update the dynamic table for example
*wa_elements-status = 'C'.
*modify <dyn_table> from wa_elements index row_id.
now redisplay the updated grid.
*CALL METHOD z_object->refresh_grid.
*ENDFORM.
*************Class ZCL_DOG*************
CLASS zcl_dog DEFINITION.
PUBLIC SECTION.
METHODS:
  constructor
     IMPORTING
                  z_object TYPE REF TO zcl_dog,
   display_grid
     CHANGING
                  it_fldcat TYPE lvc_t_fcat,
       build_dynamic_structures
     CHANGING        it_fldcat TYPE lvc_t_fcat,
    change_title
     IMPORTING
            i_gridtitle  TYPE lvc_title,
     refresh_grid.
  PRIVATE SECTION.
   METHODS:
    on_user_command FOR EVENT before_user_command OF cl_gui_alv_grid
      IMPORTING       e_ucomm
                      sender,
    on_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
      IMPORTING      e_object
                     e_interactive,
     on_dubbelklik FOR EVENT double_click OF cl_gui_alv_grid
      IMPORTING e_row
                e_column
                es_row_no,
    handle_data_changed
             FOR EVENT data_changed OF cl_gui_alv_grid
             IMPORTING er_data_changed,
    handle_data_changed_finished
             FOR EVENT data_changed_finished OF cl_gui_alv_grid
             IMPORTING e_modified
                       et_good_cells,
    verwerk
            IMPORTING program TYPE sy-repid,
    download_to_excel,
    dubbleklik
            IMPORTING
                 e_row  type  LVC_S_ROW
                 e_column   TYPE LVC_S_COL
                 es_row_no  type lvc_s_ROID
                 program type sy-repid,
     return_structure,
     create_dynamic_fcat
      EXPORTING       it_fldcat TYPE lvc_t_fcat,
      create_dynamic_table
      IMPORTING       it_fldcat TYPE lvc_t_fcat
      EXPORTING       dy_table  TYPE REF TO DATA.
DATA:
    lr_rtti_struc    TYPE REF TO cl_abap_structdescr,        "RTTI
    zog              LIKE LINE OF lr_rtti_struc->components, "RTTI
    wa_it_fldcat     TYPE lvc_s_fcat,
    it_fldcat        TYPE lvc_t_fcat,
    dy_table         TYPE REF TO data,
    dy_line          TYPE REF TO data,
    struct_grid_lset TYPE lvc_s_layo,
    e_row            TYPE LVC_S_ROW,
    e_column         TYPE lvc_s_col,
    es_rowid         TYPE lvc_s_roid,
    grid_container1  TYPE REF TO cl_gui_custom_container,
    grid1            TYPE REF TO cl_gui_alv_grid,
    ls_layout        TYPE kkblo_layout,
    lt_fieldcat_wa   TYPE kkblo_fieldcat,
    l_mode           TYPE raw4,
    celltab          TYPE LVC_T_STYL,
    wa_celltab       TYPE lvc_s_styl,
    lt_fieldcat      TYPE kkblo_t_fieldcat,
   l_tabname         TYPE slis_tabname.
TYPES:
   struc            LIKE  zog.
DATA:
    zogt           TYPE TABLE OF struc.
   ENDCLASS.
CLASS zcl_dog IMPLEMENTATION.
METHOD constructor.
   CREATE OBJECT grid_container1
       EXPORTING
               container_name = 'CCONTAINER1'.
    CREATE OBJECT  grid1
        EXPORTING
              i_parent = grid_container1.
    SET HANDLER z_object->on_user_command for grid1.
    SET HANDLER z_object->on_toolbar for grid1.
    SET HANDLER Z_OBJECT->handle_data_changed_finished FOR grid1.
    SET HANDLER Z_OBJECT->on_dubbelklik FOR grid1.
    CALL METHOD grid1->register_edit_event
        EXPORTING
                i_event_id = cl_gui_alv_grid=>mc_evt_enter.
ENDMETHOD.
METHOD refresh_grid.
  CALL METHOD cl_gui_cfw=>flush.
  CALL METHOD grid1->refresh_table_display.
ENDMETHOD.
METHOD on_dubbelklik.
CALL METHOD me->dubbleklik
         EXPORTING
                 e_row  = e_row
                 e_column =  e_column
                 es_row_no = es_row_no
                 program  = sy-repid.
break-point 1.
ENDMETHOD.
METHOD  handle_data_changed.
Insert user code here if required
this method is entered if user ENTERS DATA.
ENDMETHOD.
METHOD handle_data_changed_finished.
Insert user code here if required
Method entered here after data entry has finished.
ENDMETHOD.
METHOD return_structure.
  lr_rtti_struc ?= cl_abap_structdescr=>DESCRIBE_BY_DATA( <fs1> ).
  zogt[]  = lr_rtti_struc->components.
  ASSIGN zogt[] TO <fs2>.
  ENDMETHOD.
METHOD create_dynamic_fcat.
    LOOP AT <fs2>  INTO zog.
      CLEAR wa_it_fldcat.
      wa_it_fldcat-fieldname = zog-name .
      wa_it_fldcat-datatype = zog-type_kind.
      wa_it_fldcat-inttype = zog-type_kind.
      wa_it_fldcat-intlen = zog-length.
      wa_it_fldcat-decimals = zog-decimals.
      wa_it_fldcat-coltext = zog-name.
      wa_it_fldcat-lowercase = 'X'.
      APPEND wa_it_fldcat TO it_fldcat .
      ASSIGN it_fldcat[] TO <field_catalog>.
      ENDLOOP.
       ASSIGN  it_fldcat[] TO <field_catalog>.
    ENDMETHOD.
METHOD  download_to_excel.
break-point 5.
CALL FUNCTION  'LVC_TRANSFER_TO_KKBLO'
    EXPORTING
      it_fieldcat_lvc   = <field_catalog>
     is_layout_lvc     = m_cl_variant->ms_layout
       is_tech_complete  = ' '
    IMPORTING
      es_layout_kkblo   = ls_layout
      et_fieldcat_kkblo = lt_fieldcat.
LOOP AT lt_fieldcat INTO lt_fieldcat_wa.
   CLEAR lt_fieldcat_wa-tech_complete.
    IF lt_fieldcat_wa-tabname IS initial.
       lt_fieldcat_wa-tabname = '1'.
       MODIFY lt_fieldcat FROM lt_fieldcat_wa.
    ENDIF.
    l_tabname = lt_fieldcat_wa-tabname.
ENDLOOP.
CALL FUNCTION 'ALV_XXL_CALL'
    EXPORTING
      i_tabname           = l_tabname
      is_layout           = ls_layout
      it_fieldcat         = lt_fieldcat
      i_title             = sy-title
    TABLES
      it_outtab           = <dyn_table>
    EXCEPTIONS
      fatal_error         = 1
      no_display_possible = 2
      others              = 3.
  IF  sy-subrc <> 0.
     message id sy-msgid type 'S' number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
ENDMETHOD.
METHOD create_dynamic_table.
CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
         it_fieldcatalog = it_fldcat
      IMPORTING
         ep_table = dy_table.
ENDMETHOD.
METHOD build_dynamic_structures.
CALL METHOD me->return_structure.
CALL METHOD me->create_dynamic_fcat
   IMPORTING
     it_fldcat = it_fldcat.
CALL METHOD me->create_dynamic_table
    EXPORTING
      it_fldcat = it_fldcat
    IMPORTING
      dy_table        = dy_table.
     ASSIGN dy_table->* TO <dyn_table>.
CREATE DATA dy_line LIKE LINE OF <dyn_table>.
ASSIGN dy_line->* TO <dyn_wa>.
ENDMETHOD.
METHOD display_grid.
  struct_grid_lset-edit = 'X'. "To enable editing in ALV
  struct_grid_lset-grid_title = 'Bulkwijzigingen inkoopprijzen'.
  struct_grid_lset-ctab_fname = 'T_CELLCOLORS'.
  struct_grid_lset-stylefname = 'CELLTAB'.
  CALL METHOD grid1->set_ready_for_input
      EXPORTING
           i_ready_for_input = '1'.
  CALL METHOD grid1->set_table_for_first_display
      EXPORTING
           is_layout       = struct_grid_lset
    CHANGING
           it_outtab       = <dyn_table>
           it_fieldcatalog = it_fldcat.
ENDMETHOD.
METHOD change_title.
  CALL METHOD grid1->set_gridtitle
   EXPORTING
   i_gridtitle =  i_gridtitle.
  ENDMETHOD.
METHOD on_user_command.
  CASE e_ucomm.
      WHEN 'EXIT'.
        LEAVE PROGRAM.
     WHEN 'EXCEL'.
     CALL METHOD me->download_to_excel.
      WHEN 'SAVE'.
      WHEN 'VERW'.
      CALL METHOD me->verwerk
           EXPORTING
              PROGRAM = SY-REPID.
  ENDCASE.
ENDMETHOD.                    "on_user_command
METHOD on_toolbar.
User can add extra functionality by adding extra
buttons if required. Functionality can also be simplified by removing buttons.
DATA: ls_toolbar TYPE stb_button.
     CLEAR ls_toolbar.
     MOVE 0 TO ls_toolbar-butn_type.
     MOVE 'EXIT' TO ls_toolbar-function.
     MOVE SPACE TO ls_toolbar-disabled.
     MOVE icon_system_end TO ls_toolbar-icon.
     MOVE 'Click2Exit' TO ls_toolbar-quickinfo.
     APPEND ls_toolbar TO e_object->mt_toolbar.
     CLEAR ls_toolbar.
     MOVE  0 TO ls_toolbar-butn_type.
     MOVE 'SAVE' TO ls_toolbar-function.
     MOVE SPACE TO ls_toolbar-disabled.
     MOVE  icon_system_save TO ls_toolbar-icon.
     MOVE 'Save data' TO ls_toolbar-quickinfo.
     APPEND ls_toolbar TO e_object->mt_toolbar.
     CLEAR ls_toolbar.
     MOVE  0 TO ls_toolbar-butn_type.
     MOVE 'EDIT' TO ls_toolbar-function.
     MOVE  SPACE TO ls_toolbar-disabled.
     MOVE  icon_toggle_display_change TO ls_toolbar-icon.
     MOVE 'Edit data' TO ls_toolbar-quickinfo.
     MOVE  'EDIT' TO ls_toolbar-text.
     APPEND ls_toolbar TO e_object->mt_toolbar.
     CLEAR ls_toolbar.
     MOVE  0 TO ls_toolbar-butn_type.
     MOVE 'VERW' TO ls_toolbar-function.
     MOVE  SPACE TO ls_toolbar-disabled.
     MOVE   icon_businav_process to ls_toolbar-icon.
     MOVE 'Verw.' TO ls_toolbar-quickinfo.
     MOVE  'VERW' TO ls_toolbar-text.
     APPEND ls_toolbar TO e_object->mt_toolbar.
      CLEAR ls_toolbar.
     MOVE  0 TO ls_toolbar-butn_type.
     MOVE 'EXCEL' TO ls_toolbar-function.
     MOVE  SPACE TO ls_toolbar-disabled.
     MOVE  icon_xxl TO ls_toolbar-icon.
     MOVE 'Excel' TO ls_toolbar-quickinfo.
     MOVE  'EXCEL' TO ls_toolbar-text.
     APPEND ls_toolbar TO e_object->mt_toolbar.
   ENDMETHOD.
   METHOD verwerk.
      PERFORM verwerk IN PROGRAM (program).
      LEAVE PROGRAM.
  ENDMETHOD.
  METHOD dubbleklik.
  PERFORM dubbleklik IN PROGRAM (program)
    USING
        e_row
        e_column
        es_row_no.
  ENDMETHOD.
ENDCLASS.
Cheers
Jimbo

Hi Dinu,
Before analysing ALV, please cross check the behaviour of the calling program.
Is the control really going to the application server when you do all the above process?
If so, when user makes some changes are they saved in the data base / affected the internal table which you are using for ALV?
Regards
Surya.

Similar Messages

  • For all those having issues with the 11.1.4.62 update

    The issues encountered are vast... msvcr80.dll issues.. Apple Mobile Device failed to start... and on and on... Never understand how a simple update can completely screw up everything and make iTunes unusable.
    Go into Programs and Features and ANYTHING that says "Apple" with something after it, uninstall it.
    Reboot
    Download a fresh copy on iTunes
    Right click on iTunes64Setup.exe left click on Run as Administrator. Even if you're only use on your computer and it's an Administrator account do it.
    Cross your fingers, throw some salt over your shoulder, say a prayer. If the install completes with no error measages you're done.
    If you still get the msvcr80.dll error
    Google How to use scannow Windows 'Whatever Version you're running'
    This will check the integrity of your system files.
    If everything checks out you need to replace the missing dll file
    Use Google again for Missing msvcr80.dll
    I had to put the dll back in Windows/System32/ for iTunes to install properly.

    I am running the 32-bit version of Windows 7.
    I too, encountered these problems when attempting to update.
    I began the update from within iTunes.  It got past the download phase, but during the installation phase, for the first time ever, I encoundeted an installation failure.  It told me to try again, but if it failed, to download the standalone file and install it manually.  Unfortunately, though, the (failed) installation still managed to have gotten far enough along so as to leave my machine in a state that I could no longer launch iTunes.
    When I tried to launch, I received the missing MSVCR80.dll--just like others have reported.  I tried to install this "missing" file by downloading the Microsoft Visual C++ Redistributable (I forget which one, as there are several flavors, but "SP1" and "MFC" were part of the descriptive name from the Microsoft Download Center).  DO NOT, under any circumstances, TRY TO OBTAIN THIS MISSING FILE FROM ONE OF THOSE WEB SITES OFFERING THIS (or other) FILE(s).  Most if not all of these sites, are likely malicious in nature.
    At-any-rate, while I ran the installation of the vcredist_x86.exe  file, I briefly saw some form of positive progress, I never seemed to get a definitive completion (i.e., nothing told me the install completed successfully).  Nor did I see any error message.  I also tried a .NET Framework 4.0 repair as this suggestion was also offered elsewhere on the Apple iTunes Forum.  Unfortunately, neither of those suggestions solved my problems, as I still continued to receive the missing MSVCR80.dll message, and iTunes would not launch.
    I then followed the directions found elsewhere in this thread by uninstalling the Apple applications (in the order listed), rebooted (and for good measure) I also ran ccleaner after the system came back up), and tried the install again using the iTunesSetup.exe file (RunAs Administrator option).
    During this attempt, now I received a DIFFERENT error message:  Specifically, the Apple Mobile Device service could not be started.  Attempting to start it manually from the Services panel, wouldn't work, either.  I told the install to "Ignore" this error, and even the installation made it to the end and stated the installation was successful, it definitely was not.
    The Apple Mobile Device error encountered during installation mentioned ensuring there were sufficient permissions.  As the installation was performed using the RunAs option, this should have used Administrator permissions.  Still no dice, however.  So I completely uninstalled everything again (in the order specified).  Rebooted.  This time, I also manually removed directories left behind in C:\Program Files\Common Files\Apple directory.
    I kept any plugins that existed, but dumped all of the *.resources files I could find.  They all had today's date on the file directories, so I knew they'd been "touched" by the various installation efforts--and who knew whether something left behind might be causing issues.  I blew these away since it got left behind by the uninstall operation (a major annoyance these applications don't do a better job of cleaning up after themselves when "removed").
    Did the same sort of thing in C:\Program Files\iTunes.  I also Re-ran ccleaner (again), and rebooted one more time, as there was still some reference in Registry to APSDAEMON.exe, which, now, no longer existed, but was still trying to be started via the entry in HKLM\Software\Microsoft\Windows\CurrentVersion\Run.  Found the entry and simply deleted it, which kept me from getting that paticular error at restart.
    Last, but not least, I downloaded the FORMER version of iTunes from Filehippo, since they keep all of the previous versions.  Apple might do that, too, but I didn't know for sure, nor did I know where to find it, whereas, I knew exactly where to get this from Filehippo....
    Right, wrong or indifferent--that's what I did.  I know some might not recommend obtaining a file from a source other than the company creating the application--especially since this seems to fly in the face of my own recommendation about sites that offer missing files.  While similar, it's not quite the same, and I've had good success with Filehippo.  A risk I was willing to accept....
    I ran the installation file for 11.1.3.8, and voila:  iTunes (the former version not the ill-fated new one) was reinstalled (no error messages during installation); best of all, no missing MSCVR80.dll file upon application launch.
    While others seem to have gotten success by removing the apps and reinstalling, I, on the other hand, did not.
    Therefore, I will now sit tight at my current version level until Apple better addresses this issue, which, is definitely tied to the new update, as the former version works just fine.
    I share this, just in case others, like myself, followed the directions and still had the problem.  At least, by visiting Filehippo, one can garner the previous version, and in so doing, re-establish a working version of the application.  If Apple provides former versions for download, then, by all means, obtain the file from them.  My method was more expedient at the time.
    Shared for whatever it is worth.
    Good luck to folks who experience this issue....  Hope you either get the matter solved, or you, at least, get back to a version that worked before your parade got rained on....

  • A tip for Panther users having trouble with Safari!

    I have found it! I have found a browser that works with all websites I've used in the last couple of days. The browser works on my iBook G4 with OS X Panther and on my 9-year-old iMac G3 (bought the year they came out with colors other than Bondi Blue -- I own lime) that I upgraded from OS 9 to OS X Panther about five years ago.
    Problem: Neither computer is able to use a Safari version that is newer than 1.3.2 due to OS and hardware compatibility issues. That STUNK because Safari was becoming more and more incompatible with many of my most frequented websites.
    <Edited by Moderator>
    Several people suggested various things to me, but the best suggestion came from Yahoo! (My husband couldn't access his Yahoo! email account on my iMac and Yahoo! gave him suggestions to try.)
    Here is the SOLUTION: SeaMonkey!
    I'm using the only version of SeaMonkey the website offers for Macs, which is, I think, 1.12 or something like that. (I'm on my husband's PC right now so I can't check.) It's made by Mozilla who also makes Firefox, so you can have that groovy personal toolbar at the top that keeps links to your favorite "Favorites" right up at the top of the screen. (I love that toolbar on my husband's PC, which runs Firefox.)
    Browsers I had tried but that didn't work perfectly with all sites:
    Opera (8.54 and 9.6)
    iCab
    Firefox (I couldn't even get it to open after I downloaded it!)
    IE (Always avoid this browser if you can help it.)
    I hope this is helpful to you

    I use Camino on our few remaining Panther machines and its overall feel is much more like Safari, but opens sites that defy Safari. It's also a Mozilla product and much "leaner" than some of the other Mozilla browsers, another factor that makes it nice for older Macs.
    Camino is here:
    http://caminobrowser.org/
    and still runs on OS 10.3.9. Firefox ran on Panther until they hit version 3; that's why it didn't work for you.

  • Changing default open with for file type for all users

    hello
    can I change the default app to open a specific file type for all users and not juist for my user?
    i am admin for my mac mini.
    tnx
    gil

    What applications are offered for open with depends on the application itself informing the system it can open certain files, plus your own custom selections for opening files. Evidently the alternate app you want to use does not claim to be able to open the files you are assigning it. If you have a plist editor and know how to use it you could edit the info.plist file inside the application itself to add the file type you want to the application's declaration of file types it will open. Then restart so the system will read that declaration. I think it would be far easier to simply launch the application and then drop a file you want it to open onto its icon in the Dock.
    Francine
    Francine
    Schwieder

  • How to provision an app for all users with all dependencies?

    I have created an app package with VS that I want to provision for all users of a target system using
    DISM /Online /Add-ProvisionedAppxPackage /FolderPath:".\%package%" /SkipLicense
    The path contains the content of the *Test folders VS creates when creating store packages. However DISM expects a ".main" file in this folder to work (0xc1570102).
    What's the correct way to provision an app with all its dependency packages? (Using the PackagePath option?)

    After some further testing in Profile Manager I found that adding the applescript to items that open at logon seems to work. No need for the plist, unless of course I decide not to use Profile Manager at all.

  • In Linux, my firefox uses the /etc/firefox profile for all users, now I need ONE user only to start with their own profile, I'm struggling to achieve this, please help!

    In Linux, my firefox uses the /etc/firefox profile for all users, now I need ONE user only to start with their own profile, I'm struggling to achieve this, please help!

    .Jake. wrote:
    I forgot to say that the hard drive has not been used yet...
    So you have no backup of your data at all?
    Pete

  • Move the Cache files for all user in the domain, which work with the PC

    Is there a possibility to chance the Cache file for all User.
    If i logon with a new user the Cache is written automatically in Proflie of the user.
    can configure to Java in such a way that with announce a user the Cache file get automatically moved to c:\temp.
    Thanks for your help

    oh, too bad, it is part of the requirement-we need to do it automatically through web.
    Any easier method to change the client machine deployment.properties through web?
    Need to deploy the application to thousands PC and the PC configuration may be different one by one.
    oldguy

  • How to set permissions like "For all users" with Sandbox

    Hello!
    Hello!
    I am using Sandbox for Mac OS X Leopard and I've got a question to you:
    How can I set up a folder to behave like the For all users folder in the users directory?
    Greetings

    Well, sandbox sets ACL's not posix permissions. The sticky bit is a posix permission. Sand box will allow you to do something similar to the sticky bit using ACL's, but the exact duplication of the sticky bit is not possible, but something just as useful or more useful can be easily implemented.
    To set the sticky bit you will need an app called FileXaminer or the Terminal.app command line.
    to set the sticky bit simply put "1" in front of the the permissions number when you run chmod on the command line, here is an example:
    chmod 1775 /users/data/shared #assigns permissions 775 and the sticky bit#
    chmod 775 /users/data/shared #assigns permissions 775 without the sticky bit#
    note: note actual use of the chmod and chown commands will, in most cases require the sudo (super user do) command to be used with them. example:
    sudo chmod 1775 /users/data/shared #assigns temporary super user priviledge#
    The way I set my shared user's directories with ACL's is this:
    first I created folder /users/data -permissions=777 (everyone).
    I had three users so I created folders for each in /users/data:
    /users/data/user1 #this is just example-substitute real user name#
    /users/data/user2
    /users/data/user3 #etc,etc,#
    set the posix permission on each user folder 700 (owner:read,write,execute)
    set the owner and group on each one accordingly:
    chown user1:staff /users/data/user1 #substitute real user name#
    chown user2:staff /users/data/user2
    chown user3:staff /users/data/user3 #(etc,etc)#
    Now each user has their own data folder they can read and write to at will (when they are logged in to their user account).
    They can safely create and maintain their data and no one can delete it.
    Since these are shared data accounts. other users will need to read the data, this is where the ACL's come in.
    You will need to use Sandbox to place ACL's for each allowed user, on each of the user directories:
    0: user:joe inherited allow list,addfile,search,add_subdirectory,readattr,writeattr,readextattr,writeextattr,readsec urity,file_inherit,directoryinherit
    1: user:mary inherited allow list,addfile,search,add_subdirectory,readattr,writeattr,readextattr,writeextattr,readsec urity,file_inherit,directoryinherit
    2: user:sue inherited allow list,addfile,search,add_subdirectory,readattr,writeattr,readextattr,writeextattr,readsec urity,file_inherit,directoryinherit
    Basically with the above ACL's the only thing the allowed user can't do is delete files. They can copy files, they can add files, etc. This behavior is somewhat similar to what can be accomplished with the sticky bit, but much more controlled and structured. That is the beauty of using ACL's.
    Using SandBox you can taylor the permissions as you see fit for each every user. You can set permissions for an administrator to delete files as well. You can take away or add permissions for each user as you see fit. let your imagination be your guide.
    ACL's weren't meant to replace posix permissions, but rather to allow administrators to fine tune user permissions.
    Kj

  • Block all websites apart from the homepage for all users. Citrix environment with Server 2003.

    Citrix Xenapp 5 and Windows server 2003 environment. We want to force Firefox to kiosk mode with a pre-set homepage for all users. I also want to lock this to only one website. I have managed to set up the kiosk mode with R-Kiosk addon and Mozilla.cfg file. I am trying to use BlockSites to block all internet sites and only allow the one site with the whitelist option. I can get the addon to install for all users, but can’t get the default settings across. I have tried to add this with the Mozilla.cfg file, but it looks like this addon is getting it’s settings from the profile folder. If I set the preferences for the addon in Mozilla,cfg file, it actually picks it up but it doesn’t apply it to the addon for some reason. Does anyone have any other ideas on how I can lock this down to the one site?

    I am not entirely sure how to do this, but the enterprise community would be a good place to ask. They have a email group you can ask on this page: [https://www.mozilla.org/en-US/firefox/organizations/faq/]

  • Adding a domain user to the admin role within the local user management breaks all metro apps for all users!!

    Hi,
    I have posted this in another large thread under the "Windows 8 General" group but have not had any appropriate feedback from MS.
    After hours of testing and working with other users I have managed to isolate a simple situation that breaks all metro ui applications within Windows 8 for all users on the machine. Here are my exact steps and notes.
    Before continuing if you are running Avast then your solution may be to turn of the behaviour shield functionality as this also breaks metro apps. This is NOT the problem we are having!
    I have performed 3 cleans installs after isolating the problem and am able to reproduce the issue every time using the same steps on two different machines. 
    First thing to say is that for us it has nothing to do with simply joining the domain, domain/group policies nor does it appear to have anything to do with the software we installed, the problem here is much more simple but the result is pretty terrible.
    Here are my exact steps of what I did to reproduce our problem:
    Complete format of HDD in preperation for a clean install
    Clean install performed
    Set up the machine initially with a local account
    Test metro apps - all working fine
    Open control panel from the desktop, click on System, change the system to join the domain, click reboot
    Log into the system using my domain account
    Test metro apps - all working fine
    Here's were the problem starts. I need my domain account to have admin rights on the local machine so I can install programs without the IT men having to come over and enter their password every 5 mins.
    I go to control panel via the desktop and click on User Accounts. From with here I then click on "Manage User Accounts". This requires the IT guys to enter their details to give me access to such functionality. This is fine
    In the dialog box that opens I can only see the local user that was initially created during setup. The "Group" for this local account shows as "Administrators" - Image included below (important to note that metro apps are working at this point)
    I click add and then add my domain account - also giving it administrator access
    Sign off or reboot to ensure the new security is applied
    Sign back in to the domain account
    Test metro - ALL BROKEN
    Sign out
    Sign in as local account
    Test Metro - NOW ALL BROKEN FOR THIS USER ALSO
    So as soon as I add my domain account to the local user accounts and set it as admin it breaks all metro apps for all users. This is on a totally clean install with nothing at all installed other than the OS.
    Annoyingly if I go back and change the domain account to a standard user or if I totally remove the domain account from the local account management system the problem does not go away for either user. basically it is now permanently broken. The only fix I
    could fathom was a full re install and not giving the domain user admin access to the local  machine.
    Screen one - this is the local user accounts window AFTER joining the domain and logging in with my domain account (All metro apps working at this point)
    Screen 2: User accounts AFTER joining the domain and AFTER adding domain account to local user management (METRO BROKEN)
    I have isolated my machine from all group policies so nothing like that is affecting me. Users I have spoken to in different companies have policies that automatically add users to the local user management. This means that metro apps break as
    soon as they join the domain which leads them to wrongly think it is group policies causing the error. Once they isolate themselves from this they can reproduce following my steps.
    Thanks

    Hi Juke,
    Thank you for the response and apologies for the delay in getting back to you. My machine was running a long task so I couldn't try your suggested solution.
    I had already tried running the registry merge suggested at the top of the thread to no avail. I had not tried deleting the OLE key totally so I did that and the problem still exists. I will post all the errors I see in event viewer below. For
    your info, since posting my initial comment I have sent out my steps to 7 different people and we can all reproduce the problem. This comes to 10 different machines (3 of them mine then the other guys) in 3 different businesses / domains. We see the same errors
    in event viewer.
    Under "Windows Logs" --> "Application" : I get two separate error events the first reads "Activation of app winstore_cw5n1h2txyewy!Windows.Store failed with error: The app didn't start. See the Microsoft-Windows-TWinUI/Operational log for additional
    information." The second arrives in the log about 15 seconds after the first and reads "App winstore_cw5n1h2txyewy!Windows.Store did not launch within its allotted time."
    Under "Windows Logs" --> "System" : I get one error that reads "The server Windows.Store did not register with DCOM within the required timeout."
    Under "Applications And Services Logs" --> "Microsoft" -->  "Windows" --> "Apps" --> "Microsoft-Windows-TWinUI/Operational" : I get one error that reads "Activation of the app winstore_cw5n1h2txyewy!Windows.Store for the
    Windows.Launch contract failed with error: The app didn't start."
    If you require any further information just let me know and I will provide as much as I can.
    Thanks

  • How to make custom append search help tab default for all users?

    I've implemented my own search help append and I need to make the F4 search help to display my tab as default for all users. I know that search help stores the last tab used by the user in memory and when user uses the search help next time the last used tab is displayed but I have to make the system display the tab od my search help append always as default tab. Any idea how to do it?
    Message was edited by:
            Marcin Milczynski

    hi
    <b>Enhancement using Append structures</b>
        Append structures allow you to attach fields to a table without actually having to modify the table itself. You can use the fields in append structures in ABAP programs just as you would any other field in the table.
    Click on the append structure tab and opt to create new
    structure.
    Append structures allow you to enhance tables by adding fields to them that are not part of the standard. With append structures; customers can add their own fields to any table or structure they want.
    Append structures are created for use with a specific table. However, a table can have multiple append structures assigned to it
        Customers can add their own fields to any table or structure they want.
    The customer creates append structures in the customer namespace. The append structure is thus protected against overwriting during an upgrade. The fields in the append structure should also reside in the customer namespace, that is the field names should begin with ZZ or YY. This prevents name conflicts with fields inserted in the table by SAP

  • One Library for all users on the system - Sharing?

    Hello.
    I'm using iTunes 9.0.3 on OS X 10.6.2. On this system, there are TWO users, one for my wife, one for me. I'd like to "merge" the seperate iTunes libraries, so that there's only one shared library for all users.
    How could this be achieved?
    Searching the web, I found a writeup on [dougscripts.com by Paul Whitey|http://dougscripts.com/itunes/itinfo/sharedlib.php], which basically explains to move ~/Music/iTunes to /Users/Shared/iTunes and making sure that there's an alias in ~/Music pointing to /Users/Shared/iTunes. It also explains, that the ownership of the files & folders is to be changed so, that all users have read & write access. This then looks like this on my system:
    !http://img214.imageshack.us/img214/6223/fileinfowithbothusersha.png!
    -> http://yfrog.com/5yfileinfowithbothusershap
    It works good - both "alex" and "sandra" can work with these files (ie. move them, rename them, change ID3 tags).
    But see those:
    !http://img714.imageshack.us/img714/2183/fileinfowithonlyalexhav.png! !http://img686.imageshack.us/img686/7807/fileinfowithonlysandra4.png!
    --> http://yfrog.com/jufileinfowithonlyalexhavp & http://yfrog.com/j2fileinfowithonlysandra4p
    That's from files which sandra or alex have added later on. Only the one who added these files can modify them (which is of course correct, if you have a look at the file permissions).
    How would you go about having only ONE iTunes database on the system? Simply putting the iTunes Db on a shared folder doesn't work well, as can be seen above. Always having to fiddle around with the file permissions isn't exactly comfortable…
    Any suggestions?
    Thanks,
    Alex

    Hm. PowerTunes crashs, when I make it Share my library. I pasted the crash report at http://pbox.ca/13gwy
    Since I cannot know how/if would work (because of the crash…), please correct me if I'm wrong, but wouldn't it also just move the files to /Users/Shared and set permissions correctly? Wouldn't I need to keep on running PowerTunes from time to time, or is it "run once and forget" application (if it works)?

  • 'BBPSC11' error in Monitor SC for one User having multiple positions but on

    Hello,
    'BBPSC11' error in Monitor SC for one User - having multiple positions in org structure - but having one BP code associated to all positions.
    We have one BP ID associated to multiple positions of the same user - in multiple org structure.
    The org unit is refered as one Project and like wise we have multiple projects people worked on.
    Once the Proj is over we move the Users from one Proj (Org unit) to another Proj, with new Position created copying the old and associate old BP code to it.
    With this when we go for Monitor SC option - enter User ID in Created By field - old SC are listed but we are getting error if we click on the Detail icon.
    Error:The Internet Transaction Server could not start the transaction "BBPSC11" because of the following error: Attribute for user contains errors. Inform systemadmin. .
    AD

    Hi,
    Pl. verify the user with txn-bbp_attr_check. It could be that the org. relationship of the user changed with what was captured on shopping cart. Also use txn-users_gen to repair the user.
    Regards,
    Sanjeev

  • How to create gpo for all users in all ou?????

    hello,plz help me.i want to create gpo for all users in all ou.but i dont want that gpo to do in domain????

    Can you elaborate what you mean by "but i dont want that gpo to do in domain"?
    In terms of applying it to all users, that's simple enough, you can simply leave the GPO's security filtering with its default setting as "Authenticated Users" which then apply to everyone.
    In terms of it applying to all OUs, you only have two options.
    1) Create the GPO and link it to the root of your domain, so it then applies to the entire domain and all the OUs within it.
    2) Create the GPO, but instead link it to each OU that you want it to apply to. You can apply one GPO to as many OUs as you want, simply right click on the OU and select "Link an Existing GPO...". It's then not applied to the root of the domain, only the
    OUs, but any changes you make to the GPO are applied to all the OUs that you've linked it to (rather than having a separate GPO for each of them).

  • Saving AVL view settings for all users

    Hi,
    I am working on web dynpro abap application which shows alv results of more reports (you will select report and it will show the alv table result).
    I have to use some standard reports for this, so I copied it to Z report and modify it so this is possible. Problem I have is that is standard report the output have maybe 10 columns, but the table I got from the report has maybe 26. I want to limit shown columns on the ALV with settings of view for alv, but the assignment is only possible for the user.
    Is there any way how to create one view settings and make it initial for all users?
    I know there is a way of modifying the standard view via abap code, but I want to keep the possibility to show all fields if required.
    Thanks for your help very much.
    Martin

    Hi,
    another problem, I was expecting the newly created variant / layout / settings for view  would be tied to the displayed table (which sounds kind of wired as I wrote it down). 
    But since I am displaying different tables in the same UI element and binding the tables and their structures dynamically the created variant applies to all of the tables (or thats how it seems) so the table which have all fields different then the layout shows nothing.
    Do you have any ideas how to get around it?
    My idea would be to store the layout (but i have no idea how it looks at db level) and identification of the report to some customer table and fill attribute of alv table dynamically according to used report. But thats just my idea, I have no idea if it si possible to do it like this.
    Is there some other way how to accomplish this functionality?
    I have also tried to do it on fieldcatalog level of the alv table, but it seems to show first, let's say, 8 fields if there is 8 fields in the fieldcatalog.
    Any help or ideas please??
    Thanks
    Martin
    Edited by: Martin Gabris on May 6, 2011 4:11 PM

Maybe you are looking for

  • Grand Total not displaying correctly on Column level security.

    Hi All, I have implemented the Column level security for three columns. But in dashboard report. The grand total is not displaying correctly. The grand total values are still displayed for the hidden columns. Is there any work around for this. The sa

  • Screen flickers at user selection screen after restart/start up (not sleep mode)

    when i restart my mac, the screen where you key in your password, the LCD screen on the mac flickers for about 2 seconds. i just recently replaced the hard drive. but it doesn't hang or lag. it just flickers. just wondering if theres an issue with it

  • Stamps being removed after securing the pdf document

    I'm having a problem with the whitebox stamps that I use to white out names on a pdf being removed after the document is secured through a custom batch process. After insterting the stamps that white out what I want I save the document and when I ope

  • Connection Key Issues

    I have a user for whom I've sent a connection key, when they try to use the key (i.e. opening the key in Contribute), they receive the following error: Contribute could not verify your connection key. Please contact your administrator for assistance.

  • Strange Binding Behaviour in taskflow..

    Dear All, I have 2 pages in a taskflow. 1. shows a table. 2. shows details when the user clicks the row in the page 1(its a separate page). every thing is working fine except the following problem. Suppose i selected the row in first page which opene